Repository: driftyco/ionic-site Branch: main Commit: 5263ee34e83c Files: 847 Total size: 23.8 MB Directory structure: gitextract_zuy7n7xo/ ├── .dockerignore ├── .env-docker ├── .gitignore ├── .npmrc ├── .slugignore ├── CONTRIBUTING.md ├── Dockerfile ├── Gulpfile.js ├── LICENSE ├── Procfile ├── README.md ├── app.json ├── assets/ │ ├── 3rd-party-libs.json │ ├── js/ │ │ ├── analytics.js │ │ ├── highlight.js │ │ └── utils.js │ ├── scss/ │ │ ├── _animations.scss │ │ ├── _fonts.scss │ │ ├── _general.scss │ │ ├── _hljs.scss │ │ ├── _mixins.scss │ │ ├── _theme.scss │ │ ├── _typography.scss │ │ ├── _vars.scss │ │ ├── components/ │ │ │ ├── _alert.scss │ │ │ ├── _banner.scss │ │ │ ├── _bar-chart.scss │ │ │ ├── _bar.scss │ │ │ ├── _buttons.scss │ │ │ ├── _checkmark-list.scss │ │ │ ├── _cta.scss │ │ │ ├── _customer-callout.scss │ │ │ ├── _docs_content.scss │ │ │ ├── _draggable.scss │ │ │ ├── _footer.scss │ │ │ ├── _form.scss │ │ │ ├── _header.scss │ │ │ ├── _hero.scss │ │ │ ├── _hubspot_form.scss │ │ │ ├── _jquery_UI.scss │ │ │ ├── _mobile-nav.scss │ │ │ ├── _modal.scss │ │ │ ├── _pre-header.scss │ │ │ ├── _pre_footer.scss │ │ │ ├── _pro_docs_content.scss │ │ │ ├── _resource-card.scss │ │ │ ├── _resource-promo.scss │ │ │ ├── _responsive_docs.scss │ │ │ ├── _side_nav.scss │ │ │ ├── _site-search.scss │ │ │ ├── _snap_bar.scss │ │ │ ├── _social_share_sidebar.scss │ │ │ ├── _sticky-bar.scss │ │ │ ├── _sub_header.scss │ │ │ ├── _tables.scss │ │ │ ├── _tabs.scss │ │ │ ├── _tag.scss │ │ │ ├── _testimonial-slides.scss │ │ │ ├── _tippy.scss │ │ │ ├── _toc.scss │ │ │ ├── _tooltip.scss │ │ │ ├── _utils.scss │ │ │ ├── home_slides/ │ │ │ │ ├── _ioniconf.scss │ │ │ │ ├── _limitless.scss │ │ │ │ ├── _one-any.scss │ │ │ │ ├── _react-1.scss │ │ │ │ ├── _v5.scss │ │ │ │ ├── _v6.scss │ │ │ │ ├── _vue.scss │ │ │ │ └── index.scss │ │ │ └── promos/ │ │ │ ├── _hybrid-vs-native.scss │ │ │ ├── _index.scss │ │ │ ├── _ioniconf.scss │ │ │ └── _offline-storage.scss │ │ ├── creator.scss │ │ ├── ionicons-v3/ │ │ │ ├── _ionicons-common.scss │ │ │ ├── _ionicons-core.scss │ │ │ ├── _ionicons-icons.scss │ │ │ ├── _ionicons-variables.scss │ │ │ └── _ionicons.scss │ │ ├── pages/ │ │ │ ├── _404.scss │ │ │ ├── _coming-soon.scss │ │ │ ├── _contributors.scss │ │ │ ├── _demo.scss │ │ │ ├── _sales.scss │ │ │ ├── _start.scss │ │ │ ├── _startups.scss │ │ │ ├── _what-is-ionic.scss │ │ │ ├── about.scss │ │ │ ├── angular.scss │ │ │ ├── articles/ │ │ │ │ └── _why-hybrid.scss │ │ │ ├── auth.scss │ │ │ ├── community.scss │ │ │ ├── contact.scss │ │ │ ├── developers.scss │ │ │ ├── enterprise/ │ │ │ │ ├── _index_bak.scss │ │ │ │ ├── _shared.scss │ │ │ │ ├── auth-connect.scss │ │ │ │ ├── components/ │ │ │ │ │ └── _ee-hero.scss │ │ │ │ ├── contact.scss │ │ │ │ ├── customers.scss │ │ │ │ ├── identity-vault.scss │ │ │ │ ├── index.scss │ │ │ │ ├── offline-storage.scss │ │ │ │ ├── platform.scss │ │ │ │ ├── solutions/ │ │ │ │ │ ├── _shared.scss │ │ │ │ │ ├── cross-platform.scss │ │ │ │ │ ├── design.scss │ │ │ │ │ └── index.scss │ │ │ │ ├── support.scss │ │ │ │ ├── training.scss │ │ │ │ └── why-ionic.scss │ │ │ ├── framework.scss │ │ │ ├── getting-started-with-ionic-vue-1.scss │ │ │ ├── getting-started.scss │ │ │ ├── go/ │ │ │ │ ├── _pwa-architects-guide.scss │ │ │ │ └── _why-hybrid.scss │ │ │ ├── home.scss │ │ │ ├── integrations/ │ │ │ │ └── index1.scss │ │ │ ├── ioniconf-2020.scss │ │ │ ├── jobs.scss │ │ │ ├── native.scss │ │ │ ├── press/ │ │ │ │ ├── _release.scss │ │ │ │ └── index.scss │ │ │ ├── pricing/ │ │ │ │ ├── __feature-lists.scss │ │ │ │ ├── __modal.scss │ │ │ │ ├── __plan-cards.scss │ │ │ │ ├── __table.scss │ │ │ │ ├── __vars.scss │ │ │ │ ├── compare.scss │ │ │ │ ├── enterprise.scss │ │ │ │ └── index.scss │ │ │ ├── pro/ │ │ │ │ ├── _contact.scss │ │ │ │ ├── _deploy.scss │ │ │ │ ├── _general.scss │ │ │ │ ├── _package.scss │ │ │ │ ├── _teams.scss │ │ │ │ └── index.scss │ │ │ ├── products/ │ │ │ │ ├── advisory.scss │ │ │ │ └── appflow.scss │ │ │ ├── pwa/ │ │ │ │ └── _index.scss │ │ │ ├── pwa-toolkit.scss │ │ │ ├── react.scss │ │ │ ├── resources/ │ │ │ │ ├── case-studies.scss │ │ │ │ ├── index.scss │ │ │ │ ├── webinars.scss │ │ │ │ └── whitepapers.scss │ │ │ ├── solutions/ │ │ │ │ └── _shared.scss │ │ │ ├── subscribe.scss │ │ │ ├── support.scss │ │ │ ├── survey/ │ │ │ │ ├── 2017.scss │ │ │ │ ├── 2018.scss │ │ │ │ ├── 2020.scss │ │ │ │ └── _surveys.scss │ │ │ ├── team.scss │ │ │ ├── thank-you.scss │ │ │ ├── translations.scss │ │ │ ├── trusted-partners.scss │ │ │ ├── values.scss │ │ │ └── vue.scss │ │ ├── pygments/ │ │ │ ├── autumn.scss │ │ │ ├── borland.css │ │ │ ├── bw.css │ │ │ ├── colorful.css │ │ │ ├── default.css │ │ │ ├── emacs.css │ │ │ ├── friendly.css │ │ │ ├── fruity.css │ │ │ ├── github.css │ │ │ ├── ionic.scss │ │ │ ├── manni.css │ │ │ ├── monokai.css │ │ │ ├── murphy.css │ │ │ ├── native.css │ │ │ ├── pastie.css │ │ │ ├── perldoc.css │ │ │ ├── tango.css │ │ │ ├── trac.css │ │ │ ├── vim.css │ │ │ ├── vs.css │ │ │ └── zenburn.css │ │ ├── styles.scss │ │ └── utilities/ │ │ ├── u-enterprise.scss │ │ ├── u-getting-started.scss │ │ ├── u-ioniconf.scss │ │ ├── u-mixins.scss │ │ └── u-native.scss │ └── stencil/ │ ├── _vars.scss │ ├── components/ │ │ ├── additional-resources/ │ │ │ ├── additional-resources.scss │ │ │ ├── additional-resources.tsx │ │ │ └── default.json │ │ ├── angular-components/ │ │ │ ├── angular-components.scss │ │ │ └── angular-components.tsx │ │ ├── app-wizard/ │ │ │ ├── app-wizard.scss │ │ │ └── app-wizard.tsx │ │ ├── auth-connect-promo/ │ │ │ ├── auth-connect-promo.scss │ │ │ └── auth-connect-promo.tsx │ │ ├── bar-chart/ │ │ │ ├── bar-chart.scss │ │ │ └── bar-chart.tsx │ │ ├── ebook-switcher/ │ │ │ ├── bookData.json │ │ │ ├── ebook-switcher.scss │ │ │ └── ebook-switcher.tsx │ │ ├── emoji-picker/ │ │ │ ├── emoji-picker.scss │ │ │ ├── emoji-picker.tsx │ │ │ └── svgs.tsx │ │ ├── home-components/ │ │ │ ├── home-components.scss │ │ │ └── home-components.tsx │ │ ├── home-countdown/ │ │ │ ├── home-countdown.scss │ │ │ └── home-countdown.tsx │ │ ├── home-native/ │ │ │ ├── home-native.scss │ │ │ └── home-native.tsx │ │ ├── hubspot-dynamic-content/ │ │ │ ├── hubspot-dynamic-content.scss │ │ │ └── hubspot-dynamic-content.tsx │ │ ├── hubspot-form/ │ │ │ ├── hubspot-form.scss │ │ │ └── hubspot-form.tsx │ │ ├── icon-external/ │ │ │ ├── icon-external.scss │ │ │ └── icon-external.tsx │ │ ├── ionic-appflow-activatior/ │ │ │ ├── activator-icons.tsx │ │ │ ├── ionic-appflow-activatior.tsx │ │ │ └── ionic-appflow-activator.scss │ │ ├── ionic-bar-chart/ │ │ │ ├── ionic-bar-chart.scss │ │ │ └── ionic-bar-chart.tsx │ │ ├── ionic-button/ │ │ │ ├── ionic-button.scss │ │ │ └── ionic-button.tsx │ │ ├── ionic-newsletter-signup/ │ │ │ ├── ionic-newsletter-signup.scss │ │ │ └── ionic-newsletter-signup.tsx │ │ ├── ionic-search/ │ │ │ ├── ionic-search.scss │ │ │ └── ionic-search.tsx │ │ ├── ionic-slider/ │ │ │ ├── ionic-slider.scss │ │ │ └── ionic-slider.tsx │ │ ├── ionic-snap-bar/ │ │ │ ├── ionic-snap-bar.scss │ │ │ └── ionic-snap-bar.tsx │ │ ├── ionic-sub-header/ │ │ │ ├── ionic-sub-header.scss │ │ │ └── ionic-sub-header.tsx │ │ ├── ionic-switcher/ │ │ │ ├── ionic-switcher.scss │ │ │ └── ionic-switcher.tsx │ │ ├── ionic-toggle/ │ │ │ ├── ionic-toggle-button.scss │ │ │ ├── ionic-toggle-button.tsx │ │ │ ├── ionic-toggle-tab.tsx │ │ │ ├── ionic-toggle.scss │ │ │ └── ionic-toggle.tsx │ │ ├── react-capacitor/ │ │ │ ├── react-capacitor.scss │ │ │ └── react-capacitor.tsx │ │ ├── react-components/ │ │ │ ├── react-components.scss │ │ │ └── react-components.tsx │ │ ├── react-demo/ │ │ │ ├── react-demo.scss │ │ │ └── react-demo.tsx │ │ ├── twitter-script/ │ │ │ └── twitter-script.tsx │ │ ├── ui/ │ │ │ ├── floating-input/ │ │ │ │ ├── floating-input.scss │ │ │ │ └── floating-input.tsx │ │ │ └── tip/ │ │ │ ├── tip.scss │ │ │ └── tip.tsx │ │ └── vue-components/ │ │ ├── vue-components.scss │ │ └── vue-components.tsx │ ├── components.d.ts │ ├── declarations.ts │ ├── forms.tsx │ ├── icons.tsx │ ├── index.d.ts │ ├── index.html │ ├── index.ts │ ├── prism-ionic.scss │ └── util/ │ ├── analytics.ts │ ├── app-icon.ts │ ├── auth.ts │ ├── common.ts │ ├── hubspot.ts │ └── recaptcha.ts ├── content/ │ ├── 404.html │ ├── CNAME │ ├── assets/ │ │ └── fonts/ │ │ └── inter/ │ │ └── inter.css │ ├── browserconfig.xml │ ├── circle.yml │ ├── css/ │ │ ├── animate.css │ │ ├── bootstrap/ │ │ │ ├── .gitkeep │ │ │ └── bootstrap.css │ │ ├── bootstrap.css │ │ ├── creator.css │ │ ├── ionic-hljs.css │ │ ├── ionic.css │ │ ├── ionicons.css │ │ ├── job.css │ │ ├── main.css │ │ ├── nprogress.css │ │ ├── pages/ │ │ │ ├── about.css │ │ │ ├── case-studies.css │ │ │ ├── contact.css │ │ │ ├── developers.css │ │ │ ├── enterprise/ │ │ │ │ ├── contact.css │ │ │ │ ├── customers.css │ │ │ │ ├── home.css │ │ │ │ ├── index.css │ │ │ │ ├── platform.css │ │ │ │ ├── resources/ │ │ │ │ │ ├── case-studies.css │ │ │ │ │ ├── index.css │ │ │ │ │ ├── webinars.css │ │ │ │ │ └── whitepapers.css │ │ │ │ ├── solutions/ │ │ │ │ │ ├── cross-platform.css │ │ │ │ │ ├── design.css │ │ │ │ │ ├── index.css │ │ │ │ │ └── toolkit.css │ │ │ │ ├── support.css │ │ │ │ └── why-ionic.css │ │ │ ├── framework.css │ │ │ ├── home.css │ │ │ ├── integrations/ │ │ │ │ ├── detail.css │ │ │ │ └── index.css │ │ │ ├── integrations.css │ │ │ ├── jobs.css │ │ │ ├── press/ │ │ │ │ └── index.css │ │ │ ├── pricing/ │ │ │ │ └── index.css │ │ │ ├── pro/ │ │ │ │ └── index.css │ │ │ ├── products/ │ │ │ │ ├── advisory.css │ │ │ │ ├── appflow.css │ │ │ │ ├── enterprise-core.css │ │ │ │ ├── enterprise-edition.css │ │ │ │ ├── enterprise-engine.css │ │ │ │ ├── index.css │ │ │ │ └── studio.css │ │ │ ├── resources/ │ │ │ │ ├── case-studies.css │ │ │ │ └── webinars.css │ │ │ ├── solutions/ │ │ │ │ ├── cross-platform.css │ │ │ │ └── design.css │ │ │ ├── strategy-session.css │ │ │ ├── subscribe.css │ │ │ ├── support.css │ │ │ ├── survey/ │ │ │ │ ├── 2017.css │ │ │ │ └── 2018.css │ │ │ ├── team.css │ │ │ ├── thank-you.css │ │ │ ├── translations.css │ │ │ ├── trusted-partners.css │ │ │ ├── values.css │ │ │ └── webinars.css │ │ ├── pygments/ │ │ │ ├── autumn.css │ │ │ └── ionic.css │ │ ├── site.css │ │ ├── slick-theme.css │ │ ├── slick.css │ │ ├── style.css │ │ ├── styles.css │ │ ├── syntax.css │ │ └── v2-demos/ │ │ ├── css/ │ │ │ └── ionic.css │ │ └── ionic.css │ ├── data/ │ │ └── index.json │ ├── dist/ │ │ ├── bundles/ │ │ │ ├── ionic.css │ │ │ ├── ionic.ios.css │ │ │ ├── ionic.md.css │ │ │ ├── ionic.system.js │ │ │ └── ionic.wp.css │ │ ├── demos/ │ │ │ ├── scrollbar-fix.css │ │ │ └── scrollbar-fix.js │ │ └── preview-app/ │ │ └── www/ │ │ ├── assets/ │ │ │ └── fonts/ │ │ │ ├── ionicons.scss │ │ │ ├── noto-sans.scss │ │ │ └── roboto.scss │ │ ├── build/ │ │ │ ├── main.css │ │ │ ├── main.js │ │ │ ├── polyfills.js │ │ │ ├── sw-toolbox.js │ │ │ └── vendor.js │ │ ├── index.html │ │ ├── manifest.json │ │ └── service-worker.js │ ├── docs/ │ │ └── data/ │ │ └── index.json │ ├── fonts/ │ │ ├── inter/ │ │ │ └── inter.css │ │ └── roboto.scss │ ├── js/ │ │ ├── css-docs-angular.js │ │ ├── ionic-angular.js │ │ ├── ionic-docs.js │ │ ├── ionic-highlight.js │ │ ├── ionic-site.js │ │ ├── ionic.bundle.js │ │ ├── ionic.js │ │ ├── lunr.js │ │ ├── nprogress.js │ │ ├── site.js │ │ ├── slick.js │ │ ├── stencil/ │ │ │ ├── cjs/ │ │ │ │ └── es5/ │ │ │ │ ├── build/ │ │ │ │ │ ├── bubpozqb.entry.js │ │ │ │ │ ├── bubpozqb.sc.entry.js │ │ │ │ │ ├── cetridhp.entry.js │ │ │ │ │ ├── cetridhp.sc.entry.js │ │ │ │ │ ├── cz7vrrja.entry.js │ │ │ │ │ ├── cz7vrrja.sc.entry.js │ │ │ │ │ ├── ehteibio.entry.js │ │ │ │ │ ├── ehteibio.sc.entry.js │ │ │ │ │ ├── hclgi8iu.entry.js │ │ │ │ │ ├── hclgi8iu.sc.entry.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── lo9utgpp.entry.js │ │ │ │ │ ├── lo9utgpp.sc.entry.js │ │ │ │ │ ├── m0trkizf.entry.js │ │ │ │ │ ├── m0trkizf.sc.entry.js │ │ │ │ │ ├── nrj8jyt7.entry.js │ │ │ │ │ ├── nrj8jyt7.sc.entry.js │ │ │ │ │ ├── raorzqti.entry.js │ │ │ │ │ ├── raorzqti.sc.entry.js │ │ │ │ │ ├── uy47nvwg.entry.js │ │ │ │ │ ├── uy47nvwg.sc.entry.js │ │ │ │ │ ├── uyiaiqzf.entry.js │ │ │ │ │ ├── uyiaiqzf.sc.entry.js │ │ │ │ │ ├── z7r5cewq.entry.js │ │ │ │ │ └── z7r5cewq.sc.entry.js │ │ │ │ ├── index.js │ │ │ │ ├── ionic-site-components.components.js │ │ │ │ ├── ionic-site-components.core.js │ │ │ │ ├── ionic-site-components.define.js │ │ │ │ └── polyfills/ │ │ │ │ ├── array.js │ │ │ │ ├── css-shim.js │ │ │ │ ├── dom.js │ │ │ │ ├── fetch.js │ │ │ │ ├── map.js │ │ │ │ ├── object.js │ │ │ │ ├── promise.js │ │ │ │ ├── string.js │ │ │ │ ├── tslib.js │ │ │ │ └── url.js │ │ │ ├── collection/ │ │ │ │ ├── collection-manifest.json │ │ │ │ ├── components/ │ │ │ │ │ ├── icon-external/ │ │ │ │ │ │ ├── icon-external.css │ │ │ │ │ │ ├── icon-external.js │ │ │ │ │ │ └── icon-external.scss │ │ │ │ │ ├── ionic-appflow-activatior/ │ │ │ │ │ │ ├── ionic-appflow-activatior.js │ │ │ │ │ │ ├── ionic-appflow-activator.css │ │ │ │ │ │ └── ionic-appflow-activator.scss │ │ │ │ │ ├── ionic-bar-chart/ │ │ │ │ │ │ ├── ionic-bar-chart.css │ │ │ │ │ │ ├── ionic-bar-chart.js │ │ │ │ │ │ └── ionic-bar-chart.scss │ │ │ │ │ ├── ionic-button/ │ │ │ │ │ │ ├── ionic-button.css │ │ │ │ │ │ ├── ionic-button.js │ │ │ │ │ │ └── ionic-button.scss │ │ │ │ │ ├── ionic-newsletter-signup/ │ │ │ │ │ │ ├── ico-email.js │ │ │ │ │ │ ├── ionic-newsletter-signup.css │ │ │ │ │ │ ├── ionic-newsletter-signup.js │ │ │ │ │ │ └── ionic-newsletter-signup.scss │ │ │ │ │ ├── ionic-quick-signup/ │ │ │ │ │ │ ├── ionic-quick-signup.css │ │ │ │ │ │ ├── ionic-quick-signup.js │ │ │ │ │ │ └── ionic-quick-signup.scss │ │ │ │ │ ├── ionic-search/ │ │ │ │ │ │ ├── arrow.svg.js │ │ │ │ │ │ ├── ionic-search.css │ │ │ │ │ │ ├── ionic-search.js │ │ │ │ │ │ └── ionic-search.scss │ │ │ │ │ ├── ionic-slider/ │ │ │ │ │ │ ├── ionic-slider.css │ │ │ │ │ │ ├── ionic-slider.js │ │ │ │ │ │ └── ionic-slider.scss │ │ │ │ │ ├── ionic-snap-bar/ │ │ │ │ │ │ ├── ionic-snap-bar.css │ │ │ │ │ │ ├── ionic-snap-bar.js │ │ │ │ │ │ └── ionic-snap-bar.scss │ │ │ │ │ └── ionic-toggle/ │ │ │ │ │ ├── ionic-toggle-button.css │ │ │ │ │ ├── ionic-toggle-button.js │ │ │ │ │ ├── ionic-toggle-button.scss │ │ │ │ │ ├── ionic-toggle-tab.js │ │ │ │ │ ├── ionic-toggle.css │ │ │ │ │ ├── ionic-toggle.js │ │ │ │ │ └── ionic-toggle.scss │ │ │ │ ├── index.js │ │ │ │ └── interface.js │ │ │ ├── esm/ │ │ │ │ ├── es2017/ │ │ │ │ │ ├── build/ │ │ │ │ │ │ ├── bubpozqb.entry.js │ │ │ │ │ │ ├── bubpozqb.sc.entry.js │ │ │ │ │ │ ├── cetridhp.entry.js │ │ │ │ │ │ ├── cetridhp.sc.entry.js │ │ │ │ │ │ ├── cz7vrrja.entry.js │ │ │ │ │ │ ├── cz7vrrja.sc.entry.js │ │ │ │ │ │ ├── ehteibio.entry.js │ │ │ │ │ │ ├── ehteibio.sc.entry.js │ │ │ │ │ │ ├── hclgi8iu.entry.js │ │ │ │ │ │ ├── hclgi8iu.sc.entry.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── lo9utgpp.entry.js │ │ │ │ │ │ ├── lo9utgpp.sc.entry.js │ │ │ │ │ │ ├── m0trkizf.entry.js │ │ │ │ │ │ ├── m0trkizf.sc.entry.js │ │ │ │ │ │ ├── nrj8jyt7.entry.js │ │ │ │ │ │ ├── nrj8jyt7.sc.entry.js │ │ │ │ │ │ ├── raorzqti.entry.js │ │ │ │ │ │ ├── raorzqti.sc.entry.js │ │ │ │ │ │ ├── uy47nvwg.entry.js │ │ │ │ │ │ ├── uy47nvwg.sc.entry.js │ │ │ │ │ │ ├── uyiaiqzf.entry.js │ │ │ │ │ │ ├── uyiaiqzf.sc.entry.js │ │ │ │ │ │ ├── z7r5cewq.entry.js │ │ │ │ │ │ └── z7r5cewq.sc.entry.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── ionic-site-components.components.js │ │ │ │ │ ├── ionic-site-components.core.js │ │ │ │ │ └── ionic-site-components.define.js │ │ │ │ ├── es5/ │ │ │ │ │ ├── build/ │ │ │ │ │ │ ├── bubpozqb.entry.js │ │ │ │ │ │ ├── bubpozqb.sc.entry.js │ │ │ │ │ │ ├── cetridhp.entry.js │ │ │ │ │ │ ├── cetridhp.sc.entry.js │ │ │ │ │ │ ├── cz7vrrja.entry.js │ │ │ │ │ │ ├── cz7vrrja.sc.entry.js │ │ │ │ │ │ ├── ehteibio.entry.js │ │ │ │ │ │ ├── ehteibio.sc.entry.js │ │ │ │ │ │ ├── hclgi8iu.entry.js │ │ │ │ │ │ ├── hclgi8iu.sc.entry.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── lo9utgpp.entry.js │ │ │ │ │ │ ├── lo9utgpp.sc.entry.js │ │ │ │ │ │ ├── m0trkizf.entry.js │ │ │ │ │ │ ├── m0trkizf.sc.entry.js │ │ │ │ │ │ ├── nrj8jyt7.entry.js │ │ │ │ │ │ ├── nrj8jyt7.sc.entry.js │ │ │ │ │ │ ├── raorzqti.entry.js │ │ │ │ │ │ ├── raorzqti.sc.entry.js │ │ │ │ │ │ ├── uy47nvwg.entry.js │ │ │ │ │ │ ├── uy47nvwg.sc.entry.js │ │ │ │ │ │ ├── uyiaiqzf.entry.js │ │ │ │ │ │ ├── uyiaiqzf.sc.entry.js │ │ │ │ │ │ ├── z7r5cewq.entry.js │ │ │ │ │ │ └── z7r5cewq.sc.entry.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── ionic-site-components.components.js │ │ │ │ │ ├── ionic-site-components.core.js │ │ │ │ │ ├── ionic-site-components.define.js │ │ │ │ │ └── polyfills/ │ │ │ │ │ ├── array.js │ │ │ │ │ ├── css-shim.js │ │ │ │ │ ├── dom.js │ │ │ │ │ ├── fetch.js │ │ │ │ │ ├── map.js │ │ │ │ │ ├── object.js │ │ │ │ │ ├── promise.js │ │ │ │ │ ├── string.js │ │ │ │ │ ├── tslib.js │ │ │ │ │ └── url.js │ │ │ │ └── index.js │ │ │ ├── index.js │ │ │ ├── ionic-site-components/ │ │ │ │ ├── bubpozqb.entry.js │ │ │ │ ├── bubpozqb.es5.entry.js │ │ │ │ ├── bubpozqb.sc.entry.js │ │ │ │ ├── bubpozqb.sc.es5.entry.js │ │ │ │ ├── cetridhp.entry.js │ │ │ │ ├── cetridhp.es5.entry.js │ │ │ │ ├── cetridhp.sc.entry.js │ │ │ │ ├── cetridhp.sc.es5.entry.js │ │ │ │ ├── cz7vrrja.entry.js │ │ │ │ ├── cz7vrrja.es5.entry.js │ │ │ │ ├── cz7vrrja.sc.entry.js │ │ │ │ ├── cz7vrrja.sc.es5.entry.js │ │ │ │ ├── ehteibio.entry.js │ │ │ │ ├── ehteibio.es5.entry.js │ │ │ │ ├── ehteibio.sc.entry.js │ │ │ │ ├── ehteibio.sc.es5.entry.js │ │ │ │ ├── hclgi8iu.entry.js │ │ │ │ ├── hclgi8iu.es5.entry.js │ │ │ │ ├── hclgi8iu.sc.entry.js │ │ │ │ ├── hclgi8iu.sc.es5.entry.js │ │ │ │ ├── index.es5.js │ │ │ │ ├── index.js │ │ │ │ ├── ionic-site-components.ftjdmnjq.js │ │ │ │ ├── ionic-site-components.guhwuz8o.js │ │ │ │ ├── lo9utgpp.entry.js │ │ │ │ ├── lo9utgpp.es5.entry.js │ │ │ │ ├── lo9utgpp.sc.entry.js │ │ │ │ ├── lo9utgpp.sc.es5.entry.js │ │ │ │ ├── m0trkizf.entry.js │ │ │ │ ├── m0trkizf.es5.entry.js │ │ │ │ ├── m0trkizf.sc.entry.js │ │ │ │ ├── m0trkizf.sc.es5.entry.js │ │ │ │ ├── nrj8jyt7.entry.js │ │ │ │ ├── nrj8jyt7.es5.entry.js │ │ │ │ ├── nrj8jyt7.sc.entry.js │ │ │ │ ├── nrj8jyt7.sc.es5.entry.js │ │ │ │ ├── raorzqti.entry.js │ │ │ │ ├── raorzqti.es5.entry.js │ │ │ │ ├── raorzqti.sc.entry.js │ │ │ │ ├── raorzqti.sc.es5.entry.js │ │ │ │ ├── svg/ │ │ │ │ │ ├── index.esm.d.ts │ │ │ │ │ ├── index.esm.js │ │ │ │ │ └── index.js │ │ │ │ ├── uy47nvwg.entry.js │ │ │ │ ├── uy47nvwg.es5.entry.js │ │ │ │ ├── uy47nvwg.sc.entry.js │ │ │ │ ├── uy47nvwg.sc.es5.entry.js │ │ │ │ ├── uyiaiqzf.entry.js │ │ │ │ ├── uyiaiqzf.es5.entry.js │ │ │ │ ├── uyiaiqzf.sc.entry.js │ │ │ │ ├── uyiaiqzf.sc.es5.entry.js │ │ │ │ ├── z7r5cewq.entry.js │ │ │ │ ├── z7r5cewq.es5.entry.js │ │ │ │ ├── z7r5cewq.sc.entry.js │ │ │ │ └── z7r5cewq.sc.es5.entry.js │ │ │ ├── ionic-site-components.js │ │ │ ├── loader/ │ │ │ │ ├── index.cjs.js │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.es2017.js │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── svg/ │ │ │ │ ├── index.esm.d.ts │ │ │ │ ├── index.esm.js │ │ │ │ └── index.js │ │ │ ├── types/ │ │ │ │ ├── components/ │ │ │ │ │ ├── icon-external/ │ │ │ │ │ │ └── icon-external.d.ts │ │ │ │ │ ├── ionic-appflow-activatior/ │ │ │ │ │ │ └── ionic-appflow-activatior.d.ts │ │ │ │ │ ├── ionic-bar-chart/ │ │ │ │ │ │ └── ionic-bar-chart.d.ts │ │ │ │ │ ├── ionic-button/ │ │ │ │ │ │ └── ionic-button.d.ts │ │ │ │ │ ├── ionic-newsletter-signup/ │ │ │ │ │ │ ├── ico-email.d.ts │ │ │ │ │ │ └── ionic-newsletter-signup.d.ts │ │ │ │ │ ├── ionic-quick-signup/ │ │ │ │ │ │ └── ionic-quick-signup.d.ts │ │ │ │ │ ├── ionic-search/ │ │ │ │ │ │ ├── arrow.svg.d.ts │ │ │ │ │ │ └── ionic-search.d.ts │ │ │ │ │ ├── ionic-slider/ │ │ │ │ │ │ └── ionic-slider.d.ts │ │ │ │ │ ├── ionic-snap-bar/ │ │ │ │ │ │ └── ionic-snap-bar.d.ts │ │ │ │ │ └── ionic-toggle/ │ │ │ │ │ ├── ionic-toggle-button.d.ts │ │ │ │ │ ├── ionic-toggle-tab.d.ts │ │ │ │ │ └── ionic-toggle.d.ts │ │ │ │ ├── components.d.ts │ │ │ │ ├── index.d.ts │ │ │ │ └── stencil.core.d.ts │ │ │ └── web-components.json │ │ └── v2site.js │ ├── manifest.json │ ├── present-ionic/ │ │ ├── animate.css │ │ ├── index.html │ │ ├── slides/ │ │ │ ├── css/ │ │ │ │ ├── ionic.css │ │ │ │ └── print/ │ │ │ │ ├── paper.css │ │ │ │ └── pdf.css │ │ │ ├── demos/ │ │ │ │ ├── actionsheet/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.css │ │ │ │ ├── collection-repeat/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.css │ │ │ │ ├── list/ │ │ │ │ │ ├── index.html │ │ │ │ │ └── index.js │ │ │ │ ├── modal/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.css │ │ │ │ ├── navigation/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.js │ │ │ │ │ ├── style.css │ │ │ │ │ └── templates/ │ │ │ │ │ ├── page1.html │ │ │ │ │ ├── page2.html │ │ │ │ │ └── page3.html │ │ │ │ ├── popover/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.css │ │ │ │ ├── pull-to-refresh/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.css │ │ │ │ ├── sidemenu/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.js │ │ │ │ │ └── templates/ │ │ │ │ │ ├── attendees.html │ │ │ │ │ ├── check-in.html │ │ │ │ │ ├── event-menu.html │ │ │ │ │ └── home.html │ │ │ │ ├── slidebox/ │ │ │ │ │ ├── index.html │ │ │ │ │ └── style.css │ │ │ │ └── tabs/ │ │ │ │ ├── index.html │ │ │ │ ├── index.js │ │ │ │ └── templates/ │ │ │ │ ├── about.html │ │ │ │ ├── contact.html │ │ │ │ ├── facts.html │ │ │ │ ├── facts2.html │ │ │ │ ├── home.html │ │ │ │ └── nav-stack.html │ │ │ ├── index.html │ │ │ ├── ionic/ │ │ │ │ ├── css/ │ │ │ │ │ └── ionic.css │ │ │ │ ├── js/ │ │ │ │ │ ├── angular/ │ │ │ │ │ │ ├── angular-animate.js │ │ │ │ │ │ ├── angular-resource.js │ │ │ │ │ │ ├── angular-sanitize.js │ │ │ │ │ │ └── angular.js │ │ │ │ │ ├── angular-ui/ │ │ │ │ │ │ └── angular-ui-router.js │ │ │ │ │ ├── ionic-angular.js │ │ │ │ │ ├── ionic.bundle.js │ │ │ │ │ └── ionic.js │ │ │ │ └── version.json │ │ │ ├── lib/ │ │ │ │ ├── css/ │ │ │ │ │ └── zenburn.css │ │ │ │ └── js/ │ │ │ │ ├── classList.js │ │ │ │ └── html5shiv.js │ │ │ └── plugin/ │ │ │ ├── highlight/ │ │ │ │ └── highlight.js │ │ │ └── print-pdf/ │ │ │ └── print-pdf.js │ │ └── style.css │ ├── public_html/ │ │ └── css/ │ │ └── site.css │ ├── robots.txt │ ├── scss/ │ │ ├── _demos.scss │ │ ├── _docs-api.scss │ │ ├── _docs.scss │ │ ├── _fonts.scss │ │ ├── _footer.scss │ │ ├── _forms.scss │ │ ├── _getting-started.scss │ │ ├── _guide.scss │ │ ├── _header.scss │ │ ├── _input-types.scss │ │ ├── _news.scss │ │ ├── _products.scss │ │ ├── _showcase.scss │ │ ├── _syntax.scss │ │ ├── _testimonials.scss │ │ ├── _tutorials.scss │ │ ├── _type.scss │ │ ├── _v2.scss │ │ ├── _what-is.scss │ │ ├── bootstrap/ │ │ │ ├── _alerts.scss │ │ │ ├── _badges.scss │ │ │ ├── _breadcrumbs.scss │ │ │ ├── _button-groups.scss │ │ │ ├── _buttons.scss │ │ │ ├── _carousel.scss │ │ │ ├── _close.scss │ │ │ ├── _code.scss │ │ │ ├── _component-animations.scss │ │ │ ├── _dropdowns.scss │ │ │ ├── _forms.scss │ │ │ ├── _glyphicons.scss │ │ │ ├── _grid.scss │ │ │ ├── _input-groups.scss │ │ │ ├── _jumbotron.scss │ │ │ ├── _labels.scss │ │ │ ├── _list-group.scss │ │ │ ├── _media.scss │ │ │ ├── _mixins.scss │ │ │ ├── _modals.scss │ │ │ ├── _navbar.scss │ │ │ ├── _navs.scss │ │ │ ├── _normalize.scss │ │ │ ├── _pager.scss │ │ │ ├── _pagination.scss │ │ │ ├── _panels.scss │ │ │ ├── _popovers.scss │ │ │ ├── _print.scss │ │ │ ├── _progress-bars.scss │ │ │ ├── _responsive-utilities.scss │ │ │ ├── _scaffolding.scss │ │ │ ├── _tables.scss │ │ │ ├── _theme.scss │ │ │ ├── _thumbnails.scss │ │ │ ├── _tooltip.scss │ │ │ ├── _type.scss │ │ │ ├── _utilities.scss │ │ │ ├── _variables.scss │ │ │ ├── _wells.scss │ │ │ └── bootstrap.scss │ │ ├── ionic/ │ │ │ └── _ionic.scss │ │ ├── site.css │ │ └── site.scss │ └── sitemap.xml ├── debug.log ├── package.json ├── scripts/ │ ├── deploy_staging.sh │ ├── gulp-tasks.js │ ├── linkchecker.sh │ ├── prepare.sh │ ├── preview-app/ │ │ └── webpack.config.js │ ├── sitemappings.json │ └── test.sh ├── server/ │ ├── config.js │ ├── controllers/ │ │ ├── contactCtrl.js │ │ ├── getformCtrl.js │ │ ├── hsblockedCtrl.js │ │ ├── hsconvertedCtrl.js │ │ ├── newsletterCtrl.js │ │ └── viewCtrl.js │ ├── markdown/ │ │ ├── code-of-conduct.md │ │ ├── corona.md │ │ ├── enterprise-license-agreement.md │ │ ├── pr-1704222-latest-version-of-ionic-provides-universal-design-system-for-enterprises.md │ │ ├── pr-170725-dev-survey-says-the-web-is-wi.md │ │ ├── pr-171206-ionic-brings-powerful-app-dev.md │ │ ├── pr-capacitor-adds-support-for-swift-5-and-android-10-securty-performance.md │ │ ├── pr-ionic-5-brings-major-design-updates.md │ │ ├── pr-ionic-achieves-record-revenue-growth-in-2019.md │ │ ├── pr-ionic-alan-announce-integration.md │ │ ├── pr-ionic-framework-4-release.md │ │ ├── privacy-policy.md │ │ └── tos.md │ ├── markdown.js │ ├── pageNotFound.js │ ├── pages/ │ │ ├── 404.html │ │ ├── _includes/ │ │ │ ├── footer.html │ │ │ ├── head.html │ │ │ ├── header.html │ │ │ ├── header_nav.html │ │ │ ├── logo_svg.html │ │ │ ├── macros.html │ │ │ ├── mixpanel.html │ │ │ ├── mobile_nav.html │ │ │ ├── pre_footer.html │ │ │ ├── promos/ │ │ │ │ ├── card-auth-connect.html │ │ │ │ ├── card-identity-vault.html │ │ │ │ ├── card-offline-storage.html │ │ │ │ ├── data-sheet-offline-storage.html │ │ │ │ ├── evaluating-ionic-for-enterprise.html │ │ │ │ ├── how-to-get-started.html │ │ │ │ ├── hybrid-vs-native.html │ │ │ │ ├── ioniconf.html │ │ │ │ ├── newsletter-signup.html │ │ │ │ ├── pwa-architects-guide.html │ │ │ │ ├── pwa-frameworks.html │ │ │ │ ├── quad-cta.html │ │ │ │ ├── rethinking-low-code.html │ │ │ │ ├── start-enterprise.html │ │ │ │ ├── start-shipping.html │ │ │ │ ├── state-of-app-dev-2020.html │ │ │ │ ├── tri-cta.html │ │ │ │ └── why-hybrid.html │ │ │ ├── scripts.html │ │ │ └── svg/ │ │ │ ├── advisory-icon.html │ │ │ ├── appflow-icon.html │ │ │ ├── enterprise-edition-icon.html │ │ │ ├── ionic-blue.html │ │ │ ├── ionic-grey.html │ │ │ ├── ionic-navy.html │ │ │ ├── ionic-purple.html │ │ │ ├── ionic-salmon.html │ │ │ ├── studio-icon.html │ │ │ ├── survey-2018-bars.html │ │ │ └── survey-2018-cubes.html │ │ ├── _layouts/ │ │ │ ├── base.html │ │ │ ├── blank.html │ │ │ ├── creator.html │ │ │ └── enterprise.html │ │ ├── angular.html │ │ ├── contributors.html │ │ ├── creator/ │ │ │ ├── index.html │ │ │ └── support.html │ │ ├── developers.html │ │ ├── ds.html │ │ ├── early-access.html │ │ ├── enterprise/ │ │ │ └── solutions/ │ │ │ ├── cross-platform.html │ │ │ └── index.html │ │ ├── getting-started-with-ionic-vue.html │ │ ├── go/ │ │ │ ├── pwa-architects-guide/ │ │ │ │ ├── index.html │ │ │ │ └── thank-you.html │ │ │ └── why-hybrid/ │ │ │ ├── index.html │ │ │ └── thank-you.html │ │ ├── ioniconf-2020.html │ │ ├── native.html │ │ ├── pro/ │ │ │ └── contact.html │ │ ├── react.html │ │ ├── start.html │ │ ├── stencil-jamstack2021.html │ │ ├── subscribe.html │ │ ├── survey/ │ │ │ ├── 2017.html │ │ │ ├── 2018.html │ │ │ └── 2020.html │ │ ├── translate.html │ │ ├── values.html │ │ ├── verification/ │ │ │ ├── failed.html │ │ │ └── success.html │ │ └── vue.html │ ├── prismic.js │ ├── processRequest.js │ ├── router.js │ ├── tools.js │ └── well-known/ │ └── openid-configuration.js ├── server.js ├── stencil.config.js └── tsconfig.json ================================================ FILE CONTENTS ================================================ ================================================ FILE: .dockerignore ================================================ ### Node template # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* lerna-debug.log* # Diagnostic reports (https://nodejs.org/api/report.html) report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json # Runtime data pids *.pid *.seed *.pid.lock # Directory for instrumented libs generated by jscoverage/JSCover lib-cov # Coverage directory used by tools like istanbul coverage *.lcov # nyc test coverage .nyc_output # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) .grunt # Bower dependency directory (https://bower.io/) bower_components # node-waf configuration .lock-wscript # Compiled binary addons (https://nodejs.org/api/addons.html) build/Release # Dependency directories node_modules/ jspm_packages/ # Snowpack dependency directory (https://snowpack.dev/) web_modules/ # TypeScript cache *.tsbuildinfo # Optional npm cache directory .npm # Optional eslint cache .eslintcache # Microbundle cache .rpt2_cache/ .rts2_cache_cjs/ .rts2_cache_es/ .rts2_cache_umd/ # Optional REPL history .node_repl_history # Output of 'npm pack' *.tgz # Yarn Integrity file .yarn-integrity # dotenv environment variables file .env .env.test # parcel-bundler cache (https://parceljs.org/) .cache .parcel-cache # Next.js build output .next out # Nuxt.js build / generate output .nuxt dist # Gatsby files .cache/ # Comment in the public line in if your project uses Gatsby and not Next.js # https://nextjs.org/blog/next-9-1#public-directory-support # public # vuepress build output .vuepress/dist # Serverless directories .serverless/ # FuseBox cache .fusebox/ # DynamoDB Local files .dynamodb/ # TernJS port file .tern-port # Stores VSCode versions used for testing VSCode extensions .vscode-test # yarn v2 .yarn/cache .yarn/unplugged .yarn/build-state.yml .yarn/install-state.gz .pnp.* ================================================ FILE: .env-docker ================================================ API_URL=http://api DASHBOARD_URL=http://dashboard:8080 PORT=3000 PROD=false ================================================ FILE: .gitignore ================================================ .*.sw* .sass-cache .DS_Store node_modules/ _site/ /.idea/ .jekyll-metadata .tmp linkchecker.html * text=auto /.env /content/_includes/head_includes.prod.html /content/_includes/fluid/footer_tags.prod.html /content/_includes/fluid/head.prod.html /dist/ /server/pages/_includes/head.prod.html /server/pages/_includes/scripts.prod.html /.vscode /package-lock.json /null /.stencil ================================================ FILE: .npmrc ================================================ package-lock=false ================================================ FILE: .slugignore ================================================ assets/img/ ================================================ FILE: CONTRIBUTING.md ================================================ The ionic website repo is licensed and managed separately from the ionic repo itself. By contributing to the driftyco/ionic-site repo, you agree to have your contributions licensed under the Apache 2.0 license. See the `LICENSE` file for details on this license. ## GUIDELINES When in doubt, keep pull requests small. Just a few related changes and nothing else. Separate different features or changes into different PRs to make it easy to merge. Always use two spaces and no tabs for indentation. ## Structure Note that `content/docs/api`, `content/docs/api`, `content/docs/native`, `content/docs/storage`, and anything in `content/dist` is automatically generated. The v1, v2, Ionic Native, and Ionic Storage docs are generated by dgeni on every commit to their respective source repos, using inline code comments. This site's humble beginnings started as a Github Pages site, and much of that core structure remains. Now it is a tiny Node.js/Express app that lives on a Heroku server. The Node.js app for the most part serves static html files that have been generated by Jekyll. Some pages are generated server-side via traditional Express routes with Nunjucks templates (very similar to jekyll). These are contained within the `server` directory. On every commit, Heroku runs a clean build and starts a node server at [ionic-site-staging.herokuapp.com](https://ionic-site-staging.herokuapp.com). Periodically the Ionic core team will inspect the site and promote the staging server to [ionicframework.com](https://ionicframework.com). This project is in some ways multiple sites in one and has multiple build/compile processes. `gulp watch` will run all of these, and should meet most style and JS processing needs. Some older docs pages are ignored for performance reasons. A `bundle exec jekyll build` should update these. v1 styles are in `content/scss` and output to `content/css/site.css`. v2 styles are in `assets/scss` and output to `content/css/v2.css`. v2 images and JS are preprocessed and optimized. Their working directories should be `assets/img` and `assets/js` respectively. Per Jekyll conventions, any directory starting with an underscore does not get copied to production. ================================================ FILE: Dockerfile ================================================ FROM node:16 WORKDIR /usr/src/app COPY package.json ./ RUN npm i COPY . ./ EXPOSE 3000 CMD npm run start ================================================ FILE: Gulpfile.js ================================================ const gulp = require('gulp'); const $ = require('gulp-load-plugins')(); const browserSync = require('browser-sync'); const cachebust = require('gulp-cache-bust'); const cleanCSS = require('gulp-clean-css'); const concat = require('gulp-concat'); const cp = require('child_process'); const del = require('del'); const es = require('event-stream'); const footer = require('gulp-footer'); const header = require('gulp-header'); const lib = require('./assets/3rd-party-libs.json'); const nodemon = require('gulp-nodemon'); const path = require('path'); const pkg = require('./package.json'); const prefix = require('gulp-autoprefixer'); const rename = require('gulp-rename'); const sass = require('gulp-sass')(require('node-sass')); const uglify = require('gulp-uglify-es').default; var closureStart = '/*!\n' + ' * Ionic \n' + ' * Copyright 2015-present Drifty Co.\n' + ' */\n' + '(function() {\n'; var closureEnd = '\n})();\n'; var version = pkg.version; let server; const bustCache = async () => { function cacheBust(path, fileName) { return gulp.src(path + fileName) .pipe(cachebust({ basePath: 'dist' })) .pipe(rename({ extname: '.prod.html' })) .pipe(gulp.dest('./' + path)); } var bustArray = function () { return [ cacheBust('server/pages/_includes/', 'head.html'), cacheBust('server/pages/_includes/', 'scripts.html'), ]; }; return es.concat(bustArray()); } function bustCacheAndReload(done) { bustCache().on('end', function () { done(); browserSync.reload(); // apply the template change in the background // gulp.start('jekyll-build.incremental'); }); } function restartAndReload(done) { server.emit('restart'); if (typeof done === 'function') { done(); } browserSync.reload(); } function justReload(done) { // server.restart(function(err) { // if (!err) { done(); browserSync.reload(); // } // }); } const stylesOthers = () => { // For best performance, don't add Sass partials to `gulp.src` return gulp.src([ 'assets/scss/**/*.scss', '!assets/scss/styles.scss' ]) .pipe($.sourcemaps.init()) .pipe(sass({ precision: 10, onError: console.error.bind(console, 'Sass error:'), includePaths: [path.join(__dirname, 'node_modules')] })) .pipe(prefix()) .pipe($.sourcemaps.write()) .pipe(gulp.dest('dist/css/')) // Concatenate and minify styles .pipe(cleanCSS({ compatibility: 'ie8' })) .pipe(rename({ extname: '.min.css' })) .pipe(gulp.dest('dist/css/')) .pipe($.size({ title: 'styles' })); }; const stylesMain = () => { // For best performance, don't add Sass partials to `gulp.src` return gulp.src( ['assets/scss/styles.scss'].concat(lib.css) ).pipe($.sourcemaps.init()) .pipe(sass({ precision: 10, onError: console.error.bind(console, 'Sass error:'), includePaths: [path.join(__dirname, 'node_modules')] })) .pipe(prefix()) .pipe(concat('styles.css')) .pipe($.sourcemaps.write()) .pipe(gulp.dest('dist/css/')) // Concatenate and minify styles .pipe(cleanCSS({ compatibility: 'ie8' })) .pipe(rename({ extname: '.min.css' })) .pipe(gulp.dest('dist/css/')) .pipe($.size({ title: 'styles' })); }; // compress and concat JS const js = () => { return gulp.src(lib.js.concat(['assets/js/**/*.js'])) .pipe($.sourcemaps.init()) .pipe(concat('ionic-site.js', { newLine: ';' })) .pipe(header(closureStart)) .pipe(footer(closureEnd)) .pipe($.sourcemaps.write()) .pipe(gulp.dest('dist/js')) .pipe(uglify()) .pipe(rename({ extname: '.min.js' })) .pipe(gulp.dest('dist/js')) .pipe($.size({ title: 'js' })); }; const stencil = (done) => { return cp.spawn(path.join('node_modules', '.bin', 'stencil'), ['build', process.env.PROD ? '' : '--dev'], { cwd: process.cwd(), env: { PATH: process.env.PATH }, shell: true, stdio: 'inherit' } ) .on('close', async () => { done(); }).on('error', function (err) { console.log(err) throw err; }); }; const serverStart = (done) => { server = nodemon({ script: 'server.js', watch: 'server', }).on('start', () => { if (browserSync.active) { setTimeout(browserSync.reload, 3050); } else { // giving the server 2 seconds to start setTimeout(done, 2000); } }) .on('crash', function () { console.error('Application has crashed!\n') server.emit('restart', 10) // restart the server in 10 seconds }); }; const slugPrep = () => { return del(['assets']); }; const build = gulp.series( gulp.parallel( gulp.series( stencil, js ), stylesMain, stylesOthers ), bustCache ) const run = gulp.parallel( build, serverStart ) const watchServer = async () => gulp.watch(['server.js', 'server/**/*'], restartAndReload); const watchStylesMain = async () => gulp.watch(['assets/scss/**/_*.scss', 'assets/scss/components/_*.scss', 'assets/scss/styles.scss'], gulp.series(stylesMain, justReload)) const watchStylesOthers = async () => gulp.watch(['assets/scss/**/*.scss', '!assets/scss/styles.scss', '!assets/scss/**/_*.scss'], gulp.series(stylesOthers, justReload)) const watchJS = async () => gulp.watch(['assets/js/**/*.js'], gulp.series(js, justReload)); const watchStencil = async () => gulp.watch(['assets/stencil/**/*.{ts,tsx,scss}', '!assets/stencil/components.d.ts'], gulp.series(stencil, justReload)); const watch = gulp.series( run, // serverStart, gulp.parallel( watchServer, watchStylesMain, watchStylesOthers, watchJS, watchStencil ), async () => { return browserSync.init({ 'proxy': 'http://localhost:3000', 'port': 3003 }) } ); // gulp.task('default', ['build']); module.exports = { build, bustCache, js, run, serverStart, slugPrep, stencil, stylesMain, stylesOthers, watch, }; ================================================ FILE: LICENSE ================================================ Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS Copyright 2016 Drifty Co. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: Procfile ================================================ web: node server.js ================================================ FILE: README.md ================================================ ionic-site ========== Repo for the ionicframework.com site. To preview local Ionic changes, follow the instructions at the [Ionic repo](https://github.com/ionic-team/ionic#documentation). ## No Docs Here Ionic Docs are in a [separate repo](https://github.com/ionic-team/ionic-docs/). This site is primarily used for general communications and promotion of Ionic framework and related products and services. ## Local Build 1. Run `npm install` 2. Run `npm start` (after the first run, this is the only step needed) ## Third Party Libraries 3rd part libraries should be concatenated into the site bundle by adding them via package.json and specifying what files to include in the `assets/3rd-party-libs.json` file. ## Deploy Changes to master are automatically deployed to [staging.ionicframework.com/](https://staging.ionicframework.com/). Periodically, the Ionic team will inspect staging and promote it to [ionicframework.com](https://ionicframework.com). ## Community * Follow [@ionicframework on Twitter](https://twitter.com/ionicframework). * Subscribe to the [Ionic Newsletter](https://ionicframework.com/subscribe/). * Have a question that's not a feature request or bug report? [Discuss on the Ionic Forum](https://forum.ionicframework.com/). * Read our [Blog](https://ionicframework.com/blog/). * Have a feature request or find a bug? [Submit an issue](https://github.com/ionic-team/ionic/issues). * See a problem with our documentation? [Submit an issue](https://github.com/ionic-team/ionic-docs/issues). * See a typo or browser bug on a non-docs page? [Submit an issue](https://github.com/ionic-team/ionic-site/issues). ================================================ FILE: app.json ================================================ { "addons": [ "heroku-redis" ], "buildpacks": [ { "url": "heroku/nodejs" } ], "description": "The marketing/communications parts of the ", "repository": "https://github.com/ionic-team/ionic-site", "env": { "PIPEDRIVE_TOKEN": { "required": true }, "PORT": { "required": true }, "PRISMIC_PREVIEW": { "required": true }, "PROD": { "required": true }, "SENTRY_DSN": { "required": true }, "SENTRY_ENVIRONMENT": { "required": true } }, "formation": { "web": { "quantity": 1 } }, "name": "ionic-site", "scripts": { }, "stack": "heroku-18" } ================================================ FILE: assets/3rd-party-libs.json ================================================ { "css": [ ], "js": [ "node_modules/jquery/dist/jquery.slim.min.js", "node_modules/bootstrap-sass/assets/javascripts/bootstrap.min.js", "node_modules/typed.js/dist/typed.umd.js" ] } ================================================ FILE: assets/js/analytics.js ================================================ // Google Tag Manager (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TKMGCBC'); $(function() { var hsqCount = 0; function linker() { // Append Hubspot IDs to dashboard links var hsutk = window.getCookie('hubspotutk'); if(hsqCount > 10) { // Hubspot is disabled or down console.log('failing', hsutk) return; } else if (!window._hsq && !hsutk) { hsqCount++; // console.log('no hubspot ID yet') setTimeout(linker, 300); return; } var els = Array.prototype.slice.call(document.querySelectorAll('a[href*="dashboard.ionicframework.com"]')); if(!els) { //console.log('no dash links') return; } // console.log(els) els.forEach(function(el) { var href = el.getAttribute('href'); // https://stackoverflow.com/questions/44412241/is-it-possible-to-read-experimentid-and-variationid-in-javascript-with-google-op // var propertyId = "UA-44023830-1"; // var experimentId = Object.keys(gaData[propertyId].experiments)[0]; // var variationId = gaData[propertyId].experiments[experimentId]; // console.log(experimentId, variationId) if (href.indexOf('?') !== -1) { // If a source attribute has been added to URI and an A/B test is running, append test group ID to value of source attribute // var sourceVal = getQuerystringParameter('source', '?' + href.split('?')[1]); // if (sourceVal.length && experimentId.length) { // href = updateQuerystringParameter(href, 'source', sourceVal + '-' + experimentId + '-' + variationId); // } // console.log(href) href += '&' } else { href += '?' } // Add Hubspot UTK ID as HSID if present if (hsutk) { href += 'hsid=' + encodeURIComponent(hsutk); } // pass along any query parameters on the current page on to the dashboard as well href += '&' + (window.location.search.split('?')[1] || ''); el.setAttribute('href', href ); }) } linker(); }); function getQuerystringParameter(name, querystring) { name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'); var results = regex.exec(querystring); return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); }; function updateQuerystringParameter(uri, key, value) { var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"); var separator = uri.indexOf('?') !== -1 ? "&" : "?"; if (uri.match(re)) { return uri.replace(re, '$1' + key + "=" + value + '$2'); } else { return uri + separator + key + "=" + value; } } window.hsSnitch = () => { // no hubspot forms on this page, bail if (!document.querySelector('[src="//js.hsforms.net/forms/v2.js"]')) return; const selector = '.hs-form'; let submitting; // has the form already loaded? let hsFound = !!document.querySelector(selector); if (hsFound) return; const report = async (type) => { console.error(`Hubspot Error: ${type} blocked`); const response = await fetch('/api/v1/hsblocked', { method: 'POST', mode: 'same-origin', cache: 'no-cache', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ browser: navigator.userAgent, url: window.location.href, type }) }); // give HS 3 seconds to load } const timer = setTimeout(() => { // one last check, just to be safe if (hsFound || !!document.querySelector(selector)) return; report('form'); }, 3000); // listen for the form to load window.addEventListener('message', event => { // console.log(event.data); if(event.data.type !== 'hsFormCallback') return; // form found if(event.data.eventName === 'onFormReady') { hsFound = true; clearTimeout(timer); return; } // form submitting if(event.data.eventName === 'onFormSubmit') { submitting = setTimeout(() => { report('form-submit'); }, 2000); return; } // form submission sucessful if(event.data.eventName === 'onFormSubmitted') { clearTimeout(submitting) return; } }); } window.hsSnitch(); // shorthand global analytics click event helper window.c = (cat, lbl, el, val, opts = {}) => { if (typeof val === 'undefined') { val = null; } try { window._hsq.push(['trackEvent', { id: lbl }]) } catch(e) { console.warn('Hubspot blocked', e); } if (window.ga && ga.loaded) { let linkFollowed = false; const followLink = () => { if (!el || linkFollowed) return; linkFollowed = true; if (el.target === '_blank') { const newWindow = window.open(el.href); // if new tab wasn't blocked, we're done if (newWindow) return; } document.location = el.href; } ga(opts.trackerName ? `${opts.trackerName}.send` : 'send', { hitType: 'event', eventCategory: cat, eventAction: 'Click', eventLabel: lbl, eventValue: val, hitCallback: followLink }); // GA has 1 second to do its thing setTimeout(followLink, 1000); } else { if (!!el) { document.location = el.href; } } // don't follow links until analytics is recieved if (!!el) { return false; } }; ================================================ FILE: assets/js/highlight.js ================================================ (function(factory) { // Setup highlight.js for different environments. First is Node.js or // CommonJS. if(typeof exports !== 'undefined') { factory(exports); } else { // Export hljs globally even when using AMD for cases when this script // is loaded with others that may still expect a global hljs. window.hljs = factory({}); // Finally register the global hljs with AMD. if(typeof define === 'function' && define.amd) { define('hljs', [], function() { return window.hljs; }); } } }(function(hljs) { /* Utility functions */ function escape(value) { return value.replace(/&/gm, '&').replace(//gm, '>'); } function tag(node) { return node.nodeName.toLowerCase(); } function testRe(re, lexeme) { var match = re && re.exec(lexeme); return match && match.index == 0; } function isNotHighlighted(language) { return (/^(no-?highlight|plain|text)$/i).test(language); } function blockLanguage(block) { var i, match, length, classes = block.className + ' '; classes += block.parentNode ? block.parentNode.className : ''; // language-* takes precedence over non-prefixed class names match = (/\blang(?:uage)?-([\w-]+)\b/i).exec(classes); if (match) { return getLanguage(match[1]) ? match[1] : 'no-highlight'; } classes = classes.split(/\s+/); for (i = 0, length = classes.length; i < length; i++) { if (getLanguage(classes[i]) || isNotHighlighted(classes[i])) { return classes[i]; } } } function inherit(parent, obj) { var result = {}, key; for (key in parent) result[key] = parent[key]; if (obj) for (key in obj) result[key] = obj[key]; return result; } /* Stream merging */ function nodeStream(node) { var result = []; (function _nodeStream(node, offset) { for (var child = node.firstChild; child; child = child.nextSibling) { if (child.nodeType == 3) offset += child.nodeValue.length; else if (child.nodeType == 1) { result.push({ event: 'start', offset: offset, node: child }); offset = _nodeStream(child, offset); // Prevent void elements from having an end tag that would actually // double them in the output. There are more void elements in HTML // but we list only those realistically expected in code display. if (!tag(child).match(/br|hr|img|input/)) { result.push({ event: 'stop', offset: offset, node: child }); } } } return offset; })(node, 0); return result; } function mergeStreams(original, highlighted, value) { var processed = 0; var result = ''; var nodeStack = []; function selectStream() { if (!original.length || !highlighted.length) { return original.length ? original : highlighted; } if (original[0].offset != highlighted[0].offset) { return (original[0].offset < highlighted[0].offset) ? original : highlighted; } /* To avoid starting the stream just before it should stop the order is ensured that original always starts first and closes last: if (event1 == 'start' && event2 == 'start') return original; if (event1 == 'start' && event2 == 'stop') return highlighted; if (event1 == 'stop' && event2 == 'start') return original; if (event1 == 'stop' && event2 == 'stop') return highlighted; ... which is collapsed to: */ return highlighted[0].event == 'start' ? original : highlighted; } function open(node) { function attr_str(a) {return ' ' + a.nodeName + '="' + escape(a.value) + '"';} result += '<' + tag(node) + Array.prototype.map.call(node.attributes, attr_str).join('') + '>'; } function close(node) { result += ''; } function render(event) { (event.event == 'start' ? open : close)(event.node); } while (original.length || highlighted.length) { var stream = selectStream(); result += escape(value.substr(processed, stream[0].offset - processed)); processed = stream[0].offset; if (stream == original) { /* On any opening or closing tag of the original markup we first close the entire highlighted node stack, then render the original tag along with all the following original tags at the same offset and then reopen all the tags on the highlighted stack. */ nodeStack.reverse().forEach(close); do { render(stream.splice(0, 1)[0]); stream = selectStream(); } while (stream == original && stream.length && stream[0].offset == processed); nodeStack.reverse().forEach(open); } else { if (stream[0].event == 'start') { nodeStack.push(stream[0].node); } else { nodeStack.pop(); } render(stream.splice(0, 1)[0]); } } return result + escape(value.substr(processed)); } /* Initialization */ function compileLanguage(language) { function reStr(re) { return (re && re.source) || re; } function langRe(value, global) { return new RegExp( reStr(value), 'm' + (language.case_insensitive ? 'i' : '') + (global ? 'g' : '') ); } function compileMode(mode, parent) { if (mode.compiled) return; mode.compiled = true; mode.keywords = mode.keywords || mode.beginKeywords; if (mode.keywords) { var compiled_keywords = {}; var flatten = function(className, str) { if (language.case_insensitive) { str = str.toLowerCase(); } str.split(' ').forEach(function(kw) { var pair = kw.split('|'); compiled_keywords[pair[0]] = [className, pair[1] ? Number(pair[1]) : 1]; }); }; if (typeof mode.keywords == 'string') { // string flatten('keyword', mode.keywords); } else { Object.keys(mode.keywords).forEach(function (className) { flatten(className, mode.keywords[className]); }); } mode.keywords = compiled_keywords; } mode.lexemesRe = langRe(mode.lexemes || /\b\w+\b/, true); if (parent) { if (mode.beginKeywords) { mode.begin = '\\b(' + mode.beginKeywords.split(' ').join('|') + ')\\b'; } if (!mode.begin) mode.begin = /\B|\b/; mode.beginRe = langRe(mode.begin); if (!mode.end && !mode.endsWithParent) mode.end = /\B|\b/; if (mode.end) mode.endRe = langRe(mode.end); mode.terminator_end = reStr(mode.end) || ''; if (mode.endsWithParent && parent.terminator_end) mode.terminator_end += (mode.end ? '|' : '') + parent.terminator_end; } if (mode.illegal) mode.illegalRe = langRe(mode.illegal); if (mode.relevance === undefined) mode.relevance = 1; if (!mode.contains) { mode.contains = []; } var expanded_contains = []; mode.contains.forEach(function(c) { if (c.variants) { c.variants.forEach(function(v) {expanded_contains.push(inherit(c, v));}); } else { expanded_contains.push(c == 'self' ? mode : c); } }); mode.contains = expanded_contains; mode.contains.forEach(function(c) {compileMode(c, mode);}); if (mode.starts) { compileMode(mode.starts, parent); } var terminators = mode.contains.map(function(c) { return c.beginKeywords ? '\\.?(' + c.begin + ')\\.?' : c.begin; }) .concat([mode.terminator_end, mode.illegal]) .map(reStr) .filter(Boolean); mode.terminators = terminators.length ? langRe(terminators.join('|'), true) : {exec: function(/*s*/) {return null;}}; } compileMode(language); } /* Core highlighting function. Accepts a language name, or an alias, and a string with the code to highlight. Returns an object with the following properties: - relevance (int) - value (an HTML string with highlighting markup) */ function highlight(name, value, ignore_illegals, continuation) { function subMode(lexeme, mode) { for (var i = 0; i < mode.contains.length; i++) { if (testRe(mode.contains[i].beginRe, lexeme)) { return mode.contains[i]; } } } function endOfMode(mode, lexeme) { if (testRe(mode.endRe, lexeme)) { while (mode.endsParent && mode.parent) { mode = mode.parent; } return mode; } if (mode.endsWithParent) { return endOfMode(mode.parent, lexeme); } } function isIllegal(lexeme, mode) { return !ignore_illegals && testRe(mode.illegalRe, lexeme); } function keywordMatch(mode, match) { var match_str = language.case_insensitive ? match[0].toLowerCase() : match[0]; return mode.keywords.hasOwnProperty(match_str) && mode.keywords[match_str]; } function buildSpan(classname, insideSpan, leaveOpen, noPrefix) { var classPrefix = noPrefix ? '' : options.classPrefix, openSpan = ''; return openSpan + insideSpan + closeSpan; } function processKeywords() { if (!top.keywords) return escape(mode_buffer); var result = ''; var last_index = 0; top.lexemesRe.lastIndex = 0; var match = top.lexemesRe.exec(mode_buffer); while (match) { result += escape(mode_buffer.substr(last_index, match.index - last_index)); var keyword_match = keywordMatch(top, match); if (keyword_match) { relevance += keyword_match[1]; result += buildSpan(keyword_match[0], escape(match[0])); } else { result += escape(match[0]); } last_index = top.lexemesRe.lastIndex; match = top.lexemesRe.exec(mode_buffer); } return result + escape(mode_buffer.substr(last_index)); } function processSubLanguage() { var explicit = typeof top.subLanguage == 'string'; if (explicit && !languages[top.subLanguage]) { return escape(mode_buffer); } var result = explicit ? highlight(top.subLanguage, mode_buffer, true, continuations[top.subLanguage]) : highlightAuto(mode_buffer, top.subLanguage.length ? top.subLanguage : undefined); // Counting embedded language score towards the host language may be disabled // with zeroing the containing mode relevance. Usecase in point is Markdown that // allows XML everywhere and makes every XML snippet to have a much larger Markdown // score. if (top.relevance > 0) { relevance += result.relevance; } if (explicit) { continuations[top.subLanguage] = result.top; } return buildSpan(result.language, result.value, false, true); } function processBuffer() { return top.subLanguage !== undefined ? processSubLanguage() : processKeywords(); } function startNewMode(mode, lexeme) { var markup = mode.className? buildSpan(mode.className, '', true): ''; if (mode.returnBegin) { result += markup; mode_buffer = ''; } else if (mode.excludeBegin) { result += escape(lexeme) + markup; mode_buffer = ''; } else { result += markup; mode_buffer = lexeme; } top = Object.create(mode, {parent: {value: top}}); } function processLexeme(buffer, lexeme) { mode_buffer += buffer; if (lexeme === undefined) { result += processBuffer(); return 0; } var new_mode = subMode(lexeme, top); if (new_mode) { result += processBuffer(); startNewMode(new_mode, lexeme); return new_mode.returnBegin ? 0 : lexeme.length; } var end_mode = endOfMode(top, lexeme); if (end_mode) { var origin = top; if (!(origin.returnEnd || origin.excludeEnd)) { mode_buffer += lexeme; } result += processBuffer(); do { if (top.className) { result += ''; } relevance += top.relevance; top = top.parent; } while (top != end_mode.parent); if (origin.excludeEnd) { result += escape(lexeme); } mode_buffer = ''; if (end_mode.starts) { startNewMode(end_mode.starts, ''); } return origin.returnEnd ? 0 : lexeme.length; } if (isIllegal(lexeme, top)) throw new Error('Illegal lexeme "' + lexeme + '" for mode "' + (top.className || '') + '"'); /* Parser should not reach this point as all types of lexemes should be caught earlier, but if it does due to some bug make sure it advances at least one character forward to prevent infinite looping. */ mode_buffer += lexeme; return lexeme.length || 1; } var language = getLanguage(name); if (!language) { throw new Error('Unknown language: "' + name + '"'); } compileLanguage(language); var top = continuation || language; var continuations = {}; // keep continuations for sub-languages var result = '', current; for(current = top; current != language; current = current.parent) { if (current.className) { result = buildSpan(current.className, '', true) + result; } } var mode_buffer = ''; var relevance = 0; try { var match, count, index = 0; while (true) { top.terminators.lastIndex = index; match = top.terminators.exec(value); if (!match) break; count = processLexeme(value.substr(index, match.index - index), match[0]); index = match.index + count; } processLexeme(value.substr(index)); for(current = top; current.parent; current = current.parent) { // close dangling modes if (current.className) { result += ''; } } return { relevance: relevance, value: result, language: name, top: top }; } catch (e) { if (e.message.indexOf('Illegal') != -1) { return { relevance: 0, value: escape(value) }; } else { throw e; } } } /* Highlighting with language detection. Accepts a string with the code to highlight. Returns an object with the following properties: - language (detected language) - relevance (int) - value (an HTML string with highlighting markup) - second_best (object with the same structure for second-best heuristically detected language, may be absent) */ function highlightAuto(text, languageSubset) { languageSubset = languageSubset || options.languages || Object.keys(languages); var result = { relevance: 0, value: escape(text) }; var second_best = result; languageSubset.forEach(function(name) { if (!getLanguage(name)) { return; } var current = highlight(name, text, false); current.language = name; if (current.relevance > second_best.relevance) { second_best = current; } if (current.relevance > result.relevance) { second_best = result; result = current; } }); if (second_best.language) { result.second_best = second_best; } return result; } /* Post-processing of the highlighted markup: - replace TABs with something more useful - replace real line-breaks with '
' for non-pre containers */ function fixMarkup(value) { if (options.tabReplace) { value = value.replace(/^((<[^>]+>|\t)+)/gm, function(match, p1 /*..., offset, s*/) { return p1.replace(/\t/g, options.tabReplace); }); } if (options.useBR) { value = value.replace(/\n/g, '
'); } return value; } function buildClassName(prevClassName, currentLang, resultLang) { var language = currentLang ? aliases[currentLang] : resultLang, result = [prevClassName.trim()]; if (!prevClassName.match(/\bhljs\b/)) { result.push('hljs'); } if (prevClassName.indexOf(language) === -1) { result.push(language); } return result.join(' ').trim(); } /* Applies highlighting to a DOM node containing code. Accepts a DOM node and two optional parameters for fixMarkup. */ function highlightBlock(block) { var language = blockLanguage(block); if (isNotHighlighted(language)) return; var node; if (options.useBR) { node = document.createElementNS('http://www.w3.org/1999/xhtml', 'div'); node.innerHTML = block.innerHTML.replace(/\n/g, '').replace(//g, '\n'); } else { node = block; } var text = node.textContent; var result = language ? highlight(language, text, true) : highlightAuto(text); var originalStream = nodeStream(node); if (originalStream.length) { var resultNode = document.createElementNS('http://www.w3.org/1999/xhtml', 'div'); resultNode.innerHTML = result.value; result.value = mergeStreams(originalStream, nodeStream(resultNode), text); } result.value = fixMarkup(result.value); block.innerHTML = result.value; block.className = buildClassName(block.className, language, result.language); block.result = { language: result.language, re: result.relevance }; if (result.second_best) { block.second_best = { language: result.second_best.language, re: result.second_best.relevance }; } } var options = { classPrefix: 'hljs-', tabReplace: null, useBR: false, languages: undefined }; /* Updates highlight.js global options with values passed in the form of an object */ function configure(user_options) { options = inherit(options, user_options); } /* Applies highlighting to all
..
blocks on a page. */ function initHighlighting() { if (initHighlighting.called) return; initHighlighting.called = true; var blocks = document.querySelectorAll('pre code'); Array.prototype.forEach.call(blocks, highlightBlock); } /* Attaches highlighting to the page load event. */ function initHighlightingOnLoad() { addEventListener('DOMContentLoaded', initHighlighting, false); addEventListener('load', initHighlighting, false); } var languages = {}; var aliases = {}; function registerLanguage(name, language) { var lang = languages[name] = language(hljs); if (lang.aliases) { lang.aliases.forEach(function(alias) {aliases[alias] = name;}); } } function listLanguages() { return Object.keys(languages); } function getLanguage(name) { name = (name || '').toLowerCase(); return languages[name] || languages[aliases[name]]; } /* Interface definition */ hljs.highlight = highlight; hljs.highlightAuto = highlightAuto; hljs.fixMarkup = fixMarkup; hljs.highlightBlock = highlightBlock; hljs.configure = configure; hljs.initHighlighting = initHighlighting; hljs.initHighlightingOnLoad = initHighlightingOnLoad; hljs.registerLanguage = registerLanguage; hljs.listLanguages = listLanguages; hljs.getLanguage = getLanguage; hljs.inherit = inherit; // Common regexps hljs.IDENT_RE = '[a-zA-Z]\\w*'; hljs.UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\w*'; hljs.NUMBER_RE = '\\b\\d+(\\.\\d+)?'; hljs.C_NUMBER_RE = '(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)'; // 0x..., 0..., decimal, float hljs.BINARY_NUMBER_RE = '\\b(0b[01]+)'; // 0b... hljs.RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~'; // Common modes hljs.BACKSLASH_ESCAPE = { begin: '\\\\[\\s\\S]', relevance: 0 }; hljs.APOS_STRING_MODE = { className: 'string', begin: '\'', end: '\'', illegal: '\\n', contains: [hljs.BACKSLASH_ESCAPE] }; hljs.QUOTE_STRING_MODE = { className: 'string', begin: '"', end: '"', illegal: '\\n', contains: [hljs.BACKSLASH_ESCAPE] }; hljs.PHRASAL_WORDS_MODE = { begin: /\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/ }; hljs.COMMENT = function (begin, end, inherits) { var mode = hljs.inherit( { className: 'comment', begin: begin, end: end, contains: [] }, inherits || {} ); mode.contains.push(hljs.PHRASAL_WORDS_MODE); mode.contains.push({ className: 'doctag', begin: "(?:TODO|FIXME|NOTE|BUG|XXX):", relevance: 0 }); return mode; }; hljs.C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$'); hljs.C_BLOCK_COMMENT_MODE = hljs.COMMENT('/\\*', '\\*/'); hljs.HASH_COMMENT_MODE = hljs.COMMENT('#', '$'); hljs.NUMBER_MODE = { className: 'number', begin: hljs.NUMBER_RE, relevance: 0 }; hljs.C_NUMBER_MODE = { className: 'number', begin: hljs.C_NUMBER_RE, relevance: 0 }; hljs.BINARY_NUMBER_MODE = { className: 'number', begin: hljs.BINARY_NUMBER_RE, relevance: 0 }; hljs.CSS_NUMBER_MODE = { className: 'number', begin: hljs.NUMBER_RE + '(' + '%|em|ex|ch|rem' + '|vw|vh|vmin|vmax' + '|cm|mm|in|pt|pc|px' + '|deg|grad|rad|turn' + '|s|ms' + '|Hz|kHz' + '|dpi|dpcm|dppx' + ')?', relevance: 0 }; hljs.REGEXP_MODE = { className: 'regexp', begin: /\//, end: /\/[gimuy]*/, illegal: /\n/, contains: [ hljs.BACKSLASH_ESCAPE, { begin: /\[/, end: /\]/, relevance: 0, contains: [hljs.BACKSLASH_ESCAPE] } ] }; hljs.TITLE_MODE = { className: 'title', begin: hljs.IDENT_RE, relevance: 0 }; hljs.UNDERSCORE_TITLE_MODE = { className: 'title', begin: hljs.UNDERSCORE_IDENT_RE, relevance: 0 }; hljs.registerLanguage('bash', function(hljs) { var VAR = { className: 'variable', variants: [ {begin: /\$[\w\d#@][\w\d_]*/}, {begin: /\$\{(.*?)}/} ] }; var QUOTE_STRING = { className: 'string', begin: /"/, end: /"/, contains: [ hljs.BACKSLASH_ESCAPE, VAR, { className: 'variable', begin: /\$\(/, end: /\)/, contains: [hljs.BACKSLASH_ESCAPE] } ] }; var APOS_STRING = { className: 'string', begin: /'/, end: /'/ }; return { aliases: ['sh', 'zsh'], lexemes: /-?[a-z\.]+/, keywords: { keyword: 'if then else elif fi for while in do done case esac function', literal: 'true false', built_in: // Shell built-ins // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html 'break cd continue eval exec exit export getopts hash pwd readonly return shift test times ' + 'trap umask unset ' + // Bash built-ins 'alias bind builtin caller command declare echo enable help let local logout mapfile printf ' + 'read readarray source type typeset ulimit unalias ' + // Shell modifiers 'set shopt ' + // Zsh built-ins 'autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles ' + 'compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate ' + 'fc fg float functions getcap getln history integer jobs kill limit log noglob popd print ' + 'pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit ' + 'unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof ' + 'zpty zregexparse zsocket zstyle ztcp', operator: '-ne -eq -lt -gt -f -d -e -s -l -a' // relevance booster }, contains: [ { className: 'shebang', begin: /^#![^\n]+sh\s*$/, relevance: 10 }, { className: 'function', begin: /\w[\w\d_]*\s*\(\s*\)\s*\{/, returnBegin: true, contains: [hljs.inherit(hljs.TITLE_MODE, {begin: /\w[\w\d_]*/})], relevance: 0 }, hljs.HASH_COMMENT_MODE, hljs.NUMBER_MODE, QUOTE_STRING, APOS_STRING, VAR ] }; }); hljs.registerLanguage('css', function(hljs) { var IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*'; var FUNCTION = { className: 'function', begin: IDENT_RE + '\\(', returnBegin: true, excludeEnd: true, end: '\\(' }; var RULE = { className: 'rule', begin: /[A-Z\_\.\-]+\s*:/, returnBegin: true, end: ';', endsWithParent: true, contains: [ { className: 'attribute', begin: /\S/, end: ':', excludeEnd: true, starts: { className: 'value', endsWithParent: true, excludeEnd: true, contains: [ FUNCTION, hljs.CSS_NUMBER_MODE, hljs.QUOTE_STRING_MODE, hljs.APOS_STRING_MODE, hljs.C_BLOCK_COMMENT_MODE, { className: 'hexcolor', begin: '#[0-9A-Fa-f]+' }, { className: 'important', begin: '!important' } ] } } ] }; return { case_insensitive: true, illegal: /[=\/|'\$]/, contains: [ hljs.C_BLOCK_COMMENT_MODE, { className: 'id', begin: /\#[A-Za-z0-9_-]+/ }, { className: 'class', begin: /\.[A-Za-z0-9_-]+/ }, { className: 'attr_selector', begin: /\[/, end: /\]/, illegal: '$' }, { className: 'pseudo', begin: /:(:)?[a-zA-Z0-9\_\-\+\(\)"']+/ }, { className: 'at_rule', begin: '@(font-face|page)', lexemes: '[a-z-]+', keywords: 'font-face page' }, { className: 'at_rule', begin: '@', end: '[{;]', // at_rule eating first "{" is a good thing // because it doesn’t let it to be parsed as // a rule set but instead drops parser into // the default mode which is how it should be. contains: [ { className: 'keyword', begin: /\S+/ }, { begin: /\s/, endsWithParent: true, excludeEnd: true, relevance: 0, contains: [ FUNCTION, hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE, hljs.CSS_NUMBER_MODE ] } ] }, { className: 'tag', begin: IDENT_RE, relevance: 0 }, { className: 'rules', begin: '{', end: '}', illegal: /\S/, contains: [ hljs.C_BLOCK_COMMENT_MODE, RULE, ] } ] }; }); hljs.registerLanguage('javascript', function(hljs) { return { aliases: ['js'], keywords: { keyword: 'in of if for while finally var new function do return void else break catch ' + 'instanceof with throw case default try this switch continue typeof delete ' + 'let yield const export super debugger as async await', literal: 'true false null undefined NaN Infinity', built_in: 'eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent ' + 'encodeURI encodeURIComponent escape unescape Object Function Boolean Error ' + 'EvalError InternalError RangeError ReferenceError StopIteration SyntaxError ' + 'TypeError URIError Number Math Date String RegExp Array Float32Array ' + 'Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array ' + 'Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require ' + 'module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect ' + 'Promise' }, contains: [ { className: 'pi', relevance: 10, begin: /^\s*['"]use (strict|asm)['"]/ }, hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE, { // template string className: 'string', begin: '`', end: '`', contains: [ hljs.BACKSLASH_ESCAPE, { className: 'subst', begin: '\\$\\{', end: '\\}' } ] }, hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE, { className: 'number', variants: [ { begin: '\\b(0[bB][01]+)' }, { begin: '\\b(0[oO][0-7]+)' }, { begin: hljs.C_NUMBER_RE } ], relevance: 0 }, { // "value" container begin: '(' + hljs.RE_STARTERS_RE + '|\\b(case|return|throw)\\b)\\s*', keywords: 'return throw case', contains: [ hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE, hljs.REGEXP_MODE, { // E4X / JSX begin: /\s*[);\]]/, relevance: 0, subLanguage: 'xml' } ], relevance: 0 }, { className: 'function', beginKeywords: 'function', end: /\{/, excludeEnd: true, contains: [ hljs.inherit(hljs.TITLE_MODE, {begin: /[A-Za-z$_][0-9A-Za-z$_]*/}), { className: 'params', begin: /\(/, end: /\)/, excludeBegin: true, excludeEnd: true, contains: [ hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE ] } ], illegal: /\[|%/ }, { begin: /\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something` }, { begin: '\\.' + hljs.IDENT_RE, relevance: 0 // hack: prevents detection of keywords after dots }, // ECMAScript 6 modules import { beginKeywords: 'import', end: '[;$]', keywords: 'import from as', contains: [ hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE ] }, { // ES6 class className: 'class', beginKeywords: 'class', end: /[{;=]/, excludeEnd: true, illegal: /[:"\[\]]/, contains: [ {beginKeywords: 'extends'}, hljs.UNDERSCORE_TITLE_MODE ] } ], illegal: /#/ }; }); hljs.registerLanguage('scss', function(hljs) { var IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*'; var VARIABLE = { className: 'variable', begin: '(\\$' + IDENT_RE + ')\\b' }; var FUNCTION = { className: 'function', begin: IDENT_RE + '\\(', returnBegin: true, excludeEnd: true, end: '\\(' }; var HEXCOLOR = { className: 'hexcolor', begin: '#[0-9A-Fa-f]+' }; var DEF_INTERNALS = { className: 'attribute', begin: '[A-Z\\_\\.\\-]+', end: ':', excludeEnd: true, illegal: '[^\\s]', starts: { className: 'value', endsWithParent: true, excludeEnd: true, contains: [ FUNCTION, HEXCOLOR, hljs.CSS_NUMBER_MODE, hljs.QUOTE_STRING_MODE, hljs.APOS_STRING_MODE, hljs.C_BLOCK_COMMENT_MODE, { className: 'important', begin: '!important' } ] } }; return { case_insensitive: true, illegal: '[=/|\']', contains: [ hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE, FUNCTION, { className: 'id', begin: '\\#[A-Za-z0-9_-]+', relevance: 0 }, { className: 'class', begin: '\\.[A-Za-z0-9_-]+', relevance: 0 }, { className: 'attr_selector', begin: '\\[', end: '\\]', illegal: '$' }, { className: 'tag', // begin: IDENT_RE, end: '[,|\\s]' begin: '\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b', relevance: 0 }, { className: 'pseudo', begin: ':(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)' }, { className: 'pseudo', begin: '::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)' }, VARIABLE, { className: 'attribute', begin: '\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b', illegal: '[^\\s]' }, { className: 'value', begin: '\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b' }, { className: 'value', begin: ':', end: ';', contains: [ FUNCTION, VARIABLE, HEXCOLOR, hljs.CSS_NUMBER_MODE, hljs.QUOTE_STRING_MODE, hljs.APOS_STRING_MODE, { className: 'important', begin: '!important' } ] }, { className: 'at_rule', begin: '@', end: '[{;]', keywords: 'mixin include extend for if else each while charset import debug media page content font-face namespace warn', contains: [ FUNCTION, VARIABLE, hljs.QUOTE_STRING_MODE, hljs.APOS_STRING_MODE, HEXCOLOR, hljs.CSS_NUMBER_MODE, { className: 'preprocessor', begin: '\\s[A-Za-z0-9_.-]+', relevance: 0 } ] } ] }; }); hljs.registerLanguage('typescript', function(hljs) { var KEYWORDS = { keyword: 'in if for while finally var new function|0 do return void else break catch ' + 'instanceof with throw case default try this switch continue typeof delete ' + 'let yield const class public private get set super ' + 'static implements enum export import declare type protected @', literal: 'true false null undefined NaN Infinity', built_in: 'eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent ' + 'encodeURI encodeURIComponent escape unescape Object Function Boolean Error ' + 'EvalError InternalError RangeError ReferenceError StopIteration SyntaxError ' + 'TypeError URIError Number Math Date String RegExp Array Float32Array ' + 'Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array ' + 'Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require ' + 'module console window document any number boolean string void' }; return { aliases: ['ts'], keywords: KEYWORDS, contains: [ { className: 'pi', begin: /^\s*['"]use strict['"]/, relevance: 0 }, hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE, hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE, { className: 'number', variants: [ { begin: '\\b(0[bB][01]+)' }, { begin: '\\b(0[oO][0-7]+)' }, { begin: hljs.C_NUMBER_RE } ], relevance: 0 }, { // "value" container begin: '(' + hljs.RE_STARTERS_RE + '|\\b(case|return|throw)\\b)\\s*', keywords: 'return throw case', contains: [ hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE, hljs.REGEXP_MODE ], relevance: 0 }, { className: 'function', begin: 'function', end: /[\{;]/, excludeEnd: true, keywords: KEYWORDS, contains: [ 'self', hljs.inherit(hljs.TITLE_MODE, {begin: /[A-Za-z$_][0-9A-Za-z$_]*/}), { className: 'params', begin: /\(/, end: /\)/, excludeBegin: true, excludeEnd: true, keywords: KEYWORDS, contains: [ hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE ], illegal: /["'\(]/ } ], illegal: /\[|%/, relevance: 0 // () => {} is more typical in TypeScript }, { className: 'constructor', beginKeywords: 'constructor', end: /\{/, excludeEnd: true, relevance: 10 }, { className: 'module', beginKeywords: 'module', end: /\{/, excludeEnd: true }, { className: 'interface', beginKeywords: 'interface', end: /\{/, excludeEnd: true, keywords: 'interface extends' }, // MH ADDED: ES7 Decorators/Annotations { className: 'keyword', begin: '@', end: /\(/, excludeEnd: true }, { className: 'string', begin: '`', end: /\`/, excludeEnd: false }, { begin: /\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something` }, { begin: '\\.' + hljs.IDENT_RE, relevance: 0 // hack: prevents detection of keywords after dots } ] }; }); hljs.registerLanguage('xml', function(hljs) { var XML_IDENT_RE = '[A-Za-z0-9\\._:-]+'; var PHP = { begin: /<\?(php)?(?!\w)/, end: /\?>/, subLanguage: 'php' }; var TAG_INTERNALS = { endsWithParent: true, illegal: /]+/} ] } ] } ] }; return { aliases: ['html', 'xhtml', 'rss', 'atom', 'xsl', 'plist'], case_insensitive: true, contains: [ { className: 'doctype', begin: '', relevance: 10, contains: [{begin: '\\[', end: '\\]'}] }, hljs.COMMENT( '', { relevance: 10 } ), { className: 'cdata', begin: '<\\!\\[CDATA\\[', end: '\\]\\]>', relevance: 10 }, { className: 'tag', /* The lookahead pattern (?=...) ensures that 'begin' only matches '|$)', end: '>', keywords: {title: 'style'}, contains: [TAG_INTERNALS], starts: { end: '', returnEnd: true, subLanguage: 'css' } }, { className: 'tag', // See the comment in the Card Subtitle Card Title Here's a small text description for the card content. Nothing more, nothing less. Action `, }, lists: { lang: 'html', display: `

{{album.title}}

{{album.artist}}, {{album.year}}

`, src: `

Beast Epic

Iron & Wine, 2017

Good At Falling

The Japanese House, 2019

Hallucinogen

Kelela, 2015

22, A Million

Bon Iver, 2016

4 Walls

f(x), 2015

`, }, actionSheet: { lang: 'js', display: `@Component({ selector: 'app-home', template: \` Show Action Sheet \`, }) export class HomePage { constructor( private actionSheetCtrl: ActionSheetController ) {} showActionSheet() { this.actionSheetCtrl .create({...}) .then((actionSheet) => { actionSheet.present(); }); } }`, src: ` Open Action Sheet `, }, }; } ================================================ FILE: assets/stencil/components/app-wizard/app-wizard.scss ================================================ ionic-app-wizard { width: 100%; } #app-wizard { height: 100%; display: grid; grid-template-rows: auto 1fr; .form-area { width: 100%; max-width: 400px; margin: 0 auto; } hgroup { text-align: center; margin-bottom: 32px; h2 { font-size: 32px; line-height: 22px; letter-spacing: -0.03em; } p { font-weight: normal; font-size: 18px; letter-spacing: -0.02em; margin-top: 16px; color: #414D5C; } } button ion-icon { vertical-align: middle; margin-top: -1px } label { font-size: 12px; line-height: 15px; font-weight: normal; color: var(--c-carbon-200); margin-bottom: 14px; } ui-floating-input { margin-bottom: 25px; } .next-button-wrapper { margin-top: 20px; } .app-icon-group { display: grid; grid-template-columns: 96px 1fr; column-gap: 56px; margin-bottom: 15px; input[type="file"] { visibility: hidden; width: 0; } .app-icon-wrapper { width: 96px; height: 96px; min-width: 96px; min-height: 96px; .app-icon-dropping-icon { display: none; color: white; svg { fill: white; stroke: white; } } &.app-icon-dropping { border: 2px solid var(--c-blue-800); border-radius: 32px; padding: 2px; justify-content: center; align-items: center; position: relative; .app-icon-dropping-wrapper { position: absolute; left: 0; top: 0; width: 100%; height: 100%; border-radius: 32px; background-color: rgba(255, 255, 255, 0.4); display: flex; justify-content: center; align-items: center; z-index: 2; } .app-icon-dropping-icon { display: block; background-color: var(--c-blue-800); border-radius: 10px; display: flex; justify-content: center; align-items: center; width: 32px; height: 32px; font-size: 22px; color: white; } .app-icon-hover { display: none; } .app-icon { border-radius: 28px; width: 88px; height: 88px; min-width: 88px; min-height: 88px; .app-icon-image { width: 58px; height: 58px; } } } } .app-icon { width: 96px; height: 96px; min-width: 96px; min-height: 96px; position: relative; border-radius: 32px; display: flex; justify-content: center; align-items: center; font-size: 64px; user-select: none; margin-bottom: 12px; .app-icon-hover { display: none; position: absolute; width: 100%; height: 100%; border-radius: inherit; z-index: 2; top: 0; left: 0; background: rgba(0,0,0,0.3); color: white; align-items: flex-end; justify-content: center; } .app-icon-hover-icons { display: grid; grid-template-columns: 1fr 1fr; column-gap: 14px; margin-bottom: 4px; font-size: 26px; justify-content: center; align-items: center; color: var(--c-grey-300); .icon { text-align: center; svg { stroke: var(--c-grey-300); } } .icon:hover { cursor: pointer; svg { stroke: white; } } } &:hover { .app-icon-hover { display: flex; } } .app-icon-image { width: 64px; height: 64px; } .app-icon-image-uploaded { background-size: 100%; width: 96px; height: 96px; border-radius: 32px; } } .app-icon-upload { flex: 1; display: flex; overflow: hidden; flex-direction: column; justify-content: center; padding: 16px; } } .info-circle { font-size: 16px; vertical-align: middle; margin-left: 4px; } .finish { text-align: center; hgroup { margin: 76px 0 24px 0; .icon { font-size: 36px; margin-bottom: 8px; } } .creating-app { code { display: flex; justify-content: center; align-items: center; height: 65px; text-align: center; } } pre { text-align: left; background: #0E151F; border-radius: 6px; border: none; padding: 0px 16px; color: white; width: 400px; margin: auto; code { border: none; font-size: 16px } } .info { margin-top: 12px; margin-bottom: 16px; } hr { width: 50%; margin: 50px auto 0; } .social { max-width: 80%; margin: auto; margin-top: 16px; display: flex; column-gap: 16px; justify-content: center; } } .frameworks { user-select: none; .framework { text-align: center; &.soon { opacity: 0.5; cursor: not-allowed; } } .framework-logo { background: url('/img/start/js-framework-sprite.png') no-repeat transparent; background-size: 56px; margin: 15px auto; width: 56px; height: 56px; } .framework-angular { background-position: 0 -56px; } .framework-react { background-position: 0 -168px; } .framework-vue { background-position: 0 -280px; } .selected { border: 2px solid #3880FF !important; h5 { color: #4D8DFF; } .framework-angular { background-position: 0 0; } .framework-react { background-position: 0 -112px; } .framework-vue { background-position: 0 -224px; } } } .themes { display: grid; grid-template-columns: repeat(auto-fit, minmax(34px, 1fr)); column-gap: 5px; row-gap: 5px; align-items: center; margin-bottom: 16px; user-select: none; .theme { width: 34px; height: 34px; line-height: 34px; text-align: center; border-radius: 100%; user-select: none; opacity: 0.6; cursor: pointer; &.selected { opacity: 1; svg { vertical-align: middle; margin-top: -1px; } } &.pick-theme { position: relative; margin-top: -2px; margin-left: -2px; width: 38px; height: 38px; border: 2px solid #E9EDF3; padding: 0; color: #5B708B; font-size: 20px; text-align: center; ion-icon { vertical-align: middle; margin-top: -2px; } .color-picker { position: absolute; left: 0; visibility: collapse; bottom: 10px; } } } } .templates { display: grid; grid-template-columns: repeat(auto-fit, 120px); column-gap: 10px; row-gap: 10px; justify-content: space-between; .template { flex-shrink: 1; cursor: pointer; &.selected { .template-image { border: 2px solid #3880FF !important; } h5 { color: #4D8DFF; } } .template-image { background-size: 100%; background-color: transparent; margin: auto; width: 120px; height: 140px; border-radius: 8px; border: 2px solid transparent; box-shadow: 0px 2px 4px rgba(0, 13, 36, 0.04), 0px 2px 8px rgba(0, 13, 36, 0.1); } .template-tabs { background-image: url('/img/start/starter-template-tabs.png'); } .template-sidemenu { background-image: url('/img/start/starter-template-menu.png'); } .template-list { background-image: url('/img/start/starter-template-list.png'); } &:first-child { margin-left: 0; } &:last-child { margin-right: 0; } h5 { text-transform: uppercase; font-weight: 600; font-size: 9px; line-height: 11px; text-align: center; letter-spacing: 0.1em; } } } .frameworks { display: flex; grid-template-columns: repeat(auto-fit, 120px); column-gap: 10px; row-gap: 10px; justify-content: space-between; .framework { flex: 0; min-width: 120px; cursor: pointer; height: 120px; border-radius: 8px; border: 2px solid transparent; box-shadow: 0px 2px 4px rgba(0, 13, 36, 0.04), 0px 2px 8px rgba(0, 13, 36, 0.1); font-size: 14px; h5 { font-size: 14px; font-weight: normal; letter-spacing: -0.01em; } &:first-child { margin-left: 0; } &:last-child { margin-right: 0; } } } @media screen and (max-width: 480px) { .notice { position: static; border: 0; } .wrapper { max-width: 100%; margin: 0; padding: 16px; } .form { padding: 0; } .templates { flex-wrap: wrap; justify-content: flex-start; .template { flex-grow: 0; } } .frameworks { flex-wrap: wrap; justify-content: flex-start; .framework { flex-grow: 0; } } .finish { pre { width: 100%; code { font-size: 13px; } } hgroup { margin-top: 32px; .icon { font-size: 24px; } h2 { font-size: 28px; } } } } } ================================================ FILE: assets/stencil/components/app-wizard/app-wizard.tsx ================================================ import { Component, State, h, Listen, Element } from '@stencil/core'; import { getUser } from '../../util/auth'; import { identify, trackEvent } from '../../util/hubspot'; import { getUtmParams } from '../../util/analytics'; import { UserInfo } from '../../declarations'; import { Emoji } from '../emoji-picker/emoji-picker'; import { generateAppIconForThemeAndEmoji, generateAppIconForThemeAndImage } from '../../util/app-icon'; const TEMPLATES = [ { name: 'Tabs', id: 'tabs' }, { name: 'Menu', id: 'sidemenu' }, { name: 'List', id: 'list' }, ]; const FRAMEWORKS = [ { name: 'React', id: 'react' }, { name: 'Angular', id: 'angular' }, { name: 'Vue', id: 'vue' }, ] const THEMES = [ '#3880FF', // blue '#5260ff', // purple '#2dd36f', // green '#ffc409', // yellow '#eb445a', // red '#f4f5f8', // light '#92949c', // medium '#222428', // dark ] declare var window: any; const emojiSvg = image => `https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/svg/${image}.svg`; @Component({ tag: 'ionic-app-wizard', styleUrl: 'app-wizard.scss', shadow: false }) export class AppWizard { @Element() el; STEPS = [ { name: 'Create app', id: 'basics' }, { name: 'Account', id: 'profile' }, { name: 'Finish', id: 'finish' } ] STEP_BASICS = 0; STEP_PROFILE = 1; STEP_FINISH = 2; @State() step = this.STEP_BASICS; @State() showSignup = true; @State() loginErrors = null; @State() creatingApp = false; @State() user: UserInfo; @State() authParams: URLSearchParams; // The current appId from the server appId: string; // Color picker ref colorPickerRef: HTMLInputElement; // Reference to the basic form for validation submitButtonWrapRef: HTMLDivElement; getRandomEmoji(): Emoji { const emoji = [ '1f60b', // yum '1f601', // grin '1f60e', // shades '1f61c', // '1f929', // starstruck '1f604', // smile '1f603', // smiley '1f973', // party ].map(i => ({ image: i })); return emoji[Math.floor(Math.random() * emoji.length)]; } @State() selectedEmoji: Emoji = this.getRandomEmoji(); @State() showEmojiPicker = false; @State() emojiPickerEvent: MouseEvent = null; @State() isAppIconDropping = false; @State() appIconUploadError = ''; // Form state @State() authenticating = false; @State() theme = THEMES[0]; @State() appName = ''; @State() framework = 'react'; @State() template = 'tabs'; @State() bundleId = ''; @State() appUrl = ''; @State() appIcon: string; async componentDidLoad() { const params = new URLSearchParams(window.location.hash.slice(1)); this.authParams = new URLSearchParams(window.location.search); if (params.has('state')) { this.appId = params.get('state'); } else if (params.has('pwa')) { window.location.hash = ''; trackEvent({id: 'Starting_PWA_Wizard'}); } else if (params.has('vue')) { this.framework = 'vue'; window.location.hash = ''; trackEvent({id: 'Starting_Vue_Wizard'}); } const stayOnFinish = params.has('finish'); if (this.appId) { this.finish(stayOnFinish); } else { this.setStep(this.STEP_BASICS); } try { // Get the user to see if they are logged in this.user = await getUser(); } catch (e) { } } @Listen('popstate', { target: 'window' }) handlePopState(e) { if (e.state) { const step = e.state.step; this.step = step || 0; } } setStep = (step) => { this.step = step; let hash = this.STEPS[this.step].id; history.pushState({ step: this.step }, null, `#${hash}`); } authorize = () => { const currentOrigin = window.location.origin.toLowerCase(); const urlBase = currentOrigin.indexOf("staging.ionicframework.com") > -1 ? "https://staging.ionic.io" : currentOrigin.indexOf("ionicframework.com") > -1 ? "https://ionic.io" : "http://localhost:5001"; if (this.authParams.get('client_id') !== 'cli') { const params = new URLSearchParams(); params.set("scope", "openid profile email"); params.set("response_type", "id_token token"); params.set("client_id", "wizard"); params.set("redirect_uri", window.location.origin + '/start') params.set("state", this.appId || ''); params.set("nonce", Math.random().toString(36).substring(2)); params.set("source", "wizard-1"); window.location.assign(`${urlBase}/signup?${params.toString()}`); } else { const path = this.user ? 'oauth/authorize' : 'signup'; this.authParams.set("state", this.appId || ''); this.authParams.set("source", "cli-start-wizard"); window.location.assign(`${urlBase}/${path}?${this.authParams.toString()}`); } }; finish = (stayOnFinish = false) => { if (this.user) { identify(this.user.email, this.user.sub); } trackEvent({ id: 'Start Wizard Finish' }); if(stayOnFinish) { this.setStep(this.STEPS.length - 1); } else { const currentOrigin = window.location.origin.toLowerCase(); let urlBase = currentOrigin.indexOf('staging.ionicframework.com') > -1 ? 'https://staging.ionicjs.com' : currentOrigin.indexOf('ionicframework.com') > -1 ? 'https://dashboard.ionicframework.com' : 'http://localhost:8080' window.location.href = `${urlBase}/create-app/${this.appId}` } }; basicsNext = async (e?) => { e?.preventDefault(); e?.stopPropagation(); try { this.creatingApp = true; const created = await this.save(); if (!created) { alert('Unable to create app, please ping us on Twitter and try the manual install below.'); this.setStep(this.STEP_BASICS); return; } if (this.user && this.authParams.get('client_id') !== 'cli') { this.finish(); } else { this.authorize(); } } catch (e) { try { const data = JSON.parse(e.message); if (data.type === 'too-large') { alert('Unable to create app, your icon image is too large. Try a smaller filesize or add it manually later'); } else { alert('Unable to create app, please ping us on Twitter and try the manual install below.'); } } catch(e) { alert('Unable to create app, please ping us on Twitter and try the manual install below.'); } } finally { this.creatingApp = false; } } save = async () => { let iconImage; let splash; if (!this.appIcon && this.selectedEmoji) { const emoji = this.selectedEmoji; let emojiImage = emoji.image.replace('.png', ''); const emojiSplit = emojiImage.split('-'); let emojiImageName = emojiImage; if (emojiSplit.length === 2 && emojiSplit[1] === 'fe0f') { emojiImageName = emojiImage.replace('-fe0f', ''); } const emojiImageUrl = emojiSvg(emojiImageName); const renderedAppIcon = await generateAppIconForThemeAndEmoji(this.theme, emojiImageUrl, 1024, 768); const renderedSplashScreen = await generateAppIconForThemeAndEmoji(this.theme, emojiImageUrl, 2732, 512); iconImage = renderedAppIcon; splash = renderedSplashScreen; } else { const renderedSplashScreen = await generateAppIconForThemeAndImage(this.theme, this.appIcon, 2732, 512); iconImage = this.appIcon; splash = renderedSplashScreen; } const res = await fetch('/api/v1/wizard/create', { body: JSON.stringify({ type: this.framework, 'package-id': this.bundleId, tid: this.getHubspotId(), email: this.user?.email, appId: this.appId, template: this.template, name: this.appName, theme: this.theme, appSplash: splash, appIcon: iconImage, utm: getUtmParams() }), method: 'POST', headers: { 'Content-Type': 'application/json' } }); if (res.status === 413) { throw new Error(JSON.stringify({ type: 'too-large' })); } if (res.status !== 201) { throw new Error(JSON.stringify({ type: 'error' })); } const data = await res.json(); this.appId = data.appId; return data; } getApp = async () => { const res = await fetch(`/api/v1/wizard/app/${this.getHubspotId()}`); return await res.json(); } getHubspotId = () => { return window.getCookie('hubspotutk'); } handlePickEmoji = (e) => { this.selectedEmoji = e.detail as Emoji; this.appIcon = null; this.showEmojiPicker = false; } handlePickTheme = (_e) => { const colorPicker = this.el.querySelector('input[type="color"]'); colorPicker && colorPicker.click(); } handleInput = (fieldName) => e => { this[fieldName] = e.target.value; }; setAppIconFromFile = (file: File) => { const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => { const img = new Image(); img.src = reader.result as string; img.onload = () => { if (img.width < 1024 || img.height < 1024) { alert('Icon size must be at least 1024x1024'); } else { this.selectedEmoji = null; this.appIcon = reader.result as string; } } } reader.onerror = () => { this.appIconUploadError = 'Unable to read file'; } } handleAppIconChoose = (e) => { if (e.target.files.length) { const file = e.target.files[0]; if (file.size > 1024 * 800) { this.appIconUploadError = 'Image must be < 800KB'; return; } this.setAppIconFromFile(file); } } handleAppIconDragOver = (e: DragEvent) => { this.isAppIconDropping = true; e.dataTransfer.dropEffect = 'copy'; e.preventDefault(); } handleAppIconDragOut = (_e) => { this.isAppIconDropping = false; } handleAppIconDrop = (e: DragEvent) => { e.preventDefault(); this.isAppIconDropping = false; if (e.dataTransfer.files) { const file = e.dataTransfer.files[0]; if (file.size > 1024 * 800) { this.appIconUploadError = 'Image must be < 800KB'; return; } this.setAppIconFromFile(file); } } handleRootDragOver = (e: DragEvent) => { e.preventDefault(); return false; }; handleRootDrop = (e: DragEvent) => { e.preventDefault(); return false; }; renderBasics() { const { showEmojiPicker, creatingApp } = this; let buttonText; if (creatingApp) { buttonText = ; } else if (this.user) { buttonText = Create App; } else { buttonText = Continue {'->'}; } return (

Welcome to Ionic

Let's start your first app

{ this.showEmojiPicker = true; this.emojiPickerEvent = e }} onChooseFile={this.handleAppIconChoose} isDropping={this.isAppIconDropping} onDragOver={this.handleAppIconDragOver} onDragLeave={this.handleAppIconDragOut} onDrop={this.handleAppIconDrop} />
this.showEmojiPicker = false} />
this.theme = theme} onPick={this.handlePickTheme} />
this.template = tmpl} />
{ this.framework = framework; }} />
this.submitButtonWrapRef = e} class="next-button-wrapper">
) } renderFinish() { const instructions = ` npm install -g @ionic/cli cordova-res ionic start --start-id ${this.appId} `; document.querySelector('.header__feedback').classList.add('is-visible'); return (
🎉

You're all set

Run this to see your amazing new app:

{instructions}
Requires @ionic/cli 6.5.0 or above
Need help? See the full installation guide

) } renderStep() { switch (this.step) { case this.STEP_BASICS: return this.renderBasics(); case this.STEP_PROFILE: return null; case this.STEP_FINISH: return this.renderFinish(); } } render() { return (
{this.step < 2 ? ( s.name).join()} index={this.step} /> ) : null}
{this.renderStep()}
Prefer to install manually?
Follow our CLI installation guide
); } } const Button = (props, children) => ( ); const AppIcon = ({ img, emoji, theme, onChooseEmoji, isDropping, onChooseFile, onDragOver, onDragLeave, onDrop }) => { const bgColor = img ? 'transparent': theme; let bgImage; if (emoji) { let emojiImage = emoji.image.replace('.png', ''); const imageSplit = emojiImage.split('-'); // For some reason we need to remove fe0f from images that just have it // as blah-fe0f since those aren't named as such in the twemoji database if (imageSplit.length == 2 && imageSplit[1] === 'fe0f') { emojiImage = emojiImage.replace('-fe0f', ''); } bgImage = `url('${emojiSvg(emojiImage)}')`; } else { bgImage = `url(${img})`; } return (
(document.querySelector('#file-app-icon') as HTMLInputElement).click()} title="Pick file">
) }; const ThemeSwitcher = ({ value, onChange, onPick }) => { const themes = [ ...THEMES, !THEMES.find(t => t === value) ? value : null ].filter(t => !!t); return (
{themes.map(t => (
onChange(t)}> { value === t ? ( ) : null}
))}
onPick()} > onChange(e.currentTarget.value) } />
) } const FrameworkSwitcher = ({ value, onChange }) => (
{FRAMEWORKS.map(f => (
onChange(f.id)}> ))}
); const TemplateSwitcher = ({ value, onChange }) => (
{TEMPLATES.map(f => (
onChange(f.id)}>
{f.name}
))}
); const InfoCircle = () => ( ); ================================================ FILE: assets/stencil/components/auth-connect-promo/auth-connect-promo.scss ================================================ @use '../../vars' as var; //#region -------------------------------- ANIMATIONS ------------------------------------ @keyframes fadeOut { 0% { opacity: 1; z-index:1; } 100% { opacity: 0; z-index: -1; } } @keyframes fadeInOut { 0% { opacity: 0; z-index:1; } 17% { opacity: 1; z-index:1; } 83% { opacity: 1; z-index: 1; } 99% { opacity: 0; z-index: -1; } } @keyframes bringToFront { from { z-index:1; } to { z-index: 1043; } } // #endregion -------------------------------------------------------------------- $timing: cubic-bezier(.23,.87,.62,.96); ::slotted(#player) { opacity: 0; border-radius: 16px; } :host { width: var(--width); height: var(--height); &.expanded { .wrapper { --scale-x: 1 !important; --scale-y: 1 !important; z-index: 1041; .video { opacity: 1; transition: all .3s $timing; .standin { animation: fadeInOut 1.8s $timing 0s forwards; position: absolute; background: white; } } .subtitle { opacity: 0; transition: opacity .3s $timing 0s; } } .overlay { z-index: 1041; .transparent-circles { opacity: 0; transition: all .3s $timing; } .play-circle { transition: opacity .3s $timing 1.2s; z-index: 1042; opacity: 0; } .blur { z-index: -1; border-radius: 16px; backdrop-filter: unset; animation: fadeOut .3s $timing .6s forwards; } &.played { .transparent-circles, .play-circle { transition: all .3s $timing; z-index: -1; } } } ::slotted(#player) { z-index: 1; opacity: 1; transition: all .3s $timing .9s; animation: bringToFront .3s $timing 1.2s forwards; } } } .wrapper { z-index: 0; position: absolute; top: var(--top); left: var(--left); // width: var(--width); // height: var(--height); transition: top .3s $timing, left .3s $timing, width .3s $timing, height .3s $timing; .video { opacity:0; transition: all .3s $timing; position: absolute; transform: scale(var(--scale-x), var(--scale-y)); height: 100%; width: 100%; .standin { opacity: 0; animation: fadeOut .3s $timing forwards; transition: all .3s $timing; z-index: -1; border-radius: 16px; position: absolute; width: 100%; height: 100%; } } } svg { display: block; } .overlay { display: flex; align-items: center; justify-content: center; opacity: 1; .blur { border-radius: 32px; transform: scale(var(--scale-x), var(--scale-y)); backdrop-filter: blur(60px); box-shadow: 0px 16px 32px rgba(2, 8, 20, 0.08), 0px 8px 16px rgba(2, 8, 20, 0.08); transition: all .3s $timing; } // &.pop-in { // opacity: 1; // transform: scale3d(1, 1, 1); // transition: all 1s $timing; // .blur { // // backdrop-filter: blur(60px); // // transition: all .3s $timing 1s; // } // .subtitle { // opacity: 1; // transition: opacity 1s $timing .5s; // } // } } .big-circle { position: absolute; } .small-circle { position: absolute; } .transparent-circles { display: flex; align-items: center; justify-content: center; position: absolute; } .play-circle { position: absolute; display: flex; align-items: center; justify-content: center; cursor: pointer; .outer-circle { filter: drop-shadow(0px 8px 16px rgba(2, 8, 20, 0.08)) drop-shadow(0px 4px 8px rgba(2, 8, 20, 0.08)); } .play { position: absolute; transform: translateX(3px); transition: all .3s $timing; path{ transition: all .3s $timing; } } &:hover { .play { transition: all .3s $timing; transform: translateX(3px) scale(1.02); filter: drop-shadow(0px 8px 16px rgba(2, 8, 20, 0.08)) drop-shadow(0px 4px 8px rgba(2, 8, 20, 0.08)); path{ transition: all .3s $timing; fill: #00e8c0; } } } } .subtitle { text-transform: uppercase; letter-spacing: 0.16em; font-weight: bold; font-size: 12px; line-height: 112%; font-family: var.$font-family-mono; position: absolute; color: #445B78; opacity: 1; transition: opacity .6s $timing .3s; &.toggle { opacity: 0; transition: opacity .1s $timing; } } ================================================ FILE: assets/stencil/components/auth-connect-promo/auth-connect-promo.tsx ================================================ import { Component, Host, h, State, Listen } from '@stencil/core'; @Component({ tag: 'auth-connect-promo', styleUrl: 'auth-connect-promo.scss', scoped: true }) export class AuthConnectPromo { private backdropEl: HTMLElement; private overlayEl: HTMLElement; private container: { width: number, height: number } private overlay = { origin: { width: 396, height: 240 }, width: 396, height: 240, } private aspectRatio = { x: 16, y: 9, } private gutter = 15; private previousCoordinates: { left: number, top: number } private scaleRatio: { x: number, y: number }; private fullSize: { width: number, height: number }; private smallScreen: boolean; @State() coordinates: { left: number, top: number }; @State() expanded = false; componentWillLoad() { this.sequence(); } sequence() { this.getContainer(); this.checkScreenSize(); this.getFullSizeDimensions(); this.getCoordinates(); this.getScale(); } getContainer = () => { const container = document.body.querySelector('.top.container') as HTMLElement; this.container = { width: container.offsetWidth, height: container.offsetHeight } } checkScreenSize() { this.smallScreen = window.innerWidth < 992; if (this.container.width < this.overlay.origin.width) { this.overlay.width = this.container.width; } else { this.overlay.width = this.overlay.origin.width; } } getCoordinates = () => { const { expanded, smallScreen, fullSize } = this; if (expanded) { this.coordinates = { left: (window.innerWidth - fullSize.width) / 2 + window.scrollX, top: (window.innerHeight - fullSize.height) / 2 + window.scrollY, } return; } if (smallScreen) { const { left, top, height } = document.querySelector('#dummy-element').getBoundingClientRect(); const leftVal = left + this.overlay.width / 2 - (this.fullSize.width / 2) const topVal = top + (height / 2) - (this.fullSize.height / 2) this.coordinates = { left: leftVal + window.scrollX - this.gutter, top: topVal + window.scrollY, } this.previousCoordinates = this.coordinates; return; } const { left, top, width, height } = document.querySelector('.spinner').getBoundingClientRect(); const leftVal = left + (width / 2) - (this.fullSize.width / 2) const topVal = top + (height / 2) - (this.fullSize.height / 2) this.coordinates = { left: leftVal + window.scrollX, top: topVal + window.scrollY, } this.previousCoordinates = this.coordinates; } getScale = () => { const { fullSize, overlay } = this; this.scaleRatio = { x: overlay.width / fullSize.width, y: overlay.height / fullSize.height } } handlePlay = () => { setTimeout(() => { this.overlayEl.classList.add("played"); }, 1200) document.body.classList.add("no-scroll"); this.backdropEl.classList.add("modal-backdrop"); this.backdropEl.classList.add("in"); this.expanded = true; this.coordinates = { left: (window.innerWidth - this.fullSize.width) / 2 + window.scrollX, top: (window.innerHeight - this.fullSize.height) / 2 + window.scrollY, } } getFullSizeDimensions = () => { const { aspectRatio, gutter } = this; const ratio = aspectRatio.x / aspectRatio.y; const ratioInverse = aspectRatio.y / aspectRatio.x; if (window.innerWidth * aspectRatio.y >= window.innerHeight * aspectRatio.x) { const height = window.innerHeight * ratio >= this.container.width ? this.container.width * ratioInverse : window.innerHeight; this.fullSize = { width: (height - gutter * 2) * ratio, height: height - (gutter * 2) } } else { // let widthRounded = Math.round(this.container.width); // let heightRounded = Math.round(this.container.height); // let deviance = widthRounded / heightRounded - ratio; // if (deviance > .1 || deviance < -.1) { // console.log("got here", deviance); // } // while(deviance > .2 || deviance < -.2) { // widthRounded - 1; // deviance = widthRounded / heightRounded - ratio; // } this.fullSize = { width: this.container.width, height: this.container.width * ratioInverse, } } } handleExit = () => { this.overlayEl.classList.remove("played"); document.body.classList.remove('no-scroll'); this.backdropEl.classList.remove("modal-backdrop"); this.backdropEl.classList.remove("in"); this.expanded = false; this.coordinates = this.previousCoordinates; this.getCoordinates(); } @Listen('resize', { target: 'window'}) updateItemOffsets() { requestAnimationFrame(() => { this.sequence(); }) } render() { const { coordinates, fullSize, scaleRatio, expanded } = this; return (
{this.backdropEl = e}} class="fade" onClick={() => this.handleExit()}>
this.overlayEl = e}>
{}}>

See how Auth Connect works

) } } ================================================ FILE: assets/stencil/components/bar-chart/bar-chart.scss ================================================ @import '../../vars'; bar-chart { fill: currentColor; // important necessary to override attr vals path.c3-bar { &:nth-child(1), &:nth-child(2) { fill: url(#blue-gradient) !important; stroke: url(#blue-gradient) !important; } } text.c3-text { &:nth-child(1), &:nth-child(2) { fill: #3780FF !important; } } &[color="pink"] { path.c3-bar { &:nth-child(1), &:nth-child(2) { fill: url(#pink-gradient) !important; stroke: url(#pink-gradient) !important; } } text.c3-text { &:nth-child(1), &:nth-child(2) { fill: #F37BAB !important; } } } &[color="blue"] { path.c3-bar { &:nth-child(1), &:nth-child(2) { fill: url(#blue-gradient) !important; stroke: url(#blue-gradient) !important; } } text.c3-text { &:nth-child(1), &:nth-child(2) { fill: #3780FF !important; } } } &[color="yellow"] { path.c3-bar { &:nth-child(1), &:nth-child(2) { fill: url(#yellow-gradient) !important; stroke: url(#yellow-gradient) !important; } } text.c3-text { &:nth-child(1), &:nth-child(2) { fill: #F7D443 !important; } } } &[color="green"] { path.c3-bar { &:nth-child(1), &:nth-child(2) { fill: url(#green-gradient) !important; stroke: url(#green-gradient) !important; } } text.c3-text { &:nth-child(1), &:nth-child(2) { fill: #3EED5B !important; } } } } ================================================ FILE: assets/stencil/components/bar-chart/bar-chart.tsx ================================================ import { Component, Element, Prop } from '@stencil/core'; import c3 from 'c3'; @Component({ tag: 'bar-chart', styleUrl: 'bar-chart.scss', shadow: false }) export class BarChart { @Prop() graphData: string | object = {}; @Prop() color: string = 'blue'; @Element() el; data = {}; defaultColor = '#73849A'; barChartGradients = ` ` componentWillLoad() { const gradientsExist = !!document.getElementById('bar-chart-gradients'); if (!gradientsExist) { // add hidden SVG of gradient defs if it doesn't exist yet const parser = new DOMParser(); const $svg = parser.parseFromString(this.barChartGradients, 'text/html'); document.body.appendChild($svg.body); } this.data = typeof this.graphData === 'string' ? JSON.parse(this.graphData) : this.graphData; var data = Object.keys(this.data).map((k) => { return {label: k, value: this.data[k]}; }); const bars = ['data1'].concat(data.map(function(bar) { return bar.value; })); const labels = data.map(function(bar) { return bar.label; }); c3.generate({ bindto: this.el, data: { columns: [ bars ], type: 'bar', labels: { show: true, format: function(v) { return v + '%'; } }, colors: { data1: this.defaultColor }, }, padding: { left: 218, }, size: { height: 37 * labels.length }, bar: { width: { ratio: 0.3 // bar height } }, axis: { rotated: true, x: { type: 'category', categories: labels, tick: { multiline: false, outer: true, }, height: 50, width: 200 }, y: { show: false } }, legend: { show: false }, tooltip: { show: false } }); } render() { return; } } ================================================ FILE: assets/stencil/components/ebook-switcher/bookData.json ================================================ { "hybrid-vs-native": { "title": "Hybrid vs. Native", "image": { "url": "https://images.prismic.io/ionicframeworkcom/dc70a9c1-eb1f-4e1a-8a89-ab6db635caba_book-hybrid-vs-native%402x.png?auto=compress,format", "alt": "Hybrid vs Native book cover" }, "text": { "normal": "Learn the differences between hybrid and native apps.", "bold": "We break down all the myths and misconceptions." }, "formId": "8883f3dd-d97c-4719-aaef-4132038af0c1" }, "evaluating-ionic-enterprise": { "title": "Evaluating Ionic for Enterprise Development", "image": { "url": "https://images.prismic.io/ionicframeworkcom/f8a4747c-e37c-420d-99dd-e1ceec5b1711_book-enterprise-development%402x.png?auto=compress,format", "alt": "Evaluating ionic enterprise book cover" }, "text": { "normal": "Get all the facts you need to make the right decision.", "bold": "We wrote a guide on everything you need to know." }, "formId": "7419f80f-b2f7-42d7-bfd6-167f9a347017" }, "architects-guide-to-pwas": { "title": "The Architect's Guide to Progressive Web Apps", "image": { "url": "https://images.prismic.io/ionicframeworkcom/f2657363-ef33-4534-b248-6b3cee69489a_book-progressive-web-apps%402x.png?auto=compress,format", "alt": "architects guide to pwas book cover" }, "text": { "normal": "See how PWAs can boost your app strategy —", "bold": "and what you need to know to get started today." }, "formId": "504e0e0c-29f0-4234-8853-61110a01a2ef" }, "cross-platform-apps-with-capacitor": { "title": "Building Cross-platform apps with Capacitor", "image": { "url": "https://images.prismic.io/ionicframeworkcom/75a55ef6-8230-4c25-8eff-09337e4002ec_book-cross-platform-capacitor%402x.png?auto=compress,format", "alt": "cross-platform apps with capacitor book cover" }, "text": { "normal": "See when and why to use Capacitor to build cross-platform apps.", "bold": "We wrote a guide to help you get started." }, "formId": "9151dc0b-42d9-479f-b7b8-649e0e7bd1bc" }, "solving-mobile-cicd-with-appflow": { "title": "Solving Mobile CI/CD with Appflow", "image": { "url": "https://images.prismic.io/ionicframeworkcom/3f5d25ef-2a7b-495f-bcfb-b9066a2025af_book-appflow-cicd%402x.png?auto=compress,format", "alt": "solving mobile ci/cd with appflow book cover" }, "text": { "normal": "Setting up a CI/CD pipeline for mobile is no simple task.", "bold": "Learn how Appflow makes it easy." }, "formId": "635cf145-8698-40f9-9192-405ed130ad8a" } } ================================================ FILE: assets/stencil/components/ebook-switcher/ebook-switcher.scss ================================================ @import '../../vars'; ebook-switcher { .wrapper { display: flex; border-radius: 32px; overflow: hidden; border: 1px solid #e9edf3; background: linear-gradient(180deg, #0d2e55 0%, #001a3a 100%); @media (max-width: $screen-xs-max) { flex-direction: column-reverse; .image-wrapper-inner { top: 0; margin-block-end: -18.25rem; } } > * { flex-basis: 50%; min-width: 0; } } .image-wrapper { .dots-wrapper { position: relative; width: fit-content; margin-inline-start: auto; margin-inline-end: auto; [class*=dots] { position: absolute; } .dots-1 { top: -16px; left: -72px; } .dots-2 { top: 160px; right: -72px; } } &-inner { overflow: hidden; width: fit-content; position: relative; margin-block-end: -14.25rem; top: 2.625rem; box-shadow: 30px 20px 40px black; border-radius: 2px; img { margin: -1px; position: relative; z-index: 2; display: block; } } } .heading-group { padding: clamp(32px, 5vw, 84px) clamp(32px, 4.5vw, 50px) clamp(32px, 5vw, 85px) clamp(32px, 4.5vw, 50px); h2 { font-weight: 600; font-size: 24px; line-height: 120%; letter-spacing: -0.03em; color: #cdd6df; margin-block-end: clamp(16px, 3vw, 32px); em { font-style: normal; color: #fff; } } a { display: inline-block; background: #3880ff; border-radius: 100px; padding: 8.5px 12px 7.5px; min-height: 32px; vertical-align: middle; text-decoration: none; cursor: pointer; font-weight: 600; font-size: 13px; line-height: 112%; letter-spacing: -0.02em; color: #fff; transition: background-color 0.2s ease-out; &:hover, &:active, &:focus { background: #5291ff; } .arrow { letter-spacing: 0; } } } } ================================================ FILE: assets/stencil/components/ebook-switcher/ebook-switcher.tsx ================================================ import { Component, Prop, h, Host } from '@stencil/core'; import data from './bookData.json'; @Component({ tag: 'ebook-switcher', styleUrl: 'ebook-switcher.scss', shadow: false }) export class EbookSwitcher { @Prop({ reflect: true}) id = 'hybrid-vs-native'; render() { const { Modal, Dots, id } = this; return ( ); } Modal = () => { const { id } = this; return ( ) } Dots = (props) => ( ) } ================================================ FILE: assets/stencil/components/emoji-picker/emoji-picker.scss ================================================ :host { --category-color: var(--c-grey-700); --category-selected-color: var(--c-purple-400); --padding-left-right: 12px; --search-border-color: var(--c-grey-600); --search-color: var(--c-grey-900); display: none; position: fixed; width: 320px; height: 420px; z-index: 1000; box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.15); border-radius: 15px; background-color: white; } :host(.open) { display: block; } .wrapper { display: flex; flex-direction: column; height: 100%; } .categories { display: flex; justify-content: space-between; padding: 12px var(--padding-left-right) 0; } .category { cursor: pointer; border-bottom: 2px solid transparent; svg { fill: var(--category-color); transition: fill 200ms ease-in-out; } } .category.category-selected { border-bottom: 2px solid var(--category-selected-color); svg { fill: var(--category-selected-color); } } .search { display: flex; padding: 4px var(--padding-left-right); position: relative; user-select: none; input { flex: 1; border-radius: 4px; color: var(--search-color); border: 1px solid var(--search-border-color); height: 20px; padding: 4px; } .x { cursor: pointer; position: absolute; right: 16px; top: 0px; font-size: 12px; line-height: 25px; ion-icon { vertical-align: middle; color: var(--search-color); } } } .emojis { flex: 1; overflow-y: auto; margin: 0; padding: 4px var(--padding-left-right); display: grid; grid-template-columns: repeat(9, 32px); justify-content: space-between; align-content: flex-start; .emoji-image { background-image: url('/js/stencil/emoji-sheet-twitter-256-64.png'); background-repeat: no-repeat; background-color: transparent; width: 24px; height: 24px; background-size: 5700% 5700%; } li { list-style: none; font-size: 24px; width: 32px; height: 32px; display: flex; justify-content: center; align-items: center; cursor: pointer; border-radius: 100%; &:hover { background-color: #eee; } .emoji { font-size: 24px; } } } ================================================ FILE: assets/stencil/components/emoji-picker/emoji-picker.tsx ================================================ import { Component, Prop, Event, h, EventEmitter, Host, Watch, Listen, Element, State } from '@stencil/core'; import * as EmojiSvgs from './svgs'; interface EmojiSet { aliases: { [key:string]: string }; categories: EmojiCategory[]; compressed: boolean; default: EmojiSet; emojis: EmojiMap; } interface EmojiMap { [name:string]: Emoji; } export interface Emoji { name?: string; unified?: string; non_qualified?: string; documo?: any; au?: string; softbank?: string; google?: string; image?: string; sheet_x?: number; sheet_y?: number; short_name?: string; short_names?: string[]; text?: string; texts?: string; category?: string; sort_order?: number; added_in?: string; has_img_apple?: boolean; has_img_google?: boolean; has_img_twitter?: boolean; has_img_facebook?: boolean; skin_variations?: { [code:string]: SkinVariation }; } interface SkinVariation { added_in: string; has_img_apple: boolean; has_img_facebook: boolean; has_img_google: boolean; has_img_twitter: boolean; image: string; non_qualified: any; sheet_x: number; sheet_y: number; unified: string; } interface EmojiCategory { emojis: string[]; id: string; name: string; } @Component({ tag: 'ionic-emoji-picker', styleUrl: 'emoji-picker.scss', shadow: true }) export class EmojiPicker { @Element() el; @Prop() open = false; @Prop() openEvent: MouseEvent; @Event() emojiPick: EventEmitter; @Event() closed: EventEmitter; @State() emoji: EmojiSet; @State() selectedCategory: EmojiCategory; @State() categories: EmojiCategory[]; @State() searchQuery: string = ''; @State() emojis: EmojiMap; x: number = 0; y: number = 0; async componentWillLoad() { /* this.categories = EMOJI.categories; this.selectedCategory = this.categories[0]; */ const ret = await fetch('/js/stencil/emoji.json'); const allEmoji = await ret.json() as Emoji[]; var categories = [ ['Smileys & Emotion', 'smileys'], ['People & Body', 'people'], ['Animals & Nature', 'nature'], ['Food & Drink', 'foods'], ['Activities', 'activity'], ['Travel & Places', 'places'], ['Objects', 'objects'], ['Symbols', 'symbols'], ['Flags', 'flags'], ] const startingCategories = categories.map(c => ({ emojis: [], id: c[1], name: c[0] })); this.emojis = allEmoji.reduce((emojis, emoji) => { if (!(emoji.short_name in emojis)) { emojis[emoji.short_name] = emoji; } return emojis; }, {} as EmojiMap); this.categories = allEmoji.sort((a, b) => a.sort_order - b.sort_order).reduce((categories, emoji) => { if (emoji.category === 'Skin Tones') { return categories; } let cat = categories.find(c => c.name === emoji.category); if (!cat) { cat = { emojis: [], id: emoji.category, name: emoji.category } as EmojiCategory; categories.push(cat); } cat.emojis.push(emoji.short_name); return categories; }, startingCategories); let smileys = this.categories[0] let people = this.categories[1] let smileysAndPeople = { id: 'people', name: 'Smileys & People', emojis: [] } smileysAndPeople.emojis = [] .concat(smileys.emojis.slice(0, 114)) .concat(people.emojis) .concat(smileys.emojis.slice(114)); this.categories.unshift(smileysAndPeople); this.categories.splice(1, 2); this.selectedCategory = this.categories[0]; } @Watch('openEvent') openEventChange() { if (!this.openEvent) { return; } const target = this.openEvent.target; const box = (target as HTMLElement).getBoundingClientRect(); this.x = box.left; this.y = box.bottom; } @Listen('click', { target: 'body' }) handleBodyClick(e) { if (!this.open) { return; } let el = e.target; while (el) { if (el === this.el) { return; } el = el.parentElement; } this.closed.emit(); } handleSelectCategory = (c: EmojiCategory) => { this.selectedCategory = c; this.searchQuery = ''; setTimeout(() => { this.el.shadowRoot.querySelector('.emojis').scrollTop = 0; }, 30); } handleSearchInput = (e) => this.searchQuery = e.target.value; handleClearSearchInput = (_e) => this.searchQuery = ''; handleEmojiPicked = (emoji: Emoji) => { this.emojiPick.emit(emoji); } getFilteredEmojis() { if (this.searchQuery) { return Object.keys(this.emojis).filter(k => { const emoji = this.emojis[k]; const fields = [ ...(emoji.short_names || []), emoji.name, ]; return fields.some(f => !!f && f.toLocaleLowerCase().indexOf(this.searchQuery.toLocaleLowerCase()) >= 0); }).sort((a, b) => { const ea = this.emojis[a]; const eb = this.emojis[b]; return ea.sort_order - eb.sort_order; }); } return this.selectedCategory.emojis; } render() { if (!this.open) { return null; } const visibleEmojis = this.searchQuery ? this.getFilteredEmojis() : this.selectedCategory.emojis; return (
) } } interface CategoriesProps { categories: EmojiCategory[]; selectedCategory: EmojiCategory; selectCategory: (c: EmojiCategory) => void; } const Categories = ({ categories, selectedCategory, selectCategory }: CategoriesProps) => (
{categories.map(c => { return (
selectCategory(c)} > {EmojiSvgs.categories[c.id]()}
); } )}
) interface SearchProps { onInput: (e) => void; onClear: (e) => void; value: string; } const Search = ({ onInput, onClear, value }: SearchProps) => ( ) const processName = (name) => name .toLocaleLowerCase().split(/[\s_-]+/) .map(s => s[0].toUpperCase() + s.slice(1)) .join(' '); interface EmojisProps { visibleEmojis: string[]; emojis: EmojiMap; emojiPicked: (emoji: Emoji) => void; } const Emojis = ({ visibleEmojis, emojis, emojiPicked }: EmojisProps) => { return (
    {visibleEmojis.map(e => { const em = emojis[e] const x = em.sheet_x * (100 / 56); const y = em.sheet_y * (100 / 56); let name = null; if (em.name) { name = processName(em.name); } else if (em.short_name) { name = processName(em.short_name); } return (
  • emojiPicked(em)}>
  • ) })}
) } ================================================ FILE: assets/stencil/components/emoji-picker/svgs.tsx ================================================ import { h } from '@stencil/core'; export const categories = { activity: () => ( ), custom: () => ( ), flags: () => ( ), foods: () => ( ), nature: () => ( ), objects: () => ( ), people: () => ( ), places: () => ( ), recent: () => ( ), symbols: () => ( ), } export const search = { search: () => ( ), delete: () => ( ), } ================================================ FILE: assets/stencil/components/home-components/home-components.scss ================================================ @import '../../vars'; // @import '../../../../node_modules/prismjs/themes/prism-tomorrow'; @import '../../prism-ionic'; home-components { display: grid; grid-template-columns: 634px 1fr; border-radius: 10px; margin-right: -24px; margin-left: -24px; @media (min-width: 1200px) { margin-right: -32px; margin-left: -32px; } @media (max-width: $screen-sm-max) { grid-template-columns: minmax(200px, 1fr) 290px; margin-right: -8px; margin-left: -8px; } .code-header { background: #0B1521; border-radius: 10px 0 0 0; font-size: 12px; font-weight: 600; line-height: 13px; letter-spacing: 0.1em; text-transform: uppercase; display: flex; justify-content: space-between; ul { display: flex; flex-direction: row; padding: 0; margin: 0; } li { color: #7A8EA7; border: 1px solid transparent; list-style: none; padding: 20px; cursor: pointer; z-index: 1; position: relative; transition: .2s color, .2s background-color; &::after { position: absolute; height: 1px; content: ''; bottom: -2px; left: 0; right: 0; background: transparent; } &.active { background: #1C2B3E; border-color: #283A50; border-bottom-color: #1C2B3E; color: #FFFFFF; &::after { background: #1C2B3E; } } &:first-child { border-radius: 10px 0 0 0; } &:hover { color: #FFFFFF; } @media (max-width: $screen-xs-max) { padding: 20px 10px; } } a { background: rgba(#7CABFF, 0.3); color: #7CABFF; border-radius: 16px; padding: 8px; align-self: center; margin-right: 20px; transition: .2s background-color; &:hover, &:active, &:focus { text-decoration: none; background: rgba(#7CABFF, 0.5); } @media (max-width: $screen-xs-max) { display: none; } } } .preview-header { background: #F9FAFC; border: 1px solid #E9EDF3; border-bottom: none; border-radius: 0px 10px 0px 0px; display: flex; justify-content: center; align-items: center; ion-segment { display: flex; justify-content: center; width: 142px; background: #E9EDF3; } ion-segment-button { flex: 0 1; } } .tab-content, .preview-content { position: relative; padding: 0; li { display: none; &.active { display: block; } } } .tab-content { background: #1C2B3E; border: 1px solid #283A50; border-radius: 0 0 0 10px; align-items: flex-start; position: relative; &::before, &::after { position: absolute; content: ''; top: 0; bottom: 4px; left: 0; width: 16px; background: linear-gradient(to left, rgba(#1C2B3E, 0), #1C2B3E); } &::after { left: auto; right: 0; background: linear-gradient(to right, rgba(#1C2B3E, 0), #1C2B3E); } pre { background: transparent; padding: 0; margin: 0; color: white; border: none; font-size: 13px; line-height: 23px; letter-spacing: -.01em; font-weight: 500; font-family: $font-family-mono; padding: 24px 0 48px 56px; @media (max-width: $screen-xs-max) { padding: 24px 0 48px 16px; } code { white-space: pre; } } .tag { background: transparent; margin-left: 0; padding: 0; border-radius: 0; font-weight: 700; font-size: inherit; text-transform: none; letter-spacing: 0; } } .preview-content { background: radial-gradient(#E8EBEF 10%, #FCFDFE 10%) repeat; border: 1px solid #E9EDF3; background-size: 10px 10px; border-radius: 0 0 10px 0; display: flex; justify-content: center; align-items: center; iframe { background: transparent; } } @media (max-width: 525px) { grid-template-columns: 100%; .code-header { border-radius: 10px 10px 0 0; li { padding: 20px; } } .tab-content { border-radius: 0 0 10px 10px; } .preview-header, .preview-content { display: none; } } } ================================================ FILE: assets/stencil/components/home-components/home-components.tsx ================================================ import { Component, // Element, // Prop, State, h } from '@stencil/core'; import '@ionic/core'; import Prism from 'prismjs'; @Component({ tag: 'home-components', styleUrl: 'home-components.scss', shadow: false }) export class HomeComponents { @State() activeTab: 'card'|'button'|'listItem' = 'card'; @State() activePlatform = 'ios'; constructor() { } componentWillLoad() { } componentDidLoad() { } resizeIframe(el) { setTimeout(() => { // console.log(el.contentWindow.document.documentElement.scrollHeight) el.style.height = (el.contentWindow.document.documentElement.scrollHeight || 280) + 'px'; }, 50) } render() { return [
  • this.activeTab = 'card'}>Card
  • this.activeTab = 'button'}>Button
  • this.activeTab = 'listItem'}>List Item
, See All
,
this.activePlatform = e.detail.value }> iOS Android
,
    {Object.keys(this.markup).map(key => (
  •               
                
  • ))}
,
    {Object.keys(this.markup).map(key => (
  • ))}
]; } ionicInjector(code) { return ` ${code}`; } markup = { card: { display: ` Card Subtitle Card Title

Here’s a small text description for the card component. Nothing more, nothing less.

Action
`, src: ` Card Subtitle Card Title Here's a small text description for the card content. Nothing more, nothing less. Action ` }, button: { display:` Default Anchor Primary Secondary Tertiary Success Warning Danger Light Medium Dark `, src: ` Default Anchor Primary Secondary Tertiary Success Warning Danger Light Medium Dark ` }, listItem: { display: `

Discover

Music we think you'll love.

{albums.map(album =>

{album.title}

{album.artist}, {album.year}

)}
`, src: `

Beast Epic

Iron & Wine, 2017

Good At Falling

The Japanese House, 2019

Hallucinogen

Kelela, 2015

22, A Million

Bon Iver, 2016

4 Walls

f(x), 2015

` } } } ================================================ FILE: assets/stencil/components/home-countdown/home-countdown.scss ================================================ @import '../../vars'; home-countdown { padding: 32px 0 ; ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; } li { display: flex; flex-direction: column; width: 80px; align-items: center; margin: 0 48px; position: relative; &::after { content: ''; position: absolute; right: -48px; top: 30px; height: 50px; border-right: 1px solid rgba(#fff, .5) } &:last-child::after { display: none; } } strong { font-weight: 400; font-size: 48px; line-height: 73px; letter-spacing: -0.04em; } span { font-weight: 500; font-size: 16px; line-height: 24px; letter-spacing: 0.08em; color: rgba(#fff, 0.9); } } ================================================ FILE: assets/stencil/components/home-countdown/home-countdown.tsx ================================================ import { Component, Prop, State, h } from '@stencil/core'; import moment from 'moment'; @Component({ tag: 'home-countdown', styleUrl: 'home-countdown.scss', shadow: false }) export class HomeCountdown { @Prop() eventStart: string = '1593007200'; @State() days: number; @State() hours: number; @State() minutes: number; @State() seconds: number; componentWillLoad() { this.update(); setInterval(this.update.bind(this), 1000); } update() { const eventTime = parseInt(this.eventStart, 10) * 1000; const currentTime = new Date().getTime(); const diffTime = eventTime - currentTime; const duration = moment.duration(diffTime, 'milliseconds'); this.days = moment.duration(duration).days(); this.hours = moment.duration(duration).hours(); this.minutes = moment.duration(duration).minutes(); this.seconds = moment.duration(duration).seconds(); } render() { return(
  • {this.days} DAY{this.days == 1 ? '' : 'S'}
  • {this.hours} HOUR{this.hours == 1 ? '' : 'S'}
  • {this.minutes} MINUTE{this.minutes == 1 ? '' : 'S'}
  • {this.seconds} SECOND{this.seconds == 1 ? '' : 'S'}
); } } ================================================ FILE: assets/stencil/components/home-native/home-native.scss ================================================ @import '../../vars'; // @import '../../../../node_modules/prismjs/themes/prism-tomorrow'; @import '../../prism-ionic'; home-native { display: flex; flex-direction: column; width: 560px; border-radius: 10px; position: relative; @media (max-width: $screen-xs-max) { width: 100%; max-width: 560px; } .code-header { background: #0B1521; z-index: 1; position: relative; border-radius: 10px 10px 0 0; font-size: 12px; font-weight: 600; line-height: 13px; letter-spacing: 0.1em; text-transform: uppercase; display: flex; justify-content: space-between; ul { display: flex; flex-direction: row; padding: 0; margin: 0; @media (max-width: 400px) { overflow-x: auto; } } li { color: #7A8EA7; border: 1px solid transparent; list-style: none; padding: 20px; cursor: pointer; position: relative; transition: .2s color, .2s background-color; &::after { position: absolute; height: 1px; content: ''; bottom: -2px; left: 0; right: 0; background: transparent; } &.active { background: #1C2B3E; border-color: #283A50; border-bottom-color: #1C2B3E; color: #FFFFFF; &::after { background: #1C2B3E; } } &:first-child { border-radius: 10px 0 0 0; } &:hover { color: #FFFFFF; } @media (max-width: 530px) { padding: 20px 10px; } } a { background: rgba(#7CABFF, 0.3); color: #7CABFF; border-radius: 16px; padding: 8px; align-self: center; margin-right: 20px; transition: .2s background-color; &:hover, &:active, &:focus { text-decoration: none; background: rgba(#7CABFF, 0.5); } @media (max-width: 470px) { display: none; } } } .tab-content { position: relative; padding: 0; li { display: none; &.active { display: block; } } } .tab-content { background: #1C2B3E; border: 1px solid #283A50; border-radius: 0 0 10px 10px; align-items: flex-start; position: relative; &::before, &::after { position: absolute; content: ''; top: 0; bottom: 4px; left: 0; width: 16px; background: linear-gradient(to left, rgba(#1C2B3E, 0), #1C2B3E); } &::after { left: auto; right: 0; background: linear-gradient(to right, rgba(#1C2B3E, 0), #1C2B3E); } pre { background: transparent; padding: 0; margin: 0; color: white; border: none; font-size: 13px; line-height: 23px; letter-spacing: -.01em; font-weight: 500; font-family: $font-family-mono; padding: 24px 16px 48px 56px; code { white-space: pre; } } .tag { background: transparent; margin-left: 0; padding: 0; border-radius: 0; font-weight: 700; font-size: inherit; text-transform: none; letter-spacing: 0; } } .preview-icon { position: absolute; padding: 0; bottom: -70px; right: -20px; li { display: none; list-style: none; &.active { display: block; } } } } ================================================ FILE: assets/stencil/components/home-native/home-native.tsx ================================================ import { Component, // Element, // Prop, State, h } from '@stencil/core'; import '@ionic/core'; import Prism from 'prismjs'; @Component({ tag: 'home-native', styleUrl: 'home-native.scss', shadow: false }) export class HomeNative { @State() activeTab: 'identityVault'|'camera'|'geolocation' = 'identityVault'; constructor() { } componentWillLoad() { } componentDidLoad() { } render() { return [
  • this.activeTab = 'identityVault'}>Identity Vault
  • this.activeTab = 'camera'}>Camera
  • this.activeTab = 'geolocation'}>Geolocation
, See All
,
    {Object.keys(this.markup).map(key => (
  •               
                
  • ))}
,
    {Object.keys(this.markup).map(key => (
  • ))}
]; } markup = { identityVault: { dimensions: { x: 137, y: 134 }, code: ` logout() { // lock the vault when the user logs out this.identityVault.lock(); } onVaultReady() { // unlock the vault using biometrics this.identityVault.unlock(); } onVaultUnlocked() { // restore the session when the vault is unlocked this.session = await this.identityVault.restoreSession(); }`, }, camera: { dimensions: { x: 119, y: 125 }, code: ` async takeProfilePicture() { // Take a picture or video, or load from the library const picture = await this.camera.getPicture({ encodingType: this.camera.EncodingType.JPEG }); // confirm that users choice of picture const msg = "Set as new profile picture?"; const confirmed = await this.dialogs.confirm(msg); if (confirmed) { // upload the picture to the server return this.userService.uploadProfilePic(picture); } }`, }, geolocation: { dimensions: { x: 122, y: 122 }, code: ` async plotCurrentLocation() { // get the users current position const position = await this.geolocation.getCurrentPosition(); // grab latitude & longitude const latitude = position.coords.latitude; const longitude = position.coords.longitude; // place a pin on map at users current coordinates this.mapService.dropPin(latitude, longitude); } `, } } } ================================================ FILE: assets/stencil/components/hubspot-dynamic-content/hubspot-dynamic-content.scss ================================================ @import '../../vars'; hubspot-dynamic-content { transition: .2s opacity ease-out; opacity: 0; &.ready { opacity: 1; } } ================================================ FILE: assets/stencil/components/hubspot-dynamic-content/hubspot-dynamic-content.tsx ================================================ import { Component, Element, Prop, h, State, Host } from '@stencil/core'; @Component({ tag: 'hubspot-dynamic-content', styleUrl: 'hubspot-dynamic-content.scss', shadow: false }) export class HubspotDynamicContent { @Prop() listId: string = 'default'; @State() isInList = false; @Element() el; API_URL = 'https://ionic-site-new.now.sh/api/hubspot/hasconverted'; async componentWillLoad() { const hsutk = window['getCookie']('hubspotutk'); fetch(`${this.API_URL}?listId=${this.listId}&hsutk=${hsutk}`) .then(response => response.json()) .then( data => { this.isInList = data.found; }) .catch(e => { console.warn(e); }) .finally( () => { this.el.classList.add('ready'); }); } render() { // console.log('rendering', this.isInList); return ( {this.isInList ? : } ); } } ================================================ FILE: assets/stencil/components/hubspot-form/hubspot-form.scss ================================================ @import '../../vars'; hubspot-form:not(.no-default-styles) { display: block; max-width: 420px; margin: 0 auto; font-weight: 400; .hs-form-required { display: none; } form { fieldset.form-columns-2 .input { margin-right: 12px; } &.stacked .field { margin-bottom: 4px; } } .hs-input, input.hs-input, select.hs-input { border: 1px solid #e1e5ed; // padding: 15px 5px 15px 18px; font-weight: 500; border-radius: 4px; transition: border-color 0.2s; box-shadow: none; outline: none; height: 30px; padding: 6px 12px; font-size: 14px; line-height: 1.428571429; &:placeholder { color: var(--c-carbon-60); } &:valid { // border-color: #B4BBC5; } &:hover, &:focus, &:active { outline: none; border-color: var(--c-ionic-brand); box-shadow: none; } &.hs-input.error { border-color: var(--c-red-60); } } select.hs-input { height: 44px; width: calc(100% + 6px) !important; } textarea.hs-input { padding: 12px; width: calc(100% + 3px) !important; min-height: 192px; } .hs_submit input.hs-button { white-space: nowrap; display: block; margin: auto; cursor: pointer; font-size: 13px; padding: 10px 18px 10px; margin-right: -14px; margin-top: -36px; margin-left: auto; margin-right: auto; line-height: 23px; float: right; font-weight: 600; letter-spacing: 0; text-transform: none; text-shadow: none; background: var(--c-ionic-brand); border: 0; outline: 0; transition: all 0.2s linear; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12); &:hover { border: 0; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12); background: #5995fc; color: #fff; outline: 0; } &:active, &:active:not(.inactive):not(.link), &:focus:not(.inactive) { border: 0; color: #fff; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2); background: #5995fc; outline: 0; } } .submitted-message { &:before { content: ''; display: block; background-image: url('/img/checkmark-light-green.svg'); background-repeat: no-repeat; background-size: 100%; width: 42px; height: 42px; margin-bottom: 12px; } font-size: 18px; padding: 34px 0 78px; text-align: center; display: flex; flex-direction: column; align-items: center; font-weight: 400; color: #35af55; max-width: 410px; background-color: white; margin: 0 auto; } .hubspot-override .hs-form { font-family: var(--f-family-system); // TODO these styles are only used on contributors landing, // need to be applied to all hubspot forms &, & fieldset, & iframe { max-width: 100%; } // fieldset + fieldset, // form.stacked .hs-form-field + .hs-form-field, // fieldset .hs-form-field + .hs-form-field, // form.stacked .hs-form-field + .hs-dependent-field { // margin-top: 26px; // } .hs-form-field { margin-top: 16px; } label { margin-bottom: 3px; } .hs-form-required { display: inline; color: #f45454; margin-left: 4px; } .hs-richtext { margin-top: 8px; } .hs-input, input.hs-input { transition: border 0.3s; font-weight: 500; background-color: #fff; background-image: none; border: 1px solid #ced6e3; line-height: 1.39286; border-radius: 4px; padding: 11px 15px; font-size: 15px; margin-bottom: 0; color: #505863; } input.hs-input[type='number'] { float: none; } input.hs-input[type='text'], input.hs-input[type='email'], input.hs-input[type='tel'] { height: auto; width: 100%; float: none; &:focus { border-color: #629eff; } } input.hs-input[type='radio'], input.hs-input[type='checkbox'] { height: auto; margin-right: 8px; } .hs-form-booleancheckbox-display { display: flex; } select.hs-input { height: 44px; appearance: none; -moz-appearance: none; background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px, 5px 5px, 1px 1.5em; background-repeat: no-repeat; } form fieldset.form-columns-2 .input { margin: 0; } fieldset.form-columns-2 .hs-form-field { padding: 0 10px; &:first-child { padding-left: 0; } &:last-child { padding-right: 0; } } .inputs-list, .hs-error-msgs { margin: 0; padding: 0; list-style-type: none; } .inputs-list.multi-container { overflow: hidden; li:nth-last-child(n + 6):first-child, li:nth-last-child(n + 6):first-child ~ li { width: 50%; float: left; padding-right: 11px; } li:nth-last-child(n + 6):first-child ~ li:nth-child(even) { padding-right: 0; padding-left: 11px; } } .hs-form-checkbox-display { margin-top: 4px; display: flex; } .hs-form-checkbox-display .hs-input[type='checkbox'] { margin-right: 10px; } .hs-form-checkbox-display span { font-size: 15px; color: #505863; } .hs-error-msgs { padding: 5px 0 0; font-size: 11px; color: #f45454; } .hs_submit { margin-top: 30px; } .hs_submit input.hs-button { transition: all 0.3s ease; margin: 0; float: none; margin: auto; font-size: 16px; font-weight: 700; padding: 12px 20px; vertical-align: middle; color: white; background: #3880ff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.12); border-radius: 4px; line-height: 18px; letter-spacing: -0.01em; &:hover { box-shadow: 0 7px 14px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.08); background: #4d8dfd; color: #fff; outline: none; } } @media (max-width: $screen-xs-max) { fieldset.form-columns-2 .hs-form-field { width: 100%; float: none; padding: 0; & + .hs-form-field { margin-top: 24px; } } .inputs-list.multi-container { li:nth-last-child(n + 6):first-child, li:nth-last-child(n + 6):first-child ~ li { width: 100%; float: none; padding-right: 0; } li:nth-last-child(n + 6):first-child ~ li:nth-child(even) { padding-left: 0; } } .hs_submit input.hs-button { width: 100%; } } } .hubspot-override--large .hs-form { label:not(.hs-form-booleancheckbox-display) { text-transform: uppercase; font-size: 12px; letter-spacing: 0.05em; margin-bottom: 6px; } .hs-form-booleancheckbox-display { font-size: 15px; } .hs-richtext { p span, p a { font-size: 15px; } } .hs-input, input.hs-input { padding: 16px 20px 18px; font-size: 18px; } select.hs-input { text-indent: 10px; height: 60px; } @-moz-document url-prefix() { select.hs-input { text-indent: 0; } } .hs-error-msgs label { font-size: 11px; letter-spacing: 0; text-transform: none; } fieldset.form-columns-2 .hs-form-field { padding: 0 20px; } .hs_submit { text-align: center; padding-top: 18px; } .hs_submit input.hs-button { padding: 22px 27px 24px; border-radius: 6px; } @media (max-width: $screen-xs-max) { fieldset.form-columns-2 .hs-form-field { padding: 0; } } } .hubspot-override--measure { max-width: 748px; margin-left: auto; margin-right: auto; } } ================================================ FILE: assets/stencil/components/hubspot-form/hubspot-form.tsx ================================================ import { Component, Host, h, Prop, Event, EventEmitter, Element, State, Listen, } from '@stencil/core'; import { importResource } from '../../util/common'; declare var window: any; @Component({ tag: 'hubspot-form', styleUrl: 'hubspot-form.scss', }) export class HubspotForm { @Element() el?: HTMLElement; @Prop() formId?: string; @Prop() portalId = '3776657'; @Prop() goToWebinarKey?: string; @Prop() ajax = false; @Prop() noDefaultStyles = false; @Prop() submitText = undefined; @Event() formSubmitted?: EventEmitter; @State() error: string | null = null; scriptEl?: HTMLScriptElement; componentDidLoad() { importResource( { propertyName: 'hbspt', link: '//js.hsforms.net/forms/v2.js' }, this.handleScriptLoad, ); } @Listen('message', { target: 'window' }) handleWindowMessage(e: MessageEvent) { if (e.data && e.data.formGuid && this.ajax) { // Don't let hubspot do anything e.preventDefault(); e.stopImmediatePropagation(); if (e.data.accepted === true) { this.formSubmitted?.emit(); } else if (e.data.accepted === false) { this.error = 'Unable to submit. Please check your information and try again.'; } else { this.error = ''; } } } handleScriptLoad = () => { requestAnimationFrame(() => { window.hbspt.forms.create({ portalId: '3776657', formId: this.formId, target: `#${this.getFormElementId()}`, goToWebinarWebinarKey: this.goToWebinarKey || '', css: '', onFormReady: this.handleFormReady, translations: { en: { submitText: this.submitText, } } }); }); }; handleFormReady = (_e: any, _c: any) => { // Don't override the form if not using the ajax method if (!this.ajax) { return; } const formEl = this.el?.querySelector( `#${this.getFormElementId()} form`, ) as HTMLFormElement; if (!formEl) { return; } formEl.addEventListener('submit', (e: Event) => { e.preventDefault(); e.stopPropagation(); return false; }); formEl .querySelector('input[type="submit"]') ?.addEventListener('click', e => { this.submitForm(formEl); e.preventDefault(); }); }; getFormElementId = () => `hbspt-form-${this.formId}`; submitForm = async (form: HTMLFormElement) => { const data = new FormData(form); try { const ret = await fetch(form.getAttribute('action')!, { method: 'POST', body: data, }); if (ret.status !== 200) { this.error = 'Error submitting form'; } else { // The response from hubspot is a script tag. I know, it's truly magnificent const frame = document.createElement('iframe'); frame.srcdoc = await ret.text(); document.body.appendChild(frame); } } catch (e) { this.error = 'Unable to submit form'; } }; render() { return (
{this.error ?
{this.error}
: null} ); } } ================================================ FILE: assets/stencil/components/icon-external/icon-external.scss ================================================ @import '../../vars'; icon-external { color: #a6b8d2; width: .8em; height: .8em; display: inline-block; svg { fill: currentColor; .new-tab__box { opacity: .5; } .new-tab__arrow { transition: .2s transform ease-out, .2s fill ease; will-change: trasnform, fill; } } } a:hover icon-external, icon-external:hover { color: $blue; .new-tab__arrow { transform: translate(1px, -1px); } } ================================================ FILE: assets/stencil/components/icon-external/icon-external.tsx ================================================ import { Component, h } from '@stencil/core'; @Component({ tag: 'icon-external', styleUrl: 'icon-external.scss', shadow: false }) export class IconExternal { render() { return ( ); } } ================================================ FILE: assets/stencil/components/ionic-appflow-activatior/activator-icons.tsx ================================================ import { h } from '@stencil/core'; const iconColors: any = { active: [ '#6C89F7', '#8AB2FF', '#ABC7FE', '#DAEDFC' ], default: [ '#E3EFF9', '#9CB2F8', '#B7CBF1', '#C4D7FA' ] } export const publishIcon: any = (state = 'default') => ( ); export const updatesIcon: any = (state = 'default') => ( ); export const buildsIcon: any = (state = 'default') => ( ); export const automationsIcon: any = (state = 'default') => ( ); ================================================ FILE: assets/stencil/components/ionic-appflow-activatior/ionic-appflow-activatior.tsx ================================================ import { Component, State, Listen, Element, h } from '@stencil/core'; import { TweenLite } from "gsap/TweenLite"; import { publishIcon, updatesIcon, buildsIcon, automationsIcon } from './activator-icons' const screens: any = [ { name: 'App Publishing', description: 'Publish directly to the Apple and Google App Stores.', icon: publishIcon, image: '/img/appflow/screen-app-publishing.png' }, { name: 'Live Updates', description: 'Deploy live app updates in real-time.', icon: updatesIcon, image: '/img/appflow/screen-live-updates.png' }, { name: 'Native Builds', description: 'Compile native app binaries in the cloud.', icon: buildsIcon, image: '/img/appflow/screen-native-builds.png' }, { name: 'Automations', description: 'Fully automate your app delivery pipeline.', icon: automationsIcon, image: '/img/appflow/screen-automations.png' }, ] @Component({ tag: 'ionic-appflow-activator', styleUrl: 'ionic-appflow-activator.scss', shadow: false }) export class IonicAppflowActivator { @Element() el: HTMLElement; @State() currentScreen: number = null; @State() isPaused: boolean = false; duration = 6;//seconds indicators = []; tween: any = null; componentDidLoad() { this.currentScreen = 0; setTimeout(this.start.bind(this), 2000); } start() { const indicator = this.indicators[this.currentScreen]; TweenLite.set(indicator, { width: 0, alpha: 1 }); this.tween = TweenLite.to(indicator, this.duration, { width: '100%', onComplete: () => { this.increment(); } }); } override(index) { if (this.currentScreen === index) return; this.tween.pause(); this.increment(index); } increment(index?) { TweenLite.to(this.indicators[this.currentScreen], 0.4, { alpha: 0 }); if (index !== undefined) { this.currentScreen = index; this.start(); return; } this.currentScreen = (this.currentScreen >= screens.length - 1) ? 0 : this.currentScreen + 1; this.start(); } @Listen('scroll', {target: 'window'}) onScroll() { if (this.tween === null) return false; const rect = this.el.getBoundingClientRect(); const isVisible = (rect.top <= window.innerHeight) && (rect.bottom >= 0); if (isVisible && this.isPaused) { this.tween.play(); this.isPaused = false; } if (!isVisible && !this.isPaused) { this.tween.pause(); this.isPaused = true; } } render() { return ([
{screens.map((screen, i) =>
)}
, ]); } } ================================================ FILE: assets/stencil/components/ionic-appflow-activatior/ionic-appflow-activator.scss ================================================ @import '../../vars'; ionic-appflow-activator { overflow: hidden; .nav { width: 100%; background: #fff; box-shadow: 0px -12px 24px rgba(2, 8, 20, 0.06), 0px -4px 8px rgba(2, 8, 20, 0.02); z-index: 20; position: relative; border-bottom: 1px solid #F0F0F0; } ul { position: relative; z-index: 10; display: flex; width: 100%; margin: 0; padding: 0; overflow: hidden; } li { padding-top: 24px; display: inline-block; position: relative; list-style: none; flex: 1; cursor: default; } li + li { margin-left: 56px; } li { h5, p { font-family: $font-family-inter; transition: color 0.2s; } h5 { display: block; font-size: 14px; line-height: 22px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; color: #616E7E; } p { color: #92A1B3; margin-bottom: 24px; } svg { transition: transform 0.2s; } } li.active { h5 { color: #010610; } p { color: #5B708B; } svg { transform: translateY(-2px); } } .indicator { position: absolute; bottom: 0; left: 0; height: 2px; width: 0%; background-color: #6C89F7; } .app-screenshot { position: relative; z-index: 5; .screen { border-radius: 16px; overflow: hidden; position: absolute; top: 0; width: 100%; opacity: 0; transform: translateY(6px); animation-fill-mode: forwards; &.animate-in { animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); animation-duration: 1s; animation-name: animateIn; animation-delay: 0.1s; z-index: 15; } &.animate-out { animation-timing-function: ease; animation-duration: 0.6s; animation-name: animateOut; z-index: 10; } } img { vertical-align: bottom; width: 100%; } } } @keyframes animateIn { from { // transform: translateY(6px); opacity: 0; } to { // transform: translateY(0); opacity: 1; } } @keyframes animateOut { from { // transform: translateY(0) scale(1); opacity: 1; } to { // transform: translateY(4px) scale(0.98); opacity: 0; } } ================================================ FILE: assets/stencil/components/ionic-bar-chart/ionic-bar-chart.scss ================================================ @import '../../vars'; ionic-bar-chart { font-style: normal; font-weight: normal; line-height: normal; font-size: 16px; display: block; letter-spacing: -0.04em; .bar-container { width: 100%; padding-right: 50px; max-width: 697px; } .bar { height: 12px; position: relative; border-radius: 2px; span { position: absolute; right: -40px; font-weight: 500; top: -3px; } } strong { margin-top: 10px; display: block; font-weight: 400; margin-bottom: 34px; } } ================================================ FILE: assets/stencil/components/ionic-bar-chart/ionic-bar-chart.tsx ================================================ import { Component, // Element, Prop, // State, h } from '@stencil/core'; @Component({ tag: 'ionic-bar-chart', styleUrl: 'ionic-bar-chart.scss', shadow: false }) export class IonicBarChart { @Prop() data:string; @Prop() color:string; constructor() { } componentWillLoad() { } componentDidLoad() { } hexToRgb(hex) { // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF") var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; hex = hex.replace(shorthandRegex, function(_, r, g, b) { return r + r + g + g + b + b; }); var result = /^\s?#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); return result ? `${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ` + `${parseInt(result[3], 16)}` : null; } prepareData() { let max = 0; const color = this.color ? this.color.split(',') : ['#92E1A7', '#51A7FF']; const dataObj = JSON.parse(this.data.replace(/'/g, '"')); return Object.keys(dataObj).map((key) => { if (max < dataObj[key]) { max = dataObj[key]; } return { name: key, value: parseInt(dataObj[key], 10) } }).map((item, i) => { return { ...item, styles: { bar: { width:`${Math.round((item.value/max) * 100) }%`, background: i > 1 ? // semi-greyed-out after the first two `rgba(91,112,139) linear-gradient(to right, ${color.map(item => `rgba(${this.hexToRgb(item)}, .2)` ).join(', ')})` : `linear-gradient(to right, ${color.join(', ')})` }, text: { color: i > 1 ? '#5B708B' : color[color.length - 1] } } } }); } render() { return [
{this.prepareData().map(item => { return [
{item.value}%
, {item.name} ]})}
]; } } ================================================ FILE: assets/stencil/components/ionic-button/ionic-button.scss ================================================ @import '../../vars'; @mixin colorize($color, $dark: true) { background: $color; @if $dark { color: white; &:hover { background: lighten($color, 5); } &:active { background: darken($color, 5); } } @else { &:active { background: darken($color, 2); } } } ionic-button { button { border-radius: 4px; padding: 11px 15px 9px; font-size: 16px; font-weight: 500; box-shadow: 0 1px 3px rgba(0,0,0,.1); border: 0; outline: none; height: 100%; transition: background-color .2s, border-color .3s, box-shadow .3s, color .3s; &.default { @include colorize($blue) } &.white { @include colorize(white, false); border-color: $lightgrey; color: $blue; } &:hover { box-shadow: 0 2px 5px rgba(0,0,0,.12); } &:active { box-shadow: inset 0 1px 2px rgba(0,0,0,.1); } &:disabled { background: $lightgrey; color: white; box-shadow: none; } } } ================================================ FILE: assets/stencil/components/ionic-button/ionic-button.tsx ================================================ import { Component, Prop, h } from '@stencil/core'; @Component({ tag: 'ionic-button', styleUrl: 'ionic-button.scss', shadow: false }) export class IonicButton { @Prop() color: string = 'default'; @Prop() type: string = 'button'; @Prop() disabled: boolean = false; render() { if (this.disabled){ return ( ); } return ( ); } } ================================================ FILE: assets/stencil/components/ionic-newsletter-signup/ionic-newsletter-signup.scss ================================================ @import '../../vars'; ionic-newsletter-signup { form { position: relative; display: flex; border-collapse: separate; width: 100%; height: 40px; @media (max-width: $screen-sm-max) { max-width: calc(100% - 340px); } @media (max-width: $screen-xs-max) { float: none; max-width: 100%; margin-top: 15px; } &.dark { input { color: white; box-shadow: none; &:hover { box-shadow: 0 1px 3px rgba(0, 0, 0, .15); } &:focus { box-shadow: 0 1px 3px rgba(0, 0, 0, .1); } &::placeholder { color: #bbceef; } } } &.lg { height: 48px; input { padding: 1px 17px 0; font-size: 14px; } ionic-button button { padding: 11px 12px; } } &.arrow { border-radius: 6px; box-shadow: 0 1px 3px rgba(0,16,44,.08), 0 2px 4px rgba(0,16,44,.12); transition: .15s box-shadow ease; &:hover { box-shadow: 0 7px 14px rgba(0,16,44,.12), 0 3px 6px rgba(0,16,44,.08); } input { border-radius: 6px 0 0 6px; box-shadow: none; &::placeholder { color: #a8b0be; font-weight: 400; } } ionic-button button { background: #f0f5ff; color: #3880ff; font-size: 23px; display: flex; align-items: center; border-radius: 0 6px 6px 0; &:hover { background: darken(#f0f5ff, 1); } } @media (max-width: $screen-sm-max) { max-width: 100%; } } &.homepage { height: 48px; border-radius: 6px; background: white; border: 1px solid #E9EDF3; transition: .2s border-color, .2s background-color; &:hover { border-color: #73A6FF; background: white; } svg { position: absolute; top: 16px; left: 16px; } input { border-radius: 6px 0 0 6px; box-shadow: none; padding-left: 46px; &::placeholder { color: #a8b0be; font-weight: 400; } } ionic-button button { background: transparent; color: #7CABFF; font-size: 23px; display: flex; align-items: center; box-shadow: none; border-radius: 0 6px 6px 0; &:hover, &:active, &:focus { color: darken(#7CABFF, 10); background: transparent; } } @media (max-width: $screen-sm-max) { max-width: 100%; } } } input { border: none; background: rgba(white, .2); border-radius: 4px 0 0 4px; font-size: 13px; color: $dark; box-shadow: none; font-weight: 500; height: 100%; outline: 0; flex-grow: 1; padding: 0px 16px 1px; box-shadow: 0 1px 3px rgba(0, 0, 0, .1); transition: .2s background, .2s box-shadow; &:hover { box-shadow: 0 1px 3px rgba(0, 0, 0, .15); } &:focus { box-shadow: none; background: rgba(white,.25); box-shadow: inset 0 0 2px rgba(0, 0, 0, .1); } &::placeholder { padding-left: 0; color: #a1a9b6; } } ionic-button { height: 100%; button { border-top-left-radius: 0; border-bottom-left-radius: 0; font-weight: 500; font-size: 14px; height: 100%; padding: 8px 9px 10px; } } } ================================================ FILE: assets/stencil/components/ionic-newsletter-signup/ionic-newsletter-signup.tsx ================================================ import { Component, Prop, State, h } from '@stencil/core'; import { EmailOutlineIcon } from '../../icons'; @Component({ tag: 'ionic-newsletter-signup', styleUrl: 'ionic-newsletter-signup.scss', shadow: false }) export class IonicNewsletterSignup { @Prop() srLabel = { id: Math.random().toString(36).substring(2), text: 'enter email to join newsletter', } @Prop() placeholder: string = 'Email address'; @Prop() buttonText: string = 'Subscribe'; @Prop() darkMode: boolean = false; @Prop() homepageMode: boolean = false; @Prop() arrowMode: boolean = false; @Prop() lg: boolean = false; @Prop() kind: string = 'default'; @State() isLoading: boolean = false; @State() hasSubmitted: boolean = false; @State() email: string = null; hsFormIds = { default: '76e5f69f-85fd-4579-afce-a1892d48bb32', podcast: '' } handleEmailChange(event) { this.email = event.target.value; } handleSubmit(e) { e.preventDefault(); const email = this.email; this.isLoading = true; var xhr = new XMLHttpRequest(); // new HttpRequest instance xhr.open('POST', 'https://ionicframework.com/api/v1/newsletter'); xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); xhr.onreadystatechange = () => { if (xhr.readyState === 4 && xhr.status === 200) { this.isLoading = false; var json = JSON.parse(xhr.responseText); this.hasSubmitted = json.ok; this.hubspotIdentify(email); } }; xhr.send(JSON.stringify({ email: this.email, podcast: this.kind === 'podcast'})); } hubspotIdentify(email: string) { const _hsq = window['_hsq'] = window['_hsq'] || []; _hsq.push(["identify",{ email: email }]); _hsq.push(["trackEvent", { id: "Signed Up for Newsletter", value: true }]); // Send var xhr = new XMLHttpRequest(); var url = [ 'https://api.hsforms.com/submissions/v3/integration/submit', '3776657', '76e5f69f-85fd-4579-afce-a1892d48bb32'].join('/'); const hutkMatch = document.cookie.match && document.cookie.match(/hubspotutk=(.*?);/) const hutk = hutkMatch ? hutkMatch[1] : '' xhr.open("POST", url); xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); xhr.onreadystatechange = () => { if (xhr.readyState === 4 && xhr.status === 200) { var json = JSON.parse(xhr.responseText); console.log(json) } }; xhr.send(JSON.stringify({ fields: [{ name: 'email', value: this.email }], context: { hutk, pageUri: window.location.href, pageName: document.title } })); } getFormClass() { let str = this.darkMode ? 'dark' : ''; if (this.arrowMode) { str += ' arrow'; } if (this.homepageMode) { str += ' homepage'; } if (this.lg) { str += ' lg'; } return str; } render() { return (
this.handleSubmit(e)} class={this.getFormClass()}> {this.homepageMode ? : ''} this.handleEmailChange(event)} disabled={this.isLoading} placeholder={this.placeholder} required /> {this.hasSubmitted ? 'Added!' : this.arrowMode || this.homepageMode ? : this.buttonText } ); } } ================================================ FILE: assets/stencil/components/ionic-search/ionic-search.scss ================================================ @import '../../vars'; @keyframes ionic-search-scan { from {left: 0;} to {left: 100%;} } @keyframes ionic-search-scan-mobile { from {left: calc(0% + 8px);} to {left: calc(100% - 16px);} } ionic-search { display: block; display: inline-block; svg { fill: $darkgrey; } ion-icon { font-size: 18px; cursor: pointer; &:hover svg { fill: #3880ff; } } .search { right: 115px; font-size: 18px; margin-top:7px; color: white; transition: .2s opacity, .4s transform cubic-bezier(0.23, 1, 0.32, 1); &.active { cursor: default; opacity: 0; transform: scale3d(0, 0, 1); } svg { fill: $grey; width: 18px; height: 18px; } } .search-static { left: 15px; z-index: 12; opacity: 0; transform: translate3d(0, -25px, 0); transition: .4s transform cubic-bezier(0.23, 1, 0.32, 1), .1s opacity; } .close { right: 11px; z-index: 12; opacity: 0; pointer-events: none; transition: .3s opacity; &.active { pointer-events: all; opacity: 1; transform: none; } } input { width: 100%; margin-left: 0; padding-left: 40px; padding-right: 40px; outline: none; border: none; z-index: 12; background: white; border-radius: 6px; padding: 14px 30px 14px 41px; font-size: 14px; letter-spacing: -.01em; position: relative; opacity: 0; transform: translate3d(0, -15px, 0); transition: .2s opacity, .4s transform cubic-bezier(0.23, 1, 0.32, 1); &::placeholder { color: $grey; } &:focus { // border-color: #eee; } } .slot { .hidden { display: none; } } ul { position: relative; background: white; list-style: none; margin-top: 4px; margin-bottom: 0; border-radius: 6px; text-align: left; padding: 19px 3px; box-shadow: 0 8px 16px rgba(0,0,0,.08); opacity: 0; transform: translate3d(0, -50px, 0); transition: .5s transform cubic-bezier(0.23, 1, 0.32, 1), .2s opacity; strong { display: block; font-weight: 600; } span { color: #767d88; font-size: 12px; em { color: $darkgrey; } } .no-results { padding: 8px 40px; color: #2a2f38; } } a { display: inline-block; padding: 8px 40px; font-weight: 600; color: #2a2f38; width: 100%; transition: .2s color, .2s background-color; &:hover { color: #3880ff; background-color: #fafafa; } } .searching { position: absolute; height: 1px; width: 8px; background: #3880ff; top: 30px; left: 0; animation: ionic-search-scan 1s ease-in-out infinite; } .search-box { // display: none; position: absolute; left: calc(50% - 330px); width: 660px; top: 10px; z-index: 12; padding-top: 2px; pointer-events: none; transition: opacity 0.2s linear; ion-icon { top: 17px; font-size: 17px; position: absolute; } &.active { pointer-events: all; ul { transform: none; opacity: 1; transition-delay: .2s; } input { transform: none; opacity: 1; transition-delay: .1s; } .search-static { opacity: 1; transform: none; } .close { opacity: 1; transform: none; transition-delay: .4s; } } } .backdrop { background: rgba(0, 8, 24, 0.4); position: fixed; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; pointer-events: none; transition: .4s all ease; &.active { opacity: 1; pointer-events: all; z-index: 11; } } &[mobile] { display: block; .search { color: #999; right: auto; left: 0; bottom: 0; font-size: 28px; padding: 22px; top: auto; z-index: 3; position: fixed; } .backdrop { top: 0; background: rgba(0,0,0,.5); z-index: 2; } .search-box { width: auto; left: 2px; right: 2px; top: 42px; bottom: 0; padding: 60px 12px 48px; position: fixed; z-index: 13; background: white; border-top-left-radius: 12px; border-top-right-radius: 12px; transform: translate3d(0, 100%, 0); transition: .4s transform cubic-bezier(0.23, 1, 0.32, 1); &.active { transform: none; } } .mobile-close { transition-delay: 0; left: calc(50% - 24px); top: 0; left: 0; right: 0; position: absolute; svg { position: absolute; top: 8px; width: 40px; height: 40px; left: calc(50% - 20px); } } .searching { top: 113px; z-index: 13; animation: ionic-search-scan-mobile 1s ease-in-out infinite; } ul { opacity: 1; transform: none; z-index: 3; top: auto; box-shadow: none; width: 100%; max-height: calc(100vh - 154px); overflow: touch; } .search-static { transform: none; opacity: 1; z-index: 13; top: 71px; left: 22px; } a { padding-left: 20px; padding-right: 20px; } input { margin: 0 0 10px; padding: 10px 40px 8px; background: #eceef2; border-radius: 12px; width: 100%; } ~ .mobile-nav__pane { min-height: 100%; background: white; transition: .4s transform ease, .4s border-radius step-end; } &.active ~ .mobile-nav__pane { border-radius: 12px; transform: scale3d(0.97, 0.97, 1); transition: .4s transform ease; } } } .mobile-nav { background: black !important; } ================================================ FILE: assets/stencil/components/ionic-search/ionic-search.tsx ================================================ import 'ionicons'; import { Close } from '../../icons'; import { Component, Element, Prop, State, h } from '@stencil/core'; @Component({ tag: 'ionic-search', styleUrl: 'ionic-search.scss', shadow: false }) export class IonicSearch { @State() active = false; @State() query = ''; @State() pending = 0; @State() results: Array = null; @State() dragStyles: {}; // @State() pane: HTMLDivElement; @Prop() mobile: boolean; @Element() el; dragY:number = null; startY:number = null; screenHeight: number = null; urls: any; URLS = () => { const api = 'https://api.swiftype.com/api/v1/public/engines/'; const key = '9oVyaKGPzxoZAyUo9Sm8'; return { autocomplete: query => `${api}suggest.json?q=${query}&engine_key=${key}`, search: query => `${api}search.json?q=${query}&engine_key=${key}` } }; constructor() { this.activate = this.activate.bind(this); this.close = this.close.bind(this); this.onKeyUp = this.onKeyUp.bind(this); this.touchStart = this.touchStart.bind(this); this.touchMove = this.touchMove.bind(this); this.touchEnd = this.touchEnd.bind(this); this.urls = this.URLS(); } // componentDidLoad() { // this.pane = this.el.parentElement.querySelector('.mobile-nav__pane'); // } activate() { this.active = true; this.el.classList.add('active'); setTimeout(() => { this.el.querySelector('input').focus(); }, 500, this) } close() { this.active = false; this.el.classList.remove('active'); this.el.querySelector('input').blur(); setTimeout(() => { this.el.querySelector('input').value = ''; this.results = null; }, 500, this); } async onKeyUp(e) { if ( e.keyCode === 27) { this.close(); return; } if (e.target.value.length < 3) { this.results = null; return; } this.query = e.target.value; this.pending++; const resp = await fetch(this.urls.autocomplete(this.query)) const res = await resp.json(); this.pending--; this.results = res.records.page; } touchStart(e) { this.screenHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; this.startY = Math.round(e.touches.item(0).screenY) } touchMove(e) { e.preventDefault(); this.dragY = Math.max(0, Math.round( (e.touches.item(0).screenY - this.startY) / this.screenHeight * 100 )); this.dragStyles = { transitionDuration: '.1s', transform: `translate3d(0, ${this.dragY}%, 0)` } // window.requestAnimationFrame(()=> { // const scale = ((3 * this.dragY / 100) + 97) / 100; // this.pane.style.transform = `scale3d(${scale}, ${scale}, 1)`; // this.pane.style['transition-duration'] = '.1s'; // }); } isFirefox() { return navigator.userAgent.indexOf("Firefox") != -1; } touchEnd() { if (this.dragY > 30) { this.close(); } this.dragY = null; this.startY = null; this.dragStyles = {} } render() { return [
this.results && this.results.length > 5 ? null : e.preventDefault()}> {this.mobile && !this.isFirefox() ?
: } {this.results !== null ?
    {this.results.map(result =>
  • {result.title}
  • )} {this.results.length === 0 ?
  • No results
  • : null}
: null}
{this.pending > 0 ? : null}
, ,
]; } } ================================================ FILE: assets/stencil/components/ionic-slider/ionic-slider.scss ================================================ @import '../../vars'; ionic-slider { position: relative; [slot^="slide-"] { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; } > div { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; display: none; animation: fadeIn .5s ease; &.visible { display: block; &.new { z-index: 1; } } } .dots { position: absolute; top: 0; bottom: 0; left: 20px; padding: 0; display: flex; flex-direction: column; justify-content: center; align-content: center; z-index: 2; li { height: 8px; width: 8px; border-radius: 50%; border: 1px solid rgba(255,255,255, .5); margin-bottom: 4px; list-style: none; cursor: pointer; transition: .5s background-color ease, .5s border-color ease; &.active { background-color: white; border-color: white; } } } } ================================================ FILE: assets/stencil/components/ionic-slider/ionic-slider.tsx ================================================ import { Component, State, h } from '@stencil/core'; @Component({ tag: 'ionic-slider', styleUrl: 'ionic-slider.scss', shadow: false }) export class IonicSlider { slideCount = 1; timer = null; old = null; upcoming = null; slideDelay = 10000; @State() current = 0; @State() status = []; @State() ticker = 0; constructor() { this.getClasses.bind(this); this.goTo.bind(this); this.activate.bind(this); this.deactivate.bind(this); this.next.bind(this); for(let i = 0; i < this.slideCount; i++) { this.status.push({ visible: i === 0, active: i === 0, new: false }) } } componentDidLoad() { this.timer = setTimeout(this.next, this.slideDelay); } next = () => { this.goTo(this.current >= this.slideCount - 1 ? 0 : this.current + 1) } goTo = (slide: number) => { // slide doesn't exist if (!this.status[slide]) return; clearTimeout(this.timer); this.old = this.current; setTimeout(this.deactivate, 1000); this.upcoming = this.current = slide; this.status[slide].visible = true; this.status[slide].new = true; setTimeout(this.activate, 500); this.timer = setTimeout(this.next, this.slideDelay); this.ticker++; // return true; } deactivate = () => { this.status[this.old].active = false; this.status[this.old].visible = false; this.status[this.current].new = false; this.ticker++; } activate = () => { this.status[this.current].active = true; this.ticker++; } getClasses(item) { return [ this.status[item].visible ? 'visible' : '', this.status[item].active ? 'active' : '', this.status[item].new ? 'new' : '' ].join(' '); } render() { return [
,
,
]; } } ================================================ FILE: assets/stencil/components/ionic-snap-bar/ionic-snap-bar.scss ================================================ @import "../../vars"; ionic-snap-bar { background: linear-gradient(to right, #17203d, #1f2c53); display: none; width: 100%; position: relative; padding: 0 24px; z-index: 1; &.hydrated { display: block; } .wrapper { padding: 0 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-around; color: rgba(white, 0.6); margin: 0 auto; max-width: 586px; height: 0; transition: 0.4s height ease, 0.4s padding ease; &.active { height: 48px; padding-top: 13px; padding-bottom: 13px; > * { transform: scaleY(1); } + .close { opacity: 1; pointer-events: all; } } > * { font-size: 1em; font-weight: 600; display: inline-block; transform: scaleY(0); transition: 0.2s transform ease; } a { border-radius: 1.8em; text-transform: uppercase; color: #fff; text-decoration: none; background: rgba(56, 128, 255, 0.28); display: inline-block; padding: 6px 12px 4px; font-size: 10px; letter-spacing: 0.1em; margin-bottom: 2px; transition: 0.2s background ease; font-weight: 800; &::after { content: ""; border: solid white; border-width: 0 1px 1px 0; display: inline-block; padding: 3px; margin-left: 2px; vertical-align: 1px; transform: rotate(-45deg); } &:hover { background: rgba(56, 128, 255, 0.4); } } strong, h1, h2, h3, h4 { font-weight: 700; color: white; letter-spacing: 0.01em; } } .close { color: rgba(white, 0.3); position: absolute; font-size: 24px; right: 16px; top: 5px; cursor: pointer; pointer-events: none; opacity: 0; transition: 0.4s opacity ease, 0.2s color ease; &:hover { color: rgba(white, 0.5); } } } ================================================ FILE: assets/stencil/components/ionic-snap-bar/ionic-snap-bar.tsx ================================================ import { Component, State, h } from '@stencil/core'; @Component({ tag: 'ionic-snap-bar', styleUrl: 'ionic-snap-bar.scss', shadow: false }) export class IonicSnapBar { @State() active = false; componentDidLoad() { setTimeout(() => { this.active = true; }, 2500); } close() { this.active = false; } render() { return [
,
×
]; } } ================================================ FILE: assets/stencil/components/ionic-sub-header/ionic-sub-header.scss ================================================ @import "../../vars"; ionic-sub-header { font-family: $font-family-inter; position: sticky; top: 0; top: -0.5px; z-index: 99; backdrop-filter: blur(20px); transition: 0.2s box-shadow; &.ionic-sub-header--initialized { transition: background-color 0.4s ease, box-shadow 0.4s ease; &:not(.ionic-sub-header--stuck) { backdrop-filter: none; } } &__trigger { position: absolute; left: 0; width: 100vw; height: 1px; pointer-events: none; opacity: 0; @media (max-width: $screen-xs-max) { top: 0; } } &.ionic-sub-header--not-sticky { position: relative; &.ionic-sub-header--stuck { background: none; box-shadow: none; backdrop-filter: none; } } &.ionic-sub-header--stuck { background: #020814; box-shadow: 0 1px 0px rgba(black, 0.06); @supports ( (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px)) ) { background: rgba(#020814, 0.8); } } & > .container { display: flex; flex-direction: row; justify-content: space-between; align-items: center; color: white; font-size: 13px; font-weight: 500; min-height: 55px; // flex-wrap: wrap; overflow-x: auto; position: relative; z-index: 1; &::before { border-top: 1px solid rgba(white, 0.06); display: block; content: ""; position: absolute; top: 0; right: 15px; left: 15px; flex: 0 0 100%; @media (max-width: $screen-xs-max) { display: none; } } &::after { display: none; } } ul { padding: 0; list-style: none; margin-bottom: 0; display: flex; align-items: center; font-size: 12px; line-height: 14px; letter-spacing: -0.02em; font-weight: 400; } li { display: flex; align-items: center; } [slot="right"] li:last-child a:not(.btn) { padding-right: 0; } ul:not([slot="right"]) li:first-child a, [slot="left"] li:first-child a, [slot="title"] { padding-left: 0; } ul { font-size: 13px; line-height: 14px; } [slot="title"] { // same as .sub-header__breadcrumbs li:last-child a font-size: 16px; font-weight: 600; line-height: 22px; letter-spacing: -0.03em; padding-top: 0; padding-bottom: 0; &:hover { color: white; } } [slot="breadcrumbs"] li { &::after { content: "/"; color: rgba(white, 0.1); font-size: 16px; font-weight: 400; vertical-align: 0px; } a { padding-left: 8px; padding-right: 8px; color: rgba(white, 0.6); } &:last-child { a { font-weight: 600; color: white; } &::after { display: none; } } } span, a { color: white; fill: white; position: relative; letter-spacing: 0; padding: 16px 12px; display: inline-block; text-decoration: none; white-space: nowrap; transition: 0.2s color; &.has-icon { padding-left: 32px; } ion-icon { font-size: 1.4em; position: absolute; left: 12px; top: 14px; } } a { cursor: pointer; svg, path { transition: 0.2s fill; vertical-align: -15%; } &.active { pointer-events: none; } &:hover, &:active, &:focus { text-decoration: none; } &.current, &.active, &:hover { color: rgba(white, 0.4); } &.btn { padding: 5px 10px 6px; border-radius: 6px; color: white; font-size: 13px; font-weight: 600; vertical-align: 0px; letter-spacing: -0.01em; margin-right: 3px; margin-left: 9px; box-shadow: none; transition: 0.3s box-shadow, 0.3s background; &:hover { box-shadow: 0 3px 5px rgba(0, 0, 0, 0.15); } &:active { box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2); } } } .ionic-sub-header__mobile-toggle { display: none; } @media (max-width: $screen-xs-max) { &.hydrated.ionic-sub-header--initialized { max-height: 55px; background: transparent; } > .container { max-height: 55px; transition: 0.4s max-height ease; background: black; backdrop-filter: blur(20px); @supports ( (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px)) ) { background: rgba(black, 0.9); } } &, & > .container { overflow: visible; perspective: 1000px; } span, a { ion-icon { font-size: 1.4em; position: static; vertical-align: -3px; } } .ionic-sub-header__mobile-toggle { display: block; margin-top: 2px; cursor: pointer; transform-style: preserve-3d; transition: 0.4s transform cubic-bezier(0.07, 0.65, 0.57, 1.66); svg path { stroke-dasharray: 955; stroke-dashoffset: 955; transition: stroke-dashoffset 0.4s linear forwards; } &:hover { color: inherit; } } [slot="right"] { flex: 100%; // position: absolute; // background: white; // left: 0; // top: 55px; // width: 100vw; padding: 0 16px 16px; display: flex; flex-direction: column; justify-content: stretch; align-items: stretch; // box-shadow: 0 1px 0px rgba(black, .06); // backdrop-filter: blur(20px); // @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) { // background: rgba(white, .8); // } transform: scaleY(0); transform-origin: top; transition: transform 0.4s ease 0.3s; li { display: block; opacity: 0; transform: translateX(15px); transition: transform 0.4s step-end 0s, opacity 0.4s ease 0s; } a { width: 100%; padding-left: 0; padding-right: 0; } .btn { margin-top: 16px; text-align: center; margin-left: 0; border-radius: 4px; } } &.ionic-sub-header--mobile-active { // box-shadow: none; > .container { box-shadow: 0 1px 0px rgba(black, 0.06); transition: 0.4s max-height ease; max-height: 600px; } .ionic-sub-header__mobile-toggle { transform: rotateZ(180deg); } [slot="right"] { transform: scaleY(1); transition: transform 0.4s ease 0s; li { transform: translateX(0); opacity: 1; transition: 0.4s transform 0.2s ease, 0.4s opacity 0.2s ease; &:nth-child(2) { transition-delay: 0.3s; } &:nth-child(3) { transition-delay: 0.4s; } &:nth-child(4) { transition-delay: 0.5s; } &:nth-child(5) { transition-delay: 0.6s; } } } } & > .container { flex-wrap: wrap; } } } body.light ionic-sub-header { &.ionic-sub-header--stuck { background: white; @supports ( (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px)) ) { background: rgba(white, 0.9); } } .container::before { border-top-color: rgba(black, 0.06); } span, a { color: #414d5c; fill: #414d5c; } .btn, .btn:hover { color: white; } .btn.white { color: #4d8dff; border: 1px solid #e9edf3; box-shadow: 0px 1px 2px rgba(0, 16, 46, 0.04); border-radius: 6px; padding-bottom: 6px; &:hover { box-shadow: 0px 2px 4px rgba(0, 16, 46, 0.08); } &:active, &:focus { box-shadow: inset 0px 1px 2px rgba(0, 16, 46, 0.04); } } [slot="breadcrumbs"] li { &:after { color: rgba(#414d5c, 0.2); } &:not(:last-child) a { color: rgba(#414d5c, 0.6); &:hover { color: $blue; } } } [slot="breadcrumbs"], [slot="title"] { &, a { color: #1a232f; &:hover { color: #1a232f; } } } a { &.current, &.active { color: #b1bbca; } &:hover { color: $blue; svg, path { fill: $blue; } } &.ionic-sub-header__mobile-toggle:hover { svg, path { fill: unset; } } } @media (max-width: $screen-xs-max) { > .container { background: white; @supports ( (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px)) ) { background: rgba(white, 0.9); } } } } ================================================ FILE: assets/stencil/components/ionic-sub-header/ionic-sub-header.tsx ================================================ import { Component, Element, Prop, State, h } from '@stencil/core'; import { ChevronDown } from '../../icons'; @Component({ tag: 'ionic-sub-header', styleUrl: 'ionic-sub-header.scss', shadow: false }) export class IonicSubHeader { @Prop() darkMode = true; @State() mobileDropdownActive = false; @State() stuck = false; @State() queued = false; @Element() el; observer: IntersectionObserver; constructor() { this.handleMobileToggleClick = this.handleMobileToggleClick.bind(this); } getTriggerEl() { // return (
) const trigger = document.createElement('div'); trigger.id = 'ionic-sub-header__trigger'; return trigger; } componentDidLoad() { this.el.before(this.getTriggerEl()); this.init(); requestAnimationFrame(()=>{ this.el.classList.add('ionic-sub-header--initialized'); }) } init() { this.observer = new IntersectionObserver(entries => { if (this.queued) return; // no intersection with screen if(!this.stuck && entries[0].intersectionRatio === 0) { this.queued = true; requestAnimationFrame(() => { this.el.classList.add('ionic-sub-header--stuck'); this.stuck = true; this.queued = false; }); // fully intersects with screen } else if(this.stuck && entries[0].intersectionRatio === 1) { this.queued = true; requestAnimationFrame(() => { this.el.classList.remove('ionic-sub-header--stuck'); this.stuck = false; this.queued = false; }) } }, { threshold: [0,1] }) if (this.el) { this.observer.observe(document.getElementById('ionic-sub-header__trigger')); setTimeout(() => { this.el.classList.add('ionic-sub-header--initialized'); document.querySelector('.navbar-default').classList.add('navbar--not-fixed'); }, 405) } } handleMobileToggleClick() { this.el.classList.toggle('ionic-sub-header--mobile-active'); } render() { return ( ); } } ================================================ FILE: assets/stencil/components/ionic-switcher/ionic-switcher.scss ================================================ ionic-switcher { .switcher { display: flex; justify-content: center; align-items: center; user-select: none; width: 100%; .empty-circle { display: inline-block; vertical-align: middle; width: 10px; height: 10px; border-radius: 10px; border: 1px solid var(--c-carbon-900); } .switcher-separator { display: inline-block; width: 22px; height: 1px; margin: 0px 6px; background-color: var(--c-indigo-400); } .switcher-button { text-align: left; color: #020814; width: auto; position: relative; ion-icon, .empty-circle { vertical-align: middle; margin-right: 7px; margin-bottom: 1px; } &.switcher-button-completed { &:after { background-color: var(--c-blue-800); } color: #3880ff; ion-icon { color: #3880ff; fill: #3880ff; stroke: #3880ff; } } &.switcher-button-inactive { color: #92a1b3; .empty-circle { border-color: var(--c-indigo-400); } } } } } ================================================ FILE: assets/stencil/components/ionic-switcher/ionic-switcher.tsx ================================================ import { Component, h, Prop } from "@stencil/core"; @Component({ tag: "ionic-switcher", styleUrl: "ionic-switcher.scss", shadow: false, }) export class IonicSwitcher { @Prop() items: string; @Prop() index: number; render() { const { index } = this; const items = this.items.split(","); return (
{items.map((item, i) => { const completed = i < index; const inactive = i > index; return [
{completed ? :
} {item}
, i < items.length - 1 ?
: null, ]; })}
); } } ================================================ FILE: assets/stencil/components/ionic-toggle/ionic-toggle-button.scss ================================================ :host { flex: 1; display: flex; text-decoration: none; cursor: pointer; border: 1px solid #eee; text-align: center; font-size: 14px; } div { padding: 16px; flex: 1; } :host(:last-child) { border-left: none; } :host(.selected) { background-color: #4F8EF7; color: white; font-weight: bold; } ================================================ FILE: assets/stencil/components/ionic-toggle/ionic-toggle-button.tsx ================================================ import { Component, Event, Prop, State, EventEmitter, Method, h } from '@stencil/core'; @Component({ tag: 'ionic-toggle-button', styleUrl: 'ionic-toggle-button.scss', shadow: true }) export class IonicToggleButton { @Event() toggleSelected: EventEmitter; @Prop() title: string; @Prop() tab: string; @State() selected = false; @Method() deselect() { this.selected = false; } @Method() select() { this.selected = true; } handleSelected() { this.toggleSelected.emit(this); } hostData() { return { class: { selected: this.selected } } } render() { return (
this.handleSelected()}> {this.title}
); } } ================================================ FILE: assets/stencil/components/ionic-toggle/ionic-toggle-tab.tsx ================================================ import { Component, Prop, Method, State, h } from '@stencil/core'; @Component({ tag: 'ionic-toggle-tab', styles: ` `, shadow: true }) export class IonicToggleTab { @Prop() tab: string; @State() hidden = true; @Method() hide() { this.hidden = true; } @Method() show() { this.hidden = false; } hostData() { return { style: { display: this.hidden ? 'none' : 'block' } } } render() { return ( ); } } ================================================ FILE: assets/stencil/components/ionic-toggle/ionic-toggle.scss ================================================ :host { display: block; } .toggle-buttons { display: flex; flex-direction: row; justify-content: center; } .toggle-tabs { } ================================================ FILE: assets/stencil/components/ionic-toggle/ionic-toggle.tsx ================================================ import { Component, Element, Listen, h } from '@stencil/core'; import { IonicToggleButton } from './ionic-toggle-button'; import { IonicToggleTab } from './ionic-toggle-tab'; @Component({ tag: 'ionic-toggle', styleUrl: 'ionic-toggle.scss', shadow: true }) export class IonicToggle { @Element() el: Element; componentDidLoad() { } @Listen('toggleSelected') selectionChanged(e: any) { const target = e.detail as IonicToggleButton; const buttons = this.el.querySelectorAll('ionic-toggle-button'); Array.prototype.forEach.call(buttons, (child: IonicToggleButton) => { child.deselect(); }); const tabName = target.tab; target.select(); console.log('Selecting this one', tabName, target); const tabs = this.el.querySelectorAll(`ionic-toggle-tab`); console.log('Found tabs', tabs); Array.prototype.forEach.call(tabs, (tab: IonicToggleTab) => { tab.hide(); if (tab.tab === tabName) { tab.show(); } }) } render() { return (
); } } ================================================ FILE: assets/stencil/components/react-capacitor/react-capacitor.scss ================================================ @import "../../vars"; // @import '../../../../node_modules/prismjs/themes/prism-tomorrow'; @import "../../prism-ionic"; :host { display: flex; flex-direction: column; width: 100%; border-radius: 10px; position: relative; @media (max-width: $screen-xs-max) { width: 100%; max-width: 560px; } .code-header { background: #0b1521; z-index: 1; position: relative; border-radius: 10px 10px 0 0; font-size: 12px; font-weight: 600; line-height: 13px; letter-spacing: 0.1em; text-transform: uppercase; display: flex; justify-content: space-between; user-select: none; ul { display: flex; flex-direction: row; padding: 0; margin: 0; @media (max-width: 400px) { overflow-x: auto; } } li { color: #7a8ea7; border: 1px solid transparent; list-style: none; padding: 20px; cursor: pointer; position: relative; transition: 0.2s color, 0.2s background-color; &::after { position: absolute; height: 1px; content: ""; bottom: -2px; left: 0; right: 0; background: transparent; } &.active { background: #1c2b3e; border-color: #283a50; border-bottom-color: #1c2b3e; color: #ffffff; &::after { background: #1c2b3e; } } &:first-child { border-radius: 10px 0 0 0; } &:hover { color: #ffffff; } @media (max-width: 530px) { padding: 20px 10px; } } a { background: rgba(#7cabff, 0.3); color: #7cabff; border-radius: 16px; padding: 8px; align-self: center; margin-right: 20px; transition: 0.2s background-color; &:hover, &:active, &:focus { text-decoration: none; background: rgba(#7cabff, 0.5); } @media (max-width: 470px) { display: none; } } } .tab-content { } .tab-content { background: #1c2b3e; border: 1px solid #283a50; border-radius: 10px; align-items: flex-start; position: relative; margin: 0; padding: 0; display: flex; overflow-x: auto; height: 100%; li { display: none; &.active { display: block; } } pre { background: transparent; padding: 0; margin: 0; color: white; border: none; border-radius: 10px; font-size: 13px; line-height: 23px; letter-spacing: -0.01em; font-weight: 500; font-family: $font-family-mono; padding: 1.5rem 3rem; code { white-space: pre; } } .tag { background: transparent; margin-left: 0; padding: 0; border-radius: 0; font-weight: 700; font-size: inherit; text-transform: none; letter-spacing: 0; } } .preview-icon { position: absolute; padding: 0; bottom: -70px; right: -20px; li { display: none; list-style: none; &.active { display: block; } } } } ================================================ FILE: assets/stencil/components/react-capacitor/react-capacitor.tsx ================================================ import { Component, State, h, Prop, Watch } from '@stencil/core'; import '@ionic/core'; import Prism from 'prismjs'; export type TabType = 'notifications' | 'camera' | 'geolocation'; @Component({ tag: 'react-capacitor', styleUrl: 'react-capacitor.scss', shadow: true, }) export class ReactCapacitor { @Prop() tab: TabType = 'camera'; @State() activeTab: TabType = 'camera'; constructor() {} @Watch('tab') handleTabChange() { this.activeTab = this.tab; } componentWillLoad() {} componentDidLoad() {} render() { return [
    {Object.keys(this.markup).map((key) => (
  •               
                
  • ))}
, ]; } markup = { notifications: { dimensions: { x: 137, y: 134, }, code: ` import { LocalNotifications } from '@capacitor/local-notifications'; LocalNotifications.schedule({ notifications: [ { title: "On sale", body: "Widgets are 10% off. Act fast!", id: 1, schedule: { at: new Date(Date.now() + 1000 * 5) }, sound: null, attachments: null, actionTypeId: "", extra: null } ] });`, }, camera: { dimensions: { x: 119, y: 125, }, code: ` import { Camera, CameraResultType } from '@capacitor/camera'; async takeProfilePicture() { // Take a picture or video, or load from the library const image = await Camera.getPhoto({ quality: 90, allowEditing: true, resultType: CameraResultType.Uri }); } `, }, geolocation: { dimensions: { x: 122, y: 122, }, code: ` import { Geolocation } from '@capacitor/geolocation'; // get the users current position const position = await Geolocation.getCurrentPosition(); // grab latitude & longitude const latitude = position.coords.latitude; const longitude = position.coords.longitude; `, }, }; } ================================================ FILE: assets/stencil/components/react-components/react-components.scss ================================================ @import '../../vars'; // @import '../../../../node_modules/prismjs/themes/prism-tomorrow'; @import '../../prism-ionic'; :host { display: block; .grid { height: 100%; display: grid; grid-template-columns: 1fr; grid-template-rows: 50px 1fr; } border-radius: 10px; margin-right: -24px; margin-left: -24px; @media (min-width: 1200px) { margin-right: -64px; margin-left: -64px; } @media (max-width: $screen-sm-max) { grid-template-columns: minmax(200px, 1fr) 290px; margin-right: -8px; margin-left: -8px; } .code-header { background: #0B1521; border-radius: 10px 0 0 0; font-size: 12px; font-weight: 600; line-height: 13px; letter-spacing: 0.1em; text-transform: uppercase; display: flex; justify-content: space-between; ul { display: flex; flex-direction: row; padding: 0; margin: 0; } li { color: #7A8EA7; border: 1px solid transparent; list-style: none; padding: 20px; cursor: pointer; user-select: none; z-index: 1; position: relative; transition: .2s color, .2s background-color; &::after { position: absolute; height: 1px; content: ''; bottom: -2px; left: 0; right: 0; background: transparent; } &.active { background: #1C2B3E; border-color: #283A50; border-bottom-color: #1C2B3E; color: #FFFFFF; &::after { background: #1C2B3E; } } &:first-child { border-radius: 10px 0 0 0; } &:hover { color: #FFFFFF; } @media (max-width: $screen-xs-max) { padding: 20px 10px; } } a { background: rgba(#7CABFF, 0.3); color: #7CABFF; border-radius: 16px; padding: 8px; align-self: center; margin-right: 20px; transition: .2s background-color; &:hover, &:active, &:focus { text-decoration: none; background: rgba(#7CABFF, 0.5); } @media (max-width: $screen-xs-max) { display: none; } } } .preview-header { background: #F9FAFC; border: 1px solid #E9EDF3; border-bottom: none; border-radius: 10px 10px 0px 0px; display: flex; justify-content: center; align-items: center; ion-segment { display: flex; justify-content: center; width: 142px; background: #E9EDF3; } ion-segment-button { flex: 0 1; } } .tab-content, .preview-content { position: relative; padding: 0; margin: 0; li { display: none; &.active { display: block; } } } .preview-content.code { background: #1C2B3E; display: block; overflow: hidden; pre { background: transparent; padding: 0; margin: 0; color: white; border: none; font-size: 13px; line-height: 23px; letter-spacing: -.01em; font-weight: 500; font-family: $font-family-mono; padding: 24px 0 24px 48px; @media (max-width: $screen-xs-max) { padding: 24px 0 48px 16px; } code { white-space: pre; } } } .preview-content { background: radial-gradient(#E8EBEF 10%, #FCFDFE 10%) repeat; border: 1px solid #E9EDF3; background-size: 10px 10px; border-radius: 0 0 10px 10px; display: flex; justify-content: center; align-items: center; iframe { background: transparent; } } @media (max-width: 525px) { grid-template-columns: 100%; .code-header { border-radius: 10px 10px 0 0; li { padding: 20px; } } .tab-content { border-radius: 0 0 10px 10px; } } } ================================================ FILE: assets/stencil/components/react-components/react-components.tsx ================================================ import { Component, // Element, // Prop, State, h, Prop, Watch } from '@stencil/core'; import '@ionic/core'; import Prism from 'prismjs'; export type TabType = 'card' | 'lists' | 'actionSheet'; @Component({ tag: 'react-components', styleUrl: 'react-components.scss', shadow: true }) export class ReactComponents { @Prop() tab: TabType = 'card'; @State() activeTab: TabType = 'card'; @State() activeView = 'preview'; constructor() { } @Watch('tab') handleTabChange() { this.activeTab = this.tab; } componentWillLoad() { } componentDidLoad() { } resizeIframe(el) { setTimeout(() => { console.log(el.contentWindow.document.documentElement.scrollHeight) el.style.height = (el.contentWindow.document.documentElement.scrollHeight || 350) + 'px'; }, 50) } renderCode = (code) => { return (
); } render() { return (
this.activeView = e.detail.value }> Preview Code
    {Object.keys(this.markup).map(key => (
  • {this.activeView === 'code' ? this.renderCode(this.markup[key].display) : null}
  • ))}
); } ionicInjector(code) { return ` ${code}`; } markup = { card: { display: ` Card Subtitle Card Title

Here’s a small text description for the card component. Nothing more, nothing less.

Action
`, src: ` Card Subtitle Card Title Here's a small text description for the card content. Nothing more, nothing less. Action ` }, lists: { display: `

Discover

Music we think you'll love.

{albums.map(album =>

{album.title}

{album.artist}, {album.year}

)}
`, src: `

Beast Epic

Iron & Wine, 2017

Good At Falling

The Japanese House, 2019

Hallucinogen

Kelela, 2015

22, A Million

Bon Iver, 2016

4 Walls

f(x), 2015

` }, actionSheet: { display: ` setShowActionSheet(true)} expand="block">Show Action Sheet setShowActionSheet(false)} buttons={buttons} />`, src: ` Open Action Sheet ` } } } ================================================ FILE: assets/stencil/components/react-demo/react-demo.scss ================================================ ================================================ FILE: assets/stencil/components/react-demo/react-demo.tsx ================================================ import { Component, Element, h } from '@stencil/core'; @Component({ tag: 'ionic-react-demo', styleUrl: 'react-demo.scss', shadow: true }) export class IonicReactDemo { @Element() el: Element; componentDidLoad() { } render() { return (
); } } ================================================ FILE: assets/stencil/components/twitter-script/twitter-script.tsx ================================================ import { Component, h } from '@stencil/core'; @Component({ tag: 'twitter-script', shadow: false }) export class TwitterScript { scriptEl: HTMLScriptElement; componentDidLoad() { const scriptValue = ` window.twttr = (function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); t._e = []; t.ready = function (f) { t._e.push(f); }; return t; }(document, "script", "twitter-wjs"));` const script = document.createElement('script') as HTMLScriptElement; script.type = 'text/javascript'; script.async = true; script.innerHTML = scriptValue; document.body.appendChild(script); } componentDidUnload() { this.scriptEl && this.scriptEl.parentNode.removeChild(this.scriptEl); } render() { return ; } } ================================================ FILE: assets/stencil/components/ui/floating-input/floating-input.scss ================================================ ui-floating-input { display: block; position: relative; .ui-floating-input { position: relative; background: var(--c-indigo-50); &.focused { border-color: var(--c-blue-800); label { color: var(--c-blue-800) !important; } input { caret-color: var(--c-blue-800); } } &.focused, &.has-value { label { font-size: 12px !important; // line-height: 15px; line-height: 1.15rem; transform: translateY(-106%) scale(0.75); cursor: auto; } } } label { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); transform-origin: left top; will-change: transform; pointer-events: none; color: var(--c-carbon-100) !important; display: block; font-weight: normal; font-size: 15px !important; line-height: 18px !important; letter-spacing: .009375em; overflow: hidden; white-space: nowrap; text-align: left; cursor: text; transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1); } input { border: 1px solid var(--c-indigo-400); border-radius: 8px; padding: 20px 16px 6px; color: var(--c-carbon-800); width: 100%; &:focus { } &:required { box-shadow: none; } &:valid { } &.invalid { border: 1px solid var(--c-red-600); } } .form-message { color: var(--c-red-600); font-weight: 500; &--small { font-size: 11px; line-height: 16px; margin-top: 2px; } } } ================================================ FILE: assets/stencil/components/ui/floating-input/floating-input.tsx ================================================ import { Component, h, Prop, State, Method } from '@stencil/core'; @Component({ tag: 'ui-floating-input', styleUrl: 'floating-input.scss', shadow: false }) export class FloatingInput { @Prop() label = ''; @Prop() disabled = false; @Prop() value = ''; @Prop() name: string; @Prop() inputId: string; @Prop() type = 'text'; @Prop() message = ''; @Prop() inputTabIndex: number; @Prop() required: boolean; @Prop() autocomplete: string; @Prop() onChange: (e) => void = (_e) => {}; @State() focused = false; @Method() async setFocus(focused) { this.focused = focused; } checkChange = (e) => { this.onChange && this.onChange(e); } handleInput = (e) => { this.checkChange(e); } handleChange = (e) => { this.checkChange(e); } handleKeyUp = (e) => { this.checkChange(e); } handlePaste = (e) => { this.checkChange(e); } handleClick = (e) => { this.checkChange(e); } handleBlur = () => { this.setFocus(false); this.message = ''; } render() { const { label, type, name, inputId, inputTabIndex, required, value, disabled, autocomplete, message } = this; return [
this.setFocus(true)} onBlur={this.handleBlur} />
, message &&
{message}
]; } } ================================================ FILE: assets/stencil/components/ui/tip/tip.scss ================================================ ui-tip { display: contents; cursor: pointer; } ui-tip.is-active:after { opacity: 1; transition: opacity 150ms; transition-delay: 100ms; } ui-tip:after { background-color: var(--c-black); border: solid 1px var(--c-gray-30); border-radius: 4px; color: var(--c-grey-400); content: attr(text); font-family: var(--font-family); font-size: 12px; text-transform: none; line-height: 1; opacity: 0; padding: 0.75em; pointer-events: none; position: fixed; transition: opacity 75ms; white-space: nowrap; z-index: 1000; } ui-tip.bottom:after { left: calc(var(--target-left) + (var(--target-width) / 2) + var(--tip-adjustment-x, 0px)); top: calc(var(--target-bottom) - var(--tip-adjustment-y, 0px)); transform: translate(-50%, 0); } ui-tip.right:after { left: calc(var(--target-right) + var(--tip-adjustment-x, 0px)); top: calc(var(--target-top) + (var(--target-height) / 2) - var(--tip-adjustment-y, 0px)); transform: translate(0, -50%); } ui-tip.top:after { left: calc(var(--target-left) + (var(--target-width) / 2) + var(--tip-adjustment-x, 0px)); top: calc(var(--target-top) - var(--tip-adjustment-y, 0px)); transform: translate(-50%, -100%); } ui-tip.left:after { left: calc(var(--target-left) + var(--tip-adjustment-x, 0px)); top: calc(var(--target-top) + (var(--target-height) / 2) - var(--tip-adjustment-y, 0px)); transform: translate(-100%, -50%); } ================================================ FILE: assets/stencil/components/ui/tip/tip.tsx ================================================ import { Component, Element, Listen, State, Prop, h } from '@stencil/core'; const defaultBounds: ClientRect = { top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0, }; @Component({ tag: 'ui-tip', styleUrl: 'tip.scss' }) export class UiTip { @Prop({ reflect: true }) text: string; @Prop({ reflect: true }) disabled = false; @Prop() position: 'top' | 'right' | 'bottom' | 'left' = 'bottom'; @State() isActive = false; @State() bounds: ClientRect; @Element() element: HTMLElement; @Listen('mouseenter') handleMouseEnter() { if (!this.disabled && this.element.firstElementChild) { this.bounds = this.getBounds(this.element.firstElementChild); this.isActive = true; } } @Listen('mousedown') @Listen('mouseleave') handleMouseLeave() { this.isActive = false; } getBounds(element: Element): ClientRect { return element.getBoundingClientRect(); } hostData() { const { bounds = defaultBounds } = this; return { class: { 'is-active': this.isActive, [this.position]: true, }, style: { '--target-top': `${bounds.top}px`, '--target-right': `${bounds.right}px`, '--target-bottom': `${bounds.bottom}px`, '--target-left': `${bounds.left}px`, '--target-width': `${bounds.width}px`, '--target-height': `${bounds.height}px`, }, 'aria-label': this.text, }; } render() { return ; } } ================================================ FILE: assets/stencil/components/vue-components/vue-components.scss ================================================ @import "../../vars"; // @import '../../../../node_modules/prismjs/themes/prism-tomorrow'; @import "../../prism-ionic"; :host { display: block; * { box-sizing: border-box; } .grid { height: 100%; display: grid; grid-template-columns: 1fr; grid-template-rows: 50px 1fr; } border-radius: 10px; margin-right: -24px; margin-left: -24px; @media (min-width: 1200px) { margin-right: -64px; margin-left: -64px; } @media (max-width: $screen-sm-max) { grid-template-columns: minmax(200px, 1fr) 290px; margin-right: -8px; margin-left: -8px; } .code-header { background: #0b1521; border-radius: 10px 0 0 0; font-size: 12px; font-weight: 600; line-height: 13px; letter-spacing: 0.1em; text-transform: uppercase; display: flex; justify-content: space-between; ul { display: flex; flex-direction: row; padding: 0; margin: 0; } li { color: #7a8ea7; border: 1px solid transparent; list-style: none; padding: 20px; cursor: pointer; user-select: none; z-index: 1; position: relative; transition: 0.2s color, 0.2s background-color; &::after { position: absolute; height: 1px; content: ""; bottom: -2px; left: 0; right: 0; background: transparent; } &.active { background: #1c2b3e; border-color: #283a50; border-bottom-color: #1c2b3e; color: #ffffff; &::after { background: #1c2b3e; } } &:first-child { border-radius: 10px 0 0 0; } &:hover { color: #ffffff; } @media (max-width: $screen-xs-max) { padding: 20px 10px; } } a { background: rgba(#7cabff, 0.3); color: #7cabff; border-radius: 16px; padding: 8px; align-self: center; margin-right: 20px; transition: 0.2s background-color; &:hover, &:active, &:focus { text-decoration: none; background: rgba(#7cabff, 0.5); } @media (max-width: $screen-xs-max) { display: none; } } } .preview-header { background: #f9fafc; border: 1px solid #e9edf3; border-bottom: none; border-radius: 10px 10px 0px 0px; display: flex; justify-content: center; align-items: center; ion-segment { display: flex; justify-content: center; width: 142px; background: #e9edf3; } ion-segment-button { flex: 0 1; } } .tab-content, .preview-content { position: relative; padding: 0; margin: 0; li { display: none; &.active { display: block; } } } .preview-content.code { background: #1c2b3e; display: block; overflow: hidden; li { height: 100%; } pre { height: 100%; overflow-x: auto; background: transparent; padding: 0; margin: 0; color: white; border: none; font-size: 13px; line-height: 23px; letter-spacing: -0.01em; font-weight: 500; font-family: $font-family-mono; padding: 24px 48px; @media (max-width: $screen-xs-max) { padding: 24px 0 48px 16px; } code { white-space: pre; } } } .preview-content { background: radial-gradient(#e8ebef 10%, #fcfdfe 10%) repeat; border: 1px solid #e9edf3; background-size: 10px 10px; border-radius: 0 0 10px 10px; display: flex; justify-content: center; align-items: center; iframe { background: transparent; } } @media (max-width: 525px) { grid-template-columns: 100%; .code-header { border-radius: 10px 10px 0 0; li { padding: 20px; } } .tab-content { border-radius: 0 0 10px 10px; } } } ================================================ FILE: assets/stencil/components/vue-components/vue-components.tsx ================================================ import { Component, State, h, Prop, Watch } from "@stencil/core"; import "@ionic/core"; import Prism from "prismjs"; export type TabType = "card" | "lists" | "actionSheet"; @Component({ tag: "vue-components", styleUrl: "vue-components.scss", shadow: true, }) export class VueComponents { @Prop() tab: TabType = "card"; @State() activeTab: TabType = "card"; @State() activeView = "preview"; @Watch("tab") handleTabChange() { this.activeTab = this.tab; } resizeIframe(el) { setTimeout(() => { el.style.height = (el.contentWindow.document.documentElement.scrollHeight || 350) + "px"; }, 50); } renderCode = (code) => { return (
        
      
); }; render() { return (
this.activeView = e.detail.value } > Preview Code
    {Object.keys(this.markup).map((key) => (
  • {this.activeView === "code" ? this.renderCode(this.markup[key].display) : null}
  • ))}
); } ionicInjector(code) { return ` ${code}`; } markup = { card: { display: ` Card Subtitle Card Title

Here’s a small text description for the card component. Nothing more, nothing less.

Action
`, src: ` Card Subtitle Card Title Here's a small text description for the card content. Nothing more, nothing less. Action `, }, lists: { display: `

{{album.title}}

{{album.artist}}, {{album.year}}

`, src: `

Beast Epic

Iron & Wine, 2017

Good At Falling

The Japanese House, 2019

Hallucinogen

Kelela, 2015

22, A Million

Bon Iver, 2016

4 Walls

f(x), 2015

`, }, actionSheet: { display: ` Show Action Sheet `, src: ` Open Action Sheet `, }, }; } ================================================ FILE: assets/stencil/components.d.ts ================================================ /* eslint-disable */ /* tslint:disable */ /** * This is an autogenerated file created by the Stencil compiler. * It contains typing information for all components that exist in this project. */ import { HTMLStencilElement, JSXBase } from "@stencil/core/internal"; import { TabType } from "./components/angular-components/angular-components"; import { TabType as TabType1 } from "./components/react-capacitor/react-capacitor"; import { TabType as TabType2 } from "./components/react-components/react-components"; import { TabType as TabType3 } from "./components/vue-components/vue-components"; export namespace Components { interface AdditionalResources { "page": string; } interface AngularComponents { "tab": TabType; } interface AuthConnectPromo { } interface BarChart { "color": string; "graphData": string | object; } interface EbookSwitcher { "id": string; } interface HomeComponents { } interface HomeCountdown { "eventStart": string; } interface HomeNative { } interface HubspotDynamicContent { "listId": string; } interface HubspotForm { "ajax": boolean; "formId"?: string; "goToWebinarKey"?: string; "noDefaultStyles": boolean; "portalId": string; "submitText": any; } interface IconExternal { } interface IonicAppWizard { } interface IonicAppflowActivator { } interface IonicBarChart { "color": string; "data": string; } interface IonicButton { "color": string; "disabled": boolean; "type": string; } interface IonicEmojiPicker { "open": boolean; "openEvent": MouseEvent; } interface IonicNewsletterSignup { "arrowMode": boolean; "buttonText": string; "darkMode": boolean; "homepageMode": boolean; "kind": string; "lg": boolean; "placeholder": string; "srLabel": { id: string; text: string; }; } interface IonicReactDemo { } interface IonicSearch { "mobile": boolean; } interface IonicSlider { } interface IonicSnapBar { } interface IonicSubHeader { "darkMode": boolean; } interface IonicSwitcher { "index": number; "items": string; } interface IonicToggle { } interface IonicToggleButton { "deselect": () => Promise; "select": () => Promise; "tab": string; "title": string; } interface IonicToggleTab { "hide": () => Promise; "show": () => Promise; "tab": string; } interface ReactCapacitor { "tab": TabType; } interface ReactComponents { "tab": TabType; } interface TwitterScript { } interface UiFloatingInput { "autocomplete": string; "disabled": boolean; "inputId": string; "inputTabIndex": number; "label": string; "message": string; "name": string; "onChange": (e) => void; "required": boolean; "setFocus": (focused: any) => Promise; "type": string; "value": string; } interface UiTip { "disabled": boolean; "position": 'top' | 'right' | 'bottom' | 'left'; "text": string; } interface VueComponents { "tab": TabType; } } declare global { interface HTMLAdditionalResourcesElement extends Components.AdditionalResources, HTMLStencilElement { } var HTMLAdditionalResourcesElement: { prototype: HTMLAdditionalResourcesElement; new (): HTMLAdditionalResourcesElement; }; interface HTMLAngularComponentsElement extends Components.AngularComponents, HTMLStencilElement { } var HTMLAngularComponentsElement: { prototype: HTMLAngularComponentsElement; new (): HTMLAngularComponentsElement; }; interface HTMLAuthConnectPromoElement extends Components.AuthConnectPromo, HTMLStencilElement { } var HTMLAuthConnectPromoElement: { prototype: HTMLAuthConnectPromoElement; new (): HTMLAuthConnectPromoElement; }; interface HTMLBarChartElement extends Components.BarChart, HTMLStencilElement { } var HTMLBarChartElement: { prototype: HTMLBarChartElement; new (): HTMLBarChartElement; }; interface HTMLEbookSwitcherElement extends Components.EbookSwitcher, HTMLStencilElement { } var HTMLEbookSwitcherElement: { prototype: HTMLEbookSwitcherElement; new (): HTMLEbookSwitcherElement; }; interface HTMLHomeComponentsElement extends Components.HomeComponents, HTMLStencilElement { } var HTMLHomeComponentsElement: { prototype: HTMLHomeComponentsElement; new (): HTMLHomeComponentsElement; }; interface HTMLHomeCountdownElement extends Components.HomeCountdown, HTMLStencilElement { } var HTMLHomeCountdownElement: { prototype: HTMLHomeCountdownElement; new (): HTMLHomeCountdownElement; }; interface HTMLHomeNativeElement extends Components.HomeNative, HTMLStencilElement { } var HTMLHomeNativeElement: { prototype: HTMLHomeNativeElement; new (): HTMLHomeNativeElement; }; interface HTMLHubspotDynamicContentElement extends Components.HubspotDynamicContent, HTMLStencilElement { } var HTMLHubspotDynamicContentElement: { prototype: HTMLHubspotDynamicContentElement; new (): HTMLHubspotDynamicContentElement; }; interface HTMLHubspotFormElement extends Components.HubspotForm, HTMLStencilElement { } var HTMLHubspotFormElement: { prototype: HTMLHubspotFormElement; new (): HTMLHubspotFormElement; }; interface HTMLIconExternalElement extends Components.IconExternal, HTMLStencilElement { } var HTMLIconExternalElement: { prototype: HTMLIconExternalElement; new (): HTMLIconExternalElement; }; interface HTMLIonicAppWizardElement extends Components.IonicAppWizard, HTMLStencilElement { } var HTMLIonicAppWizardElement: { prototype: HTMLIonicAppWizardElement; new (): HTMLIonicAppWizardElement; }; interface HTMLIonicAppflowActivatorElement extends Components.IonicAppflowActivator, HTMLStencilElement { } var HTMLIonicAppflowActivatorElement: { prototype: HTMLIonicAppflowActivatorElement; new (): HTMLIonicAppflowActivatorElement; }; interface HTMLIonicBarChartElement extends Components.IonicBarChart, HTMLStencilElement { } var HTMLIonicBarChartElement: { prototype: HTMLIonicBarChartElement; new (): HTMLIonicBarChartElement; }; interface HTMLIonicButtonElement extends Components.IonicButton, HTMLStencilElement { } var HTMLIonicButtonElement: { prototype: HTMLIonicButtonElement; new (): HTMLIonicButtonElement; }; interface HTMLIonicEmojiPickerElement extends Components.IonicEmojiPicker, HTMLStencilElement { } var HTMLIonicEmojiPickerElement: { prototype: HTMLIonicEmojiPickerElement; new (): HTMLIonicEmojiPickerElement; }; interface HTMLIonicNewsletterSignupElement extends Components.IonicNewsletterSignup, HTMLStencilElement { } var HTMLIonicNewsletterSignupElement: { prototype: HTMLIonicNewsletterSignupElement; new (): HTMLIonicNewsletterSignupElement; }; interface HTMLIonicReactDemoElement extends Components.IonicReactDemo, HTMLStencilElement { } var HTMLIonicReactDemoElement: { prototype: HTMLIonicReactDemoElement; new (): HTMLIonicReactDemoElement; }; interface HTMLIonicSearchElement extends Components.IonicSearch, HTMLStencilElement { } var HTMLIonicSearchElement: { prototype: HTMLIonicSearchElement; new (): HTMLIonicSearchElement; }; interface HTMLIonicSliderElement extends Components.IonicSlider, HTMLStencilElement { } var HTMLIonicSliderElement: { prototype: HTMLIonicSliderElement; new (): HTMLIonicSliderElement; }; interface HTMLIonicSnapBarElement extends Components.IonicSnapBar, HTMLStencilElement { } var HTMLIonicSnapBarElement: { prototype: HTMLIonicSnapBarElement; new (): HTMLIonicSnapBarElement; }; interface HTMLIonicSubHeaderElement extends Components.IonicSubHeader, HTMLStencilElement { } var HTMLIonicSubHeaderElement: { prototype: HTMLIonicSubHeaderElement; new (): HTMLIonicSubHeaderElement; }; interface HTMLIonicSwitcherElement extends Components.IonicSwitcher, HTMLStencilElement { } var HTMLIonicSwitcherElement: { prototype: HTMLIonicSwitcherElement; new (): HTMLIonicSwitcherElement; }; interface HTMLIonicToggleElement extends Components.IonicToggle, HTMLStencilElement { } var HTMLIonicToggleElement: { prototype: HTMLIonicToggleElement; new (): HTMLIonicToggleElement; }; interface HTMLIonicToggleButtonElement extends Components.IonicToggleButton, HTMLStencilElement { } var HTMLIonicToggleButtonElement: { prototype: HTMLIonicToggleButtonElement; new (): HTMLIonicToggleButtonElement; }; interface HTMLIonicToggleTabElement extends Components.IonicToggleTab, HTMLStencilElement { } var HTMLIonicToggleTabElement: { prototype: HTMLIonicToggleTabElement; new (): HTMLIonicToggleTabElement; }; interface HTMLReactCapacitorElement extends Components.ReactCapacitor, HTMLStencilElement { } var HTMLReactCapacitorElement: { prototype: HTMLReactCapacitorElement; new (): HTMLReactCapacitorElement; }; interface HTMLReactComponentsElement extends Components.ReactComponents, HTMLStencilElement { } var HTMLReactComponentsElement: { prototype: HTMLReactComponentsElement; new (): HTMLReactComponentsElement; }; interface HTMLTwitterScriptElement extends Components.TwitterScript, HTMLStencilElement { } var HTMLTwitterScriptElement: { prototype: HTMLTwitterScriptElement; new (): HTMLTwitterScriptElement; }; interface HTMLUiFloatingInputElement extends Components.UiFloatingInput, HTMLStencilElement { } var HTMLUiFloatingInputElement: { prototype: HTMLUiFloatingInputElement; new (): HTMLUiFloatingInputElement; }; interface HTMLUiTipElement extends Components.UiTip, HTMLStencilElement { } var HTMLUiTipElement: { prototype: HTMLUiTipElement; new (): HTMLUiTipElement; }; interface HTMLVueComponentsElement extends Components.VueComponents, HTMLStencilElement { } var HTMLVueComponentsElement: { prototype: HTMLVueComponentsElement; new (): HTMLVueComponentsElement; }; interface HTMLElementTagNameMap { "additional-resources": HTMLAdditionalResourcesElement; "angular-components": HTMLAngularComponentsElement; "auth-connect-promo": HTMLAuthConnectPromoElement; "bar-chart": HTMLBarChartElement; "ebook-switcher": HTMLEbookSwitcherElement; "home-components": HTMLHomeComponentsElement; "home-countdown": HTMLHomeCountdownElement; "home-native": HTMLHomeNativeElement; "hubspot-dynamic-content": HTMLHubspotDynamicContentElement; "hubspot-form": HTMLHubspotFormElement; "icon-external": HTMLIconExternalElement; "ionic-app-wizard": HTMLIonicAppWizardElement; "ionic-appflow-activator": HTMLIonicAppflowActivatorElement; "ionic-bar-chart": HTMLIonicBarChartElement; "ionic-button": HTMLIonicButtonElement; "ionic-emoji-picker": HTMLIonicEmojiPickerElement; "ionic-newsletter-signup": HTMLIonicNewsletterSignupElement; "ionic-react-demo": HTMLIonicReactDemoElement; "ionic-search": HTMLIonicSearchElement; "ionic-slider": HTMLIonicSliderElement; "ionic-snap-bar": HTMLIonicSnapBarElement; "ionic-sub-header": HTMLIonicSubHeaderElement; "ionic-switcher": HTMLIonicSwitcherElement; "ionic-toggle": HTMLIonicToggleElement; "ionic-toggle-button": HTMLIonicToggleButtonElement; "ionic-toggle-tab": HTMLIonicToggleTabElement; "react-capacitor": HTMLReactCapacitorElement; "react-components": HTMLReactComponentsElement; "twitter-script": HTMLTwitterScriptElement; "ui-floating-input": HTMLUiFloatingInputElement; "ui-tip": HTMLUiTipElement; "vue-components": HTMLVueComponentsElement; } } declare namespace LocalJSX { interface AdditionalResources { "page"?: string; } interface AngularComponents { "tab"?: TabType; } interface AuthConnectPromo { } interface BarChart { "color"?: string; "graphData"?: string | object; } interface EbookSwitcher { "id"?: string; } interface HomeComponents { } interface HomeCountdown { "eventStart"?: string; } interface HomeNative { } interface HubspotDynamicContent { "listId"?: string; } interface HubspotForm { "ajax"?: boolean; "formId"?: string; "goToWebinarKey"?: string; "noDefaultStyles"?: boolean; "onFormSubmitted"?: (event: CustomEvent) => void; "portalId"?: string; "submitText"?: any; } interface IconExternal { } interface IonicAppWizard { } interface IonicAppflowActivator { } interface IonicBarChart { "color"?: string; "data"?: string; } interface IonicButton { "color"?: string; "disabled"?: boolean; "type"?: string; } interface IonicEmojiPicker { "onClosed"?: (event: CustomEvent) => void; "onEmojiPick"?: (event: CustomEvent) => void; "open"?: boolean; "openEvent"?: MouseEvent; } interface IonicNewsletterSignup { "arrowMode"?: boolean; "buttonText"?: string; "darkMode"?: boolean; "homepageMode"?: boolean; "kind"?: string; "lg"?: boolean; "placeholder"?: string; "srLabel"?: { id: string; text: string; }; } interface IonicReactDemo { } interface IonicSearch { "mobile"?: boolean; } interface IonicSlider { } interface IonicSnapBar { } interface IonicSubHeader { "darkMode"?: boolean; } interface IonicSwitcher { "index"?: number; "items"?: string; } interface IonicToggle { } interface IonicToggleButton { "onToggleSelected"?: (event: CustomEvent) => void; "tab"?: string; "title"?: string; } interface IonicToggleTab { "tab"?: string; } interface ReactCapacitor { "tab"?: TabType; } interface ReactComponents { "tab"?: TabType; } interface TwitterScript { } interface UiFloatingInput { "autocomplete"?: string; "disabled"?: boolean; "inputId"?: string; "inputTabIndex"?: number; "label"?: string; "message"?: string; "name"?: string; "onChange"?: (e) => void; "required"?: boolean; "type"?: string; "value"?: string; } interface UiTip { "disabled"?: boolean; "position"?: 'top' | 'right' | 'bottom' | 'left'; "text"?: string; } interface VueComponents { "tab"?: TabType; } interface IntrinsicElements { "additional-resources": AdditionalResources; "angular-components": AngularComponents; "auth-connect-promo": AuthConnectPromo; "bar-chart": BarChart; "ebook-switcher": EbookSwitcher; "home-components": HomeComponents; "home-countdown": HomeCountdown; "home-native": HomeNative; "hubspot-dynamic-content": HubspotDynamicContent; "hubspot-form": HubspotForm; "icon-external": IconExternal; "ionic-app-wizard": IonicAppWizard; "ionic-appflow-activator": IonicAppflowActivator; "ionic-bar-chart": IonicBarChart; "ionic-button": IonicButton; "ionic-emoji-picker": IonicEmojiPicker; "ionic-newsletter-signup": IonicNewsletterSignup; "ionic-react-demo": IonicReactDemo; "ionic-search": IonicSearch; "ionic-slider": IonicSlider; "ionic-snap-bar": IonicSnapBar; "ionic-sub-header": IonicSubHeader; "ionic-switcher": IonicSwitcher; "ionic-toggle": IonicToggle; "ionic-toggle-button": IonicToggleButton; "ionic-toggle-tab": IonicToggleTab; "react-capacitor": ReactCapacitor; "react-components": ReactComponents; "twitter-script": TwitterScript; "ui-floating-input": UiFloatingInput; "ui-tip": UiTip; "vue-components": VueComponents; } } export { LocalJSX as JSX }; declare module "@stencil/core" { export namespace JSX { interface IntrinsicElements { "additional-resources": LocalJSX.AdditionalResources & JSXBase.HTMLAttributes; "angular-components": LocalJSX.AngularComponents & JSXBase.HTMLAttributes; "auth-connect-promo": LocalJSX.AuthConnectPromo & JSXBase.HTMLAttributes; "bar-chart": LocalJSX.BarChart & JSXBase.HTMLAttributes; "ebook-switcher": LocalJSX.EbookSwitcher & JSXBase.HTMLAttributes; "home-components": LocalJSX.HomeComponents & JSXBase.HTMLAttributes; "home-countdown": LocalJSX.HomeCountdown & JSXBase.HTMLAttributes; "home-native": LocalJSX.HomeNative & JSXBase.HTMLAttributes; "hubspot-dynamic-content": LocalJSX.HubspotDynamicContent & JSXBase.HTMLAttributes; "hubspot-form": LocalJSX.HubspotForm & JSXBase.HTMLAttributes; "icon-external": LocalJSX.IconExternal & JSXBase.HTMLAttributes; "ionic-app-wizard": LocalJSX.IonicAppWizard & JSXBase.HTMLAttributes; "ionic-appflow-activator": LocalJSX.IonicAppflowActivator & JSXBase.HTMLAttributes; "ionic-bar-chart": LocalJSX.IonicBarChart & JSXBase.HTMLAttributes; "ionic-button": LocalJSX.IonicButton & JSXBase.HTMLAttributes; "ionic-emoji-picker": LocalJSX.IonicEmojiPicker & JSXBase.HTMLAttributes; "ionic-newsletter-signup": LocalJSX.IonicNewsletterSignup & JSXBase.HTMLAttributes; "ionic-react-demo": LocalJSX.IonicReactDemo & JSXBase.HTMLAttributes; "ionic-search": LocalJSX.IonicSearch & JSXBase.HTMLAttributes; "ionic-slider": LocalJSX.IonicSlider & JSXBase.HTMLAttributes; "ionic-snap-bar": LocalJSX.IonicSnapBar & JSXBase.HTMLAttributes; "ionic-sub-header": LocalJSX.IonicSubHeader & JSXBase.HTMLAttributes; "ionic-switcher": LocalJSX.IonicSwitcher & JSXBase.HTMLAttributes; "ionic-toggle": LocalJSX.IonicToggle & JSXBase.HTMLAttributes; "ionic-toggle-button": LocalJSX.IonicToggleButton & JSXBase.HTMLAttributes; "ionic-toggle-tab": LocalJSX.IonicToggleTab & JSXBase.HTMLAttributes; "react-capacitor": LocalJSX.ReactCapacitor & JSXBase.HTMLAttributes; "react-components": LocalJSX.ReactComponents & JSXBase.HTMLAttributes; "twitter-script": LocalJSX.TwitterScript & JSXBase.HTMLAttributes; "ui-floating-input": LocalJSX.UiFloatingInput & JSXBase.HTMLAttributes; "ui-tip": LocalJSX.UiTip & JSXBase.HTMLAttributes; "vue-components": LocalJSX.VueComponents & JSXBase.HTMLAttributes; } } } ================================================ FILE: assets/stencil/declarations.ts ================================================ declare global { interface Window { API_URL: string; DASHBOARD_URL: string; _hsq: any[]; c: (cat, lbl, el?, val?, opts?) => void; dataLayer: object[]; grecaptcha?: any; } } /** * An (incomplete) representation of the user model for the API */ export interface UserInfo { sub: string; name: string; preferred_username: string; picture: string; email: string; email_verified: boolean; } ================================================ FILE: assets/stencil/forms.tsx ================================================ import { h } from '@stencil/core'; export const FormErrors = (_props, children) => (
{children}
); ================================================ FILE: assets/stencil/icons.tsx ================================================ import { h } from '@stencil/core'; export const Close = () => ( ); export const ChevronDown = () => ( ); export const EmailIcon = () => ( ); export const EmailOutlineIcon = () => ( ); export const ForwardIcon = () => ( ); export const LogoBlog = () => ( ); ================================================ FILE: assets/stencil/index.d.ts ================================================ // declare module "*.svg" { // const content: any; // export default content; // } ================================================ FILE: assets/stencil/index.html ================================================ Stencil Component Starter
Blue button White button

================================================ FILE: assets/stencil/index.ts ================================================ export * from './components'; ================================================ FILE: assets/stencil/prism-ionic.scss ================================================ /** * Ionic Dark theme for JavaScript, CSS and HTML * Based on prism.js Dark theme * @author Perry Govier */ code[class*="language-"], pre[class*="language-"] { color: #4d4d4c; background: none; white-space: pre; word-spacing: normal; word-break: normal; word-wrap: normal; line-height: 1.5; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; -webkit-hyphens: none; -moz-hyphens: none; -ms-hyphens: none; hyphens: none; } pre[class*="language-"], :not(pre) > code[class*="language-"] { background: hsl(30, 20%, 25%); } /* Code blocks */ pre[class*="language-"] { padding: 1em; margin: .5em 0; overflow: auto; border: .3em solid hsl(30, 20%, 40%); border-radius: .5em; box-shadow: 1px 1px .5em black inset; } /* Inline code */ :not(pre) > code[class*="language-"] { padding: .15em .2em .05em; border-radius: .3em; border: .13em solid hsl(30, 20%, 40%); box-shadow: 1px 1px .3em -.1em black inset; white-space: normal; } /* Tomorrow Comment */ .token.comment, .token.prolog, .token.doctype, .token.cdata { color: #8c9296; } .token.punctuation { opacity: .7; } .namespace { opacity: .7; } .token.tag { color: #97bdff; } .token.tag .token.tag { color: #639cff; } .token.property, .token.attr-name, .token.boolean, .token.number, .token.constant, .token.symbol { color: #8582fb; } .token.selector, .token.char, .token.function, .token.builtin, .token.inserted { color: #EADA8A; } .token.operator, .token.string, .token.entity, .token.url, .token.attr-value, .language-css .token.string, .style .token.string, .token.variable { color: #92e1a7; } .token.atrule { color: #ffbb01; } .token.regex, .token.keyword, .token.important { color: #639BFF; } .token.important, .token.bold { font-weight: bold; } .token.italic { font-style: italic; } .token.entity { cursor: help; } .token.deleted { color: red; } ================================================ FILE: assets/stencil/util/analytics.ts ================================================ declare var window: any; export const trackClick = (eventCategory, eventLabel, eventEl?, eventValue?) => { window.c(eventCategory, eventLabel, eventEl, eventValue); }; export const getUtmParams = () => { const search = location.search; if (!search) { return {}; } return search .substring(1) .split('&') .map(arg => arg.split('=')) .filter(arg => arg[0].indexOf('utm_') === 0) .reduce((args, arg) => { args[arg[0]] = arg[1]; return args }, {}); } ================================================ FILE: assets/stencil/util/app-icon.ts ================================================ export const generateAppIconForThemeAndEmoji = async (theme, emojiImage, imageSize, iconSize) => { const canvas = document.createElement('canvas'); canvas.style.visibility = 'hidden'; // We fetch the image text because we need to modify it to fix a FF bug const svgDataReq = await fetch(emojiImage); const svgData = await svgDataReq.text(); const el = document.createElement('div'); el.innerHTML = svgData; const svgEl = el.firstElementChild; // Necessary to avoid a firefox bug where it refuses to render svg's // that don't have width and height attributes svgEl.setAttribute('width', `${iconSize}`); svgEl.setAttribute('height', `${iconSize}`); const b64 = btoa(el.innerHTML); canvas.width = imageSize canvas.height = imageSize; canvas.style.width = `${imageSize}px`; canvas.style.height = `${imageSize}px`; const ctx = canvas.getContext('2d'); ctx.fillStyle = theme; ctx.fillRect(0, 0, imageSize, imageSize); const midx = imageSize / 2; const midy = imageSize / 2; const imageX = midx - iconSize / 2; const imageY = midy - iconSize / 2; const img = new Image(); img.src = `data:image/svg+xml;base64,${b64}`; return new Promise((resolve, reject) => { img.onload = () => { ctx.drawImage(img, imageX, imageY, iconSize, iconSize); resolve(canvas.toDataURL('image/png')); }; img.onerror = (e) => { reject(e); }; }); }; export const generateAppIconForThemeAndImage = async (theme, image, fullImageSize, maxImageWidth) => { const canvas = document.createElement('canvas'); canvas.style.visibility = 'hidden'; canvas.width = fullImageSize; canvas.height = fullImageSize; canvas.style.width = `${fullImageSize}px`; canvas.style.height = `${fullImageSize}px`; const ctx = canvas.getContext('2d'); ctx.fillStyle = theme; ctx.fillRect(0, 0, fullImageSize, fullImageSize); const midx = fullImageSize / 2; const midy = fullImageSize / 2; const img = new Image(); img.src = image; return new Promise((resolve, reject) => { img.onload = () => { const aspectRatio = img.width / img.height; const imageW = Math.max(Math.min(img.width, maxImageWidth), maxImageWidth); const imageH = imageW * 1 / aspectRatio; const imageX = midx - imageW / 2; const imageY = midy - imageH / 2; ctx.drawImage(img, imageX, imageY, imageW, imageH); resolve(canvas.toDataURL('image/png')); }; img.onerror = (e) => { reject(e); }; }); }; ================================================ FILE: assets/stencil/util/auth.ts ================================================ import { identify, trackEvent } from './hubspot'; import { recaptcha } from './recaptcha'; import { UserInfo } from '../declarations'; export interface SignupForm { name?: string; email?: string; username?: string; password?: string; } export interface LoginForm { email?: string; password?: string; } const makeApiError = (message, exc?, reason?) => ({ message, error: exc, reason }); export const login = async (email, password, source, loginEventId ="000006636951") => { try { const params = new URLSearchParams(window.location.search); if (params.has("source")) { source = params.get("source"); } else if (params.has("client_id")) { source = params.get("client_id"); } const recaptchaCode = await recaptcha('login'); const ret = await fetch('/oauth/login', { method: 'POST', body: JSON.stringify({ email, password, source, recaptcha: recaptchaCode }), headers: { 'Content-Type': 'application/json' }, }); if (ret.status !== 200) { const responseJson = await ret.json(); throw responseJson?.error?.message || 'Unable to log in'; } await ret.json(); window.dataLayer.push({ event: 'login' }); identify(email); trackEvent({ id: loginEventId }); return location.search; //return oauthAuthorize(); } catch (e) { const reason = typeof e === 'string' ? e : ''; throw makeApiError(reason || 'Unable to log in', e, reason); } } export const oauthAuthorize = () => { const params = new URLSearchParams(window.location.search); if (params.has("client_id")) { window.location.assign(`/oauth/authorize${window.location.search}`); } else { window.location.assign(`${window.DASHBOARD_URL}/login${window.location.search}`); } } export const signup = async (form: SignupForm, source: string, signupEventId="000006040735") => { try { var params = new URLSearchParams(window.location.search); if (params.has("source")) { source = params.get("source"); } else if (params.has("client_id")) { source = params.get("client_id"); } const recaptchaCode = await recaptcha('signup'); const ret = await fetch('/oauth/signup', { method: 'POST', body: JSON.stringify({ ...form, source, recaptcha: recaptchaCode }), headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, }); const data = await ret.json(); if (data.error) { return data; } window.dataLayer.push({ event: 'sign_up' }); identify(form.email); trackEvent({ id: signupEventId }); return data; } catch (e) { throw makeApiError('Unable to create account', e); } } export const getUser = async (): Promise => { try { const ret = await fetch('/oauth/userinfo'); if (!ret.ok) { return null; } return await ret.json() as UserInfo; } catch (e) { return null; } } ================================================ FILE: assets/stencil/util/common.ts ================================================ export const importResource = ( { propertyName, link, target = document.body, defer = true, async = true, }: { propertyName?: string; link: string; target?: HTMLElement; async?: boolean; defer?: boolean; }, callback: () => any, ) => { if (hasGlobalProperty(propertyName)) return callback(); const scriptAlreadyLoading = Array.from(document.scripts).some(script => { if (script.src === link) { script.addEventListener('load', callback); return true; } }); if (scriptAlreadyLoading) return; const script = document.createElement('script'); script.src = link; script.type = 'text/javascript'; script.addEventListener('load', callback); script.defer = defer; script.async = async; script.onerror = () => console.warn(`error loading resource: ${link}`); target.appendChild(script); }; export const pixelize = (num: number) => { return num.toString().concat('px'); }; const hasGlobalProperty = (property: string) => { if (property && property.includes('.')) { const propertyList = property.split('.'); return !!propertyList.reduce((prev, cur) => { return prev.hasOwnProperty(cur) ? prev[cur] : null; }, window); } return window.hasOwnProperty(property); }; export function slugify(text: string) { if (!text) { return ''; } return text .toString() .toLowerCase() .replace(/\s+/g, '-') // Replace spaces with - .replace(/[^\w\-]+/g, '') // Remove all non-word chars .replace(/\-\-+/g, '-') // Replace multiple - with single - .replace(/^-+/, '') // Trim - from start of text .replace(/-+$/, ''); // Trim - from end of text } ================================================ FILE: assets/stencil/util/hubspot.ts ================================================ declare var window: any; interface HubspotTrackEventArgs { id: string; } export const trackEvent = (trackEventData: HubspotTrackEventArgs) => { var _hsq = (window._hsq = window._hsq || []); _hsq.push(["trackEvent", trackEventData]); } export const identify = (email, id = null) => { var _hsq = (window._hsq = window._hsq || []); _hsq.push(["identify", { email, id }]); } ================================================ FILE: assets/stencil/util/recaptcha.ts ================================================ export const recaptcha = async (action = 'signup') => { if (typeof window.grecaptcha === 'undefined' || typeof window.grecaptcha.execute === 'undefined') { return; } return window.grecaptcha.execute('6LfbcKAUAAAAACUDq_t59TP8MawQXB37DVEeSOjZ', { action }); }; ================================================ FILE: content/404.html ================================================ --- layout: fluid/docs_base id: 404 title: 404 - Page Not Found permalink: /404.html ---

Ooops. The page you're looking for got lost in space.

The address might be mistyped or the page may have moved.

Take me back home
================================================ FILE: content/CNAME ================================================ ionicframework.com ================================================ FILE: content/assets/fonts/inter/inter.css ================================================ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 100; src: url("Inter-Thin.woff2") format("woff2"), url("Inter-Thin.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 100; src: url("Inter-ThinItalic.woff2") format("woff2"), url("Inter-ThinItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 200; src: url("Inter-ExtraLight.woff2") format("woff2"), url("Inter-ExtraLight.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 200; src: url("Inter-ExtraLightItalic.woff2") format("woff2"), url("Inter-ExtraLightItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 300; src: url("Inter-Light.woff2") format("woff2"), url("Inter-Light.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 300; src: url("Inter-LightItalic.woff2") format("woff2"), url("Inter-LightItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; src: url("Inter-Regular.woff2") format("woff2"), url("Inter-Regular.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 400; src: url("Inter-Italic.woff2") format("woff2"), url("Inter-Italic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; src: url("Inter-Medium.woff2") format("woff2"), url("Inter-Medium.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 500; src: url("Inter-MediumItalic.woff2") format("woff2"), url("Inter-MediumItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; src: url("Inter-SemiBold.woff2") format("woff2"), url("Inter-SemiBold.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 600; src: url("Inter-SemiBoldItalic.woff2") format("woff2"), url("Inter-SemiBoldItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; src: url("Inter-Bold.woff2") format("woff2"), url("Inter-Bold.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 700; src: url("Inter-BoldItalic.woff2") format("woff2"), url("Inter-BoldItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 800; src: url("Inter-ExtraBold.woff2") format("woff2"), url("Inter-ExtraBold.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 800; src: url("Inter-ExtraBoldItalic.woff2") format("woff2"), url("Inter-ExtraBoldItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 900; src: url("Inter-Black.woff2") format("woff2"), url("Inter-Black.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 900; src: url("Inter-BlackItalic.woff2") format("woff2"), url("Inter-BlackItalic.woff") format("woff"); } /* ------------------------------------------------------- Variable font. Usage: html { font-family: 'Inter', sans-serif; } @supports (font-variation-settings: normal) { html { font-family: 'Inter var', sans-serif; } } */ @font-face { font-family: 'Inter var'; font-weight: 100 900; font-style: normal; font-named-instance: 'Regular'; src: url("Inter-upright.var.woff2") format("woff2 supports variations(gvar)"), url("Inter-upright.var.woff2") format("woff2-variations"), url("Inter-upright.var.woff2") format("woff2"); } @font-face { font-family: 'Inter var'; font-weight: 100 900; font-style: italic; font-named-instance: 'Italic'; src: url("Inter-italic.var.woff2") format("woff2 supports variations(gvar)"), url("Inter-italic.var.woff2") format("woff2-variations"), url("Inter-italic.var.woff2") format("woff2"); } /* -------------------------------------------------------------------------- [EXPERIMENTAL] Multi-axis, single variable font. Slant axis is not yet widely supported (as of February 2019) and thus this multi-axis single variable font is opt-in rather than the default. When using this, you will probably need to set font-variation-settings explicitly, e.g. * { font-variation-settings: "slnt" 0deg } .italic { font-variation-settings: "slnt" 10deg } */ @font-face { font-family: 'Inter var experimental'; font-weight: 100 900; font-style: oblique 0deg 10deg; src: url("Inter.var.woff2") format("woff2-variations"), url("Inter.var.woff2") format("woff2"); } ================================================ FILE: content/browserconfig.xml ================================================ #4c8fff ================================================ FILE: content/circle.yml ================================================ general: branches: ignore: - production machine: node: version: 6.9.1 ruby: version: 2.2.3 dependencies: pre: - gem install jekyll -v 3.0.1 && gem install kramdown && gem install rouge - ./scripts/prepare.sh cache_directories: - "~/.rvm" test: override: - ./scripts/test.sh deployment: staging: branch: master commands: - ./scripts/deploy_staging.sh ================================================ FILE: content/css/animate.css ================================================ @charset "UTF-8"; /*! Animate.css - http://daneden.me/animate Licensed under the MIT license Copyright (c) 2013 Daniel Eden Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ .animated { -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .animated.hinge { -webkit-animation-duration: 2s; animation-duration: 2s; } @-webkit-keyframes bounce { 0%, 20%, 50%, 80%, 100% { -webkit-transform: translateY(0); transform: translateY(0); } 40% { -webkit-transform: translateY(-30px); transform: translateY(-30px); } 60% { -webkit-transform: translateY(-15px); transform: translateY(-15px); } } @keyframes bounce { 0%, 20%, 50%, 80%, 100% { -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } 40% { -webkit-transform: translateY(-30px); -ms-transform: translateY(-30px); transform: translateY(-30px); } 60% { -webkit-transform: translateY(-15px); -ms-transform: translateY(-15px); transform: translateY(-15px); } } .bounce { -webkit-animation-name: bounce; animation-name: bounce; } @-webkit-keyframes flash { 0%, 50%, 100% { opacity: 1; } 25%, 75% { opacity: 0; } } @keyframes flash { 0%, 50%, 100% { opacity: 1; } 25%, 75% { opacity: 0; } } .flash { -webkit-animation-name: flash; animation-name: flash; } /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ @-webkit-keyframes pulse { 0% { -webkit-transform: scale(1); transform: scale(1); } 50% { -webkit-transform: scale(1.1); transform: scale(1.1); } 100% { -webkit-transform: scale(1); transform: scale(1); } } @keyframes pulse { 0% { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } 50% { -webkit-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); } 100% { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } } .pulse { -webkit-animation-name: pulse; animation-name: pulse; } @-webkit-keyframes shake { 0%, 100% { -webkit-transform: translateX(0); transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 20%, 40%, 60%, 80% { -webkit-transform: translateX(10px); transform: translateX(10px); } } @keyframes shake { 0%, 100% { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { -webkit-transform: translateX(-10px); -ms-transform: translateX(-10px); transform: translateX(-10px); } 20%, 40%, 60%, 80% { -webkit-transform: translateX(10px); -ms-transform: translateX(10px); transform: translateX(10px); } } .shake { -webkit-animation-name: shake; animation-name: shake; } @-webkit-keyframes swing { 20% { -webkit-transform: rotate(15deg); transform: rotate(15deg); } 40% { -webkit-transform: rotate(-10deg); transform: rotate(-10deg); } 60% { -webkit-transform: rotate(5deg); transform: rotate(5deg); } 80% { -webkit-transform: rotate(-5deg); transform: rotate(-5deg); } 100% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } } @keyframes swing { 20% { -webkit-transform: rotate(15deg); -ms-transform: rotate(15deg); transform: rotate(15deg); } 40% { -webkit-transform: rotate(-10deg); -ms-transform: rotate(-10deg); transform: rotate(-10deg); } 60% { -webkit-transform: rotate(5deg); -ms-transform: rotate(5deg); transform: rotate(5deg); } 80% { -webkit-transform: rotate(-5deg); -ms-transform: rotate(-5deg); transform: rotate(-5deg); } 100% { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); } } .swing { -webkit-transform-origin: top center; -ms-transform-origin: top center; transform-origin: top center; -webkit-animation-name: swing; animation-name: swing; } @-webkit-keyframes tada { 0% { -webkit-transform: scale(1); transform: scale(1); } 10%, 20% { -webkit-transform: scale(0.9) rotate(-3deg); transform: scale(0.9) rotate(-3deg); } 30%, 50%, 70%, 90% { -webkit-transform: scale(1.1) rotate(3deg); transform: scale(1.1) rotate(3deg); } 40%, 60%, 80% { -webkit-transform: scale(1.1) rotate(-3deg); transform: scale(1.1) rotate(-3deg); } 100% { -webkit-transform: scale(1) rotate(0); transform: scale(1) rotate(0); } } @keyframes tada { 0% { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } 10%, 20% { -webkit-transform: scale(0.9) rotate(-3deg); -ms-transform: scale(0.9) rotate(-3deg); transform: scale(0.9) rotate(-3deg); } 30%, 50%, 70%, 90% { -webkit-transform: scale(1.1) rotate(3deg); -ms-transform: scale(1.1) rotate(3deg); transform: scale(1.1) rotate(3deg); } 40%, 60%, 80% { -webkit-transform: scale(1.1) rotate(-3deg); -ms-transform: scale(1.1) rotate(-3deg); transform: scale(1.1) rotate(-3deg); } 100% { -webkit-transform: scale(1) rotate(0); -ms-transform: scale(1) rotate(0); transform: scale(1) rotate(0); } } .tada { -webkit-animation-name: tada; animation-name: tada; } /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ @-webkit-keyframes wobble { 0% { -webkit-transform: translateX(0%); transform: translateX(0%); } 15% { -webkit-transform: translateX(-25%) rotate(-5deg); transform: translateX(-25%) rotate(-5deg); } 30% { -webkit-transform: translateX(20%) rotate(3deg); transform: translateX(20%) rotate(3deg); } 45% { -webkit-transform: translateX(-15%) rotate(-3deg); transform: translateX(-15%) rotate(-3deg); } 60% { -webkit-transform: translateX(10%) rotate(2deg); transform: translateX(10%) rotate(2deg); } 75% { -webkit-transform: translateX(-5%) rotate(-1deg); transform: translateX(-5%) rotate(-1deg); } 100% { -webkit-transform: translateX(0%); transform: translateX(0%); } } @keyframes wobble { 0% { -webkit-transform: translateX(0%); -ms-transform: translateX(0%); transform: translateX(0%); } 15% { -webkit-transform: translateX(-25%) rotate(-5deg); -ms-transform: translateX(-25%) rotate(-5deg); transform: translateX(-25%) rotate(-5deg); } 30% { -webkit-transform: translateX(20%) rotate(3deg); -ms-transform: translateX(20%) rotate(3deg); transform: translateX(20%) rotate(3deg); } 45% { -webkit-transform: translateX(-15%) rotate(-3deg); -ms-transform: translateX(-15%) rotate(-3deg); transform: translateX(-15%) rotate(-3deg); } 60% { -webkit-transform: translateX(10%) rotate(2deg); -ms-transform: translateX(10%) rotate(2deg); transform: translateX(10%) rotate(2deg); } 75% { -webkit-transform: translateX(-5%) rotate(-1deg); -ms-transform: translateX(-5%) rotate(-1deg); transform: translateX(-5%) rotate(-1deg); } 100% { -webkit-transform: translateX(0%); -ms-transform: translateX(0%); transform: translateX(0%); } } .wobble { -webkit-animation-name: wobble; animation-name: wobble; } @-webkit-keyframes bounceIn { 0% { opacity: 0; -webkit-transform: scale(.3); transform: scale(.3); } 50% { opacity: 1; -webkit-transform: scale(1.05); transform: scale(1.05); } 70% { -webkit-transform: scale(.9); transform: scale(.9); } 100% { -webkit-transform: scale(1); transform: scale(1); } } @keyframes bounceIn { 0% { opacity: 0; -webkit-transform: scale(.3); -ms-transform: scale(.3); transform: scale(.3); } 50% { opacity: 1; -webkit-transform: scale(1.05); -ms-transform: scale(1.05); transform: scale(1.05); } 70% { -webkit-transform: scale(.9); -ms-transform: scale(.9); transform: scale(.9); } 100% { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } } .bounceIn { -webkit-animation-name: bounceIn; animation-name: bounceIn; } @-webkit-keyframes bounceInDown { 0% { opacity: 0; -webkit-transform: translateY(-2000px); transform: translateY(-2000px); } 60% { opacity: 1; -webkit-transform: translateY(30px); transform: translateY(30px); } 80% { -webkit-transform: translateY(-10px); transform: translateY(-10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes bounceInDown { 0% { opacity: 0; -webkit-transform: translateY(-2000px); -ms-transform: translateY(-2000px); transform: translateY(-2000px); } 60% { opacity: 1; -webkit-transform: translateY(30px); -ms-transform: translateY(30px); transform: translateY(30px); } 80% { -webkit-transform: translateY(-10px); -ms-transform: translateY(-10px); transform: translateY(-10px); } 100% { -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } } .bounceInDown { -webkit-animation-name: bounceInDown; animation-name: bounceInDown; } @-webkit-keyframes bounceInLeft { 0% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } 60% { opacity: 1; -webkit-transform: translateX(30px); transform: translateX(30px); } 80% { -webkit-transform: translateX(-10px); transform: translateX(-10px); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes bounceInLeft { 0% { opacity: 0; -webkit-transform: translateX(-2000px); -ms-transform: translateX(-2000px); transform: translateX(-2000px); } 60% { opacity: 1; -webkit-transform: translateX(30px); -ms-transform: translateX(30px); transform: translateX(30px); } 80% { -webkit-transform: translateX(-10px); -ms-transform: translateX(-10px); transform: translateX(-10px); } 100% { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } } .bounceInLeft { -webkit-animation-name: bounceInLeft; animation-name: bounceInLeft; } @-webkit-keyframes bounceInRight { 0% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } 60% { opacity: 1; -webkit-transform: translateX(-30px); transform: translateX(-30px); } 80% { -webkit-transform: translateX(10px); transform: translateX(10px); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes bounceInRight { 0% { opacity: 0; -webkit-transform: translateX(2000px); -ms-transform: translateX(2000px); transform: translateX(2000px); } 60% { opacity: 1; -webkit-transform: translateX(-30px); -ms-transform: translateX(-30px); transform: translateX(-30px); } 80% { -webkit-transform: translateX(10px); -ms-transform: translateX(10px); transform: translateX(10px); } 100% { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } } .bounceInRight { -webkit-animation-name: bounceInRight; animation-name: bounceInRight; } @-webkit-keyframes bounceInUp { 0% { opacity: 0; -webkit-transform: translateY(2000px); transform: translateY(2000px); } 60% { opacity: 1; -webkit-transform: translateY(-30px); transform: translateY(-30px); } 80% { -webkit-transform: translateY(10px); transform: translateY(10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes bounceInUp { 0% { opacity: 0; -webkit-transform: translateY(2000px); -ms-transform: translateY(2000px); transform: translateY(2000px); } 60% { opacity: 1; -webkit-transform: translateY(-30px); -ms-transform: translateY(-30px); transform: translateY(-30px); } 80% { -webkit-transform: translateY(10px); -ms-transform: translateY(10px); transform: translateY(10px); } 100% { -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } } .bounceInUp { -webkit-animation-name: bounceInUp; animation-name: bounceInUp; } @-webkit-keyframes bounceOut { 0% { -webkit-transform: scale(1); transform: scale(1); } 25% { -webkit-transform: scale(.95); transform: scale(.95); } 50% { opacity: 1; -webkit-transform: scale(1.1); transform: scale(1.1); } 100% { opacity: 0; -webkit-transform: scale(.3); transform: scale(.3); } } @keyframes bounceOut { 0% { -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); } 25% { -webkit-transform: scale(.95); -ms-transform: scale(.95); transform: scale(.95); } 50% { opacity: 1; -webkit-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); } 100% { opacity: 0; -webkit-transform: scale(.3); -ms-transform: scale(.3); transform: scale(.3); } } .bounceOut { -webkit-animation-name: bounceOut; animation-name: bounceOut; } @-webkit-keyframes bounceOutDown { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 20% { opacity: 1; -webkit-transform: translateY(-20px); transform: translateY(-20px); } 100% { opacity: 0; -webkit-transform: translateY(2000px); transform: translateY(2000px); } } @keyframes bounceOutDown { 0% { -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } 20% { opacity: 1; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); } 100% { opacity: 0; -webkit-transform: translateY(2000px); -ms-transform: translateY(2000px); transform: translateY(2000px); } } .bounceOutDown { -webkit-animation-name: bounceOutDown; animation-name: bounceOutDown; } @-webkit-keyframes bounceOutLeft { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 20% { opacity: 1; -webkit-transform: translateX(20px); transform: translateX(20px); } 100% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } } @keyframes bounceOutLeft { 0% { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } 20% { opacity: 1; -webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px); } 100% { opacity: 0; -webkit-transform: translateX(-2000px); -ms-transform: translateX(-2000px); transform: translateX(-2000px); } } .bounceOutLeft { -webkit-animation-name: bounceOutLeft; animation-name: bounceOutLeft; } @-webkit-keyframes bounceOutRight { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 20% { opacity: 1; -webkit-transform: translateX(-20px); transform: translateX(-20px); } 100% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } } @keyframes bounceOutRight { 0% { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } 20% { opacity: 1; -webkit-transform: translateX(-20px); -ms-transform: translateX(-20px); transform: translateX(-20px); } 100% { opacity: 0; -webkit-transform: translateX(2000px); -ms-transform: translateX(2000px); transform: translateX(2000px); } } .bounceOutRight { -webkit-animation-name: bounceOutRight; animation-name: bounceOutRight; } @-webkit-keyframes bounceOutUp { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 20% { opacity: 1; -webkit-transform: translateY(20px); transform: translateY(20px); } 100% { opacity: 0; -webkit-transform: translateY(-2000px); transform: translateY(-2000px); } } @keyframes bounceOutUp { 0% { -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } 20% { opacity: 1; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); } 100% { opacity: 0; -webkit-transform: translateY(-2000px); -ms-transform: translateY(-2000px); transform: translateY(-2000px); } } .bounceOutUp { -webkit-animation-name: bounceOutUp; animation-name: bounceOutUp; } @-webkit-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } .fadeIn { -webkit-animation-name: fadeIn; animation-name: fadeIn; } @-webkit-keyframes fadeInDown { 0% { opacity: 0; -webkit-transform: translateY(-20px); transform: translateY(-20px); } 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes fadeInDown { 0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); } 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } } .fadeInDown { -webkit-animation-name: fadeInDown; animation-name: fadeInDown; } @-webkit-keyframes fadeInDownBig { 0% { opacity: 0; -webkit-transform: translateY(-2000px); transform: translateY(-2000px); } 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes fadeInDownBig { 0% { opacity: 0; -webkit-transform: translateY(-2000px); -ms-transform: translateY(-2000px); transform: translateY(-2000px); } 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } } .fadeInDownBig { -webkit-animation-name: fadeInDownBig; animation-name: fadeInDownBig; } @-webkit-keyframes fadeInLeft { 0% { opacity: 0; -webkit-transform: translateX(-20px); transform: translateX(-20px); } 100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes fadeInLeft { 0% { opacity: 0; -webkit-transform: translateX(-20px); -ms-transform: translateX(-20px); transform: translateX(-20px); } 100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } } .fadeInLeft { -webkit-animation-name: fadeInLeft; animation-name: fadeInLeft; } @-webkit-keyframes fadeInLeftBig { 0% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } 100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes fadeInLeftBig { 0% { opacity: 0; -webkit-transform: translateX(-2000px); -ms-transform: translateX(-2000px); transform: translateX(-2000px); } 100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } } .fadeInLeftBig { -webkit-animation-name: fadeInLeftBig; animation-name: fadeInLeftBig; } @-webkit-keyframes fadeInRight { 0% { opacity: 0; -webkit-transform: translateX(20px); transform: translateX(20px); } 100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes fadeInRight { 0% { opacity: 0; -webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px); } 100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } } .fadeInRight { -webkit-animation-name: fadeInRight; animation-name: fadeInRight; } @-webkit-keyframes fadeInRightBig { 0% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } 100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes fadeInRightBig { 0% { opacity: 0; -webkit-transform: translateX(2000px); -ms-transform: translateX(2000px); transform: translateX(2000px); } 100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } } .fadeInRightBig { -webkit-animation-name: fadeInRightBig; animation-name: fadeInRightBig; } @-webkit-keyframes fadeInUp { 0% { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); } 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes fadeInUp { 0% { opacity: 0; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); } 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } } .fadeInUp { -webkit-animation-name: fadeInUp; animation-name: fadeInUp; } @-webkit-keyframes fadeInUpBig { 0% { opacity: 0; -webkit-transform: translateY(2000px); transform: translateY(2000px); } 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes fadeInUpBig { 0% { opacity: 0; -webkit-transform: translateY(2000px); -ms-transform: translateY(2000px); transform: translateY(2000px); } 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } } .fadeInUpBig { -webkit-animation-name: fadeInUpBig; animation-name: fadeInUpBig; } @-webkit-keyframes fadeOut { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes fadeOut { 0% { opacity: 1; } 100% { opacity: 0; } } .fadeOut { -webkit-animation-name: fadeOut; animation-name: fadeOut; } @-webkit-keyframes fadeOutDown { 0% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); } } @keyframes fadeOutDown { 0% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); } } .fadeOutDown { -webkit-animation-name: fadeOutDown; animation-name: fadeOutDown; } @-webkit-keyframes fadeOutDownBig { 0% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(2000px); transform: translateY(2000px); } } @keyframes fadeOutDownBig { 0% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(2000px); -ms-transform: translateY(2000px); transform: translateY(2000px); } } .fadeOutDownBig { -webkit-animation-name: fadeOutDownBig; animation-name: fadeOutDownBig; } @-webkit-keyframes fadeOutLeft { 0% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(-20px); transform: translateX(-20px); } } @keyframes fadeOutLeft { 0% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(-20px); -ms-transform: translateX(-20px); transform: translateX(-20px); } } .fadeOutLeft { -webkit-animation-name: fadeOutLeft; animation-name: fadeOutLeft; } @-webkit-keyframes fadeOutLeftBig { 0% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } } @keyframes fadeOutLeftBig { 0% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(-2000px); -ms-transform: translateX(-2000px); transform: translateX(-2000px); } } .fadeOutLeftBig { -webkit-animation-name: fadeOutLeftBig; animation-name: fadeOutLeftBig; } @-webkit-keyframes fadeOutRight { 0% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(20px); transform: translateX(20px); } } @keyframes fadeOutRight { 0% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px); } } .fadeOutRight { -webkit-animation-name: fadeOutRight; animation-name: fadeOutRight; } @-webkit-keyframes fadeOutRightBig { 0% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } } @keyframes fadeOutRightBig { 0% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(2000px); -ms-transform: translateX(2000px); transform: translateX(2000px); } } .fadeOutRightBig { -webkit-animation-name: fadeOutRightBig; animation-name: fadeOutRightBig; } @-webkit-keyframes fadeOutUp { 0% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(-20px); transform: translateY(-20px); } } @keyframes fadeOutUp { 0% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); } } .fadeOutUp { -webkit-animation-name: fadeOutUp; animation-name: fadeOutUp; } @-webkit-keyframes fadeOutUpBig { 0% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(-2000px); transform: translateY(-2000px); } } @keyframes fadeOutUpBig { 0% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(-2000px); -ms-transform: translateY(-2000px); transform: translateY(-2000px); } } .fadeOutUpBig { -webkit-animation-name: fadeOutUpBig; animation-name: fadeOutUpBig; } @-webkit-keyframes flip { 0% { -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1); transform: perspective(400px) translateZ(0) rotateY(0) scale(1); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 40% { -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1); transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 50% { -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 80% { -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95); transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 100% { -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1); transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } } @keyframes flip { 0% { -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1); -ms-transform: perspective(400px) translateZ(0) rotateY(0) scale(1); transform: perspective(400px) translateZ(0) rotateY(0) scale(1); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 40% { -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1); -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1); transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 50% { -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 80% { -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95); -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95); transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 100% { -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1); -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1); transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } } .animated.flip { -webkit-backface-visibility: visible; -ms-backface-visibility: visible; backface-visibility: visible; -webkit-animation-name: flip; animation-name: flip; } @-webkit-keyframes flipInX { 0% { -webkit-transform: perspective(400px) rotateX(90deg); transform: perspective(400px) rotateX(90deg); opacity: 0; } 40% { -webkit-transform: perspective(400px) rotateX(-10deg); transform: perspective(400px) rotateX(-10deg); } 70% { -webkit-transform: perspective(400px) rotateX(10deg); transform: perspective(400px) rotateX(10deg); } 100% { -webkit-transform: perspective(400px) rotateX(0deg); transform: perspective(400px) rotateX(0deg); opacity: 1; } } @keyframes flipInX { 0% { -webkit-transform: perspective(400px) rotateX(90deg); -ms-transform: perspective(400px) rotateX(90deg); transform: perspective(400px) rotateX(90deg); opacity: 0; } 40% { -webkit-transform: perspective(400px) rotateX(-10deg); -ms-transform: perspective(400px) rotateX(-10deg); transform: perspective(400px) rotateX(-10deg); } 70% { -webkit-transform: perspective(400px) rotateX(10deg); -ms-transform: perspective(400px) rotateX(10deg); transform: perspective(400px) rotateX(10deg); } 100% { -webkit-transform: perspective(400px) rotateX(0deg); -ms-transform: perspective(400px) rotateX(0deg); transform: perspective(400px) rotateX(0deg); opacity: 1; } } .flipInX { -webkit-backface-visibility: visible !important; -ms-backface-visibility: visible !important; backface-visibility: visible !important; -webkit-animation-name: flipInX; animation-name: flipInX; } @-webkit-keyframes flipInY { 0% { -webkit-transform: perspective(400px) rotateY(90deg); transform: perspective(400px) rotateY(90deg); opacity: 0; } 40% { -webkit-transform: perspective(400px) rotateY(-10deg); transform: perspective(400px) rotateY(-10deg); } 70% { -webkit-transform: perspective(400px) rotateY(10deg); transform: perspective(400px) rotateY(10deg); } 100% { -webkit-transform: perspective(400px) rotateY(0deg); transform: perspective(400px) rotateY(0deg); opacity: 1; } } @keyframes flipInY { 0% { -webkit-transform: perspective(400px) rotateY(90deg); -ms-transform: perspective(400px) rotateY(90deg); transform: perspective(400px) rotateY(90deg); opacity: 0; } 40% { -webkit-transform: perspective(400px) rotateY(-10deg); -ms-transform: perspective(400px) rotateY(-10deg); transform: perspective(400px) rotateY(-10deg); } 70% { -webkit-transform: perspective(400px) rotateY(10deg); -ms-transform: perspective(400px) rotateY(10deg); transform: perspective(400px) rotateY(10deg); } 100% { -webkit-transform: perspective(400px) rotateY(0deg); -ms-transform: perspective(400px) rotateY(0deg); transform: perspective(400px) rotateY(0deg); opacity: 1; } } .flipInY { -webkit-backface-visibility: visible !important; -ms-backface-visibility: visible !important; backface-visibility: visible !important; -webkit-animation-name: flipInY; animation-name: flipInY; } @-webkit-keyframes flipOutX { 0% { -webkit-transform: perspective(400px) rotateX(0deg); transform: perspective(400px) rotateX(0deg); opacity: 1; } 100% { -webkit-transform: perspective(400px) rotateX(90deg); transform: perspective(400px) rotateX(90deg); opacity: 0; } } @keyframes flipOutX { 0% { -webkit-transform: perspective(400px) rotateX(0deg); -ms-transform: perspective(400px) rotateX(0deg); transform: perspective(400px) rotateX(0deg); opacity: 1; } 100% { -webkit-transform: perspective(400px) rotateX(90deg); -ms-transform: perspective(400px) rotateX(90deg); transform: perspective(400px) rotateX(90deg); opacity: 0; } } .flipOutX { -webkit-animation-name: flipOutX; animation-name: flipOutX; -webkit-backface-visibility: visible !important; -ms-backface-visibility: visible !important; backface-visibility: visible !important; } @-webkit-keyframes flipOutY { 0% { -webkit-transform: perspective(400px) rotateY(0deg); transform: perspective(400px) rotateY(0deg); opacity: 1; } 100% { -webkit-transform: perspective(400px) rotateY(90deg); transform: perspective(400px) rotateY(90deg); opacity: 0; } } @keyframes flipOutY { 0% { -webkit-transform: perspective(400px) rotateY(0deg); -ms-transform: perspective(400px) rotateY(0deg); transform: perspective(400px) rotateY(0deg); opacity: 1; } 100% { -webkit-transform: perspective(400px) rotateY(90deg); -ms-transform: perspective(400px) rotateY(90deg); transform: perspective(400px) rotateY(90deg); opacity: 0; } } .flipOutY { -webkit-backface-visibility: visible !important; -ms-backface-visibility: visible !important; backface-visibility: visible !important; -webkit-animation-name: flipOutY; animation-name: flipOutY; } @-webkit-keyframes lightSpeedIn { 0% { -webkit-transform: translateX(100%) skewX(-30deg); transform: translateX(100%) skewX(-30deg); opacity: 0; } 60% { -webkit-transform: translateX(-20%) skewX(30deg); transform: translateX(-20%) skewX(30deg); opacity: 1; } 80% { -webkit-transform: translateX(0%) skewX(-15deg); transform: translateX(0%) skewX(-15deg); opacity: 1; } 100% { -webkit-transform: translateX(0%) skewX(0deg); transform: translateX(0%) skewX(0deg); opacity: 1; } } @keyframes lightSpeedIn { 0% { -webkit-transform: translateX(100%) skewX(-30deg); -ms-transform: translateX(100%) skewX(-30deg); transform: translateX(100%) skewX(-30deg); opacity: 0; } 60% { -webkit-transform: translateX(-20%) skewX(30deg); -ms-transform: translateX(-20%) skewX(30deg); transform: translateX(-20%) skewX(30deg); opacity: 1; } 80% { -webkit-transform: translateX(0%) skewX(-15deg); -ms-transform: translateX(0%) skewX(-15deg); transform: translateX(0%) skewX(-15deg); opacity: 1; } 100% { -webkit-transform: translateX(0%) skewX(0deg); -ms-transform: translateX(0%) skewX(0deg); transform: translateX(0%) skewX(0deg); opacity: 1; } } .lightSpeedIn { -webkit-animation-name: lightSpeedIn; animation-name: lightSpeedIn; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } @-webkit-keyframes lightSpeedOut { 0% { -webkit-transform: translateX(0%) skewX(0deg); transform: translateX(0%) skewX(0deg); opacity: 1; } 100% { -webkit-transform: translateX(100%) skewX(-30deg); transform: translateX(100%) skewX(-30deg); opacity: 0; } } @keyframes lightSpeedOut { 0% { -webkit-transform: translateX(0%) skewX(0deg); -ms-transform: translateX(0%) skewX(0deg); transform: translateX(0%) skewX(0deg); opacity: 1; } 100% { -webkit-transform: translateX(100%) skewX(-30deg); -ms-transform: translateX(100%) skewX(-30deg); transform: translateX(100%) skewX(-30deg); opacity: 0; } } .lightSpeedOut { -webkit-animation-name: lightSpeedOut; animation-name: lightSpeedOut; -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } @-webkit-keyframes rotateIn { 0% { -webkit-transform-origin: center center; transform-origin: center center; -webkit-transform: rotate(-200deg); transform: rotate(-200deg); opacity: 0; } 100% { -webkit-transform-origin: center center; transform-origin: center center; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @keyframes rotateIn { 0% { -webkit-transform-origin: center center; -ms-transform-origin: center center; transform-origin: center center; -webkit-transform: rotate(-200deg); -ms-transform: rotate(-200deg); transform: rotate(-200deg); opacity: 0; } 100% { -webkit-transform-origin: center center; -ms-transform-origin: center center; transform-origin: center center; -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); opacity: 1; } } .rotateIn { -webkit-animation-name: rotateIn; animation-name: rotateIn; } @-webkit-keyframes rotateInDownLeft { 0% { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } 100% { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @keyframes rotateInDownLeft { 0% { -webkit-transform-origin: left bottom; -ms-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } 100% { -webkit-transform-origin: left bottom; -ms-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); opacity: 1; } } .rotateInDownLeft { -webkit-animation-name: rotateInDownLeft; animation-name: rotateInDownLeft; } @-webkit-keyframes rotateInDownRight { 0% { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } 100% { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @keyframes rotateInDownRight { 0% { -webkit-transform-origin: right bottom; -ms-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } 100% { -webkit-transform-origin: right bottom; -ms-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); opacity: 1; } } .rotateInDownRight { -webkit-animation-name: rotateInDownRight; animation-name: rotateInDownRight; } @-webkit-keyframes rotateInUpLeft { 0% { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } 100% { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @keyframes rotateInUpLeft { 0% { -webkit-transform-origin: left bottom; -ms-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } 100% { -webkit-transform-origin: left bottom; -ms-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); opacity: 1; } } .rotateInUpLeft { -webkit-animation-name: rotateInUpLeft; animation-name: rotateInUpLeft; } @-webkit-keyframes rotateInUpRight { 0% { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } 100% { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } } @keyframes rotateInUpRight { 0% { -webkit-transform-origin: right bottom; -ms-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } 100% { -webkit-transform-origin: right bottom; -ms-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); opacity: 1; } } .rotateInUpRight { -webkit-animation-name: rotateInUpRight; animation-name: rotateInUpRight; } @-webkit-keyframes rotateOut { 0% { -webkit-transform-origin: center center; transform-origin: center center; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: center center; transform-origin: center center; -webkit-transform: rotate(200deg); transform: rotate(200deg); opacity: 0; } } @keyframes rotateOut { 0% { -webkit-transform-origin: center center; -ms-transform-origin: center center; transform-origin: center center; -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: center center; -ms-transform-origin: center center; transform-origin: center center; -webkit-transform: rotate(200deg); -ms-transform: rotate(200deg); transform: rotate(200deg); opacity: 0; } } .rotateOut { -webkit-animation-name: rotateOut; animation-name: rotateOut; } @-webkit-keyframes rotateOutDownLeft { 0% { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } } @keyframes rotateOutDownLeft { 0% { -webkit-transform-origin: left bottom; -ms-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: left bottom; -ms-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } } .rotateOutDownLeft { -webkit-animation-name: rotateOutDownLeft; animation-name: rotateOutDownLeft; } @-webkit-keyframes rotateOutDownRight { 0% { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } } @keyframes rotateOutDownRight { 0% { -webkit-transform-origin: right bottom; -ms-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: right bottom; -ms-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } } .rotateOutDownRight { -webkit-animation-name: rotateOutDownRight; animation-name: rotateOutDownRight; } @-webkit-keyframes rotateOutUpLeft { 0% { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } } @keyframes rotateOutUpLeft { 0% { -webkit-transform-origin: left bottom; -ms-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: left bottom; -ms-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; } } .rotateOutUpLeft { -webkit-animation-name: rotateOutUpLeft; animation-name: rotateOutUpLeft; } @-webkit-keyframes rotateOutUpRight { 0% { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } } @keyframes rotateOutUpRight { 0% { -webkit-transform-origin: right bottom; -ms-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); opacity: 1; } 100% { -webkit-transform-origin: right bottom; -ms-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; } } .rotateOutUpRight { -webkit-animation-name: rotateOutUpRight; animation-name: rotateOutUpRight; } @-webkit-keyframes slideInDown { 0% { opacity: 0; -webkit-transform: translateY(-2000px); transform: translateY(-2000px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes slideInDown { 0% { opacity: 0; -webkit-transform: translateY(-2000px); -ms-transform: translateY(-2000px); transform: translateY(-2000px); } 100% { -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } } .slideInDown { -webkit-animation-name: slideInDown; animation-name: slideInDown; } @-webkit-keyframes slideInLeft { 0% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes slideInLeft { 0% { opacity: 0; -webkit-transform: translateX(-2000px); -ms-transform: translateX(-2000px); transform: translateX(-2000px); } 100% { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } } .slideInLeft { -webkit-animation-name: slideInLeft; animation-name: slideInLeft; } @-webkit-keyframes slideInRight { 0% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } 100% { -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes slideInRight { 0% { opacity: 0; -webkit-transform: translateX(2000px); -ms-transform: translateX(2000px); transform: translateX(2000px); } 100% { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } } .slideInRight { -webkit-animation-name: slideInRight; animation-name: slideInRight; } @-webkit-keyframes slideOutLeft { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(-2000px); transform: translateX(-2000px); } } @keyframes slideOutLeft { 0% { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(-2000px); -ms-transform: translateX(-2000px); transform: translateX(-2000px); } } .slideOutLeft { -webkit-animation-name: slideOutLeft; animation-name: slideOutLeft; } @-webkit-keyframes slideOutRight { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(2000px); transform: translateX(2000px); } } @keyframes slideOutRight { 0% { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } 100% { opacity: 0; -webkit-transform: translateX(2000px); -ms-transform: translateX(2000px); transform: translateX(2000px); } } .slideOutRight { -webkit-animation-name: slideOutRight; animation-name: slideOutRight; } @-webkit-keyframes slideOutUp { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(-2000px); transform: translateY(-2000px); } } @keyframes slideOutUp { 0% { -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(-2000px); -ms-transform: translateY(-2000px); transform: translateY(-2000px); } } .slideOutUp { -webkit-animation-name: slideOutUp; animation-name: slideOutUp; } @-webkit-keyframes hinge { 0% { -webkit-transform: rotate(0); transform: rotate(0); -webkit-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 20%, 60% { -webkit-transform: rotate(80deg); transform: rotate(80deg); -webkit-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 40% { -webkit-transform: rotate(60deg); transform: rotate(60deg); -webkit-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 80% { -webkit-transform: rotate(60deg) translateY(0); transform: rotate(60deg) translateY(0); opacity: 1; -webkit-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { -webkit-transform: translateY(700px); transform: translateY(700px); opacity: 0; } } @keyframes hinge { 0% { -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); -webkit-transform-origin: top left; -ms-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 20%, 60% { -webkit-transform: rotate(80deg); -ms-transform: rotate(80deg); transform: rotate(80deg); -webkit-transform-origin: top left; -ms-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 40% { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); -webkit-transform-origin: top left; -ms-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 80% { -webkit-transform: rotate(60deg) translateY(0); -ms-transform: rotate(60deg) translateY(0); transform: rotate(60deg) translateY(0); opacity: 1; -webkit-transform-origin: top left; -ms-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 100% { -webkit-transform: translateY(700px); -ms-transform: translateY(700px); transform: translateY(700px); opacity: 0; } } .hinge { -webkit-animation-name: hinge; animation-name: hinge; } /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ @-webkit-keyframes rollIn { 0% { opacity: 0; -webkit-transform: translateX(-100%) rotate(-120deg); transform: translateX(-100%) rotate(-120deg); } 100% { opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); transform: translateX(0px) rotate(0deg); } } @keyframes rollIn { 0% { opacity: 0; -webkit-transform: translateX(-100%) rotate(-120deg); -ms-transform: translateX(-100%) rotate(-120deg); transform: translateX(-100%) rotate(-120deg); } 100% { opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); -ms-transform: translateX(0px) rotate(0deg); transform: translateX(0px) rotate(0deg); } } .rollIn { -webkit-animation-name: rollIn; animation-name: rollIn; } /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ @-webkit-keyframes rollOut { 0% { opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); transform: translateX(0px) rotate(0deg); } 100% { opacity: 0; -webkit-transform: translateX(100%) rotate(120deg); transform: translateX(100%) rotate(120deg); } } @keyframes rollOut { 0% { opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); -ms-transform: translateX(0px) rotate(0deg); transform: translateX(0px) rotate(0deg); } 100% { opacity: 0; -webkit-transform: translateX(100%) rotate(120deg); -ms-transform: translateX(100%) rotate(120deg); transform: translateX(100%) rotate(120deg); } } .rollOut { -webkit-animation-name: rollOut; animation-name: rollOut; } ================================================ FILE: content/css/bootstrap/.gitkeep ================================================ ================================================ FILE: content/css/bootstrap/bootstrap.css ================================================ /*! * Bootstrap v3.0.0 * * Copyright 2013 Twitter, Inc * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * * Designed and built with all the love in the world by @mdo and @fat. */ /*! normalize.css v2.1.0 | MIT License | git.io/normalize */ article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } audio, canvas, video { display: inline-block; } audio:not([controls]) { display: none; height: 0; } [hidden] { display: none; } html { font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } body { margin: 0; } a:focus { outline: thin dotted; } a:active, a:hover { outline: 0; } h1 { font-size: 2em; margin: 0.67em 0; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } dfn { font-style: italic; } hr { box-sizing: content-box; height: 0; } mark { background: #ff0; color: #000; } code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } pre { white-space: pre-wrap; } q { quotes: "\201C" "\201D" "\2018" "\2019"; } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 0; } fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } legend { border: 0; padding: 0; } button, input, select, textarea { font-family: inherit; font-size: 100%; margin: 0; } button, input { line-height: normal; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; } input[type="search"] { -webkit-appearance: textfield; box-sizing: content-box; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } textarea { overflow: auto; vertical-align: top; } table { border-collapse: collapse; border-spacing: 0; } @media print { * { text-shadow: none !important; color: #000 !important; background: transparent !important; box-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } @page { margin: 2cm .5cm; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } .navbar { display: none; } .table td, .table th { background-color: #fff !important; } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table-bordered th, .table-bordered td { border: 1px solid #ddd !important; } } *, *:before, *:after { box-sizing: border-box; } html { font-size: 62.5%; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 15px; line-height: 1.42857; color: #333; background-color: #fff; } input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } button, input, select[multiple], textarea { background-image: none; } a { color: #4F8EF7; text-decoration: none; } a:hover, a:focus { color: #0b60ef; text-decoration: underline; } a:focus { outline: none; } img { vertical-align: middle; } .img-responsive { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail, .thumbnail { padding: 4px; line-height: 1.42857; background-color: #fff; border: 1px solid #ddd; border-radius: 2px; transition: all 0.2s ease-in-out; display: inline-block; max-width: 100%; height: auto; } .img-circle { border-radius: 50%; } hr { margin-top: 21px; margin-bottom: 21px; border: 0; border-top: 1px solid #eeeeee; } .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; } p { margin: 0 0 10.5px; } .lead { margin-bottom: 21px; font-size: 17.25px; font-weight: 200; line-height: 1.4; } @media (min-width: 768px) { .lead { font-size: 22.5px; } } small { font-size: 85%; } cite { font-style: normal; } .text-muted { color: #999999; } .text-primary { color: #4F8EF7; } .text-warning { color: #c09853; } .text-danger { color: #b94a48; } .text-success { color: #468847; } .text-info { color: #3a87ad; } .text-left { text-align: left; } .text-right { text-align: right; } .text-center { text-align: center; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; font-weight: 500; line-height: 1.1; } h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small { font-weight: normal; line-height: 1; color: #999999; } h1, h2, h3 { margin-top: 21px; margin-bottom: 10.5px; } h4, h5, h6 { margin-top: 10.5px; margin-bottom: 10.5px; } h1, .h1 { font-size: 32px; } h2, .h2 { font-size: 26px; } h3, .h3 { font-size: 22px; } h4, .h4 { font-size: 19px; } h5, .h5 { font-size: 17px; } h6, .h6 { font-size: 15px; } h1 small, .h1 small { font-size: 19px; } h2 small, .h2 small { font-size: 17px; } h3 small, .h3 small, h4 small, .h4 small { font-size: 15px; } .page-header { padding-bottom: 9.5px; margin: 42px 0 21px; border-bottom: 1px solid #eeeeee; } ul, ol { margin-top: 0; margin-bottom: 10.5px; } ul ul, ul ol, ol ul, ol ol { margin-bottom: 0; } .list-unstyled, .list-inline { padding-left: 0; list-style: none; } .list-inline > li { display: inline-block; padding-left: 5px; padding-right: 5px; } dl { margin-bottom: 21px; } dt, dd { line-height: 1.42857; } dt { font-weight: bold; } dd { margin-left: 0; } @media (min-width: 768px) { .dl-horizontal dt { float: left; width: 160px; clear: left; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .dl-horizontal dd { margin-left: 180px; } .dl-horizontal dd:before, .dl-horizontal dd:after { content: " "; /* 1 */ display: table; /* 2 */ } .dl-horizontal dd:after { clear: both; } } abbr[title], abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #999999; } abbr.initialism { font-size: 90%; text-transform: uppercase; } blockquote { padding: 10.5px 21px; margin: 0 0 21px; border-left: 5px solid #eeeeee; } blockquote p { font-size: 18.75px; font-weight: 300; line-height: 1.25; } blockquote p:last-child { margin-bottom: 0; } blockquote small { display: block; line-height: 1.42857; color: #999999; } blockquote small:before { content: '\2014 \00A0'; } blockquote.pull-right { padding-right: 15px; padding-left: 0; border-right: 5px solid #eeeeee; border-left: 0; } blockquote.pull-right p, blockquote.pull-right small { text-align: right; } blockquote.pull-right small:before { content: ''; } blockquote.pull-right small:after { content: '\00A0 \2014'; } q:before, q:after, blockquote:before, blockquote:after { content: ""; } address { display: block; margin-bottom: 21px; font-style: normal; line-height: 1.42857; } code, pre { font-family: Monaco, Menlo, Consolas, "Courier New", monospace; } code { margin-left: 3px; margin-right: 3px; padding: 2px 4px; font-size: 85%; color: #4D8CF4; background-color: whitesmoke; white-space: nowrap; border-radius: 2px; } pre { display: block; padding: 10px; margin: 0 0 10.5px; font-size: 14px; line-height: 1.42857; word-break: break-all; word-wrap: break-word; color: #333333; background-color: transparent; border: 1px solid #eee; border-radius: 2px; } pre.prettyprint { margin-bottom: 21px; } pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap; background-color: transparent; border: 0; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px; } .container:before, .container:after { content: " "; /* 1 */ display: table; /* 2 */ } .container:after { clear: both; } .row { margin-left: -15px; margin-right: -15px; } .row:before, .row:after { content: " "; /* 1 */ display: table; /* 2 */ } .row:after { clear: both; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .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-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-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 { position: relative; min-height: 1px; padding-left: 15px; padding-right: 15px; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11 { float: left; } .col-xs-1 { width: 8.33333%; } .col-xs-2 { width: 16.66667%; } .col-xs-3 { width: 25%; } .col-xs-4 { width: 33.33333%; } .col-xs-5 { width: 41.66667%; } .col-xs-6 { width: 50%; } .col-xs-7 { width: 58.33333%; } .col-xs-8 { width: 66.66667%; } .col-xs-9 { width: 75%; } .col-xs-10 { width: 83.33333%; } .col-xs-11 { width: 91.66667%; } .col-xs-12 { width: 100%; } @media (min-width: 768px) { .container { max-width: 750px; } .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 { float: left; } .col-sm-1 { width: 8.33333%; } .col-sm-2 { width: 16.66667%; } .col-sm-3 { width: 25%; } .col-sm-4 { width: 33.33333%; } .col-sm-5 { width: 41.66667%; } .col-sm-6 { width: 50%; } .col-sm-7 { width: 58.33333%; } .col-sm-8 { width: 66.66667%; } .col-sm-9 { width: 75%; } .col-sm-10 { width: 83.33333%; } .col-sm-11 { width: 91.66667%; } .col-sm-12 { width: 100%; } .col-sm-push-1 { left: 8.33333%; } .col-sm-push-2 { left: 16.66667%; } .col-sm-push-3 { left: 25%; } .col-sm-push-4 { left: 33.33333%; } .col-sm-push-5 { left: 41.66667%; } .col-sm-push-6 { left: 50%; } .col-sm-push-7 { left: 58.33333%; } .col-sm-push-8 { left: 66.66667%; } .col-sm-push-9 { left: 75%; } .col-sm-push-10 { left: 83.33333%; } .col-sm-push-11 { left: 91.66667%; } .col-sm-pull-1 { right: 8.33333%; } .col-sm-pull-2 { right: 16.66667%; } .col-sm-pull-3 { right: 25%; } .col-sm-pull-4 { right: 33.33333%; } .col-sm-pull-5 { right: 41.66667%; } .col-sm-pull-6 { right: 50%; } .col-sm-pull-7 { right: 58.33333%; } .col-sm-pull-8 { right: 66.66667%; } .col-sm-pull-9 { right: 75%; } .col-sm-pull-10 { right: 83.33333%; } .col-sm-pull-11 { right: 91.66667%; } .col-sm-offset-1 { margin-left: 8.33333%; } .col-sm-offset-2 { margin-left: 16.66667%; } .col-sm-offset-3 { margin-left: 25%; } .col-sm-offset-4 { margin-left: 33.33333%; } .col-sm-offset-5 { margin-left: 41.66667%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-7 { margin-left: 58.33333%; } .col-sm-offset-8 { margin-left: 66.66667%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-10 { margin-left: 83.33333%; } .col-sm-offset-11 { margin-left: 91.66667%; } } @media (min-width: 992px) { .container { max-width: 970px; } .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 { float: left; } .col-md-1 { width: 8.33333%; } .col-md-2 { width: 16.66667%; } .col-md-3 { width: 25%; } .col-md-4 { width: 33.33333%; } .col-md-5 { width: 41.66667%; } .col-md-6 { width: 50%; } .col-md-7 { width: 58.33333%; } .col-md-8 { width: 66.66667%; } .col-md-9 { width: 75%; } .col-md-10 { width: 83.33333%; } .col-md-11 { width: 91.66667%; } .col-md-12 { width: 100%; } .col-md-push-0 { left: auto; } .col-md-push-1 { left: 8.33333%; } .col-md-push-2 { left: 16.66667%; } .col-md-push-3 { left: 25%; } .col-md-push-4 { left: 33.33333%; } .col-md-push-5 { left: 41.66667%; } .col-md-push-6 { left: 50%; } .col-md-push-7 { left: 58.33333%; } .col-md-push-8 { left: 66.66667%; } .col-md-push-9 { left: 75%; } .col-md-push-10 { left: 83.33333%; } .col-md-push-11 { left: 91.66667%; } .col-md-pull-0 { right: auto; } .col-md-pull-1 { right: 8.33333%; } .col-md-pull-2 { right: 16.66667%; } .col-md-pull-3 { right: 25%; } .col-md-pull-4 { right: 33.33333%; } .col-md-pull-5 { right: 41.66667%; } .col-md-pull-6 { right: 50%; } .col-md-pull-7 { right: 58.33333%; } .col-md-pull-8 { right: 66.66667%; } .col-md-pull-9 { right: 75%; } .col-md-pull-10 { right: 83.33333%; } .col-md-pull-11 { right: 91.66667%; } .col-md-offset-0 { margin-left: 0; } .col-md-offset-1 { margin-left: 8.33333%; } .col-md-offset-2 { margin-left: 16.66667%; } .col-md-offset-3 { margin-left: 25%; } .col-md-offset-4 { margin-left: 33.33333%; } .col-md-offset-5 { margin-left: 41.66667%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-7 { margin-left: 58.33333%; } .col-md-offset-8 { margin-left: 66.66667%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-10 { margin-left: 83.33333%; } .col-md-offset-11 { margin-left: 91.66667%; } } @media (min-width: 1200px) { .container { max-width: 1170px; } .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 { float: left; } .col-lg-1 { width: 8.33333%; } .col-lg-2 { width: 16.66667%; } .col-lg-3 { width: 25%; } .col-lg-4 { width: 33.33333%; } .col-lg-5 { width: 41.66667%; } .col-lg-6 { width: 50%; } .col-lg-7 { width: 58.33333%; } .col-lg-8 { width: 66.66667%; } .col-lg-9 { width: 75%; } .col-lg-10 { width: 83.33333%; } .col-lg-11 { width: 91.66667%; } .col-lg-12 { width: 100%; } .col-lg-push-0 { left: auto; } .col-lg-push-1 { left: 8.33333%; } .col-lg-push-2 { left: 16.66667%; } .col-lg-push-3 { left: 25%; } .col-lg-push-4 { left: 33.33333%; } .col-lg-push-5 { left: 41.66667%; } .col-lg-push-6 { left: 50%; } .col-lg-push-7 { left: 58.33333%; } .col-lg-push-8 { left: 66.66667%; } .col-lg-push-9 { left: 75%; } .col-lg-push-10 { left: 83.33333%; } .col-lg-push-11 { left: 91.66667%; } .col-lg-pull-0 { right: auto; } .col-lg-pull-1 { right: 8.33333%; } .col-lg-pull-2 { right: 16.66667%; } .col-lg-pull-3 { right: 25%; } .col-lg-pull-4 { right: 33.33333%; } .col-lg-pull-5 { right: 41.66667%; } .col-lg-pull-6 { right: 50%; } .col-lg-pull-7 { right: 58.33333%; } .col-lg-pull-8 { right: 66.66667%; } .col-lg-pull-9 { right: 75%; } .col-lg-pull-10 { right: 83.33333%; } .col-lg-pull-11 { right: 91.66667%; } .col-lg-offset-0 { margin-left: 0; } .col-lg-offset-1 { margin-left: 8.33333%; } .col-lg-offset-2 { margin-left: 16.66667%; } .col-lg-offset-3 { margin-left: 25%; } .col-lg-offset-4 { margin-left: 33.33333%; } .col-lg-offset-5 { margin-left: 41.66667%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-7 { margin-left: 58.33333%; } .col-lg-offset-8 { margin-left: 66.66667%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-10 { margin-left: 83.33333%; } .col-lg-offset-11 { margin-left: 91.66667%; } } table { max-width: 100%; background-color: transparent; } th { text-align: left; } .table { width: 100%; margin-bottom: 21px; } .table thead > tr > th, .table thead > tr > td, .table tbody > tr > th, .table tbody > tr > td, .table tfoot > tr > th, .table tfoot > tr > td { padding: 8px; line-height: 1.42857; vertical-align: top; border-top: 1px solid #ddd; } .table thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #ddd; } .table caption + thead tr:first-child th, .table caption + thead tr:first-child td, .table colgroup + thead tr:first-child th, .table colgroup + thead tr:first-child td, .table thead:first-child tr:first-child th, .table thead:first-child tr:first-child td { border-top: 0; } .table tbody + tbody { border-top: 2px solid #ddd; } .table .table { background-color: #fff; } .table-condensed thead > tr > th, .table-condensed thead > tr > td, .table-condensed tbody > tr > th, .table-condensed tbody > tr > td, .table-condensed tfoot > tr > th, .table-condensed tfoot > tr > td { padding: 5px; } .table-bordered { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > th, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > th, .table-bordered > tfoot > tr > td { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-child(odd) > td, .table-striped > tbody > tr:nth-child(odd) > th { background-color: #f9f9f9; } .table-hover > tbody > tr:hover > td, .table-hover > tbody > tr:hover > th { background-color: #f5f5f5; } table col[class*="col-"] { float: none; display: table-column; } table td[class*="col-"], table th[class*="col-"] { float: none; display: table-cell; } .table > thead > tr > td.active, .table > thead > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr > td.active, .table > tbody > tr > th.active, .table > tbody > tr.active > td, .table > tbody > tr.active > th, .table > tfoot > tr > td.active, .table > tfoot > tr > th.active, .table > tfoot > tr.active > td, .table > tfoot > tr.active > th { background-color: #f5f5f5; } .table > thead > tr > td.success, .table > thead > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr > td.success, .table > tbody > tr > th.success, .table > tbody > tr.success > td, .table > tbody > tr.success > th, .table > tfoot > tr > td.success, .table > tfoot > tr > th.success, .table > tfoot > tr.success > td, .table > tfoot > tr.success > th { background-color: #dff0d8; border-color: #d6e9c6; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td { background-color: #d0e9c6; border-color: #c9e2b3; } .table > thead > tr > td.danger, .table > thead > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr > td.danger, .table > tbody > tr > th.danger, .table > tbody > tr.danger > td, .table > tbody > tr.danger > th, .table > tfoot > tr > td.danger, .table > tfoot > tr > th.danger, .table > tfoot > tr.danger > td, .table > tfoot > tr.danger > th { background-color: #f2dede; border-color: #eed3d7; } .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td { background-color: #ebcccc; border-color: #e6c1c7; } .table > thead > tr > td.warning, .table > thead > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr > td.warning, .table > tbody > tr > th.warning, .table > tbody > tr.warning > td, .table > tbody > tr.warning > th, .table > tfoot > tr > td.warning, .table > tfoot > tr > th.warning, .table > tfoot > tr.warning > td, .table > tfoot > tr.warning > th { background-color: #fcf8e3; border-color: #fbeed5; } .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td { background-color: #faf2cc; border-color: #f8e5be; } @media (max-width: 768px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-y: hidden; overflow-x: scroll; border: 1px solid #ddd; } .table-responsive > .table { margin-bottom: 0; background-color: #fff; } .table-responsive > .table > thead > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } .table-responsive > .table-bordered { border: 0; } .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .table-responsive > .table-bordered > thead > tr:last-child > th, .table-responsive > .table-bordered > thead > tr:last-child > td, .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0; } } fieldset { padding: 0; margin: 0; border: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 21px; font-size: 22.5px; line-height: inherit; color: #333333; border: 0; border-bottom: 1px solid #e5e5e5; } label { display: inline-block; margin-bottom: 5px; font-weight: bold; } input[type="search"] { box-sizing: border-box; } input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; /* IE8-9 */ line-height: normal; } input[type="file"] { display: block; } select[multiple], select[size] { height: auto; } select optgroup { font-size: inherit; font-style: inherit; font-family: inherit; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: none; } input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button { height: auto; } .form-control:-moz-placeholder { color: #999999; } .form-control::-moz-placeholder { color: #999999; } .form-control:-ms-input-placeholder { color: #999999; } .form-control::-webkit-input-placeholder { color: #999999; } .form-control { display: block; width: 100%; height: 35px; padding: 6px 12px; font-size: 15px; line-height: 1.42857; color: #555555; vertical-align: middle; background-color: #fff; border: 1px solid #ccc; border-radius: 2px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } .form-control:focus { border-color: #66afe9; outline: 0; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { cursor: not-allowed; background-color: #eeeeee; } textarea.form-control { height: auto; } .form-group { margin-bottom: 15px; } .radio, .checkbox { display: block; min-height: 21px; margin-top: 10px; margin-bottom: 10px; padding-left: 20px; vertical-align: middle; } .radio label, .checkbox label { display: inline; margin-bottom: 0; font-weight: normal; cursor: pointer; } .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { float: left; margin-left: -20px; } .radio + .radio, .checkbox + .checkbox { margin-top: -5px; } .radio-inline, .checkbox-inline { display: inline-block; padding-left: 20px; margin-bottom: 0; vertical-align: middle; font-weight: normal; cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: 10px; } input[type="radio"][disabled], fieldset[disabled] input[type="radio"], input[type="checkbox"][disabled], fieldset[disabled] input[type="checkbox"], .radio[disabled], fieldset[disabled] .radio, .radio-inline[disabled], fieldset[disabled] .radio-inline, .checkbox[disabled], fieldset[disabled] .checkbox, .checkbox-inline[disabled], fieldset[disabled] .checkbox-inline { cursor: not-allowed; } .input-sm, .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { height: 31px; padding: 5px 10px; font-size: 13px; line-height: 1.5; border-radius: 3px; } select.input-sm, .input-group-sm > select.form-control, .input-group-sm > select.input-group-addon, .input-group-sm > .input-group-btn > select.btn { height: 31px; line-height: 31px; } textarea.input-sm, .input-group-sm > textarea.form-control, .input-group-sm > textarea.input-group-addon, .input-group-sm > .input-group-btn > textarea.btn { height: auto; } .input-lg, .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { height: 47px; padding: 10px 16px; font-size: 19px; line-height: 1.33; border-radius: 6px; } select.input-lg, .input-group-lg > select.form-control, .input-group-lg > select.input-group-addon, .input-group-lg > .input-group-btn > select.btn { height: 47px; line-height: 47px; } textarea.input-lg, .input-group-lg > textarea.form-control, .input-group-lg > textarea.input-group-addon, .input-group-lg > .input-group-btn > textarea.btn { height: auto; } .has-warning .help-block, .has-warning .control-label { color: #c09853; } .has-warning .form-control { border-color: #c09853; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-warning .form-control:focus { border-color: #a47e3c; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; } .has-warning .input-group-addon { color: #c09853; border-color: #c09853; background-color: #fcf8e3; } .has-error .help-block, .has-error .control-label { color: #b94a48; } .has-error .form-control { border-color: #b94a48; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-error .form-control:focus { border-color: #953b39; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; } .has-error .input-group-addon { color: #b94a48; border-color: #b94a48; background-color: #f2dede; } .has-success .help-block, .has-success .control-label { color: #468847; } .has-success .form-control { border-color: #468847; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-success .form-control:focus { border-color: #356635; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; } .has-success .input-group-addon { color: #468847; border-color: #468847; background-color: #dff0d8; } .form-control-static { margin-bottom: 0; padding-top: 7px; } .help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #737373; } @media (min-width: 768px) { .form-inline .form-group, .navbar-form .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .form-inline .form-control, .navbar-form .form-control { display: inline-block; } .form-inline .radio, .navbar-form .radio, .form-inline .checkbox, .navbar-form .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; padding-left: 0; } .form-inline .radio input[type="radio"], .navbar-form .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"], .navbar-form .checkbox input[type="checkbox"] { float: none; margin-left: 0; } } .form-horizontal .control-label, .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { margin-top: 0; margin-bottom: 0; padding-top: 7px; } .form-horizontal .form-group { margin-left: -15px; margin-right: -15px; } .form-horizontal .form-group:before, .form-horizontal .form-group:after { content: " "; /* 1 */ display: table; /* 2 */ } .form-horizontal .form-group:after { clear: both; } @media (min-width: 768px) { .form-horizontal .control-label { text-align: right; } } .btn { display: inline-block; padding: 6px 12px; margin-bottom: 0; font-family: "AvenirNextLTPro-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: normal; font-size: 15px; line-height: 1.42857; text-align: center; vertical-align: middle; cursor: pointer; border: 1px solid transparent; border-radius: 2px; white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; } .btn:focus { outline: none; } .btn:hover, .btn:focus { color: #333; text-decoration: none; } .btn:active, .btn.active { outline: 0; background-image: none; box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; pointer-events: none; opacity: 0.65; filter: alpha(opacity=65); box-shadow: none; } .btn-default { color: #333; background-color: #fff; transition: background-color .1s ease-in-out; } .btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active { color: #333; background-color: #ebebeb; } .open .btn-default.dropdown-toggle { color: #333; background-color: #ebebeb; border-color: #adadad; } .btn-default:active, .btn-default.active { background-image: none; } .open .btn-default.dropdown-toggle { background-image: none; } .btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { background-color: #fff; border-color: #ccc; } .btn-primary { color: #fff; background-color: #4F8EF7; transition: background-color .1s ease-in-out; } .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active { color: #fff; background-color: #2875f5; } .open .btn-primary.dropdown-toggle { color: #fff; background-color: #2875f5; border-color: #1468f4; } .btn-primary:active, .btn-primary.active { background-image: none; } .open .btn-primary.dropdown-toggle { background-image: none; } .btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active { background-color: #4F8EF7; border-color: #4F8EF7; } .btn-warning { color: #fff; background-color: #f0ad4e; transition: background-color .1s ease-in-out; } .btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active { color: #fff; background-color: #ed9c28; } .open .btn-warning.dropdown-toggle { color: #fff; background-color: #ed9c28; border-color: #d58512; } .btn-warning:active, .btn-warning.active { background-image: none; } .open .btn-warning.dropdown-toggle { background-image: none; } .btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled]:active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active { background-color: #f0ad4e; border-color: #eea236; } .btn-danger { color: #fff; background-color: #d9534f; transition: background-color .1s ease-in-out; } .btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active { color: #fff; background-color: #d2322d; } .open .btn-danger.dropdown-toggle { color: #fff; background-color: #d2322d; border-color: #ac2925; } .btn-danger:active, .btn-danger.active { background-image: none; } .open .btn-danger.dropdown-toggle { background-image: none; } .btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled]:active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active { background-color: #d9534f; border-color: #d43f3a; } .btn-success { color: #fff; background-color: #5cb85c; transition: background-color .1s ease-in-out; } .btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active { color: #fff; background-color: #47a447; } .open .btn-success.dropdown-toggle { color: #fff; background-color: #47a447; border-color: #398439; } .btn-success:active, .btn-success.active { background-image: none; } .open .btn-success.dropdown-toggle { background-image: none; } .btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active { background-color: #5cb85c; border-color: #4cae4c; } .btn-info { color: #fff; background-color: #5bc0de; transition: background-color .1s ease-in-out; } .btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active { color: #fff; background-color: #39b3d7; } .open .btn-info.dropdown-toggle { color: #fff; background-color: #39b3d7; border-color: #269abc; } .btn-info:active, .btn-info.active { background-image: none; } .open .btn-info.dropdown-toggle { background-image: none; } .btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled]:active, .btn-info[disabled].active, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active { background-color: #5bc0de; border-color: #46b8da; } .btn-link { color: #4F8EF7; font-weight: normal; cursor: pointer; border-radius: 0; } .btn-link, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; box-shadow: none; } .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } .btn-link:hover, .btn-link:focus { color: #0b60ef; text-decoration: underline; background-color: transparent; } .btn-link[disabled]:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:hover, fieldset[disabled] .btn-link:focus { color: #999999; text-decoration: none; } .btn-lg, .btn-group-lg > .btn { padding: 10px 16px; font-size: 19px; line-height: 1.33; border-radius: 6px; } .btn-sm, .btn-group-sm > .btn, .btn-xs, .btn-group-xs > .btn { padding: 5px 10px; font-size: 13px; line-height: 1.5; border-radius: 3px; } .btn-xs, .btn-group-xs > .btn { padding: 1px 5px; } .btn-block { display: block; width: 100%; padding-left: 0; padding-right: 0; } .btn-block + .btn-block { margin-top: 5px; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { opacity: 0; transition: opacity 0.15s linear; } .fade.in { opacity: 1; } .collapse { display: none; } .collapse.in { display: block; } .collapsing { position: relative; height: 0; overflow: hidden; transition: height 0.35s ease; } @font-face { font-family: 'Glyphicons Halflings'; src: url("../fonts/glyphicons-halflings-regular.eot"); src: url("../fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular") format("svg"); } .glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; } .glyphicon-asterisk:before { content: "\2a"; } .glyphicon-plus:before { content: "\2b"; } .glyphicon-euro:before { content: "\20ac"; } .glyphicon-minus:before { content: "\2212"; } .glyphicon-cloud:before { content: "\2601"; } .glyphicon-envelope:before { content: "\2709"; } .glyphicon-pencil:before { content: "\270f"; } .glyphicon-glass:before { content: "\e001"; } .glyphicon-music:before { content: "\e002"; } .glyphicon-search:before { content: "\e003"; } .glyphicon-heart:before { content: "\e005"; } .glyphicon-star:before { content: "\e006"; } .glyphicon-star-empty:before { content: "\e007"; } .glyphicon-user:before { content: "\e008"; } .glyphicon-film:before { content: "\e009"; } .glyphicon-th-large:before { content: "\e010"; } .glyphicon-th:before { content: "\e011"; } .glyphicon-th-list:before { content: "\e012"; } .glyphicon-ok:before { content: "\e013"; } .glyphicon-remove:before { content: "\e014"; } .glyphicon-zoom-in:before { content: "\e015"; } .glyphicon-zoom-out:before { content: "\e016"; } .glyphicon-off:before { content: "\e017"; } .glyphicon-signal:before { content: "\e018"; } .glyphicon-cog:before { content: "\e019"; } .glyphicon-trash:before { content: "\e020"; } .glyphicon-home:before { content: "\e021"; } .glyphicon-file:before { content: "\e022"; } .glyphicon-time:before { content: "\e023"; } .glyphicon-road:before { content: "\e024"; } .glyphicon-download-alt:before { content: "\e025"; } .glyphicon-download:before { content: "\e026"; } .glyphicon-upload:before { content: "\e027"; } .glyphicon-inbox:before { content: "\e028"; } .glyphicon-play-circle:before { content: "\e029"; } .glyphicon-repeat:before { content: "\e030"; } .glyphicon-refresh:before { content: "\e031"; } .glyphicon-list-alt:before { content: "\e032"; } .glyphicon-flag:before { content: "\e034"; } .glyphicon-headphones:before { content: "\e035"; } .glyphicon-volume-off:before { content: "\e036"; } .glyphicon-volume-down:before { content: "\e037"; } .glyphicon-volume-up:before { content: "\e038"; } .glyphicon-qrcode:before { content: "\e039"; } .glyphicon-barcode:before { content: "\e040"; } .glyphicon-tag:before { content: "\e041"; } .glyphicon-tags:before { content: "\e042"; } .glyphicon-book:before { content: "\e043"; } .glyphicon-print:before { content: "\e045"; } .glyphicon-font:before { content: "\e047"; } .glyphicon-bold:before { content: "\e048"; } .glyphicon-italic:before { content: "\e049"; } .glyphicon-text-height:before { content: "\e050"; } .glyphicon-text-width:before { content: "\e051"; } .glyphicon-align-left:before { content: "\e052"; } .glyphicon-align-center:before { content: "\e053"; } .glyphicon-align-right:before { content: "\e054"; } .glyphicon-align-justify:before { content: "\e055"; } .glyphicon-list:before { content: "\e056"; } .glyphicon-indent-left:before { content: "\e057"; } .glyphicon-indent-right:before { content: "\e058"; } .glyphicon-facetime-video:before { content: "\e059"; } .glyphicon-picture:before { content: "\e060"; } .glyphicon-map-marker:before { content: "\e062"; } .glyphicon-adjust:before { content: "\e063"; } .glyphicon-tint:before { content: "\e064"; } .glyphicon-edit:before { content: "\e065"; } .glyphicon-share:before { content: "\e066"; } .glyphicon-check:before { content: "\e067"; } .glyphicon-move:before { content: "\e068"; } .glyphicon-step-backward:before { content: "\e069"; } .glyphicon-fast-backward:before { content: "\e070"; } .glyphicon-backward:before { content: "\e071"; } .glyphicon-play:before { content: "\e072"; } .glyphicon-pause:before { content: "\e073"; } .glyphicon-stop:before { content: "\e074"; } .glyphicon-forward:before { content: "\e075"; } .glyphicon-fast-forward:before { content: "\e076"; } .glyphicon-step-forward:before { content: "\e077"; } .glyphicon-eject:before { content: "\e078"; } .glyphicon-chevron-left:before { content: "\e079"; } .glyphicon-chevron-right:before { content: "\e080"; } .glyphicon-plus-sign:before { content: "\e081"; } .glyphicon-minus-sign:before { content: "\e082"; } .glyphicon-remove-sign:before { content: "\e083"; } .glyphicon-ok-sign:before { content: "\e084"; } .glyphicon-question-sign:before { content: "\e085"; } .glyphicon-info-sign:before { content: "\e086"; } .glyphicon-screenshot:before { content: "\e087"; } .glyphicon-remove-circle:before { content: "\e088"; } .glyphicon-ok-circle:before { content: "\e089"; } .glyphicon-ban-circle:before { content: "\e090"; } .glyphicon-arrow-left:before { content: "\e091"; } .glyphicon-arrow-right:before { content: "\e092"; } .glyphicon-arrow-up:before { content: "\e093"; } .glyphicon-arrow-down:before { content: "\e094"; } .glyphicon-share-alt:before { content: "\e095"; } .glyphicon-resize-full:before { content: "\e096"; } .glyphicon-resize-small:before { content: "\e097"; } .glyphicon-exclamation-sign:before { content: "\e101"; } .glyphicon-gift:before { content: "\e102"; } .glyphicon-leaf:before { content: "\e103"; } .glyphicon-eye-open:before { content: "\e105"; } .glyphicon-eye-close:before { content: "\e106"; } .glyphicon-warning-sign:before { content: "\e107"; } .glyphicon-plane:before { content: "\e108"; } .glyphicon-random:before { content: "\e110"; } .glyphicon-comment:before { content: "\e111"; } .glyphicon-magnet:before { content: "\e112"; } .glyphicon-chevron-up:before { content: "\e113"; } .glyphicon-chevron-down:before { content: "\e114"; } .glyphicon-retweet:before { content: "\e115"; } .glyphicon-shopping-cart:before { content: "\e116"; } .glyphicon-folder-close:before { content: "\e117"; } .glyphicon-folder-open:before { content: "\e118"; } .glyphicon-resize-vertical:before { content: "\e119"; } .glyphicon-resize-horizontal:before { content: "\e120"; } .glyphicon-hdd:before { content: "\e121"; } .glyphicon-bullhorn:before { content: "\e122"; } .glyphicon-certificate:before { content: "\e124"; } .glyphicon-thumbs-up:before { content: "\e125"; } .glyphicon-thumbs-down:before { content: "\e126"; } .glyphicon-hand-right:before { content: "\e127"; } .glyphicon-hand-left:before { content: "\e128"; } .glyphicon-hand-up:before { content: "\e129"; } .glyphicon-hand-down:before { content: "\e130"; } .glyphicon-circle-arrow-right:before { content: "\e131"; } .glyphicon-circle-arrow-left:before { content: "\e132"; } .glyphicon-circle-arrow-up:before { content: "\e133"; } .glyphicon-circle-arrow-down:before { content: "\e134"; } .glyphicon-globe:before { content: "\e135"; } .glyphicon-tasks:before { content: "\e137"; } .glyphicon-filter:before { content: "\e138"; } .glyphicon-fullscreen:before { content: "\e140"; } .glyphicon-dashboard:before { content: "\e141"; } .glyphicon-heart-empty:before { content: "\e143"; } .glyphicon-link:before { content: "\e144"; } .glyphicon-phone:before { content: "\e145"; } .glyphicon-usd:before { content: "\e148"; } .glyphicon-gbp:before { content: "\e149"; } .glyphicon-sort:before { content: "\e150"; } .glyphicon-sort-by-alphabet:before { content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { content: "\e152"; } .glyphicon-sort-by-order:before { content: "\e153"; } .glyphicon-sort-by-order-alt:before { content: "\e154"; } .glyphicon-sort-by-attributes:before { content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { content: "\e156"; } .glyphicon-unchecked:before { content: "\e157"; } .glyphicon-expand:before { content: "\e158"; } .glyphicon-collapse-down:before { content: "\e159"; } .glyphicon-collapse-up:before { content: "\e160"; } .glyphicon-log-in:before { content: "\e161"; } .glyphicon-flash:before { content: "\e162"; } .glyphicon-log-out:before { content: "\e163"; } .glyphicon-new-window:before { content: "\e164"; } .glyphicon-record:before { content: "\e165"; } .glyphicon-save:before { content: "\e166"; } .glyphicon-open:before { content: "\e167"; } .glyphicon-saved:before { content: "\e168"; } .glyphicon-import:before { content: "\e169"; } .glyphicon-export:before { content: "\e170"; } .glyphicon-send:before { content: "\e171"; } .glyphicon-floppy-disk:before { content: "\e172"; } .glyphicon-floppy-saved:before { content: "\e173"; } .glyphicon-floppy-remove:before { content: "\e174"; } .glyphicon-floppy-save:before { content: "\e175"; } .glyphicon-floppy-open:before { content: "\e176"; } .glyphicon-credit-card:before { content: "\e177"; } .glyphicon-transfer:before { content: "\e178"; } .glyphicon-cutlery:before { content: "\e179"; } .glyphicon-header:before { content: "\e180"; } .glyphicon-compressed:before { content: "\e181"; } .glyphicon-earphone:before { content: "\e182"; } .glyphicon-phone-alt:before { content: "\e183"; } .glyphicon-tower:before { content: "\e184"; } .glyphicon-stats:before { content: "\e185"; } .glyphicon-sd-video:before { content: "\e186"; } .glyphicon-hd-video:before { content: "\e187"; } .glyphicon-subtitles:before { content: "\e188"; } .glyphicon-sound-stereo:before { content: "\e189"; } .glyphicon-sound-dolby:before { content: "\e190"; } .glyphicon-sound-5-1:before { content: "\e191"; } .glyphicon-sound-6-1:before { content: "\e192"; } .glyphicon-sound-7-1:before { content: "\e193"; } .glyphicon-copyright-mark:before { content: "\e194"; } .glyphicon-registration-mark:before { content: "\e195"; } .glyphicon-cloud-download:before { content: "\e197"; } .glyphicon-cloud-upload:before { content: "\e198"; } .glyphicon-tree-conifer:before { content: "\e199"; } .glyphicon-tree-deciduous:before { content: "\e200"; } .glyphicon-briefcase:before { content: "\1f4bc"; } .glyphicon-calendar:before { content: "\1f4c5"; } .glyphicon-pushpin:before { content: "\1f4cc"; } .glyphicon-paperclip:before { content: "\1f4ce"; } .glyphicon-camera:before { content: "\1f4f7"; } .glyphicon-lock:before { content: "\1f512"; } .glyphicon-bell:before { content: "\1f514"; } .glyphicon-bookmark:before { content: "\1f516"; } .glyphicon-fire:before { content: "\1f525"; } .glyphicon-wrench:before { content: "\1f527"; } .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px solid #000; border-right: 4px solid transparent; border-left: 4px solid transparent; border-bottom: 0 dotted; content: ""; } .dropdown { position: relative; } .dropdown-toggle:focus { outline: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; list-style: none; font-size: 15px; background-color: #fff; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 2px; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); background-clip: padding-box; } .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown-menu .divider { height: 1px; margin: 9.5px 0; overflow: hidden; background-color: #e5e5e5; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.42857; color: #333333; white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { text-decoration: none; color: #fff; background-color: #4F8EF7; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { color: #fff; text-decoration: none; outline: 0; background-color: #4F8EF7; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: #999999; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); cursor: not-allowed; } .open > .dropdown-menu { display: block; } .open > a { outline: 0; } .dropdown-header { display: block; padding: 3px 20px; font-size: 13px; line-height: 1.42857; color: #999999; } .dropdown-backdrop { position: fixed; left: 0; right: 0; bottom: 0; top: 0; z-index: 990; } .pull-right > .dropdown-menu { right: 0; left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { border-top: 0 dotted; border-bottom: 4px solid #000; content: ""; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 1px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { right: 0; left: auto; } } .btn-default .caret { border-top-color: #333; } .btn-primary .caret, .btn-success .caret, .btn-warning .caret, .btn-danger .caret, .btn-info .caret { border-top-color: #fff; } .dropup .btn-default .caret { border-bottom-color: #333; } .dropup .btn-primary .caret, .dropup .btn-success .caret, .dropup .btn-warning .caret, .dropup .btn-danger .caret, .dropup .btn-info .caret { border-bottom-color: #fff; } .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn:hover, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group > .btn:focus, .btn-group-vertical > .btn:focus { outline: none; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; } .btn-toolbar:before, .btn-toolbar:after { content: " "; /* 1 */ display: table; /* 2 */ } .btn-toolbar:after { clear: both; } .btn-toolbar .btn-group { float: left; } .btn-toolbar > .btn + .btn, .btn-toolbar > .btn + .btn-group, .btn-toolbar > .btn-group + .btn, .btn-toolbar > .btn-group + .btn-group { margin-left: 5px; } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-bottom-right-radius: 0; border-top-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child > .btn:last-child, .btn-group > .btn-group:first-child > .dropdown-toggle { border-bottom-right-radius: 0; border-top-right-radius: 0; } .btn-group > .btn-group:last-child > .btn:first-child { border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; } .btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle { padding-left: 12px; padding-right: 12px; } .btn-group.open .dropdown-toggle { box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn .caret { margin-left: 0; } .btn-lg .caret, .btn-group-lg > .btn .caret { border-width: 5px 5px 0; border-bottom-width: 0; } .dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret { border-width: 0 5px 5px; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { content: " "; /* 1 */ display: table; /* 2 */ } .btn-group-vertical > .btn-group:after { clear: both; } .btn-group-vertical > .btn-group > .btn { float: none; } .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(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 2px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-bottom-left-radius: 2px; border-top-right-radius: 0; border-top-left-radius: 0; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child > .btn:last-child, .btn-group-vertical > .btn-group:first-child > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child > .btn:first-child { border-top-right-radius: 0; border-top-left-radius: 0; } .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified .btn { float: none; display: table-cell; width: 1%; } [data-toggle="buttons"] > .btn > input[type="radio"], [data-toggle="buttons"] > .btn > input[type="checkbox"] { display: none; } .input-group { position: relative; display: table; border-collapse: separate; } .input-group.col { float: none; padding-left: 0; padding-right: 0; } .input-group .form-control { width: 100%; margin-bottom: 0; } .input-group-addon, .input-group-btn, .input-group .form-control { display: table-cell; } .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; } .input-group-addon, .input-group-btn { width: 1%; white-space: nowrap; vertical-align: middle; } .input-group-addon { padding: 6px 12px; font-size: 15px; font-weight: normal; line-height: 1; text-align: center; background-color: #eeeeee; border: 1px solid #ccc; border-radius: 2px; } .input-group-addon.input-sm, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .input-group-addon.btn { padding: 5px 10px; font-size: 13px; border-radius: 3px; } .input-group-addon.input-lg, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .input-group-addon.btn { padding: 10px 16px; font-size: 19px; border-radius: 6px; } .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { margin-top: 0; } .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { border-bottom-right-radius: 0; border-top-right-radius: 0; } .input-group-addon:first-child { border-right: 0; } .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child) { border-bottom-left-radius: 0; border-top-left-radius: 0; } .input-group-addon:last-child { border-left: 0; } .input-group-btn { position: relative; white-space: nowrap; } .input-group-btn > .btn { position: relative; } .input-group-btn > .btn + .btn { margin-left: -4px; } .input-group-btn > .btn:hover, .input-group-btn > .btn:active { z-index: 2; } .nav { margin-bottom: 0; padding-left: 0; list-style: none; } .nav:before, .nav:after { content: " "; /* 1 */ display: table; /* 2 */ } .nav:after { clear: both; } .nav > li { position: relative; display: block; } .nav > li > a { position: relative; display: block; padding: 10px 15px; } .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; background-color: #eeeeee; } .nav > li.disabled > a { color: #999999; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { color: #999999; text-decoration: none; background-color: transparent; cursor: not-allowed; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { background-color: #eeeeee; border-color: #4F8EF7; } .nav .nav-divider { height: 1px; margin: 9.5px 0; overflow: hidden; background-color: #e5e5e5; } .nav > li > a > img { max-width: none; } .nav-tabs { border-bottom: 1px solid #ddd; } .nav-tabs > li { float: left; margin-bottom: -1px; } .nav-tabs > li > a { margin-right: 2px; line-height: 1.42857; border: 1px solid transparent; border-radius: 2px 2px 0 0; } .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #ddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: #555555; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent; cursor: default; } .nav-pills > li { float: left; } .nav-pills > li > a { border-radius: 5px; } .nav-pills > li + li { margin-left: 2px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #fff; background-color: #4F8EF7; } .nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; } .nav-justified, .nav-tabs.nav-justified { width: 100%; } .nav-justified > li, .nav-tabs.nav-justified > li { float: none; } .nav-justified > li > a, .nav-tabs.nav-justified > li > a { text-align: center; } @media (min-width: 768px) { .nav-justified > li, .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } } .nav-tabs-justified, .nav-tabs.nav-justified { border-bottom: 0; } .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #ddd; margin-right: 0; } .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a { border-bottom-color: #fff; } .tabbable:before, .tabbable:after { content: " "; /* 1 */ display: table; /* 2 */ } .tabbable:after { clear: both; } .tab-content > .tab-pane, .pill-content > .pill-pane { display: none; } .tab-content > .active, .pill-content > .active { display: block; } .nav .caret { border-top-color: #4F8EF7; border-bottom-color: #4F8EF7; } .nav a:hover .caret { border-top-color: #0b60ef; border-bottom-color: #0b60ef; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-right-radius: 0; border-top-left-radius: 0; } .navbar { position: relative; z-index: 1000; min-height: 73px; margin-bottom: 0; border: 0; } .navbar:before, .navbar:after { content: " "; /* 1 */ display: table; /* 2 */ } .navbar:after { clear: both; } .navbar-header:before, .navbar-header:after { content: " "; /* 1 */ display: table; /* 2 */ } .navbar-header:after { clear: both; } @media (min-width: 768px) { .navbar-header { float: left; } } .navbar-collapse { background-color: #f7f7f7; max-height: 340px; overflow-x: visible; padding-right: 15px; padding-left: 15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); -webkit-overflow-scrolling: touch; } .navbar-collapse:before, .navbar-collapse:after { content: " "; /* 1 */ display: table; /* 2 */ } .navbar-collapse:after { clear: both; } .navbar-collapse.in { overflow-y: auto; } @media (min-width: 768px) { .navbar-collapse { width: auto; border-top: 0; border-bottom: 0; background-color: transparent; box-shadow: none; } .navbar-collapse.collapse { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; } .navbar-collapse.in { overflow-y: visible; } .navbar-collapse .navbar-nav.navbar-left:first-child { margin-left: -15px; } .navbar-collapse .navbar-nav.navbar-right:last-child { margin-right: -15px; } .navbar-collapse .navbar-text:last-child { margin-right: 0; } } .container > .navbar-header, .container > .navbar-collapse { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .container > .navbar-header, .container > .navbar-collapse { margin-right: 0; margin-left: 0; } } .navbar-static-top { border-width: 0; } @media (min-width: 768px) { .navbar-static-top { border-radius: 0; } } .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; border-width: 0; } @media (min-width: 768px) { .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } } .navbar-fixed-top { z-index: 1030; top: 0; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; } .navbar-brand { float: left; padding: 15px 0 0 10px; opacity: 0.7; } .navbar-brand:hover, .navbar-brand:focus { opacity: 1; text-decoration: none; } @media (min-width: 768px) { .navbar > .container .navbar-brand { margin-left: -15px; } } .navbar-toggle { position: relative; float: right; margin-right: 15px; padding: 9px 10px; margin-top: 19.5px; margin-bottom: 19.5px; background-color: transparent; border: 1px solid transparent; } .navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; } .navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; } @media (min-width: 768px) { .navbar-toggle { display: none; } } .navbar-nav { margin: 13px -15px; font-size: 14px; } .navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 21px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } .navbar-nav .open .dropdown-menu > li > a { line-height: 21px; } .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } } @media (min-width: 768px) { .navbar-nav { float: left; margin: 0; } .navbar-nav > li { float: left; } .navbar-nav > li > a { padding-top: 26px; padding-bottom: 26px; } } @media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; } } .navbar-form { margin-left: -15px; margin-right: -15px; padding: 10px 15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); margin-top: 19px; margin-bottom: 19px; } @media (max-width: 767px) { .navbar-form .form-group { margin-bottom: 5px; } } @media (min-width: 768px) { .navbar-form { width: auto; border: 0; margin-left: 0; margin-right: 0; padding-top: 0; padding-bottom: 0; box-shadow: none; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-right-radius: 0; border-top-left-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .navbar-nav.pull-right > li > .dropdown-menu, .navbar-nav > li > .dropdown-menu.pull-right { left: auto; right: 0; } .navbar-btn { margin-top: 19px; margin-bottom: 19px; } .navbar-text { float: left; margin-top: 26px; margin-bottom: 26px; } @media (min-width: 768px) { .navbar-text { margin-left: 15px; margin-right: 15px; } } .navbar-default { /*background-color: $navbar-default-bg; border-color: $navbar-default-border;*/ font-family: "AvenirNextLTPro-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: normal; -webkit-font-smoothing: antialiased; } .navbar-default .navbar-brand { color: #4F8EF7; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #1e6ff5; background-color: transparent; } .navbar-default .navbar-text { color: #777; } .navbar-default .navbar-nav > li > a { color: #4F8EF7; padding-left: 0 !important; padding-right: 0 !important; margin: 0 30px; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #4F8EF7; background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #4F8EF7; background-color: #e7e7e7; } .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { color: #ccc; background-color: transparent; } .navbar-default .navbar-toggle { border-color: #ddd; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #ddd; } .navbar-default .navbar-toggle .icon-bar { background-color: #ccc; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { border-color: #e6e6e6; } .navbar-default .navbar-nav > .dropdown > a:hover .caret, .navbar-default .navbar-nav > .dropdown > a:focus .caret { border-top-color: #4F8EF7; border-bottom-color: #4F8EF7; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { background-color: #e7e7e7; color: #4F8EF7; } .navbar-default .navbar-nav > .open > a .caret, .navbar-default .navbar-nav > .open > a:hover .caret, .navbar-default .navbar-nav > .open > a:focus .caret { border-top-color: #4F8EF7; border-bottom-color: #4F8EF7; } .navbar-default .navbar-nav > .dropdown > a .caret { border-top-color: #4F8EF7; border-bottom-color: #4F8EF7; } @media (max-width: 767px) { .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: #4F8EF7; } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #4F8EF7; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #4F8EF7; background-color: #e7e7e7; } .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #ccc; background-color: transparent; } } .navbar-default .navbar-link { color: #4F8EF7; } .navbar-default .navbar-link:hover { color: #4F8EF7; } .navbar-inverse { background-color: #222; border-color: #090909; } .navbar-inverse .navbar-brand { color: #999999; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-text { color: #999999; } .navbar-inverse .navbar-nav > li > a { color: #999999; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { color: #fff; background-color: #090909; } .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { color: #444; background-color: transparent; } .navbar-inverse .navbar-toggle { border-color: #333; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background-color: #333; } .navbar-inverse .navbar-toggle .icon-bar { background-color: #fff; } .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: #101010; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { background-color: #090909; color: #fff; } .navbar-inverse .navbar-nav > .dropdown > a:hover .caret { border-top-color: #fff; border-bottom-color: #fff; } .navbar-inverse .navbar-nav > .dropdown > a .caret { border-top-color: #999999; border-bottom-color: #999999; } .navbar-inverse .navbar-nav > .open > a .caret, .navbar-inverse .navbar-nav > .open > a:hover .caret, .navbar-inverse .navbar-nav > .open > a:focus .caret { border-top-color: #fff; border-bottom-color: #fff; } @media (max-width: 767px) { .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: #090909; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: #999999; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-color: #090909; } .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #444; background-color: transparent; } } .navbar-inverse .navbar-link { color: #999999; } .navbar-inverse .navbar-link:hover { color: #fff; } .breadcrumb { padding: 8px 15px; margin-bottom: 21px; list-style: none; background-color: #f5f5f5; border-radius: 2px; } .breadcrumb > li { display: inline-block; } .breadcrumb > li + li:before { content: "/\00a0"; padding: 0 5px; color: #ccc; } .breadcrumb > .active { color: #999999; } .pagination { display: inline-block; padding-left: 0; margin: 21px 0; border-radius: 2px; } .pagination > li { display: inline; } .pagination > li > a, .pagination > li > span { position: relative; float: left; padding: 6px 12px; line-height: 1.42857; text-decoration: none; background-color: #fff; border: 1px solid #ddd; margin-left: -1px; } .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-bottom-left-radius: 2px; border-top-left-radius: 2px; } .pagination > li:last-child > a, .pagination > li:last-child > span { border-bottom-right-radius: 2px; border-top-right-radius: 2px; } .pagination > li > a:hover, .pagination > li > a:focus, .pagination > li > span:hover, .pagination > li > span:focus { background-color: #eeeeee; } .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, .pagination > .active > span, .pagination > .active > span:hover, .pagination > .active > span:focus { z-index: 2; color: #fff; background-color: #4F8EF7; border-color: #4F8EF7; cursor: default; } .pagination > .disabled > span, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: #999999; background-color: #fff; border-color: #ddd; cursor: not-allowed; } .pagination-lg > li > a, .pagination-lg > li > span { padding: 10px 16px; font-size: 19px; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { border-bottom-left-radius: 6px; border-top-left-radius: 6px; } .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { border-bottom-right-radius: 6px; border-top-right-radius: 6px; } .pagination-sm > li > a, .pagination-sm > li > span { padding: 5px 10px; font-size: 13px; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { border-bottom-left-radius: 3px; border-top-left-radius: 3px; } .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { border-bottom-right-radius: 3px; border-top-right-radius: 3px; } .pager { padding-left: 0; margin: 21px 0; list-style: none; text-align: center; } .pager:before, .pager:after { content: " "; /* 1 */ display: table; /* 2 */ } .pager:after { clear: both; } .pager li { display: inline; } .pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #ddd; border-radius: 15px; } .pager li > a:hover, .pager li > a:focus { text-decoration: none; background-color: #eeeeee; } .pager .next > a, .pager .next > span { float: right; } .pager .previous > a, .pager .previous > span { float: left; } .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { color: #999999; background-color: #fff; cursor: not-allowed; } .label { display: inline; padding: .2em .6em .3em; font-size: 75%; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25em; } .label[href]:hover, .label[href]:focus { color: #fff; text-decoration: none; cursor: pointer; } .label:empty { display: none; } .label-default { background-color: #999999; } .label-default[href]:hover, .label-default[href]:focus { background-color: gray; } .label-primary { background-color: #4F8EF7; } .label-primary[href]:hover, .label-primary[href]:focus { background-color: #1e6ff5; } .label-success { background-color: #5cb85c; } .label-success[href]:hover, .label-success[href]:focus { background-color: #449d44; } .label-info { background-color: #5bc0de; } .label-info[href]:hover, .label-info[href]:focus { background-color: #31b0d5; } .label-warning { background-color: #f0ad4e; } .label-warning[href]:hover, .label-warning[href]:focus { background-color: #ec971f; } .label-danger { background-color: #d9534f; } .label-danger[href]:hover, .label-danger[href]:focus { background-color: #c9302c; } .badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 13px; font-weight: bold; color: #fff; line-height: 1; vertical-align: baseline; white-space: nowrap; text-align: center; background-color: #999999; border-radius: 10px; } .badge:empty { display: none; } a.badge:hover, a.badge:focus { color: #fff; text-decoration: none; cursor: pointer; } .btn .badge { position: relative; top: -1px; } a.list-group-item.active > .badge, .nav-pills > .active > a > .badge { color: #4F8EF7; background-color: #fff; } .nav-pills > li > a > .badge { margin-left: 3px; } .jumbotron { padding: 30px; margin-bottom: 30px; font-size: 22.5px; font-weight: 200; line-height: 2.14286; color: inherit; background-color: #eeeeee; } .jumbotron h1 { line-height: 1; color: inherit; } .jumbotron p { line-height: 1.4; } .container .jumbotron { border-radius: 6px; } @media screen and (min-width: 768px) { .jumbotron { padding-top: 48px; padding-bottom: 48px; } .container .jumbotron { padding-left: 60px; padding-right: 60px; } .jumbotron h1 { font-size: 67.5px; } } .thumbnail { display: block; } .thumbnail > img { display: block; max-width: 100%; height: auto; } a.thumbnail:hover, a.thumbnail:focus { border-color: #4F8EF7; } .thumbnail > img { margin-left: auto; margin-right: auto; } .thumbnail .caption { padding: 9px; color: #333; } .alert { padding: 15px; margin-bottom: 21px; border: 1px solid transparent; border-radius: 2px; } .alert h4 { margin-top: 0; color: inherit; } .alert .alert-link { font-weight: bold; } .alert > p, .alert > ul { margin-bottom: 0; } .alert > p + p { margin-top: 5px; } .alert-dismissable { padding-right: 35px; } .alert-dismissable .close { position: relative; top: -2px; right: -21px; color: inherit; } .alert-success { background-color: #dff0d8; border-color: #d6e9c6; color: #468847; } .alert-success hr { border-top-color: #c9e2b3; } .alert-success .alert-link { color: #356635; } .alert-info { background-color: #d9edf7; border-color: #bce8f1; color: #3a87ad; } .alert-info hr { border-top-color: #a6e1ec; } .alert-info .alert-link { color: #2d6987; } .alert-warning { background-color: #fcf8e3; border-color: #fbeed5; color: #c09853; } .alert-warning hr { border-top-color: #f8e5be; } .alert-warning .alert-link { color: #a47e3c; } .alert-danger { background-color: #f2dede; border-color: #eed3d7; color: #b94a48; } .alert-danger hr { border-top-color: #e6c1c7; } .alert-danger .alert-link { color: #953b39; } @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } .progress { overflow: hidden; height: 21px; margin-bottom: 21px; background-color: #f5f5f5; border-radius: 2px; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); } .progress-bar { float: left; width: 0%; height: 100%; font-size: 13px; color: #fff; text-align: center; background-color: #4F8EF7; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); transition: width 0.6s ease; } .progress-striped .progress-bar { 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: 40px 40px; } .progress.active .progress-bar { -webkit-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; } .progress-bar-success { background-color: #5cb85c; } .progress-striped .progress-bar-success { 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); } .progress-bar-info { background-color: #5bc0de; } .progress-striped .progress-bar-info { 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); } .progress-bar-warning { background-color: #f0ad4e; } .progress-striped .progress-bar-warning { 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); } .progress-bar-danger { background-color: #d9534f; } .progress-striped .progress-bar-danger { 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); } .media, .media-body { overflow: hidden; zoom: 1; } .media, .media .media { margin-top: 15px; } .media:first-child { margin-top: 0; } .media-object { display: block; } .media-heading { margin: 0 0 5px; } .media > .pull-left { margin-right: 10px; } .media > .pull-right { margin-left: 10px; } .media-list { padding-left: 0; list-style: none; } .list-group { margin-bottom: 20px; padding-left: 0; } .list-group-item { position: relative; display: block; padding: 10px 15px; margin-bottom: -1px; background-color: #fff; border: 1px solid #ddd; } .list-group-item:first-child { border-top-right-radius: 2px; border-top-left-radius: 2px; } .list-group-item:last-child { margin-bottom: 0; border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; } .list-group-item > .badge { float: right; } .list-group-item > .badge + .badge { margin-right: 5px; } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { z-index: 2; color: #fff; background-color: #4F8EF7; border-color: #4F8EF7; } .list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading { color: inherit; } .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { color: white; } a.list-group-item { color: #555; } a.list-group-item .list-group-item-heading { color: #333; } a.list-group-item:hover, a.list-group-item:focus { text-decoration: none; background-color: #f5f5f5; } .list-group-item-heading { margin-top: 0; margin-bottom: 5px; } .list-group-item-text { margin-bottom: 0; line-height: 1.3; } .panel { margin-bottom: 21px; background-color: #fff; border: 1px solid transparent; border-radius: 2px; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); } .panel-body { padding: 15px; } .panel-body:before, .panel-body:after { content: " "; /* 1 */ display: table; /* 2 */ } .panel-body:after { clear: both; } .panel > .list-group { margin-bottom: 0; } .panel > .list-group .list-group-item { border-width: 1px 0; } .panel > .list-group .list-group-item:first-child { border-top-right-radius: 0; border-top-left-radius: 0; } .panel > .list-group .list-group-item:last-child { border-bottom: 0; } .panel-heading + .list-group .list-group-item:first-child { border-top-width: 0; } .panel > .table { margin-bottom: 0; } .panel > .panel-body + .table { border-top: 1px solid #ddd; } .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-right-radius: 1px; border-top-left-radius: 1px; } .panel-title { margin-top: 0; margin-bottom: 0; font-size: 17px; } .panel-title > a { color: inherit; } .panel-footer { padding: 10px 15px; background-color: #f5f5f5; border-top: 1px solid #ddd; border-bottom-right-radius: 1px; border-bottom-left-radius: 1px; } .panel-group .panel { margin-bottom: 0; border-radius: 2px; overflow: hidden; } .panel-group .panel + .panel { margin-top: 5px; } .panel-group .panel-heading { border-bottom: 0; } .panel-group .panel-heading + .panel-collapse .panel-body { border-top: 1px solid #ddd; } .panel-group .panel-footer { border-top: 0; } .panel-group .panel-footer + .panel-collapse .panel-body { border-bottom: 1px solid #ddd; } .panel-default { border-color: #ddd; } .panel-default > .panel-heading { color: #333333; background-color: #f5f5f5; border-color: #ddd; } .panel-default > .panel-heading + .panel-collapse .panel-body { border-top-color: #ddd; } .panel-default > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #ddd; } .panel-primary { border-color: #4F8EF7; } .panel-primary > .panel-heading { color: #fff; background-color: #4F8EF7; border-color: #4F8EF7; } .panel-primary > .panel-heading + .panel-collapse .panel-body { border-top-color: #4F8EF7; } .panel-primary > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #4F8EF7; } .panel-success { border-color: #d6e9c6; } .panel-success > .panel-heading { color: #468847; background-color: #dff0d8; border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse .panel-body { border-top-color: #d6e9c6; } .panel-success > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #d6e9c6; } .panel-warning { border-color: #fbeed5; } .panel-warning > .panel-heading { color: #c09853; background-color: #fcf8e3; border-color: #fbeed5; } .panel-warning > .panel-heading + .panel-collapse .panel-body { border-top-color: #fbeed5; } .panel-warning > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #fbeed5; } .panel-danger { border-color: #eed3d7; } .panel-danger > .panel-heading { color: #b94a48; background-color: #f2dede; border-color: #eed3d7; } .panel-danger > .panel-heading + .panel-collapse .panel-body { border-top-color: #eed3d7; } .panel-danger > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #eed3d7; } .panel-info { border-color: #bce8f1; } .panel-info > .panel-heading { color: #3a87ad; background-color: #d9edf7; border-color: #bce8f1; } .panel-info > .panel-heading + .panel-collapse .panel-body { border-top-color: #bce8f1; } .panel-info > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #bce8f1; } .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 2px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); } .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, 0.15); } .well-lg { padding: 24px; border-radius: 6px; } .well-sm { padding: 9px; border-radius: 3px; } .close { float: right; font-size: 22.5px; font-weight: bold; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; opacity: 0.2; filter: alpha(opacity=20); } .close:hover, .close:focus { color: #000; text-decoration: none; cursor: pointer; opacity: 0.5; filter: alpha(opacity=50); } button.close { padding: 0; cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; } .modal-open { overflow: hidden; } .modal-open .navbar-fixed-top, .modal-open .navbar-fixed-bottom { margin-right: 15px; } body.modal-open { margin-right: 15px; } .modal { display: none; overflow: auto; overflow-y: scroll; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; } .modal.fade .modal-dialog { -webkit-transform: translate(0, -25%); transform: translate(0, -25%); 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; } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); transform: translate(0, 0); } .modal-dialog { margin-left: auto; margin-right: auto; width: auto; padding: 10px; z-index: 1050; } .modal-content { position: relative; background-color: #fff; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); background-clip: padding-box; outline: none; } .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1030; background-color: #000; } .modal-backdrop.fade { opacity: 0; filter: alpha(opacity=0); } .modal-backdrop.in { opacity: 0.5; filter: alpha(opacity=50); } .modal-header { padding: 15px; border-bottom: 1px solid #e5e5e5; min-height: 16.42857px; } .modal-header .close { margin-top: -2px; } .modal-title { margin: 0; line-height: 1.42857; } .modal-body { position: relative; padding: 20px; } .modal-footer { margin-top: 15px; padding: 19px 20px 20px; text-align: right; border-top: 1px solid #e5e5e5; } .modal-footer:before, .modal-footer:after { content: " "; /* 1 */ display: table; /* 2 */ } .modal-footer:after { clear: both; } .modal-footer .btn + .btn { margin-left: 5px; margin-bottom: 0; } .modal-footer .btn-group .btn + .btn { margin-left: -1px; } .modal-footer .btn-block + .btn-block { margin-left: 0; } @media screen and (min-width: 768px) { .modal-dialog { left: 50%; right: auto; width: 600px; padding-top: 30px; padding-bottom: 30px; } .modal-content { box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); } } .tooltip { position: absolute; z-index: 1030; display: block; visibility: visible; font-size: 13px; line-height: 1.4; opacity: 0; filter: alpha(opacity=0); } .tooltip.in { opacity: 0.9; filter: alpha(opacity=90); } .tooltip.top { margin-top: -3px; padding: 5px 0; } .tooltip.right { margin-left: 3px; padding: 0 5px; } .tooltip.bottom { margin-top: 3px; padding: 5px 0; } .tooltip.left { margin-left: -3px; padding: 0 5px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; text-decoration: none; background-color: #000; border-radius: 2px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-left .tooltip-arrow { bottom: 0; left: 5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-right .tooltip-arrow { bottom: 0; right: 5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-left .tooltip-arrow { top: 0; left: 5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-right .tooltip-arrow { top: 0; right: 5px; border-width: 0 5px 5px; border-bottom-color: #000; } .popover { position: absolute; top: 0; left: 0; z-index: 1010; display: none; max-width: 276px; padding: 1px; text-align: left; background-color: #fff; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); white-space: normal; } .popover.top { margin-top: -10px; } .popover.right { margin-left: 10px; } .popover.bottom { margin-top: 10px; } .popover.left { margin-left: -10px; } .popover-title { margin: 0; padding: 8px 14px; font-size: 15px; font-weight: normal; line-height: 18px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-radius: 5px 5px 0 0; } .popover-content { padding: 9px 14px; } .popover .arrow, .popover .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; } .popover .arrow { border-width: 11px; } .popover .arrow:after { border-width: 10px; content: ""; } .popover.top .arrow { left: 50%; margin-left: -11px; border-bottom-width: 0; border-top-color: #999; border-top-color: rgba(0, 0, 0, 0.25); bottom: -11px; } .popover.top .arrow:after { content: " "; bottom: 1px; margin-left: -10px; border-bottom-width: 0; border-top-color: #fff; } .popover.right .arrow { top: 50%; left: -11px; margin-top: -11px; border-left-width: 0; border-right-color: #999; border-right-color: rgba(0, 0, 0, 0.25); } .popover.right .arrow:after { content: " "; left: 1px; bottom: -10px; border-left-width: 0; border-right-color: #fff; } .popover.bottom .arrow { left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999; border-bottom-color: rgba(0, 0, 0, 0.25); top: -11px; } .popover.bottom .arrow:after { content: " "; top: 1px; margin-left: -10px; border-top-width: 0; border-bottom-color: #fff; } .popover.left .arrow { top: 50%; right: -11px; margin-top: -11px; border-right-width: 0; border-left-color: #999; border-left-color: rgba(0, 0, 0, 0.25); } .popover.left .arrow:after { content: " "; right: 1px; border-right-width: 0; border-left-color: #fff; bottom: -10px; } .carousel { position: relative; } .carousel-inner { position: relative; overflow: hidden; width: 100%; } .carousel-inner > .item { display: none; position: relative; transition: 0.6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { display: block; max-width: 100%; height: auto; line-height: 1; } .carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { display: block; } .carousel-inner > .active { left: 0; } .carousel-inner > .next, .carousel-inner > .prev { position: absolute; top: 0; width: 100%; } .carousel-inner > .next { left: 100%; } .carousel-inner > .prev { left: -100%; } .carousel-inner > .next.left, .carousel-inner > .prev.right { left: 0; } .carousel-inner > .active.left { left: -100%; } .carousel-inner > .active.right { left: 100%; } .carousel-control { position: absolute; top: 0; left: 0; bottom: 0; width: 15%; opacity: 0.5; filter: alpha(opacity=50); font-size: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } .carousel-control.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); } .carousel-control.right { left: auto; right: 0; background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); } .carousel-control:hover, .carousel-control:focus { color: #fff; text-decoration: none; opacity: 0.9; filter: alpha(opacity=90); } .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right { position: absolute; top: 50%; left: 50%; z-index: 5; display: inline-block; } .carousel-control .icon-prev, .carousel-control .icon-next { width: 20px; height: 20px; margin-top: -10px; margin-left: -10px; font-family: serif; } .carousel-control .icon-prev:before { content: '\2039'; } .carousel-control .icon-next:before { content: '\203a'; } .carousel-indicators { position: absolute; bottom: 10px; left: 50%; z-index: 15; width: 60%; margin-left: -30%; padding-left: 0; list-style: none; text-align: center; } .carousel-indicators li { display: inline-block; width: 10px; height: 10px; margin: 1px; text-indent: -999px; border: 1px solid #fff; border-radius: 10px; cursor: pointer; } .carousel-indicators .active { margin: 0; width: 12px; height: 12px; background-color: #fff; } .carousel-caption { position: absolute; left: 15%; right: 15%; bottom: 20px; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } .carousel-caption .btn { text-shadow: none; } @media screen and (min-width: 768px) { .carousel-control .icon-prev, .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; margin-left: -15px; font-size: 30px; } .carousel-caption { left: 20%; right: 20%; padding-bottom: 30px; } .carousel-indicators { bottom: 20px; } } .clearfix:before, .clearfix:after { content: " "; /* 1 */ display: table; /* 2 */ } .clearfix:after { clear: both; } .pull-right { float: right !important; } .pull-left { float: left !important; } .hide { display: none !important; } .show { display: block !important; } .invisible { visibility: hidden; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .affix { position: fixed; } @-ms-viewport { width: device-width; } @media screen and (max-width: 400px) { @-ms-viewport { width: 320px; } } .hidden { display: none !important; visibility: hidden !important; } .visible-xs { display: none !important; } tr.visible-xs { display: none !important; } th.visible-xs, td.visible-xs { display: none !important; } @media (max-width: 767px) { .visible-xs { display: block !important; } tr.visible-xs { display: table-row !important; } th.visible-xs, td.visible-xs { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-xs.visible-sm { display: block !important; } tr.visible-xs.visible-sm { display: table-row !important; } th.visible-xs.visible-sm, td.visible-xs.visible-sm { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-xs.visible-md { display: block !important; } tr.visible-xs.visible-md { display: table-row !important; } th.visible-xs.visible-md, td.visible-xs.visible-md { display: table-cell !important; } } @media (min-width: 1200px) { .visible-xs.visible-lg { display: block !important; } tr.visible-xs.visible-lg { display: table-row !important; } th.visible-xs.visible-lg, td.visible-xs.visible-lg { display: table-cell !important; } } .visible-sm { display: none !important; } tr.visible-sm { display: none !important; } th.visible-sm, td.visible-sm { display: none !important; } @media (max-width: 767px) { .visible-sm.visible-xs { display: block !important; } tr.visible-sm.visible-xs { display: table-row !important; } th.visible-sm.visible-xs, td.visible-sm.visible-xs { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm { display: block !important; } tr.visible-sm { display: table-row !important; } th.visible-sm, td.visible-sm { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-sm.visible-md { display: block !important; } tr.visible-sm.visible-md { display: table-row !important; } th.visible-sm.visible-md, td.visible-sm.visible-md { display: table-cell !important; } } @media (min-width: 1200px) { .visible-sm.visible-lg { display: block !important; } tr.visible-sm.visible-lg { display: table-row !important; } th.visible-sm.visible-lg, td.visible-sm.visible-lg { display: table-cell !important; } } .visible-md { display: none !important; } tr.visible-md { display: none !important; } th.visible-md, td.visible-md { display: none !important; } @media (max-width: 767px) { .visible-md.visible-xs { display: block !important; } tr.visible-md.visible-xs { display: table-row !important; } th.visible-md.visible-xs, td.visible-md.visible-xs { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-md.visible-sm { display: block !important; } tr.visible-md.visible-sm { display: table-row !important; } th.visible-md.visible-sm, td.visible-md.visible-sm { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md { display: block !important; } tr.visible-md { display: table-row !important; } th.visible-md, td.visible-md { display: table-cell !important; } } @media (min-width: 1200px) { .visible-md.visible-lg { display: block !important; } tr.visible-md.visible-lg { display: table-row !important; } th.visible-md.visible-lg, td.visible-md.visible-lg { display: table-cell !important; } } .visible-lg { display: none !important; } tr.visible-lg { display: none !important; } th.visible-lg, td.visible-lg { display: none !important; } @media (max-width: 767px) { .visible-lg.visible-xs { display: block !important; } tr.visible-lg.visible-xs { display: table-row !important; } th.visible-lg.visible-xs, td.visible-lg.visible-xs { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-lg.visible-sm { display: block !important; } tr.visible-lg.visible-sm { display: table-row !important; } th.visible-lg.visible-sm, td.visible-lg.visible-sm { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-lg.visible-md { display: block !important; } tr.visible-lg.visible-md { display: table-row !important; } th.visible-lg.visible-md, td.visible-lg.visible-md { display: table-cell !important; } } @media (min-width: 1200px) { .visible-lg { display: block !important; } tr.visible-lg { display: table-row !important; } th.visible-lg, td.visible-lg { display: table-cell !important; } } .hidden-xs { display: block !important; } tr.hidden-xs { display: table-row !important; } th.hidden-xs, td.hidden-xs { display: table-cell !important; } @media (max-width: 767px) { .hidden-xs { display: none !important; } tr.hidden-xs { display: none !important; } th.hidden-xs, td.hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-xs.hidden-sm { display: none !important; } tr.hidden-xs.hidden-sm { display: none !important; } th.hidden-xs.hidden-sm, td.hidden-xs.hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-xs.hidden-md { display: none !important; } tr.hidden-xs.hidden-md { display: none !important; } th.hidden-xs.hidden-md, td.hidden-xs.hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-xs.hidden-lg { display: none !important; } tr.hidden-xs.hidden-lg { display: none !important; } th.hidden-xs.hidden-lg, td.hidden-xs.hidden-lg { display: none !important; } } .hidden-sm { display: block !important; } tr.hidden-sm { display: table-row !important; } th.hidden-sm, td.hidden-sm { display: table-cell !important; } @media (max-width: 767px) { .hidden-sm.hidden-xs { display: none !important; } tr.hidden-sm.hidden-xs { display: none !important; } th.hidden-sm.hidden-xs, td.hidden-sm.hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } tr.hidden-sm { display: none !important; } th.hidden-sm, td.hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-sm.hidden-md { display: none !important; } tr.hidden-sm.hidden-md { display: none !important; } th.hidden-sm.hidden-md, td.hidden-sm.hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-sm.hidden-lg { display: none !important; } tr.hidden-sm.hidden-lg { display: none !important; } th.hidden-sm.hidden-lg, td.hidden-sm.hidden-lg { display: none !important; } } .hidden-md { display: block !important; } tr.hidden-md { display: table-row !important; } th.hidden-md, td.hidden-md { display: table-cell !important; } @media (max-width: 767px) { .hidden-md.hidden-xs { display: none !important; } tr.hidden-md.hidden-xs { display: none !important; } th.hidden-md.hidden-xs, td.hidden-md.hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-md.hidden-sm { display: none !important; } tr.hidden-md.hidden-sm { display: none !important; } th.hidden-md.hidden-sm, td.hidden-md.hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-md { display: none !important; } tr.hidden-md { display: none !important; } th.hidden-md, td.hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-md.hidden-lg { display: none !important; } tr.hidden-md.hidden-lg { display: none !important; } th.hidden-md.hidden-lg, td.hidden-md.hidden-lg { display: none !important; } } .hidden-lg { display: block !important; } tr.hidden-lg { display: table-row !important; } th.hidden-lg, td.hidden-lg { display: table-cell !important; } @media (max-width: 767px) { .hidden-lg.hidden-xs { display: none !important; } tr.hidden-lg.hidden-xs { display: none !important; } th.hidden-lg.hidden-xs, td.hidden-lg.hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-lg.hidden-sm { display: none !important; } tr.hidden-lg.hidden-sm { display: none !important; } th.hidden-lg.hidden-sm, td.hidden-lg.hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-lg.hidden-md { display: none !important; } tr.hidden-lg.hidden-md { display: none !important; } th.hidden-lg.hidden-md, td.hidden-lg.hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-lg { display: none !important; } tr.hidden-lg { display: none !important; } th.hidden-lg, td.hidden-lg { display: none !important; } } .visible-print { display: none !important; } tr.visible-print { display: none !important; } th.visible-print, td.visible-print { display: none !important; } @media print { .visible-print { display: block !important; } tr.visible-print { display: table-row !important; } th.visible-print, td.visible-print { display: table-cell !important; } .hidden-print { display: none !important; } tr.hidden-print { display: none !important; } th.hidden-print, td.hidden-print { display: none !important; } } ================================================ FILE: content/css/bootstrap.css ================================================ /*! * Bootstrap v3.0.0 * * Copyright 2013 Twitter, Inc * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * * Designed and built with all the love in the world by @mdo and @fat. */ /*! normalize.css v2.1.0 | MIT License | git.io/normalize */ article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } audio, canvas, video { display: inline-block; } audio:not([controls]) { display: none; height: 0; } [hidden] { display: none; } html { font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } body { margin: 0; } a:focus { outline: thin dotted; } a:active, a:hover { outline: 0; } h1 { margin: 0.67em 0; font-size: 2em; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } dfn { font-style: italic; } hr { height: 0; -moz-box-sizing: content-box; box-sizing: content-box; } mark { color: #000; background: #ff0; } code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } pre { white-space: pre-wrap; } q { quotes: "\201C" "\201D" "\2018" "\2019"; } small { font-size: 80%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 0; } fieldset { padding: 0.35em 0.625em 0.75em; margin: 0 2px; border: 1px solid #c0c0c0; } legend { padding: 0; border: 0; } button, input, select, textarea { margin: 0; font-family: inherit; font-size: 100%; } button, input { line-height: normal; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; } button[disabled], html input[disabled] { cursor: default; } input[type="checkbox"], input[type="radio"] { padding: 0; box-sizing: border-box; } input[type="search"] { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; -webkit-appearance: textfield; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; } textarea { overflow: auto; vertical-align: top; } table { border-collapse: collapse; border-spacing: 0; } @media print { * { color: #000 !important; text-shadow: none !important; background: transparent !important; box-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } @page { margin: 2cm .5cm; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } .navbar { display: none; } .table td, .table th { background-color: #fff !important; } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table-bordered th, .table-bordered td { border: 1px solid #ddd !important; } } *, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } html { font-size: 62.5%; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.428571429; color: #333333; background-color: #ffffff; } input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } button, input, select[multiple], textarea { background-image: none; } a { color: #428bca; text-decoration: none; } a:hover, a:focus { color: #2a6496; text-decoration: underline; } a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } img { vertical-align: middle; } .img-responsive { display: block; height: auto; max-width: 100%; } .img-rounded { border-radius: 6px; } .img-thumbnail { display: inline-block; height: auto; max-width: 100%; padding: 4px; line-height: 1.428571429; background-color: #ffffff; border: 1px solid #dddddd; border-radius: 4px; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .img-circle { border-radius: 50%; } hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eeeeee; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); border: 0; } p { margin: 0 0 10px; } .lead { margin-bottom: 20px; font-size: 16.099999999999998px; font-weight: 200; line-height: 1.4; } @media (min-width: 768px) { .lead { font-size: 21px; } } small { font-size: 85%; } cite { font-style: normal; } .text-muted { color: #999999; } .text-primary { color: #428bca; } .text-warning { color: #c09853; } .text-danger { color: #b94a48; } .text-success { color: #468847; } .text-info { color: #3a87ad; } .text-left { text-align: left; } .text-right { text-align: right; } .text-center { text-align: center; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 500; line-height: 1.1; } h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small { font-weight: normal; line-height: 1; color: #999999; } h1, h2, h3 { margin-top: 20px; margin-bottom: 10px; } h4, h5, h6 { margin-top: 10px; margin-bottom: 10px; } h1, .h1 { font-size: 36px; } h2, .h2 { font-size: 30px; } h3, .h3 { font-size: 24px; } h4, .h4 { font-size: 20px; } h5, .h5 { font-size: 14px; } h6, .h6 { font-size: 12px; } h1 small, .h1 small { font-size: 24px; } h2 small, .h2 small { font-size: 18px; } h3 small, .h3 small, h4 small, .h4 small { font-size: 14px; } .page-header { padding-bottom: 9px; margin: 40px 0 20px; border-bottom: 1px solid #eeeeee; } ul, ol { margin-top: 0; margin-bottom: 10px; } ul ul, ol ul, ul ol, ol ol { margin-bottom: 0; } .list-unstyled { padding-left: 0; list-style: none; } .list-inline { padding-left: 0; list-style: none; } .list-inline > li { display: inline-block; padding-right: 5px; padding-left: 5px; } dl { margin-bottom: 20px; } dt, dd { line-height: 1.428571429; } dt { font-weight: bold; } dd { margin-left: 0; } @media (min-width: 768px) { .dl-horizontal dt { float: left; width: 160px; overflow: hidden; clear: left; text-align: right; text-overflow: ellipsis; white-space: nowrap; } .dl-horizontal dd { margin-left: 180px; } .dl-horizontal dd:before, .dl-horizontal dd:after { display: table; content: " "; } .dl-horizontal dd:after { clear: both; } .dl-horizontal dd:before, .dl-horizontal dd:after { display: table; content: " "; } .dl-horizontal dd:after { clear: both; } } abbr[title], abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #999999; } abbr.initialism { font-size: 90%; text-transform: uppercase; } blockquote { padding: 10px 20px; margin: 0 0 20px; border-left: 5px solid #eeeeee; } blockquote p { font-size: 17.5px; font-weight: 300; line-height: 1.25; } blockquote p:last-child { margin-bottom: 0; } blockquote small { display: block; line-height: 1.428571429; color: #999999; } blockquote small:before { content: '\2014 \00A0'; } blockquote.pull-right { padding-right: 15px; padding-left: 0; border-right: 5px solid #eeeeee; border-left: 0; } blockquote.pull-right p, blockquote.pull-right small { text-align: right; } blockquote.pull-right small:before { content: ''; } blockquote.pull-right small:after { content: '\00A0 \2014'; } q:before, q:after, blockquote:before, blockquote:after { content: ""; } address { display: block; margin-bottom: 20px; font-style: normal; line-height: 1.428571429; } code, pre { font-family: Monaco, Menlo, Consolas, "Courier New", monospace; } code { padding: 2px 4px; font-size: 90%; color: #c7254e; white-space: nowrap; background-color: #f9f2f4; border-radius: 4px; } pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 1.428571429; color: #333333; word-break: break-all; word-wrap: break-word; background-color: #f5f5f5; border: 1px solid #cccccc; border-radius: 4px; } pre.prettyprint { margin-bottom: 20px; } pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap; background-color: transparent; border: 0; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } .container:before, .container:after { display: table; content: " "; } .container:after { clear: both; } .container:before, .container:after { display: table; content: " "; } .container:after { clear: both; } .row { margin-right: -15px; margin-left: -15px; } .row:before, .row:after { display: table; content: " "; } .row:after { clear: both; } .row:before, .row:after { display: table; content: " "; } .row:after { clear: both; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .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-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-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 { position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11 { float: left; } .col-xs-1 { width: 8.333333333333332%; } .col-xs-2 { width: 16.666666666666664%; } .col-xs-3 { width: 25%; } .col-xs-4 { width: 33.33333333333333%; } .col-xs-5 { width: 41.66666666666667%; } .col-xs-6 { width: 50%; } .col-xs-7 { width: 58.333333333333336%; } .col-xs-8 { width: 66.66666666666666%; } .col-xs-9 { width: 75%; } .col-xs-10 { width: 83.33333333333334%; } .col-xs-11 { width: 91.66666666666666%; } .col-xs-12 { width: 100%; } @media (min-width: 768px) { .container { max-width: 750px; } .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 { float: left; } .col-sm-1 { width: 8.333333333333332%; } .col-sm-2 { width: 16.666666666666664%; } .col-sm-3 { width: 25%; } .col-sm-4 { width: 33.33333333333333%; } .col-sm-5 { width: 41.66666666666667%; } .col-sm-6 { width: 50%; } .col-sm-7 { width: 58.333333333333336%; } .col-sm-8 { width: 66.66666666666666%; } .col-sm-9 { width: 75%; } .col-sm-10 { width: 83.33333333333334%; } .col-sm-11 { width: 91.66666666666666%; } .col-sm-12 { width: 100%; } .col-sm-push-1 { left: 8.333333333333332%; } .col-sm-push-2 { left: 16.666666666666664%; } .col-sm-push-3 { left: 25%; } .col-sm-push-4 { left: 33.33333333333333%; } .col-sm-push-5 { left: 41.66666666666667%; } .col-sm-push-6 { left: 50%; } .col-sm-push-7 { left: 58.333333333333336%; } .col-sm-push-8 { left: 66.66666666666666%; } .col-sm-push-9 { left: 75%; } .col-sm-push-10 { left: 83.33333333333334%; } .col-sm-push-11 { left: 91.66666666666666%; } .col-sm-pull-1 { right: 8.333333333333332%; } .col-sm-pull-2 { right: 16.666666666666664%; } .col-sm-pull-3 { right: 25%; } .col-sm-pull-4 { right: 33.33333333333333%; } .col-sm-pull-5 { right: 41.66666666666667%; } .col-sm-pull-6 { right: 50%; } .col-sm-pull-7 { right: 58.333333333333336%; } .col-sm-pull-8 { right: 66.66666666666666%; } .col-sm-pull-9 { right: 75%; } .col-sm-pull-10 { right: 83.33333333333334%; } .col-sm-pull-11 { right: 91.66666666666666%; } .col-sm-offset-1 { margin-left: 8.333333333333332%; } .col-sm-offset-2 { margin-left: 16.666666666666664%; } .col-sm-offset-3 { margin-left: 25%; } .col-sm-offset-4 { margin-left: 33.33333333333333%; } .col-sm-offset-5 { margin-left: 41.66666666666667%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-7 { margin-left: 58.333333333333336%; } .col-sm-offset-8 { margin-left: 66.66666666666666%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-10 { margin-left: 83.33333333333334%; } .col-sm-offset-11 { margin-left: 91.66666666666666%; } } @media (min-width: 992px) { .container { max-width: 970px; } .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 { float: left; } .col-md-1 { width: 8.333333333333332%; } .col-md-2 { width: 16.666666666666664%; } .col-md-3 { width: 25%; } .col-md-4 { width: 33.33333333333333%; } .col-md-5 { width: 41.66666666666667%; } .col-md-6 { width: 50%; } .col-md-7 { width: 58.333333333333336%; } .col-md-8 { width: 66.66666666666666%; } .col-md-9 { width: 75%; } .col-md-10 { width: 83.33333333333334%; } .col-md-11 { width: 91.66666666666666%; } .col-md-12 { width: 100%; } .col-md-push-0 { left: auto; } .col-md-push-1 { left: 8.333333333333332%; } .col-md-push-2 { left: 16.666666666666664%; } .col-md-push-3 { left: 25%; } .col-md-push-4 { left: 33.33333333333333%; } .col-md-push-5 { left: 41.66666666666667%; } .col-md-push-6 { left: 50%; } .col-md-push-7 { left: 58.333333333333336%; } .col-md-push-8 { left: 66.66666666666666%; } .col-md-push-9 { left: 75%; } .col-md-push-10 { left: 83.33333333333334%; } .col-md-push-11 { left: 91.66666666666666%; } .col-md-pull-0 { right: auto; } .col-md-pull-1 { right: 8.333333333333332%; } .col-md-pull-2 { right: 16.666666666666664%; } .col-md-pull-3 { right: 25%; } .col-md-pull-4 { right: 33.33333333333333%; } .col-md-pull-5 { right: 41.66666666666667%; } .col-md-pull-6 { right: 50%; } .col-md-pull-7 { right: 58.333333333333336%; } .col-md-pull-8 { right: 66.66666666666666%; } .col-md-pull-9 { right: 75%; } .col-md-pull-10 { right: 83.33333333333334%; } .col-md-pull-11 { right: 91.66666666666666%; } .col-md-offset-0 { margin-left: 0; } .col-md-offset-1 { margin-left: 8.333333333333332%; } .col-md-offset-2 { margin-left: 16.666666666666664%; } .col-md-offset-3 { margin-left: 25%; } .col-md-offset-4 { margin-left: 33.33333333333333%; } .col-md-offset-5 { margin-left: 41.66666666666667%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-7 { margin-left: 58.333333333333336%; } .col-md-offset-8 { margin-left: 66.66666666666666%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-10 { margin-left: 83.33333333333334%; } .col-md-offset-11 { margin-left: 91.66666666666666%; } } @media (min-width: 1200px) { .container { max-width: 1170px; } .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 { float: left; } .col-lg-1 { width: 8.333333333333332%; } .col-lg-2 { width: 16.666666666666664%; } .col-lg-3 { width: 25%; } .col-lg-4 { width: 33.33333333333333%; } .col-lg-5 { width: 41.66666666666667%; } .col-lg-6 { width: 50%; } .col-lg-7 { width: 58.333333333333336%; } .col-lg-8 { width: 66.66666666666666%; } .col-lg-9 { width: 75%; } .col-lg-10 { width: 83.33333333333334%; } .col-lg-11 { width: 91.66666666666666%; } .col-lg-12 { width: 100%; } .col-lg-push-0 { left: auto; } .col-lg-push-1 { left: 8.333333333333332%; } .col-lg-push-2 { left: 16.666666666666664%; } .col-lg-push-3 { left: 25%; } .col-lg-push-4 { left: 33.33333333333333%; } .col-lg-push-5 { left: 41.66666666666667%; } .col-lg-push-6 { left: 50%; } .col-lg-push-7 { left: 58.333333333333336%; } .col-lg-push-8 { left: 66.66666666666666%; } .col-lg-push-9 { left: 75%; } .col-lg-push-10 { left: 83.33333333333334%; } .col-lg-push-11 { left: 91.66666666666666%; } .col-lg-pull-0 { right: auto; } .col-lg-pull-1 { right: 8.333333333333332%; } .col-lg-pull-2 { right: 16.666666666666664%; } .col-lg-pull-3 { right: 25%; } .col-lg-pull-4 { right: 33.33333333333333%; } .col-lg-pull-5 { right: 41.66666666666667%; } .col-lg-pull-6 { right: 50%; } .col-lg-pull-7 { right: 58.333333333333336%; } .col-lg-pull-8 { right: 66.66666666666666%; } .col-lg-pull-9 { right: 75%; } .col-lg-pull-10 { right: 83.33333333333334%; } .col-lg-pull-11 { right: 91.66666666666666%; } .col-lg-offset-0 { margin-left: 0; } .col-lg-offset-1 { margin-left: 8.333333333333332%; } .col-lg-offset-2 { margin-left: 16.666666666666664%; } .col-lg-offset-3 { margin-left: 25%; } .col-lg-offset-4 { margin-left: 33.33333333333333%; } .col-lg-offset-5 { margin-left: 41.66666666666667%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-7 { margin-left: 58.333333333333336%; } .col-lg-offset-8 { margin-left: 66.66666666666666%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-10 { margin-left: 83.33333333333334%; } .col-lg-offset-11 { margin-left: 91.66666666666666%; } } table { max-width: 100%; background-color: transparent; } th { text-align: left; } .table { width: 100%; margin-bottom: 20px; } .table thead > tr > th, .table tbody > tr > th, .table tfoot > tr > th, .table thead > tr > td, .table tbody > tr > td, .table tfoot > tr > td { padding: 8px; line-height: 1.428571429; vertical-align: top; border-top: 1px solid #dddddd; } .table thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #dddddd; } .table caption + thead tr:first-child th, .table colgroup + thead tr:first-child th, .table thead:first-child tr:first-child th, .table caption + thead tr:first-child td, .table colgroup + thead tr:first-child td, .table thead:first-child tr:first-child td { border-top: 0; } .table tbody + tbody { border-top: 2px solid #dddddd; } .table .table { background-color: #ffffff; } .table-condensed thead > tr > th, .table-condensed tbody > tr > th, .table-condensed tfoot > tr > th, .table-condensed thead > tr > td, .table-condensed tbody > tr > td, .table-condensed tfoot > tr > td { padding: 5px; } .table-bordered { border: 1px solid #dddddd; } .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { border: 1px solid #dddddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-child(odd) > td, .table-striped > tbody > tr:nth-child(odd) > th { background-color: #f9f9f9; } .table-hover > tbody > tr:hover > td, .table-hover > tbody > tr:hover > th { background-color: #f5f5f5; } table col[class*="col-"] { display: table-column; float: none; } table td[class*="col-"], table th[class*="col-"] { display: table-cell; float: none; } .table > thead > tr > td.active, .table > tbody > tr > td.active, .table > tfoot > tr > td.active, .table > thead > tr > th.active, .table > tbody > tr > th.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > tbody > tr.active > td, .table > tfoot > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr.active > th, .table > tfoot > tr.active > th { background-color: #f5f5f5; } .table > thead > tr > td.success, .table > tbody > tr > td.success, .table > tfoot > tr > td.success, .table > thead > tr > th.success, .table > tbody > tr > th.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > tbody > tr.success > td, .table > tfoot > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr.success > th, .table > tfoot > tr.success > th { background-color: #dff0d8; border-color: #d6e9c6; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td { background-color: #d0e9c6; border-color: #c9e2b3; } .table > thead > tr > td.danger, .table > tbody > tr > td.danger, .table > tfoot > tr > td.danger, .table > thead > tr > th.danger, .table > tbody > tr > th.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > tbody > tr.danger > td, .table > tfoot > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr.danger > th, .table > tfoot > tr.danger > th { background-color: #f2dede; border-color: #eed3d7; } .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td { background-color: #ebcccc; border-color: #e6c1c7; } .table > thead > tr > td.warning, .table > tbody > tr > td.warning, .table > tfoot > tr > td.warning, .table > thead > tr > th.warning, .table > tbody > tr > th.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > tbody > tr.warning > td, .table > tfoot > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr.warning > th, .table > tfoot > tr.warning > th { background-color: #fcf8e3; border-color: #fbeed5; } .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td { background-color: #faf2cc; border-color: #f8e5be; } @media (max-width: 768px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-x: scroll; overflow-y: hidden; border: 1px solid #dddddd; } .table-responsive > .table { margin-bottom: 0; background-color: #fff; } .table-responsive > .table > thead > tr > th, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } .table-responsive > .table-bordered { border: 0; } .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .table-responsive > .table-bordered > thead > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > thead > tr:last-child > td, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0; } } fieldset { padding: 0; margin: 0; border: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: inherit; color: #333333; border: 0; border-bottom: 1px solid #e5e5e5; } label { display: inline-block; margin-bottom: 5px; font-weight: bold; } input[type="search"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; /* IE8-9 */ line-height: normal; } input[type="file"] { display: block; } select[multiple], select[size] { height: auto; } select optgroup { font-family: inherit; font-size: inherit; font-style: inherit; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button { height: auto; } .form-control:-moz-placeholder { color: #999999; } .form-control::-moz-placeholder { color: #999999; } .form-control:-ms-input-placeholder { color: #999999; } .form-control::-webkit-input-placeholder { color: #999999; } .form-control { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.428571429; color: #555555; vertical-align: middle; background-color: #ffffff; border: 1px solid #cccccc; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } .form-control:focus { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { cursor: not-allowed; background-color: #eeeeee; } textarea.form-control { height: auto; } .form-group { margin-bottom: 15px; } .radio, .checkbox { display: block; min-height: 20px; padding-left: 20px; margin-top: 10px; margin-bottom: 10px; vertical-align: middle; } .radio label, .checkbox label { display: inline; margin-bottom: 0; font-weight: normal; cursor: pointer; } .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { float: left; margin-left: -20px; } .radio + .radio, .checkbox + .checkbox { margin-top: -5px; } .radio-inline, .checkbox-inline { display: inline-block; padding-left: 20px; margin-bottom: 0; font-weight: normal; vertical-align: middle; cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: 10px; } input[type="radio"][disabled], input[type="checkbox"][disabled], .radio[disabled], .radio-inline[disabled], .checkbox[disabled], .checkbox-inline[disabled], fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"], fieldset[disabled] .radio, fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox, fieldset[disabled] .checkbox-inline { cursor: not-allowed; } .input-sm { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-sm { height: 30px; line-height: 30px; } textarea.input-sm { height: auto; } .input-lg { height: 45px; padding: 10px 16px; font-size: 18px; line-height: 1.33; border-radius: 6px; } select.input-lg { height: 45px; line-height: 45px; } textarea.input-lg { height: auto; } .has-warning .help-block, .has-warning .control-label { color: #c09853; } .has-warning .form-control { border-color: #c09853; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-warning .form-control:focus { border-color: #a47e3c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; } .has-warning .input-group-addon { color: #c09853; background-color: #fcf8e3; border-color: #c09853; } .has-error .help-block, .has-error .control-label { color: #b94a48; } .has-error .form-control { border-color: #b94a48; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-error .form-control:focus { border-color: #953b39; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; } .has-error .input-group-addon { color: #b94a48; background-color: #f2dede; border-color: #b94a48; } .has-success .help-block, .has-success .control-label { color: #468847; } .has-success .form-control { border-color: #468847; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-success .form-control:focus { border-color: #356635; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; } .has-success .input-group-addon { color: #468847; background-color: #dff0d8; border-color: #468847; } .form-control-static { padding-top: 7px; margin-bottom: 0; } .help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #737373; } @media (min-width: 768px) { .form-inline .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .form-inline .form-control { display: inline-block; } .form-inline .radio, .form-inline .checkbox { display: inline-block; padding-left: 0; margin-top: 0; margin-bottom: 0; } .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { float: none; margin-left: 0; } } .form-horizontal .control-label, .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { padding-top: 7px; margin-top: 0; margin-bottom: 0; } .form-horizontal .form-group { margin-right: -15px; margin-left: -15px; } .form-horizontal .form-group:before, .form-horizontal .form-group:after { display: table; content: " "; } .form-horizontal .form-group:after { clear: both; } .form-horizontal .form-group:before, .form-horizontal .form-group:after { display: table; content: " "; } .form-horizontal .form-group:after { clear: both; } @media (min-width: 768px) { .form-horizontal .control-label { text-align: right; } } .btn { display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: normal; line-height: 1.428571429; text-align: center; white-space: nowrap; vertical-align: middle; cursor: pointer; border: 1px solid transparent; border-radius: 4px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; } .btn:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } .btn:hover, .btn:focus { color: #333333; text-decoration: none; } .btn:active, .btn.active { background-image: none; outline: 0; -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { pointer-events: none; cursor: not-allowed; opacity: 0.65; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; } .btn-default { color: #333333; background-color: #ffffff; border-color: #cccccc; } .btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default { color: #333333; background-color: #ebebeb; border-color: #adadad; } .btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default { background-image: none; } .btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active { background-color: #ffffff; border-color: #cccccc; } .btn-primary { color: #ffffff; background-color: #428bca; border-color: #357ebd; } .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary { color: #ffffff; background-color: #3276b1; border-color: #285e8e; } .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary { background-image: none; } .btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { background-color: #428bca; border-color: #357ebd; } .btn-warning { color: #ffffff; background-color: #f0ad4e; border-color: #eea236; } .btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning { color: #ffffff; background-color: #ed9c28; border-color: #d58512; } .btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning { background-image: none; } .btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active { background-color: #f0ad4e; border-color: #eea236; } .btn-danger { color: #ffffff; background-color: #d9534f; border-color: #d43f3a; } .btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger { color: #ffffff; background-color: #d2322d; border-color: #ac2925; } .btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger { background-image: none; } .btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active { background-color: #d9534f; border-color: #d43f3a; } .btn-success { color: #ffffff; background-color: #5cb85c; border-color: #4cae4c; } .btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success { color: #ffffff; background-color: #47a447; border-color: #398439; } .btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success { background-image: none; } .btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active { background-color: #5cb85c; border-color: #4cae4c; } .btn-info { color: #ffffff; background-color: #5bc0de; border-color: #46b8da; } .btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info { color: #ffffff; background-color: #39b3d7; border-color: #269abc; } .btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info { background-image: none; } .btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active { background-color: #5bc0de; border-color: #46b8da; } .btn-link { font-weight: normal; color: #428bca; cursor: pointer; border-radius: 0; } .btn-link, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; -webkit-box-shadow: none; box-shadow: none; } .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } .btn-link:hover, .btn-link:focus { color: #2a6496; text-decoration: underline; background-color: transparent; } .btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus { color: #999999; text-decoration: none; } .btn-lg { padding: 10px 16px; font-size: 18px; line-height: 1.33; border-radius: 6px; } .btn-sm, .btn-xs { padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-xs { padding: 1px 5px; } .btn-block { display: block; width: 100%; padding-right: 0; padding-left: 0; } .btn-block + .btn-block { margin-top: 5px; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { opacity: 0; -webkit-transition: opacity 0.15s linear; transition: opacity 0.15s linear; } .fade.in { opacity: 1; } .collapse { display: none; } .collapse.in { display: block; } .collapsing { position: relative; height: 0; overflow: hidden; -webkit-transition: height 0.35s ease; transition: height 0.35s ease; } @font-face { font-family: 'Glyphicons Halflings'; src: url('../fonts/glyphicons-halflings-regular.eot'); src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg'); } .glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; -webkit-font-smoothing: antialiased; font-style: normal; font-weight: normal; line-height: 1; } .glyphicon-asterisk:before { content: "\2a"; } .glyphicon-plus:before { content: "\2b"; } .glyphicon-euro:before { content: "\20ac"; } .glyphicon-minus:before { content: "\2212"; } .glyphicon-cloud:before { content: "\2601"; } .glyphicon-envelope:before { content: "\2709"; } .glyphicon-pencil:before { content: "\270f"; } .glyphicon-glass:before { content: "\e001"; } .glyphicon-music:before { content: "\e002"; } .glyphicon-search:before { content: "\e003"; } .glyphicon-heart:before { content: "\e005"; } .glyphicon-star:before { content: "\e006"; } .glyphicon-star-empty:before { content: "\e007"; } .glyphicon-user:before { content: "\e008"; } .glyphicon-film:before { content: "\e009"; } .glyphicon-th-large:before { content: "\e010"; } .glyphicon-th:before { content: "\e011"; } .glyphicon-th-list:before { content: "\e012"; } .glyphicon-ok:before { content: "\e013"; } .glyphicon-remove:before { content: "\e014"; } .glyphicon-zoom-in:before { content: "\e015"; } .glyphicon-zoom-out:before { content: "\e016"; } .glyphicon-off:before { content: "\e017"; } .glyphicon-signal:before { content: "\e018"; } .glyphicon-cog:before { content: "\e019"; } .glyphicon-trash:before { content: "\e020"; } .glyphicon-home:before { content: "\e021"; } .glyphicon-file:before { content: "\e022"; } .glyphicon-time:before { content: "\e023"; } .glyphicon-road:before { content: "\e024"; } .glyphicon-download-alt:before { content: "\e025"; } .glyphicon-download:before { content: "\e026"; } .glyphicon-upload:before { content: "\e027"; } .glyphicon-inbox:before { content: "\e028"; } .glyphicon-play-circle:before { content: "\e029"; } .glyphicon-repeat:before { content: "\e030"; } .glyphicon-refresh:before { content: "\e031"; } .glyphicon-list-alt:before { content: "\e032"; } .glyphicon-flag:before { content: "\e034"; } .glyphicon-headphones:before { content: "\e035"; } .glyphicon-volume-off:before { content: "\e036"; } .glyphicon-volume-down:before { content: "\e037"; } .glyphicon-volume-up:before { content: "\e038"; } .glyphicon-qrcode:before { content: "\e039"; } .glyphicon-barcode:before { content: "\e040"; } .glyphicon-tag:before { content: "\e041"; } .glyphicon-tags:before { content: "\e042"; } .glyphicon-book:before { content: "\e043"; } .glyphicon-print:before { content: "\e045"; } .glyphicon-font:before { content: "\e047"; } .glyphicon-bold:before { content: "\e048"; } .glyphicon-italic:before { content: "\e049"; } .glyphicon-text-height:before { content: "\e050"; } .glyphicon-text-width:before { content: "\e051"; } .glyphicon-align-left:before { content: "\e052"; } .glyphicon-align-center:before { content: "\e053"; } .glyphicon-align-right:before { content: "\e054"; } .glyphicon-align-justify:before { content: "\e055"; } .glyphicon-list:before { content: "\e056"; } .glyphicon-indent-left:before { content: "\e057"; } .glyphicon-indent-right:before { content: "\e058"; } .glyphicon-facetime-video:before { content: "\e059"; } .glyphicon-picture:before { content: "\e060"; } .glyphicon-map-marker:before { content: "\e062"; } .glyphicon-adjust:before { content: "\e063"; } .glyphicon-tint:before { content: "\e064"; } .glyphicon-edit:before { content: "\e065"; } .glyphicon-share:before { content: "\e066"; } .glyphicon-check:before { content: "\e067"; } .glyphicon-move:before { content: "\e068"; } .glyphicon-step-backward:before { content: "\e069"; } .glyphicon-fast-backward:before { content: "\e070"; } .glyphicon-backward:before { content: "\e071"; } .glyphicon-play:before { content: "\e072"; } .glyphicon-pause:before { content: "\e073"; } .glyphicon-stop:before { content: "\e074"; } .glyphicon-forward:before { content: "\e075"; } .glyphicon-fast-forward:before { content: "\e076"; } .glyphicon-step-forward:before { content: "\e077"; } .glyphicon-eject:before { content: "\e078"; } .glyphicon-chevron-left:before { content: "\e079"; } .glyphicon-chevron-right:before { content: "\e080"; } .glyphicon-plus-sign:before { content: "\e081"; } .glyphicon-minus-sign:before { content: "\e082"; } .glyphicon-remove-sign:before { content: "\e083"; } .glyphicon-ok-sign:before { content: "\e084"; } .glyphicon-question-sign:before { content: "\e085"; } .glyphicon-info-sign:before { content: "\e086"; } .glyphicon-screenshot:before { content: "\e087"; } .glyphicon-remove-circle:before { content: "\e088"; } .glyphicon-ok-circle:before { content: "\e089"; } .glyphicon-ban-circle:before { content: "\e090"; } .glyphicon-arrow-left:before { content: "\e091"; } .glyphicon-arrow-right:before { content: "\e092"; } .glyphicon-arrow-up:before { content: "\e093"; } .glyphicon-arrow-down:before { content: "\e094"; } .glyphicon-share-alt:before { content: "\e095"; } .glyphicon-resize-full:before { content: "\e096"; } .glyphicon-resize-small:before { content: "\e097"; } .glyphicon-exclamation-sign:before { content: "\e101"; } .glyphicon-gift:before { content: "\e102"; } .glyphicon-leaf:before { content: "\e103"; } .glyphicon-eye-open:before { content: "\e105"; } .glyphicon-eye-close:before { content: "\e106"; } .glyphicon-warning-sign:before { content: "\e107"; } .glyphicon-plane:before { content: "\e108"; } .glyphicon-random:before { content: "\e110"; } .glyphicon-comment:before { content: "\e111"; } .glyphicon-magnet:before { content: "\e112"; } .glyphicon-chevron-up:before { content: "\e113"; } .glyphicon-chevron-down:before { content: "\e114"; } .glyphicon-retweet:before { content: "\e115"; } .glyphicon-shopping-cart:before { content: "\e116"; } .glyphicon-folder-close:before { content: "\e117"; } .glyphicon-folder-open:before { content: "\e118"; } .glyphicon-resize-vertical:before { content: "\e119"; } .glyphicon-resize-horizontal:before { content: "\e120"; } .glyphicon-hdd:before { content: "\e121"; } .glyphicon-bullhorn:before { content: "\e122"; } .glyphicon-certificate:before { content: "\e124"; } .glyphicon-thumbs-up:before { content: "\e125"; } .glyphicon-thumbs-down:before { content: "\e126"; } .glyphicon-hand-right:before { content: "\e127"; } .glyphicon-hand-left:before { content: "\e128"; } .glyphicon-hand-up:before { content: "\e129"; } .glyphicon-hand-down:before { content: "\e130"; } .glyphicon-circle-arrow-right:before { content: "\e131"; } .glyphicon-circle-arrow-left:before { content: "\e132"; } .glyphicon-circle-arrow-up:before { content: "\e133"; } .glyphicon-circle-arrow-down:before { content: "\e134"; } .glyphicon-globe:before { content: "\e135"; } .glyphicon-tasks:before { content: "\e137"; } .glyphicon-filter:before { content: "\e138"; } .glyphicon-fullscreen:before { content: "\e140"; } .glyphicon-dashboard:before { content: "\e141"; } .glyphicon-heart-empty:before { content: "\e143"; } .glyphicon-link:before { content: "\e144"; } .glyphicon-phone:before { content: "\e145"; } .glyphicon-usd:before { content: "\e148"; } .glyphicon-gbp:before { content: "\e149"; } .glyphicon-sort:before { content: "\e150"; } .glyphicon-sort-by-alphabet:before { content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { content: "\e152"; } .glyphicon-sort-by-order:before { content: "\e153"; } .glyphicon-sort-by-order-alt:before { content: "\e154"; } .glyphicon-sort-by-attributes:before { content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { content: "\e156"; } .glyphicon-unchecked:before { content: "\e157"; } .glyphicon-expand:before { content: "\e158"; } .glyphicon-collapse-down:before { content: "\e159"; } .glyphicon-collapse-up:before { content: "\e160"; } .glyphicon-log-in:before { content: "\e161"; } .glyphicon-flash:before { content: "\e162"; } .glyphicon-log-out:before { content: "\e163"; } .glyphicon-new-window:before { content: "\e164"; } .glyphicon-record:before { content: "\e165"; } .glyphicon-save:before { content: "\e166"; } .glyphicon-open:before { content: "\e167"; } .glyphicon-saved:before { content: "\e168"; } .glyphicon-import:before { content: "\e169"; } .glyphicon-export:before { content: "\e170"; } .glyphicon-send:before { content: "\e171"; } .glyphicon-floppy-disk:before { content: "\e172"; } .glyphicon-floppy-saved:before { content: "\e173"; } .glyphicon-floppy-remove:before { content: "\e174"; } .glyphicon-floppy-save:before { content: "\e175"; } .glyphicon-floppy-open:before { content: "\e176"; } .glyphicon-credit-card:before { content: "\e177"; } .glyphicon-transfer:before { content: "\e178"; } .glyphicon-cutlery:before { content: "\e179"; } .glyphicon-header:before { content: "\e180"; } .glyphicon-compressed:before { content: "\e181"; } .glyphicon-earphone:before { content: "\e182"; } .glyphicon-phone-alt:before { content: "\e183"; } .glyphicon-tower:before { content: "\e184"; } .glyphicon-stats:before { content: "\e185"; } .glyphicon-sd-video:before { content: "\e186"; } .glyphicon-hd-video:before { content: "\e187"; } .glyphicon-subtitles:before { content: "\e188"; } .glyphicon-sound-stereo:before { content: "\e189"; } .glyphicon-sound-dolby:before { content: "\e190"; } .glyphicon-sound-5-1:before { content: "\e191"; } .glyphicon-sound-6-1:before { content: "\e192"; } .glyphicon-sound-7-1:before { content: "\e193"; } .glyphicon-copyright-mark:before { content: "\e194"; } .glyphicon-registration-mark:before { content: "\e195"; } .glyphicon-cloud-download:before { content: "\e197"; } .glyphicon-cloud-upload:before { content: "\e198"; } .glyphicon-tree-conifer:before { content: "\e199"; } .glyphicon-tree-deciduous:before { content: "\e200"; } .glyphicon-briefcase:before { content: "\1f4bc"; } .glyphicon-calendar:before { content: "\1f4c5"; } .glyphicon-pushpin:before { content: "\1f4cc"; } .glyphicon-paperclip:before { content: "\1f4ce"; } .glyphicon-camera:before { content: "\1f4f7"; } .glyphicon-lock:before { content: "\1f512"; } .glyphicon-bell:before { content: "\1f514"; } .glyphicon-bookmark:before { content: "\1f516"; } .glyphicon-fire:before { content: "\1f525"; } .glyphicon-wrench:before { content: "\1f527"; } .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px solid #000000; border-right: 4px solid transparent; border-bottom: 0 dotted; border-left: 4px solid transparent; content: ""; } .dropdown { position: relative; } .dropdown-toggle:focus { outline: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; font-size: 14px; list-style: none; background-color: #ffffff; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); background-clip: padding-box; } .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown-menu .divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.428571429; color: #333333; white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { color: #ffffff; text-decoration: none; background-color: #428bca; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { color: #ffffff; text-decoration: none; background-color: #428bca; outline: 0; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: #999999; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; cursor: not-allowed; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } .open > .dropdown-menu { display: block; } .open > a { outline: 0; } .dropdown-header { display: block; padding: 3px 20px; font-size: 12px; line-height: 1.428571429; color: #999999; } .dropdown-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 990; } .pull-right > .dropdown-menu { right: 0; left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { border-top: 0 dotted; border-bottom: 4px solid #000000; content: ""; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 1px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { right: 0; left: auto; } } .btn-default .caret { border-top-color: #333333; } .btn-primary .caret, .btn-success .caret, .btn-warning .caret, .btn-danger .caret, .btn-info .caret { border-top-color: #fff; } .dropup .btn-default .caret { border-bottom-color: #333333; } .dropup .btn-primary .caret, .dropup .btn-success .caret, .dropup .btn-warning .caret, .dropup .btn-danger .caret, .dropup .btn-info .caret { border-bottom-color: #fff; } .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group > .btn:focus, .btn-group-vertical > .btn:focus { outline: none; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; } .btn-toolbar:before, .btn-toolbar:after { display: table; content: " "; } .btn-toolbar:after { clear: both; } .btn-toolbar:before, .btn-toolbar:after { display: table; content: " "; } .btn-toolbar:after { clear: both; } .btn-toolbar .btn-group { float: left; } .btn-toolbar > .btn + .btn, .btn-toolbar > .btn-group + .btn, .btn-toolbar > .btn + .btn-group, .btn-toolbar > .btn-group + .btn-group { margin-left: 5px; } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child > .btn:last-child, .btn-group > .btn-group:first-child > .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn-group:last-child > .btn:first-child { border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group-xs > .btn { padding: 5px 10px; padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-group-sm > .btn { padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-group-lg > .btn { padding: 10px 16px; font-size: 18px; line-height: 1.33; border-radius: 6px; } .btn-group > .btn + .dropdown-toggle { padding-right: 8px; padding-left: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-right: 12px; padding-left: 12px; } .btn-group.open .dropdown-toggle { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn .caret { margin-left: 0; } .btn-lg .caret { border-width: 5px 5px 0; border-bottom-width: 0; } .dropup .btn-lg .caret { border-width: 0 5px 5px; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { display: table; content: " "; } .btn-group-vertical > .btn-group:after { clear: both; } .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { display: table; content: " "; } .btn-group-vertical > .btn-group:after { clear: both; } .btn-group-vertical > .btn-group > .btn { float: none; } .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(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-top-right-radius: 0; border-bottom-left-radius: 4px; border-top-left-radius: 0; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child > .btn:last-child, .btn-group-vertical > .btn-group:first-child > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child > .btn:first-child { border-top-right-radius: 0; border-top-left-radius: 0; } .btn-group-justified { display: table; width: 100%; border-collapse: separate; table-layout: fixed; } .btn-group-justified .btn { display: table-cell; float: none; width: 1%; } [data-toggle="buttons"] > .btn > input[type="radio"], [data-toggle="buttons"] > .btn > input[type="checkbox"] { display: none; } .input-group { position: relative; display: table; border-collapse: separate; } .input-group.col { float: none; padding-right: 0; padding-left: 0; } .input-group .form-control { width: 100%; margin-bottom: 0; } .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { height: 45px; padding: 10px 16px; font-size: 18px; line-height: 1.33; border-radius: 6px; } select.input-group-lg > .form-control, select.input-group-lg > .input-group-addon, select.input-group-lg > .input-group-btn > .btn { height: 45px; line-height: 45px; } textarea.input-group-lg > .form-control, textarea.input-group-lg > .input-group-addon, textarea.input-group-lg > .input-group-btn > .btn { height: auto; } .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-group-sm > .form-control, select.input-group-sm > .input-group-addon, select.input-group-sm > .input-group-btn > .btn { height: 30px; line-height: 30px; } textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group-addon, textarea.input-group-sm > .input-group-btn > .btn { height: auto; } .input-group-addon, .input-group-btn, .input-group .form-control { display: table-cell; } .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; } .input-group-addon, .input-group-btn { width: 1%; white-space: nowrap; vertical-align: middle; } .input-group-addon { padding: 6px 12px; font-size: 14px; font-weight: normal; line-height: 1; text-align: center; background-color: #eeeeee; border: 1px solid #cccccc; border-radius: 4px; } .input-group-addon.input-sm { padding: 5px 10px; font-size: 12px; border-radius: 3px; } .input-group-addon.input-lg { padding: 10px 16px; font-size: 18px; border-radius: 6px; } .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { margin-top: 0; } .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group-addon:first-child { border-right: 0; } .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child) { border-bottom-left-radius: 0; border-top-left-radius: 0; } .input-group-addon:last-child { border-left: 0; } .input-group-btn { position: relative; white-space: nowrap; } .input-group-btn > .btn { position: relative; } .input-group-btn > .btn + .btn { margin-left: -4px; } .input-group-btn > .btn:hover, .input-group-btn > .btn:active { z-index: 2; } .nav { padding-left: 0; margin-bottom: 0; list-style: none; } .nav:before, .nav:after { display: table; content: " "; } .nav:after { clear: both; } .nav:before, .nav:after { display: table; content: " "; } .nav:after { clear: both; } .nav > li { position: relative; display: block; } .nav > li > a { position: relative; display: block; padding: 10px 15px; } .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; background-color: #eeeeee; } .nav > li.disabled > a { color: #999999; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { color: #999999; text-decoration: none; cursor: not-allowed; background-color: transparent; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { background-color: #eeeeee; border-color: #428bca; } .nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .nav > li > a > img { max-width: none; } .nav-tabs { border-bottom: 1px solid #dddddd; } .nav-tabs > li { float: left; margin-bottom: -1px; } .nav-tabs > li > a { margin-right: 2px; line-height: 1.428571429; border: 1px solid transparent; border-radius: 4px 4px 0 0; } .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #dddddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: #555555; cursor: default; background-color: #ffffff; border: 1px solid #dddddd; border-bottom-color: transparent; } .nav-tabs.nav-justified { width: 100%; border-bottom: 0; } .nav-tabs.nav-justified > li { float: none; } .nav-tabs.nav-justified > li > a { text-align: center; } @media (min-width: 768px) { .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } } .nav-tabs.nav-justified > li > a { margin-right: 0; border-bottom: 1px solid #dddddd; } .nav-tabs.nav-justified > .active > a { border-bottom-color: #ffffff; } .nav-pills > li { float: left; } .nav-pills > li > a { border-radius: 5px; } .nav-pills > li + li { margin-left: 2px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #ffffff; background-color: #428bca; } .nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; } .nav-justified { width: 100%; } .nav-justified > li { float: none; } .nav-justified > li > a { text-align: center; } @media (min-width: 768px) { .nav-justified > li { display: table-cell; width: 1%; } } .nav-tabs-justified { border-bottom: 0; } .nav-tabs-justified > li > a { margin-right: 0; border-bottom: 1px solid #dddddd; } .nav-tabs-justified > .active > a { border-bottom-color: #ffffff; } .tabbable:before, .tabbable:after { display: table; content: " "; } .tabbable:after { clear: both; } .tabbable:before, .tabbable:after { display: table; content: " "; } .tabbable:after { clear: both; } .tab-content > .tab-pane, .pill-content > .pill-pane { display: none; } .tab-content > .active, .pill-content > .active { display: block; } .nav .caret { border-top-color: #428bca; border-bottom-color: #428bca; } .nav a:hover .caret { border-top-color: #2a6496; border-bottom-color: #2a6496; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-right-radius: 0; border-top-left-radius: 0; } .navbar { position: relative; z-index: 1000; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent; } .navbar:before, .navbar:after { display: table; content: " "; } .navbar:after { clear: both; } .navbar:before, .navbar:after { display: table; content: " "; } .navbar:after { clear: both; } @media (min-width: 768px) { .navbar { border-radius: 4px; } } .navbar-header:before, .navbar-header:after { display: table; content: " "; } .navbar-header:after { clear: both; } .navbar-header:before, .navbar-header:after { display: table; content: " "; } .navbar-header:after { clear: both; } @media (min-width: 768px) { .navbar-header { float: left; } } .navbar-collapse { max-height: 340px; padding-right: 15px; padding-left: 15px; overflow-x: visible; border-top: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); -webkit-overflow-scrolling: touch; } .navbar-collapse:before, .navbar-collapse:after { display: table; content: " "; } .navbar-collapse:after { clear: both; } .navbar-collapse:before, .navbar-collapse:after { display: table; content: " "; } .navbar-collapse:after { clear: both; } .navbar-collapse.in { overflow-y: auto; } @media (min-width: 768px) { .navbar-collapse { width: auto; border-top: 0; box-shadow: none; } .navbar-collapse.collapse { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; } .navbar-collapse.in { overflow-y: visible; } .navbar-collapse .navbar-nav.navbar-left:first-child { margin-left: -15px; } .navbar-collapse .navbar-nav.navbar-right:last-child { margin-right: -15px; } .navbar-collapse .navbar-text:last-child { margin-right: 0; } } .container > .navbar-header, .container > .navbar-collapse { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .container > .navbar-header, .container > .navbar-collapse { margin-right: 0; margin-left: 0; } } .navbar-static-top { border-width: 0 0 1px; } @media (min-width: 768px) { .navbar-static-top { border-radius: 0; } } .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; border-width: 0 0 1px; } @media (min-width: 768px) { .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } } .navbar-fixed-top { top: 0; z-index: 1030; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; } .navbar-brand { float: left; padding: 15px 15px; font-size: 18px; line-height: 20px; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } @media (min-width: 768px) { .navbar > .container .navbar-brand { margin-left: -15px; } } .navbar-toggle { position: relative; float: right; padding: 9px 10px; margin-top: 8px; margin-right: 15px; margin-bottom: 8px; background-color: transparent; border: 1px solid transparent; border-radius: 4px; } .navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; } .navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; } @media (min-width: 768px) { .navbar-toggle { display: none; } } .navbar-nav { margin: 7.5px -15px; } .navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 20px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } .navbar-nav .open .dropdown-menu > li > a { line-height: 20px; } .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } } @media (min-width: 768px) { .navbar-nav { float: left; margin: 0; } .navbar-nav > li { float: left; } .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; } } @media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; } } .navbar-form { padding: 10px 15px; margin-top: 8px; margin-right: -15px; margin-bottom: 8px; margin-left: -15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); } @media (min-width: 768px) { .navbar-form .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .navbar-form .form-control { display: inline-block; } .navbar-form .radio, .navbar-form .checkbox { display: inline-block; padding-left: 0; margin-top: 0; margin-bottom: 0; } .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { float: none; margin-left: 0; } } @media (max-width: 767px) { .navbar-form .form-group { margin-bottom: 5px; } } @media (min-width: 768px) { .navbar-form { width: auto; padding-top: 0; padding-bottom: 0; margin-right: 0; margin-left: 0; border: 0; -webkit-box-shadow: none; box-shadow: none; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-right-radius: 0; border-top-left-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .navbar-nav.pull-right > li > .dropdown-menu, .navbar-nav > li > .dropdown-menu.pull-right { right: 0; left: auto; } .navbar-btn { margin-top: 8px; margin-bottom: 8px; } .navbar-text { float: left; margin-top: 15px; margin-bottom: 15px; } @media (min-width: 768px) { .navbar-text { margin-right: 15px; margin-left: 15px; } } .navbar-default { background-color: #f8f8f8; border-color: #e7e7e7; } .navbar-default .navbar-brand { color: #777777; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #5e5e5e; background-color: transparent; } .navbar-default .navbar-text { color: #777777; } .navbar-default .navbar-nav > li > a { color: #777777; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #333333; background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #555555; background-color: #e7e7e7; } .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { color: #cccccc; background-color: transparent; } .navbar-default .navbar-toggle { border-color: #dddddd; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #dddddd; } .navbar-default .navbar-toggle .icon-bar { background-color: #cccccc; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { border-color: #e6e6e6; } .navbar-default .navbar-nav > .dropdown > a:hover .caret, .navbar-default .navbar-nav > .dropdown > a:focus .caret { border-top-color: #333333; border-bottom-color: #333333; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { color: #555555; background-color: #e7e7e7; } .navbar-default .navbar-nav > .open > a .caret, .navbar-default .navbar-nav > .open > a:hover .caret, .navbar-default .navbar-nav > .open > a:focus .caret { border-top-color: #555555; border-bottom-color: #555555; } .navbar-default .navbar-nav > .dropdown > a .caret { border-top-color: #777777; border-bottom-color: #777777; } @media (max-width: 767px) { .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: #777777; } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #333333; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #555555; background-color: #e7e7e7; } .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #cccccc; background-color: transparent; } } .navbar-default .navbar-link { color: #777777; } .navbar-default .navbar-link:hover { color: #333333; } .navbar-inverse { background-color: #222222; border-color: #080808; } .navbar-inverse .navbar-brand { color: #999999; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { color: #ffffff; background-color: transparent; } .navbar-inverse .navbar-text { color: #999999; } .navbar-inverse .navbar-nav > li > a { color: #999999; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #ffffff; background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { color: #ffffff; background-color: #080808; } .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { color: #444444; background-color: transparent; } .navbar-inverse .navbar-toggle { border-color: #333333; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background-color: #333333; } .navbar-inverse .navbar-toggle .icon-bar { background-color: #ffffff; } .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: #101010; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { color: #ffffff; background-color: #080808; } .navbar-inverse .navbar-nav > .dropdown > a:hover .caret { border-top-color: #ffffff; border-bottom-color: #ffffff; } .navbar-inverse .navbar-nav > .dropdown > a .caret { border-top-color: #999999; border-bottom-color: #999999; } .navbar-inverse .navbar-nav > .open > a .caret, .navbar-inverse .navbar-nav > .open > a:hover .caret, .navbar-inverse .navbar-nav > .open > a:focus .caret { border-top-color: #ffffff; border-bottom-color: #ffffff; } @media (max-width: 767px) { .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: #999999; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: #ffffff; background-color: transparent; } .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: #ffffff; background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #444444; background-color: transparent; } } .navbar-inverse .navbar-link { color: #999999; } .navbar-inverse .navbar-link:hover { color: #ffffff; } .breadcrumb { padding: 8px 15px; margin-bottom: 20px; list-style: none; background-color: #f5f5f5; border-radius: 4px; } .breadcrumb > li { display: inline-block; } .breadcrumb > li + li:before { padding: 0 5px; color: #cccccc; content: "/\00a0"; } .breadcrumb > .active { color: #999999; } .pagination { display: inline-block; padding-left: 0; margin: 20px 0; border-radius: 4px; } .pagination > li { display: inline; } .pagination > li > a, .pagination > li > span { position: relative; float: left; padding: 6px 12px; margin-left: -1px; line-height: 1.428571429; text-decoration: none; background-color: #ffffff; border: 1px solid #dddddd; } .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-bottom-left-radius: 4px; border-top-left-radius: 4px; } .pagination > li:last-child > a, .pagination > li:last-child > span { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } .pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { background-color: #eeeeee; } .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { z-index: 2; color: #ffffff; cursor: default; background-color: #428bca; border-color: #428bca; } .pagination > .disabled > span, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: #999999; cursor: not-allowed; background-color: #ffffff; border-color: #dddddd; } .pagination-lg > li > a, .pagination-lg > li > span { padding: 10px 16px; font-size: 18px; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { border-bottom-left-radius: 6px; border-top-left-radius: 6px; } .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { border-top-right-radius: 6px; border-bottom-right-radius: 6px; } .pagination-sm > li > a, .pagination-sm > li > span { padding: 5px 10px; font-size: 12px; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { border-bottom-left-radius: 3px; border-top-left-radius: 3px; } .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .pager { padding-left: 0; margin: 20px 0; text-align: center; list-style: none; } .pager:before, .pager:after { display: table; content: " "; } .pager:after { clear: both; } .pager:before, .pager:after { display: table; content: " "; } .pager:after { clear: both; } .pager li { display: inline; } .pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #ffffff; border: 1px solid #dddddd; border-radius: 15px; } .pager li > a:hover, .pager li > a:focus { text-decoration: none; background-color: #eeeeee; } .pager .next > a, .pager .next > span { float: right; } .pager .previous > a, .pager .previous > span { float: left; } .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { color: #999999; cursor: not-allowed; background-color: #ffffff; } .label { display: inline; padding: .2em .6em .3em; font-size: 75%; font-weight: bold; line-height: 1; color: #ffffff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25em; } .label[href]:hover, .label[href]:focus { color: #ffffff; text-decoration: none; cursor: pointer; } .label:empty { display: none; } .label-default { background-color: #999999; } .label-default[href]:hover, .label-default[href]:focus { background-color: #808080; } .label-primary { background-color: #428bca; } .label-primary[href]:hover, .label-primary[href]:focus { background-color: #3071a9; } .label-success { background-color: #5cb85c; } .label-success[href]:hover, .label-success[href]:focus { background-color: #449d44; } .label-info { background-color: #5bc0de; } .label-info[href]:hover, .label-info[href]:focus { background-color: #31b0d5; } .label-warning { background-color: #f0ad4e; } .label-warning[href]:hover, .label-warning[href]:focus { background-color: #ec971f; } .label-danger { background-color: #d9534f; } .label-danger[href]:hover, .label-danger[href]:focus { background-color: #c9302c; } .badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 12px; font-weight: bold; line-height: 1; color: #ffffff; text-align: center; white-space: nowrap; vertical-align: baseline; background-color: #999999; border-radius: 10px; } .badge:empty { display: none; } a.badge:hover, a.badge:focus { color: #ffffff; text-decoration: none; cursor: pointer; } .btn .badge { position: relative; top: -1px; } a.list-group-item.active > .badge, .nav-pills > .active > a > .badge { color: #428bca; background-color: #ffffff; } .nav-pills > li > a > .badge { margin-left: 3px; } .jumbotron { padding: 30px; margin-bottom: 30px; font-size: 21px; font-weight: 200; line-height: 2.1428571435; color: inherit; background-color: #eeeeee; } .jumbotron h1 { line-height: 1; color: inherit; } .jumbotron p { line-height: 1.4; } .container .jumbotron { border-radius: 6px; } @media screen and (min-width: 768px) { .jumbotron { padding-top: 48px; padding-bottom: 48px; } .container .jumbotron { padding-right: 60px; padding-left: 60px; } .jumbotron h1 { font-size: 63px; } } .thumbnail { display: inline-block; display: block; height: auto; max-width: 100%; padding: 4px; line-height: 1.428571429; background-color: #ffffff; border: 1px solid #dddddd; border-radius: 4px; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .thumbnail > img { display: block; height: auto; max-width: 100%; } a.thumbnail:hover, a.thumbnail:focus { border-color: #428bca; } .thumbnail > img { margin-right: auto; margin-left: auto; } .thumbnail .caption { padding: 9px; color: #333333; } .alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } .alert h4 { margin-top: 0; color: inherit; } .alert .alert-link { font-weight: bold; } .alert > p, .alert > ul { margin-bottom: 0; } .alert > p + p { margin-top: 5px; } .alert-dismissable { padding-right: 35px; } .alert-dismissable .close { position: relative; top: -2px; right: -21px; color: inherit; } .alert-success { color: #468847; background-color: #dff0d8; border-color: #d6e9c6; } .alert-success hr { border-top-color: #c9e2b3; } .alert-success .alert-link { color: #356635; } .alert-info { color: #3a87ad; background-color: #d9edf7; border-color: #bce8f1; } .alert-info hr { border-top-color: #a6e1ec; } .alert-info .alert-link { color: #2d6987; } .alert-warning { color: #c09853; background-color: #fcf8e3; border-color: #fbeed5; } .alert-warning hr { border-top-color: #f8e5be; } .alert-warning .alert-link { color: #a47e3c; } .alert-danger { color: #b94a48; background-color: #f2dede; border-color: #eed3d7; } .alert-danger hr { border-top-color: #e6c1c7; } .alert-danger .alert-link { color: #953b39; } @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @-moz-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @-o-keyframes progress-bar-stripes { from { background-position: 0 0; } to { background-position: 40px 0; } } @keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } .progress { height: 20px; margin-bottom: 20px; overflow: hidden; background-color: #f5f5f5; border-radius: 4px; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); } .progress-bar { float: left; width: 0; height: 100%; font-size: 12px; color: #ffffff; text-align: center; background-color: #428bca; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -webkit-transition: width 0.6s ease; transition: width 0.6s ease; } .progress-striped .progress-bar { background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-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-image: -moz-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-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: 40px 40px; } .progress.active .progress-bar { -webkit-animation: progress-bar-stripes 2s linear infinite; -moz-animation: progress-bar-stripes 2s linear infinite; -ms-animation: progress-bar-stripes 2s linear infinite; -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; } .progress-bar-success { background-color: #5cb85c; } .progress-striped .progress-bar-success { background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-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-image: -moz-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-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); } .progress-bar-info { background-color: #5bc0de; } .progress-striped .progress-bar-info { background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-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-image: -moz-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-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); } .progress-bar-warning { background-color: #f0ad4e; } .progress-striped .progress-bar-warning { background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-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-image: -moz-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-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); } .progress-bar-danger { background-color: #d9534f; } .progress-striped .progress-bar-danger { background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-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-image: -moz-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-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); } .media, .media-body { overflow: hidden; zoom: 1; } .media, .media .media { margin-top: 15px; } .media:first-child { margin-top: 0; } .media-object { display: block; } .media-heading { margin: 0 0 5px; } .media > .pull-left { margin-right: 10px; } .media > .pull-right { margin-left: 10px; } .media-list { padding-left: 0; list-style: none; } .list-group { padding-left: 0; margin-bottom: 20px; } .list-group-item { position: relative; display: block; padding: 10px 15px; margin-bottom: -1px; background-color: #ffffff; border: 1px solid #dddddd; } .list-group-item:first-child { border-top-right-radius: 4px; border-top-left-radius: 4px; } .list-group-item:last-child { margin-bottom: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } .list-group-item > .badge { float: right; } .list-group-item > .badge + .badge { margin-right: 5px; } a.list-group-item { color: #555555; } a.list-group-item .list-group-item-heading { color: #333333; } a.list-group-item:hover, a.list-group-item:focus { text-decoration: none; background-color: #f5f5f5; } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { z-index: 2; color: #ffffff; background-color: #428bca; border-color: #428bca; } .list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading { color: inherit; } .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { color: #e1edf7; } .list-group-item-heading { margin-top: 0; margin-bottom: 5px; } .list-group-item-text { margin-bottom: 0; line-height: 1.3; } .panel { margin-bottom: 20px; background-color: #ffffff; border: 1px solid transparent; border-radius: 4px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); } .panel-body { padding: 15px; } .panel-body:before, .panel-body:after { display: table; content: " "; } .panel-body:after { clear: both; } .panel-body:before, .panel-body:after { display: table; content: " "; } .panel-body:after { clear: both; } .panel > .list-group { margin-bottom: 0; } .panel > .list-group .list-group-item { border-width: 1px 0; } .panel > .list-group .list-group-item:first-child { border-top-right-radius: 0; border-top-left-radius: 0; } .panel > .list-group .list-group-item:last-child { border-bottom: 0; } .panel-heading + .list-group .list-group-item:first-child { border-top-width: 0; } .panel > .table { margin-bottom: 0; } .panel > .panel-body + .table { border-top: 1px solid #dddddd; } .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-right-radius: 3px; border-top-left-radius: 3px; } .panel-title { margin-top: 0; margin-bottom: 0; font-size: 16px; } .panel-title > a { color: inherit; } .panel-footer { padding: 10px 15px; background-color: #f5f5f5; border-top: 1px solid #dddddd; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel-group .panel { margin-bottom: 0; overflow: hidden; border-radius: 4px; } .panel-group .panel + .panel { margin-top: 5px; } .panel-group .panel-heading { border-bottom: 0; } .panel-group .panel-heading + .panel-collapse .panel-body { border-top: 1px solid #dddddd; } .panel-group .panel-footer { border-top: 0; } .panel-group .panel-footer + .panel-collapse .panel-body { border-bottom: 1px solid #dddddd; } .panel-default { border-color: #dddddd; } .panel-default > .panel-heading { color: #333333; background-color: #f5f5f5; border-color: #dddddd; } .panel-default > .panel-heading + .panel-collapse .panel-body { border-top-color: #dddddd; } .panel-default > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #dddddd; } .panel-primary { border-color: #428bca; } .panel-primary > .panel-heading { color: #ffffff; background-color: #428bca; border-color: #428bca; } .panel-primary > .panel-heading + .panel-collapse .panel-body { border-top-color: #428bca; } .panel-primary > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #428bca; } .panel-success { border-color: #d6e9c6; } .panel-success > .panel-heading { color: #468847; background-color: #dff0d8; border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse .panel-body { border-top-color: #d6e9c6; } .panel-success > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #d6e9c6; } .panel-warning { border-color: #fbeed5; } .panel-warning > .panel-heading { color: #c09853; background-color: #fcf8e3; border-color: #fbeed5; } .panel-warning > .panel-heading + .panel-collapse .panel-body { border-top-color: #fbeed5; } .panel-warning > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #fbeed5; } .panel-danger { border-color: #eed3d7; } .panel-danger > .panel-heading { color: #b94a48; background-color: #f2dede; border-color: #eed3d7; } .panel-danger > .panel-heading + .panel-collapse .panel-body { border-top-color: #eed3d7; } .panel-danger > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #eed3d7; } .panel-info { border-color: #bce8f1; } .panel-info > .panel-heading { color: #3a87ad; background-color: #d9edf7; border-color: #bce8f1; } .panel-info > .panel-heading + .panel-collapse .panel-body { border-top-color: #bce8f1; } .panel-info > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #bce8f1; } .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); } .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, 0.15); } .well-lg { padding: 24px; border-radius: 6px; } .well-sm { padding: 9px; border-radius: 3px; } .close { float: right; font-size: 21px; font-weight: bold; line-height: 1; color: #000000; text-shadow: 0 1px 0 #ffffff; opacity: 0.2; filter: alpha(opacity=20); } .close:hover, .close:focus { color: #000000; text-decoration: none; cursor: pointer; opacity: 0.5; filter: alpha(opacity=50); } button.close { padding: 0; cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; } .modal-open { overflow: hidden; } body.modal-open, .modal-open .navbar-fixed-top, .modal-open .navbar-fixed-bottom { margin-right: 15px; } .modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; display: none; overflow: auto; overflow-y: scroll; } .modal.fade .modal-dialog { -webkit-transform: translate(0, -25%); -ms-transform: translate(0, -25%); transform: translate(0, -25%); -webkit-transition: -webkit-transform 0.3s ease-out; -moz-transition: -moz-transform 0.3s ease-out; -o-transition: -o-transform 0.3s ease-out; transition: transform 0.3s ease-out; } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); } .modal-dialog { z-index: 1050; width: auto; padding: 10px; margin-right: auto; margin-left: auto; } .modal-content { position: relative; background-color: #ffffff; border: 1px solid #999999; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; outline: none; -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); background-clip: padding-box; } .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1030; background-color: #000000; } .modal-backdrop.fade { opacity: 0; filter: alpha(opacity=0); } .modal-backdrop.in { opacity: 0.5; filter: alpha(opacity=50); } .modal-header { min-height: 16.428571429px; padding: 15px; border-bottom: 1px solid #e5e5e5; } .modal-header .close { margin-top: -2px; } .modal-title { margin: 0; line-height: 1.428571429; } .modal-body { position: relative; padding: 20px; } .modal-footer { padding: 19px 20px 20px; margin-top: 15px; text-align: right; border-top: 1px solid #e5e5e5; } .modal-footer:before, .modal-footer:after { display: table; content: " "; } .modal-footer:after { clear: both; } .modal-footer:before, .modal-footer:after { display: table; content: " "; } .modal-footer:after { clear: both; } .modal-footer .btn + .btn { margin-bottom: 0; margin-left: 5px; } .modal-footer .btn-group .btn + .btn { margin-left: -1px; } .modal-footer .btn-block + .btn-block { margin-left: 0; } @media screen and (min-width: 768px) { .modal-dialog { right: auto; left: 50%; width: 600px; padding-top: 30px; padding-bottom: 30px; } .modal-content { -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); } } .tooltip { position: absolute; z-index: 1030; display: block; font-size: 12px; line-height: 1.4; opacity: 0; filter: alpha(opacity=0); visibility: visible; } .tooltip.in { opacity: 0.9; filter: alpha(opacity=90); } .tooltip.top { padding: 5px 0; margin-top: -3px; } .tooltip.right { padding: 0 5px; margin-left: 3px; } .tooltip.bottom { padding: 5px 0; margin-top: 3px; } .tooltip.left { padding: 0 5px; margin-left: -3px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #ffffff; text-align: center; text-decoration: none; background-color: #000000; border-radius: 4px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-top-color: #000000; border-width: 5px 5px 0; } .tooltip.top-left .tooltip-arrow { bottom: 0; left: 5px; border-top-color: #000000; border-width: 5px 5px 0; } .tooltip.top-right .tooltip-arrow { right: 5px; bottom: 0; border-top-color: #000000; border-width: 5px 5px 0; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-right-color: #000000; border-width: 5px 5px 5px 0; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-left-color: #000000; border-width: 5px 0 5px 5px; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-bottom-color: #000000; border-width: 0 5px 5px; } .tooltip.bottom-left .tooltip-arrow { top: 0; left: 5px; border-bottom-color: #000000; border-width: 0 5px 5px; } .tooltip.bottom-right .tooltip-arrow { top: 0; right: 5px; border-bottom-color: #000000; border-width: 0 5px 5px; } .popover { position: absolute; top: 0; left: 0; z-index: 1010; display: none; max-width: 276px; padding: 1px; text-align: left; white-space: normal; background-color: #ffffff; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); background-clip: padding-box; } .popover.top { margin-top: -10px; } .popover.right { margin-left: 10px; } .popover.bottom { margin-top: 10px; } .popover.left { margin-left: -10px; } .popover-title { padding: 8px 14px; margin: 0; font-size: 14px; font-weight: normal; line-height: 18px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-radius: 5px 5px 0 0; } .popover-content { padding: 9px 14px; } .popover .arrow, .popover .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; } .popover .arrow { border-width: 11px; } .popover .arrow:after { border-width: 10px; content: ""; } .popover.top .arrow { bottom: -11px; left: 50%; margin-left: -11px; border-top-color: #999999; border-top-color: rgba(0, 0, 0, 0.25); border-bottom-width: 0; } .popover.top .arrow:after { bottom: 1px; margin-left: -10px; border-top-color: #ffffff; border-bottom-width: 0; content: " "; } .popover.right .arrow { top: 50%; left: -11px; margin-top: -11px; border-right-color: #999999; border-right-color: rgba(0, 0, 0, 0.25); border-left-width: 0; } .popover.right .arrow:after { bottom: -10px; left: 1px; border-right-color: #ffffff; border-left-width: 0; content: " "; } .popover.bottom .arrow { top: -11px; left: 50%; margin-left: -11px; border-bottom-color: #999999; border-bottom-color: rgba(0, 0, 0, 0.25); border-top-width: 0; } .popover.bottom .arrow:after { top: 1px; margin-left: -10px; border-bottom-color: #ffffff; border-top-width: 0; content: " "; } .popover.left .arrow { top: 50%; right: -11px; margin-top: -11px; border-left-color: #999999; border-left-color: rgba(0, 0, 0, 0.25); border-right-width: 0; } .popover.left .arrow:after { right: 1px; bottom: -10px; border-left-color: #ffffff; border-right-width: 0; content: " "; } .carousel { position: relative; } .carousel-inner { position: relative; width: 100%; overflow: hidden; } .carousel-inner > .item { position: relative; display: none; -webkit-transition: 0.6s ease-in-out left; transition: 0.6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { display: block; height: auto; max-width: 100%; line-height: 1; } .carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { display: block; } .carousel-inner > .active { left: 0; } .carousel-inner > .next, .carousel-inner > .prev { position: absolute; top: 0; width: 100%; } .carousel-inner > .next { left: 100%; } .carousel-inner > .prev { left: -100%; } .carousel-inner > .next.left, .carousel-inner > .prev.right { left: 0; } .carousel-inner > .active.left { left: -100%; } .carousel-inner > .active.right { left: 100%; } .carousel-control { position: absolute; top: 0; bottom: 0; left: 0; width: 15%; font-size: 20px; color: #ffffff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); opacity: 0.5; filter: alpha(opacity=50); } .carousel-control.left { background-image: -webkit-gradient(linear, 0 top, 100% top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0), color-stop(rgba(0, 0, 0, 0.0001) 100%)); background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); } .carousel-control.right { right: 0; left: auto; background-image: -webkit-gradient(linear, 0 top, 100% top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0), color-stop(rgba(0, 0, 0, 0.5) 100%)); background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); } .carousel-control:hover, .carousel-control:focus { color: #ffffff; text-decoration: none; opacity: 0.9; filter: alpha(opacity=90); } .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right { position: absolute; top: 50%; left: 50%; z-index: 5; display: inline-block; } .carousel-control .icon-prev, .carousel-control .icon-next { width: 20px; height: 20px; margin-top: -10px; margin-left: -10px; font-family: serif; } .carousel-control .icon-prev:before { content: '\2039'; } .carousel-control .icon-next:before { content: '\203a'; } .carousel-indicators { position: absolute; bottom: 10px; left: 50%; z-index: 15; width: 60%; padding-left: 0; margin-left: -30%; text-align: center; list-style: none; } .carousel-indicators li { display: inline-block; width: 10px; height: 10px; margin: 1px; text-indent: -999px; cursor: pointer; border: 1px solid #ffffff; border-radius: 10px; } .carousel-indicators .active { width: 12px; height: 12px; margin: 0; background-color: #ffffff; } .carousel-caption { position: absolute; right: 15%; bottom: 20px; left: 15%; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #ffffff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } .carousel-caption .btn { text-shadow: none; } @media screen and (min-width: 768px) { .carousel-control .icon-prev, .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; margin-left: -15px; font-size: 30px; } .carousel-caption { right: 20%; left: 20%; padding-bottom: 30px; } .carousel-indicators { bottom: 20px; } } .clearfix:before, .clearfix:after { display: table; content: " "; } .clearfix:after { clear: both; } .pull-right { float: right !important; } .pull-left { float: left !important; } .hide { display: none !important; } .show { display: block !important; } .invisible { visibility: hidden; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .affix { position: fixed; } @-ms-viewport { width: device-width; } @media screen and (max-width: 400px) { @-ms-viewport { width: 320px; } } .hidden { display: none !important; visibility: hidden !important; } .visible-xs { display: none !important; } tr.visible-xs { display: none !important; } th.visible-xs, td.visible-xs { display: none !important; } @media (max-width: 767px) { .visible-xs { display: block !important; } tr.visible-xs { display: table-row !important; } th.visible-xs, td.visible-xs { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-xs.visible-sm { display: block !important; } tr.visible-xs.visible-sm { display: table-row !important; } th.visible-xs.visible-sm, td.visible-xs.visible-sm { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-xs.visible-md { display: block !important; } tr.visible-xs.visible-md { display: table-row !important; } th.visible-xs.visible-md, td.visible-xs.visible-md { display: table-cell !important; } } @media (min-width: 1200px) { .visible-xs.visible-lg { display: block !important; } tr.visible-xs.visible-lg { display: table-row !important; } th.visible-xs.visible-lg, td.visible-xs.visible-lg { display: table-cell !important; } } .visible-sm { display: none !important; } tr.visible-sm { display: none !important; } th.visible-sm, td.visible-sm { display: none !important; } @media (max-width: 767px) { .visible-sm.visible-xs { display: block !important; } tr.visible-sm.visible-xs { display: table-row !important; } th.visible-sm.visible-xs, td.visible-sm.visible-xs { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm { display: block !important; } tr.visible-sm { display: table-row !important; } th.visible-sm, td.visible-sm { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-sm.visible-md { display: block !important; } tr.visible-sm.visible-md { display: table-row !important; } th.visible-sm.visible-md, td.visible-sm.visible-md { display: table-cell !important; } } @media (min-width: 1200px) { .visible-sm.visible-lg { display: block !important; } tr.visible-sm.visible-lg { display: table-row !important; } th.visible-sm.visible-lg, td.visible-sm.visible-lg { display: table-cell !important; } } .visible-md { display: none !important; } tr.visible-md { display: none !important; } th.visible-md, td.visible-md { display: none !important; } @media (max-width: 767px) { .visible-md.visible-xs { display: block !important; } tr.visible-md.visible-xs { display: table-row !important; } th.visible-md.visible-xs, td.visible-md.visible-xs { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-md.visible-sm { display: block !important; } tr.visible-md.visible-sm { display: table-row !important; } th.visible-md.visible-sm, td.visible-md.visible-sm { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md { display: block !important; } tr.visible-md { display: table-row !important; } th.visible-md, td.visible-md { display: table-cell !important; } } @media (min-width: 1200px) { .visible-md.visible-lg { display: block !important; } tr.visible-md.visible-lg { display: table-row !important; } th.visible-md.visible-lg, td.visible-md.visible-lg { display: table-cell !important; } } .visible-lg { display: none !important; } tr.visible-lg { display: none !important; } th.visible-lg, td.visible-lg { display: none !important; } @media (max-width: 767px) { .visible-lg.visible-xs { display: block !important; } tr.visible-lg.visible-xs { display: table-row !important; } th.visible-lg.visible-xs, td.visible-lg.visible-xs { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-lg.visible-sm { display: block !important; } tr.visible-lg.visible-sm { display: table-row !important; } th.visible-lg.visible-sm, td.visible-lg.visible-sm { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-lg.visible-md { display: block !important; } tr.visible-lg.visible-md { display: table-row !important; } th.visible-lg.visible-md, td.visible-lg.visible-md { display: table-cell !important; } } @media (min-width: 1200px) { .visible-lg { display: block !important; } tr.visible-lg { display: table-row !important; } th.visible-lg, td.visible-lg { display: table-cell !important; } } .hidden-xs { display: block !important; } tr.hidden-xs { display: table-row !important; } th.hidden-xs, td.hidden-xs { display: table-cell !important; } @media (max-width: 767px) { .hidden-xs { display: none !important; } tr.hidden-xs { display: none !important; } th.hidden-xs, td.hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-xs.hidden-sm { display: none !important; } tr.hidden-xs.hidden-sm { display: none !important; } th.hidden-xs.hidden-sm, td.hidden-xs.hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-xs.hidden-md { display: none !important; } tr.hidden-xs.hidden-md { display: none !important; } th.hidden-xs.hidden-md, td.hidden-xs.hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-xs.hidden-lg { display: none !important; } tr.hidden-xs.hidden-lg { display: none !important; } th.hidden-xs.hidden-lg, td.hidden-xs.hidden-lg { display: none !important; } } .hidden-sm { display: block !important; } tr.hidden-sm { display: table-row !important; } th.hidden-sm, td.hidden-sm { display: table-cell !important; } @media (max-width: 767px) { .hidden-sm.hidden-xs { display: none !important; } tr.hidden-sm.hidden-xs { display: none !important; } th.hidden-sm.hidden-xs, td.hidden-sm.hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } tr.hidden-sm { display: none !important; } th.hidden-sm, td.hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-sm.hidden-md { display: none !important; } tr.hidden-sm.hidden-md { display: none !important; } th.hidden-sm.hidden-md, td.hidden-sm.hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-sm.hidden-lg { display: none !important; } tr.hidden-sm.hidden-lg { display: none !important; } th.hidden-sm.hidden-lg, td.hidden-sm.hidden-lg { display: none !important; } } .hidden-md { display: block !important; } tr.hidden-md { display: table-row !important; } th.hidden-md, td.hidden-md { display: table-cell !important; } @media (max-width: 767px) { .hidden-md.hidden-xs { display: none !important; } tr.hidden-md.hidden-xs { display: none !important; } th.hidden-md.hidden-xs, td.hidden-md.hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-md.hidden-sm { display: none !important; } tr.hidden-md.hidden-sm { display: none !important; } th.hidden-md.hidden-sm, td.hidden-md.hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-md { display: none !important; } tr.hidden-md { display: none !important; } th.hidden-md, td.hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-md.hidden-lg { display: none !important; } tr.hidden-md.hidden-lg { display: none !important; } th.hidden-md.hidden-lg, td.hidden-md.hidden-lg { display: none !important; } } .hidden-lg { display: block !important; } tr.hidden-lg { display: table-row !important; } th.hidden-lg, td.hidden-lg { display: table-cell !important; } @media (max-width: 767px) { .hidden-lg.hidden-xs { display: none !important; } tr.hidden-lg.hidden-xs { display: none !important; } th.hidden-lg.hidden-xs, td.hidden-lg.hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-lg.hidden-sm { display: none !important; } tr.hidden-lg.hidden-sm { display: none !important; } th.hidden-lg.hidden-sm, td.hidden-lg.hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-lg.hidden-md { display: none !important; } tr.hidden-lg.hidden-md { display: none !important; } th.hidden-lg.hidden-md, td.hidden-lg.hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-lg { display: none !important; } tr.hidden-lg { display: none !important; } th.hidden-lg, td.hidden-lg { display: none !important; } } .visible-print { display: none !important; } tr.visible-print { display: none !important; } th.visible-print, td.visible-print { display: none !important; } @media print { .visible-print { display: block !important; } tr.visible-print { display: table-row !important; } th.visible-print, td.visible-print { display: table-cell !important; } .hidden-print { display: none !important; } tr.hidden-print { display: none !important; } th.hidden-print, td.hidden-print { display: none !important; } } ================================================ FILE: content/css/creator.css ================================================ @import url("https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"); @import url("https://fonts.googleapis.com/css?family=Roboto+Mono"); @font-face { font-family: 'Ionicons'; src: url("/fonts/ionicons.woff2") format("woff2"), url("/fonts/ionicons.woff") format("woff"), url("/fonts/ionicons.ttf") format("ttf"), url("/fonts/ionicons.eot#iefix") format("eot") url("/fonts/ionicons.svg#Ionicons") format("svg"); font-weight: normal; font-style: normal; } @font-face { font-family: 'Eina'; src: url("/fonts/eina/eina-01-bold.woff2") format("woff2"), url("/fonts/eina/eina-01-bold.woff") format("woff"), url("/fonts/eina/eina-01-bold.ttf") format("ttf"), url("/fonts/eina/eina-01-bold.eot?#iefix") format("eot"); font-weight: 700; unicode-range: U+000-5FF; } @font-face { font-family: 'Eina'; src: url("/fonts/eina/eina-01-semibold.woff2") format("woff2"), url("/fonts/eina/eina-01-semibold.woff") format("woff"), url("/fonts/eina/eina-01-semibold.ttf") format("ttf"), url("/fonts/eina/eina-01-semibold.eot?#iefix") format("eot"); font-weight: 600; unicode-range: U+000-5FF; } @font-face { font-family: 'Eina'; src: url("/fonts/eina/eina-01-regular.woff2") format("woff2"), url("/fonts/eina/eina-01-regular.woff") format("woff"), url("/fonts/eina/eina-01-regular.ttf") format("ttf"), url("/fonts/eina/eina-01-regular.eot?#iefix") format("eot"); font-weight: 400; unicode-range: U+000-5FF; } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-Regular.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-Regular.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 400; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-Italic.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-Italic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-Medium.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-Medium.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 500; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-MediumItalic.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-MediumItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-SemiBold.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-SemiBold.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 600; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-SemiBoldItalic.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-SemiBoldItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-Bold.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-Bold.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 700; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-BoldItalic.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-BoldItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 800; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-ExtraBold.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-ExtraBold.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 800; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-ExtraBoldItalic.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-ExtraBoldItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 900; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-Black.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-Black.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 900; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-BlackItalic.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-BlackItalic.woff") format("woff"); } /*! normalize.css v3.0.2 | MIT License | git.io/normalize */ html { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; } body { margin: 0; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } audio, canvas, progress, video { display: inline-block; vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } a { background-color: transparent; } a:active, a:hover { outline: 0; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } dfn { font-style: italic; } h1 { font-size: 2em; margin: 0.67em 0; } mark { background: #ff0; color: #000; } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { box-sizing: content-box; height: 0; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; } button { overflow: visible; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } input { line-height: normal; } input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"] { -webkit-appearance: textfield; box-sizing: content-box; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } legend { border: 0; padding: 0; } textarea { overflow: auto; } optgroup { font-weight: bold; } table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print { *, *:before, *:after { background: transparent !important; color: #000 !important; box-shadow: none !important; text-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } select { background: #fff !important; } .navbar { display: none; } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { 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 #ddd !important; } } @font-face { font-family: 'Glyphicons Halflings'; src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot"); src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"), url("../fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); } .glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .glyphicon-asterisk:before { content: "\2a"; } .glyphicon-plus:before { content: "\2b"; } .glyphicon-euro:before, .glyphicon-eur:before { content: "\20ac"; } .glyphicon-minus:before { content: "\2212"; } .glyphicon-cloud:before { content: "\2601"; } .glyphicon-envelope:before { content: "\2709"; } .glyphicon-pencil:before { content: "\270f"; } .glyphicon-glass:before { content: "\e001"; } .glyphicon-music:before { content: "\e002"; } .glyphicon-search:before { content: "\e003"; } .glyphicon-heart:before { content: "\e005"; } .glyphicon-star:before { content: "\e006"; } .glyphicon-star-empty:before { content: "\e007"; } .glyphicon-user:before { content: "\e008"; } .glyphicon-film:before { content: "\e009"; } .glyphicon-th-large:before { content: "\e010"; } .glyphicon-th:before { content: "\e011"; } .glyphicon-th-list:before { content: "\e012"; } .glyphicon-ok:before { content: "\e013"; } .glyphicon-remove:before { content: "\e014"; } .glyphicon-zoom-in:before { content: "\e015"; } .glyphicon-zoom-out:before { content: "\e016"; } .glyphicon-off:before { content: "\e017"; } .glyphicon-signal:before { content: "\e018"; } .glyphicon-cog:before { content: "\e019"; } .glyphicon-trash:before { content: "\e020"; } .glyphicon-home:before { content: "\e021"; } .glyphicon-file:before { content: "\e022"; } .glyphicon-time:before { content: "\e023"; } .glyphicon-road:before { content: "\e024"; } .glyphicon-download-alt:before { content: "\e025"; } .glyphicon-download:before { content: "\e026"; } .glyphicon-upload:before { content: "\e027"; } .glyphicon-inbox:before { content: "\e028"; } .glyphicon-play-circle:before { content: "\e029"; } .glyphicon-repeat:before { content: "\e030"; } .glyphicon-refresh:before { content: "\e031"; } .glyphicon-list-alt:before { content: "\e032"; } .glyphicon-lock:before { content: "\e033"; } .glyphicon-flag:before { content: "\e034"; } .glyphicon-headphones:before { content: "\e035"; } .glyphicon-volume-off:before { content: "\e036"; } .glyphicon-volume-down:before { content: "\e037"; } .glyphicon-volume-up:before { content: "\e038"; } .glyphicon-qrcode:before { content: "\e039"; } .glyphicon-barcode:before { content: "\e040"; } .glyphicon-tag:before { content: "\e041"; } .glyphicon-tags:before { content: "\e042"; } .glyphicon-book:before { content: "\e043"; } .glyphicon-bookmark:before { content: "\e044"; } .glyphicon-print:before { content: "\e045"; } .glyphicon-camera:before { content: "\e046"; } .glyphicon-font:before { content: "\e047"; } .glyphicon-bold:before { content: "\e048"; } .glyphicon-italic:before { content: "\e049"; } .glyphicon-text-height:before { content: "\e050"; } .glyphicon-text-width:before { content: "\e051"; } .glyphicon-align-left:before { content: "\e052"; } .glyphicon-align-center:before { content: "\e053"; } .glyphicon-align-right:before { content: "\e054"; } .glyphicon-align-justify:before { content: "\e055"; } .glyphicon-list:before { content: "\e056"; } .glyphicon-indent-left:before { content: "\e057"; } .glyphicon-indent-right:before { content: "\e058"; } .glyphicon-facetime-video:before { content: "\e059"; } .glyphicon-picture:before { content: "\e060"; } .glyphicon-map-marker:before { content: "\e062"; } .glyphicon-adjust:before { content: "\e063"; } .glyphicon-tint:before { content: "\e064"; } .glyphicon-edit:before { content: "\e065"; } .glyphicon-share:before { content: "\e066"; } .glyphicon-check:before { content: "\e067"; } .glyphicon-move:before { content: "\e068"; } .glyphicon-step-backward:before { content: "\e069"; } .glyphicon-fast-backward:before { content: "\e070"; } .glyphicon-backward:before { content: "\e071"; } .glyphicon-play:before { content: "\e072"; } .glyphicon-pause:before { content: "\e073"; } .glyphicon-stop:before { content: "\e074"; } .glyphicon-forward:before { content: "\e075"; } .glyphicon-fast-forward:before { content: "\e076"; } .glyphicon-step-forward:before { content: "\e077"; } .glyphicon-eject:before { content: "\e078"; } .glyphicon-chevron-left:before { content: "\e079"; } .glyphicon-chevron-right:before { content: "\e080"; } .glyphicon-plus-sign:before { content: "\e081"; } .glyphicon-minus-sign:before { content: "\e082"; } .glyphicon-remove-sign:before { content: "\e083"; } .glyphicon-ok-sign:before { content: "\e084"; } .glyphicon-question-sign:before { content: "\e085"; } .glyphicon-info-sign:before { content: "\e086"; } .glyphicon-screenshot:before { content: "\e087"; } .glyphicon-remove-circle:before { content: "\e088"; } .glyphicon-ok-circle:before { content: "\e089"; } .glyphicon-ban-circle:before { content: "\e090"; } .glyphicon-arrow-left:before { content: "\e091"; } .glyphicon-arrow-right:before { content: "\e092"; } .glyphicon-arrow-up:before { content: "\e093"; } .glyphicon-arrow-down:before { content: "\e094"; } .glyphicon-share-alt:before { content: "\e095"; } .glyphicon-resize-full:before { content: "\e096"; } .glyphicon-resize-small:before { content: "\e097"; } .glyphicon-exclamation-sign:before { content: "\e101"; } .glyphicon-gift:before { content: "\e102"; } .glyphicon-leaf:before { content: "\e103"; } .glyphicon-fire:before { content: "\e104"; } .glyphicon-eye-open:before { content: "\e105"; } .glyphicon-eye-close:before { content: "\e106"; } .glyphicon-warning-sign:before { content: "\e107"; } .glyphicon-plane:before { content: "\e108"; } .glyphicon-calendar:before { content: "\e109"; } .glyphicon-random:before { content: "\e110"; } .glyphicon-comment:before { content: "\e111"; } .glyphicon-magnet:before { content: "\e112"; } .glyphicon-chevron-up:before { content: "\e113"; } .glyphicon-chevron-down:before { content: "\e114"; } .glyphicon-retweet:before { content: "\e115"; } .glyphicon-shopping-cart:before { content: "\e116"; } .glyphicon-folder-close:before { content: "\e117"; } .glyphicon-folder-open:before { content: "\e118"; } .glyphicon-resize-vertical:before { content: "\e119"; } .glyphicon-resize-horizontal:before { content: "\e120"; } .glyphicon-hdd:before { content: "\e121"; } .glyphicon-bullhorn:before { content: "\e122"; } .glyphicon-bell:before { content: "\e123"; } .glyphicon-certificate:before { content: "\e124"; } .glyphicon-thumbs-up:before { content: "\e125"; } .glyphicon-thumbs-down:before { content: "\e126"; } .glyphicon-hand-right:before { content: "\e127"; } .glyphicon-hand-left:before { content: "\e128"; } .glyphicon-hand-up:before { content: "\e129"; } .glyphicon-hand-down:before { content: "\e130"; } .glyphicon-circle-arrow-right:before { content: "\e131"; } .glyphicon-circle-arrow-left:before { content: "\e132"; } .glyphicon-circle-arrow-up:before { content: "\e133"; } .glyphicon-circle-arrow-down:before { content: "\e134"; } .glyphicon-globe:before { content: "\e135"; } .glyphicon-wrench:before { content: "\e136"; } .glyphicon-tasks:before { content: "\e137"; } .glyphicon-filter:before { content: "\e138"; } .glyphicon-briefcase:before { content: "\e139"; } .glyphicon-fullscreen:before { content: "\e140"; } .glyphicon-dashboard:before { content: "\e141"; } .glyphicon-paperclip:before { content: "\e142"; } .glyphicon-heart-empty:before { content: "\e143"; } .glyphicon-link:before { content: "\e144"; } .glyphicon-phone:before { content: "\e145"; } .glyphicon-pushpin:before { content: "\e146"; } .glyphicon-usd:before { content: "\e148"; } .glyphicon-gbp:before { content: "\e149"; } .glyphicon-sort:before { content: "\e150"; } .glyphicon-sort-by-alphabet:before { content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { content: "\e152"; } .glyphicon-sort-by-order:before { content: "\e153"; } .glyphicon-sort-by-order-alt:before { content: "\e154"; } .glyphicon-sort-by-attributes:before { content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { content: "\e156"; } .glyphicon-unchecked:before { content: "\e157"; } .glyphicon-expand:before { content: "\e158"; } .glyphicon-collapse-down:before { content: "\e159"; } .glyphicon-collapse-up:before { content: "\e160"; } .glyphicon-log-in:before { content: "\e161"; } .glyphicon-flash:before { content: "\e162"; } .glyphicon-log-out:before { content: "\e163"; } .glyphicon-new-window:before { content: "\e164"; } .glyphicon-record:before { content: "\e165"; } .glyphicon-save:before { content: "\e166"; } .glyphicon-open:before { content: "\e167"; } .glyphicon-saved:before { content: "\e168"; } .glyphicon-import:before { content: "\e169"; } .glyphicon-export:before { content: "\e170"; } .glyphicon-send:before { content: "\e171"; } .glyphicon-floppy-disk:before { content: "\e172"; } .glyphicon-floppy-saved:before { content: "\e173"; } .glyphicon-floppy-remove:before { content: "\e174"; } .glyphicon-floppy-save:before { content: "\e175"; } .glyphicon-floppy-open:before { content: "\e176"; } .glyphicon-credit-card:before { content: "\e177"; } .glyphicon-transfer:before { content: "\e178"; } .glyphicon-cutlery:before { content: "\e179"; } .glyphicon-header:before { content: "\e180"; } .glyphicon-compressed:before { content: "\e181"; } .glyphicon-earphone:before { content: "\e182"; } .glyphicon-phone-alt:before { content: "\e183"; } .glyphicon-tower:before { content: "\e184"; } .glyphicon-stats:before { content: "\e185"; } .glyphicon-sd-video:before { content: "\e186"; } .glyphicon-hd-video:before { content: "\e187"; } .glyphicon-subtitles:before { content: "\e188"; } .glyphicon-sound-stereo:before { content: "\e189"; } .glyphicon-sound-dolby:before { content: "\e190"; } .glyphicon-sound-5-1:before { content: "\e191"; } .glyphicon-sound-6-1:before { content: "\e192"; } .glyphicon-sound-7-1:before { content: "\e193"; } .glyphicon-copyright-mark:before { content: "\e194"; } .glyphicon-registration-mark:before { content: "\e195"; } .glyphicon-cloud-download:before { content: "\e197"; } .glyphicon-cloud-upload:before { content: "\e198"; } .glyphicon-tree-conifer:before { content: "\e199"; } .glyphicon-tree-deciduous:before { content: "\e200"; } .glyphicon-cd:before { content: "\e201"; } .glyphicon-save-file:before { content: "\e202"; } .glyphicon-open-file:before { content: "\e203"; } .glyphicon-level-up:before { content: "\e204"; } .glyphicon-copy:before { content: "\e205"; } .glyphicon-paste:before { content: "\e206"; } .glyphicon-alert:before { content: "\e209"; } .glyphicon-equalizer:before { content: "\e210"; } .glyphicon-king:before { content: "\e211"; } .glyphicon-queen:before { content: "\e212"; } .glyphicon-pawn:before { content: "\e213"; } .glyphicon-bishop:before { content: "\e214"; } .glyphicon-knight:before { content: "\e215"; } .glyphicon-baby-formula:before { content: "\e216"; } .glyphicon-tent:before { content: "\26fa"; } .glyphicon-blackboard:before { content: "\e218"; } .glyphicon-bed:before { content: "\e219"; } .glyphicon-apple:before { content: "\f8ff"; } .glyphicon-erase:before { content: "\e221"; } .glyphicon-hourglass:before { content: "\231b"; } .glyphicon-lamp:before { content: "\e223"; } .glyphicon-duplicate:before { content: "\e224"; } .glyphicon-piggy-bank:before { content: "\e225"; } .glyphicon-scissors:before { content: "\e226"; } .glyphicon-bitcoin:before { content: "\e227"; } .glyphicon-btc:before { content: "\e227"; } .glyphicon-xbt:before { content: "\e227"; } .glyphicon-yen:before { content: "\00a5"; } .glyphicon-jpy:before { content: "\00a5"; } .glyphicon-ruble:before { content: "\20bd"; } .glyphicon-rub:before { content: "\20bd"; } .glyphicon-scale:before { content: "\e230"; } .glyphicon-ice-lolly:before { content: "\e231"; } .glyphicon-ice-lolly-tasted:before { content: "\e232"; } .glyphicon-education:before { content: "\e233"; } .glyphicon-option-horizontal:before { content: "\e234"; } .glyphicon-option-vertical:before { content: "\e235"; } .glyphicon-menu-hamburger:before { content: "\e236"; } .glyphicon-modal-window:before { content: "\e237"; } .glyphicon-oil:before { content: "\e238"; } .glyphicon-grain:before { content: "\e239"; } .glyphicon-sunglasses:before { content: "\e240"; } .glyphicon-text-size:before { content: "\e241"; } .glyphicon-text-color:before { content: "\e242"; } .glyphicon-text-background:before { content: "\e243"; } .glyphicon-object-align-top:before { content: "\e244"; } .glyphicon-object-align-bottom:before { content: "\e245"; } .glyphicon-object-align-horizontal:before { content: "\e246"; } .glyphicon-object-align-left:before { content: "\e247"; } .glyphicon-object-align-vertical:before { content: "\e248"; } .glyphicon-object-align-right:before { content: "\e249"; } .glyphicon-triangle-right:before { content: "\e250"; } .glyphicon-triangle-left:before { content: "\e251"; } .glyphicon-triangle-bottom:before { content: "\e252"; } .glyphicon-triangle-top:before { content: "\e253"; } .glyphicon-console:before { content: "\e254"; } .glyphicon-superscript:before { content: "\e255"; } .glyphicon-subscript:before { content: "\e256"; } .glyphicon-menu-left:before { content: "\e257"; } .glyphicon-menu-right:before { content: "\e258"; } .glyphicon-menu-down:before { content: "\e259"; } .glyphicon-menu-up:before { content: "\e260"; } * { box-sizing: border-box; } *:before, *:after { box-sizing: border-box; } html { font-size: 10px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.428571429; color: #333333; background-color: #fff; } input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } a { color: #337ab7; text-decoration: none; } a:hover, a:focus { color: #23527c; text-decoration: underline; } a:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } figure { margin: 0; } img { vertical-align: middle; } .img-responsive { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail { padding: 4px; line-height: 1.428571429; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; transition: all 0.2s ease-in-out; display: inline-block; max-width: 100%; height: auto; } .img-circle { border-radius: 50%; } hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eeeeee; } .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; } [role="button"] { cursor: pointer; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; font-weight: 700; line-height: 1.1; color: inherit; } h1 small, h1 .small, h2 small, h2 .small, h3 small, h3 .small, h4 small, h4 .small, h5 small, h5 .small, h6 small, h6 .small, .h1 small, .h1 .small, .h2 small, .h2 .small, .h3 small, .h3 .small, .h4 small, .h4 .small, .h5 small, .h5 .small, .h6 small, .h6 .small { font-weight: normal; line-height: 1; color: #777777; } h1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; } h1 small, h1 .small, .h1 small, .h1 .small, h2 small, h2 .small, .h2 small, .h2 .small, h3 small, h3 .small, .h3 small, .h3 .small { font-size: 65%; } h4, .h4, h5, .h5, h6, .h6 { margin-top: 10px; margin-bottom: 10px; } h4 small, h4 .small, .h4 small, .h4 .small, h5 small, h5 .small, .h5 small, .h5 .small, h6 small, h6 .small, .h6 small, .h6 .small { font-size: 75%; } h1, .h1 { font-size: 36px; } h2, .h2 { font-size: 30px; } h3, .h3 { font-size: 24px; } h4, .h4 { font-size: 18px; } h5, .h5 { font-size: 14px; } h6, .h6 { font-size: 12px; } p { margin: 0 0 10px; } .lead { margin-bottom: 20px; font-size: 16px; font-weight: 300; line-height: 1.4; } @media (min-width: 768px) { .lead { font-size: 21px; } } small, .small { font-size: 85%; } mark, .mark { background-color: #fcf8e3; padding: .2em; } .text-left { text-align: left; } .text-right { text-align: right; } .text-center { text-align: center; } .text-justify { text-align: justify; } .text-nowrap { white-space: nowrap; } .text-lowercase { text-transform: lowercase; } .text-uppercase, .initialism { text-transform: uppercase; } .text-capitalize { text-transform: capitalize; } .text-muted { color: #777777; } .text-primary { color: #337ab7; } a.text-primary:hover { color: #286090; } .text-success { color: #3c763d; } a.text-success:hover { color: #2b542c; } .text-info { color: #31708f; } a.text-info:hover { color: #245269; } .text-warning { color: #8a6d3b; } a.text-warning:hover { color: #66512c; } .text-danger { color: #a94442; } a.text-danger:hover { color: #843534; } .bg-primary { color: #fff; } .bg-primary { background-color: #337ab7; } a.bg-primary:hover { background-color: #286090; } .bg-success { background-color: #dff0d8; } a.bg-success:hover { background-color: #c1e2b3; } .bg-info { background-color: #d9edf7; } a.bg-info:hover { background-color: #afd9ee; } .bg-warning { background-color: #fcf8e3; } a.bg-warning:hover { background-color: #f7ecb5; } .bg-danger { background-color: #f2dede; } a.bg-danger:hover { background-color: #e4b9b9; } .page-header { padding-bottom: 9px; margin: 40px 0 20px; border-bottom: 1px solid #eeeeee; } ul, ol { margin-top: 0; margin-bottom: 10px; } ul ul, ul ol, ol ul, ol ol { margin-bottom: 0; } .list-unstyled { padding-left: 0; list-style: none; } .list-inline { padding-left: 0; list-style: none; margin-left: -5px; } .list-inline > li { display: inline-block; padding-left: 5px; padding-right: 5px; } dl { margin-top: 0; margin-bottom: 20px; } dt, dd { line-height: 1.428571429; } dt { font-weight: bold; } dd { margin-left: 0; } .dl-horizontal dd:before, .dl-horizontal dd:after { content: " "; display: table; } .dl-horizontal dd:after { clear: both; } @media (min-width: 768px) { .dl-horizontal dt { float: left; width: 160px; clear: left; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .dl-horizontal dd { margin-left: 180px; } } abbr[title], abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #777777; } .initialism { font-size: 90%; } blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; border-left: 5px solid #eeeeee; } blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child { margin-bottom: 0; } blockquote footer, blockquote small, blockquote .small { display: block; font-size: 80%; line-height: 1.428571429; color: #777777; } blockquote footer:before, blockquote small:before, blockquote .small:before { content: '\2014 \00A0'; } .blockquote-reverse, blockquote.pull-right { padding-right: 15px; padding-left: 0; border-right: 5px solid #eeeeee; border-left: 0; text-align: right; } .blockquote-reverse footer:before, .blockquote-reverse small:before, .blockquote-reverse .small:before, blockquote.pull-right footer:before, blockquote.pull-right small:before, blockquote.pull-right .small:before { content: ''; } .blockquote-reverse footer:after, .blockquote-reverse small:after, .blockquote-reverse .small:after, blockquote.pull-right footer:after, blockquote.pull-right small:after, blockquote.pull-right .small:after { content: '\00A0 \2014'; } address { margin-bottom: 20px; font-style: normal; line-height: 1.428571429; } code, kbd, pre, samp { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; } code { padding: 2px 4px; font-size: 90%; color: #4D8CF4; background-color: whitesmoke; border-radius: 4px; } kbd { padding: 2px 4px; font-size: 90%; color: #fff; background-color: #333; border-radius: 3px; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); } kbd kbd { padding: 0; font-size: 100%; font-weight: bold; box-shadow: none; } pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 1.428571429; word-break: break-all; word-wrap: break-word; color: #333333; background-color: #f5f5f5; border: 1px solid #ccc; border-radius: 4px; } pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap; background-color: transparent; border-radius: 0; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px; } .container:before, .container:after { content: " "; display: table; } .container:after { clear: both; } @media (min-width: 768px) { .container { width: 750px; } } @media (min-width: 992px) { .container { width: 970px; } } @media (min-width: 1220px) { .container { width: 1170px; } } .container-fluid { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px; } .container-fluid:before, .container-fluid:after { content: " "; display: table; } .container-fluid:after { clear: both; } .row { margin-left: -15px; margin-right: -15px; } .row:before, .row:after { content: " "; display: table; } .row:after { clear: both; } .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { position: relative; min-height: 1px; padding-left: 15px; padding-right: 15px; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { float: left; } .col-xs-1 { width: 8.3333333333%; } .col-xs-2 { width: 16.6666666667%; } .col-xs-3 { width: 25%; } .col-xs-4 { width: 33.3333333333%; } .col-xs-5 { width: 41.6666666667%; } .col-xs-6 { width: 50%; } .col-xs-7 { width: 58.3333333333%; } .col-xs-8 { width: 66.6666666667%; } .col-xs-9 { width: 75%; } .col-xs-10 { width: 83.3333333333%; } .col-xs-11 { width: 91.6666666667%; } .col-xs-12 { width: 100%; } .col-xs-pull-0 { right: auto; } .col-xs-pull-1 { right: 8.3333333333%; } .col-xs-pull-2 { right: 16.6666666667%; } .col-xs-pull-3 { right: 25%; } .col-xs-pull-4 { right: 33.3333333333%; } .col-xs-pull-5 { right: 41.6666666667%; } .col-xs-pull-6 { right: 50%; } .col-xs-pull-7 { right: 58.3333333333%; } .col-xs-pull-8 { right: 66.6666666667%; } .col-xs-pull-9 { right: 75%; } .col-xs-pull-10 { right: 83.3333333333%; } .col-xs-pull-11 { right: 91.6666666667%; } .col-xs-pull-12 { right: 100%; } .col-xs-push-0 { left: auto; } .col-xs-push-1 { left: 8.3333333333%; } .col-xs-push-2 { left: 16.6666666667%; } .col-xs-push-3 { left: 25%; } .col-xs-push-4 { left: 33.3333333333%; } .col-xs-push-5 { left: 41.6666666667%; } .col-xs-push-6 { left: 50%; } .col-xs-push-7 { left: 58.3333333333%; } .col-xs-push-8 { left: 66.6666666667%; } .col-xs-push-9 { left: 75%; } .col-xs-push-10 { left: 83.3333333333%; } .col-xs-push-11 { left: 91.6666666667%; } .col-xs-push-12 { left: 100%; } .col-xs-offset-0 { margin-left: 0%; } .col-xs-offset-1 { margin-left: 8.3333333333%; } .col-xs-offset-2 { margin-left: 16.6666666667%; } .col-xs-offset-3 { margin-left: 25%; } .col-xs-offset-4 { margin-left: 33.3333333333%; } .col-xs-offset-5 { margin-left: 41.6666666667%; } .col-xs-offset-6 { margin-left: 50%; } .col-xs-offset-7 { margin-left: 58.3333333333%; } .col-xs-offset-8 { margin-left: 66.6666666667%; } .col-xs-offset-9 { margin-left: 75%; } .col-xs-offset-10 { margin-left: 83.3333333333%; } .col-xs-offset-11 { margin-left: 91.6666666667%; } .col-xs-offset-12 { margin-left: 100%; } @media (min-width: 768px) { .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 { float: left; } .col-sm-1 { width: 8.3333333333%; } .col-sm-2 { width: 16.6666666667%; } .col-sm-3 { width: 25%; } .col-sm-4 { width: 33.3333333333%; } .col-sm-5 { width: 41.6666666667%; } .col-sm-6 { width: 50%; } .col-sm-7 { width: 58.3333333333%; } .col-sm-8 { width: 66.6666666667%; } .col-sm-9 { width: 75%; } .col-sm-10 { width: 83.3333333333%; } .col-sm-11 { width: 91.6666666667%; } .col-sm-12 { width: 100%; } .col-sm-pull-0 { right: auto; } .col-sm-pull-1 { right: 8.3333333333%; } .col-sm-pull-2 { right: 16.6666666667%; } .col-sm-pull-3 { right: 25%; } .col-sm-pull-4 { right: 33.3333333333%; } .col-sm-pull-5 { right: 41.6666666667%; } .col-sm-pull-6 { right: 50%; } .col-sm-pull-7 { right: 58.3333333333%; } .col-sm-pull-8 { right: 66.6666666667%; } .col-sm-pull-9 { right: 75%; } .col-sm-pull-10 { right: 83.3333333333%; } .col-sm-pull-11 { right: 91.6666666667%; } .col-sm-pull-12 { right: 100%; } .col-sm-push-0 { left: auto; } .col-sm-push-1 { left: 8.3333333333%; } .col-sm-push-2 { left: 16.6666666667%; } .col-sm-push-3 { left: 25%; } .col-sm-push-4 { left: 33.3333333333%; } .col-sm-push-5 { left: 41.6666666667%; } .col-sm-push-6 { left: 50%; } .col-sm-push-7 { left: 58.3333333333%; } .col-sm-push-8 { left: 66.6666666667%; } .col-sm-push-9 { left: 75%; } .col-sm-push-10 { left: 83.3333333333%; } .col-sm-push-11 { left: 91.6666666667%; } .col-sm-push-12 { left: 100%; } .col-sm-offset-0 { margin-left: 0%; } .col-sm-offset-1 { margin-left: 8.3333333333%; } .col-sm-offset-2 { margin-left: 16.6666666667%; } .col-sm-offset-3 { margin-left: 25%; } .col-sm-offset-4 { margin-left: 33.3333333333%; } .col-sm-offset-5 { margin-left: 41.6666666667%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-7 { margin-left: 58.3333333333%; } .col-sm-offset-8 { margin-left: 66.6666666667%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-10 { margin-left: 83.3333333333%; } .col-sm-offset-11 { margin-left: 91.6666666667%; } .col-sm-offset-12 { margin-left: 100%; } } @media (min-width: 992px) { .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 { float: left; } .col-md-1 { width: 8.3333333333%; } .col-md-2 { width: 16.6666666667%; } .col-md-3 { width: 25%; } .col-md-4 { width: 33.3333333333%; } .col-md-5 { width: 41.6666666667%; } .col-md-6 { width: 50%; } .col-md-7 { width: 58.3333333333%; } .col-md-8 { width: 66.6666666667%; } .col-md-9 { width: 75%; } .col-md-10 { width: 83.3333333333%; } .col-md-11 { width: 91.6666666667%; } .col-md-12 { width: 100%; } .col-md-pull-0 { right: auto; } .col-md-pull-1 { right: 8.3333333333%; } .col-md-pull-2 { right: 16.6666666667%; } .col-md-pull-3 { right: 25%; } .col-md-pull-4 { right: 33.3333333333%; } .col-md-pull-5 { right: 41.6666666667%; } .col-md-pull-6 { right: 50%; } .col-md-pull-7 { right: 58.3333333333%; } .col-md-pull-8 { right: 66.6666666667%; } .col-md-pull-9 { right: 75%; } .col-md-pull-10 { right: 83.3333333333%; } .col-md-pull-11 { right: 91.6666666667%; } .col-md-pull-12 { right: 100%; } .col-md-push-0 { left: auto; } .col-md-push-1 { left: 8.3333333333%; } .col-md-push-2 { left: 16.6666666667%; } .col-md-push-3 { left: 25%; } .col-md-push-4 { left: 33.3333333333%; } .col-md-push-5 { left: 41.6666666667%; } .col-md-push-6 { left: 50%; } .col-md-push-7 { left: 58.3333333333%; } .col-md-push-8 { left: 66.6666666667%; } .col-md-push-9 { left: 75%; } .col-md-push-10 { left: 83.3333333333%; } .col-md-push-11 { left: 91.6666666667%; } .col-md-push-12 { left: 100%; } .col-md-offset-0 { margin-left: 0%; } .col-md-offset-1 { margin-left: 8.3333333333%; } .col-md-offset-2 { margin-left: 16.6666666667%; } .col-md-offset-3 { margin-left: 25%; } .col-md-offset-4 { margin-left: 33.3333333333%; } .col-md-offset-5 { margin-left: 41.6666666667%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-7 { margin-left: 58.3333333333%; } .col-md-offset-8 { margin-left: 66.6666666667%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-10 { margin-left: 83.3333333333%; } .col-md-offset-11 { margin-left: 91.6666666667%; } .col-md-offset-12 { margin-left: 100%; } } @media (min-width: 1220px) { .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 { float: left; } .col-lg-1 { width: 8.3333333333%; } .col-lg-2 { width: 16.6666666667%; } .col-lg-3 { width: 25%; } .col-lg-4 { width: 33.3333333333%; } .col-lg-5 { width: 41.6666666667%; } .col-lg-6 { width: 50%; } .col-lg-7 { width: 58.3333333333%; } .col-lg-8 { width: 66.6666666667%; } .col-lg-9 { width: 75%; } .col-lg-10 { width: 83.3333333333%; } .col-lg-11 { width: 91.6666666667%; } .col-lg-12 { width: 100%; } .col-lg-pull-0 { right: auto; } .col-lg-pull-1 { right: 8.3333333333%; } .col-lg-pull-2 { right: 16.6666666667%; } .col-lg-pull-3 { right: 25%; } .col-lg-pull-4 { right: 33.3333333333%; } .col-lg-pull-5 { right: 41.6666666667%; } .col-lg-pull-6 { right: 50%; } .col-lg-pull-7 { right: 58.3333333333%; } .col-lg-pull-8 { right: 66.6666666667%; } .col-lg-pull-9 { right: 75%; } .col-lg-pull-10 { right: 83.3333333333%; } .col-lg-pull-11 { right: 91.6666666667%; } .col-lg-pull-12 { right: 100%; } .col-lg-push-0 { left: auto; } .col-lg-push-1 { left: 8.3333333333%; } .col-lg-push-2 { left: 16.6666666667%; } .col-lg-push-3 { left: 25%; } .col-lg-push-4 { left: 33.3333333333%; } .col-lg-push-5 { left: 41.6666666667%; } .col-lg-push-6 { left: 50%; } .col-lg-push-7 { left: 58.3333333333%; } .col-lg-push-8 { left: 66.6666666667%; } .col-lg-push-9 { left: 75%; } .col-lg-push-10 { left: 83.3333333333%; } .col-lg-push-11 { left: 91.6666666667%; } .col-lg-push-12 { left: 100%; } .col-lg-offset-0 { margin-left: 0%; } .col-lg-offset-1 { margin-left: 8.3333333333%; } .col-lg-offset-2 { margin-left: 16.6666666667%; } .col-lg-offset-3 { margin-left: 25%; } .col-lg-offset-4 { margin-left: 33.3333333333%; } .col-lg-offset-5 { margin-left: 41.6666666667%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-7 { margin-left: 58.3333333333%; } .col-lg-offset-8 { margin-left: 66.6666666667%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-10 { margin-left: 83.3333333333%; } .col-lg-offset-11 { margin-left: 91.6666666667%; } .col-lg-offset-12 { margin-left: 100%; } } table { background-color: transparent; } caption { padding-top: 8px; padding-bottom: 8px; color: #777777; text-align: left; } th { text-align: left; } table, .table { width: 100%; max-width: 100%; margin-bottom: 20px; } table > thead > tr > th, table > thead > tr > td, table > tbody > tr > th, table > tbody > tr > td, table > tfoot > tr > th, table > tfoot > tr > td, .table > thead > tr > th, .table > thead > tr > td, .table > tbody > tr > th, .table > tbody > tr > td, .table > tfoot > tr > th, .table > tfoot > tr > td { padding: 8px; line-height: 1.428571429; vertical-align: top; border-top: 1px solid #ddd; } table > thead > tr > th, .table > thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #ddd; } table > caption + thead > tr:first-child > th, table > caption + thead > tr:first-child > td, table > colgroup + thead > tr:first-child > th, table > colgroup + thead > tr:first-child > td, table > thead:first-child > tr:first-child > th, table > thead:first-child > tr:first-child > td, .table > caption + thead > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > th, .table > thead:first-child > tr:first-child > td { border-top: 0; } table > tbody + tbody, .table > tbody + tbody { border-top: 2px solid #ddd; } table .table, .table .table { background-color: #fff; } .table-condensed > thead > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > th, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > th, .table-condensed > tfoot > tr > td { padding: 5px; } .table-bordered { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > th, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > th, .table-bordered > tfoot > tr > td { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-of-type(odd) { background-color: #f9f9f9; } .table-hover > tbody > tr:hover { background-color: #f5f5f5; } table col[class*="col-"] { position: static; float: none; display: table-column; } table td[class*="col-"], table th[class*="col-"] { position: static; float: none; display: table-cell; } .table > thead > tr > td.active, .table > thead > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr > td.active, .table > tbody > tr > th.active, .table > tbody > tr.active > td, .table > tbody > tr.active > th, .table > tfoot > tr > td.active, .table > tfoot > tr > th.active, .table > tfoot > tr.active > td, .table > tfoot > tr.active > th { background-color: #f5f5f5; } .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { background-color: #e8e8e8; } .table > thead > tr > td.success, .table > thead > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr > td.success, .table > tbody > tr > th.success, .table > tbody > tr.success > td, .table > tbody > tr.success > th, .table > tfoot > tr > td.success, .table > tfoot > tr > th.success, .table > tfoot > tr.success > td, .table > tfoot > tr.success > th { background-color: #dff0d8; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { background-color: #d0e9c6; } .table > thead > tr > td.info, .table > thead > tr > th.info, .table > thead > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr > td.info, .table > tbody > tr > th.info, .table > tbody > tr.info > td, .table > tbody > tr.info > th, .table > tfoot > tr > td.info, .table > tfoot > tr > th.info, .table > tfoot > tr.info > td, .table > tfoot > tr.info > th { background-color: #d9edf7; } .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { background-color: #c4e3f3; } .table > thead > tr > td.warning, .table > thead > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr > td.warning, .table > tbody > tr > th.warning, .table > tbody > tr.warning > td, .table > tbody > tr.warning > th, .table > tfoot > tr > td.warning, .table > tfoot > tr > th.warning, .table > tfoot > tr.warning > td, .table > tfoot > tr.warning > th { background-color: #fcf8e3; } .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { background-color: #faf2cc; } .table > thead > tr > td.danger, .table > thead > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr > td.danger, .table > tbody > tr > th.danger, .table > tbody > tr.danger > td, .table > tbody > tr.danger > th, .table > tfoot > tr > td.danger, .table > tfoot > tr > th.danger, .table > tfoot > tr.danger > td, .table > tfoot > tr.danger > th { background-color: #f2dede; } .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { background-color: #ebcccc; } .table-responsive { overflow-x: auto; min-height: 0.01%; } @media screen and (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-y: hidden; -ms-overflow-style: -ms-autohiding-scrollbar; border: 1px solid #ddd; } .table-responsive > .table { margin-bottom: 0; } .table-responsive > .table > thead > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } .table-responsive > .table-bordered { border: 0; } .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0; } } fieldset { padding: 0; margin: 0; border: 0; min-width: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: inherit; color: #333333; border: 0; border-bottom: 1px solid #e5e5e5; } label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: 600; } input[type="search"] { box-sizing: border-box; } input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; line-height: normal; } input[type="file"] { display: block; } input[type="range"] { display: block; width: 100%; } select[multiple], select[size] { height: auto; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } output { display: block; padding-top: 7px; font-size: 14px; line-height: 1.428571429; color: #555555; } .form-control { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.428571429; color: #555555; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } .form-control:focus { border-color: #66afe9; outline: 0; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } .form-control::-moz-placeholder { color: #999; opacity: 1; } .form-control:-ms-input-placeholder { color: #999; } .form-control::-webkit-input-placeholder { color: #999; } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { background-color: #eeeeee; opacity: 1; } .form-control[disabled], fieldset[disabled] .form-control { cursor: not-allowed; } textarea.form-control { height: auto; } input[type="search"] { -webkit-appearance: none; } @media screen and (-webkit-min-device-pixel-ratio: 0) { input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { line-height: 34px; } input[type="date"].input-sm, .input-group-sm > input.form-control[type="date"], .input-group-sm > input.input-group-addon[type="date"], .input-group-sm > .input-group-btn > input.btn[type="date"], .input-group-sm input[type="date"], input[type="time"].input-sm, .input-group-sm > input.form-control[type="time"], .input-group-sm > input.input-group-addon[type="time"], .input-group-sm > .input-group-btn > input.btn[type="time"], .input-group-sm input[type="time"], input[type="datetime-local"].input-sm, .input-group-sm > input.form-control[type="datetime-local"], .input-group-sm > input.input-group-addon[type="datetime-local"], .input-group-sm > .input-group-btn > input.btn[type="datetime-local"], .input-group-sm input[type="datetime-local"], input[type="month"].input-sm, .input-group-sm > input.form-control[type="month"], .input-group-sm > input.input-group-addon[type="month"], .input-group-sm > .input-group-btn > input.btn[type="month"], .input-group-sm input[type="month"] { line-height: 30px; } input[type="date"].input-lg, .input-group-lg > input.form-control[type="date"], .input-group-lg > input.input-group-addon[type="date"], .input-group-lg > .input-group-btn > input.btn[type="date"], .input-group-lg input[type="date"], input[type="time"].input-lg, .input-group-lg > input.form-control[type="time"], .input-group-lg > input.input-group-addon[type="time"], .input-group-lg > .input-group-btn > input.btn[type="time"], .input-group-lg input[type="time"], input[type="datetime-local"].input-lg, .input-group-lg > input.form-control[type="datetime-local"], .input-group-lg > input.input-group-addon[type="datetime-local"], .input-group-lg > .input-group-btn > input.btn[type="datetime-local"], .input-group-lg input[type="datetime-local"], input[type="month"].input-lg, .input-group-lg > input.form-control[type="month"], .input-group-lg > input.input-group-addon[type="month"], .input-group-lg > .input-group-btn > input.btn[type="month"], .input-group-lg input[type="month"] { line-height: 46px; } } .form-group { margin-bottom: 15px; } .radio, .checkbox { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; } .radio label, .checkbox label { min-height: 20px; padding-left: 20px; margin-bottom: 0; font-weight: normal; cursor: pointer; } .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { position: absolute; margin-left: -20px; margin-top: 4px \9; } .radio + .radio, .checkbox + .checkbox { margin-top: -5px; } .radio-inline, .checkbox-inline { position: relative; display: inline-block; padding-left: 20px; margin-bottom: 0; vertical-align: middle; font-weight: normal; cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: 10px; } input[type="radio"][disabled], input[type="radio"].disabled, fieldset[disabled] input[type="radio"], input[type="checkbox"][disabled], input[type="checkbox"].disabled, fieldset[disabled] input[type="checkbox"] { cursor: not-allowed; } .radio-inline.disabled, fieldset[disabled] .radio-inline, .checkbox-inline.disabled, fieldset[disabled] .checkbox-inline { cursor: not-allowed; } .radio.disabled label, fieldset[disabled] .radio label, .checkbox.disabled label, fieldset[disabled] .checkbox label { cursor: not-allowed; } .form-control-static { padding-top: 7px; padding-bottom: 7px; margin-bottom: 0; min-height: 34px; } .form-control-static.input-lg, .input-group-lg > .form-control-static.form-control, .input-group-lg > .form-control-static.input-group-addon, .input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control, .input-group-sm > .form-control-static.input-group-addon, .input-group-sm > .input-group-btn > .form-control-static.btn { padding-left: 0; padding-right: 0; } .input-sm, .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-sm, .input-group-sm > select.form-control, .input-group-sm > select.input-group-addon, .input-group-sm > .input-group-btn > select.btn { height: 30px; line-height: 30px; } textarea.input-sm, .input-group-sm > textarea.form-control, .input-group-sm > textarea.input-group-addon, .input-group-sm > .input-group-btn > textarea.btn, select[multiple].input-sm, .input-group-sm > select.form-control[multiple], .input-group-sm > select.input-group-addon[multiple], .input-group-sm > .input-group-btn > select.btn[multiple] { height: auto; } .form-group-sm .form-control { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .form-group-sm select.form-control { height: 30px; line-height: 30px; } .form-group-sm textarea.form-control, .form-group-sm select[multiple].form-control { height: auto; } .form-group-sm .form-control-static { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; min-height: 32px; } .input-lg, .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-lg, .input-group-lg > select.form-control, .input-group-lg > select.input-group-addon, .input-group-lg > .input-group-btn > select.btn { height: 46px; line-height: 46px; } textarea.input-lg, .input-group-lg > textarea.form-control, .input-group-lg > textarea.input-group-addon, .input-group-lg > .input-group-btn > textarea.btn, select[multiple].input-lg, .input-group-lg > select.form-control[multiple], .input-group-lg > select.input-group-addon[multiple], .input-group-lg > .input-group-btn > select.btn[multiple] { height: auto; } .form-group-lg .form-control { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .form-group-lg select.form-control { height: 46px; line-height: 46px; } .form-group-lg textarea.form-control, .form-group-lg select[multiple].form-control { height: auto; } .form-group-lg .form-control-static { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; min-height: 38px; } .has-feedback { position: relative; } .has-feedback .form-control { padding-right: 42.5px; } .form-control-feedback { position: absolute; top: 0; right: 0; z-index: 2; display: block; width: 34px; height: 34px; line-height: 34px; text-align: center; pointer-events: none; } .input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, .input-group-lg > .input-group-addon + .form-control-feedback, .input-group-lg > .input-group-btn > .btn + .form-control-feedback { width: 46px; height: 46px; line-height: 46px; } .input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, .input-group-sm > .input-group-addon + .form-control-feedback, .input-group-sm > .input-group-btn > .btn + .form-control-feedback { width: 30px; height: 30px; line-height: 30px; } .has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { color: #3c763d; } .has-success .form-control { border-color: #3c763d; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-success .form-control:focus { border-color: #2b542c; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; } .has-success .input-group-addon { color: #3c763d; border-color: #3c763d; background-color: #dff0d8; } .has-success .form-control-feedback { color: #3c763d; } .has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { color: #8a6d3b; } .has-warning .form-control { border-color: #8a6d3b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-warning .form-control:focus { border-color: #66512c; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; } .has-warning .input-group-addon { color: #8a6d3b; border-color: #8a6d3b; background-color: #fcf8e3; } .has-warning .form-control-feedback { color: #8a6d3b; } .has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { color: #a94442; } .has-error .form-control { border-color: #a94442; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-error .form-control:focus { border-color: #843534; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; } .has-error .input-group-addon { color: #a94442; border-color: #a94442; background-color: #f2dede; } .has-error .form-control-feedback { color: #a94442; } .has-feedback label ~ .form-control-feedback { top: 25px; } .has-feedback label.sr-only ~ .form-control-feedback { top: 0; } .help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #737373; } @media (min-width: 768px) { .form-inline .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } .form-inline .form-control-static { display: inline-block; } .form-inline .input-group { display: inline-table; vertical-align: middle; } .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control { width: auto; } .form-inline .input-group > .form-control { width: 100%; } .form-inline .control-label { margin-bottom: 0; vertical-align: middle; } .form-inline .radio, .form-inline .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .form-inline .radio label, .form-inline .checkbox label { padding-left: 0; } .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .form-inline .has-feedback .form-control-feedback { top: 0; } } .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { margin-top: 0; margin-bottom: 0; padding-top: 7px; } .form-horizontal .radio, .form-horizontal .checkbox { min-height: 27px; } .form-horizontal .form-group { margin-left: -15px; margin-right: -15px; } .form-horizontal .form-group:before, .form-horizontal .form-group:after { content: " "; display: table; } .form-horizontal .form-group:after { clear: both; } @media (min-width: 768px) { .form-horizontal .control-label { text-align: right; margin-bottom: 0; padding-top: 7px; } } .form-horizontal .has-feedback .form-control-feedback { right: 15px; } @media (min-width: 768px) { .form-horizontal .form-group-lg .control-label { padding-top: 14.333333px; } } @media (min-width: 768px) { .form-horizontal .form-group-sm .control-label { padding-top: 6px; } } .btn { display: inline-block; margin-bottom: 0; font-weight: normal; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; text-align: center; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; background-image: none; border: 1px solid transparent; white-space: nowrap; padding: 6px 12px; font-size: 14px; line-height: 1.428571429; border-radius: 4px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } .btn:hover, .btn:focus, .btn.focus { color: #333; text-decoration: none; } .btn:active, .btn.active { outline: 0; background-image: none; box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; pointer-events: none; opacity: 0.65; filter: alpha(opacity=65); box-shadow: none; } .btn-default { color: #333; background-color: #fff; border-color: #ccc; } .btn-default:hover, .btn-default:focus, .btn-default.focus, .btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle { color: #333; background-color: #e6e5e5; border-color: #adadad; } .btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle { background-image: none; } .btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { background-color: #fff; border-color: #ccc; } .btn-default .badge { color: #fff; background-color: #333; } .btn-primary { color: #fff; background-color: #337ab7; border-color: #2e6da4; } .btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle { background-image: none; } .btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active { background-color: #337ab7; border-color: #2e6da4; } .btn-primary .badge { color: #337ab7; background-color: #fff; } .btn-success { color: #fff; background-color: #5cb85c; border-color: #4cae4c; } .btn-success:hover, .btn-success:focus, .btn-success.focus, .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { background-image: none; } .btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active { background-color: #5cb85c; border-color: #4cae4c; } .btn-success .badge { color: #5cb85c; background-color: #fff; } .btn-info { color: #fff; background-color: #5bc0de; border-color: #46b8da; } .btn-info:hover, .btn-info:focus, .btn-info.focus, .btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { background-image: none; } .btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled].active, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active { background-color: #5bc0de; border-color: #46b8da; } .btn-info .badge { color: #5bc0de; background-color: #fff; } .btn-warning { color: #fff; background-color: #f0ad4e; border-color: #eea236; } .btn-warning:hover, .btn-warning:focus, .btn-warning.focus, .btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { background-image: none; } .btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active { background-color: #f0ad4e; border-color: #eea236; } .btn-warning .badge { color: #f0ad4e; background-color: #fff; } .btn-danger { color: #fff; background-color: #d9534f; border-color: #d43f3a; } .btn-danger:hover, .btn-danger:focus, .btn-danger.focus, .btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { background-image: none; } .btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active { background-color: #d9534f; border-color: #d43f3a; } .btn-danger .badge { color: #d9534f; background-color: #fff; } .btn-link { color: #337ab7; font-weight: normal; border-radius: 0; } .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; box-shadow: none; } .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } .btn-link:hover, .btn-link:focus { color: #23527c; text-decoration: underline; background-color: transparent; } .btn-link[disabled]:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:hover, fieldset[disabled] .btn-link:focus { color: #777777; text-decoration: none; } .btn-lg, .btn-group-lg > .btn { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .btn-sm, .btn-group-sm > .btn { padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-xs, .btn-group-xs > .btn { padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-block { display: block; width: 100%; } .btn-block + .btn-block { margin-top: 5px; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { opacity: 0; transition: opacity 0.15s linear; } .fade.in { opacity: 1; } .collapse { display: none; } .collapse.in { display: block; } tr.collapse.in { display: table-row; } tbody.collapse.in { display: table-row-group; } .collapsing { position: relative; height: 0; overflow: hidden; transition-property: height, visibility; transition-duration: 0.35s; transition-timing-function: ease; } .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px dashed; border-right: 4px solid transparent; border-left: 4px solid transparent; } .dropup, .dropdown { position: relative; } .dropdown-toggle:focus { outline: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; list-style: none; font-size: 14px; text-align: left; background-color: #fff; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 4px; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); background-clip: padding-box; } .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown-menu .divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.428571429; color: #333333; white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { text-decoration: none; color: #262626; background-color: #f5f5f5; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { color: #fff; text-decoration: none; outline: 0; background-color: #337ab7; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: #777777; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); cursor: not-allowed; } .open > .dropdown-menu { display: block; } .open > a { outline: 0; } .dropdown-menu-right { left: auto; right: 0; } .dropdown-menu-left { left: 0; right: auto; } .dropdown-menu-center { left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); } .dropdown-header { display: block; padding: 3px 20px; font-size: 12px; line-height: 1.428571429; color: #777777; white-space: nowrap; } .dropdown-backdrop { position: fixed; left: 0; right: 0; bottom: 0; top: 0; z-index: 990; } .pull-right > .dropdown-menu { right: 0; left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { border-top: 0; border-bottom: 4px solid; content: ""; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 2px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { right: 0; left: auto; } .navbar-right .dropdown-menu-left { left: 0; right: auto; } } .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn:hover, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; } .btn-toolbar { margin-left: -5px; } .btn-toolbar:before, .btn-toolbar:after { content: " "; display: table; } .btn-toolbar:after { clear: both; } .btn-toolbar .btn-group, .btn-toolbar .input-group { float: left; } .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { margin-left: 5px; } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-bottom-right-radius: 0; border-top-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-top-right-radius: 0; } .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; } .btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle { padding-left: 12px; padding-right: 12px; } .btn-group.open .dropdown-toggle { box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn-group.open .dropdown-toggle.btn-link { box-shadow: none; } .btn .caret { margin-left: 0; } .btn-lg .caret, .btn-group-lg > .btn .caret { border-width: 5px 5px 0; border-bottom-width: 0; } .dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret { border-width: 0 5px 5px; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { content: " "; display: table; } .btn-group-vertical > .btn-group:after { clear: both; } .btn-group-vertical > .btn-group > .btn { float: none; } .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(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-bottom-left-radius: 4px; border-top-right-radius: 0; border-top-left-radius: 0; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-right-radius: 0; border-top-left-radius: 0; } .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified > .btn, .btn-group-justified > .btn-group { float: none; display: table-cell; width: 1%; } .btn-group-justified > .btn-group .btn { width: 100%; } .btn-group-justified > .btn-group .dropdown-menu { left: auto; } [data-toggle="buttons"] > .btn input[type="radio"], [data-toggle="buttons"] > .btn input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; } .input-group { position: relative; display: table; border-collapse: separate; } .input-group[class*="col-"] { float: none; padding-left: 0; padding-right: 0; } .input-group .form-control { position: relative; z-index: 2; float: left; width: 100%; margin-bottom: 0; } .input-group-addon, .input-group-btn, .input-group .form-control { display: table-cell; } .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; } .input-group-addon, .input-group-btn { width: 1%; white-space: nowrap; vertical-align: middle; } .input-group-addon { padding: 6px 12px; font-size: 14px; font-weight: normal; line-height: 1; color: #555555; text-align: center; background-color: #eeeeee; border: 1px solid #ccc; border-radius: 4px; } .input-group-addon.input-sm, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .input-group-addon.btn { padding: 5px 10px; font-size: 12px; border-radius: 3px; } .input-group-addon.input-lg, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .input-group-addon.btn { padding: 10px 16px; font-size: 18px; border-radius: 6px; } .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { margin-top: 0; } .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { border-bottom-right-radius: 0; border-top-right-radius: 0; } .input-group-addon:first-child { border-right: 0; } .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { border-bottom-left-radius: 0; border-top-left-radius: 0; } .input-group-addon:last-child { border-left: 0; } .input-group-btn { position: relative; font-size: 0; white-space: nowrap; } .input-group-btn > .btn { position: relative; } .input-group-btn > .btn + .btn { margin-left: -1px; } .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { z-index: 2; } .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { margin-right: -1px; } .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { margin-left: -1px; } .nav { margin-bottom: 0; padding-left: 0; list-style: none; } .nav:before, .nav:after { content: " "; display: table; } .nav:after { clear: both; } .nav > li { position: relative; display: block; } .nav > li > a { position: relative; display: block; padding: 10px 15px; } .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; background-color: #eeeeee; } .nav > li.disabled > a { color: #777777; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { color: #777777; text-decoration: none; background-color: transparent; cursor: not-allowed; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { background-color: #eeeeee; border-color: #337ab7; } .nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .nav > li > a > img { max-width: none; } .nav-tabs { border-bottom: 1px solid #ddd; } .nav-tabs > li { float: left; margin-bottom: -1px; } .nav-tabs > li > a { margin-right: 2px; line-height: 1.428571429; border: 1px solid transparent; border-radius: 4px 4px 0 0; } .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #ddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: #555555; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent; cursor: default; } .nav-pills > li { float: left; } .nav-pills > li > a { border-radius: 4px; } .nav-pills > li + li { margin-left: 2px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #fff; background-color: #337ab7; } .nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; } .nav-justified, .nav-tabs.nav-justified { width: 100%; } .nav-justified > li, .nav-tabs.nav-justified > li { float: none; } .nav-justified > li > a, .nav-tabs.nav-justified > li > a { text-align: center; margin-bottom: 5px; } .nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-justified > li, .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } .nav-justified > li > a, .nav-tabs.nav-justified > li > a { margin-bottom: 0; } } .nav-tabs-justified, .nav-tabs.nav-justified { border-bottom: 0; } .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus { border-bottom-color: #fff; } } .tab-content > .tab-pane { display: none; } .tab-content > .active { display: block; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-right-radius: 0; border-top-left-radius: 0; } .navbar { position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent; } .navbar:before, .navbar:after { content: " "; display: table; } .navbar:after { clear: both; } @media (min-width: 768px) { .navbar { border-radius: 4px; } } .navbar-header:before, .navbar-header:after { content: " "; display: table; } .navbar-header:after { clear: both; } @media (min-width: 768px) { .navbar-header { float: left; } } .navbar-collapse { overflow-x: visible; padding-right: 15px; padding-left: 15px; border-top: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); -webkit-overflow-scrolling: touch; } .navbar-collapse:before, .navbar-collapse:after { content: " "; display: table; } .navbar-collapse:after { clear: both; } .navbar-collapse.in { overflow-y: auto; } @media (min-width: 768px) { .navbar-collapse { width: auto; border-top: 0; box-shadow: none; } .navbar-collapse.collapse { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; } .navbar-collapse.in { overflow-y: visible; } .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { padding-left: 0; padding-right: 0; } } .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 340px; } @media (max-device-width: 480px) and (orientation: landscape) { .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 200px; } } .container > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-header, .container-fluid > .navbar-collapse { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .container > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-header, .container-fluid > .navbar-collapse { margin-right: 0; margin-left: 0; } } .navbar-static-top { z-index: 1000; border-width: 0 0 1px; } @media (min-width: 768px) { .navbar-static-top { border-radius: 0; } } .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; } @media (min-width: 768px) { .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } } .navbar-fixed-top { top: 0; border-width: 0 0 1px; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; border-width: 1px 0 0; } .navbar-brand { float: left; padding: 15px 15px; font-size: 18px; line-height: 20px; height: 50px; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } .navbar-brand > img { display: block; } @media (min-width: 768px) { .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { margin-left: -15px; } } .navbar-toggle { position: relative; float: right; margin-right: 15px; padding: 9px 10px; margin-top: 8px; margin-bottom: 8px; background-color: transparent; background-image: none; border: 1px solid transparent; border-radius: 4px; } .navbar-toggle:focus { outline: 0; } .navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; } .navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; } @media (min-width: 768px) { .navbar-toggle { display: none; } } .navbar-nav { margin: 7.5px -15px; } .navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 20px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } .navbar-nav .open .dropdown-menu > li > a { line-height: 20px; } .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } } @media (min-width: 768px) { .navbar-nav { float: left; margin: 0; } .navbar-nav > li { float: left; } .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; } } .navbar-form { margin-left: -15px; margin-right: -15px; padding: 10px 15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); margin-top: 8px; margin-bottom: 8px; } @media (min-width: 768px) { .navbar-form .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .navbar-form .form-control { display: inline-block; width: auto; vertical-align: middle; } .navbar-form .form-control-static { display: inline-block; } .navbar-form .input-group { display: inline-table; vertical-align: middle; } .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control { width: auto; } .navbar-form .input-group > .form-control { width: 100%; } .navbar-form .control-label { margin-bottom: 0; vertical-align: middle; } .navbar-form .radio, .navbar-form .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .navbar-form .radio label, .navbar-form .checkbox label { padding-left: 0; } .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .navbar-form .has-feedback .form-control-feedback { top: 0; } } @media (max-width: 767px) { .navbar-form .form-group { margin-bottom: 5px; } .navbar-form .form-group:last-child { margin-bottom: 0; } } @media (min-width: 768px) { .navbar-form { width: auto; border: 0; margin-left: 0; margin-right: 0; padding-top: 0; padding-bottom: 0; box-shadow: none; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-right-radius: 0; border-top-left-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { margin-bottom: 0; border-top-right-radius: 4px; border-top-left-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .navbar-btn { margin-top: 8px; margin-bottom: 8px; } .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn { margin-top: 10px; margin-bottom: 10px; } .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn { margin-top: 14px; margin-bottom: 14px; } .navbar-text { margin-top: 15px; margin-bottom: 15px; } @media (min-width: 768px) { .navbar-text { float: left; margin-left: 15px; margin-right: 15px; } } @media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; margin-right: -15px; } .navbar-right ~ .navbar-right { margin-right: 0; } } .navbar-default { background-color: #4a8bfc; border-color: #4a8bfc; } .navbar-default .navbar-brand { color: rgba(255, 255, 255, 0.8); } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #fff; background-color: transparent; } .navbar-default .navbar-text { color: #777; } .navbar-default .navbar-nav > li > a { color: rgba(255, 255, 255, 0.8); } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #fff; background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #fff; background-color: transparent; } .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { color: #ccc; background-color: transparent; } .navbar-default .navbar-toggle { border-color: #ddd; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #ddd; } .navbar-default .navbar-toggle .icon-bar { background-color: #888; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { border-color: #4a8bfc; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { background-color: transparent; color: #fff; } @media (max-width: 767px) { .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: rgba(255, 255, 255, 0.8); } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #fff; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #ccc; background-color: transparent; } } .navbar-default .navbar-link { color: rgba(255, 255, 255, 0.8); } .navbar-default .navbar-link:hover { color: #fff; } .navbar-default .btn-link { color: rgba(255, 255, 255, 0.8); } .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { color: #fff; } .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:hover, fieldset[disabled] .navbar-default .btn-link:focus { color: #ccc; } .navbar-inverse { background-color: #222; border-color: #090808; } .navbar-inverse .navbar-brand { color: #9d9d9d; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-text { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { color: #fff; background-color: #090808; } .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { color: #444; background-color: transparent; } .navbar-inverse .navbar-toggle { border-color: #333; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background-color: #333; } .navbar-inverse .navbar-toggle .icon-bar { background-color: #fff; } .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: #101010; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { background-color: #090808; color: #fff; } @media (max-width: 767px) { .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: #090808; } .navbar-inverse .navbar-nav .open .dropdown-menu .divider { background-color: #090808; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-color: #090808; } .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #444; background-color: transparent; } } .navbar-inverse .navbar-link { color: #9d9d9d; } .navbar-inverse .navbar-link:hover { color: #fff; } .navbar-inverse .btn-link { color: #9d9d9d; } .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { color: #fff; } .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:hover, fieldset[disabled] .navbar-inverse .btn-link:focus { color: #444; } .navbar-default.navbar-sticky { position: fixed; top: 0; left: 0; right: 0; z-index: 9999; padding: 10px 0; opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.07); background: #fff; } @supports ((-webkit-backdrop-filter: saturate(180%) blur(20px)) or (backdrop-filter: saturate(180%) blur(20px))) { .navbar-default.navbar-sticky { background: rgba(255, 255, 255, 0.9); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); } } .navbar-default.navbar-sticky .navbar-nav > li.header-btn-white a { background-color: #488aff; color: #fff; } .navbar-default.navbar-sticky .navbar-nav > li.header-btn-white a:hover { background-color: rgba(74, 139, 252, 0.9); color: #fff; } .navbar-default.navbar-sticky--show, .navbar-default.navbar-sticky--hide { -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } .navbar-default.navbar-sticky--hide { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: slideup; animation-name: slideup; } @-webkit-keyframes slideup { 0% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 100% { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } } @keyframes slideup { 0% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 100% { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } } .navbar-default.navbar-sticky--show { -webkit-animation-duration: 0.5s; animation-duration: 0.5s; -webkit-animation-name: slidedown; animation-name: slidedown; -webkit-animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); } @-webkit-keyframes slidedown { 0% { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } 1% { opacity: 1; } 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes slidedown { 0% { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } 1% { opacity: 1; } 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @media (max-width: 767px) { .navbar-default.navbar-sticky { display: none; } } .modal-open { overflow: hidden; } .modal { display: none; overflow: hidden; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050; -webkit-overflow-scrolling: touch; outline: 0; } .modal.fade .modal-dialog { -webkit-transform: translate(0, -25%); transform: translate(0, -25%); 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; } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); transform: translate(0, 0); } .modal-open .modal { overflow-x: hidden; overflow-y: auto; } .modal-dialog { position: relative; width: auto; margin: 10px; } .modal-content { position: relative; background-color: #fff; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); background-clip: padding-box; 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; filter: alpha(opacity=0); } .modal-backdrop.in { opacity: 0.5; filter: alpha(opacity=50); } .modal-header { padding: 15px; border-bottom: 1px solid #e5e5e5; min-height: 16.428571429px; } .modal-header .close { margin-top: -2px; } .modal-title { margin: 0; line-height: 1.428571429; } .modal-body { position: relative; padding: 15px; } .modal-footer { padding: 15px; text-align: right; border-top: 1px solid #e5e5e5; } .modal-footer:before, .modal-footer:after { content: " "; display: table; } .modal-footer:after { clear: both; } .modal-footer .btn + .btn { margin-left: 5px; margin-bottom: 0; } .modal-footer .btn-group .btn + .btn { margin-left: -1px; } .modal-footer .btn-block + .btn-block { margin-left: 0; } .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } @media (min-width: 768px) { .modal-dialog { width: 600px; margin: 30px auto; } .modal-content { box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); } .modal-sm { width: 300px; } } @media (min-width: 992px) { .modal-lg { width: 900px; } } .tooltip { position: absolute; z-index: 1070; display: block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 1.4; opacity: 0; filter: alpha(opacity=0); } .tooltip.in { opacity: 0.9; filter: alpha(opacity=90); } .tooltip.top { margin-top: -3px; padding: 5px 0; } .tooltip.right { margin-left: 3px; padding: 0 5px; } .tooltip.bottom { margin-top: 3px; padding: 5px 0; } .tooltip.left { margin-left: -3px; padding: 0 5px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; text-decoration: none; background-color: #000; border-radius: 4px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-left .tooltip-arrow { bottom: 0; right: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-left .tooltip-arrow { top: 0; right: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .clearfix:before, .clearfix:after { content: " "; display: table; } .clearfix:after { clear: both; } .center-block { display: block; margin-left: auto; margin-right: auto; } .pull-right { float: right !important; } .pull-left { float: left !important; } .hide { display: none !important; } .show { display: block !important; } .invisible { visibility: hidden; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .hidden { display: none !important; } .affix { position: fixed; } @-ms-viewport { width: device-width; } .visible-xs { display: none !important; } .visible-sm { display: none !important; } .visible-md { display: none !important; } .visible-lg { display: none !important; } .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { display: none !important; } @media (max-width: 767px) { .visible-xs { display: block !important; } table.visible-xs { display: table; } tr.visible-xs { display: table-row !important; } th.visible-xs, td.visible-xs { display: table-cell !important; } } @media (max-width: 767px) { .visible-xs-block { display: block !important; } } @media (max-width: 767px) { .visible-xs-inline { display: inline !important; } } @media (max-width: 767px) { .visible-xs-inline-block { display: inline-block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm { display: block !important; } table.visible-sm { display: table; } tr.visible-sm { display: table-row !important; } th.visible-sm, td.visible-sm { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-block { display: block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline { display: inline !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline-block { display: inline-block !important; } } @media (min-width: 992px) and (max-width: 1219px) { .visible-md { display: block !important; } table.visible-md { display: table; } tr.visible-md { display: table-row !important; } th.visible-md, td.visible-md { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1219px) { .visible-md-block { display: block !important; } } @media (min-width: 992px) and (max-width: 1219px) { .visible-md-inline { display: inline !important; } } @media (min-width: 992px) and (max-width: 1219px) { .visible-md-inline-block { display: inline-block !important; } } @media (min-width: 1220px) { .visible-lg { display: block !important; } table.visible-lg { display: table; } tr.visible-lg { display: table-row !important; } th.visible-lg, td.visible-lg { display: table-cell !important; } } @media (min-width: 1220px) { .visible-lg-block { display: block !important; } } @media (min-width: 1220px) { .visible-lg-inline { display: inline !important; } } @media (min-width: 1220px) { .visible-lg-inline-block { display: inline-block !important; } } @media (max-width: 767px) { .hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1219px) { .hidden-md { display: none !important; } } @media (min-width: 1220px) { .hidden-lg { display: none !important; } } .visible-print { display: none !important; } @media print { .visible-print { display: block !important; } table.visible-print { display: table; } tr.visible-print { display: table-row !important; } th.visible-print, td.visible-print { display: table-cell !important; } } .visible-print-block { display: none !important; } @media print { .visible-print-block { display: block !important; } } .visible-print-inline { display: none !important; } @media print { .visible-print-inline { display: inline !important; } } .visible-print-inline-block { display: none !important; } @media print { .visible-print-inline-block { display: inline-block !important; } } @media print { .hidden-print { display: none !important; } } .btn { font-weight: 600; border-radius: 3px; padding: 10px 20px 12px; font-size: 16px; } .btn.btn-ionic { background: #4a8bfc; color: white; transition: color .2s, background-color .2s; -webkit-font-smoothing: antialiased; font-size: 20px; letter-spacing: 0; padding: 16px 28px; } .btn.btn-ionic:hover { color: #fff; background: #5B98FF; } .btn.btn-outline { color: #4a8bfc; border-color: #4a8bfc; border: #4a8bfc 2px solid; transition: color .2s, background-color .2s; -webkit-font-smoothing: antialiased; } .btn.btn-outline:hover { color: white; background-color: #4a8bfc; } .btn.fill.green, .btn.fill.blue { border-radius: 4px; color: white; font-size: 14px; font-weight: 500; position: relative; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); padding: 12px 20px; } .btn.fill.green { background: #39d46d; padding-left: 35px; } .btn.fill.green .icon { font-size: 26px; position: absolute; top: 4px; left: 15px; font-weight: 800; } .btn.fill.blue { background: #48acf8; padding-left: 45px; margin-left: 5px; } .btn.fill.blue .icon { font-size: 22px; position: absolute; top: 6px; left: 20px; } header.container { padding-top: 20px; padding-bottom: 20px; -webkit-font-smoothing: antialiased; } header.container .creator-logo { width: 120px; } header.container nav { float: right; } @media (max-width: 767px) { header.container nav { float: none; } } header.container nav a { color: #484f5b; display: inline-block; font-weight: 500; transition: .2s color; font-size: 14px; letter-spacing: 0; } header.container nav a.active, header.container nav a:hover { color: #a0a5b0; box-shadow: none; } @media (max-width: 767px) { header.container nav a { width: 100%; text-align: center; } } header.container nav .btn { padding: 8px 14px; margin-left: 2px; } header.container nav .btn.border { border-left: 1px solid #ebeef2; border-radius: 0; margin-left: 10px; padding-left: 25px; } header.container nav .blue { color: #4a8bfc; } header.container nav .blue:hover, header.container nav .blue:active { color: #639bfc; box-shadow: none; } header.container nav .signup { background: #4a8bfc; color: white; transition: .2s background; } header.container nav .signup:hover { background: #3b81fc; color: white; } hgroup { padding-top: 75px; padding-bottom: 75px; text-align: center; } hgroup h1 { font-weight: 600; font-size: 32px; margin-bottom: 0; } hgroup h2 { font-weight: 600; font-size: 28px; margin-bottom: 15px; color: #4C555A; } hgroup h2 strong { font-weight: 700; } hgroup h3 { font-size: 25px; font-weight: 600; } hgroup h3 + p { font-weight: 400; font-size: 14px; line-height: 20px; } hgroup p { font-weight: 300; font-size: 20px; color: #576070; margin-bottom: 32px; } hgroup.preserver { padding-top: 180px; background: #f3f5f7 center 55px no-repeat url("/img/pro/creator/support-buoy.png"); background-size: 80px; border-bottom: 2px #e2e7ef solid; } hgroup:not(form) .btn { margin-top: 10px; } hgroup.grey-top { background: #f3f5f7; padding-bottom: 200px; margin-bottom: -130px; border-bottom: 2px solid #e6e9ee; } input[type=text].input { border: 2px solid #e6e9ee; border-radius: 3px; padding: 10px 20px; font-size: 16px; transition: .4s border-color; } input[type=text].input::-webkit-input-placeholder { color: #a0a5b0; } input[type=text].input:-ms-input-placeholder { color: #a0a5b0; } input[type=text].input:focus { border-color: #4a8bfc; outline: none; } .tail { background: #263d4c; color: #9bacb6; padding: 80px 0; margin-top: 90px; } .tail.ghost { background: #263d4c center center no-repeat url("/img/pro/creator/bg-creator-ghost.png"); background-size: auto 100%; } .tail h2 { color: white; font-size: 28px; font-weight: 600; } .tail p { font-size: 18px; } .tail p a { position: relative; color: #4a8bfc; transition: color .2s; } .tail p a.underscore:after { content: ''; min-height: 1px; position: absolute; left: 0; right: 0; bottom: -3px; border-bottom: 2px solid #4a8bfc; transition: border-color .2s; } .tail p a:hover { color: #95bbfd; text-decoration: none; } .tail p a:hover:after { border-color: #95bbfd; } .start-now { margin-top: 60px; } .start-now form { position: relative; padding-top: 28px; } .start-now form .btn { margin-top: -3px; padding: 11px 20px; font-size: 16px; } .start-now form .input { width: 330px; } @media (max-width: 500px) { .start-now form .input { width: 100%; } } .start-now form:before { background: no-repeat center center url("/img/pro/creator/signup-arrow.png"); background-size: 61px; width: 61px; height: 56px; content: ''; position: absolute; margin-left: -90px; margin-top: -25px; } @media (max-width: 991px) { .start-now { padding-left: 5px; padding-right: 5px; } .start-now form .btn { display: block; margin: 10px auto 0; } } footer { color: #a0a5b0; padding-top: 50px; } footer .row { display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; width: 1000px; margin: 0 auto; } @media (max-width: 1219px) { footer .row { width: auto; } } @media (max-width: 991px) { footer .row { display: block; } footer .row .left, footer .row .right, footer .row .center { width: auto; margin: 0 auto; text-align: center; } footer .row .center { -ms-flex-pack: distribute; justify-content: space-around; margin-top: 50px; } } footer .left { width: 190px; -ms-flex-positive: 0; flex-grow: 0; -ms-flex-negative: 0; flex-shrink: 0; margin-right: 87px; font-size: 14px; } footer .left p { line-height: 20px; color: #a0a5b0; font-weight: 300; } footer .left .creator-logo { width: 120px; margin-bottom: 22px; } @media (max-width: 1219px) { footer .left { margin-right: 5px; } } footer .right { width: 332px; -ms-flex-positive: 0; flex-grow: 0; -ms-flex-negative: 0; flex-shrink: 0; margin-left: 60px; } @media (max-width: 1219px) { footer .right { margin-left: 5px; } } @media (max-width: 991px) { footer .right { display: none !important; } } footer .twitter { background: no-repeat center center url("/img/twitter-bubble.png"); background-size: 332px; width: 332px; height: 109px; padding: 18px 16px 26px 59px; font-size: 14px; color: #4C555A; } footer .twitter p { color: #4C555A; line-height: 20px; font-weight: 400; } footer .twitter a { color: #4a8bfc; } footer .twitter a:hover { color: #045cf5; } footer .center { display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-positive: 2; flex-grow: 2; } footer .center section { display: inline-block; } footer ul { list-style: none; padding: 0; } footer ul li { font-size: 14px; line-height: 2em; } footer a { color: #b0b6c4; transition: color .2s; } footer a:hover { color: #4f8ef7; text-decoration: none; } footer h3 { font-weight: 500; font-size: 16px; color: #4C555A; line-height: 10.5px; } footer .bottom { text-align: center; margin-top: 44px; padding-top: 44px; padding-bottom: 24px; position: relative; } footer .bottom .ioni-io-logo { width: 72px; height: 24px; margin-right: 10px; margin-top: -3px; } footer .bottom p { margin: 0 auto; color: #e6e9ee; font-size: 12px; } footer .bottom:before { content: ''; width: 98px; height: 1px; border-bottom: 1px solid #ebeef2; position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; } #page-creator { color: #4C555A; -webkit-font-smoothing: antialiased; } #page-creator .hero { background: center bottom no-repeat url("/img/pro/creator/bg-hero-creator.jpg"); background-size: cover; min-height: 875px; } @media (min-width: 1950px) { #page-creator .hero { background-position: center -160px; } #page-creator .hero hgroup.container h3 { max-width: 100%; } } @media (min-width: 2250px) { #page-creator .hero { background-position: center -235px; } } @media (min-width: 2400px) { #page-creator .hero { background-position: center -270px; } } @media (min-width: 2500px) { #page-creator .hero { background-position: center -290px; } } @media (min-width: 2550px) { #page-creator .hero { background-position: center -310px; } } @media (max-width: 767px) { #page-creator .hero { background-size: 767px; min-height: 600px; background-position: center bottom; } } #page-creator .hero hgroup { padding-top: 70px; margin-top: 0; } #page-creator .hero hgroup h1 { font-weight: 600; font-size: 32px; letter-spacing: -0.01em; margin-top: 20px; } #page-creator .hero hgroup h1 a { color: #4a8bfc; transition: color .2s; text-decoration: none; } #page-creator .hero hgroup h1 a:hover { color: #7cabfd; } #page-creator .hero hgroup h3 { color: #474d59; font-size: 20px; font-weight: 500; max-width: 500px; margin: 26px auto 44px; -webkit-font-smoothing: antialiased; line-height: 28px; } #page-creator .hero hgroup h3 strong { font-weight: 600; color: #576070; } #page-creator .used-by { font-size: 16px; color: #a0a5b0; text-align: center; margin-top: 30px; margin-bottom: 60px; } #page-creator .used-by p { margin-bottom: 20px; font-weight: 400; } #page-creator .used-by img { width: 602px; } @media (max-width: 767px) { #page-creator .used-by img { width: 100%; } } #page-creator .how-creator-works { background: white; background: linear-gradient(to right, #4a8efa 0%, #34b3fe 100%); text-align: center; } #page-creator .how-creator-works hgroup { padding-top: 80px; padding-bottom: 50px; } #page-creator .how-creator-works h3, #page-creator .how-creator-works h4, #page-creator .how-creator-works strong { color: white; } #page-creator .how-creator-works strong { font-weight: 600; } #page-creator .how-creator-works h4 { font-size: 18px; font-weight: 500; } #page-creator .how-creator-works p { color: white; font-weight: 400; line-height: 22px; font-size: 14px; } #page-creator .how-creator-works hgroup h3 { font-weight: 500; } #page-creator .how-creator-works hgroup p { font-size: 18px; } #page-creator .how-creator-works .step { display: inline-block; width: 330px; padding-top: 215px; padding-bottom: 80px; margin-right: 70px; background: no-repeat center top; background-size: 270px; position: relative; } #page-creator .how-creator-works .step:last-child { margin-right: 0; } #page-creator .how-creator-works .step:last-child::before { display: none; } #page-creator .how-creator-works .step.drag-n-drop { background-image: url("/img/pro/creator/works-dnd.png?1"); } #page-creator .how-creator-works .step.preview { background-image: url("/img/pro/creator/works-preview.png"); } #page-creator .how-creator-works .step.export { background-image: url("/img/pro/creator/works-export.png?1"); } #page-creator .how-creator-works .step:before { background: no-repeat center center url("/img/pro/creator/ico-arrow-works.png"); background-size: 19px; width: 19px; height: 43px; content: ''; position: absolute; top: 85px; right: -60px; } @media (max-width: 1219px) and (min-width: 992px) { #page-creator .how-creator-works .step { margin-right: 60px; width: 270px; } #page-creator .how-creator-works .step:before { right: -35px; } } @media (max-width: 991px) { #page-creator .how-creator-works .step { margin-right: 0; width: 100%; } #page-creator .how-creator-works .step:before { display: 0; } } #page-creator .hero-side .container { height: 498px; padding-top: 140px; } #page-creator .hero-side.left .container { padding-left: 695px; background: no-repeat left top; background-size: 682px; } @media (max-width: 1219px) and (min-width: 992px) { #page-creator .hero-side.left .container { margin-left: -100px; width: 1100px; padding-left: 670px; } } @media (max-width: 991px) { #page-creator .hero-side.left .container { padding-left: 10px; padding-bottom: 150px; background-position: center bottom; background-size: 227px; text-align: center; height: auto; } } #page-creator .hero-side.right { background: #f6f7fa; } #page-creator .hero-side.right .container { padding-right: 660px; background: no-repeat right top; background-size: 682px; } @media (max-width: 1219px) and (min-width: 992px) { #page-creator .hero-side.right .container { margin-right: -50px; width: 1020px; padding-right: 630px; } } @media (max-width: 991px) { #page-creator .hero-side.right .container { padding-right: 10px; padding-bottom: 150px; background-position: center bottom; background-size: 227px; text-align: center; height: auto; } } #page-creator .hero-side.tool .container { background-image: url("/img/pro/creator/features-tool.jpg"); } @media (max-width: 991px) { #page-creator .hero-side.tool .container { background-image: none; padding-bottom: 100px; } } #page-creator .hero-side.dnd .container { background-image: url("/img/pro/creator/features-dnd.png?1"); } #page-creator .hero-side.xplatform .container { background-image: url("/img/pro/creator/features-xplatform.jpg"); } #page-creator .hero-side.teams .container { background-image: url("/img/pro/creator/features-teams.png?1"); } #page-creator .hero-side.inline-code-editing { background: no-repeat left bottom; background-image: url("/img/pro/creator/features-code.jpg"); background-size: 45%; } @media screen and (min-width: 2000px) { #page-creator .hero-side.inline-code-editing { background-size: 896px; } } @media (max-width: 991px) { #page-creator .hero-side.inline-code-editing { background-size: 299px; } } #page-creator .hero-side h2 { font-size: 24px; font-weight: 500; line-height: 1.5em; margin-bottom: 20px; letter-spacing: -0.02em; } #page-creator .hero-side p { color: #7E8792; font-size: 16px; font-weight: 400; line-height: 1.8em; margin-bottom: 15px; } #page-creator .hero-side p em, #page-creator .hero-side p strong { font-weight: 600; } #page-creator .hero-side .platforms { width: 107px; } #page-creator .hero-center .top { background: #121b2e no-repeat center bottom url("/img/pro/creator/features-preview-photo.jpg"); background-size: 1800px; } #page-creator .hero-center .top .container { height: 410px; padding-top: 151px; } #page-creator .hero-center .top .container h2 { color: white; font-size: 32px; font-weight: 600; } #page-creator .hero-center .top .container p { color: #a0a5b0; font-size: 18px; } #page-creator .hero-center .bottom { background: #222f49 no-repeat center bottom url("/img/pro/creator/features-preview-blur.jpg?1"); background-size: 1800px; } #page-creator .hero-center .bottom .container { height: 140px; text-align: center; padding-top: 22px; } #page-creator .hero-center .bottom .container p { color: #a0a5b0; font-size: 14px; font-weight: 400; } #page-creator .hero-center .bottom .container .btn { height: 53px; } #page-creator .hero-center .bottom .container .btn.app-store { background: no-repeat center center url("/img/pro/creator/app-store-creator-btn.png"); background-size: 153px; width: 153px; } @media (max-width: 767px) { #page-creator .hero-center .bottom .container .btn.app-store { background-size: 102px; width: 102px; } } #page-creator .hero-center .bottom .container .btn.google-play { background: no-repeat center center url("/img/pro/creator/google-play-creator-btn.png?1"); background-size: 184px; width: 184px; } @media (max-width: 767px) { #page-creator .hero-center .bottom .container .btn.google-play { background-size: 123px; width: 123px; } } #page-creator .hero-center strong { font-weight: 500; color: #ebeef2; } .product-comparison { display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-font-smoothing: antialiased; } .product-comparison.billing-toggle { margin-bottom: 5px; } .product-comparison.billing-toggle button { background: none; border: 0; border-bottom: 2px solid #e6e9ee; color: #a0a5b0; font-size: 14px; padding: 5px 15px; transition: .2s color, .2s border-color; outline: 0; line-height: 21.4px; font-size: 15px; font-weight: 500; } .product-comparison.billing-toggle button.active, .product-comparison.billing-toggle button:hover { color: #4a8bfc; border-color: #4a8bfc; } .product-comparison .plan { border: 2px solid #ebeef2; border-radius: 2px; text-align: center; margin: 15px 6px; padding: 30px 10px; width: calc(25% - 13px); max-width: 251px; min-width: 224px; color: #576070; background: white; } .product-comparison .plan .fade { opacity: 1; position: absolute; transition: .2s ease all; left: 0; right: 0; } .product-comparison .plan .fade.ng-hide { opacity: 0; -webkit-transform: scale(1.5, 1.5); transform: scale(1.5, 1.5); } .product-comparison .plan.enterprise { margin-top: 20px; width: 640px; max-width: 100%; position: relative; } .product-comparison .plan.enterprise:before, .product-comparison .plan.enterprise:after { background: no-repeat center center url("/img/pro/creator/entrprs-str.png"); background-size: 26px; width: 26px; height: 24px; content: ''; position: absolute; left: -50px; } .product-comparison .plan.enterprise:after { left: auto; right: -50px; } .product-comparison .plan.enterprise h3 { display: inline; font-size: 18px; font-weight: 700; margin-right: 5px; } .product-comparison .plan.enterprise p { display: inline; font-size: 14px; font-weight: 400; color: #9bacb6; } .product-comparison .plan.enterprise p strong { color: #f66486; font-weight: 500; } .product-comparison .plan.enterprise a { font-weight: 600; } .product-comparison .plan.free h2 { color: #f6a42e; } .product-comparison .plan.dev h2 { color: #5c6775; } .product-comparison .plan.pro h2 { color: #36c971; } .product-comparison .plan.business h2 { color: #8364f6; } .product-comparison .plan hgroup { padding: 0; } .product-comparison .plan hgroup h2, .product-comparison .plan hgroup h3, .product-comparison .plan hgroup h4, .product-comparison .plan hgroup small { color: #4C555A; margin: 0; } .product-comparison .plan hgroup h2 { font-size: 16px; text-transform: uppercase; letter-spacing: 3px; font-weight: 700; margin-bottom: 30px; } .product-comparison .plan hgroup h3 { font-size: 56px; font-weight: 700; height: 61px; position: relative; width: 100%; } .product-comparison .plan hgroup h3 sup { font-size: 20px; top: -.5em; } .product-comparison .plan hgroup h3 sub { font-size: 18px; font-weight: 600; bottom: 0; } .product-comparison .plan hgroup h3 a { font-size: 37px; text-decoration: none; } .product-comparison .plan hgroup h3 a:hover, .product-comparison .plan hgroup h3 a:active { color: #4a8bfc; } .product-comparison .plan hgroup h4 { font-size: 16px; font-weight: 500; color: #a0a5b0; line-height: 17.6px; } .product-comparison .plan ul { list-style: none; padding: 25px 0 0; } .product-comparison .plan ul li { padding: 8px 10px; margin: 0 -10px; font-size: 14px; font-weight: 400; } .product-comparison .plan ul li strong { font-weight: 400; color: #4C555A; } .product-comparison .plan ul li.feature { background: #f6f8fa; } @media (max-width: 1219px) { .product-comparison .plan { width: 205px; } } @media (max-width: 991px) { .product-comparison { max-width: 480px; margin: 0 auto; } } .also-included h3 { text-align: center; margin: 85px auto; font-weight: 400; } .also-included strong { font-size: 16px; font-weight: 500; margin-bottom: 14px; display: block; } .also-included p { font-size: 14px; color: #898989; line-height: 1.8em; font-weight: 400; } .also-included ul { padding: 0 72px; display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; -ms-flex-pack: justify; justify-content: space-between; } .also-included li { width: 295px; list-style: none; padding-left: 28px; position: relative; margin-bottom: 80px; } .also-included li::before { background: top center no-repeat url("/img/pro/creator/included-icons.png"); background-size: 20px; position: absolute; content: ''; width: 20px; height: 20px; left: 0; top: 0; } .also-included li.sharing::before { background-position: center -20px; } .also-included li.ionic::before { background-position: center -40px; } .also-included li.templates::before { background-position: center -60px; } .also-included li.exporting::before { background-position: center -80px; } .also-included li.preview::before { background-position: center -100px; } .faq { background: #f6f8fa; padding-bottom: 120px; } .faq hgroup { padding-top: 100px; padding-bottom: 10px; } .faq .cols { display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -webkit-font-smoothing: antialiased; } .faq .col { max-width: 395px; margin: 0 45px; } .faq .col dt { font-weight: 500; font-size: 16px; margin: 70px 0 14px; line-height: 20px; } .faq .col dd { color: #808692; font-size: 14px; line-height: 2em; } .faq .col dd strong { font-weight: 500; color: #808692; } @media (max-width: 767px) { .faq { display: block; } .faq .cols { display: block; } .faq .col { max-width: 100%; } } .brody { background: right bottom no-repeat url("/img/pro/creator/support-brody.jpg"); background-size: 60%; min-height: 550px; padding-bottom: 100px; padding-top: 32px; } .brody + .tail { margin-top: 0; } .brody dl { width: 45%; } .brody dl dt { padding: 50px 0 10px; font-size: 18px; font-weight: 400; } .brody dl dd { color: #576070; font-size: 14px; line-height: 1.9em; font-weight: 400; } @media (max-width: 767px) { .brody { background-position: center bottom; padding-bottom: 250px; background-size: 300px; } .brody dl { width: 100%; } } #body-creator-docs, #body-creator-docs .container { position: relative; } #body-creator-docs #index { -webkit-font-smoothing: antialiased; position: fixed; max-height: 100%; overflow-y: auto; background: rgba(255, 255, 255, 0.8); } @media (min-width: 1220px) { #body-creator-docs #index { width: 277px; } } @media (max-width: 1219px) and (min-width: 992px) { #body-creator-docs #index { width: 212px; } } @media (max-width: 991px) and (min-width: 768px) { #body-creator-docs #index { width: 157px; } } @media (max-width: 767px) { #body-creator-docs #index { width: 100%; position: relative !important; } } #body-creator-docs #index.bottom { position: absolute; bottom: 0; } #body-creator-docs #index ul { padding-left: 0; list-style: none; } #body-creator-docs #index ul a { font-size: 16px; color: #4C555A; font-weight: 400; margin: 1.1em 0; display: block; border-right: 2px solid transparent; transition: color .2s, border-color .2s; } #body-creator-docs #index ul ul .active > a, #body-creator-docs #index ul a:hover { color: #4a8bfc; text-decoration: none; background: none; } #body-creator-docs #index ul ul { padding-left: 25px; padding-right: 25px; } #body-creator-docs #index ul ul.animate-show { opacity: 1; } #body-creator-docs #index ul ul.animate-show a { min-height: 20px; max-height: 150px; } #body-creator-docs #index ul ul.animate-show.ng-hide-add, #body-creator-docs #index ul ul.animate-show.ng-hide-remove { transition: all linear .2s; } #body-creator-docs #index ul ul.animate-show.ng-hide { opacity: 0; } #body-creator-docs #index ul ul.animate-show.ng-hide a { max-height: 0; } #body-creator-docs #index ul ul a { font-size: 14px; color: #a0a5b0; font-weight: 400; transition: all linear .2s; } #body-creator-docs #index ul ul .active a { border-color: #4a8bfc; overflow-y: hidden; } #docs h1, #docs h2, #docs h3, #docs h4, #docs h5, #docs h6 { font-weight: 600; margin: 2.2em 0 .8em; line-height: 2em; } #docs h2 { font-size: 20px; } #docs h3 { font-size: 18px; } #docs h4 { font-size: 16px; } #docs p { font-size: 14px; color: #898989; line-height: 2em; font-weight: 400; } .studio-callout { margin: 100px 0; background-color: #4D5B69; border-radius: 8px; position: relative; display: -ms-flexbox; display: flex; -ms-flex-align: start; align-items: flex-start; } .studio-callout hgroup { -ms-flex: 0 0 45%; flex: 0 0 45%; padding: 0; text-align: left; padding: 80px 0 80px 80px; } .studio-callout hgroup h3 { margin-top: 0; margin-bottom: 22px; font-weight: 500; color: #fff; } .studio-callout hgroup p { font-size: 18px; line-height: 24px; color: #DDDDDD; margin-bottom: 20px; } .studio-callout hgroup p strong { font-weight: 600; color: #fff; } .studio-callout hgroup .btn { padding: 11px 20px; font-size: 16px; } .studio-callout img { position: absolute; top: 0; right: 0; width: 50% !important; } @media (max-width: 1220px) { .studio-callout hgroup { padding: 40px 0 40px 40px; } } @media (max-width: 768px) { .studio-callout { margin: 120px 0 0; -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-align: center; align-items: center; } .studio-callout img { width: 100% !important; max-width: 475px; position: relative; margin-bottom: -100px; margin-top: -60px; position: relative; z-index: 1; } .studio-callout hgroup { position: relative; text-align: center; padding: 40px; z-index: 2; } } @media (max-width: 480px) { .studio-callout hgroup { padding-left: 20px; padding-right: 20px; } .studio-callout hgroup p { font-size: 16px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNyZWF0b3Iuc2NzcyIsIl9mb250cy5zY3NzIiwiYm9vdHN0cmFwL19ub3JtYWxpemUuc2NzcyIsImNyZWF0b3IuY3NzIiwiYm9vdHN0cmFwL19wcmludC5zY3NzIiwiYm9vdHN0cmFwL19nbHlwaGljb25zLnNjc3MiLCJib290c3RyYXAvX3NjYWZmb2xkaW5nLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL192ZW5kb3ItcHJlZml4ZXMuc2NzcyIsImJvb3RzdHJhcC9fdmFyaWFibGVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL190YWItZm9jdXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJib290c3RyYXAvX3R5cGUuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RleHQtb3ZlcmZsb3cuc2NzcyIsImJvb3RzdHJhcC9fY29kZS5zY3NzIiwiX3ZhcnMuc2NzcyIsImJvb3RzdHJhcC9fZ3JpZC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fZ3JpZC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsImJvb3RzdHJhcC9fdGFibGVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsImJvb3RzdHJhcC9fZm9ybXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2Zvcm1zLnNjc3MiLCJib290c3RyYXAvX2J1dHRvbnMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX29wYWNpdHkuc2NzcyIsImJvb3RzdHJhcC9fY29tcG9uZW50LWFuaW1hdGlvbnMuc2NzcyIsImJvb3RzdHJhcC9fZHJvcGRvd25zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzZXQtZmlsdGVyLnNjc3MiLCJib290c3RyYXAvX2J1dHRvbi1ncm91cHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsImJvb3RzdHJhcC9faW5wdXQtZ3JvdXBzLnNjc3MiLCJib290c3RyYXAvX25hdnMuc2NzcyIsImJvb3RzdHJhcC9fbmF2YmFyLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19uYXYtdmVydGljYWwtYWxpZ24uc2NzcyIsImJvb3RzdHJhcC9fbW9kYWxzLnNjc3MiLCJib290c3RyYXAvX3Rvb2x0aXAuc2NzcyIsImJvb3RzdHJhcC9fdXRpbGl0aWVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19jZW50ZXItYmxvY2suc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2hpZGUtdGV4dC5zY3NzIiwiYm9vdHN0cmFwL19yZXNwb25zaXZlLXV0aWxpdGllcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzcG9uc2l2ZS12aXNpYmlsaXR5LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsbUZBQVk7QUNmWixtRUFBWTtBQU9aO0VBQ0Usd0JBQXVCO0VBQ3ZCLDBPQUt3RDtFQUN4RCxvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQUE7O0FBR3BCO0VBQ0Usb0JBQW1CO0VBQ25CLDZOQUc0RDtFQUM1RCxpQkFBZ0I7RUFDaEIseUJBQXdCLEVBQUE7O0FBRTFCO0VBQ0Usb0JBQW1CO0VBQ25CLDZPQUdnRTtFQUNoRSxpQkFBZ0I7RUFDaEIseUJBQXdCLEVBQUE7O0FBRTFCO0VBQ0Usb0JBQW1CO0VBQ25CLHlPQUcrRDtFQUMvRCxpQkFBZ0I7RUFDaEIseUJBQXdCLEVBQUE7O0FBRzFCO0VBQ0UscUJBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixpQkFBZ0I7RUFDaEIseUJBQXdCO0VBQ3hCLGdNQUMwRCxFQUFBOztBQUU1RDtFQUNFLHFCQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsaUJBQWdCO0VBQ2hCLHlCQUF3QjtFQUN4Qiw4TEFDeUQsRUFBQTs7QUFHM0Q7RUFDRSxxQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGlCQUFnQjtFQUNoQix5QkFBd0I7RUFDeEIsOExBQ3lELEVBQUE7O0FBRTNEO0VBQ0UscUJBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixpQkFBZ0I7RUFDaEIseUJBQXdCO0VBQ3hCLDBNQUMrRCxFQUFBOztBQUdqRTtFQUNFLHFCQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsaUJBQWdCO0VBQ2hCLHlCQUF3QjtFQUN4QixrTUFDMkQsRUFBQTs7QUFFN0Q7RUFDRSxxQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGlCQUFnQjtFQUNoQix5QkFBd0I7RUFDeEIsOE1BQ2lFLEVBQUE7O0FBR25FO0VBQ0UscUJBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixpQkFBZ0I7RUFDaEIseUJBQXdCO0VBQ3hCLDBMQUN1RCxFQUFBOztBQUV6RDtFQUNFLHFCQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsaUJBQWdCO0VBQ2hCLHlCQUF3QjtFQUN4QixzTUFDNkQsRUFBQTs7QUFHL0Q7RUFDRSxxQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGlCQUFnQjtFQUNoQix5QkFBd0I7RUFDeEIsb01BQzRELEVBQUE7O0FBRTlEO0VBQ0UscUJBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixpQkFBZ0I7RUFDaEIseUJBQXdCO0VBQ3hCLGdOQUNrRSxFQUFBOztBQUdwRTtFQUNFLHFCQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsaUJBQWdCO0VBQ2hCLHlCQUF3QjtFQUN4Qiw0TEFDd0QsRUFBQTs7QUFFMUQ7RUFDRSxxQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGlCQUFnQjtFQUNoQix5QkFBd0I7RUFDeEIsd01BQzhELEVBQUE7O0FBR2hFO0VBQ0UsOEJBQTZCO0VBQzdCLGlCQUFnQjtFQUNoQix5QkFBd0I7RUFDeEIsd0VBQWlDO0VBQ2pDLHNSQUVvRCxFQUFBOztBQUd0RDtFQUNFLDhCQUE2QjtFQUM3QixpQkFBZ0I7RUFDaEIseUJBQXdCO0VBQ3hCLHdFQUFpQztFQUNqQyxzUkFFb0QsRUFBQTs7QUN0S3RELDREQUE0RDtBQVE1RDtFQUNFLHdCQUF1QjtFQUN2QiwyQkFBMEI7RUFDMUIsK0JBQThCLEVBQy9COztBQU1EO0VBQ0UsVUFBUyxFQUNWOztBQVlEOzs7Ozs7Ozs7Ozs7O0VBYUUsZUFBYyxFQUNmOztBQU9EOzs7O0VBSUUsc0JBQXFCO0VBQ3JCLHlCQUF3QixFQUN6Qjs7QUFPRDtFQUNFLGNBQWE7RUFDYixVQUFTLEVBQ1Y7O0FDMEZEOztFRGpGRSxjQUFhLEVBQ2Q7O0FBU0Q7RUFDRSw4QkFBNkIsRUFDOUI7O0FBTUQ7O0VBRUUsV0FBVSxFQUNYOztBQVNEO0VBQ0UsMEJBQXlCLEVBQzFCOztBQU1EOztFQUVFLGtCQUFpQixFQUNsQjs7QUFNRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFPRDtFQUNFLGVBQWM7RUFDZCxpQkFBZ0IsRUFDakI7O0FBTUQ7RUFDRSxpQkFBZ0I7RUFDaEIsWUFBVyxFQUNaOztBQU1EO0VBQ0UsZUFBYyxFQUNmOztBQU1EOztFQUVFLGVBQWM7RUFDZCxlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLHlCQUF3QixFQUN6Qjs7QUFFRDtFQUNFLFlBQVcsRUFDWjs7QUFFRDtFQUNFLGdCQUFlLEVBQ2hCOztBQVNEO0VBQ0UsVUFBUyxFQUNWOztBQU1EO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQVNEO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQU1EO0VBRUUsd0JBQXVCO0VBQ3ZCLFVBQVMsRUFDVjs7QUFNRDtFQUNFLGVBQWMsRUFDZjs7QUFNRDs7OztFQUlFLGtDQUFpQztFQUNqQyxlQUFjLEVBQ2Y7O0FBaUJEOzs7OztFQUtFLGVBQWM7RUFDZCxjQUFhO0VBQ2IsVUFBUyxFQUNWOztBQU1EO0VBQ0Usa0JBQWlCLEVBQ2xCOztBQVNEOztFQUVFLHFCQUFvQixFQUNyQjs7QUFVRDs7OztFQUlFLDJCQUEwQjtFQUMxQixnQkFBZSxFQUNoQjs7QUFNRDs7RUFFRSxnQkFBZSxFQUNoQjs7QUFNRDs7RUFFRSxVQUFTO0VBQ1QsV0FBVSxFQUNYOztBQU9EO0VBQ0Usb0JBQW1CLEVBQ3BCOztBQVVEOztFQUVFLHVCQUFzQjtFQUN0QixXQUFVLEVBQ1g7O0FBUUQ7O0VBRUUsYUFBWSxFQUNiOztBQVFEO0VBQ0UsOEJBQTZCO0VBRzdCLHdCQUF1QixFQUN4Qjs7QUFRRDs7RUFFRSx5QkFBd0IsRUFDekI7O0FBTUQ7RUFDRSwwQkFBeUI7RUFDekIsY0FBYTtFQUNiLCtCQUE4QixFQUMvQjs7QUFPRDtFQUNFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0FBTUQ7RUFDRSxlQUFjLEVBQ2Y7O0FBT0Q7RUFDRSxrQkFBaUIsRUFDbEI7O0FBU0Q7RUFDRSwwQkFBeUI7RUFDekIsa0JBQWlCLEVBQ2xCOztBQUVEOztFQUVFLFdBQVUsRUFDWDs7QUUxYUQscUZBQXFGO0FBT3JGO0VBQ0k7OztJQUdJLG1DQUFrQztJQUNsQyx1QkFBc0I7SUFDdEIsNEJBQTJCO0lBQzNCLDZCQUE0QixFQUMvQjtFQUVEOztJQUVJLDJCQUEwQixFQUM3QjtFQUVEO0lBQ0ksNkJBQTRCLEVBQy9CO0VBRUQ7SUFDSSw4QkFBNkIsRUFDaEM7RUFJRDs7SUFFSSxZQUFXLEVBQ2Q7RUFFRDs7SUFFSSx1QkFBc0I7SUFDdEIseUJBQXdCLEVBQzNCO0VBRUQ7SUFDSSw0QkFBMkIsRUFDOUI7RUFFRDs7SUFFSSx5QkFBd0IsRUFDM0I7RUZxSUw7SUVsSVEsMkJBQTBCLEVBQzdCO0VBRUQ7OztJQUdJLFdBQVU7SUFDVixVQUFTLEVBQ1o7RUFFRDs7SUFFSSx3QkFBdUIsRUFDMUI7RUFNRDtJQUNJLDRCQUEyQixFQUM5QjtFQUdEO0lBQ0ksY0FBYSxFQUNoQjtFQUNEOztJQUdRLGtDQUFpQyxFQUNwQztFQUVMO0lBQ0ksdUJBQXNCLEVBQ3pCO0VBRUQ7SUFDSSxxQ0FBb0MsRUFNdkM7SUFQRDs7TUFLUSxrQ0FBaUMsRUFDcEM7RUFFTDs7SUFHUSxrQ0FBaUMsRUFDcEMsRUFBQTs7QUM1RlQ7RUFDRSxvQ0FBbUM7RUFDbkMsZ0VBQWtKO0VBQ2xKLGtiQUkwTSxFQUFBOztBQUk1TTtFQUNFLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1Isc0JBQXFCO0VBQ3JCLG9DQUFtQztFQUNuQyxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLGVBQWM7RUFDZCxvQ0FBbUM7RUFDbkMsbUNBQWtDLEVBQ25DOztBQUdEO0VBQStDLGVBQWMsRUFBSTs7QUFDakU7RUFBK0MsZUFBYyxFQUFJOztBQUNqRTs7RUFDK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFTbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStD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Q0UsVUFBMEMsRUFDM0M7O0FBRkQ7RUFDRSxxQkFBMEMsRUFDM0M7O0FBRkQ7RUFDRSxxQkFBMEMsRUFDM0M7O0FBRkQ7RUFDRSxVQUEwQyxFQUMzQzs7QUFGRDtFQUNFLHFCQUEwQyxFQUMzQzs7QUFGRDtFQUNFLHFCQUEwQyxFQUMzQzs7QUFGRDtFQUNFLFdBQTBDLEVBQzNDOztBQWtCRDtFQUNFLGdCQUFpRCxFQUNsRDs7QUFGRDtFQUNFLDJCQUFpRCxFQUNsRDs7QUFGRDtFQUNFLDRCQUFpRCxFQUNsRDs7QUFGRDtFQUNFLGlCQUFpRCxFQUNsRDs7QUFGRDtFQUNFLDRCQUFpRCxFQUNsRDs7QUFGRDtFQUNFLDRCQUFpRCxFQUNsRDs7QUFGRDtFQUNFLGlCQUFpRCxFQUNsRDs7QUFGRDtFQUNFLDRCQUFpRCxFQUNsRDs7QUFGRDtFQUNFLDRCQUFpRCxFQUNsRDs7QUFGRDtFQUNFLGlCQUFpRCxFQUNsRDs7QUFGRDtFQUNFLDRCQUFpRCxFQUNsRDs7QUFGRDtFQUNFLDRCQUFpRCxFQUNsRDs7QUFGRDtFQUNFLGtCQUFpRCxFQUNsRDs7QUZFTDtFRXJDRTtJQUNFLFlBQVcsRUFDWjtFQU1DO0lBQ0UscUJBQTJDLEVBQzVDO0VBRkQ7SUFDRSxzQkFBMkMsRUFDNUM7RUFGRDtJQUNFLFdBQTJDLEVBQzVDO0VBRkQ7SUFDRSxzQkFBMkMsRUFDNUM7RUFGRDtJQUNFLHNCQUEyQyxFQUM1QztFQUZEO0lBQ0UsV0FBMkMsRUFDNUM7RUFGRDtJQUNFLHNCQUEyQyxFQUM1QztFQUZEO0lBQ0Usc0JBQTJDLEVBQzVDO0VBRkQ7SUFDRSxXQUEyQyxFQUM1QztFQUZEO0lBQ0Usc0JBQTJDLEVBQzVDO0VBRkQ7SUFDRSxzQkFBMkMsRUFDNUM7RUFGRDtJQUNFLFlBQTJDLEVBQzVDO0VBa0JEO0lBQ0UsWUFBVyxFQUNaO0VBUEQ7SUFDRSxxQkFBMkMsRUFDNUM7RUFGRDtJQUNFLHNCQUEyQyxFQUM1QztFQUZEO0lBQ0UsV0FBMkMsRUFDNUM7RUFGRDtJQUNFLHNCQUEyQyxFQUM1QztFQUZEO0lBQ0Usc0JBQTJDLEVB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Qm9DMkIsRWdCbkM1Qjs7QUFFRDtFQUNFLGFoQnFJK0c7RWdCcEkvRyxrQmhCb0krRyxFZ0JuSWhIOztBQUVEOztFQUVFLGFBQVksRUFDYjs7QUQ0T0g7RUFLSSxhZm5IK0c7RWVvSC9HLGtCZm5PNEI7RWVvTzVCLGdCZnBSb0Q7RWVxUnBELGlCZi9OMkI7RWVnTzNCLGlCQUFzRCxFQUN2RDs7QUN0UUQ7OztFQUNFLGFoQjJJOEc7RWdCMUk5RyxtQmhCMEI0QjtFZ0J6QjVCLGdCaEJyQm9EO0VnQnNCcEQsdUJoQmdDaUM7RWdCL0JqQyxtQmhCbUMyQixFZ0JsQzVCOztBQUVEOzs7RUFDRSxhaEJtSThHO0VnQmxJOUcsa0JoQmtJOEcsRWdCakkvRzs7QUFFRDs7Ozs7OztFQUVFLGFBQVksRUFDYjs7QUFoQkQ7RUFDRSxhaEIySThHO0VnQjFJOUcsbUJoQjBCNEI7RWdCekI1QixnQmhCckJvRDtFZ0JzQnBELHVCaEJnQ2lDO0VnQi9CakMsbUJoQm1DMkIsRWdCbEM1Qjs7QUFFRDtFQUNFLGFoQm1JOEc7RWdCbEk5RyxrQmhCa0k4RyxFZ0JqSS9HOztBQUVEOztFQUVFLGFBQVksRUFDYjs7QUQwUEg7RUFLSSxhZm5JOEc7RWVvSTlHLG1CZnBQNEI7RWVxUDVCLGdCZm5Tb0Q7RWVvU3BELHVCZjlPaUM7RWUrT2pDLGlCQUFzRCxFQUN2RDs7QUFRSDtFQUVFLG1CQUFrQixFQU1uQjtFQVJEO0lBTUksc0JBQTBDLEVBQzNDOztBQUdIO0VBQ0UsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixTQUFRO0VBQ1IsV0FBVTtFQUNWLGVBQWM7RUFDZCxZZmxLeUY7RWVtS3pGLGFmbkt5RjtFZW9LekYsa0JmcEt5RjtFZXFLekYsbUJBQWtCO0VBQ2xCLHFCQUFvQixFQUNyQjs7QUFDRDtFQUNFLFlmdktnSDtFZXdLaEgsYWZ4S2dIO0VleUtoSCxrQmZ6S2dILEVlMEtqSDs7QUFDRDtFQUNFLFlmMUtpSDtFZTJLakgsYWYzS2lIO0VlNEtqSCxrQmY1S2lILEVlNktsSDs7QUMxWEM7Ozs7Ozs7Ozs7RUFVRSxlaEJnZW9DLEVn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QTdCSDtJQWlDSSxXQUFVO0lBQ1YsdUJBQXNCO0lsQjJCaEIsaURrQjFCOEMsRUFDckQ7RUFwQ0g7O0lBeUNJLG9CakJpTHdDO0lpQmhMeEMscUJBQW9CO0lFL0N0QixjRmdEc0I7SUU3Q3RCLDBCQUFrQztJcEIrRDFCLGlCa0JqQmtCLEVBQ3pCOztBQU9IO0VDdERFLFlsQmlKbUM7RWtCaEpuQyx1QmxCaUptQztFa0JoSm5DLG1CbEJpSm1DLEVpQjNGcEM7RUNwREM7O0lBTUUsWWxCdUlpQztJa0J0SWpDLDBCQUEwQztJQUN0QyxzQkFBa0MsRUFDdkM7RUFDRDs7SUFHRSx1QkFBc0IsRUFDdkI7RUFJQzs7Ozs7OztJQU1FLHVCbEJzSCtCO0lrQnJIM0IsbUJsQnNIMkIsRWtCckhoQztFQUdIO0lBQ0UsWWxCZ0hpQztJa0IvR2pDLHVCbEI4R2lDLEVrQjdHbEM7O0FEcUJIO0VDekRFLFlsQnFKbUM7RWtCcEpuQywwQmxCVTJDO0VrQlQzQyxzQmxCcUowRCxFaUI1RjNEO0VDdkRDOztJQU1FLFlsQjJJaUM7SWtCMUlqQywwQkFBMEM7SUFDdEMsc0JBQWtDLEVBQ3ZDO0VBQ0Q7O0lBR0UsdUJBQXNCLEVBQ3ZCO0VBSUM7Ozs7Ozs7SUFNRSwwQmxCakJ1QztJa0JrQm5DLHNCbEIwSGtELEVrQnpIdkQ7RUFHSDtJQUNFLGVsQnZCeUM7SWtCd0J6Qyx1QmxCa0hpQyxFa0JqSGxDOztBRHlCSDtFQzdERSxZbEJ5Sm1DO0VrQnhKbkMsMEJsQlc2QjtFa0JWN0Isc0JsQnlKMEQsRWlCNUYzRDtFQzNEQzs7SUFNRSxZbEIrSWlDO0lrQjlJakMsMEJBQTBDO0lBQ3RDLHNCQUFrQyxFQUN2QztFQUNEOztJQUdFLHVCQUFzQixFQUN2QjtFQUlDOzs7Ozs7O0lBTUUsMEJsQmhCeUI7SWtCaUJyQixzQmxCOEhrRCxFa0I3SHZEO0VBR0g7SUFDRSxlbEJ0QjJCO0lrQnVCM0IsdUJsQnNIaUMsRWtCckhsQzs7QUQ2Qkg7RUNqRUUsWWxCNkptQztFa0I1Sm5DLDBCbEJZNkI7RWtCWDdCLHNCbEI2SnVELEVpQjVGeEQ7RUMvREM7O0lBTUUsWWxCbUppQztJa0JsSmpDLDBCQUEwQztJQUN0QyxzQkFBa0MsRUFDdkM7RUFDRDs7SUFHRSx1QkFBc0IsRUFDdkI7RUFJQzs7Ozs7OztJQU1FLDBCbEJmeUI7SWtCZ0JyQixzQmxCa0krQyxFa0JqSXBEO0VBR0g7SUFDRSxlbEJyQjJCO0lrQnNCM0IsdUJsQjBIaUMsRWtCekhsQzs7QURpQ0g7RUNyRUUsWWxCaUttQztFa0JoS25DLDBCbEJhNkI7RWtCWjdCLHNCbEJpSzBELEVpQjVGM0Q7RUNuRUM7O0lBTUUsWWxCdUppQztJa0J0SmpDLDBCQUEwQztJQUN0QyxzQkFBa0MsRUFDdkM7RUFDRDs7SUFHRSx1QkFBc0IsRUFDdkI7RUFJQzs7Ozs7OztJQU1FLDBCbEJkeUI7SWtCZXJCLHNCbEJzSWtELEVrQnJJdkQ7RUFHSDtJQUNFLGVsQnBCMkI7SWtCcUIzQix1QmxCOEhpQyxFa0I3SGxDOztBRHFDSDtFQ3pFRSxZbEJxS21DO0VrQnBLbkMsMEJsQmM2QjtFa0JiN0Isc0JsQnFLeUQsRWlCNUYxRDtFQ3ZFQzs7SUFNRSxZbEIySmlDO0lrQjFKakMsMEJBQTBDO0lBQ3RDLHNCQUFrQyxFQUN2QztFQUNEOztJQUdFLHVCQUFzQixFQUN2QjtFQUlDOzs7Ozs7O0lBTUUsMEJsQmJ5QjtJa0JjckIsc0JsQjBJaUQsRWtCekl0RDtFQUdIO0lBQ0UsZWxCbkIyQjtJa0JvQjNCLHVCbEJrSWlDLEVrQmpJbEM7O0FEOENIO0VBQ0UsZWpCeEUyQztFaUJ5RTNDLG9CQUFtQjtFQUNuQixpQkFBZ0IsRUE4QmpCO0VBakNEOztJQVVJLDhCQUE2QjtJbEI3QnZCLGlCa0I4QmtCLEVBQ3pCO0VBWkg7SUFpQkksMEJBQXlCLEVBQzFCO0VBbEJIO0lBcUJJLGVqQnpFNEM7SWlCMEU1QywyQmpCeEU2QjtJaUJ5RTdCLDhCQUE2QixFQUM5QjtFQXhCSDs7O0lBNkJNLGVqQnZHNkM7SWlCd0c3QyxzQkFBcUIsRUFDdEI7O0FBUUw7RUNoRkUsbUJsQm1EOEI7RWtCbEQ5QixnQmxCSXNEO0VrQkh0RCx1QmxCeURt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cEgwQyxFNEJxSDNDLEVBQUE7RUFsR1g7SUE4R0ksZ0NuQnpkbUMsRW1CNmRwQztJQWxISDtNQWdITSxZbkJ6ZGlDLEVtQjBkbEM7RUFqSEw7SUFxSEksZ0NuQmhlbUMsRW1CNGVwQztJQWpJSDtNQXdITSxZbkJqZWlDLEVtQmtlbEM7SUF6SEw7OztNQThIUSxZNUJsSnVDLEU0Qm1KeEM7O0FBT1A7RUFDRSx1QjVCMUk4QztFNEIySTlDLHNCNUIxSXlFLEU0QjJRMUU7RUFuSUQ7SUFLSSxlNUIxSWlFLEU0QmdKbEU7SUFYSDtNQVFNLFk1Qm5JMEM7TTRCb0kxQyw4QjVCbklpRCxFNEJvSWxEO0VBVkw7SUFjSSxlNUJ4SmlFLEU0QnlKbEU7RUFmSDtJQW1CTSxlNUJ4SitELEU0QitKaEU7SUExQkw7TUF1QlEsWTVCM0p3QztNNEI0SnhDLDhCNUIzSitDLEU0QjRKaEQ7RUF6QlA7SUErQlEsWTVCbkt3QztJNEJvS3hDLDBCNUJqS21FLEU0QmtLcEU7RUFqQ1A7SUF1Q1EsWTVCdkt3QztJNEJ3S3hDLDhCNUJ2SytDLEU0QndLaEQ7RUF6Q1A7SUErQ0ksbUI1QnBLNEMsRTRCNEs3QztJQXZESDtNQWtETSx1QjVCekswQyxFNEIwSzNDO0lBbkRMO01BcURNLHVCNUIzSzBDLEU0QjRLM0M7RUF0REw7O0lBMkRJLHNCQUE0QyxFQUM3QztFQTVESDtJQW9FUSwwQjVCck1tRTtJNEJzTW5FLFk1QnpNd0MsRTRCME16QztFQUdIO0lBekVKO01BNkVVLHNCNUJyTmlFLEU0QnNObEU7SUE5RVQ7TUFnRlUsMEI1QnhOaUUsRTRCeU5sRTtJQWpGVDtNQW1GVSxlNUJ4TjJELEU0QjhONUQ7TUF6RlQ7UUFzRlksWTVCMU5vQztRNEIyTnBDLDhCNUIxTjJDLEU0QjJONUM7SUF4Rlg7TUE4RlksWTVCbE9vQztNNEJtT3BDLDBCNUJoTytELEU0QmlPaEU7SUFoR1g7TUFzR1ksWTVCdE9vQztNNEJ1T3BDLDhCNUJ0TzJDLEU0QnVPNUMsRUFBQTtFQXhHWDtJQStHSSxlNUJwUGlFLEU0QndQbEU7SUFuSEg7TUFpSE0sWTVCclAw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QUE7RUFHSDtJQTNFRjtNQTZFTSxtQkFBa0I7TUFDbEIsb0JBQW1CLEVBS3BCO01BbkZMO1FBaUZRLGdCQUFlLEVBQ2hCLEVBQUEiLCJmaWxlIjoiY3JlYXRvci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkd2hpdGlzaDogI2YzZjVmNztcbiRsaWdodGVyLWdyZXk6ICNlMmU3ZWY7XG4kbGlnaHQtZ3JleTogI2RiZTBlOTtcbiRsaWdodGlzaC1ncmV5OiAjYTRhYmI5O1xuJG1lZC1ncmV5OiAjOWJhY2I2O1xuJGRhcmtpc2gtZ3JleTogIzc0N2E4NTtcbiRkYXJrLWdyZXk6ICM2ZTc2N2Y7XG4kZGFya2VyLWdyZXk6ICM0ODRmNWI7XG4kYmxhY2tpc2g6ICMxZjIzMmM7XG5cbiRsaWdodC1ibHVlOiAjYzBlMWZmO1xuJGJsdWU6ICM0YzhmZmY7XG5cblxuLy9AaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TnVuaXRvOjMwMCk7XG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9pb25pY29ucy8yLjAuMS9jc3MvaW9uaWNvbnMubWluLmNzcycpO1xuQGltcG9ydCAnLi9mb250cycsXG4gICAgICAgICd2YXJzJztcblxuLy8gQm9vdHN0cmFwXG5AaW1wb3J0ICdib290c3RyYXAvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9taXhpbnMnO1xuQGltcG9ydCAnYm9vdHN0cmFwL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICdib290c3RyYXAvcHJpbnQnO1xuQGltcG9ydCAnYm9vdHN0cmFwL2dseXBoaWNvbnMnO1xuQGltcG9ydCAnYm9vdHN0cmFwL3NjYWZmb2xkaW5nJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC90eXBlJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9jb2RlJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9ncmlkJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC90YWJsZXMnO1xuQGltcG9ydCAnYm9vdHN0cmFwL2Zvcm1zJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9idXR0b25zJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9jb21wb25lbnQtYW5pbWF0aW9ucyc7XG5AaW1wb3J0ICdib290c3RyYXAvZHJvcGRvd25zJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9idXR0b24tZ3JvdXBzJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9pbnB1dC1ncm91cHMnO1xuQGltcG9ydCAnYm9vdHN0cmFwL25hdnMnO1xuQGltcG9ydCAnYm9vdHN0cmFwL25hdmJhcic7XG5AaW1wb3J0ICdib290c3RyYXAvbW9kYWxzJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC90b29sdGlwJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC91dGlsaXRpZXMnO1xuQGltcG9ydCAnYm9vdHN0cmFwL3Jlc3BvbnNpdmUtdXRpbGl0aWVzJztcblxuLmJ0biB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgLy8gbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgcGFkZGluZzogMTBweCAyMHB4IDEycHg7IC8vIG1hdGNoIGlucHV0W3R5cGU9dGV4dF0uaW5wdXRcbiAgZm9udC1zaXplOiAxNnB4O1xuXG4gICYuYnRuLWlvbmljIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgcGFkZGluZzogMTZweCAyOHB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6ICM1Qjk4RkY7XG4gICAgfVxuICB9XG5cbiAgJi5idG4tb3V0bGluZSB7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIGJvcmRlci1jb2xvcjogJGJsdWU7XG4gICAgYm9yZGVyOiAkYmx1ZSAycHggc29saWQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgfVxuICB9XG5cbiAgJi5maWxsIHtcbiAgICAmLmdyZWVuLFxuICAgICYuYmx1ZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwwLDAsMC4xKTtcbiAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICB9XG5cbiAgICAmLmdyZWVuIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzOWQ0NmQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYmx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNDhhY2Y4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcblxuICAgICAgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmhlYWRlci5jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXG4gIC5jcmVhdG9yLWxvZ28ge1xuICAgIHdpZHRoOiAxMjBweDtcbiAgfVxuXG4gIG5hdiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSAge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGRhcmtlci1ncmV5O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBjb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuXG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGxpZ2h0aXNoLWdyZXk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkgIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDhweCAxNHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcblxuICAgICAgJi5ib3JkZXIge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRsaWdodGVyLWdyZXk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHhcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmx1ZSB7XG4gICAgICBjb2xvcjogJGJsdWU7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRibHVlLCA1KTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lnbnVwIHtcbiAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgdHJhbnNpdGlvbjogLjJzIGJhY2tncm91bmQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGJsdWUsIDMpO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmhncm91cCB7XG4gIHBhZGRpbmctdG9wOiA3NXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGgxIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgY29sb3I6ICRibGFja2lzaDtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICsgcCB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICRkYXJrLWdyZXk7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgfVxuXG4gICYucHJlc2VydmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTgwcHg7XG4gICAgYmFja2dyb3VuZDogI2YzZjVmNyBjZW50ZXIgNTVweCBuby1yZXBlYXQgdXJsKCcvaW1nL3Byby9jcmVhdG9yL3N1cHBvcnQtYnVveS5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4ICNlMmU3ZWYgc29saWQ7XG4gIH1cblxuICAmOm5vdChmb3JtKSAuYnRuIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgJi5ncmV5LXRvcCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRpc2g7XG4gICAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0xMzBweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGxpZ2h0LWdyZXk7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT10ZXh0XS5pbnB1dCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRsaWdodC1ncmV5O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB0cmFuc2l0aW9uOiAuNHMgYm9yZGVyLWNvbG9yO1xuXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkbGlnaHRpc2gtZ3JleTtcbiAgfVxuXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGxpZ2h0aXNoLWdyZXk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRibHVlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuLnRhaWwge1xuICBiYWNrZ3JvdW5kOiAjMjYzZDRjO1xuICBjb2xvcjogJG1lZC1ncmV5O1xuICBwYWRkaW5nOiA4MHB4IDA7XG4gIG1hcmdpbi10b3A6IDkwcHg7XG5cbiAgJi5naG9zdCB7XG4gICAgYmFja2dyb3VuZDogIzI2M2Q0YyBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdCB1cmwoJy9pbWcvcHJvL2NyZWF0b3IvYmctY3JlYXRvci1naG9zdC5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycztcblxuICAgICAgJi51bmRlcnNjb3JlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAtM3B4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsdWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMnM7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogbGlnaHRlbigkYmx1ZSwgMTUpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRibHVlLCAxNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnN0YXJ0LW5vdyB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG5cbiAgZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAyOHB4O1xuXG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgcGFkZGluZzogMTFweCAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIC5pbnB1dCB7XG4gICAgICB3aWR0aDogMzMwcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgdXJsKCcvaW1nL3Byby9jcmVhdG9yL3NpZ251cC1hcnJvdy5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNjFweDtcbiAgICAgIHdpZHRoOiA2MXB4O1xuICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW4tbGVmdDogLTkwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cbiAgICBmb3JtIC5idG4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDEwcHggYXV0byAwO1xuICAgIH1cbiAgfVxufVxuXG5mb290ZXIge1xuICBjb2xvcjogJGxpZ2h0aXNoLWdyZXk7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuXG4gIC5yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB3aWR0aDogMTAwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5sZWZ0LFxuICAgICAgLnJpZ2h0LFxuICAgICAgLmNlbnRlciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuY2VudGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAubGVmdCB7XG4gICAgd2lkdGg6IDE5MHB4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDg3cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIGNvbG9yOiAkbGlnaHRpc2gtZ3JleTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuXG4gICAgLmNyZWF0b3ItbG9nbyB7XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuICB9XG5cbiAgLnJpZ2h0IHtcbiAgICB3aWR0aDogMzMycHg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLnR3aXR0ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIHVybCgnL2ltZy90d2l0dGVyLWJ1YmJsZS5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMzMnB4O1xuICAgIHdpZHRoOiAzMzJweDtcbiAgICBoZWlnaHQ6IDEwOXB4O1xuICAgIHBhZGRpbmc6IDE4cHggMTZweCAyNnB4IDU5cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAkYmxhY2tpc2g7XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkYmxhY2tpc2g7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGJsdWU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRibHVlLDE1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtZ3JvdzogMjtcblxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMmVtO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAjYjBiNmM0O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycztcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICM0ZjhlZjc7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAkYmxhY2tpc2g7XG4gICAgbGluZS1oZWlnaHQ6IDEwLjVweDtcbiAgfVxuXG4gIC5ib3R0b20ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiA0NHB4O1xuICAgIHBhZGRpbmctdG9wOiA0NHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5pb25pLWlvLWxvZ28ge1xuICAgICAgd2lkdGg6IDcycHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBjb2xvcjogJGxpZ2h0LWdyZXk7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogOThweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodGVyLWdyZXk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cbn1cblxuXG4jcGFnZS1jcmVhdG9yIHtcbiAgY29sb3I6ICRibGFja2lzaDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cbiAgLmhlcm8ge1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciBib3R0b20gbm8tcmVwZWF0IHVybCgnL2ltZy9wcm8vY3JlYXRvci9iZy1oZXJvLWNyZWF0b3IuanBnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBtaW4taGVpZ2h0OiA4NzVweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxOTUwcHgpICB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTE2MHB4O1xuXG4gICAgICBoZ3JvdXAuY29udGFpbmVyIGgzIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMjUwcHgpICB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTIzNXB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyNDAwcHgpICB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTI3MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyNTAwcHgpICB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTI5MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyNTUwcHgpICB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTMxMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkgIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogJHNjcmVlbi14cy1tYXg7XG4gICAgICBtaW4taGVpZ2h0OiA2MDBweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gICAgfVxuXG4gICAgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgaDEge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnM7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkYmx1ZSwgMTApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGNvbG9yOiAjNDc0ZDU5O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgIG1hcmdpbjogMjZweCBhdXRvIDQ0cHg7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgY29sb3I6ICRkYXJrLWdyZXk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudXNlZC1ieSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAkbGlnaHRpc2gtZ3JleTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDYwMnB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ob3ctY3JlYXRvci13b3JrcyB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNGE4ZWZhIDAlLCMzNGIzZmUgMTAwJSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgaDMsXG4gICAgaDQsXG4gICAgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIGhncm91cCB7XG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN0ZXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDMzMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDIxNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjcwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5kcmFnLW4tZHJvcCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9wcm8vY3JlYXRvci93b3Jrcy1kbmQucG5nPzEnKTtcbiAgICAgIH1cblxuICAgICAgJi5wcmV2aWV3IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL3Byby9jcmVhdG9yL3dvcmtzLXByZXZpZXcucG5nJyk7XG4gICAgICB9XG5cbiAgICAgICYuZXhwb3J0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL3Byby9jcmVhdG9yL3dvcmtzLWV4cG9ydC5wbmc/MScpO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIHVybCgnL2ltZy9wcm8vY3JlYXRvci9pY28tYXJyb3ctd29ya3MucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTlweDtcbiAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA4NXB4O1xuICAgICAgICByaWdodDogLTYwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkgYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNjBweDtcbiAgICAgICAgd2lkdGg6IDI3MHB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogLTM1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlcm8tc2lkZSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDQ5OHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgIH1cblxuICAgICYubGVmdCAuY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNjk1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgbGVmdCB0b3A7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDY4MnB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwMHB4O1xuICAgICAgICB3aWR0aDogMTEwMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDY3MHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjI3cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYucmlnaHQge1xuICAgICAgYmFja2dyb3VuZDogI2Y2ZjdmYTtcblxuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDY2MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgcmlnaHQgdG9wO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDY4MnB4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkgYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNTBweDtcbiAgICAgICAgICB3aWR0aDogMTAyMHB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDYzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIyN3B4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRvb2wgLmNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvcHJvL2NyZWF0b3IvZmVhdHVyZXMtdG9vbC5qcGcnKTtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5kbmQgLmNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvcHJvL2NyZWF0b3IvZmVhdHVyZXMtZG5kLnBuZz8xJyk7XG4gICAgfVxuXG4gICAgJi54cGxhdGZvcm0gLmNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvcHJvL2NyZWF0b3IvZmVhdHVyZXMteHBsYXRmb3JtLmpwZycpO1xuICAgIH1cblxuICAgICYudGVhbXMgLmNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvcHJvL2NyZWF0b3IvZmVhdHVyZXMtdGVhbXMucG5nPzEnKTtcbiAgICB9XG5cbiAgICAmLmlubGluZS1jb2RlLWVkaXRpbmcge1xuICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGxlZnQgYm90dG9tO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL3Byby9jcmVhdG9yL2ZlYXR1cmVzLWNvZGUuanBnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ1JTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjAwMHB4KSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODk2cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI5OXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogIzdFODc5MjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICBlbSxcbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBsYXRmb3JtcyB7XG4gICAgICB3aWR0aDogMTA3cHg7XG4gICAgfVxuICB9XG5cbiAgLmhlcm8tY2VudGVyIHtcbiAgICAudG9wIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxMjFiMmUgbm8tcmVwZWF0IGNlbnRlciBib3R0b20gdXJsKCcvaW1nL3Byby9jcmVhdG9yL2ZlYXR1cmVzLXByZXZpZXctcGhvdG8uanBnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4MDBweDtcblxuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogNDEwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNTFweDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6ICRsaWdodGlzaC1ncmV5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5ib3R0b20ge1xuICAgICAgYmFja2dyb3VuZDogIzIyMmY0OSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbSB1cmwoJy9pbWcvcHJvL2NyZWF0b3IvZmVhdHVyZXMtcHJldmlldy1ibHVyLmpwZz8xJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4MDBweDtcblxuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDIycHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6ICRsaWdodGlzaC1ncmV5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgaGVpZ2h0OiA1M3B4O1xuXG4gICAgICAgICAgJi5hcHAtc3RvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgdXJsKCcvaW1nL3Byby9jcmVhdG9yL2FwcC1zdG9yZS1jcmVhdG9yLWJ0bi5wbmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTUzcHg7XG4gICAgICAgICAgICB3aWR0aDogMTUzcHg7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDJweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuZ29vZ2xlLXBsYXkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgdXJsKCcvaW1nL3Byby9jcmVhdG9yL2dvb2dsZS1wbGF5LWNyZWF0b3ItYnRuLnBuZz8xJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4NHB4O1xuICAgICAgICAgICAgd2lkdGg6IDE4NHB4O1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTIzcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMjNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAkbGlnaHRlci1ncmV5O1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdC1jb21wYXJpc29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXG4gICYuYmlsbGluZy10b2dnbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRsaWdodC1ncmV5O1xuICAgICAgY29sb3I6ICRsaWdodGlzaC1ncmV5O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICB0cmFuc2l0aW9uOiAuMnMgY29sb3IsIC4ycyBib3JkZXItY29sb3I7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDIxLjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGxhbiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGxpZ2h0ZXItZ3JleTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMTVweCA2cHg7XG4gICAgcGFkZGluZzogMzBweCAxMHB4O1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEzcHgpO1xuICAgIG1heC13aWR0aDogMjUxcHg7XG4gICAgbWluLXdpZHRoOiAyMjRweDtcbiAgICBjb2xvcjogJGRhcmstZ3JleTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcblxuICAgIC5mYWRlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2l0aW9uOiAuMnMgZWFzZSBhbGw7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICYubmctaGlkZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41LCAxLjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZW50ZXJwcmlzZSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgd2lkdGg6IDY0MHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlciB1cmwoJy9pbWcvcHJvL2NyZWF0b3IvZW50cnBycy1zdHIucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjZweDtcbiAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTUwcHg7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAkbWVkLWdyZXk7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBjb2xvcjogI2Y2NjQ4NjtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5mcmVlIGgyIHsgY29sb3I6ICNmNmE0MmU7IH1cbiAgICAmLmRldiBoMiB7IGNvbG9yOiAjNWM2Nzc1OyB9XG4gICAgJi5wcm8gaDIgeyBjb2xvcjogIzM2Yzk3MTsgfVxuICAgICYuYnVzaW5lc3MgaDIgeyBjb2xvcjogIzgzNjRmNjsgfVxuXG4gICAgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGgyLFxuICAgICAgaDMsXG4gICAgICBoNCxcbiAgICAgIHNtYWxsIHtcbiAgICAgICAgY29sb3I6ICRibGFja2lzaDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGhlaWdodDogNjFweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBzdXAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICB0b3A6IC0uNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ViIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDM3cHg7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogJGxpZ2h0aXNoLWdyZXk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNy42cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDI1cHggMCAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICBtYXJnaW46IDAgLTEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgY29sb3I6ICRibGFja2lzaDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZmVhdHVyZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2Y2ZjhmYTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkgIHtcbiAgICAgIHdpZHRoOiAyMDVweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpICB7XG4gICAgLy8gLnByb2R1Y3QtY29tcGFyaXNvblxuICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLmFsc28taW5jbHVkZWQge1xuICBoMyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogODVweCBhdXRvO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICRkYXJraXNoLWdyZXk7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICB1bCB7XG4gICAgcGFkZGluZzogMCA3MnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICBsaSB7XG4gICAgd2lkdGg6IDI5NXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHRvcCBjZW50ZXIgbm8tcmVwZWF0IHVybCgnL2ltZy9wcm8vY3JlYXRvci9pbmNsdWRlZC1pY29ucy5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuc2hhcmluZzo6YmVmb3JlIHsgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTIwcHg7IH1cbiAgICAmLmlvbmljOjpiZWZvcmUgeyAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC00MHB4OyB9XG4gICAgJi50ZW1wbGF0ZXM6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtNjBweDsgfVxuICAgICYuZXhwb3J0aW5nOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTgwcHg7IH1cbiAgICAmLnByZXZpZXc6OmJlZm9yZSB7ICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0xMDBweDsgfVxuICB9XG5cbn1cblxuLmZhcSB7XG4gIGJhY2tncm91bmQ6ICNmNmY4ZmE7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDtcblxuICBoZ3JvdXAge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5jb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB9XG5cbiAgLmNvbCB7XG4gICAgbWF4LXdpZHRoOiAzOTVweDtcbiAgICBtYXJnaW46IDAgNDVweDtcblxuICAgIGR0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW46IDcwcHggMCAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgZGQge1xuICAgICAgY29sb3I6ICM4MDg2OTI7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMmVtO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogIzgwODY5MjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpICB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAuY29scyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuY29sIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmJyb2R5IHtcbiAgYmFja2dyb3VuZDogcmlnaHQgYm90dG9tIG5vLXJlcGVhdCB1cmwoJy9pbWcvcHJvL2NyZWF0b3Ivc3VwcG9ydC1icm9keS5qcGcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiA2MCU7XG4gIG1pbi1oZWlnaHQ6IDU1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuXG4gICsgLnRhaWwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBkbCB7XG4gICAgd2lkdGg6IDQ1JTtcblxuICAgIGR0IHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICBkZCB7XG4gICAgICBjb2xvcjogJGRhcmstZ3JleTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjllbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSAge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gICAgcGFkZGluZy1ib3R0b206IDI1MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzAwcHg7XG5cbiAgICBkbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuI2JvZHktY3JlYXRvci1kb2NzLFxuI2JvZHktY3JlYXRvci1kb2NzIC5jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNib2R5LWNyZWF0b3ItZG9jcyAjaW5kZXgge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC44KTtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgd2lkdGg6IDI3N3B4O1xuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkgYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgd2lkdGg6IDIxMnB4O1xuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkgYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgd2lkdGg6IDE1N3B4O1xuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkgIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICB9XG5cbiAgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogJGJsYWNraXNoO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbjogMS4xZW0gMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnMsIGJvcmRlci1jb2xvciAuMnM7XG4gICAgfVxuXG4gICAgdWwgLmFjdGl2ZSA+IGEsXG4gICAgYTpob3ZlciB7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG5cbiAgICAgICYuYW5pbWF0ZS1zaG93IHtcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDE1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5uZy1oaWRlLWFkZCxcbiAgICAgICAgJi5uZy1oaWRlLXJlbW92ZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAuMnM7XG4gICAgICAgIH1cblxuICAgICAgICAmLm5nLWhpZGUge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAkbGlnaHRpc2gtZ3JleTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAuMnM7XG4gICAgICB9XG5cbiAgICAgIC5hY3RpdmUgYSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsdWU7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2RvY3Mge1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbjogMi4yZW0gMCAuOGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuXG4gIGg0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICRkYXJraXNoLWdyZXk7XG4gICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG59XG5cbi5zdHVkaW8tY2FsbG91dCB7XG4gIG1hcmdpbjogMTAwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRENUI2OTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gIGhncm91cCB7XG4gICAgZmxleDogMCAwIDQ1JTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogODBweCAwIDgwcHggODBweDtcblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBjb2xvcjogI0RERERERDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgcCBzdHJvbmd7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDIwcHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLWxnKSAge1xuICAgIGhncm91cCB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDAgNDBweCA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtKSAge1xuICAgIG1hcmdpbjogMTIwcHggMCAwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6IDQ3NXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEwMHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTYwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIGhncm91cCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cykgIHtcbiAgICBoZ3JvdXAge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvK01vbm8nKTtcblxuJGNkbjogJ2h0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzLyc7XG4kZm9udHNEaXI6ICcvZm9udHMvJztcbiRlaW5hRGlyOiAkZm9udHNEaXIgKyAnZWluYS8nO1xuJGdyYXBoaWtEaXI6ICRmb250c0RpciArICdncmFwaGlrLyc7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgc3JjOlxuICAgIHVybCgkZm9udHNEaXIgKyAnaW9uaWNvbnMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCRmb250c0RpciArICdpb25pY29ucy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCRmb250c0RpciArICdpb25pY29ucy50dGYnKSBmb3JtYXQoJ3R0ZicpLFxuICAgIHVybCgkZm9udHNEaXIgKyAnaW9uaWNvbnMuZW90I2llZml4JykgZm9ybWF0KCdlb3QnKVxuICAgIHVybCgkZm9udHNEaXIgKyAnaW9uaWNvbnMuc3ZnI0lvbmljb25zJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdFaW5hJztcbiAgc3JjOiB1cmwoJGVpbmFEaXIgKyAnZWluYS0wMS1ib2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkZWluYURpciArICdlaW5hLTAxLWJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgkZWluYURpciArICdlaW5hLTAxLWJvbGQudHRmJykgZm9ybWF0KCd0dGYnKSxcbiAgICAgICB1cmwoJGVpbmFEaXIgKyAnZWluYS0wMS1ib2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VvdCcpO1xuICBmb250LXdlaWdodDogNzAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdFaW5hJztcbiAgc3JjOiB1cmwoJGVpbmFEaXIgKyAnZWluYS0wMS1zZW1pYm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJGVpbmFEaXIgKyAnZWluYS0wMS1zZW1pYm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCRlaW5hRGlyICsgJ2VpbmEtMDEtc2VtaWJvbGQudHRmJykgZm9ybWF0KCd0dGYnKSxcbiAgICAgICB1cmwoJGVpbmFEaXIgKyAnZWluYS0wMS1zZW1pYm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlb3QnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRWluYSc7XG4gIHNyYzogdXJsKCRlaW5hRGlyICsgJ2VpbmEtMDEtcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJGVpbmFEaXIgKyAnZWluYS0wMS1yZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoJGVpbmFEaXIgKyAnZWluYS0wMS1yZWd1bGFyLnR0ZicpIGZvcm1hdCgndHRmJyksXG4gICAgICAgdXJsKCRlaW5hRGlyICsgJ2VpbmEtMDEtcmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlb3QnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6ICBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjtcbiAgc3JjOiB1cmwoJGNkbiArICdpbnRlci9JbnRlci1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkY2RuICsgJ2ludGVyL0ludGVyLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItSXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkY2RuICsgJ2ludGVyL0ludGVyLUl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogIG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybCgkY2RuICsgJ2ludGVyL0ludGVyLU1lZGl1bS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJGNkbiArICdpbnRlci9JbnRlci1NZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItTWVkaXVtSXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkY2RuICsgJ2ludGVyL0ludGVyLU1lZGl1bUl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogIG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybCgkY2RuICsgJ2ludGVyL0ludGVyLVNlbWlCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkY2RuICsgJ2ludGVyL0ludGVyLVNlbWlCb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogIGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybCgkY2RuICsgJ2ludGVyL0ludGVyLVNlbWlCb2xkSXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkY2RuICsgJ2ludGVyL0ludGVyLVNlbWlCb2xkSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJGNkbiArICdpbnRlci9JbnRlci1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogIGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybCgkY2RuICsgJ2ludGVyL0ludGVyLUJvbGRJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItQm9sZEl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogIG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybCgkY2RuICsgJ2ludGVyL0ludGVyLUV4dHJhQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJGNkbiArICdpbnRlci9JbnRlci1FeHRyYUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgaXRhbGljO1xuICBmb250LXdlaWdodDogODAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItRXh0cmFCb2xkSXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkY2RuICsgJ2ludGVyL0ludGVyLUV4dHJhQm9sZEl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogIG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybCgkY2RuICsgJ2ludGVyL0ludGVyLUJsYWNrLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkY2RuICsgJ2ludGVyL0ludGVyLUJsYWNrLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogIGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybCgkY2RuICsgJ2ludGVyL0ludGVyLUJsYWNrSXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkY2RuICsgJ2ludGVyL0ludGVyLUJsYWNrSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRnJlaWdodFRleHRQcm8nO1xuICBmb250LXdlaWdodDogNDAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKCRjZG4gKyAnMjlEMjZBXzBfMC5lb3QnKTtcbiAgc3JjOiB1cmwoJGNkbiArICcyOUQyNkFfMF8wLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKCRjZG4gKyAnMjlEMjZBXzBfMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCRjZG4gKyAnMjlEMjZBXzBfMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZyZWlnaHRUZXh0UHJvJztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybCgkY2RuICsgJzI5RDI2QV8xXzAuZW90Jyk7XG4gIHNyYzogdXJsKCRjZG4gKyAnMjlEMjZBXzFfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgkY2RuICsgJzI5RDI2QV8xXzAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgkY2RuICsgJzI5RDI2QV8xXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8vXG4vLyAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuLy8gMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4vLyAgICB1c2VyIHpvb20uXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4vL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4vLyBhbmQgRmlyZWZveC5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4vL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4vL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyAyXG59XG5cbi8vXG4vLyBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuLy8gUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbi8vXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbi8vIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbi8vXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUZXh0LWxldmVsIHNlbWFudGljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy9cbi8vIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbi8vIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuLy9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLy8gRW1iZWRkZWQgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuLy9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vL1xuLy8gQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4vL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEdyb3VwaW5nIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbi8vXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4vL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vLyBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4vLyBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4vL1xuXG4vL1xuLy8gMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4vLyAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMVxuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gM1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbi8vIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4vLyBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuLy8gQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuLy9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuLy8gICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4vLyAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4vLyAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuLy8gICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuLy9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbiAgY3Vyc29yOiBwb2ludGVyOyAvLyAzXG59XG5cbi8vXG4vLyBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuLy9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4vLyB0aGUgVUEgc3R5bGVzaGVldC5cbi8vXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLy9cbi8vIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbi8vIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4vL1xuLy8gMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbi8vIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4vLyBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuLy8gZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuLy9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vXG4vLyAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbi8vICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbi8vIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbi8vIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuLy9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4vLyAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4vL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4vLyBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbi8vXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiQGltcG9ydCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2lvbmljb25zLzIuMC4xL2Nzcy9pb25pY29ucy5taW4uY3NzXCIpO1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvK01vbm9cIik7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL2lvbmljb25zLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvZm9udHMvaW9uaWNvbnMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvZm9udHMvaW9uaWNvbnMudHRmXCIpIGZvcm1hdChcInR0ZlwiKSwgdXJsKFwiL2ZvbnRzL2lvbmljb25zLmVvdCNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIikgdXJsKFwiL2ZvbnRzL2lvbmljb25zLnN2ZyNJb25pY29uc1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdFaW5hJztcbiAgc3JjOiB1cmwoXCIvZm9udHMvZWluYS9laW5hLTAxLWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi9mb250cy9laW5hL2VpbmEtMDEtYm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9mb250cy9laW5hL2VpbmEtMDEtYm9sZC50dGZcIikgZm9ybWF0KFwidHRmXCIpLCB1cmwoXCIvZm9udHMvZWluYS9laW5hLTAxLWJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdFaW5hJztcbiAgc3JjOiB1cmwoXCIvZm9udHMvZWluYS9laW5hLTAxLXNlbWlib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvZm9udHMvZWluYS9laW5hLTAxLXNlbWlib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2ZvbnRzL2VpbmEvZWluYS0wMS1zZW1pYm9sZC50dGZcIikgZm9ybWF0KFwidHRmXCIpLCB1cmwoXCIvZm9udHMvZWluYS9laW5hLTAxLXNlbWlib2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpO1xuICBmb250LXdlaWdodDogNjAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRWluYSc7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL2VpbmEvZWluYS0wMS1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvZm9udHMvZWluYS9laW5hLTAxLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvZm9udHMvZWluYS9laW5hLTAxLXJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInR0ZlwiKSwgdXJsKFwiL2ZvbnRzL2VpbmEvZWluYS0wMS1yZWd1bGFyLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjtcbiAgc3JjOiB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1SZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLUl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLU1lZGl1bS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItTWVkaXVtLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLU1lZGl1bUl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItTWVkaXVtSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLVNlbWlCb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1TZW1pQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjtcbiAgc3JjOiB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1TZW1pQm9sZEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItU2VtaUJvbGRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjtcbiAgc3JjOiB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1Cb2xkSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1Cb2xkSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLUV4dHJhQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItRXh0cmFCb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLUV4dHJhQm9sZEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItRXh0cmFCb2xkSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLUJsYWNrLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1CbGFjay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjtcbiAgc3JjOiB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1CbGFja0l0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItQmxhY2tJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZyZWlnaHRUZXh0UHJvJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzLzI5RDI2QV8wXzAuZW90XCIpO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzLzI5RDI2QV8wXzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvMjlEMjZBXzBfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzLzI5RDI2QV8wXzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZyZWlnaHRUZXh0UHJvJztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzLzI5RDI2QV8xXzAuZW90XCIpO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzLzI5RDI2QV8xXzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvMjlEMjZBXzFfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzLzI5RDI2QV8xXzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyohIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyAqL1xuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjpiZWZvcmUsXG4gICo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyB9XG4gIC5uYXZiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJ0biA+IC5jYXJldCxcbiAgLmRyb3B1cCA+IC5idG4gPiAuY2FyZXQge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDsgfVxuICAubGFiZWwge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7IH1cbiAgLnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7IH1cbiAgICAudGFibGUgdGQsXG4gICAgLnRhYmxlIHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuICAudGFibGUtYm9yZGVyZWQgdGgsXG4gIC50YWJsZS1ib3JkZXJlZCB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50OyB9IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9ib290c3RyYXAvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9ib290c3RyYXAvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvYm9vdHN0cmFwL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9ib290c3RyYXAvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLnN2ZyNnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXJcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5nbHlwaGljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uZ2x5cGhpY29uLWFzdGVyaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyYVwiOyB9XG5cbi5nbHlwaGljb24tcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmJcIjsgfVxuXG4uZ2x5cGhpY29uLWV1cm86YmVmb3JlLFxuLmdseXBoaWNvbi1ldXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwYWNcIjsgfVxuXG4uZ2x5cGhpY29uLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMjEyXCI7IH1cblxuLmdseXBoaWNvbi1jbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjYwMVwiOyB9XG5cbi5nbHlwaGljb24tZW52ZWxvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI3MDlcIjsgfVxuXG4uZ2x5cGhpY29uLXBlbmNpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjcwZlwiOyB9XG5cbi5nbHlwaGljb24tZ2xhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDFcIjsgfVxuXG4uZ2x5cGhpY29uLW11c2ljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDAyXCI7IH1cblxuLmdseXBoaWNvbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDNcIjsgfVxuXG4uZ2x5cGhpY29uLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA1XCI7IH1cblxuLmdseXBoaWNvbi1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA2XCI7IH1cblxuLmdseXBoaWNvbi1zdGFyLWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA3XCI7IH1cblxuLmdseXBoaWNvbi11c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA4XCI7IH1cblxuLmdseXBoaWNvbi1maWxtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA5XCI7IH1cblxuLmdseXBoaWNvbi10aC1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxMFwiOyB9XG5cbi5nbHlwaGljb24tdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTFcIjsgfVxuXG4uZ2x5cGhpY29uLXRoLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTJcIjsgfVxuXG4uZ2x5cGhpY29uLW9rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDEzXCI7IH1cblxuLmdseXBoaWNvbi1yZW1vdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTRcIjsgfVxuXG4uZ2x5cGhpY29uLXpvb20taW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTVcIjsgfVxuXG4uZ2x5cGhpY29uLXpvb20tb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE2XCI7IH1cblxuLmdseXBoaWNvbi1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTdcIjsgfVxuXG4uZ2x5cGhpY29uLXNpZ25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxOFwiOyB9XG5cbi5nbHlwaGljb24tY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE5XCI7IH1cblxuLmdseXBoaWNvbi10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyMFwiOyB9XG5cbi5nbHlwaGljb24taG9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyMVwiOyB9XG5cbi5nbHlwaGljb24tZmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyMlwiOyB9XG5cbi5nbHlwaGljb24tdGltZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyM1wiOyB9XG5cbi5nbHlwaGljb24tcm9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyNFwiOyB9XG5cbi5nbHlwaGljb24tZG93bmxvYWQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDI1XCI7IH1cblxuLmdseXBoaWNvbi1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyNlwiOyB9XG5cbi5nbHlwaGljb24tdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDI3XCI7IH1cblxuLmdseXBoaWNvbi1pbmJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyOFwiOyB9XG5cbi5nbHlwaGljb24tcGxheS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjlcIjsgfVxuXG4uZ2x5cGhpY29uLXJlcGVhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzMFwiOyB9XG5cbi5nbHlwaGljb24tcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzMVwiOyB9XG5cbi5nbHlwaGljb24tbGlzdC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzJcIjsgfVxuXG4uZ2x5cGhpY29uLWxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzNcIjsgfVxuXG4uZ2x5cGhpY29uLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzRcIjsgfVxuXG4uZ2x5cGhpY29uLWhlYWRwaG9uZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzVcIjsgfVxuXG4uZ2x5cGhpY29uLXZvbHVtZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzZcIjsgfVxuXG4uZ2x5cGhpY29uLXZvbHVtZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDM3XCI7IH1cblxuLmdseXBoaWNvbi12b2x1bWUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzhcIjsgfVxuXG4uZ2x5cGhpY29uLXFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzOVwiOyB9XG5cbi5nbHlwaGljb24tYmFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0MFwiOyB9XG5cbi5nbHlwaGljb24tdGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQxXCI7IH1cblxuLmdseXBoaWNvbi10YWdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQyXCI7IH1cblxuLmdseXBoaWNvbi1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQzXCI7IH1cblxuLmdseXBoaWNvbi1ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0NFwiOyB9XG5cbi5nbHlwaGljb24tcHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDVcIjsgfVxuXG4uZ2x5cGhpY29uLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0NlwiOyB9XG5cbi5nbHlwaGljb24tZm9udDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0N1wiOyB9XG5cbi5nbHlwaGljb24tYm9sZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0OFwiOyB9XG5cbi5nbHlwaGljb24taXRhbGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ5XCI7IH1cblxuLmdseXBoaWNvbi10ZXh0LWhlaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1MFwiOyB9XG5cbi5nbHlwaGljb24tdGV4dC13aWR0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1MVwiOyB9XG5cbi5nbHlwaGljb24tYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1MlwiOyB9XG5cbi5nbHlwaGljb24tYWxpZ24tY2VudGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDUzXCI7IH1cblxuLmdseXBoaWNvbi1hbGlnbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NFwiOyB9XG5cbi5nbHlwaGljb24tYWxpZ24tanVzdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NVwiOyB9XG5cbi5nbHlwaGljb24tbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NlwiOyB9XG5cbi5nbHlwaGljb24taW5kZW50LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTdcIjsgfVxuXG4uZ2x5cGhpY29uLWluZGVudC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1OFwiOyB9XG5cbi5nbHlwaGljb24tZmFjZXRpbWUtdmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTlcIjsgfVxuXG4uZ2x5cGhpY29uLXBpY3R1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjBcIjsgfVxuXG4uZ2x5cGhpY29uLW1hcC1tYXJrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjJcIjsgfVxuXG4uZ2x5cGhpY29uLWFkanVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2M1wiOyB9XG5cbi5nbHlwaGljb24tdGludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2NFwiOyB9XG5cbi5nbHlwaGljb24tZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2NVwiOyB9XG5cbi5nbHlwaGljb24tc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjZcIjsgfVxuXG4uZ2x5cGhpY29uLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY3XCI7IH1cblxuLmdseXBoaWNvbi1tb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY4XCI7IH1cblxuLmdseXBoaWNvbi1zdGVwLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY5XCI7IH1cblxuLmdseXBoaWNvbi1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDcwXCI7IH1cblxuLmdseXBoaWNvbi1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MVwiOyB9XG5cbi5nbHlwaGljb24tcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MlwiOyB9XG5cbi5nbHlwaGljb24tcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzNcIjsgfVxuXG4uZ2x5cGhpY29uLXN0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzRcIjsgfVxuXG4uZ2x5cGhpY29uLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzVcIjsgfVxuXG4uZ2x5cGhpY29uLWZhc3QtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3NlwiOyB9XG5cbi5nbHlwaGljb24tc3RlcC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc3XCI7IH1cblxuLmdseXBoaWNvbi1lamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3OFwiOyB9XG5cbi5nbHlwaGljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc5XCI7IH1cblxuLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgwXCI7IH1cblxuLmdseXBoaWNvbi1wbHVzLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODFcIjsgfVxuXG4uZ2x5cGhpY29uLW1pbnVzLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODJcIjsgfVxuXG4uZ2x5cGhpY29uLXJlbW92ZS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgzXCI7IH1cblxuLmdseXBoaWNvbi1vay1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg0XCI7IH1cblxuLmdseXBoaWNvbi1xdWVzdGlvbi1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg1XCI7IH1cblxuLmdseXBoaWNvbi1pbmZvLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODZcIjsgfVxuXG4uZ2x5cGhpY29uLXNjcmVlbnNob3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODdcIjsgfVxuXG4uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODhcIjsgfVxuXG4uZ2x5cGhpY29uLW9rLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4OVwiOyB9XG5cbi5nbHlwaGljb24tYmFuLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5MFwiOyB9XG5cbi5nbHlwaGljb24tYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5MVwiOyB9XG5cbi5nbHlwaGljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTJcIjsgfVxuXG4uZ2x5cGhpY29uLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDkzXCI7IH1cblxuLmdseXBoaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDk0XCI7IH1cblxuLmdseXBoaWNvbi1zaGFyZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTVcIjsgfVxuXG4uZ2x5cGhpY29uLXJlc2l6ZS1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDk2XCI7IH1cblxuLmdseXBoaWNvbi1yZXNpemUtc21hbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTdcIjsgfVxuXG4uZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDFcIjsgfVxuXG4uZ2x5cGhpY29uLWdpZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDJcIjsgfVxuXG4uZ2x5cGhpY29uLWxlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDNcIjsgfVxuXG4uZ2x5cGhpY29uLWZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDRcIjsgfVxuXG4uZ2x5cGhpY29uLWV5ZS1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTA1XCI7IH1cblxuLmdseXBoaWNvbi1leWUtY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDZcIjsgfVxuXG4uZ2x5cGhpY29uLXdhcm5pbmctc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwN1wiOyB9XG5cbi5nbHlwaGljb24tcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDhcIjsgfVxuXG4uZ2x5cGhpY29uLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTA5XCI7IH1cblxuLmdseXBoaWNvbi1yYW5kb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTBcIjsgfVxuXG4uZ2x5cGhpY29uLWNvbW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTFcIjsgfVxuXG4uZ2x5cGhpY29uLW1hZ25ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExMlwiOyB9XG5cbi5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExM1wiOyB9XG5cbi5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTE0XCI7IH1cblxuLmdseXBoaWNvbi1yZXR3ZWV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTE1XCI7IH1cblxuLmdseXBoaWNvbi1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTE2XCI7IH1cblxuLmdseXBoaWNvbi1mb2xkZXItY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTdcIjsgfVxuXG4uZ2x5cGhpY29uLWZvbGRlci1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTE4XCI7IH1cblxuLmdseXBoaWNvbi1yZXNpemUtdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTlcIjsgfVxuXG4uZ2x5cGhpY29uLXJlc2l6ZS1ob3Jpem9udGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTIwXCI7IH1cblxuLmdseXBoaWNvbi1oZGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjFcIjsgfVxuXG4uZ2x5cGhpY29uLWJ1bGxob3JuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTIyXCI7IH1cblxuLmdseXBoaWNvbi1iZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTIzXCI7IH1cblxuLmdseXBoaWNvbi1jZXJ0aWZpY2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEyNFwiOyB9XG5cbi5nbHlwaGljb24tdGh1bWJzLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTI1XCI7IH1cblxuLmdseXBoaWNvbi10aHVtYnMtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEyNlwiOyB9XG5cbi5nbHlwaGljb24taGFuZC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEyN1wiOyB9XG5cbi5nbHlwaGljb24taGFuZC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTI4XCI7IH1cblxuLmdseXBoaWNvbi1oYW5kLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTI5XCI7IH1cblxuLmdseXBoaWNvbi1oYW5kLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzBcIjsgfVxuXG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzMVwiOyB9XG5cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzJcIjsgfVxuXG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzM1wiOyB9XG5cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzRcIjsgfVxuXG4uZ2x5cGhpY29uLWdsb2JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTM1XCI7IH1cblxuLmdseXBoaWNvbi13cmVuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzZcIjsgfVxuXG4uZ2x5cGhpY29uLXRhc2tzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTM3XCI7IH1cblxuLmdseXBoaWNvbi1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzhcIjsgfVxuXG4uZ2x5cGhpY29uLWJyaWVmY2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzOVwiOyB9XG5cbi5nbHlwaGljb24tZnVsbHNjcmVlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE0MFwiOyB9XG5cbi5nbHlwaGljb24tZGFzaGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQxXCI7IH1cblxuLmdseXBoaWNvbi1wYXBlcmNsaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDJcIjsgfVxuXG4uZ2x5cGhpY29uLWhlYXJ0LWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQzXCI7IH1cblxuLmdseXBoaWNvbi1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQ0XCI7IH1cblxuLmdseXBoaWNvbi1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE0NVwiOyB9XG5cbi5nbHlwaGljb24tcHVzaHBpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE0NlwiOyB9XG5cbi5nbHlwaGljb24tdXNkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQ4XCI7IH1cblxuLmdseXBoaWNvbi1nYnA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDlcIjsgfVxuXG4uZ2x5cGhpY29uLXNvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNTBcIjsgfVxuXG4uZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNTFcIjsgfVxuXG4uZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTUyXCI7IH1cblxuLmdseXBoaWNvbi1zb3J0LWJ5LW9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTUzXCI7IH1cblxuLmdseXBoaWNvbi1zb3J0LWJ5LW9yZGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1NFwiOyB9XG5cbi5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTU1XCI7IH1cblxuLmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTU2XCI7IH1cblxuLmdseXBoaWNvbi11bmNoZWNrZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNTdcIjsgfVxuXG4uZ2x5cGhpY29uLWV4cGFuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1OFwiOyB9XG5cbi5nbHlwaGljb24tY29sbGFwc2UtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1OVwiOyB9XG5cbi5nbHlwaGljb24tY29sbGFwc2UtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjBcIjsgfVxuXG4uZ2x5cGhpY29uLWxvZy1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2MVwiOyB9XG5cbi5nbHlwaGljb24tZmxhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjJcIjsgfVxuXG4uZ2x5cGhpY29uLWxvZy1vdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjNcIjsgfVxuXG4uZ2x5cGhpY29uLW5ldy13aW5kb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjRcIjsgfVxuXG4uZ2x5cGhpY29uLXJlY29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2NVwiOyB9XG5cbi5nbHlwaGljb24tc2F2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2NlwiOyB9XG5cbi5nbHlwaGljb24tb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2N1wiOyB9XG5cbi5nbHlwaGljb24tc2F2ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjhcIjsgfVxuXG4uZ2x5cGhpY29uLWltcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2OVwiOyB9XG5cbi5nbHlwaGljb24tZXhwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTcwXCI7IH1cblxuLmdseXBoaWNvbi1zZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTcxXCI7IH1cblxuLmdseXBoaWNvbi1mbG9wcHktZGlzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3MlwiOyB9XG5cbi5nbHlwaGljb24tZmxvcHB5LXNhdmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTczXCI7IH1cblxuLmdseXBoaWNvbi1mbG9wcHktcmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc0XCI7IH1cblxuLmdseXBoaWNvbi1mbG9wcHktc2F2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3NVwiOyB9XG5cbi5nbHlwaGljb24tZmxvcHB5LW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNzZcIjsgfVxuXG4uZ2x5cGhpY29uLWNyZWRpdC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc3XCI7IH1cblxuLmdseXBoaWNvbi10cmFuc2ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3OFwiOyB9XG5cbi5nbHlwaGljb24tY3V0bGVyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3OVwiOyB9XG5cbi5nbHlwaGljb24taGVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTgwXCI7IH1cblxuLmdseXBoaWNvbi1jb21wcmVzc2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTgxXCI7IH1cblxuLmdseXBoaWNvbi1lYXJwaG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE4MlwiOyB9XG5cbi5nbHlwaGljb24tcGhvbmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTgzXCI7IH1cblxuLmdseXBoaWNvbi10b3dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE4NFwiOyB9XG5cbi5nbHlwaGljb24tc3RhdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODVcIjsgfVxuXG4uZ2x5cGhpY29uLXNkLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg2XCI7IH1cblxuLmdseXBoaWNvbi1oZC12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE4N1wiOyB9XG5cbi5nbHlwaGljb24tc3VidGl0bGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg4XCI7IH1cblxuLmdseXBoaWNvbi1zb3VuZC1zdGVyZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODlcIjsgfVxuXG4uZ2x5cGhpY29uLXNvdW5kLWRvbGJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTkwXCI7IH1cblxuLmdseXBoaWNvbi1zb3VuZC01LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTFcIjsgfVxuXG4uZ2x5cGhpY29uLXNvdW5kLTYtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE5MlwiOyB9XG5cbi5nbHlwaGljb24tc291bmQtNy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTkzXCI7IH1cblxuLmdseXBoaWNvbi1jb3B5cmlnaHQtbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE5NFwiOyB9XG5cbi5nbHlwaGljb24tcmVnaXN0cmF0aW9uLW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTVcIjsgfVxuXG4uZ2x5cGhpY29uLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTk3XCI7IH1cblxuLmdseXBoaWNvbi1jbG91ZC11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOThcIjsgfVxuXG4uZ2x5cGhpY29uLXRyZWUtY29uaWZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE5OVwiOyB9XG5cbi5nbHlwaGljb24tdHJlZS1kZWNpZHVvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDBcIjsgfVxuXG4uZ2x5cGhpY29uLWNkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjAxXCI7IH1cblxuLmdseXBoaWNvbi1zYXZlLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDJcIjsgfVxuXG4uZ2x5cGhpY29uLW9wZW4tZmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIwM1wiOyB9XG5cbi5nbHlwaGljb24tbGV2ZWwtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDRcIjsgfVxuXG4uZ2x5cGhpY29uLWNvcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDVcIjsgfVxuXG4uZ2x5cGhpY29uLXBhc3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjA2XCI7IH1cblxuLmdseXBoaWNvbi1hbGVydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIwOVwiOyB9XG5cbi5nbHlwaGljb24tZXF1YWxpemVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjEwXCI7IH1cblxuLmdseXBoaWNvbi1raW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjExXCI7IH1cblxuLmdseXBoaWNvbi1xdWVlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIxMlwiOyB9XG5cbi5nbHlwaGljb24tcGF3bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIxM1wiOyB9XG5cbi5nbHlwaGljb24tYmlzaG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjE0XCI7IH1cblxuLmdseXBoaWNvbi1rbmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTVcIjsgfVxuXG4uZ2x5cGhpY29uLWJhYnktZm9ybXVsYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIxNlwiOyB9XG5cbi5nbHlwaGljb24tdGVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjZmYVwiOyB9XG5cbi5nbHlwaGljb24tYmxhY2tib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIxOFwiOyB9XG5cbi5nbHlwaGljb24tYmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjE5XCI7IH1cblxuLmdseXBoaWNvbi1hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhmZlwiOyB9XG5cbi5nbHlwaGljb24tZXJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMjFcIjsgfVxuXG4uZ2x5cGhpY29uLWhvdXJnbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjMxYlwiOyB9XG5cbi5nbHlwaGljb24tbGFtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIyM1wiOyB9XG5cbi5nbHlwaGljb24tZHVwbGljYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjI0XCI7IH1cblxuLmdseXBoaWNvbi1waWdneS1iYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjI1XCI7IH1cblxuLmdseXBoaWNvbi1zY2lzc29yczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIyNlwiOyB9XG5cbi5nbHlwaGljb24tYml0Y29pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIyN1wiOyB9XG5cbi5nbHlwaGljb24tYnRjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH1cblxuLmdseXBoaWNvbi14YnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMjdcIjsgfVxuXG4uZ2x5cGhpY29uLXllbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMDBhNVwiOyB9XG5cbi5nbHlwaGljb24tanB5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwwMGE1XCI7IH1cblxuLmdseXBoaWNvbi1ydWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjBiZFwiOyB9XG5cbi5nbHlwaGljb24tcnViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMGJkXCI7IH1cblxuLmdseXBoaWNvbi1zY2FsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzMFwiOyB9XG5cbi5nbHlwaGljb24taWNlLWxvbGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjMxXCI7IH1cblxuLmdseXBoaWNvbi1pY2UtbG9sbHktdGFzdGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjMyXCI7IH1cblxuLmdseXBoaWNvbi1lZHVjYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzNcIjsgfVxuXG4uZ2x5cGhpY29uLW9wdGlvbi1ob3Jpem9udGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjM0XCI7IH1cblxuLmdseXBoaWNvbi1vcHRpb24tdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzVcIjsgfVxuXG4uZ2x5cGhpY29uLW1lbnUtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjM2XCI7IH1cblxuLmdseXBoaWNvbi1tb2RhbC13aW5kb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzdcIjsgfVxuXG4uZ2x5cGhpY29uLW9pbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzOFwiOyB9XG5cbi5nbHlwaGljb24tZ3JhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzlcIjsgfVxuXG4uZ2x5cGhpY29uLXN1bmdsYXNzZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDBcIjsgfVxuXG4uZ2x5cGhpY29uLXRleHQtc2l6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0MVwiOyB9XG5cbi5nbHlwaGljb24tdGV4dC1jb2xvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0MlwiOyB9XG5cbi5nbHlwaGljb24tdGV4dC1iYWNrZ3JvdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQzXCI7IH1cblxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQ0XCI7IH1cblxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tYm90dG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQ1XCI7IH1cblxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24taG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0NlwiOyB9XG5cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDdcIjsgfVxuXG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi12ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0OFwiOyB9XG5cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQ5XCI7IH1cblxuLmdseXBoaWNvbi10cmlhbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1MFwiOyB9XG5cbi5nbHlwaGljb24tdHJpYW5nbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1MVwiOyB9XG5cbi5nbHlwaGljb24tdHJpYW5nbGUtYm90dG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjUyXCI7IH1cblxuLmdseXBoaWNvbi10cmlhbmdsZS10b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTNcIjsgfVxuXG4uZ2x5cGhpY29uLWNvbnNvbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTRcIjsgfVxuXG4uZ2x5cGhpY29uLXN1cGVyc2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjU1XCI7IH1cblxuLmdseXBoaWNvbi1zdWJzY3JpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTZcIjsgfVxuXG4uZ2x5cGhpY29uLW1lbnUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1N1wiOyB9XG5cbi5nbHlwaGljb24tbWVudS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1OFwiOyB9XG5cbi5nbHlwaGljb24tbWVudS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjU5XCI7IH1cblxuLmdseXBoaWNvbi1tZW51LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjYwXCI7IH1cblxuKiB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5hIHtcbiAgY29sb3I6ICMzMzdhYjc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzIzNTI3YztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbiAgICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmltZy1yZXNwb25zaXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5pbWctcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6IDRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uaW1nLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG5ociB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDsgfVxuXG4uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLCAuc3Itb25seS1mb2N1c2FibGU6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG4gIGgxIHNtYWxsLFxuICBoMSAuc21hbGwsIGgyIHNtYWxsLFxuICBoMiAuc21hbGwsIGgzIHNtYWxsLFxuICBoMyAuc21hbGwsIGg0IHNtYWxsLFxuICBoNCAuc21hbGwsIGg1IHNtYWxsLFxuICBoNSAuc21hbGwsIGg2IHNtYWxsLFxuICBoNiAuc21hbGwsXG4gIC5oMSBzbWFsbCxcbiAgLmgxIC5zbWFsbCwgLmgyIHNtYWxsLFxuICAuaDIgLnNtYWxsLCAuaDMgc21hbGwsXG4gIC5oMyAuc21hbGwsIC5oNCBzbWFsbCxcbiAgLmg0IC5zbWFsbCwgLmg1IHNtYWxsLFxuICAuaDUgLnNtYWxsLCAuaDYgc21hbGwsXG4gIC5oNiAuc21hbGwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBoMSBzbWFsbCxcbiAgaDEgLnNtYWxsLCAuaDEgc21hbGwsXG4gIC5oMSAuc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMiAuc21hbGwsIC5oMiBzbWFsbCxcbiAgLmgyIC5zbWFsbCxcbiAgaDMgc21hbGwsXG4gIGgzIC5zbWFsbCwgLmgzIHNtYWxsLFxuICAuaDMgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDY1JTsgfVxuXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIGg0IHNtYWxsLFxuICBoNCAuc21hbGwsIC5oNCBzbWFsbCxcbiAgLmg0IC5zbWFsbCxcbiAgaDUgc21hbGwsXG4gIGg1IC5zbWFsbCwgLmg1IHNtYWxsLFxuICAuaDUgLnNtYWxsLFxuICBoNiBzbWFsbCxcbiAgaDYgLnNtYWxsLCAuaDYgc21hbGwsXG4gIC5oNiAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlOyB9XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDM2cHg7IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMzBweDsgfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAyNHB4OyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDE4cHg7IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG5cbnAge1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG5cbi5sZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5sZWFkIHtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDsgfSB9XG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiA4NSU7IH1cblxubWFyayxcbi5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbiAgcGFkZGluZzogLjJlbTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi50ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLnRleHQtdXBwZXJjYXNlLCAuaW5pdGlhbGlzbSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRleHQtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICM3Nzc3Nzc7IH1cblxuLnRleHQtcHJpbWFyeSB7XG4gIGNvbG9yOiAjMzM3YWI3OyB9XG5cbmEudGV4dC1wcmltYXJ5OmhvdmVyIHtcbiAgY29sb3I6ICMyODYwOTA7IH1cblxuLnRleHQtc3VjY2VzcyB7XG4gIGNvbG9yOiAjM2M3NjNkOyB9XG5cbmEudGV4dC1zdWNjZXNzOmhvdmVyIHtcbiAgY29sb3I6ICMyYjU0MmM7IH1cblxuLnRleHQtaW5mbyB7XG4gIGNvbG9yOiAjMzE3MDhmOyB9XG5cbmEudGV4dC1pbmZvOmhvdmVyIHtcbiAgY29sb3I6ICMyNDUyNjk7IH1cblxuLnRleHQtd2FybmluZyB7XG4gIGNvbG9yOiAjOGE2ZDNiOyB9XG5cbmEudGV4dC13YXJuaW5nOmhvdmVyIHtcbiAgY29sb3I6ICM2NjUxMmM7IH1cblxuLnRleHQtZGFuZ2VyIHtcbiAgY29sb3I6ICNhOTQ0NDI7IH1cblxuYS50ZXh0LWRhbmdlcjpob3ZlciB7XG4gIGNvbG9yOiAjODQzNTM0OyB9XG5cbi5iZy1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3OyB9XG5cbmEuYmctcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyODYwOTA7IH1cblxuLmJnLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4OyB9XG5cbmEuYmctc3VjY2Vzczpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMWUyYjM7IH1cblxuLmJnLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3OyB9XG5cbmEuYmctaW5mbzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZmQ5ZWU7IH1cblxuLmJnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOyB9XG5cbmEuYmctd2FybmluZzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2VjYjU7IH1cblxuLmJnLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7IH1cblxuYS5iZy1kYW5nZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRiOWI5OyB9XG5cbi5wYWdlLWhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiA5cHg7XG4gIG1hcmdpbjogNDBweCAwIDIwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9XG5cbnVsLFxub2wge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIHVsIHVsLFxuICB1bCBvbCxcbiAgb2wgdWwsXG4gIG9sIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5saXN0LWlubGluZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7IH1cbiAgLmxpc3QtaW5saW5lID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbmR0LFxuZGQge1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7IH1cblxuZHQge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5kZCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kbC1ob3Jpem9udGFsIGRkOmJlZm9yZSwgLmRsLWhvcml6b250YWwgZGQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLmRsLWhvcml6b250YWwgZGQ6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmRsLWhvcml6b250YWwgZHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNjBweDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmRsLWhvcml6b250YWwgZGQge1xuICAgIG1hcmdpbi1sZWZ0OiAxODBweDsgfSB9XG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNzc3Nzc3OyB9XG5cbi5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA5MCU7IH1cblxuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgZm9udC1zaXplOiAxNy41cHg7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2VlZWVlZTsgfVxuICBibG9ja3F1b3RlIHA6bGFzdC1jaGlsZCxcbiAgYmxvY2txdW90ZSB1bDpsYXN0LWNoaWxkLFxuICBibG9ja3F1b3RlIG9sOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgYmxvY2txdW90ZSBmb290ZXIsXG4gIGJsb2NrcXVvdGUgc21hbGwsXG4gIGJsb2NrcXVvdGUgLnNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDgwJTtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICBibG9ja3F1b3RlIGZvb3RlcjpiZWZvcmUsXG4gICAgYmxvY2txdW90ZSBzbWFsbDpiZWZvcmUsXG4gICAgYmxvY2txdW90ZSAuc21hbGw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMEEwJzsgfVxuXG4uYmxvY2txdW90ZS1yZXZlcnNlLFxuYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAjZWVlZWVlO1xuICBib3JkZXItbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmJsb2NrcXVvdGUtcmV2ZXJzZSBmb290ZXI6YmVmb3JlLFxuICAuYmxvY2txdW90ZS1yZXZlcnNlIHNtYWxsOmJlZm9yZSxcbiAgLmJsb2NrcXVvdGUtcmV2ZXJzZSAuc21hbGw6YmVmb3JlLFxuICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgZm9vdGVyOmJlZm9yZSxcbiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHNtYWxsOmJlZm9yZSxcbiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IC5zbWFsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5ibG9ja3F1b3RlLXJldmVyc2UgZm9vdGVyOmFmdGVyLFxuICAuYmxvY2txdW90ZS1yZXZlcnNlIHNtYWxsOmFmdGVyLFxuICAuYmxvY2txdW90ZS1yZXZlcnNlIC5zbWFsbDphZnRlcixcbiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IGZvb3RlcjphZnRlcixcbiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHNtYWxsOmFmdGVyLFxuICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgLnNtYWxsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwwMEEwIFxcMjAxNCc7IH1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDI5OyB9XG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICM0RDhDRjQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICBrYmQga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA5LjVweDtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBjb2xvcjogIzMzMzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIHByZSBjb2RlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAzNDBweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5jb250YWluZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgLmNvbnRhaW5lcjpiZWZvcmUsIC5jb250YWluZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5jb250YWluZXI6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgd2lkdGg6IDc1MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogOTcwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTE3MHB4OyB9IH1cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuICAuY29udGFpbmVyLWZsdWlkOmJlZm9yZSwgLmNvbnRhaW5lci1mbHVpZDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmNvbnRhaW5lci1mbHVpZDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDsgfVxuICAucm93OmJlZm9yZSwgLnJvdzphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnJvdzphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmNvbC14cy0xLCAuY29sLXNtLTEsIC5jb2wtbWQtMSwgLmNvbC1sZy0xLCAuY29sLXhzLTIsIC5jb2wtc20tMiwgLmNvbC1tZC0yLCAuY29sLWxnLTIsIC5jb2wteHMtMywgLmNvbC1zbS0zLCAuY29sLW1kLTMsIC5jb2wtbGctMywgLmNvbC14cy00LCAuY29sLXNtLTQsIC5jb2wtbWQtNCwgLmNvbC1sZy00LCAuY29sLXhzLTUsIC5jb2wtc20tNSwgLmNvbC1tZC01LCAuY29sLWxnLTUsIC5jb2wteHMtNiwgLmNvbC1zbS02LCAuY29sLW1kLTYsIC5jb2wtbGctNiwgLmNvbC14cy03LCAuY29sLXNtLTcsIC5jb2wtbWQtNywgLmNvbC1sZy03LCAuY29sLXhzLTgsIC5jb2wtc20tOCwgLmNvbC1tZC04LCAuY29sLWxnLTgsIC5jb2wteHMtOSwgLmNvbC1zbS05LCAuY29sLW1kLTksIC5jb2wtbGctOSwgLmNvbC14cy0xMCwgLmNvbC1zbS0xMCwgLmNvbC1tZC0xMCwgLmNvbC1sZy0xMCwgLmNvbC14cy0xMSwgLmNvbC1zbS0xMSwgLmNvbC1tZC0xMSwgLmNvbC1sZy0xMSwgLmNvbC14cy0xMiwgLmNvbC1zbS0xMiwgLmNvbC1tZC0xMiwgLmNvbC1sZy0xMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cblxuLmNvbC14cy0xLCAuY29sLXhzLTIsIC5jb2wteHMtMywgLmNvbC14cy00LCAuY29sLXhzLTUsIC5jb2wteHMtNiwgLmNvbC14cy03LCAuY29sLXhzLTgsIC5jb2wteHMtOSwgLmNvbC14cy0xMCwgLmNvbC14cy0xMSwgLmNvbC14cy0xMiB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2wteHMtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzMzMlOyB9XG5cbi5jb2wteHMtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY3JTsgfVxuXG4uY29sLXhzLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5jb2wteHMtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTsgfVxuXG4uY29sLXhzLTUge1xuICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7IH1cblxuLmNvbC14cy02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uY29sLXhzLTcge1xuICB3aWR0aDogNTguMzMzMzMzMzMzMyU7IH1cblxuLmNvbC14cy04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjclOyB9XG5cbi5jb2wteHMtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLmNvbC14cy0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzMzMzJTsgfVxuXG4uY29sLXhzLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY2NjY2NjclOyB9XG5cbi5jb2wteHMtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY29sLXhzLXB1bGwtMCB7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5jb2wteHMtcHVsbC0xIHtcbiAgcmlnaHQ6IDguMzMzMzMzMzMzMyU7IH1cblxuLmNvbC14cy1wdWxsLTIge1xuICByaWdodDogMTYuNjY2NjY2NjY2NyU7IH1cblxuLmNvbC14cy1wdWxsLTMge1xuICByaWdodDogMjUlOyB9XG5cbi5jb2wteHMtcHVsbC00IHtcbiAgcmlnaHQ6IDMzLjMzMzMzMzMzMzMlOyB9XG5cbi5jb2wteHMtcHVsbC01IHtcbiAgcmlnaHQ6IDQxLjY2NjY2NjY2NjclOyB9XG5cbi5jb2wteHMtcHVsbC02IHtcbiAgcmlnaHQ6IDUwJTsgfVxuXG4uY29sLXhzLXB1bGwtNyB7XG4gIHJpZ2h0OiA1OC4zMzMzMzMzMzMzJTsgfVxuXG4uY29sLXhzLXB1bGwtOCB7XG4gIHJpZ2h0OiA2Ni42NjY2NjY2NjY3JTsgfVxuXG4uY29sLXhzLXB1bGwtOSB7XG4gIHJpZ2h0OiA3NSU7IH1cblxuLmNvbC14cy1wdWxsLTEwIHtcbiAgcmlnaHQ6IDgzLjMzMzMzMzMzMzMlOyB9XG5cbi5jb2wteHMtcHVsbC0xMSB7XG4gIHJpZ2h0OiA5MS42NjY2NjY2NjY3JTsgfVxuXG4uY29sLXhzLXB1bGwtMTIge1xuICByaWdodDogMTAwJTsgfVxuXG4uY29sLXhzLXB1c2gtMCB7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmNvbC14cy1wdXNoLTEge1xuICBsZWZ0OiA4LjMzMzMzMzMzMzMlOyB9XG5cbi5jb2wteHMtcHVzaC0yIHtcbiAgbGVmdDogMTYuNjY2NjY2NjY2NyU7IH1cblxuLmNvbC14cy1wdXNoLTMge1xuICBsZWZ0OiAyNSU7IH1cblxuLmNvbC14cy1wdXNoLTQge1xuICBsZWZ0OiAzMy4zMzMzMzMzMzMzJTsgfVxuXG4uY29sLXhzLXB1c2gtNSB7XG4gIGxlZnQ6IDQxLjY2NjY2NjY2NjclOyB9XG5cbi5jb2wteHMtcHVzaC02IHtcbiAgbGVmdDogNTAlOyB9XG5cbi5jb2wteHMtcHVzaC03IHtcbiAgbGVmdDogNTguMzMzMzMzMzMzMyU7IH1cblxuLmNvbC14cy1wdXNoLTgge1xuICBsZWZ0OiA2Ni42NjY2NjY2NjY3JTsgfVxuXG4uY29sLXhzLXB1c2gtOSB7XG4gIGxlZnQ6IDc1JTsgfVxuXG4uY29sLXhzLXB1c2gtMTAge1xuICBsZWZ0OiA4My4zMzMzMzMzMzMzJTsgfVxuXG4uY29sLXhzLXB1c2gtMTEge1xuICBsZWZ0OiA5MS42NjY2NjY2NjY3JTsgfVxuXG4uY29sLXhzLXB1c2gtMTIge1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmNvbC14cy1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7IH1cblxuLmNvbC14cy1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmNvbC14cy1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTsgfVxuXG4uY29sLXhzLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7IH1cblxuLmNvbC14cy1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTsgfVxuXG4uY29sLXhzLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uY29sLXhzLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTsgfVxuXG4uY29sLXhzLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTsgfVxuXG4uY29sLXhzLW9mZnNldC0xMiB7XG4gIG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLXNtLTEsIC5jb2wtc20tMiwgLmNvbC1zbS0zLCAuY29sLXNtLTQsIC5jb2wtc20tNSwgLmNvbC1zbS02LCAuY29sLXNtLTcsIC5jb2wtc20tOCwgLmNvbC1zbS05LCAuY29sLXNtLTEwLCAuY29sLXNtLTExLCAuY29sLXNtLTEyIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuY29sLXNtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtc20tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtc20tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuY29sLXNtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTsgfVxuICAuY29sLXNtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLXNtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmNvbC1zbS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1zbS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1zbS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5jb2wtc20tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTsgfVxuICAuY29sLXNtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1zbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbC1zbS1wdWxsLTAge1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5jb2wtc20tcHVsbC0xIHtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLXNtLXB1bGwtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtc20tcHVsbC0zIHtcbiAgICByaWdodDogMjUlOyB9XG4gIC5jb2wtc20tcHVsbC00IHtcbiAgICByaWdodDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1zbS1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLXNtLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTsgfVxuICAuY29sLXNtLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtc20tcHVsbC04IHtcbiAgICByaWdodDogNjYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1zbS1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7IH1cbiAgLmNvbC1zbS1wdWxsLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1zbS1wdWxsLTExIHtcbiAgICByaWdodDogOTEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1zbS1wdWxsLTEyIHtcbiAgICByaWdodDogMTAwJTsgfVxuICAuY29sLXNtLXB1c2gtMCB7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuY29sLXNtLXB1c2gtMSB7XG4gICAgbGVmdDogOC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLXNtLXB1c2gtMiB7XG4gICAgbGVmdDogMTYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1zbS1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTsgfVxuICAuY29sLXNtLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1zbS1wdXNoLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtc20tcHVzaC02IHtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLmNvbC1zbS1wdXNoLTcge1xuICAgIGxlZnQ6IDU4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtc20tcHVzaC04IHtcbiAgICBsZWZ0OiA2Ni42NjY2NjY2NjY3JTsgfVxuICAuY29sLXNtLXB1c2gtOSB7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5jb2wtc20tcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1zbS1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLXNtLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTsgfVxuICAuY29sLXNtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTsgfVxuICAuY29sLXNtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuY29sLXNtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTsgfVxuICAuY29sLXNtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29sLW1kLTEsIC5jb2wtbWQtMiwgLmNvbC1tZC0zLCAuY29sLW1kLTQsIC5jb2wtbWQtNSwgLmNvbC1tZC02LCAuY29sLW1kLTcsIC5jb2wtbWQtOCwgLmNvbC1tZC05LCAuY29sLW1kLTEwLCAuY29sLW1kLTExLCAuY29sLW1kLTEyIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuY29sLW1kLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbWQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbWQtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuY29sLW1kLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTsgfVxuICAuY29sLW1kLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLW1kLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmNvbC1tZC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1tZC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1tZC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5jb2wtbWQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTsgfVxuICAuY29sLW1kLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbC1tZC1wdWxsLTAge1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5jb2wtbWQtcHVsbC0xIHtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLW1kLXB1bGwtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbWQtcHVsbC0zIHtcbiAgICByaWdodDogMjUlOyB9XG4gIC5jb2wtbWQtcHVsbC00IHtcbiAgICByaWdodDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1tZC1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLW1kLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTsgfVxuICAuY29sLW1kLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbWQtcHVsbC04IHtcbiAgICByaWdodDogNjYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1tZC1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7IH1cbiAgLmNvbC1tZC1wdWxsLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1tZC1wdWxsLTExIHtcbiAgICByaWdodDogOTEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1tZC1wdWxsLTEyIHtcbiAgICByaWdodDogMTAwJTsgfVxuICAuY29sLW1kLXB1c2gtMCB7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuY29sLW1kLXB1c2gtMSB7XG4gICAgbGVmdDogOC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLW1kLXB1c2gtMiB7XG4gICAgbGVmdDogMTYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1tZC1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTsgfVxuICAuY29sLW1kLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1tZC1wdXNoLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbWQtcHVzaC02IHtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLmNvbC1tZC1wdXNoLTcge1xuICAgIGxlZnQ6IDU4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbWQtcHVzaC04IHtcbiAgICBsZWZ0OiA2Ni42NjY2NjY2NjY3JTsgfVxuICAuY29sLW1kLXB1c2gtOSB7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5jb2wtbWQtcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1tZC1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLW1kLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTsgfVxuICAuY29sLW1kLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTsgfVxuICAuY29sLW1kLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuY29sLW1kLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTsgfVxuICAuY29sLW1kLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmNvbC1sZy0xLCAuY29sLWxnLTIsIC5jb2wtbGctMywgLmNvbC1sZy00LCAuY29sLWxnLTUsIC5jb2wtbGctNiwgLmNvbC1sZy03LCAuY29sLWxnLTgsIC5jb2wtbGctOSwgLmNvbC1sZy0xMCwgLmNvbC1sZy0xMSwgLmNvbC1sZy0xMiB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvbC1sZy0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLWxnLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTsgfVxuICAuY29sLWxnLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmNvbC1sZy00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1sZy01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1sZy02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5jb2wtbGctNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbGctOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbGctOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuY29sLWxnLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1sZy0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbGctMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jb2wtbGctcHVsbC0wIHtcbiAgICByaWdodDogYXV0bzsgfVxuICAuY29sLWxnLXB1bGwtMSB7XG4gICAgcmlnaHQ6IDguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1sZy1wdWxsLTIge1xuICAgIHJpZ2h0OiAxNi42NjY2NjY2NjY3JTsgfVxuICAuY29sLWxnLXB1bGwtMyB7XG4gICAgcmlnaHQ6IDI1JTsgfVxuICAuY29sLWxnLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbGctcHVsbC01IHtcbiAgICByaWdodDogNDEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1sZy1wdWxsLTYge1xuICAgIHJpZ2h0OiA1MCU7IH1cbiAgLmNvbC1sZy1wdWxsLTcge1xuICAgIHJpZ2h0OiA1OC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLWxnLXB1bGwtOCB7XG4gICAgcmlnaHQ6IDY2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbGctcHVsbC05IHtcbiAgICByaWdodDogNzUlOyB9XG4gIC5jb2wtbGctcHVsbC0xMCB7XG4gICAgcmlnaHQ6IDgzLjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbGctcHVsbC0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbGctcHVsbC0xMiB7XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmNvbC1sZy1wdXNoLTAge1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmNvbC1sZy1wdXNoLTEge1xuICAgIGxlZnQ6IDguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1sZy1wdXNoLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbGctcHVzaC0zIHtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLmNvbC1sZy1wdXNoLTQge1xuICAgIGxlZnQ6IDMzLjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbGctcHVzaC01IHtcbiAgICBsZWZ0OiA0MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLWxnLXB1c2gtNiB7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5jb2wtbGctcHVzaC03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLWxnLXB1c2gtOCB7XG4gICAgbGVmdDogNjYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1sZy1wdXNoLTkge1xuICAgIGxlZnQ6IDc1JTsgfVxuICAuY29sLWxnLXB1c2gtMTAge1xuICAgIGxlZnQ6IDgzLjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbGctcHVzaC0xMSB7XG4gICAgbGVmdDogOTEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1sZy1wdXNoLTEyIHtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuY29sLWxnLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLWxnLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuY29sLWxnLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTsgfVxuICAuY29sLWxnLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLWxnLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7IH0gfVxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICBjb2xvcjogIzc3Nzc3NztcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGFibGUsIC50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgdGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4gIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLFxuICB0YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgdGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gIHRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuICB0YWJsZSA+IHRmb290ID4gdHIgPiB0ZCwgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsXG4gIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG4gIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyOTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkOyB9XG4gIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCAudGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZGQ7IH1cbiAgdGFibGUgPiBjYXB0aW9uICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLFxuICB0YWJsZSA+IGNhcHRpb24gKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4gIHRhYmxlID4gY29sZ3JvdXAgKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsXG4gIHRhYmxlID4gY29sZ3JvdXAgKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4gIHRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLFxuICB0YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCwgLnRhYmxlID4gY2FwdGlvbiArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbiAgLnRhYmxlID4gY2FwdGlvbiArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcbiAgLnRhYmxlID4gY29sZ3JvdXAgKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsXG4gIC50YWJsZSA+IGNvbGdyb3VwICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLFxuICAudGFibGUgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsXG4gIC50YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuICB0YWJsZSA+IHRib2R5ICsgdGJvZHksIC50YWJsZSA+IHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGRkOyB9XG4gIHRhYmxlIC50YWJsZSwgLnRhYmxlIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4udGFibGUtY29uZGVuc2VkID4gdGhlYWQgPiB0ciA+IHRoLFxuLnRhYmxlLWNvbmRlbnNlZCA+IHRoZWFkID4gdHIgPiB0ZCxcbi50YWJsZS1jb25kZW5zZWQgPiB0Ym9keSA+IHRyID4gdGgsXG4udGFibGUtY29uZGVuc2VkID4gdGJvZHkgPiB0ciA+IHRkLFxuLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0aCxcbi50YWJsZS1jb25kZW5zZWQgPiB0Zm9vdCA+IHRyID4gdGQge1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsgfVxuICAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgsXG4gIC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZCxcbiAgLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoLFxuICAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQsXG4gIC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aCxcbiAgLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOyB9XG4gIC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCxcbiAgLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7IH1cblxuLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG5cbnRhYmxlIGNvbFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IHRhYmxlLWNvbHVtbjsgfVxuXG50YWJsZSB0ZFtjbGFzcyo9XCJjb2wtXCJdLFxudGFibGUgdGhbY2xhc3MqPVwiY29sLVwiXSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5hY3RpdmUsXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGguYWN0aXZlLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5hY3RpdmUgPiB0ZCxcbi50YWJsZSA+IHRoZWFkID4gdHIuYWN0aXZlID4gdGgsXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGQuYWN0aXZlLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLmFjdGl2ZSxcbi50YWJsZSA+IHRib2R5ID4gdHIuYWN0aXZlID4gdGQsXG4udGFibGUgPiB0Ym9keSA+IHRyLmFjdGl2ZSA+IHRoLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLmFjdGl2ZSxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5hY3RpdmUsXG4udGFibGUgPiB0Zm9vdCA+IHRyLmFjdGl2ZSA+IHRkLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5hY3RpdmUgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IH1cblxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLmFjdGl2ZTpob3Zlcixcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0aC5hY3RpdmU6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmFjdGl2ZTpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5hY3RpdmUsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmFjdGl2ZTpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODsgfVxuXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQuc3VjY2Vzcyxcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5zdWNjZXNzLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5zdWNjZXNzID4gdGQsXG4udGFibGUgPiB0aGVhZCA+IHRyLnN1Y2Nlc3MgPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5zdWNjZXNzLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLnN1Y2Nlc3MsXG4udGFibGUgPiB0Ym9keSA+IHRyLnN1Y2Nlc3MgPiB0ZCxcbi50YWJsZSA+IHRib2R5ID4gdHIuc3VjY2VzcyA+IHRoLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLnN1Y2Nlc3MsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGguc3VjY2Vzcyxcbi50YWJsZSA+IHRmb290ID4gdHIuc3VjY2VzcyA+IHRkLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5zdWNjZXNzID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4OyB9XG5cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC5zdWNjZXNzOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLnN1Y2Nlc3M6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLnN1Y2Nlc3M6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAuc3VjY2Vzcyxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuc3VjY2Vzczpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QwZTljNjsgfVxuXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQuaW5mbyxcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5pbmZvLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5pbmZvID4gdGQsXG4udGFibGUgPiB0aGVhZCA+IHRyLmluZm8gPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5pbmZvLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLmluZm8sXG4udGFibGUgPiB0Ym9keSA+IHRyLmluZm8gPiB0ZCxcbi50YWJsZSA+IHRib2R5ID4gdHIuaW5mbyA+IHRoLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLmluZm8sXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGguaW5mbyxcbi50YWJsZSA+IHRmb290ID4gdHIuaW5mbyA+IHRkLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5pbmZvID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3OyB9XG5cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC5pbmZvOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLmluZm86aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmluZm86aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAuaW5mbyxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuaW5mbzpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0ZTNmMzsgfVxuXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQud2FybmluZyxcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC53YXJuaW5nLFxuLnRhYmxlID4gdGhlYWQgPiB0ci53YXJuaW5nID4gdGQsXG4udGFibGUgPiB0aGVhZCA+IHRyLndhcm5pbmcgPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC53YXJuaW5nLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLndhcm5pbmcsXG4udGFibGUgPiB0Ym9keSA+IHRyLndhcm5pbmcgPiB0ZCxcbi50YWJsZSA+IHRib2R5ID4gdHIud2FybmluZyA+IHRoLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLndhcm5pbmcsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGgud2FybmluZyxcbi50YWJsZSA+IHRmb290ID4gdHIud2FybmluZyA+IHRkLFxuLnRhYmxlID4gdGZvb3QgPiB0ci53YXJuaW5nID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOyB9XG5cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC53YXJuaW5nOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLndhcm5pbmc6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLndhcm5pbmc6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAud2FybmluZyxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIud2FybmluZzpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZjJjYzsgfVxuXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQuZGFuZ2VyLFxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLmRhbmdlcixcbi50YWJsZSA+IHRoZWFkID4gdHIuZGFuZ2VyID4gdGQsXG4udGFibGUgPiB0aGVhZCA+IHRyLmRhbmdlciA+IHRoLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmRhbmdlcixcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5kYW5nZXIsXG4udGFibGUgPiB0Ym9keSA+IHRyLmRhbmdlciA+IHRkLFxuLnRhYmxlID4gdGJvZHkgPiB0ci5kYW5nZXIgPiB0aCxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5kYW5nZXIsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGguZGFuZ2VyLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5kYW5nZXIgPiB0ZCxcbi50YWJsZSA+IHRmb290ID4gdHIuZGFuZ2VyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlOyB9XG5cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC5kYW5nZXI6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGguZGFuZ2VyOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5kYW5nZXI6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAuZGFuZ2VyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5kYW5nZXI6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmNjY2M7IH1cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwLjAxJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsgfVxuICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRoLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRkLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRoLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBtYXJnaW46IDRweCAwIDA7XG4gIG1hcmdpbi10b3A6IDFweCBcXDk7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuc2VsZWN0W211bHRpcGxlXSxcbnNlbGVjdFtzaXplXSB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyOTtcbiAgY29sb3I6ICM1NTU1NTU7IH1cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzNHB4O1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7XG4gIGNvbG9yOiAjNTU1NTU1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IDAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IDAuMTVzO1xuICAtby10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgMC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgMC4xNXM7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAwLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAwLjE1czsgfVxuICAuZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2NmFmZTk7XG4gICAgb3V0bGluZTogMDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDhweCByZ2JhKDEwMiwgMTc1LCAyMzMsIDAuNik7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgOHB4IHJnYmEoMTAyLCAxNzUsIDIzMywgMC42KTsgfVxuICAuZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mb3JtLWNvbnRyb2w6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTsgfVxuICAuZm9ybS1jb250cm9sOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTsgfVxuICAuZm9ybS1jb250cm9sW2Rpc2FibGVkXSwgLmZvcm0tY29udHJvbFtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9sIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvcm0tY29udHJvbFtkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9sIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7IH1cbiAgICBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5pbnB1dC1zbSwgLmlucHV0LWdyb3VwLXNtID4gaW5wdXQuZm9ybS1jb250cm9sW3R5cGU9XCJkYXRlXCJdLFxuICAgIC5pbnB1dC1ncm91cC1zbSA+IGlucHV0LmlucHV0LWdyb3VwLWFkZG9uW3R5cGU9XCJkYXRlXCJdLFxuICAgIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiBpbnB1dC5idG5bdHlwZT1cImRhdGVcIl0sXG4gICAgLmlucHV0LWdyb3VwLXNtIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLmlucHV0LXNtLFxuICAgIC5pbnB1dC1ncm91cC1zbSA+IGlucHV0LmZvcm0tY29udHJvbFt0eXBlPVwidGltZVwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtc20gPiBpbnB1dC5pbnB1dC1ncm91cC1hZGRvblt0eXBlPVwidGltZVwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gaW5wdXQuYnRuW3R5cGU9XCJ0aW1lXCJdLFxuICAgIC5pbnB1dC1ncm91cC1zbVxuICAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5pbnB1dC1zbSxcbiAgICAuaW5wdXQtZ3JvdXAtc20gPiBpbnB1dC5mb3JtLWNvbnRyb2xbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAgIC5pbnB1dC1ncm91cC1zbSA+IGlucHV0LmlucHV0LWdyb3VwLWFkZG9uW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gaW5wdXQuYnRuW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtc21cbiAgICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLmlucHV0LXNtLFxuICAgIC5pbnB1dC1ncm91cC1zbSA+IGlucHV0LmZvcm0tY29udHJvbFt0eXBlPVwibW9udGhcIl0sXG4gICAgLmlucHV0LWdyb3VwLXNtID4gaW5wdXQuaW5wdXQtZ3JvdXAtYWRkb25bdHlwZT1cIm1vbnRoXCJdLFxuICAgIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiBpbnB1dC5idG5bdHlwZT1cIm1vbnRoXCJdLFxuICAgIC5pbnB1dC1ncm91cC1zbVxuICAgIGlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuICAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLmlucHV0LWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiBpbnB1dC5mb3JtLWNvbnRyb2xbdHlwZT1cImRhdGVcIl0sXG4gICAgLmlucHV0LWdyb3VwLWxnID4gaW5wdXQuaW5wdXQtZ3JvdXAtYWRkb25bdHlwZT1cImRhdGVcIl0sXG4gICAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IGlucHV0LmJ0blt0eXBlPVwiZGF0ZVwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtbGcgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRpbWVcIl0uaW5wdXQtbGcsXG4gICAgLmlucHV0LWdyb3VwLWxnID4gaW5wdXQuZm9ybS1jb250cm9sW3R5cGU9XCJ0aW1lXCJdLFxuICAgIC5pbnB1dC1ncm91cC1sZyA+IGlucHV0LmlucHV0LWdyb3VwLWFkZG9uW3R5cGU9XCJ0aW1lXCJdLFxuICAgIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiBpbnB1dC5idG5bdHlwZT1cInRpbWVcIl0sXG4gICAgLmlucHV0LWdyb3VwLWxnXG4gICAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmlucHV0LWxnLFxuICAgIC5pbnB1dC1ncm91cC1sZyA+IGlucHV0LmZvcm0tY29udHJvbFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gICAgLmlucHV0LWdyb3VwLWxnID4gaW5wdXQuaW5wdXQtZ3JvdXAtYWRkb25bdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAgIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiBpbnB1dC5idG5bdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAgIC5pbnB1dC1ncm91cC1sZ1xuICAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwibW9udGhcIl0uaW5wdXQtbGcsXG4gICAgLmlucHV0LWdyb3VwLWxnID4gaW5wdXQuZm9ybS1jb250cm9sW3R5cGU9XCJtb250aFwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtbGcgPiBpbnB1dC5pbnB1dC1ncm91cC1hZGRvblt0eXBlPVwibW9udGhcIl0sXG4gICAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IGlucHV0LmJ0blt0eXBlPVwibW9udGhcIl0sXG4gICAgLmlucHV0LWdyb3VwLWxnXG4gICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4OyB9IH1cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnJhZGlvIGxhYmVsLFxuICAuY2hlY2tib3ggbGFiZWwge1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi10b3A6IDRweCBcXDk7IH1cblxuLnJhZGlvICsgLnJhZGlvLFxuLmNoZWNrYm94ICsgLmNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogLTVweDsgfVxuXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucmFkaW8taW5saW5lICsgLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUgKyAuY2hlY2tib3gtaW5saW5lIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cInJhZGlvXCJdLmRpc2FibGVkLFxuZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtkaXNhYmxlZF0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uZGlzYWJsZWQsXG5maWVsZHNldFtkaXNhYmxlZF1cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnJhZGlvLWlubGluZS5kaXNhYmxlZCxcbmZpZWxkc2V0W2Rpc2FibGVkXSAucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZS5kaXNhYmxlZCxcbmZpZWxkc2V0W2Rpc2FibGVkXVxuLmNoZWNrYm94LWlubGluZSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnJhZGlvLmRpc2FibGVkIGxhYmVsLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbCxcbi5jaGVja2JveC5kaXNhYmxlZCBsYWJlbCxcbmZpZWxkc2V0W2Rpc2FibGVkXVxuLmNoZWNrYm94IGxhYmVsIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1pbi1oZWlnaHQ6IDM0cHg7IH1cbiAgLmZvcm0tY29udHJvbC1zdGF0aWMuaW5wdXQtbGcsIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmZvcm0tY29udHJvbCxcbiAgLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbC1zdGF0aWMuaW5wdXQtZ3JvdXAtYWRkb24sXG4gIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuZm9ybS1jb250cm9sLXN0YXRpYy5idG4sIC5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LXNtLCAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLXN0YXRpYy5mb3JtLWNvbnRyb2wsXG4gIC5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LWdyb3VwLWFkZG9uLFxuICAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmZvcm0tY29udHJvbC1zdGF0aWMuYnRuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uaW5wdXQtc20sIC5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbnNlbGVjdC5pbnB1dC1zbSwgLmlucHV0LWdyb3VwLXNtID4gc2VsZWN0LmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IHNlbGVjdC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiBzZWxlY3QuYnRuIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDsgfVxuXG50ZXh0YXJlYS5pbnB1dC1zbSwgLmlucHV0LWdyb3VwLXNtID4gdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gdGV4dGFyZWEuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gdGV4dGFyZWEuYnRuLFxuc2VsZWN0W211bHRpcGxlXS5pbnB1dC1zbSxcbi5pbnB1dC1ncm91cC1zbSA+IHNlbGVjdC5mb3JtLWNvbnRyb2xbbXVsdGlwbGVdLFxuLmlucHV0LWdyb3VwLXNtID4gc2VsZWN0LmlucHV0LWdyb3VwLWFkZG9uW211bHRpcGxlXSxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiBzZWxlY3QuYnRuW211bHRpcGxlXSB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLmZvcm0tZ3JvdXAtc20gc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cblxuLmZvcm0tZ3JvdXAtc20gdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuLmZvcm0tZ3JvdXAtc20gc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1pbi1oZWlnaHQ6IDMycHg7IH1cblxuLmlucHV0LWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBoZWlnaHQ6IDQ2cHg7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzO1xuICBib3JkZXItcmFkaXVzOiA2cHg7IH1cblxuc2VsZWN0LmlucHV0LWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3QuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gc2VsZWN0LmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IHNlbGVjdC5idG4ge1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NnB4OyB9XG5cbnRleHRhcmVhLmlucHV0LWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiB0ZXh0YXJlYS5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiB0ZXh0YXJlYS5idG4sXG5zZWxlY3RbbXVsdGlwbGVdLmlucHV0LWxnLFxuLmlucHV0LWdyb3VwLWxnID4gc2VsZWN0LmZvcm0tY29udHJvbFttdWx0aXBsZV0sXG4uaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtYWRkb25bbXVsdGlwbGVdLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IHNlbGVjdC5idG5bbXVsdGlwbGVdIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IDQ2cHg7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzO1xuICBib3JkZXItcmFkaXVzOiA2cHg7IH1cblxuLmZvcm0tZ3JvdXAtbGcgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogNDZweDtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7IH1cblxuLmZvcm0tZ3JvdXAtbGcgdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuLmZvcm0tZ3JvdXAtbGcgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICBoZWlnaHQ6IDQ2cHg7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzO1xuICBtaW4taGVpZ2h0OiAzOHB4OyB9XG5cbi5oYXMtZmVlZGJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0Mi41cHg7IH1cblxuLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5pbnB1dC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogNDZweDtcbiAgaGVpZ2h0OiA0NnB4O1xuICBsaW5lLWhlaWdodDogNDZweDsgfVxuXG4uaW5wdXQtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjaywgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uICsgLmZvcm0tY29udHJvbC1mZWVkYmFjaywgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cblxuLmhhcy1zdWNjZXNzIC5oZWxwLWJsb2NrLFxuLmhhcy1zdWNjZXNzIC5jb250cm9sLWxhYmVsLFxuLmhhcy1zdWNjZXNzIC5yYWRpbyxcbi5oYXMtc3VjY2VzcyAuY2hlY2tib3gsXG4uaGFzLXN1Y2Nlc3MgLnJhZGlvLWlubGluZSxcbi5oYXMtc3VjY2VzcyAuY2hlY2tib3gtaW5saW5lLFxuLmhhcy1zdWNjZXNzLnJhZGlvIGxhYmVsLFxuLmhhcy1zdWNjZXNzLmNoZWNrYm94IGxhYmVsLFxuLmhhcy1zdWNjZXNzLnJhZGlvLWlubGluZSBsYWJlbCxcbi5oYXMtc3VjY2Vzcy5jaGVja2JveC1pbmxpbmUgbGFiZWwge1xuICBjb2xvcjogIzNjNzYzZDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogIzNjNzYzZDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuICAuaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMmI1NDJjO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNnB4ICM2N2IxNjg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNnB4ICM2N2IxNjg7IH1cblxuLmhhcy1zdWNjZXNzIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjM2M3NjNkO1xuICBib3JkZXItY29sb3I6ICMzYzc2M2Q7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBjb2xvcjogIzNjNzYzZDsgfVxuXG4uaGFzLXdhcm5pbmcgLmhlbHAtYmxvY2ssXG4uaGFzLXdhcm5pbmcgLmNvbnRyb2wtbGFiZWwsXG4uaGFzLXdhcm5pbmcgLnJhZGlvLFxuLmhhcy13YXJuaW5nIC5jaGVja2JveCxcbi5oYXMtd2FybmluZyAucmFkaW8taW5saW5lLFxuLmhhcy13YXJuaW5nIC5jaGVja2JveC1pbmxpbmUsXG4uaGFzLXdhcm5pbmcucmFkaW8gbGFiZWwsXG4uaGFzLXdhcm5pbmcuY2hlY2tib3ggbGFiZWwsXG4uaGFzLXdhcm5pbmcucmFkaW8taW5saW5lIGxhYmVsLFxuLmhhcy13YXJuaW5nLmNoZWNrYm94LWlubGluZSBsYWJlbCB7XG4gIGNvbG9yOiAjOGE2ZDNiOyB9XG5cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjOGE2ZDNiO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpOyB9XG4gIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2NjUxMmM7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA2cHggI2MwYTE2YjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA2cHggI2MwYTE2YjsgfVxuXG4uaGFzLXdhcm5pbmcgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6ICM4YTZkM2I7XG4gIGJvcmRlci1jb2xvcjogIzhhNmQzYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMzsgfVxuXG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiAjOGE2ZDNiOyB9XG5cbi5oYXMtZXJyb3IgLmhlbHAtYmxvY2ssXG4uaGFzLWVycm9yIC5jb250cm9sLWxhYmVsLFxuLmhhcy1lcnJvciAucmFkaW8sXG4uaGFzLWVycm9yIC5jaGVja2JveCxcbi5oYXMtZXJyb3IgLnJhZGlvLWlubGluZSxcbi5oYXMtZXJyb3IgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtZXJyb3IucmFkaW8gbGFiZWwsXG4uaGFzLWVycm9yLmNoZWNrYm94IGxhYmVsLFxuLmhhcy1lcnJvci5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLWVycm9yLmNoZWNrYm94LWlubGluZSBsYWJlbCB7XG4gIGNvbG9yOiAjYTk0NDQyOyB9XG5cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogI2E5NDQ0MjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuICAuaGFzLWVycm9yIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzg0MzUzNDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDZweCAjY2U4NDgzO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDZweCAjY2U4NDgzOyB9XG5cbi5oYXMtZXJyb3IgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6ICNhOTQ0NDI7XG4gIGJvcmRlci1jb2xvcjogI2E5NDQ0MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTsgfVxuXG4uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBjb2xvcjogI2E5NDQ0MjsgfVxuXG4uaGFzLWZlZWRiYWNrIGxhYmVsIH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHRvcDogMjVweDsgfVxuXG4uaGFzLWZlZWRiYWNrIGxhYmVsLnNyLW9ubHkgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgdG9wOiAwOyB9XG5cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICM3MzczNzM7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtLWlubGluZSAuZm9ybS1ncm91cCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idG4sXG4gICAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZm9ybS1pbmxpbmUgLmNvbnRyb2wtbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS1pbmxpbmUgLnJhZGlvLFxuICAuZm9ybS1pbmxpbmUgLmNoZWNrYm94IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuZm9ybS1pbmxpbmUgLnJhZGlvIGxhYmVsLFxuICAgIC5mb3JtLWlubGluZSAuY2hlY2tib3ggbGFiZWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5mb3JtLWlubGluZSAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAuZm9ybS1pbmxpbmUgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5mb3JtLWlubGluZSAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHRvcDogMDsgfSB9XG5cbi5mb3JtLWhvcml6b250YWwgLnJhZGlvLFxuLmZvcm0taG9yaXpvbnRhbCAuY2hlY2tib3gsXG4uZm9ybS1ob3Jpem9udGFsIC5yYWRpby1pbmxpbmUsXG4uZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveC1pbmxpbmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogN3B4OyB9XG5cbi5mb3JtLWhvcml6b250YWwgLnJhZGlvLFxuLmZvcm0taG9yaXpvbnRhbCAuY2hlY2tib3gge1xuICBtaW4taGVpZ2h0OiAyN3B4OyB9XG5cbi5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7IH1cbiAgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDpiZWZvcmUsIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXA6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXA6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9ybS1ob3Jpem9udGFsIC5jb250cm9sLWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiA3cHg7IH0gfVxuXG4uZm9ybS1ob3Jpem9udGFsIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHJpZ2h0OiAxNXB4OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLWxnIC5jb250cm9sLWxhYmVsIHtcbiAgICBwYWRkaW5nLXRvcDogMTQuMzMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cC1zbSAuY29udHJvbC1sYWJlbCB7XG4gICAgcGFkZGluZy10b3A6IDZweDsgfSB9XG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyOTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5idG46Zm9jdXMsIC5idG4uZm9jdXMsIC5idG46YWN0aXZlOmZvY3VzLCAuYnRuOmFjdGl2ZS5mb2N1cywgLmJ0bi5hY3RpdmU6Zm9jdXMsIC5idG4uYWN0aXZlLmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbiAgICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cbiAgLmJ0bjpob3ZlciwgLmJ0bjpmb2N1cywgLmJ0bi5mb2N1cyB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5idG46YWN0aXZlLCAuYnRuLmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsgfVxuICAuYnRuLmRpc2FibGVkLCAuYnRuW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjUpO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5idG4tZGVmYXVsdCB7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgLmJ0bi1kZWZhdWx0OmhvdmVyLCAuYnRuLWRlZmF1bHQ6Zm9jdXMsIC5idG4tZGVmYXVsdC5mb2N1cywgLmJ0bi1kZWZhdWx0OmFjdGl2ZSwgLmJ0bi1kZWZhdWx0LmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLWRlZmF1bHQuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNWU1O1xuICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDsgfVxuICAuYnRuLWRlZmF1bHQ6YWN0aXZlLCAuYnRuLWRlZmF1bHQuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tZGVmYXVsdC5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmJ0bi1kZWZhdWx0LmRpc2FibGVkLCAuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6aG92ZXIsIC5idG4tZGVmYXVsdC5kaXNhYmxlZDpmb2N1cywgLmJ0bi1kZWZhdWx0LmRpc2FibGVkLmZvY3VzLCAuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6YWN0aXZlLCAuYnRuLWRlZmF1bHQuZGlzYWJsZWQuYWN0aXZlLCAuYnRuLWRlZmF1bHRbZGlzYWJsZWRdLCAuYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmhvdmVyLCAuYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLWRlZmF1bHRbZGlzYWJsZWRdLmZvY3VzLCAuYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmFjdGl2ZSwgLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXS5hY3RpdmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6aG92ZXIsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6Zm9jdXMsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQuZm9jdXMsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6YWN0aXZlLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgLmJ0bi1kZWZhdWx0IC5iYWRnZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxuXG4uYnRuLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNztcbiAgYm9yZGVyLWNvbG9yOiAjMmU2ZGE0OyB9XG4gIC5idG4tcHJpbWFyeTpob3ZlciwgLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXByaW1hcnkuZm9jdXMsIC5idG4tcHJpbWFyeTphY3RpdmUsIC5idG4tcHJpbWFyeS5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI4NjA5MDtcbiAgICBib3JkZXItY29sb3I6ICMyMDRkNzQ7IH1cbiAgLmJ0bi1wcmltYXJ5OmFjdGl2ZSwgLmJ0bi1wcmltYXJ5LmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gIC5idG4tcHJpbWFyeS5kaXNhYmxlZCwgLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnRuLXByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmFjdGl2ZSwgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmFjdGl2ZSwgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXSwgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXS5mb2N1cywgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTphY3RpdmUsIC5idG4tcHJpbWFyeVtkaXNhYmxlZF0uYWN0aXZlLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5LFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5OmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5OmZvY3VzLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5LmZvY3VzLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5OmFjdGl2ZSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7XG4gICAgYm9yZGVyLWNvbG9yOiAjMmU2ZGE0OyB9XG4gIC5idG4tcHJpbWFyeSAuYmFkZ2Uge1xuICAgIGNvbG9yOiAjMzM3YWI3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmJ0bi1zdWNjZXNzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Y2I4NWM7XG4gIGJvcmRlci1jb2xvcjogIzRjYWU0YzsgfVxuICAuYnRuLXN1Y2Nlc3M6aG92ZXIsIC5idG4tc3VjY2Vzczpmb2N1cywgLmJ0bi1zdWNjZXNzLmZvY3VzLCAuYnRuLXN1Y2Nlc3M6YWN0aXZlLCAuYnRuLXN1Y2Nlc3MuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDlkNDQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzk4NDM5OyB9XG4gIC5idG4tc3VjY2VzczphY3RpdmUsIC5idG4tc3VjY2Vzcy5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZDphY3RpdmUsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5hY3RpdmUsIC5idG4tc3VjY2Vzc1tkaXNhYmxlZF0sIC5idG4tc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idG4tc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsIC5idG4tc3VjY2Vzc1tkaXNhYmxlZF0uZm9jdXMsIC5idG4tc3VjY2Vzc1tkaXNhYmxlZF06YWN0aXZlLCAuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdLmFjdGl2ZSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2VzcyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzczpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzczpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzcy5mb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2VzczphY3RpdmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3MuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNiODVjO1xuICAgIGJvcmRlci1jb2xvcjogIzRjYWU0YzsgfVxuICAuYnRuLXN1Y2Nlc3MgLmJhZGdlIHtcbiAgICBjb2xvcjogIzVjYjg1YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5idG4taW5mbyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWJjMGRlO1xuICBib3JkZXItY29sb3I6ICM0NmI4ZGE7IH1cbiAgLmJ0bi1pbmZvOmhvdmVyLCAuYnRuLWluZm86Zm9jdXMsIC5idG4taW5mby5mb2N1cywgLmJ0bi1pbmZvOmFjdGl2ZSwgLmJ0bi1pbmZvLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzFiMGQ1O1xuICAgIGJvcmRlci1jb2xvcjogIzI2OWFiYzsgfVxuICAuYnRuLWluZm86YWN0aXZlLCAuYnRuLWluZm8uYWN0aXZlLFxuICAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmJ0bi1pbmZvLmRpc2FibGVkLCAuYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsIC5idG4taW5mby5kaXNhYmxlZDpmb2N1cywgLmJ0bi1pbmZvLmRpc2FibGVkLmZvY3VzLCAuYnRuLWluZm8uZGlzYWJsZWQ6YWN0aXZlLCAuYnRuLWluZm8uZGlzYWJsZWQuYWN0aXZlLCAuYnRuLWluZm9bZGlzYWJsZWRdLCAuYnRuLWluZm9bZGlzYWJsZWRdOmhvdmVyLCAuYnRuLWluZm9bZGlzYWJsZWRdOmZvY3VzLCAuYnRuLWluZm9bZGlzYWJsZWRdLmZvY3VzLCAuYnRuLWluZm9bZGlzYWJsZWRdOmFjdGl2ZSwgLmJ0bi1pbmZvW2Rpc2FibGVkXS5hY3RpdmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm8sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm86aG92ZXIsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm86Zm9jdXMsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm8uZm9jdXMsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm86YWN0aXZlLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzViYzBkZTtcbiAgICBib3JkZXItY29sb3I6ICM0NmI4ZGE7IH1cbiAgLmJ0bi1pbmZvIC5iYWRnZSB7XG4gICAgY29sb3I6ICM1YmMwZGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uYnRuLXdhcm5pbmcge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTtcbiAgYm9yZGVyLWNvbG9yOiAjZWVhMjM2OyB9XG4gIC5idG4td2FybmluZzpob3ZlciwgLmJ0bi13YXJuaW5nOmZvY3VzLCAuYnRuLXdhcm5pbmcuZm9jdXMsIC5idG4td2FybmluZzphY3RpdmUsIC5idG4td2FybmluZy5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjOTcxZjtcbiAgICBib3JkZXItY29sb3I6ICNkNTg1MTI7IH1cbiAgLmJ0bi13YXJuaW5nOmFjdGl2ZSwgLmJ0bi13YXJuaW5nLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gIC5idG4td2FybmluZy5kaXNhYmxlZCwgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmFjdGl2ZSwgLmJ0bi13YXJuaW5nLmRpc2FibGVkLmFjdGl2ZSwgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXSwgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXS5mb2N1cywgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTphY3RpdmUsIC5idG4td2FybmluZ1tkaXNhYmxlZF0uYWN0aXZlLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nOmZvY3VzLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nLmZvY3VzLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nOmFjdGl2ZSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZy5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGFkNGU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVhMjM2OyB9XG4gIC5idG4td2FybmluZyAuYmFkZ2Uge1xuICAgIGNvbG9yOiAjZjBhZDRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmJ0bi1kYW5nZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTM0ZjtcbiAgYm9yZGVyLWNvbG9yOiAjZDQzZjNhOyB9XG4gIC5idG4tZGFuZ2VyOmhvdmVyLCAuYnRuLWRhbmdlcjpmb2N1cywgLmJ0bi1kYW5nZXIuZm9jdXMsIC5idG4tZGFuZ2VyOmFjdGl2ZSwgLmJ0bi1kYW5nZXIuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M5MzAyYztcbiAgICBib3JkZXItY29sb3I6ICNhYzI5MjU7IH1cbiAgLmJ0bi1kYW5nZXI6YWN0aXZlLCAuYnRuLWRhbmdlci5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gIC5idG4tZGFuZ2VyLmRpc2FibGVkLCAuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLCAuYnRuLWRhbmdlci5kaXNhYmxlZDphY3RpdmUsIC5idG4tZGFuZ2VyLmRpc2FibGVkLmFjdGl2ZSwgLmJ0bi1kYW5nZXJbZGlzYWJsZWRdLCAuYnRuLWRhbmdlcltkaXNhYmxlZF06aG92ZXIsIC5idG4tZGFuZ2VyW2Rpc2FibGVkXTpmb2N1cywgLmJ0bi1kYW5nZXJbZGlzYWJsZWRdLmZvY3VzLCAuYnRuLWRhbmdlcltkaXNhYmxlZF06YWN0aXZlLCAuYnRuLWRhbmdlcltkaXNhYmxlZF0uYWN0aXZlLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXIsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlcjpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyOmZvY3VzLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXIuZm9jdXMsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlcjphY3RpdmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlci5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTUzNGY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDQzZjNhOyB9XG4gIC5idG4tZGFuZ2VyIC5iYWRnZSB7XG4gICAgY29sb3I6ICNkOTUzNGY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uYnRuLWxpbmsge1xuICBjb2xvcjogIzMzN2FiNztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuYnRuLWxpbmssIC5idG4tbGluazphY3RpdmUsIC5idG4tbGluay5hY3RpdmUsIC5idG4tbGlua1tkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4tbGluaywgLmJ0bi1saW5rOmhvdmVyLCAuYnRuLWxpbms6Zm9jdXMsIC5idG4tbGluazphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi1saW5rOmhvdmVyLCAuYnRuLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjMjM1MjdjO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idG4tbGlua1tkaXNhYmxlZF06Zm9jdXMsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWxpbms6aG92ZXIsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzO1xuICBib3JkZXItcmFkaXVzOiA2cHg7IH1cblxuLmJ0bi1zbSwgLmJ0bi1ncm91cC1zbSA+IC5idG4ge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLmJ0bi14cywgLmJ0bi1ncm91cC14cyA+IC5idG4ge1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNXB4OyB9XG5cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnRuLWJsb2NrLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ0bi1ibG9jayxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0uYnRuLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7IH1cbiAgLmZhZGUuaW4ge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuY29sbGFwc2UuaW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnRyLmNvbGxhcHNlLmluIHtcbiAgZGlzcGxheTogdGFibGUtcm93OyB9XG5cbnRib2R5LmNvbGxhcHNlLmluIHtcbiAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCB2aXNpYmlsaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIHZpc2liaWxpdHk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zNXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMzVzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsgfVxuXG4uY2FyZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci10b3A6IDRweCBkYXNoZWQ7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW46IDJweCAwIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IH1cbiAgLmRyb3Bkb3duLW1lbnUucHVsbC1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24tbWVudSAuZGl2aWRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiA5cHggMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7IH1cbiAgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDNweCAyMHB4O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDI5O1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIsIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzI2MjYyNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsgfVxuXG4uZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhLCAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmhvdmVyLCAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsgfVxuXG4uZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGEsIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpob3ZlciwgLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICM3Nzc3Nzc7IH1cblxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLCAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5vcGVuID4gLmRyb3Bkb3duLW1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ub3BlbiA+IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi1tZW51LWNlbnRlciB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogM3B4IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDI5O1xuICBjb2xvcjogIzc3Nzc3NztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uZHJvcGRvd24tYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTkwOyB9XG5cbi5wdWxsLXJpZ2h0ID4gLmRyb3Bkb3duLW1lbnUge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcHVwIC5jYXJldCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuY2FyZXQge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQ7XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLmRyb3B1cCAuZHJvcGRvd24tbWVudSxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAycHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm5hdmJhci1yaWdodCAuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9IH1cblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuYnRuLWdyb3VwID4gLmJ0bixcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5idG4tZ3JvdXAgPiAuYnRuOmhvdmVyLCAuYnRuLWdyb3VwID4gLmJ0bjpmb2N1cywgLmJ0bi1ncm91cCA+IC5idG46YWN0aXZlLCAuYnRuLWdyb3VwID4gLmJ0bi5hY3RpdmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46YWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyOyB9XG5cbi5idG4tZ3JvdXAgLmJ0biArIC5idG4sXG4uYnRuLWdyb3VwIC5idG4gKyAuYnRuLWdyb3VwLFxuLmJ0bi1ncm91cCAuYnRuLWdyb3VwICsgLmJ0bixcbi5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICBtYXJnaW4tbGVmdDogLTFweDsgfVxuXG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLTVweDsgfVxuICAuYnRuLXRvb2xiYXI6YmVmb3JlLCAuYnRuLXRvb2xiYXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5idG4tdG9vbGJhcjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ0bi10b29sYmFyIC5idG4tZ3JvdXAsXG4gIC5idG4tdG9vbGJhciAuaW5wdXQtZ3JvdXAge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5idG4tdG9vbGJhciA+IC5idG4sXG4gIC5idG4tdG9vbGJhciA+IC5idG4tZ3JvdXAsXG4gIC5idG4tdG9vbGJhciA+IC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cCA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cCA+IC5idG46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbi5idG4tZ3JvdXAgPiAuZHJvcGRvd24tdG9nZ2xlOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bjpsYXN0LWNoaWxkLFxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5kcm9wZG93bi10b2dnbGUge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmJ0bi1ncm91cCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUsIC5idG4tZ3JvdXAtbGcuYnRuLWdyb3VwID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cblxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpOyB9XG4gIC5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1saW5rIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5idG4tbGcgLmNhcmV0LCAuYnRuLWdyb3VwLWxnID4gLmJ0biAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6IDVweCA1cHggMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuXG4uZHJvcHVwIC5idG4tbGcgLmNhcmV0LCAuZHJvcHVwIC5idG4tZ3JvdXAtbGcgPiAuYnRuIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCA1cHggNXB4OyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6YmVmb3JlLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuICsgLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuICsgLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwICsgLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG46bGFzdC1jaGlsZCxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwLWp1c3RpZmllZCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsgfVxuICAuYnRuLWdyb3VwLWp1c3RpZmllZCA+IC5idG4sXG4gIC5idG4tZ3JvdXAtanVzdGlmaWVkID4gLmJ0bi1ncm91cCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogMSU7IH1cbiAgLmJ0bi1ncm91cC1qdXN0aWZpZWQgPiAuYnRuLWdyb3VwIC5idG4ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5idG4tZ3JvdXAtanVzdGlmaWVkID4gLmJ0bi1ncm91cCAuZHJvcGRvd24tbWVudSB7XG4gICAgbGVmdDogYXV0bzsgfVxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0biBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0biBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsgfVxuICAuaW5wdXQtZ3JvdXBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0bixcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAuaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSxcbiAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLFxuICAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4ge1xuICB3aWR0aDogMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjNTU1NTU1O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAuaW5wdXQtZ3JvdXAtYWRkb24uaW5wdXQtc20sXG4gIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5pbnB1dC1ncm91cC1hZGRvbi5idG4ge1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLmlucHV0LWdyb3VwLWFkZG9uLmlucHV0LWxnLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuaW5wdXQtZ3JvdXAtYWRkb24uYnRuIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAuaW5wdXQtZ3JvdXAtYWRkb24gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAuaW5wdXQtZ3JvdXAtYWRkb24gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biArIC5idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cbiAgICAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0bjpob3ZlciwgLmlucHV0LWdyb3VwLWJ0biA+IC5idG46Zm9jdXMsIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuOmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLFxuICAuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4OyB9XG4gIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4sXG4gIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG5cbi5uYXYge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm5hdjpiZWZvcmUsIC5uYXY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5uYXY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5uYXYgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm5hdiA+IGxpID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuICAgICAgLm5hdiA+IGxpID4gYTpob3ZlciwgLm5hdiA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgIC5uYXYgPiBsaS5kaXNhYmxlZCA+IGEge1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICAgIC5uYXYgPiBsaS5kaXNhYmxlZCA+IGE6aG92ZXIsIC5uYXYgPiBsaS5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAubmF2IC5vcGVuID4gYSwgLm5hdiAub3BlbiA+IGE6aG92ZXIsIC5uYXYgLm9wZW4gPiBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgIGJvcmRlci1jb2xvcjogIzMzN2FiNzsgfVxuICAubmF2IC5uYXYtZGl2aWRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiA5cHggMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7IH1cbiAgLm5hdiA+IGxpID4gYSA+IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOyB9XG4gIC5uYXYtdGFicyA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4OyB9XG4gICAgLm5hdi10YWJzID4gbGkgPiBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDI5O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsgfVxuICAgICAgLm5hdi10YWJzID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlICNlZWVlZWUgI2RkZDsgfVxuICAgIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGEsIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICM1NTU1NTU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5uYXYtcGlsbHMgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5uYXYtcGlsbHMgPiBsaSA+IGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAubmF2LXBpbGxzID4gbGkgKyBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxuICAubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYSwgLm5hdi1waWxscyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsIC5uYXYtcGlsbHMgPiBsaS5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3OyB9XG5cbi5uYXYtc3RhY2tlZCA+IGxpIHtcbiAgZmxvYXQ6IG5vbmU7IH1cbiAgLm5hdi1zdGFja2VkID4gbGkgKyBsaSB7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5uYXYtanVzdGlmaWVkLCAubmF2LXRhYnMubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5uYXYtanVzdGlmaWVkID4gbGksIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkge1xuICAgIGZsb2F0OiBub25lOyB9XG4gICAgLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEsIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAubmF2LWp1c3RpZmllZCA+IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdi1qdXN0aWZpZWQgPiBsaSwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDElOyB9XG4gICAgICAubmF2LWp1c3RpZmllZCA+IGxpID4gYSwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLm5hdi10YWJzLWp1c3RpZmllZCwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQge1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5uYXYtdGFicy1qdXN0aWZpZWQgPiBsaSA+IGEsIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSxcbiAgLm5hdi10YWJzLWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6Zm9jdXMsXG4gIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdi10YWJzLWp1c3RpZmllZCA+IGxpID4gYSwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsgfVxuICAgIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSxcbiAgICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6Zm9jdXMsXG4gICAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmOyB9IH1cblxuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGFiLWNvbnRlbnQgPiAuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm5hdi10YWJzIC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgLm5hdmJhcjpiZWZvcmUsIC5uYXZiYXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5uYXZiYXI6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZiYXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4OyB9IH1cblxuLm5hdmJhci1oZWFkZXI6YmVmb3JlLCAubmF2YmFyLWhlYWRlcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4ubmF2YmFyLWhlYWRlcjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWhlYWRlciB7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgLm5hdmJhci1jb2xsYXBzZTpiZWZvcmUsIC5uYXZiYXItY29sbGFwc2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5uYXZiYXItY29sbGFwc2U6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5uYXZiYXItY29sbGFwc2UuaW4ge1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAubmF2YmFyLWNvbGxhcHNlLmNvbGxhcHNlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG4gICAgICAubmF2YmFyLWNvbGxhcHNlLmluIHtcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuICAgICAgLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZSxcbiAgICAgIC5uYXZiYXItc3RhdGljLXRvcCAubmF2YmFyLWNvbGxhcHNlLFxuICAgICAgLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItY29sbGFwc2UsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWNvbGxhcHNlIHtcbiAgbWF4LWhlaWdodDogMzQwcHg7IH1cbiAgQG1lZGlhIChtYXgtZGV2aWNlLXdpZHRoOiA0ODBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZSxcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OyB9IH1cblxuLmNvbnRhaW5lciA+IC5uYXZiYXItaGVhZGVyLFxuLmNvbnRhaW5lciA+IC5uYXZiYXItY29sbGFwc2UsXG4uY29udGFpbmVyLWZsdWlkID4gLm5hdmJhci1oZWFkZXIsXG4uY29udGFpbmVyLWZsdWlkID4gLm5hdmJhci1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFpbmVyID4gLm5hdmJhci1oZWFkZXIsXG4gICAgLmNvbnRhaW5lciA+IC5uYXZiYXItY29sbGFwc2UsXG4gICAgLmNvbnRhaW5lci1mbHVpZCA+IC5uYXZiYXItaGVhZGVyLFxuICAgIC5jb250YWluZXItZmx1aWQgPiAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgei1pbmRleDogMTAwMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZiYXItc3RhdGljLXRvcCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cblxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMzA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmJhci1maXhlZC10b3AsXG4gICAgLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG5cbi5uYXZiYXItZml4ZWQtdG9wIHtcbiAgdG9wOiAwO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7IH1cblxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDsgfVxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDE1cHggMTVweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgaGVpZ2h0OiA1MHB4OyB9XG4gIC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXItYnJhbmQ6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubmF2YmFyLWJyYW5kID4gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lciAubmF2YmFyLWJyYW5kLFxuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyLWZsdWlkIC5uYXZiYXItYnJhbmQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4OyB9IH1cblxuLm5hdmJhci10b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nOiA5cHggMTBweDtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4OyB9XG4gIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciArIC5pY29uLWJhciB7XG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZiYXItdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubmF2YmFyLW5hdiB7XG4gIG1hcmdpbjogNy41cHggLTE1cHg7IH1cbiAgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEsXG4gICAgICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDE1cHggNXB4IDI1cHg7IH1cbiAgICAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgICAgICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIsIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmJhci1uYXYge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5uYXZiYXItbmF2ID4gbGkge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICAubmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH0gfVxuXG4ubmF2YmFyLWZvcm0ge1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSksIDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZiYXItZm9ybSAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uLFxuICAgICAgLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5uYXZiYXItZm9ybSAuY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5uYXZiYXItZm9ybSAucmFkaW8sXG4gICAgLm5hdmJhci1mb3JtIC5jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5uYXZiYXItZm9ybSAucmFkaW8gbGFiZWwsXG4gICAgICAubmF2YmFyLWZvcm0gLmNoZWNrYm94IGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLm5hdmJhci1mb3JtIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgLm5hdmJhci1mb3JtIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubmF2YmFyLWZvcm0gLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgIHRvcDogMDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5uYXZiYXItZm9ybSAuZm9ybS1ncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAgIC5uYXZiYXItZm9ybSAuZm9ybS1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZiYXItZm9ybSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuXG4ubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5uYXZiYXItYnRuIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgLm5hdmJhci1idG4uYnRuLXNtLCAuYnRuLWdyb3VwLXNtID4gLm5hdmJhci1idG4uYnRuIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLm5hdmJhci1idG4uYnRuLXhzLCAuYnRuLWdyb3VwLXhzID4gLm5hdmJhci1idG4uYnRuIHtcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7IH1cblxuLm5hdmJhci10ZXh0IHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2YmFyLXRleHQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLm5hdmJhci1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsgfVxuICAgIC5uYXZiYXItcmlnaHQgfiAubmF2YmFyLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5uYXZiYXItZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0YThiZmM7XG4gIGJvcmRlci1jb2xvcjogIzRhOGJmYzsgfVxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAjNzc3OyB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpID4gYTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGEsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYSwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6aG92ZXIsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4OyB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWNvbGxhcHNlLFxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6ICM0YThiZmM7IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmhvdmVyLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2NjYztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbGluayB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5idG4tbGluayB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6aG92ZXIsIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rW2Rpc2FibGVkXTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5idG4tbGlua1tkaXNhYmxlZF06Zm9jdXMsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6aG92ZXIsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICNjY2M7IH1cblxuLm5hdmJhci1pbnZlcnNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgYm9yZGVyLWNvbG9yOiAjMDkwODA4OyB9XG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogIzlkOWQ5ZDsgfVxuICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAjOWQ5ZDlkOyB9XG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICM5ZDlkOWQ7IH1cbiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTA4MDg7IH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYSwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICM0NDQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6ICMzMzM7IH1cbiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGU6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XG4gICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWNvbGxhcHNlLFxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6ICMxMDEwMTA7IH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA5MDgwODtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA5MDgwODsgfVxuICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSAuZGl2aWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkwODA4OyB9XG4gICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAjOWQ5ZDlkOyB9XG4gICAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkwODA4OyB9XG4gICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogIzQ0NDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGluayB7XG4gICAgY29sb3I6ICM5ZDlkOWQ7IH1cbiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbmsge1xuICAgIGNvbG9yOiAjOWQ5ZDlkOyB9XG4gICAgLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cyxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpob3ZlcixcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpmb2N1cyB7XG4gICAgICBjb2xvcjogIzQ0NDsgfVxuXG4ubmF2YmFyLWRlZmF1bHQubmF2YmFyLXN0aWNreSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgcGFkZGluZzogMTBweCAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICBAc3VwcG9ydHMgKGJhY2tkcm9wLWZpbHRlcjogc2F0dXJhdGUoMTgwJSkgYmx1cigyMHB4KSkge1xuICAgIC5uYXZiYXItZGVmYXVsdC5uYXZiYXItc3RpY2t5IHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogc2F0dXJhdGUoMTgwJSkgYmx1cigyMHB4KTsgfSB9XG4gIC5uYXZiYXItZGVmYXVsdC5uYXZiYXItc3RpY2t5IC5uYXZiYXItbmF2ID4gbGkuaGVhZGVyLWJ0bi13aGl0ZSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg4YWZmO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0Lm5hdmJhci1zdGlja3kgLm5hdmJhci1uYXYgPiBsaS5oZWFkZXItYnRuLXdoaXRlIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3NCwgMTM5LCAyNTIsIDAuOSk7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAubmF2YmFyLWRlZmF1bHQubmF2YmFyLXN0aWNreS0tc2hvdywgLm5hdmJhci1kZWZhdWx0Lm5hdmJhci1zdGlja3ktLWhpZGUge1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOyB9XG4gIC5uYXZiYXItZGVmYXVsdC5uYXZiYXItc3RpY2t5LS1oaWRlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMXM7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRldXA7IH1cblxuQGtleWZyYW1lcyBzbGlkZXVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9IH1cbiAgLm5hdmJhci1kZWZhdWx0Lm5hdmJhci1zdGlja3ktLXNob3cge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVkb3duO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpOyB9XG5cbkBrZXlmcmFtZXMgc2xpZGVkb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH1cbiAgMSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm5hdmJhci1kZWZhdWx0Lm5hdmJhci1zdGlja3kge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ubW9kYWwge1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA1MDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBvdXRsaW5lOiAwOyB9XG4gIC5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7IH1cbiAgLm1vZGFsLmluIC5tb2RhbC1kaWFsb2cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5tb2RhbC1vcGVuIC5tb2RhbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAxMHB4OyB9XG5cbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCA5cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3gtc2hhZG93OiAwIDNweCA5cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBvdXRsaW5lOiAwOyB9XG5cbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDQwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIC5tb2RhbC1iYWNrZHJvcC5mYWRlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsgfVxuICAubW9kYWwtYmFja2Ryb3AuaW4ge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApOyB9XG5cbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgbWluLWhlaWdodDogMTYuNDI4NTcxNDI5cHg7IH1cblxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBtYXJnaW4tdG9wOiAtMnB4OyB9XG5cbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDI5OyB9XG5cbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxNXB4OyB9XG5cbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cbiAgLm1vZGFsLWZvb3RlcjpiZWZvcmUsIC5tb2RhbC1mb290ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5tb2RhbC1mb290ZXI6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tb2RhbC1mb290ZXIgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubW9kYWwtZm9vdGVyIC5idG4tZ3JvdXAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG4gIC5tb2RhbC1mb290ZXIgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICB3aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87IH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgLm1vZGFsLXNtIHtcbiAgICB3aWR0aDogMzAwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1vZGFsLWxnIHtcbiAgICB3aWR0aDogOTAwcHg7IH0gfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA3MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOyB9XG4gIC50b29sdGlwLmluIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTkwKTsgfVxuICAudG9vbHRpcC50b3Age1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcGFkZGluZzogNXB4IDA7IH1cbiAgLnRvb2x0aXAucmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgLnRvb2x0aXAuYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgcGFkZGluZzogNXB4IDA7IH1cbiAgLnRvb2x0aXAubGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cblxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4udG9vbHRpcC50b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwOyB9XG5cbi50b29sdGlwLnRvcC1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgYm90dG9tOiAwO1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDVweCA1cHggMDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsgfVxuXG4udG9vbHRpcC50b3AtcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDA7XG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDA7IH1cblxuLnRvb2x0aXAucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7IH1cblxuLnRvb2x0aXAubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggMCA1cHggNXB4O1xuICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDsgfVxuXG4udG9vbHRpcC5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJvcmRlci13aWR0aDogMCA1cHggNXB4O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwOyB9XG5cbi50b29sdGlwLmJvdHRvbS1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgdG9wOiAwO1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDsgfVxuXG4udG9vbHRpcC5ib3R0b20tcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDVweDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7IH1cblxuLmNsZWFyZml4OmJlZm9yZSwgLmNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5jZW50ZXItYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5zaG93IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDsgfVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG5ALW1zLXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG4udmlzaWJsZS14cyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS1zbSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS1tZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS1sZyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudmlzaWJsZS14cyB7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgdHIudmlzaWJsZS14cyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgudmlzaWJsZS14cyxcbiAgdGQudmlzaWJsZS14cyB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC52aXNpYmxlLXhzLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC52aXNpYmxlLXhzLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC52aXNpYmxlLXNtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIHRyLnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoLnZpc2libGUtc20sXG4gIHRkLnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC52aXNpYmxlLXNtLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnZpc2libGUtc20taW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgLnZpc2libGUtbWQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgdHIudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgudmlzaWJsZS1tZCxcbiAgdGQudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC52aXNpYmxlLW1kLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC52aXNpYmxlLW1kLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgLnZpc2libGUtbWQtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnZpc2libGUtbGcge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgdHIudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgudmlzaWJsZS1sZyxcbiAgdGQudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAudmlzaWJsZS1sZy1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnZpc2libGUtbGctaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLXhzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuaGlkZGVuLXNtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuaGlkZGVuLWxnIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4udmlzaWJsZS1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAudmlzaWJsZS1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICB0YWJsZS52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICB0ci52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aC52aXNpYmxlLXByaW50LFxuICB0ZC52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG4udmlzaWJsZS1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIC52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4udmlzaWJsZS1wcmludC1pbmxpbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAudmlzaWJsZS1wcmludC1pbmxpbmUge1xuICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH0gfVxuXG4udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAudmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuaGlkZGVuLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uYnRuIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwYWRkaW5nOiAxMHB4IDIwcHggMTJweDtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG4gIC5idG4uYnRuLWlvbmljIHtcbiAgICBiYWNrZ3JvdW5kOiAjNGE4YmZjO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnMsIGJhY2tncm91bmQtY29sb3IgLjJzO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBwYWRkaW5nOiAxNnB4IDI4cHg7IH1cbiAgICAuYnRuLmJ0bi1pb25pYzpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6ICM1Qjk4RkY7IH1cbiAgLmJ0bi5idG4tb3V0bGluZSB7XG4gICAgY29sb3I6ICM0YThiZmM7XG4gICAgYm9yZGVyLWNvbG9yOiAjNGE4YmZjO1xuICAgIGJvcmRlcjogIzRhOGJmYyAycHggc29saWQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmU6aG92ZXIge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRhOGJmYzsgfVxuICAuYnRuLmZpbGwuZ3JlZW4sIC5idG4uZmlsbC5ibHVlIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHBhZGRpbmc6IDEycHggMjBweDsgfVxuICAuYnRuLmZpbGwuZ3JlZW4ge1xuICAgIGJhY2tncm91bmQ6ICMzOWQ0NmQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4OyB9XG4gICAgLmJ0bi5maWxsLmdyZWVuIC5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNHB4O1xuICAgICAgbGVmdDogMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7IH1cbiAgLmJ0bi5maWxsLmJsdWUge1xuICAgIGJhY2tncm91bmQ6ICM0OGFjZjg7XG4gICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAuYnRuLmZpbGwuYmx1ZSAuaWNvbiB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDZweDtcbiAgICAgIGxlZnQ6IDIwcHg7IH1cblxuaGVhZGVyLmNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IH1cbiAgaGVhZGVyLmNvbnRhaW5lciAuY3JlYXRvci1sb2dvIHtcbiAgICB3aWR0aDogMTIwcHg7IH1cbiAgaGVhZGVyLmNvbnRhaW5lciBuYXYge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgaGVhZGVyLmNvbnRhaW5lciBuYXYge1xuICAgICAgICBmbG9hdDogbm9uZTsgfSB9XG4gICAgaGVhZGVyLmNvbnRhaW5lciBuYXYgYSB7XG4gICAgICBjb2xvcjogIzQ4NGY1YjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0cmFuc2l0aW9uOiAuMnMgY29sb3I7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMDsgfVxuICAgICAgaGVhZGVyLmNvbnRhaW5lciBuYXYgYS5hY3RpdmUsIGhlYWRlci5jb250YWluZXIgbmF2IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2EwYTViMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGhlYWRlci5jb250YWluZXIgbmF2IGEge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgaGVhZGVyLmNvbnRhaW5lciBuYXYgLmJ0biB7XG4gICAgICBwYWRkaW5nOiA4cHggMTRweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cbiAgICAgIGhlYWRlci5jb250YWluZXIgbmF2IC5idG4uYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWJlZWYyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgaGVhZGVyLmNvbnRhaW5lciBuYXYgLmJsdWUge1xuICAgICAgY29sb3I6ICM0YThiZmM7IH1cbiAgICAgIGhlYWRlci5jb250YWluZXIgbmF2IC5ibHVlOmhvdmVyLCBoZWFkZXIuY29udGFpbmVyIG5hdiAuYmx1ZTphY3RpdmUge1xuICAgICAgICBjb2xvcjogIzYzOWJmYztcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIGhlYWRlci5jb250YWluZXIgbmF2IC5zaWdudXAge1xuICAgICAgYmFja2dyb3VuZDogIzRhOGJmYztcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBiYWNrZ3JvdW5kOyB9XG4gICAgICBoZWFkZXIuY29udGFpbmVyIG5hdiAuc2lnbnVwOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzNiODFmYztcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG5cbmhncm91cCB7XG4gIHBhZGRpbmctdG9wOiA3NXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIGhncm91cCBoMSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBoZ3JvdXAgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgY29sb3I6ICM0QzU1NUE7IH1cbiAgICBoZ3JvdXAgaDIgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgaGdyb3VwIGgzIHtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIGhncm91cCBoMyArIHAge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIGhncm91cCBwIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogIzU3NjA3MDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gIGhncm91cC5wcmVzZXJ2ZXIge1xuICAgIHBhZGRpbmctdG9wOiAxODBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmNWY3IGNlbnRlciA1NXB4IG5vLXJlcGVhdCB1cmwoXCIvaW1nL3Byby9jcmVhdG9yL3N1cHBvcnQtYnVveS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCAjZTJlN2VmIHNvbGlkOyB9XG4gIGhncm91cDpub3QoZm9ybSkgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBoZ3JvdXAuZ3JleS10b3Age1xuICAgIGJhY2tncm91bmQ6ICNmM2Y1Zjc7XG4gICAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0xMzBweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2U2ZTllZTsgfVxuXG5pbnB1dFt0eXBlPXRleHRdLmlucHV0IHtcbiAgYm9yZGVyOiAycHggc29saWQgI2U2ZTllZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdHJhbnNpdGlvbjogLjRzIGJvcmRlci1jb2xvcjsgfVxuICBpbnB1dFt0eXBlPXRleHRdLmlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2EwYTViMDsgfVxuICBpbnB1dFt0eXBlPXRleHRdLmlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNhMGE1YjA7IH1cbiAgaW5wdXRbdHlwZT10ZXh0XS5pbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNGE4YmZjO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuLnRhaWwge1xuICBiYWNrZ3JvdW5kOiAjMjYzZDRjO1xuICBjb2xvcjogIzliYWNiNjtcbiAgcGFkZGluZzogODBweCAwO1xuICBtYXJnaW4tdG9wOiA5MHB4OyB9XG4gIC50YWlsLmdob3N0IHtcbiAgICBiYWNrZ3JvdW5kOiAjMjYzZDRjIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0IHVybChcIi9pbWcvcHJvL2NyZWF0b3IvYmctY3JlYXRvci1naG9zdC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7IH1cbiAgLnRhaWwgaDIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAudGFpbCBwIHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAudGFpbCBwIGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICM0YThiZmM7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnM7IH1cbiAgICAgIC50YWlsIHAgYS51bmRlcnNjb3JlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAtM3B4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzRhOGJmYztcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4yczsgfVxuICAgICAgLnRhaWwgcCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM5NWJiZmQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAudGFpbCBwIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzk1YmJmZDsgfVxuXG4uc3RhcnQtbm93IHtcbiAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAuc3RhcnQtbm93IGZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMjhweDsgfVxuICAgIC5zdGFydC1ub3cgZm9ybSAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICBwYWRkaW5nOiAxMXB4IDIwcHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAuc3RhcnQtbm93IGZvcm0gLmlucHV0IHtcbiAgICAgIHdpZHRoOiAzMzBweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgIC5zdGFydC1ub3cgZm9ybSAuaW5wdXQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuc3RhcnQtbm93IGZvcm06YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIHVybChcIi9pbWcvcHJvL2NyZWF0b3Ivc2lnbnVwLWFycm93LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNjFweDtcbiAgICAgIHdpZHRoOiA2MXB4O1xuICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW4tbGVmdDogLTkwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMjVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAuc3RhcnQtbm93IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gICAgICAuc3RhcnQtbm93IGZvcm0gLmJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDEwcHggYXV0byAwOyB9IH1cblxuZm9vdGVyIHtcbiAgY29sb3I6ICNhMGE1YjA7XG4gIHBhZGRpbmctdG9wOiA1MHB4OyB9XG4gIGZvb3RlciAucm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgd2lkdGg6IDEwMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgIGZvb3RlciAucm93IHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgZm9vdGVyIC5yb3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBmb290ZXIgLnJvdyAubGVmdCxcbiAgICAgICAgZm9vdGVyIC5yb3cgLnJpZ2h0LFxuICAgICAgICBmb290ZXIgLnJvdyAuY2VudGVyIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgZm9vdGVyIC5yb3cgLmNlbnRlciB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG4gIGZvb3RlciAubGVmdCB7XG4gICAgd2lkdGg6IDE5MHB4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDg3cHg7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgZm9vdGVyIC5sZWZ0IHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBjb2xvcjogI2EwYTViMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICBmb290ZXIgLmxlZnQgLmNyZWF0b3ItbG9nbyB7XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgZm9vdGVyIC5sZWZ0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH0gfVxuICBmb290ZXIgLnJpZ2h0IHtcbiAgICB3aWR0aDogMzMycHg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiA2MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgZm9vdGVyIC5yaWdodCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgZm9vdGVyIC5yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIGZvb3RlciAudHdpdHRlciB7XG4gICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgdXJsKFwiL2ltZy90d2l0dGVyLWJ1YmJsZS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzMzJweDtcbiAgICB3aWR0aDogMzMycHg7XG4gICAgaGVpZ2h0OiAxMDlweDtcbiAgICBwYWRkaW5nOiAxOHB4IDE2cHggMjZweCA1OXB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzRDNTU1QTsgfVxuICAgIGZvb3RlciAudHdpdHRlciBwIHtcbiAgICAgIGNvbG9yOiAjNEM1NTVBO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgZm9vdGVyIC50d2l0dGVyIGEge1xuICAgICAgY29sb3I6ICM0YThiZmM7IH1cbiAgICAgIGZvb3RlciAudHdpdHRlciBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwNDVjZjU7IH1cbiAgZm9vdGVyIC5jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC1ncm93OiAyOyB9XG4gICAgZm9vdGVyIC5jZW50ZXIgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgZm9vdGVyIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBmb290ZXIgdWwgbGkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDJlbTsgfVxuICBmb290ZXIgYSB7XG4gICAgY29sb3I6ICNiMGI2YzQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjJzOyB9XG4gICAgZm9vdGVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM0ZjhlZjc7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgZm9vdGVyIGgzIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzRDNTU1QTtcbiAgICBsaW5lLWhlaWdodDogMTAuNXB4OyB9XG4gIGZvb3RlciAuYm90dG9tIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNDRweDtcbiAgICBwYWRkaW5nLXRvcDogNDRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBmb290ZXIgLmJvdHRvbSAuaW9uaS1pby1sb2dvIHtcbiAgICAgIHdpZHRoOiA3MnB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAgIGZvb3RlciAuYm90dG9tIHAge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBjb2xvcjogI2U2ZTllZTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgIGZvb3RlciAuYm90dG9tOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA5OHB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWVmMjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbiNwYWdlLWNyZWF0b3Ige1xuICBjb2xvcjogIzRDNTU1QTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IH1cbiAgI3BhZ2UtY3JlYXRvciAuaGVybyB7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIGJvdHRvbSBuby1yZXBlYXQgdXJsKFwiL2ltZy9wcm8vY3JlYXRvci9iZy1oZXJvLWNyZWF0b3IuanBnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgbWluLWhlaWdodDogODc1cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTk1MHB4KSB7XG4gICAgICAjcGFnZS1jcmVhdG9yIC5oZXJvIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0xNjBweDsgfVxuICAgICAgICAjcGFnZS1jcmVhdG9yIC5oZXJvIGhncm91cC5jb250YWluZXIgaDMge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDIyNTBweCkge1xuICAgICAgI3BhZ2UtY3JlYXRvciAuaGVybyB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMjM1cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyNDAwcHgpIHtcbiAgICAgICNwYWdlLWNyZWF0b3IgLmhlcm8ge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTI3MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjUwMHB4KSB7XG4gICAgICAjcGFnZS1jcmVhdG9yIC5oZXJvIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0yOTBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDI1NTBweCkge1xuICAgICAgI3BhZ2UtY3JlYXRvciAuaGVybyB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMzEwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtY3JlYXRvciAuaGVybyB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNzY3cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tOyB9IH1cbiAgICAjcGFnZS1jcmVhdG9yIC5oZXJvIGhncm91cCB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICNwYWdlLWNyZWF0b3IgLmhlcm8gaGdyb3VwIGgxIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgICAjcGFnZS1jcmVhdG9yIC5oZXJvIGhncm91cCBoMSBhIHtcbiAgICAgICAgICBjb2xvcjogIzRhOGJmYztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnM7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICAgI3BhZ2UtY3JlYXRvciAuaGVybyBoZ3JvdXAgaDEgYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzdjYWJmZDsgfVxuICAgICAgI3BhZ2UtY3JlYXRvciAuaGVybyBoZ3JvdXAgaDMge1xuICAgICAgICBjb2xvcjogIzQ3NGQ1OTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICBtYXJnaW46IDI2cHggYXV0byA0NHB4O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgICAgICAgI3BhZ2UtY3JlYXRvciAuaGVybyBoZ3JvdXAgaDMgc3Ryb25nIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGNvbG9yOiAjNTc2MDcwOyB9XG4gICNwYWdlLWNyZWF0b3IgLnVzZWQtYnkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogI2EwYTViMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gICAgI3BhZ2UtY3JlYXRvciAudXNlZC1ieSBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgI3BhZ2UtY3JlYXRvciAudXNlZC1ieSBpbWcge1xuICAgICAgd2lkdGg6IDYwMnB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgI3BhZ2UtY3JlYXRvciAudXNlZC1ieSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI3BhZ2UtY3JlYXRvciAuaG93LWNyZWF0b3Itd29ya3Mge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzRhOGVmYSAwJSwgIzM0YjNmZSAxMDAlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjcGFnZS1jcmVhdG9yIC5ob3ctY3JlYXRvci13b3JrcyBoZ3JvdXAge1xuICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfVxuICAgICNwYWdlLWNyZWF0b3IgLmhvdy1jcmVhdG9yLXdvcmtzIGgzLFxuICAgICNwYWdlLWNyZWF0b3IgLmhvdy1jcmVhdG9yLXdvcmtzIGg0LFxuICAgICNwYWdlLWNyZWF0b3IgLmhvdy1jcmVhdG9yLXdvcmtzIHN0cm9uZyB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAjcGFnZS1jcmVhdG9yIC5ob3ctY3JlYXRvci13b3JrcyBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICNwYWdlLWNyZWF0b3IgLmhvdy1jcmVhdG9yLXdvcmtzIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAjcGFnZS1jcmVhdG9yIC5ob3ctY3JlYXRvci13b3JrcyBwIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICNwYWdlLWNyZWF0b3IgLmhvdy1jcmVhdG9yLXdvcmtzIGhncm91cCBoMyB7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgI3BhZ2UtY3JlYXRvciAuaG93LWNyZWF0b3Itd29ya3MgaGdyb3VwIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgI3BhZ2UtY3JlYXRvciAuaG93LWNyZWF0b3Itd29ya3MgLnN0ZXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDMzMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDIxNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjcwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNwYWdlLWNyZWF0b3IgLmhvdy1jcmVhdG9yLXdvcmtzIC5zdGVwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgI3BhZ2UtY3JlYXRvciAuaG93LWNyZWF0b3Itd29ya3MgLnN0ZXA6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAjcGFnZS1jcmVhdG9yIC5ob3ctY3JlYXRvci13b3JrcyAuc3RlcC5kcmFnLW4tZHJvcCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL2NyZWF0b3Ivd29ya3MtZG5kLnBuZz8xXCIpOyB9XG4gICAgICAjcGFnZS1jcmVhdG9yIC5ob3ctY3JlYXRvci13b3JrcyAuc3RlcC5wcmV2aWV3IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vY3JlYXRvci93b3Jrcy1wcmV2aWV3LnBuZ1wiKTsgfVxuICAgICAgI3BhZ2UtY3JlYXRvciAuaG93LWNyZWF0b3Itd29ya3MgLnN0ZXAuZXhwb3J0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vY3JlYXRvci93b3Jrcy1leHBvcnQucG5nPzFcIik7IH1cbiAgICAgICNwYWdlLWNyZWF0b3IgLmhvdy1jcmVhdG9yLXdvcmtzIC5zdGVwOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIHVybChcIi9pbWcvcHJvL2NyZWF0b3IvaWNvLWFycm93LXdvcmtzLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxOXB4O1xuICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDg1cHg7XG4gICAgICAgIHJpZ2h0OiAtNjBweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICNwYWdlLWNyZWF0b3IgLmhvdy1jcmVhdG9yLXdvcmtzIC5zdGVwIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgICAgICAgd2lkdGg6IDI3MHB4OyB9XG4gICAgICAgICAgI3BhZ2UtY3JlYXRvciAuaG93LWNyZWF0b3Itd29ya3MgLnN0ZXA6YmVmb3JlIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMzVweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgI3BhZ2UtY3JlYXRvciAuaG93LWNyZWF0b3Itd29ya3MgLnN0ZXAge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgICNwYWdlLWNyZWF0b3IgLmhvdy1jcmVhdG9yLXdvcmtzIC5zdGVwOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiAwOyB9IH1cbiAgI3BhZ2UtY3JlYXRvciAuaGVyby1zaWRlIC5jb250YWluZXIge1xuICAgIGhlaWdodDogNDk4cHg7XG4gICAgcGFkZGluZy10b3A6IDE0MHB4OyB9XG4gICNwYWdlLWNyZWF0b3IgLmhlcm8tc2lkZS5sZWZ0IC5jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogNjk1cHg7XG4gICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGxlZnQgdG9wO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjgycHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICNwYWdlLWNyZWF0b3IgLmhlcm8tc2lkZS5sZWZ0IC5jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwMHB4O1xuICAgICAgICB3aWR0aDogMTEwMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDY3MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLWNyZWF0b3IgLmhlcm8tc2lkZS5sZWZ0IC5jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMjdweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAjcGFnZS1jcmVhdG9yIC5oZXJvLXNpZGUucmlnaHQge1xuICAgIGJhY2tncm91bmQ6ICNmNmY3ZmE7IH1cbiAgICAjcGFnZS1jcmVhdG9yIC5oZXJvLXNpZGUucmlnaHQgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2NjBweDtcbiAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCByaWdodCB0b3A7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDY4MnB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgI3BhZ2UtY3JlYXRvciAuaGVyby1zaWRlLnJpZ2h0IC5jb250YWluZXIge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTUwcHg7XG4gICAgICAgICAgd2lkdGg6IDEwMjBweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MzBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgI3BhZ2UtY3JlYXRvciAuaGVyby1zaWRlLnJpZ2h0IC5jb250YWluZXIge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMjdweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgI3BhZ2UtY3JlYXRvciAuaGVyby1zaWRlLnRvb2wgLmNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vY3JlYXRvci9mZWF0dXJlcy10b29sLmpwZ1wiKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtY3JlYXRvciAuaGVyby1zaWRlLnRvb2wgLmNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfSB9XG4gICNwYWdlLWNyZWF0b3IgLmhlcm8tc2lkZS5kbmQgLmNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vY3JlYXRvci9mZWF0dXJlcy1kbmQucG5nPzFcIik7IH1cbiAgI3BhZ2UtY3JlYXRvciAuaGVyby1zaWRlLnhwbGF0Zm9ybSAuY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9jcmVhdG9yL2ZlYXR1cmVzLXhwbGF0Zm9ybS5qcGdcIik7IH1cbiAgI3BhZ2UtY3JlYXRvciAuaGVyby1zaWRlLnRlYW1zIC5jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL2NyZWF0b3IvZmVhdHVyZXMtdGVhbXMucG5nPzFcIik7IH1cbiAgI3BhZ2UtY3JlYXRvciAuaGVyby1zaWRlLmlubGluZS1jb2RlLWVkaXRpbmcge1xuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBsZWZ0IGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9jcmVhdG9yL2ZlYXR1cmVzLWNvZGUuanBnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDUlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjAwMHB4KSB7XG4gICAgICAjcGFnZS1jcmVhdG9yIC5oZXJvLXNpZGUuaW5saW5lLWNvZGUtZWRpdGluZyB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODk2cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtY3JlYXRvciAuaGVyby1zaWRlLmlubGluZS1jb2RlLWVkaXRpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI5OXB4OyB9IH1cbiAgI3BhZ2UtY3JlYXRvciAuaGVyby1zaWRlIGgyIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuICAjcGFnZS1jcmVhdG9yIC5oZXJvLXNpZGUgcCB7XG4gICAgY29sb3I6ICM3RTg3OTI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAjcGFnZS1jcmVhdG9yIC5oZXJvLXNpZGUgcCBlbSxcbiAgICAjcGFnZS1jcmVhdG9yIC5oZXJvLXNpZGUgcCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAjcGFnZS1jcmVhdG9yIC5oZXJvLXNpZGUgLnBsYXRmb3JtcyB7XG4gICAgd2lkdGg6IDEwN3B4OyB9XG4gICNwYWdlLWNyZWF0b3IgLmhlcm8tY2VudGVyIC50b3Age1xuICAgIGJhY2tncm91bmQ6ICMxMjFiMmUgbm8tcmVwZWF0IGNlbnRlciBib3R0b20gdXJsKFwiL2ltZy9wcm8vY3JlYXRvci9mZWF0dXJlcy1wcmV2aWV3LXBob3RvLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE4MDBweDsgfVxuICAgICNwYWdlLWNyZWF0b3IgLmhlcm8tY2VudGVyIC50b3AgLmNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDQxMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE1MXB4OyB9XG4gICAgICAjcGFnZS1jcmVhdG9yIC5oZXJvLWNlbnRlciAudG9wIC5jb250YWluZXIgaDIge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgI3BhZ2UtY3JlYXRvciAuaGVyby1jZW50ZXIgLnRvcCAuY29udGFpbmVyIHAge1xuICAgICAgICBjb2xvcjogI2EwYTViMDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICNwYWdlLWNyZWF0b3IgLmhlcm8tY2VudGVyIC5ib3R0b20ge1xuICAgIGJhY2tncm91bmQ6ICMyMjJmNDkgbm8tcmVwZWF0IGNlbnRlciBib3R0b20gdXJsKFwiL2ltZy9wcm8vY3JlYXRvci9mZWF0dXJlcy1wcmV2aWV3LWJsdXIuanBnPzFcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxODAwcHg7IH1cbiAgICAjcGFnZS1jcmVhdG9yIC5oZXJvLWNlbnRlciAuYm90dG9tIC5jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAyMnB4OyB9XG4gICAgICAjcGFnZS1jcmVhdG9yIC5oZXJvLWNlbnRlciAuYm90dG9tIC5jb250YWluZXIgcCB7XG4gICAgICAgIGNvbG9yOiAjYTBhNWIwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgICNwYWdlLWNyZWF0b3IgLmhlcm8tY2VudGVyIC5ib3R0b20gLmNvbnRhaW5lciAuYnRuIHtcbiAgICAgICAgaGVpZ2h0OiA1M3B4OyB9XG4gICAgICAgICNwYWdlLWNyZWF0b3IgLmhlcm8tY2VudGVyIC5ib3R0b20gLmNvbnRhaW5lciAuYnRuLmFwcC1zdG9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgdXJsKFwiL2ltZy9wcm8vY3JlYXRvci9hcHAtc3RvcmUtY3JlYXRvci1idG4ucG5nXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTUzcHg7XG4gICAgICAgICAgd2lkdGg6IDE1M3B4OyB9XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICAjcGFnZS1jcmVhdG9yIC5oZXJvLWNlbnRlciAuYm90dG9tIC5jb250YWluZXIgLmJ0bi5hcHAtc3RvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMnB4O1xuICAgICAgICAgICAgICB3aWR0aDogMTAycHg7IH0gfVxuICAgICAgICAjcGFnZS1jcmVhdG9yIC5oZXJvLWNlbnRlciAuYm90dG9tIC5jb250YWluZXIgLmJ0bi5nb29nbGUtcGxheSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgdXJsKFwiL2ltZy9wcm8vY3JlYXRvci9nb29nbGUtcGxheS1jcmVhdG9yLWJ0bi5wbmc/MVwiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4NHB4O1xuICAgICAgICAgIHdpZHRoOiAxODRweDsgfVxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgI3BhZ2UtY3JlYXRvciAuaGVyby1jZW50ZXIgLmJvdHRvbSAuY29udGFpbmVyIC5idG4uZ29vZ2xlLXBsYXkge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyM3B4O1xuICAgICAgICAgICAgICB3aWR0aDogMTIzcHg7IH0gfVxuICAjcGFnZS1jcmVhdG9yIC5oZXJvLWNlbnRlciBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICNlYmVlZjI7IH1cblxuLnByb2R1Y3QtY29tcGFyaXNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfVxuICAucHJvZHVjdC1jb21wYXJpc29uLmJpbGxpbmctdG9nZ2xlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAucHJvZHVjdC1jb21wYXJpc29uLmJpbGxpbmctdG9nZ2xlIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlNmU5ZWU7XG4gICAgICBjb2xvcjogI2EwYTViMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgdHJhbnNpdGlvbjogLjJzIGNvbG9yLCAuMnMgYm9yZGVyLWNvbG9yO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMS40cHg7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAucHJvZHVjdC1jb21wYXJpc29uLmJpbGxpbmctdG9nZ2xlIGJ1dHRvbi5hY3RpdmUsIC5wcm9kdWN0LWNvbXBhcmlzb24uYmlsbGluZy10b2dnbGUgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM0YThiZmM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzRhOGJmYzsgfVxuICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZWJlZWYyO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxNXB4IDZweDtcbiAgICBwYWRkaW5nOiAzMHB4IDEwcHg7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMTNweCk7XG4gICAgbWF4LXdpZHRoOiAyNTFweDtcbiAgICBtaW4td2lkdGg6IDIyNHB4O1xuICAgIGNvbG9yOiAjNTc2MDcwO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gICAgLnByb2R1Y3QtY29tcGFyaXNvbiAucGxhbiAuZmFkZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNpdGlvbjogLjJzIGVhc2UgYWxsO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuIC5mYWRlLm5nLWhpZGUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSwgMS41KTsgfVxuICAgIC5wcm9kdWN0LWNvbXBhcmlzb24gLnBsYW4uZW50ZXJwcmlzZSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgd2lkdGg6IDY0MHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuLmVudGVycHJpc2U6YmVmb3JlLCAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuLmVudGVycHJpc2U6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlciB1cmwoXCIvaW1nL3Byby9jcmVhdG9yL2VudHJwcnMtc3RyLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNnB4O1xuICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtNTBweDsgfVxuICAgICAgLnByb2R1Y3QtY29tcGFyaXNvbiAucGxhbi5lbnRlcnByaXNlOmFmdGVyIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC01MHB4OyB9XG4gICAgICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuLmVudGVycHJpc2UgaDMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgIC5wcm9kdWN0LWNvbXBhcmlzb24gLnBsYW4uZW50ZXJwcmlzZSBwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjOWJhY2I2OyB9XG4gICAgICAgIC5wcm9kdWN0LWNvbXBhcmlzb24gLnBsYW4uZW50ZXJwcmlzZSBwIHN0cm9uZyB7XG4gICAgICAgICAgY29sb3I6ICNmNjY0ODY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgLnByb2R1Y3QtY29tcGFyaXNvbiAucGxhbi5lbnRlcnByaXNlIGEge1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnByb2R1Y3QtY29tcGFyaXNvbiAucGxhbi5mcmVlIGgyIHtcbiAgICAgIGNvbG9yOiAjZjZhNDJlOyB9XG4gICAgLnByb2R1Y3QtY29tcGFyaXNvbiAucGxhbi5kZXYgaDIge1xuICAgICAgY29sb3I6ICM1YzY3NzU7IH1cbiAgICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuLnBybyBoMiB7XG4gICAgICBjb2xvcjogIzM2Yzk3MTsgfVxuICAgIC5wcm9kdWN0LWNvbXBhcmlzb24gLnBsYW4uYnVzaW5lc3MgaDIge1xuICAgICAgY29sb3I6ICM4MzY0ZjY7IH1cbiAgICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuIGhncm91cCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuIGhncm91cCBoMixcbiAgICAgIC5wcm9kdWN0LWNvbXBhcmlzb24gLnBsYW4gaGdyb3VwIGgzLFxuICAgICAgLnByb2R1Y3QtY29tcGFyaXNvbiAucGxhbiBoZ3JvdXAgaDQsXG4gICAgICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuIGhncm91cCBzbWFsbCB7XG4gICAgICAgIGNvbG9yOiAjNEM1NTVBO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5wcm9kdWN0LWNvbXBhcmlzb24gLnBsYW4gaGdyb3VwIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuIGhncm91cCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgaGVpZ2h0OiA2MXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5wcm9kdWN0LWNvbXBhcmlzb24gLnBsYW4gaGdyb3VwIGgzIHN1cCB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIHRvcDogLS41ZW07IH1cbiAgICAgICAgLnByb2R1Y3QtY29tcGFyaXNvbiAucGxhbiBoZ3JvdXAgaDMgc3ViIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBib3R0b206IDA7IH1cbiAgICAgICAgLnByb2R1Y3QtY29tcGFyaXNvbiAucGxhbiBoZ3JvdXAgaDMgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzN3B4O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAgIC5wcm9kdWN0LWNvbXBhcmlzb24gLnBsYW4gaGdyb3VwIGgzIGE6aG92ZXIsIC5wcm9kdWN0LWNvbXBhcmlzb24gLnBsYW4gaGdyb3VwIGgzIGE6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICAgICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuIGhncm91cCBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6ICNhMGE1YjA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNy42cHg7IH1cbiAgICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAyNXB4IDAgMDsgfVxuICAgICAgLnByb2R1Y3QtY29tcGFyaXNvbiAucGxhbiB1bCBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICBtYXJnaW46IDAgLTEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuIHVsIGxpIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBjb2xvcjogIzRDNTU1QTsgfVxuICAgICAgICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuIHVsIGxpLmZlYXR1cmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmNmY4ZmE7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgICAucHJvZHVjdC1jb21wYXJpc29uIC5wbGFuIHtcbiAgICAgICAgd2lkdGg6IDIwNXB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLnByb2R1Y3QtY29tcGFyaXNvbiB7XG4gICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4uYWxzby1pbmNsdWRlZCBoMyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiA4NXB4IGF1dG87XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmFsc28taW5jbHVkZWQgc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWxzby1pbmNsdWRlZCBwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzg5ODk4OTtcbiAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5hbHNvLWluY2x1ZGVkIHVsIHtcbiAgcGFkZGluZzogMCA3MnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsc28taW5jbHVkZWQgbGkge1xuICB3aWR0aDogMjk1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMjhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG4gIC5hbHNvLWluY2x1ZGVkIGxpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHRvcCBjZW50ZXIgbm8tcmVwZWF0IHVybChcIi9pbWcvcHJvL2NyZWF0b3IvaW5jbHVkZWQtaWNvbnMucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwOyB9XG4gIC5hbHNvLWluY2x1ZGVkIGxpLnNoYXJpbmc6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0yMHB4OyB9XG4gIC5hbHNvLWluY2x1ZGVkIGxpLmlvbmljOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtNDBweDsgfVxuICAuYWxzby1pbmNsdWRlZCBsaS50ZW1wbGF0ZXM6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC02MHB4OyB9XG4gIC5hbHNvLWluY2x1ZGVkIGxpLmV4cG9ydGluZzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTgwcHg7IH1cbiAgLmFsc28taW5jbHVkZWQgbGkucHJldmlldzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTEwMHB4OyB9XG5cbi5mYXEge1xuICBiYWNrZ3JvdW5kOiAjZjZmOGZhO1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgLmZhcSBoZ3JvdXAge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAuZmFxIC5jb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyB9XG4gIC5mYXEgLmNvbCB7XG4gICAgbWF4LXdpZHRoOiAzOTVweDtcbiAgICBtYXJnaW46IDAgNDVweDsgfVxuICAgIC5mYXEgLmNvbCBkdCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbWFyZ2luOiA3MHB4IDAgMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gICAgLmZhcSAuY29sIGRkIHtcbiAgICAgIGNvbG9yOiAjODA4NjkyO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDJlbTsgfVxuICAgICAgLmZhcSAuY29sIGRkIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAjODA4NjkyOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5mYXEge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5mYXEgLmNvbHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmZhcSAuY29sIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLmJyb2R5IHtcbiAgYmFja2dyb3VuZDogcmlnaHQgYm90dG9tIG5vLXJlcGVhdCB1cmwoXCIvaW1nL3Byby9jcmVhdG9yL3N1cHBvcnQtYnJvZHkuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDYwJTtcbiAgbWluLWhlaWdodDogNTUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgcGFkZGluZy10b3A6IDMycHg7IH1cbiAgLmJyb2R5ICsgLnRhaWwge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmJyb2R5IGRsIHtcbiAgICB3aWR0aDogNDUlOyB9XG4gICAgLmJyb2R5IGRsIGR0IHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5icm9keSBkbCBkZCB7XG4gICAgICBjb2xvcjogIzU3NjA3MDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjllbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmJyb2R5IHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjUwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwMHB4OyB9XG4gICAgICAuYnJvZHkgZGwge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbiNib2R5LWNyZWF0b3ItZG9jcyxcbiNib2R5LWNyZWF0b3ItZG9jcyAuY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNib2R5LWNyZWF0b3ItZG9jcyAjaW5kZXgge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICNib2R5LWNyZWF0b3ItZG9jcyAjaW5kZXgge1xuICAgICAgd2lkdGg6IDI3N3B4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgI2JvZHktY3JlYXRvci1kb2NzICNpbmRleCB7XG4gICAgICB3aWR0aDogMjEycHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNib2R5LWNyZWF0b3ItZG9jcyAjaW5kZXgge1xuICAgICAgd2lkdGg6IDE1N3B4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI2JvZHktY3JlYXRvci1kb2NzICNpbmRleCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9IH1cbiAgI2JvZHktY3JlYXRvci1kb2NzICNpbmRleC5ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7IH1cbiAgI2JvZHktY3JlYXRvci1kb2NzICNpbmRleCB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAjYm9keS1jcmVhdG9yLWRvY3MgI2luZGV4IHVsIGEge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgY29sb3I6ICM0QzU1NUE7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luOiAxLjFlbSAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycywgYm9yZGVyLWNvbG9yIC4yczsgfVxuICAgICNib2R5LWNyZWF0b3ItZG9jcyAjaW5kZXggdWwgdWwgLmFjdGl2ZSA+IGEsXG4gICAgI2JvZHktY3JlYXRvci1kb2NzICNpbmRleCB1bCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgICNib2R5LWNyZWF0b3ItZG9jcyAjaW5kZXggdWwgdWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjVweDsgfVxuICAgICAgI2JvZHktY3JlYXRvci1kb2NzICNpbmRleCB1bCB1bC5hbmltYXRlLXNob3cge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgICNib2R5LWNyZWF0b3ItZG9jcyAjaW5kZXggdWwgdWwuYW5pbWF0ZS1zaG93IGEge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTUwcHg7IH1cbiAgICAgICAgI2JvZHktY3JlYXRvci1kb2NzICNpbmRleCB1bCB1bC5hbmltYXRlLXNob3cubmctaGlkZS1hZGQsICNib2R5LWNyZWF0b3ItZG9jcyAjaW5kZXggdWwgdWwuYW5pbWF0ZS1zaG93Lm5nLWhpZGUtcmVtb3ZlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIC4yczsgfVxuICAgICAgICAjYm9keS1jcmVhdG9yLWRvY3MgI2luZGV4IHVsIHVsLmFuaW1hdGUtc2hvdy5uZy1oaWRlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAgICAgI2JvZHktY3JlYXRvci1kb2NzICNpbmRleCB1bCB1bC5hbmltYXRlLXNob3cubmctaGlkZSBhIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7IH1cbiAgICAgICNib2R5LWNyZWF0b3ItZG9jcyAjaW5kZXggdWwgdWwgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICNhMGE1YjA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBsaW5lYXIgLjJzOyB9XG4gICAgICAjYm9keS1jcmVhdG9yLWRvY3MgI2luZGV4IHVsIHVsIC5hY3RpdmUgYSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzRhOGJmYztcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbiNkb2NzIGgxLFxuI2RvY3MgaDIsXG4jZG9jcyBoMyxcbiNkb2NzIGg0LFxuI2RvY3MgaDUsXG4jZG9jcyBoNiB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMi4yZW0gMCAuOGVtO1xuICBsaW5lLWhlaWdodDogMmVtOyB9XG5cbiNkb2NzIGgyIHtcbiAgZm9udC1zaXplOiAyMHB4OyB9XG5cbiNkb2NzIGgzIHtcbiAgZm9udC1zaXplOiAxOHB4OyB9XG5cbiNkb2NzIGg0IHtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbiNkb2NzIHAge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjODk4OTg5O1xuICBsaW5lLWhlaWdodDogMmVtO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5zdHVkaW8tY2FsbG91dCB7XG4gIG1hcmdpbjogMTAwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRENUI2OTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5zdHVkaW8tY2FsbG91dCBoZ3JvdXAge1xuICAgIGZsZXg6IDAgMCA0NSU7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDgwcHggMCA4MHB4IDgwcHg7IH1cbiAgICAuc3R1ZGlvLWNhbGxvdXQgaGdyb3VwIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnN0dWRpby1jYWxsb3V0IGhncm91cCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgY29sb3I6ICNEREREREQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLnN0dWRpby1jYWxsb3V0IGhncm91cCBwIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuc3R1ZGlvLWNhbGxvdXQgaGdyb3VwIC5idG4ge1xuICAgICAgcGFkZGluZzogMTFweCAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gIC5zdHVkaW8tY2FsbG91dCBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgICAuc3R1ZGlvLWNhbGxvdXQgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMCA0MHB4IDQwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc3R1ZGlvLWNhbGxvdXQge1xuICAgICAgbWFyZ2luOiAxMjBweCAwIDA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuc3R1ZGlvLWNhbGxvdXQgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiA0NzVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTAwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC02MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5zdHVkaW8tY2FsbG91dCBoZ3JvdXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNDBweDtcbiAgICAgICAgei1pbmRleDogMjsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5zdHVkaW8tY2FsbG91dCBoZ3JvdXAge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgICAgLnN0dWRpby1jYWxsb3V0IGhncm91cCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiIsIi8qISBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MgKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OiBoNWJwLmNvbS9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgYVtocmVmXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIH1cblxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyLFxuICAgIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IC8vIGg1YnAuY29tL3RcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG4gICAgLy9cbiAgICAvLyBDaHJvbWUgKE9TWCkgZml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExMjQ1XG4gICAgLy8gT25jZSBmaXhlZCwgd2UgY2FuIGp1c3Qgc3RyYWlnaHQgdXAgcmVtb3ZlIHRoaXMuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5idG4sXG4gICAgLmRyb3B1cCA+IC5idG4ge1xuICAgICAgICA+IC5jYXJldCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxhYmVsIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgdGQsXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG59XG4iLCIvL1xuLy8gR2x5cGhpY29ucyBmb3IgQm9vdHN0cmFwXG4vL1xuLy8gU2luY2UgaWNvbnMgYXJlIGZvbnRzLCB0aGV5IGNhbiBiZSBwbGFjZWQgYW55d2hlcmUgdGV4dCBpcyBwbGFjZWQgYW5kIGFyZVxuLy8gdGh1cyBhdXRvbWF0aWNhbGx5IHNpemVkIHRvIG1hdGNoIHRoZSBzdXJyb3VuZGluZyBjaGlsZC4gVG8gdXNlLCBjcmVhdGUgYW5cbi8vIGlubGluZSBlbGVtZW50IHdpdGggdGhlIGFwcHJvcHJpYXRlIGNsYXNzZXMsIGxpa2Ugc286XG4vL1xuLy8gPGEgaHJlZj1cIiNcIj48c3BhbiBjbGFzcz1cImdseXBoaWNvbiBnbHlwaGljb24tc3RhclwiPjwvc3Bhbj4gU3RhcjwvYT5cblxuLy8gSW1wb3J0IHRoZSBmb250c1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuICBzcmM6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWZvbnQtcGF0aCgnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LmVvdCcpLCAnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LmVvdCcpKTtcbiAgc3JjOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1mb250LXBhdGgoJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS5lb3Q/I2llZml4JyksICcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0uZW90PyNpZWZpeCcpKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtZm9udC1wYXRoKCcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0ud29mZjInKSwgJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS53b2ZmMicpKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtZm9udC1wYXRoKCcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0ud29mZicpLCAnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LndvZmYnKSkgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtZm9udC1wYXRoKCcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0udHRmJyksICcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0udHRmJykpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1mb250LXBhdGgoJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS5zdmcjI3skaWNvbi1mb250LXN2Zy1pZH0nKSwgJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS5zdmcjI3skaWNvbi1mb250LXN2Zy1pZH0nKSkgZm9ybWF0KCdzdmcnKTtcbn1cblxuLy8gQ2F0Y2hhbGwgYmFzZWNsYXNzXG4uZ2x5cGhpY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDFweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIEluZGl2aWR1YWwgaWNvbnNcbi5nbHlwaGljb24tYXN0ZXJpc2sgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDJhXCI7IH0gfVxuLmdseXBoaWNvbi1wbHVzICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMmJcIjsgfSB9XG4uZ2x5cGhpY29uLWV1cm8sXG4uZ2x5cGhpY29uLWV1ciAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMGFjXCI7IH0gfVxuLmdseXBoaWNvbi1taW51cyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjIxMlwiOyB9IH1cbi5nbHlwaGljb24tY2xvdWQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI2MDFcIjsgfSB9XG4uZ2x5cGhpY29uLWVudmVsb3BlICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNzA5XCI7IH0gfVxuLmdseXBoaWNvbi1wZW5jaWwgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjcwZlwiOyB9IH1cbi5nbHlwaGljb24tZ2xhc3MgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDFcIjsgfSB9XG4uZ2x5cGhpY29uLW11c2ljICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDAyXCI7IH0gfVxuLmdseXBoaWNvbi1zZWFyY2ggICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwM1wiOyB9IH1cbi5nbHlwaGljb24taGVhcnQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDVcIjsgfSB9XG4uZ2x5cGhpY29uLXN0YXIgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA2XCI7IH0gfVxuLmdseXBoaWNvbi1zdGFyLWVtcHR5ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwN1wiOyB9IH1cbi5nbHlwaGljb24tdXNlciAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDhcIjsgfSB9XG4uZ2x5cGhpY29uLWZpbG0gICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA5XCI7IH0gfVxuLmdseXBoaWNvbi10aC1sYXJnZSAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxMFwiOyB9IH1cbi5nbHlwaGljb24tdGggICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTFcIjsgfSB9XG4uZ2x5cGhpY29uLXRoLWxpc3QgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDEyXCI7IH0gfVxuLmdseXBoaWNvbi1vayAgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxM1wiOyB9IH1cbi5nbHlwaGljb24tcmVtb3ZlICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTRcIjsgfSB9XG4uZ2x5cGhpY29uLXpvb20taW4gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE1XCI7IH0gfVxuLmdseXBoaWNvbi16b29tLW91dCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxNlwiOyB9IH1cbi5nbHlwaGljb24tb2ZmICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTdcIjsgfSB9XG4uZ2x5cGhpY29uLXNpZ25hbCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE4XCI7IH0gfVxuLmdseXBoaWNvbi1jb2cgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxOVwiOyB9IH1cbi5nbHlwaGljb24tdHJhc2ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjBcIjsgfSB9XG4uZ2x5cGhpY29uLWhvbWUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIxXCI7IH0gfVxuLmdseXBoaWNvbi1maWxlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyMlwiOyB9IH1cbi5nbHlwaGljb24tdGltZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjNcIjsgfSB9XG4uZ2x5cGhpY29uLXJvYWQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI0XCI7IH0gfVxuLmdseXBoaWNvbi1kb3dubG9hZC1hbHQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyNVwiOyB9IH1cbi5nbHlwaGljb24tZG93bmxvYWQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjZcIjsgfSB9XG4uZ2x5cGhpY29uLXVwbG9hZCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI3XCI7IH0gfVxuLmdseXBoaWNvbi1pbmJveCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyOFwiOyB9IH1cbi5nbHlwaGljb24tcGxheS1jaXJjbGUgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjlcIjsgfSB9XG4uZ2x5cGhpY29uLXJlcGVhdCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMwXCI7IH0gfVxuLmdseXBoaWNvbi1yZWZyZXNoICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzMVwiOyB9IH1cbi5nbHlwaGljb24tbGlzdC1hbHQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzJcIjsgfSB9XG4uZ2x5cGhpY29uLWxvY2sgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMzXCI7IH0gfVxuLmdseXBoaWNvbi1mbGFnICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzNFwiOyB9IH1cbi5nbHlwaGljb24taGVhZHBob25lcyAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzVcIjsgfSB9XG4uZ2x5cGhpY29uLXZvbHVtZS1vZmYgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM2XCI7IH0gfVxuLmdseXBoaWNvbi12b2x1bWUtZG93biAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzN1wiOyB9IH1cbi5nbHlwaGljb24tdm9sdW1lLXVwICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzhcIjsgfSB9XG4uZ2x5cGhpY29uLXFyY29kZSAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM5XCI7IH0gfVxuLmdseXBoaWNvbi1iYXJjb2RlICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0MFwiOyB9IH1cbi5nbHlwaGljb24tdGFnICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDFcIjsgfSB9XG4uZ2x5cGhpY29uLXRhZ3MgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQyXCI7IH0gfVxuLmdseXBoaWNvbi1ib29rICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0M1wiOyB9IH1cbi5nbHlwaGljb24tYm9va21hcmsgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDRcIjsgfSB9XG4uZ2x5cGhpY29uLXByaW50ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ1XCI7IH0gfVxuLmdseXBoaWNvbi1jYW1lcmEgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0NlwiOyB9IH1cbi5nbHlwaGljb24tZm9udCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDdcIjsgfSB9XG4uZ2x5cGhpY29uLWJvbGQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ4XCI7IH0gfVxuLmdseXBoaWNvbi1pdGFsaWMgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0OVwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC1oZWlnaHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTBcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtd2lkdGggICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUxXCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1sZWZ0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1MlwiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tY2VudGVyICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTNcIjsgfSB9XG4uZ2x5cGhpY29uLWFsaWduLXJpZ2h0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU0XCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1qdXN0aWZ5ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1NVwiOyB9IH1cbi5nbHlwaGljb24tbGlzdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTZcIjsgfSB9XG4uZ2x5cGhpY29uLWluZGVudC1sZWZ0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU3XCI7IH0gfVxuLmdseXBoaWNvbi1pbmRlbnQtcmlnaHQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1OFwiOyB9IH1cbi5nbHlwaGljb24tZmFjZXRpbWUtdmlkZW8gICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTlcIjsgfSB9XG4uZ2x5cGhpY29uLXBpY3R1cmUgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDYwXCI7IH0gfVxuLmdseXBoaWNvbi1tYXAtbWFya2VyICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2MlwiOyB9IH1cbi5nbHlwaGljb24tYWRqdXN0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjNcIjsgfSB9XG4uZ2x5cGhpY29uLXRpbnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY0XCI7IH0gfVxuLmdseXBoaWNvbi1lZGl0ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2NVwiOyB9IH1cbi5nbHlwaGljb24tc2hhcmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjZcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZWNrICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY3XCI7IH0gfVxuLmdseXBoaWNvbi1tb3ZlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2OFwiOyB9IH1cbi5nbHlwaGljb24tc3RlcC1iYWNrd2FyZCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjlcIjsgfSB9XG4uZ2x5cGhpY29uLWZhc3QtYmFja3dhcmQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDcwXCI7IH0gfVxuLmdseXBoaWNvbi1iYWNrd2FyZCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3MVwiOyB9IH1cbi5nbHlwaGljb24tcGxheSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzJcIjsgfSB9XG4uZ2x5cGhpY29uLXBhdXNlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDczXCI7IH0gfVxuLmdseXBoaWNvbi1zdG9wICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3NFwiOyB9IH1cbi5nbHlwaGljb24tZm9yd2FyZCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzVcIjsgfSB9XG4uZ2x5cGhpY29uLWZhc3QtZm9yd2FyZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc2XCI7IH0gfVxuLmdseXBoaWNvbi1zdGVwLWZvcndhcmQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3N1wiOyB9IH1cbi5nbHlwaGljb24tZWplY3QgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzhcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZXZyb24tbGVmdCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc5XCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4MFwiOyB9IH1cbi5nbHlwaGljb24tcGx1cy1zaWduICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODFcIjsgfSB9XG4uZ2x5cGhpY29uLW1pbnVzLXNpZ24gICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDgyXCI7IH0gfVxuLmdseXBoaWNvbi1yZW1vdmUtc2lnbiAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4M1wiOyB9IH1cbi5nbHlwaGljb24tb2stc2lnbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODRcIjsgfSB9XG4uZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg1XCI7IH0gfVxuLmdseXBoaWNvbi1pbmZvLXNpZ24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4NlwiOyB9IH1cbi5nbHlwaGljb24tc2NyZWVuc2hvdCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODdcIjsgfSB9XG4uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGUgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg4XCI7IH0gfVxuLmdseXBoaWNvbi1vay1jaXJjbGUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4OVwiOyB9IH1cbi5nbHlwaGljb24tYmFuLWNpcmNsZSAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTBcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LWxlZnQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkxXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy1yaWdodCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5MlwiOyB9IH1cbi5nbHlwaGljb24tYXJyb3ctdXAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTNcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LWRvd24gICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk0XCI7IH0gfVxuLmdseXBoaWNvbi1zaGFyZS1hbHQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5NVwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLWZ1bGwgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTZcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS1zbWFsbCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk3XCI7IH0gfVxuLmdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwMVwiOyB9IH1cbi5nbHlwaGljb24tZ2lmdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDJcIjsgfSB9XG4uZ2x5cGhpY29uLWxlYWYgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTAzXCI7IH0gfVxuLmdseXBoaWNvbi1maXJlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwNFwiOyB9IH1cbi5nbHlwaGljb24tZXllLW9wZW4gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDVcIjsgfSB9XG4uZ2x5cGhpY29uLWV5ZS1jbG9zZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA2XCI7IH0gfVxuLmdseXBoaWNvbi13YXJuaW5nLXNpZ24gICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwN1wiOyB9IH1cbi5nbHlwaGljb24tcGxhbmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDhcIjsgfSB9XG4uZ2x5cGhpY29uLWNhbGVuZGFyICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA5XCI7IH0gfVxuLmdseXBoaWNvbi1yYW5kb20gICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExMFwiOyB9IH1cbi5nbHlwaGljb24tY29tbWVudCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTFcIjsgfSB9XG4uZ2x5cGhpY29uLW1hZ25ldCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTEyXCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLXVwICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExM1wiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi1kb3duICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTRcIjsgfSB9XG4uZ2x5cGhpY29uLXJldHdlZXQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE1XCI7IH0gfVxuLmdseXBoaWNvbi1zaG9wcGluZy1jYXJ0ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExNlwiOyB9IH1cbi5nbHlwaGljb24tZm9sZGVyLWNsb3NlICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTdcIjsgfSB9XG4uZ2x5cGhpY29uLWZvbGRlci1vcGVuICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE4XCI7IH0gfVxuLmdseXBoaWNvbi1yZXNpemUtdmVydGljYWwgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExOVwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLWhvcml6b250YWwgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjBcIjsgfSB9XG4uZ2x5cGhpY29uLWhkZCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIxXCI7IH0gfVxuLmdseXBoaWNvbi1idWxsaG9ybiAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyMlwiOyB9IH1cbi5nbHlwaGljb24tYmVsbCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjNcIjsgfSB9XG4uZ2x5cGhpY29uLWNlcnRpZmljYXRlICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI0XCI7IH0gfVxuLmdseXBoaWNvbi10aHVtYnMtdXAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyNVwiOyB9IH1cbi5nbHlwaGljb24tdGh1bWJzLWRvd24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjZcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtcmlnaHQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI3XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLWxlZnQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyOFwiOyB9IH1cbi5nbHlwaGljb24taGFuZC11cCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjlcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtZG93biAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMwXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctcmlnaHQgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzMVwiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWxlZnQgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzJcIjsgfSB9XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy11cCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMzXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctZG93biAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzNFwiOyB9IH1cbi5nbHlwaGljb24tZ2xvYmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzVcIjsgfSB9XG4uZ2x5cGhpY29uLXdyZW5jaCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM2XCI7IH0gfVxuLmdseXBoaWNvbi10YXNrcyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzN1wiOyB9IH1cbi5nbHlwaGljb24tZmlsdGVyICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzhcIjsgfSB9XG4uZ2x5cGhpY29uLWJyaWVmY2FzZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM5XCI7IH0gfVxuLmdseXBoaWNvbi1mdWxsc2NyZWVuICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0MFwiOyB9IH1cbi5nbHlwaGljb24tZGFzaGJvYXJkICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDFcIjsgfSB9XG4uZ2x5cGhpY29uLXBhcGVyY2xpcCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQyXCI7IH0gfVxuLmdseXBoaWNvbi1oZWFydC1lbXB0eSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0M1wiOyB9IH1cbi5nbHlwaGljb24tbGluayAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDRcIjsgfSB9XG4uZ2x5cGhpY29uLXBob25lICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ1XCI7IH0gfVxuLmdseXBoaWNvbi1wdXNocGluICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0NlwiOyB9IH1cbi5nbHlwaGljb24tdXNkICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDhcIjsgfSB9XG4uZ2x5cGhpY29uLWdicCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ5XCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1MFwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldCAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTFcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQtYWx0ICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTUyXCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LW9yZGVyICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1M1wiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1vcmRlci1hbHQgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTRcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlcyAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU1XCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXMtYWx0IHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1NlwiOyB9IH1cbi5nbHlwaGljb24tdW5jaGVja2VkICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTdcIjsgfSB9XG4uZ2x5cGhpY29uLWV4cGFuZCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU4XCI7IH0gfVxuLmdseXBoaWNvbi1jb2xsYXBzZS1kb3duICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1OVwiOyB9IH1cbi5nbHlwaGljb24tY29sbGFwc2UtdXAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjBcIjsgfSB9XG4uZ2x5cGhpY29uLWxvZy1pbiAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYxXCI7IH0gfVxuLmdseXBoaWNvbi1mbGFzaCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2MlwiOyB9IH1cbi5nbHlwaGljb24tbG9nLW91dCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjNcIjsgfSB9XG4uZ2x5cGhpY29uLW5ldy13aW5kb3cgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY0XCI7IH0gfVxuLmdseXBoaWNvbi1yZWNvcmQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2NVwiOyB9IH1cbi5nbHlwaGljb24tc2F2ZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjZcIjsgfSB9XG4uZ2x5cGhpY29uLW9wZW4gICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY3XCI7IH0gfVxuLmdseXBoaWNvbi1zYXZlZCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2OFwiOyB9IH1cbi5nbHlwaGljb24taW1wb3J0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjlcIjsgfSB9XG4uZ2x5cGhpY29uLWV4cG9ydCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTcwXCI7IH0gfVxuLmdseXBoaWNvbi1zZW5kICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3MVwiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LWRpc2sgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzJcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTczXCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktcmVtb3ZlICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3NFwiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LXNhdmUgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzVcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1vcGVuICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc2XCI7IH0gfVxuLmdseXBoaWNvbi1jcmVkaXQtY2FyZCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3N1wiOyB9IH1cbi5nbHlwaGljb24tdHJhbnNmZXIgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzhcIjsgfSB9XG4uZ2x5cGhpY29uLWN1dGxlcnkgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc5XCI7IH0gfVxuLmdseXBoaWNvbi1oZWFkZXIgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4MFwiOyB9IH1cbi5nbHlwaGljb24tY29tcHJlc3NlZCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODFcIjsgfSB9XG4uZ2x5cGhpY29uLWVhcnBob25lICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTgyXCI7IH0gfVxuLmdseXBoaWNvbi1waG9uZS1hbHQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4M1wiOyB9IH1cbi5nbHlwaGljb24tdG93ZXIgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODRcIjsgfSB9XG4uZ2x5cGhpY29uLXN0YXRzICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg1XCI7IH0gfVxuLmdseXBoaWNvbi1zZC12aWRlbyAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4NlwiOyB9IH1cbi5nbHlwaGljb24taGQtdmlkZW8gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODdcIjsgfSB9XG4uZ2x5cGhpY29uLXN1YnRpdGxlcyAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg4XCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC1zdGVyZW8gICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4OVwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtZG9sYnkgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTBcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLTUtMSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkxXCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC02LTEgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5MlwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtNy0xICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTNcIjsgfSB9XG4uZ2x5cGhpY29uLWNvcHlyaWdodC1tYXJrICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk0XCI7IH0gfVxuLmdseXBoaWNvbi1yZWdpc3RyYXRpb24tbWFyayAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5NVwiOyB9IH1cbi5nbHlwaGljb24tY2xvdWQtZG93bmxvYWQgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTdcIjsgfSB9XG4uZ2x5cGhpY29uLWNsb3VkLXVwbG9hZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk4XCI7IH0gfVxuLmdseXBoaWNvbi10cmVlLWNvbmlmZXIgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5OVwiOyB9IH1cbi5nbHlwaGljb24tdHJlZS1kZWNpZHVvdXMgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDBcIjsgfSB9XG4uZ2x5cGhpY29uLWNkICAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjAxXCI7IH0gfVxuLmdseXBoaWNvbi1zYXZlLWZpbGUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwMlwiOyB9IH1cbi5nbHlwaGljb24tb3Blbi1maWxlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDNcIjsgfSB9XG4uZ2x5cGhpY29uLWxldmVsLXVwICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjA0XCI7IH0gfVxuLmdseXBoaWNvbi1jb3B5ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwNVwiOyB9IH1cbi5nbHlwaGljb24tcGFzdGUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDZcIjsgfSB9XG4vLyBUaGUgZm9sbG93aW5nIDIgR2x5cGhpY29ucyBhcmUgb21pdHRlZCBmb3IgdGhlIHRpbWUgYmVpbmcgYmVjYXVzZVxuLy8gdGhleSBjdXJyZW50bHkgdXNlIFVuaWNvZGUgY29kZXBvaW50cyB0aGF0IGFyZSBvdXRzaWRlIHRoZVxuLy8gQmFzaWMgTXVsdGlsaW5ndWFsIFBsYW5lIChCTVApLiBPbGRlciBidWdneSB2ZXJzaW9ucyBvZiBXZWJLaXQgY2FuJ3QgaGFuZGxlXG4vLyBub24tQk1QIGNvZGVwb2ludHMgaW4gQ1NTIHN0cmluZyBlc2NhcGVzLCBhbmQgdGh1cyBjYW4ndCBkaXNwbGF5IHRoZXNlIHR3byBpY29ucy5cbi8vIE5vdGFibHksIHRoZSBidWcgYWZmZWN0cyBzb21lIG9sZGVyIHZlcnNpb25zIG9mIHRoZSBBbmRyb2lkIEJyb3dzZXIuXG4vLyBNb3JlIGluZm86IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTAxMDZcbi8vIC5nbHlwaGljb24tZG9vciAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDFmNmFhXCI7IH0gfVxuLy8gLmdseXBoaWNvbi1rZXkgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMWY1MTFcIjsgfSB9XG4uZ2x5cGhpY29uLWFsZXJ0ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjA5XCI7IH0gfVxuLmdseXBoaWNvbi1lcXVhbGl6ZXIgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxMFwiOyB9IH1cbi5nbHlwaGljb24ta2luZyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTFcIjsgfSB9XG4uZ2x5cGhpY29uLXF1ZWVuICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjEyXCI7IH0gfVxuLmdseXBoaWNvbi1wYXduICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxM1wiOyB9IH1cbi5nbHlwaGljb24tYmlzaG9wICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTRcIjsgfSB9XG4uZ2x5cGhpY29uLWtuaWdodCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE1XCI7IH0gfVxuLmdseXBoaWNvbi1iYWJ5LWZvcm11bGEgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxNlwiOyB9IH1cbi5nbHlwaGljb24tdGVudCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI2ZmFcIjsgfSB9XG4uZ2x5cGhpY29uLWJsYWNrYm9hcmQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE4XCI7IH0gfVxuLmdseXBoaWNvbi1iZWQgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxOVwiOyB9IH1cbi5nbHlwaGljb24tYXBwbGUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGY4ZmZcIjsgfSB9XG4uZ2x5cGhpY29uLWVyYXNlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjIxXCI7IH0gfVxuLmdseXBoaWNvbi1ob3VyZ2xhc3MgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjMxYlwiOyB9IH1cbi5nbHlwaGljb24tbGFtcCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjNcIjsgfSB9XG4uZ2x5cGhpY29uLWR1cGxpY2F0ZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI0XCI7IH0gfVxuLmdseXBoaWNvbi1waWdneS1iYW5rICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyNVwiOyB9IH1cbi5nbHlwaGljb24tc2Npc3NvcnMgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjZcIjsgfSB9XG4uZ2x5cGhpY29uLWJpdGNvaW4gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH0gfVxuLmdseXBoaWNvbi1idGMgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyN1wiOyB9IH1cbi5nbHlwaGljb24teGJ0ICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjdcIjsgfSB9XG4uZ2x5cGhpY29uLXllbiAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwwMGE1XCI7IH0gfVxuLmdseXBoaWNvbi1qcHkgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMDBhNVwiOyB9IH1cbi5nbHlwaGljb24tcnVibGUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIwYmRcIjsgfSB9XG4uZ2x5cGhpY29uLXJ1YiAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMGJkXCI7IH0gfVxuLmdseXBoaWNvbi1zY2FsZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzMFwiOyB9IH1cbi5nbHlwaGljb24taWNlLWxvbGx5ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzFcIjsgfSB9XG4uZ2x5cGhpY29uLWljZS1sb2xseS10YXN0ZWQgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMyXCI7IH0gfVxuLmdseXBoaWNvbi1lZHVjYXRpb24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzM1wiOyB9IH1cbi5nbHlwaGljb24tb3B0aW9uLWhvcml6b250YWwgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzRcIjsgfSB9XG4uZ2x5cGhpY29uLW9wdGlvbi12ZXJ0aWNhbCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM1XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LWhhbWJ1cmdlciAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzNlwiOyB9IH1cbi5nbHlwaGljb24tbW9kYWwtd2luZG93ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzdcIjsgfSB9XG4uZ2x5cGhpY29uLW9pbCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM4XCI7IH0gfVxuLmdseXBoaWNvbi1ncmFpbiAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzOVwiOyB9IH1cbi5nbHlwaGljb24tc3VuZ2xhc3NlcyAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDBcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtc2l6ZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQxXCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LWNvbG9yICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0MlwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC1iYWNrZ3JvdW5kICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDNcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi10b3AgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ0XCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tYm90dG9tICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0NVwiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLWhvcml6b250YWx7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDZcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1sZWZ0ICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ3XCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tdmVydGljYWwgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0OFwiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLXJpZ2h0ICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDlcIjsgfSB9XG4uZ2x5cGhpY29uLXRyaWFuZ2xlLXJpZ2h0ICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUwXCI7IH0gfVxuLmdseXBoaWNvbi10cmlhbmdsZS1sZWZ0ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1MVwiOyB9IH1cbi5nbHlwaGljb24tdHJpYW5nbGUtYm90dG9tICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTJcIjsgfSB9XG4uZ2x5cGhpY29uLXRyaWFuZ2xlLXRvcCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUzXCI7IH0gfVxuLmdseXBoaWNvbi1jb25zb2xlICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1NFwiOyB9IH1cbi5nbHlwaGljb24tc3VwZXJzY3JpcHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTVcIjsgfSB9XG4uZ2x5cGhpY29uLXN1YnNjcmlwdCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU2XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LWxlZnQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1N1wiOyB9IH1cbi5nbHlwaGljb24tbWVudS1yaWdodCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNThcIjsgfSB9XG4uZ2x5cGhpY29uLW1lbnUtZG93biAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU5XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LXVwICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI2MFwiOyB9IH1cbiIsIi8vXG4vLyBTY2FmZm9sZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBSZXNldCB0aGUgYm94LXNpemluZ1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIHJlc2V0IG1heSBjYXVzZSBjb25mbGljdHMgd2l0aCBzb21lIHRoaXJkLXBhcnR5IHdpZGdldHMuXG4vLyBGb3IgcmVjb21tZW5kYXRpb25zIG9uIHJlc29sdmluZyBzdWNoIGNvbmZsaWN0cywgc2VlXG4vLyBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3RoaXJkLWJveC1zaXppbmdcbioge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuXG4vLyBCb2R5IHJlc2V0XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbn1cblxuLy8gUmVzZXQgZm9udHMgZm9yIHJlbGV2YW50IGVsZW1lbnRzXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlua3NcblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSB0YWItZm9jdXM7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gV2UgcmVzZXQgdGhpcyBoZXJlIGJlY2F1c2UgcHJldmlvdXNseSBOb3JtYWxpemUgaGFkIG5vIGBmaWd1cmVgIG1hcmdpbnMuIFRoaXNcbi8vIGVuc3VyZXMgd2UgZG9uJ3QgYnJlYWsgYW55b25lJ3MgdXNlIG9mIHRoZSBlbGVtZW50LlxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cblxuLy8gSW1hZ2VzXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLmltZy1yZXNwb25zaXZlIHtcbiAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmU7XG59XG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLmltZy1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyBpcyBtaXhpbi1lZCBpbnRvIHRodW1ibmFpbHMubGVzcyBmb3IgYC50aHVtYm5haWxgLlxuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGVhc2UtaW4tb3V0KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmUoaW5saW5lLWJsb2NrKTtcbn1cblxuLy8gUGVyZmVjdCBjaXJjbGVcbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyAvLyBzZXQgcmFkaXVzIGluIHBlcmNlbnRzXG59XG5cblxuLy8gSG9yaXpvbnRhbCBydWxlc1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICAgICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkaHItYm9yZGVyO1xufVxuXG5cbi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgfVxufVxuXG5cbi8vIGlPUyBcImNsaWNrYWJsZSBlbGVtZW50c1wiIGZpeCBmb3Igcm9sZT1cImJ1dHRvblwiXG4vL1xuLy8gRml4ZXMgXCJjbGlja2FiaWxpdHlcIiBpc3N1ZSAoYW5kIG1vcmUgZ2VuZXJhbGx5LCB0aGUgZmlyaW5nIG9mIGV2ZW50cyBzdWNoIGFzIGZvY3VzIGFzIHdlbGwpXG4vLyBmb3IgdHJhZGl0aW9uYWxseSBub24tZm9jdXNhYmxlIGVsZW1lbnRzIHdpdGggcm9sZT1cImJ1dHRvblwiXG4vLyBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcbi8vIFVwc3RyZWFtIHBhdGNoIGZvciBub3JtYWxpemUuY3NzIHN1Ym1pdHRlZDogaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9wdWxsLzM3OSAtIHJlbW92ZSB0aGlzIGZpeCBvbmNlIHRoYXQgaXMgbWVyZ2VkXG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufSIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgd2lsbCBiZSByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xufVxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIiRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXI6IGZhbHNlICFkZWZhdWx0O1xuLy9cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLz09IENvbG9yc1xuLy9cbi8vIyMgR3JheSBhbmQgYnJhbmQgY29sb3JzIGZvciB1c2UgYWNyb3NzIEJvb3RzdHJhcC5cblxuJGdyYXktYmFzZTogICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAxMy41JSkgIWRlZmF1bHQ7IC8vICMyMjJcbiRncmF5LWRhcms6ICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDIwJSkgIWRlZmF1bHQ7ICAgLy8gIzMzM1xuJGdyYXk6ICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMzMuNSUpICFkZWZhdWx0OyAvLyAjNTU1XG4kZ3JheS1saWdodDogICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA0Ni43JSkgIWRlZmF1bHQ7IC8vICM3NzdcbiRncmF5LWxpZ2h0ZXI6ICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDkzLjUlKSAhZGVmYXVsdDsgLy8gI2VlZVxuXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICBkYXJrZW4oIzQyOGJjYSwgNi41JSkgIWRlZmF1bHQ7IC8vICMzMzdhYjdcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICM1Y2I4NWMgIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbzogICAgICAgICAgICAjNWJjMGRlICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgI2YwYWQ0ZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgICNkOTUzNGYgIWRlZmF1bHQ7XG5cblxuLy89PSBTY2FmZm9sZGluZ1xuLy9cbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCB0ZXh0IGNvbG9yIG9uIGA8Ym9keT5gLlxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgY29sb3Igc2V0IHZpYSBgZGFya2VuKClgIGZ1bmN0aW9uLlxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBvZ3JhcGh5XG4vL1xuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCBtb25vc3BhY2UgZm9udHMgZm9yIGA8Y29kZT5gLCBgPGtiZD5gLCBhbmQgYDxwcmU+YC5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi42KSkgIWRlZmF1bHQ7IC8vIH4zNnB4XG4kZm9udC1zaXplLWgyOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjE1KSkgIWRlZmF1bHQ7IC8vIH4zMHB4XG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNykpICFkZWZhdWx0OyAvLyB+MjRweFxuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLWg1OiAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4vLyoqIFVuaXQtbGVzcyBgbGluZS1oZWlnaHRgIGZvciB1c2UgaW4gY29tcG9uZW50cyBsaWtlIGJ1dHRvbnMuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuNDI4NTcxNDI5ICFkZWZhdWx0OyAvLyAyMC8xNFxuLy8qKiBDb21wdXRlZCBcImxpbmUtaGVpZ2h0XCIgKGBmb250LXNpemVgICogYGxpbmUtaGVpZ2h0YCkgZm9yIHVzZSB3aXRoIGBtYXJnaW5gLCBgcGFkZGluZ2AsIGV0Yy5cbiRsaW5lLWhlaWdodC1jb21wdXRlZDogICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlKSkgIWRlZmF1bHQ7IC8vIH4yMHB4XG5cbi8vKiogQnkgZGVmYXVsdCwgdGhpcyBpbmhlcml0cyBmcm9tIHRoZSBgPGJvZHk+YC5cbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNzAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cblxuLy89PSBJY29ub2dyYXBoeVxuLy9cbi8vIyMgU3BlY2lmeSBjdXN0b20gbG9jYXRpb24gYW5kIGZpbGVuYW1lIG9mIHRoZSBpbmNsdWRlZCBHbHlwaGljb25zIGljb24gZm9udC4gVXNlZnVsIGZvciB0aG9zZSBpbmNsdWRpbmcgQm9vdHN0cmFwIHZpYSBCb3dlci5cblxuLy8qKiBMb2FkIGZvbnRzIGZyb20gdGhpcyBkaXJlY3RvcnkuXG5cbi8vIFtjb252ZXJ0ZXJdIElmICRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIgaWYgdXNlZCwgcHJvdmlkZSBwYXRoIHJlbGF0aXZlIHRvIHRoZSBhc3NldHMgbG9hZCBwYXRoLlxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBiZWNhdXNlIHNvbWUgYXNzZXQgaGVscGVycywgc3VjaCBhcyBTcHJvY2tldHMsIGRvIG5vdCB3b3JrIHdpdGggZmlsZS1yZWxhdGl2ZSBwYXRocy5cbiRpY29uLWZvbnQtcGF0aDogaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgXCJib290c3RyYXAvXCIsIFwiLi4vZm9udHMvYm9vdHN0cmFwL1wiKSAhZGVmYXVsdDtcblxuLy8qKiBGaWxlIG5hbWUgZm9yIGFsbCBmb250IGZpbGVzLlxuJGljb24tZm9udC1uYW1lOiAgICAgICAgICBcImdseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXJcIiAhZGVmYXVsdDtcbi8vKiogRWxlbWVudCBJRCB3aXRoaW4gU1ZHIGljb24gZmlsZS5cbiRpY29uLWZvbnQtc3ZnLWlkOiAgICAgICAgXCJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXJcIiAhZGVmYXVsdDtcblxuXG4vLz09IENvbXBvbmVudHNcbi8vXG4vLyMjIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS4gVmFsdWVzIGJhc2VkIG9uIDE0cHggdGV4dCBhbmQgMS40MjggbGluZS1oZWlnaHQgKH4yMHB4IHRvIHN0YXJ0KS5cblxuJHBhZGRpbmctYmFzZS12ZXJ0aWNhbDogICAgIDZweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDogICAxMnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDogICAgMTBweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw6ICAxNnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDogICAgNXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogIDEwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXhzLXZlcnRpY2FsOiAgICAgICAxcHggIWRlZmF1bHQ7XG4kcGFkZGluZy14cy1ob3Jpem9udGFsOiAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgMS4zMzMzMzMzICFkZWZhdWx0OyAvLyBleHRyYSBkZWNpbWFscyBmb3IgV2luIDguMSBDaHJvbWVcbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICA0cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgNnB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgIDNweCAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8qKiBXaWR0aCBvZiB0aGUgYGJvcmRlcmAgZm9yIGdlbmVyYXRpbmcgY2FyZXRzIHRoYXQgaW5kaWNhdG9yIGRyb3Bkb3ducy5cbiRjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cbiRjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cblxuLy89PSBUYWJsZXNcbi8vXG4vLyMjIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1pbmZvLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cblxuLy89PSBGb3Jtc1xuLy9cbi8vIyNcblxuLy8qKiBgPGlucHV0PmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dCBkaXNhYmxlZD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgYDxpbnB1dD5gc1xuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQ+YCBib3JkZXIgY29sb3JcbiRpbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IFJlbmFtZSBgJGlucHV0LWJvcmRlci1yYWRpdXNgIHRvIGAkaW5wdXQtYm9yZGVyLXJhZGl1cy1iYXNlYCBpbiB2NFxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4vLyBUaGlzIGhhcyBubyBlZmZlY3Qgb24gYDxzZWxlY3Q+YHMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgaW5wdXRzIG9uIGZvY3VzXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICAjNjZhZmU5ICFkZWZhdWx0O1xuXG4vLyoqIFBsYWNlaG9sZGVyIHRleHQgY29sb3JcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgICAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWxhcmdlOiAgICAgICAgICAgICAoY2VpbCgkZm9udC1zaXplLWxhcmdlICogJGxpbmUtaGVpZ2h0LWxhcmdlKSArICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtc21hbGw6ICAgICAgICAgICAgIChmbG9vcigkZm9udC1zaXplLXNtYWxsICogJGxpbmUtaGVpZ2h0LXNtYWxsKSArICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG5cbi8vKiogYC5mb3JtLWdyb3VwYCBtYXJnaW5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRsZWdlbmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGN1cnNvciBmb3IgZm9ybSBjb250cm9scyBhbmQgYnV0dG9ucy5cbiRjdXJzb3ItZGlzYWJsZWQ6ICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG5cbi8vPT0gRHJvcGRvd25zXG4vL1xuLy8jIyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgLlxuJGRyb3Bkb3duLWJvcmRlcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMTUpICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgICoqZm9yIElFOCoqLlxuJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbi8vKiogRGl2aWRlciBjb2xvciBmb3IgYmV0d2VlbiBkcm9wZG93biBpdGVtcy5cbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogRHJvcGRvd24gbGluayB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbi8vKiogSG92ZXIgY29sb3IgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRncmF5LWRhcmssIDUlKSAhZGVmYXVsdDtcbi8vKiogSG92ZXIgYmFja2dyb3VuZCBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGhlYWRlcnMgd2l0aGluIGRyb3Bkb3duIG1lbnVzLlxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogRGVwcmVjYXRlZCBgJGRyb3Bkb3duLWNhcmV0LWNvbG9yYCBhcyBvZiB2My4xLjBcbiRkcm9wZG93bi1jYXJldC1jb2xvcjogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cblxuLy8tLSBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG4vL1xuLy8gTm90ZTogVGhlc2UgdmFyaWFibGVzIGFyZSBub3QgZ2VuZXJhdGVkIGludG8gdGhlIEN1c3RvbWl6ZXIuXG5cbiR6aW5kZXgtbmF2YmFyOiAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LW5hdmJhci1maXhlZDogICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG5cblxuLy89PSBNZWRpYSBxdWVyaWVzIGJyZWFrcG9pbnRzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4teHM6ICAgICAgICAgICAgICAgICAgNDgwcHggIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHMtbWluYCBhcyBvZiB2My4yLjBcbiRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi14cyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1waG9uZWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXBob25lOiAgICAgICAgICAgICAgICRzY3JlZW4teHMtbWluICFkZWZhdWx0O1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1zbWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXNtOiAgICAgICAgICAgICAgICAgIDc2OHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXNtICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXRhYmxldGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXRhYmxldDogICAgICAgICAgICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgOTkycHggIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbWQgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWRlc2t0b3A6ICAgICAgICAgICAgICRzY3JlZW4tbWQtbWluICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZ2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDEyMjBweCAhZGVmYXVsdDtcbiRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1sZyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZy1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGctZGVza3RvcDogICAgICAgICAgJHNjcmVlbi1sZy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxuJHNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1zbS1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gR3JpZCBzeXN0ZW1cbi8vXG4vLyMjIERlZmluZSB5b3VyIGN1c3RvbSByZXNwb25zaXZlIGdyaWQuXG5cbi8vKiogTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYmV0d2VlbiBjb2x1bW5zLiBHZXRzIGRpdmlkZWQgaW4gaGFsZiBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0LlxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4vLyBOYXZiYXIgY29sbGFwc2Vcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWNvbWVzIHVuY29sbGFwc2VkLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludDogICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlZ2lucyBjb2xsYXBzaW5nLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXg6ICgkZ3JpZC1mbG9hdC1icmVha3BvaW50IC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBDb250YWluZXIgc2l6ZXNcbi8vXG4vLyMjIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuJGNvbnRhaW5lci10YWJsZXQ6ICAgICAgICAgICAgICg3MjBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1zbS1taW5gIGFuZCB1cC5cbiRjb250YWluZXItc206ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXRhYmxldCAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbiRjb250YWluZXItZGVza3RvcDogICAgICAgICAgICAoOTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbWQtbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLW1kOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1kZXNrdG9wICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcbiRjb250YWluZXItbGFyZ2UtZGVza3RvcDogICAgICAoMTE0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLWxnLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1sZzogICAgICAgICAgICAgICAgICRjb250YWluZXItbGFyZ2UtZGVza3RvcCAhZGVmYXVsdDtcblxuXG4vLz09IE5hdmJhclxuLy9cbi8vIyNcblxuLy8gQmFzaWNzIG9mIGEgbmF2YmFyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICRsaW5lLWhlaWdodC1jb21wdXRlZCAhZGVmYXVsdDtcbiRuYXZiYXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgKCgkbmF2YmFyLWhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItY29sbGFwc2UtbWF4LWhlaWdodDogICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgI2Y4ZjhmOCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBsaW5rc1xuJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciB0b2dnbGVcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICM4ODggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLyBJbnZlcnRlZCBuYXZiYXJcbi8vIFJlc2V0IGludmVydGVkIG5hdmJhciBiYXNpY3NcbiRuYXZiYXItaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1iZzogICAgICAgICAgICAgICAgICAgICAgICAgIzIyMiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGxpbmtzXG4kbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IE5hdnNcbi8vXG4vLyMjXG5cbi8vPT09IFNoYXJlZCBuYXYgc3R5bGVzXG4kbmF2LWxpbmstcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vPT0gVGFic1xuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4vLz09IFBpbGxzXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2luYXRpb25cbi8vXG4vLyMjXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnZXJcbi8vXG4vLyMjXG5cbiRwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJHBhZ2VyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24taG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwYWdlci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBKdW1ib3Ryb25cbi8vXG4vLyMjXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1jb2xvcjogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWZvbnQtc2l6ZTogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjUpKSAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vXG4vLyMjIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAjM2M3NjNkICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkOCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1zdWNjZXNzLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICMzMTcwOGYgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3ICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWluZm8tYmcsIC0xMCksIDclKSAhZGVmYXVsdDtcblxuJHN0YXRlLXdhcm5pbmctdGV4dDogICAgICAgICAgICAgIzhhNmQzYiAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAgICAjYTk0NDQyICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgICAgI2YyZGVkZSAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1kYW5nZXItYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuXG4vLz09IFRvb2x0aXBzXG4vL1xuLy8jI1xuXG4vLyoqIFRvb2x0aXAgbWF4IHdpZHRoXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCB0ZXh0IGNvbG9yXG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGJhY2tncm91bmQgY29sb3JcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcblxuLy8qKiBUb29sdGlwIGFycm93IHdpZHRoXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYXJyb3cgY29sb3JcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gUG9wb3ZlcnNcbi8vXG4vLyMjXG5cbi8vKiogUG9wb3ZlciBib2R5IGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGJvcmRlciBjb2xvclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBmYWxsYmFjayBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIHRpdGxlIGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLXRpdGxlLWJnOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOiAgICAgICAgICAgKCRwb3BvdmVyLWFycm93LXdpZHRoICsgMSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgZmFkZV9pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIDAuMDUpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGZhbGxiYWNrIGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjogIGRhcmtlbigkcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cblxuLy89PSBMYWJlbHNcbi8vXG4vLyMjXG5cbi8vKiogRGVmYXVsdCBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogUHJpbWFyeSBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogSW5mbyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtaW5mby1iZzogICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kYW5nZXItYmc6ICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBsYWJlbCB0ZXh0IGNvbG9yXG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcbiRsYWJlbC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBNb2RhbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgdGl0bGVcbiRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIHRpdGxlIGxpbmUtaGVpZ2h0XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIGNvbnRlbnQgYXJlYVxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3IgKipmb3IgSUU4KipcbiRtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBNb2RhbCBiYWNrZHJvcCBiYWNrZ3JvdW5kIGNvbG9yXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBiYWNrZHJvcCBvcGFjaXR5XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAuNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgaGVhZGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgZm9vdGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuXG4vLz09IEFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vPT0gUHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3aG9sZSBwcm9ncmVzcyBjb21wb25lbnRcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFByb2dyZXNzIGJhciB0ZXh0IGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBWYXJpYWJsZSBmb3Igc2V0dGluZyByb3VuZGVkIGNvcm5lcnMgb24gcHJvZ3Jlc3MgYmFyLlxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItd2FybmluZy1iZzogICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuLy8qKiBJbmZvIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy89PSBMaXN0IGdyb3VwXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb24gYC5saXN0LWdyb3VwLWl0ZW1gXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGAubGlzdC1ncm91cC1pdGVtYCBib3JkZXIgY29sb3JcbiRsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogTGlzdCBncm91cCBib3JkZXIgcmFkaXVzXG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBzaW5nbGUgbGlzdCBpdGVtcyBvbiBob3ZlclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3Igb2YgYWN0aXZlIGxpc3QgZWxlbWVudHNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAgICRsaXN0LWdyb3VwLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBQYW5lbHNcbi8vXG4vLyMjXG5cbiRwYW5lbC1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtYm9keS1wYWRkaW5nOiAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgJHBhbmVsLWhlYWRpbmctcGFkZGluZyAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBlbGVtZW50cyB3aXRoaW4gcGFuZWxzXG4kcGFuZWwtaW5uZXItYm9yZGVyOiAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLWRlZmF1bHQtdGV4dDogICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWJvcmRlcjogICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOiAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtcHJpbWFyeS10ZXh0OiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktYm9yZGVyOiAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhbmVsLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc6ICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWluZm8taGVhZGluZy1iZzogICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gVGh1bWJuYWlsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGltYWdlXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBiYWNrZ3JvdW5kIGNvbG9yXG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciBjb2xvclxuJHRodW1ibmFpbC1ib3JkZXI6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciByYWRpdXNcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xuJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAgICAgJHRleHQtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxuJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gV2VsbHNcbi8vXG4vLyMjXG5cbiR3ZWxsLWJnOiAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kd2VsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHdlbGwtYmcsIDclKSAhZGVmYXVsdDtcblxuXG4vLz09IEJhZGdlc1xuLy9cbi8vIyNcblxuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTGlua2VkIGJhZGdlIHRleHQgY29sb3Igb24gaG92ZXJcbiRiYWRnZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYmFkZ2UtYmc6ICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBCYWRnZSB0ZXh0IGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhZGdlIGJhY2tncm91bmQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWJnOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGJhZGdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBCcmVhZGNydW1ic1xuLy9cbi8vIyNcblxuJGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbDogICA4cHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIHRleHQgY29sb3JcbiRicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBjdXJyZW50IHBhZ2UgaW4gdGhlIGJyZWFkY3J1bWJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFRleHR1YWwgc2VwYXJhdG9yIGZvciBiZXR3ZWVuIGJyZWFkY3J1bWIgZWxlbWVudHNcbiRicmVhZGNydW1iLXNlcGFyYXRvcjogICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDYXJvdXNlbFxuLy9cbi8vIyNcblxuJGNhcm91c2VsLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC42KSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2xvc2Vcbi8vXG4vLyMjXG5cbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29kZVxuLy9cbi8vIyNcblxuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgIzREOENGNCAhZGVmYXVsdDtcbiRjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgIHdoaXRlc21va2UgIWRlZmF1bHQ7XG5cbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG4kcHJlLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLz09IFR5cGVcbi8vXG4vLyMjXG5cbi8vKiogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cbiRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4ICFkZWZhdWx0O1xuLy8qKiBUZXh0IG11dGVkIGNvbG9yXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXMgYm9yZGVyIGNvbG9yXG4kYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogSGVhZGluZ3Mgc21hbGwgY29sb3JcbiRoZWFkaW5ncy1zbWFsbC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIHNtYWxsIGNvbG9yXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBmb250IHNpemVcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFBhZ2UgaGVhZGVyIGJvcmRlciBjb2xvclxuJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogV2lkdGggb2YgaG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0IHRpdGxlc1xuJGRsLWhvcml6b250YWwtb2Zmc2V0OiAgICAgICAgJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbCAhZGVmYXVsdDtcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxuJGhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiIsIi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuXG5AbWl4aW4gdGFiLWZvY3VzKCkge1xuICAvLyBEZWZhdWx0XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkO1xuICAvLyBXZWJLaXRcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuQG1peGluIGltZy1yZXNwb25zaXZlKCRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLiBOb3RlIHRoYXQgdGhlXG4vLyBzcGVsbGluZyBvZiBgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvYCBpcyBpbnRlbnRpb25hbC5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTF4fVwiKSwgXCIjeyRmaWxlLTF4fVwiKSk7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMnh9XCIpLCBcIiN7JGZpbGUtMnh9XCIpKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvL1xuLy8gVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBIZWFkaW5nc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGhlYWRpbmdzLXNtYWxsLWNvbG9yO1xuICB9XG59XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyB7XG4gIG1hcmdpbi10b3A6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNjUlO1xuICB9XG59XG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBtYXJnaW4tdG9wOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgfVxufVxuXG5oMSwgLmgxIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgxOyB9XG5oMiwgLmgyIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgyOyB9XG5oMywgLmgzIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgzOyB9XG5oNCwgLmg0IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg0OyB9XG5oNSwgLmg1IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg1OyB9XG5oNiwgLmg2IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg2OyB9XG5cblxuLy8gQm9keSB0ZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnAge1xuICBtYXJnaW46IDAgMCAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG59XG5cbi5sZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6IGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAxLjE1KSk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgfVxufVxuXG5cbi8vIEVtcGhhc2lzICYgbWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBFeDogKDEycHggc21hbGwgZm9udCAvIDE0cHggYmFzZSBmb250KSAqIDEwMCUgPSBhYm91dCA4NSVcbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiBmbG9vcigoMTAwJSAqICRmb250LXNpemUtc21hbGwgLyAkZm9udC1zaXplLWJhc2UpKTtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHN0YXRlLXdhcm5pbmctYmc7XG4gIHBhZGRpbmc6IC4yZW07XG59XG5cbi8vIEFsaWdubWVudFxuLnRleHQtbGVmdCAgICAgICAgICAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4udGV4dC1yaWdodCAgICAgICAgICB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4udGV4dC1jZW50ZXIgICAgICAgICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLnRleHQtanVzdGlmeSAgICAgICAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4udGV4dC1ub3dyYXAgICAgICAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLy8gVHJhbnNmb3JtYXRpb25cbi50ZXh0LWxvd2VyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuLnRleHQtdXBwZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4udGV4dC1jYXBpdGFsaXplICAgICB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG4udGV4dC1tdXRlZCB7XG4gIGNvbG9yOiAkdGV4dC1tdXRlZDtcbn1cblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXN1Y2Nlc3MnLCAkc3RhdGUtc3VjY2Vzcy10ZXh0KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1pbmZvJywgJHN0YXRlLWluZm8tdGV4dCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtd2FybmluZycsICRzdGF0ZS13YXJuaW5nLXRleHQpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWRhbmdlcicsICRzdGF0ZS1kYW5nZXItdGV4dCk7XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcbi8vIEZvciBub3cgd2UnbGwgbGVhdmUgdGhlc2UgYWxvbmdzaWRlIHRoZSB0ZXh0IGNsYXNzZXMgdW50aWwgdjQgd2hlbiB3ZSBjYW5cbi8vIHNhZmVseSBzaGlmdCB0aGluZ3MgYXJvdW5kIChwZXIgU2VtVmVyIHJ1bGVzKS5cbi5iZy1wcmltYXJ5IHtcbiAgLy8gR2l2ZW4gdGhlIGNvbnRyYXN0IGhlcmUsIHRoaXMgaXMgdGhlIG9ubHkgY2xhc3MgdG8gaGF2ZSBpdHMgY29sb3IgaW52ZXJ0ZWRcbiAgLy8gYXV0b21hdGljYWxseS5cbiAgY29sb3I6ICNmZmY7XG59XG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctcHJpbWFyeScsICRicmFuZC1wcmltYXJ5KTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXN1Y2Nlc3MnLCAkc3RhdGUtc3VjY2Vzcy1iZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1pbmZvJywgJHN0YXRlLWluZm8tYmcpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctd2FybmluZycsICRzdGF0ZS13YXJuaW5nLWJnKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWRhbmdlcicsICRzdGF0ZS1kYW5nZXItYmcpO1xuXG5cbi8vIFBhZ2UgaGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wYWdlLWhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAoKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSk7XG4gIG1hcmdpbjogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAqIDIpIDAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vLyBMaXN0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVbm9yZGVyZWQgYW5kIE9yZGVyZWQgbGlzdHNcbnVsLFxub2wge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBMaXN0IG9wdGlvbnNcblxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGZyb20gYC5saXN0LXVuc3R5bGVkYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhcyBgQG1peGluIGxpc3QtdW5zdHlsZWRgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cblxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxufVxuXG4vLyBEZXNjcmlwdGlvbiBMaXN0c1xuZGwge1xuICBtYXJnaW4tdG9wOiAwOyAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbn1cbmR0LFxuZGQge1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG59XG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuLy8gSG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0c1xuLy9cbi8vIERlZmF1bHRzIHRvIGJlaW5nIHN0YWNrZWQgd2l0aG91dCBhbnkgb2YgdGhlIGJlbG93IHN0eWxlcyBhcHBsaWVkLCB1bnRpbCB0aGVcbi8vIGdyaWQgYnJlYWtwb2ludCBpcyByZWFjaGVkIChkZWZhdWx0IG9mIH43NjhweCkuXG5cbi5kbC1ob3Jpem9udGFsIHtcbiAgZGQge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4OyAvLyBDbGVhciB0aGUgZmxvYXRlZCBgZHRgIGlmIGFuIGVtcHR5IGBkZGAgaXMgcHJlc2VudFxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBkdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAoJGRsLWhvcml6b250YWwtb2Zmc2V0IC0gMjApO1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3c7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZGwtaG9yaXpvbnRhbC1vZmZzZXQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBYmJyZXZpYXRpb25zIGFuZCBhY3Jvbnltc1xuYWJiclt0aXRsZV0sXG4vLyBBZGQgZGF0YS0qIGF0dHJpYnV0ZSB0byBoZWxwIG91dCBvdXIgdG9vbHRpcCBwbHVnaW4sIHBlciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzUyNTdcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGFiYnItYm9yZGVyLWNvbG9yO1xufVxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgQGV4dGVuZCAudGV4dC11cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luOiAwIDAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6ICRibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG5cbiAgcCxcbiAgdWwsXG4gIG9sIHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBOb3RlOiBEZXByZWNhdGVkIHNtYWxsIGFuZCAuc21hbGwgYXMgb2YgdjMuMS4wXG4gIC8vIENvbnRleHQ6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NjBcbiAgZm9vdGVyLFxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDgwJTsgLy8gYmFjayB0byBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDBBMCc7IC8vIGVtIGRhc2gsIG5ic3BcbiAgICB9XG4gIH1cbn1cblxuLy8gT3Bwb3NpdGUgYWxpZ25tZW50IG9mIGJsb2NrcXVvdGVcbi8vXG4vLyBIZWFkcyB1cDogYGJsb2NrcXVvdGUucHVsbC1yaWdodGAgaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiB2My4xLjAuXG4uYmxvY2txdW90ZS1yZXZlcnNlLFxuYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAvLyBBY2NvdW50IGZvciBjaXRhdGlvblxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgICY6YmVmb3JlIHsgY29udGVudDogJyc7IH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwQTAgXFwyMDE0JzsgLy8gbmJzcCwgZW0gZGFzaFxuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRyZXNzZXNcbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xufVxuIiwiLy8gVHlwb2dyYXBoeVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbiAgYSN7JHBhcmVudH06aG92ZXIge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQ2xlYXJmaXhcbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4vL1xuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLyBUZXh0IG92ZXJmbG93XG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vXG4vLyBDb2RlIChpbmxpbmUgYW5kIGJsb2NrKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBJbmxpbmUgYW5kIGJsb2NrIGNvZGUgc3R5bGVzXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xufVxuXG4vLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJnO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC0gMSkgLyAyKTtcbiAgbWFyZ2luOiAwIDAgKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgLSAxKTsgLy8gMTRweCB0byAxM3B4XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJlLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkcHJlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbiIsIiRmb250LWZhbWlseS1laW5hOiAnRWluYScsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1pbnRlcjogJ0ludGVyJywgJ0ludGVyIFVJJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zeXN0ZW06IGFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICdSb2JvdG8gTW9ubycsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7XG4kZm9udC1mYW1pbHktc2VyaWY6ICdBZG9iZSBDYXNsb24nLCBHZW9yZ2lhLCBUaW1lcywgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xuXG4kZm9udC1mYW1pbHktZGVmYXVsdDogJGZvbnQtZmFtaWx5LWludGVyO1xuXG4kYmx1ZTogICAgICAgICAgIzRhOGJmYztcbiRsaWdodC1ibHVlOiAgICAjNTI5ZWZmO1xuJGdyZWVuOiAgICAgICAgICMxZWQxNzY7XG4kb3JhbmdlOiAgICAgICAgI2ZjYjUyYztcbiRwdXJwbGU6ICAgICAgICAjOGI3ZGYxO1xuJHJlZDogICAgICAgICAgICNmODU1NmM7XG5cbiR3aGl0ZWlzaDogICAgICAjZjlmYWZiO1xuJGxpZ2h0ZXItZ3JleTogICNlYmVlZjI7XG4kbGlnaHQtZ3JleTogICAgI2U2ZTllZTtcbiRsaWdodGlzaC1ncmV5OiAjYTBhNWIwO1xuJGdyZXk6ICAgICAgICAgICM5ZGE1YjM7XG4kZGFya2lzaC1ncmV5OiAgIzg5ODk4OTtcbiRkYXJrLWdyZXk6ICAgICAjNTc2MDcwO1xuJGJsYWNraXNoOiAgICAgICM0QzU1NUE7XG4kYmxhY2tlcjogICAgICAgIzI0MjgyZTtcblxuJHNpZGVuYXYtd2lkdGg6IDIzMHB4O1xuJHBsYXRmb3JtLXByZXZpZXctd2lkdGg6IDQ2N3B4O1xuXG4vLyBib290c3RyYXAgb3ZlcnJpZGVzXG4kbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAkYmx1ZTtcbiRuYXZiYXItZGVmYXVsdC1ib3JkZXI6ICRibHVlO1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiByZ2JhKHdoaXRlLCAuOCk7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogIHJnYmEod2hpdGUsIC44KTtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogI2ZmZjtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgI2ZmZjtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjogI2ZmZjtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogdHJhbnNwYXJlbnQ7XG5cbi8vICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZztcbi8vICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuLy8gJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4vLyAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbi8vICRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yO1xuLy8gJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZztcbi8vICRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc7XG5cbi8vIGJvb3RzdHJhcCB2YXJpYWJsZXMgYW5kIG1peGluc1xuQGltcG9ydCAnYm9vdHN0cmFwL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdib290c3RyYXAvbWl4aW5zJztcbiIsIi8vXG4vLyBHcmlkIHN5c3RlbVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG4uY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHdpZHRoOiAkY29udGFpbmVyLXNtO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHdpZHRoOiAkY29udGFpbmVyLW1kO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHdpZHRoOiAkY29udGFpbmVyLWxnO1xuICB9XG59XG5cblxuLy8gRmx1aWQgY29udGFpbmVyXG4vL1xuLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aG91dCBhbnkgZGVmaW5lZFxuLy8gd2lkdGggZm9yIGZsdWlkLCBmdWxsIHdpZHRoIGxheW91dHMuXG5cbi5jb250YWluZXItZmx1aWQge1xuICBAaW5jbHVkZSBjb250YWluZXItZml4ZWQ7XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIGFuZCBjbGVhciB0aGUgZmxvYXRzIG9mIHlvdXIgY29sdW1ucy5cblxuLnJvdyB7XG4gIEBpbmNsdWRlIG1ha2Utcm93O1xufVxuXG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zO1xuXG5cbi8vIEV4dHJhIHNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgZXh0cmEgc21hbGwgZGV2aWNlcyBsaWtlXG4vLyBzbWFydHBob25lcy5cblxuQGluY2x1ZGUgbWFrZS1ncmlkKHhzKTtcblxuXG4vLyBTbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBzbWFsbCBkZXZpY2UgcmFuZ2UsIGZyb20gcGhvbmVzXG4vLyB0byB0YWJsZXRzLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKHNtKTtcbn1cblxuXG4vLyBNZWRpdW0gZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQobWQpO1xufVxuXG5cbi8vIExhcmdlIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGxhcmdlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKGxnKTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxuQG1peGluIGNvbnRhaW5lci1maXhlZCgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1sZWZ0OiAgKCRndXR0ZXIgLyAtMik7XG4gIG1hcmdpbi1yaWdodDogKCRndXR0ZXIgLyAtMik7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2UteHMtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2Utc20tY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcbkBtaXhpbiBtYWtlLW1kLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbnNcbkBtaXhpbiBtYWtlLWxnLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGk6IDEsICRsaXN0OiBcIi5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgcGFkZGluZy1sZWZ0OiAgKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgfVxufVxuXG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcywgJGk6IDEsICRsaXN0OiBcIi5jb2wtI3skY2xhc3N9LSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC0jeyRjbGFzc30tI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gY2FsYy1ncmlkLWNvbHVtbigkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcbiAgQGlmICgkdHlwZSA9PSB3aWR0aCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tI3skaW5kZXh9IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0jeyRpbmRleH0ge1xuICAgICAgbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLTAge1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdWxsLSN7JGluZGV4fSB7XG4gICAgICByaWdodDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdWxsLTAge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gb2Zmc2V0KSB7XG4gICAgLmNvbC0jeyRjbGFzc30tb2Zmc2V0LSN7JGluZGV4fSB7XG4gICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGxvb3AtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zLCAkY2xhc3MsICR0eXBlKSB7XG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgIEBpbmNsdWRlIGNhbGMtZ3JpZC1jb2x1bW4oJGksICRjbGFzcywgJHR5cGUpO1xuICB9XG59XG5cblxuLy8gQ3JlYXRlIGdyaWQgZm9yIHNwZWNpZmljIGNsYXNzXG5AbWl4aW4gbWFrZS1ncmlkKCRjbGFzcykge1xuICBAaW5jbHVkZSBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCB3aWR0aCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgcHVsbCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgcHVzaCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgb2Zmc2V0KTtcbn1cbiIsIi8vXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7XG59XG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuLy8gQmFzZWxpbmUgc3R5bGVzXG5cbnRhYmxlLCAudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIC8vIENlbGxzXG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBCb3R0b20gYWxpZ24gZm9yIGNvbHVtbiBoZWFkaW5nc1xuICA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuICAvLyBSZW1vdmUgdG9wIGJvcmRlciBmcm9tIHRoZWFkIGJ5IGRlZmF1bHRcbiAgPiBjYXB0aW9uICsgdGhlYWQsXG4gID4gY29sZ3JvdXAgKyB0aGVhZCxcbiAgPiB0aGVhZDpmaXJzdC1jaGlsZCB7XG4gICAgPiB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEFjY291bnQgZm9yIG11bHRpcGxlIHRib2R5IGluc3RhbmNlc1xuICA+IHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gTmVzdGluZ1xuICAudGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xuICB9XG59XG5cblxuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuXG4udGFibGUtY29uZGVuc2VkIHtcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvcmRlcmVkIHZlcnNpb25cbi8vXG4vLyBBZGQgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IHRoZWFkID4gdHIge1xuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gID4gdGJvZHkgPiB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmctYWNjZW50O1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICA+IHRib2R5ID4gdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZy1ob3ZlcjtcbiAgfVxufVxuXG5cbi8vIFRhYmxlIGNlbGwgc2l6aW5nXG4vL1xuLy8gUmVzZXQgZGVmYXVsdCB0YWJsZSBiZWhhdmlvclxuXG50YWJsZSBjb2xbY2xhc3MqPVwiY29sLVwiXSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7IC8vIFByZXZlbnQgYm9yZGVyIGhpZGluZyBpbiBGaXJlZm94IGFuZCBJRTktMTEgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjIzKVxuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogdGFibGUtY29sdW1uO1xufVxudGFibGUge1xuICB0ZCxcbiAgdGgge1xuICAgICZbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyAvLyBQcmV2ZW50IGJvcmRlciBoaWRpbmcgaW4gRmlyZWZveCBhbmQgSUU5LTExIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTYyMylcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG4vLyBHZW5lcmF0ZSB0aGUgY29udGV4dHVhbCB2YXJpYW50c1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ2FjdGl2ZScsICR0YWJsZS1iZy1hY3RpdmUpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ3N1Y2Nlc3MnLCAkc3RhdGUtc3VjY2Vzcy1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnaW5mbycsICRzdGF0ZS1pbmZvLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCd3YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ2RhbmdlcicsICRzdGF0ZS1kYW5nZXItYmcpO1xuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gV3JhcCB5b3VyIHRhYmxlcyBpbiBgLnRhYmxlLXJlc3BvbnNpdmVgIGFuZCB3ZSdsbCBtYWtlIHRoZW0gbW9iaWxlIGZyaWVuZGx5XG4vLyBieSBlbmFibGluZyBob3Jpem9udGFsIHNjcm9sbGluZy4gT25seSBhcHBsaWVzIDw3NjhweC4gRXZlcnl0aGluZyBhYm92ZSB0aGF0XG4vLyB3aWxsIGRpc3BsYXkgbm9ybWFsbHkuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWluLWhlaWdodDogMC4wMSU7IC8vIFdvcmthcm91bmQgZm9yIElFOSBidWcgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE0ODM3KVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAqIDAuNzUpO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gICAgLy8gVGlnaHRlbiB1cCBzcGFjaW5nXG4gICAgPiAudGFibGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgLy8gRW5zdXJlIHRoZSBjb250ZW50IGRvZXNuJ3Qgd3JhcFxuICAgICAgPiB0aGVhZCxcbiAgICAgID4gdGJvZHksXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgPiB0aCxcbiAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3BlY2lhbCBvdmVycmlkZXMgZm9yIHRoZSBib3JkZXJlZCB0YWJsZXNcbiAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICBib3JkZXI6IDA7XG5cbiAgICAgIC8vIE51a2UgdGhlIGFwcHJvcHJpYXRlIGJvcmRlcnMgc28gdGhhdCB0aGUgcGFyZW50IGNhbiBoYW5kbGUgdGhlbVxuICAgICAgPiB0aGVhZCxcbiAgICAgID4gdGJvZHksXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgICAgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT25seSBudWtlIHRoZSBsYXN0IHJvdydzIGJvdHRvbS1ib3JkZXIgaW4gYHRib2R5YCBhbmQgYHRmb290YCBzaW5jZVxuICAgICAgLy8gY2hhbmNlcyBhcmUgdGhlcmUgd2lsbCBiZSBvbmx5IG9uZSBgdHJgIGluIGEgYHRoZWFkYCBhbmQgdGhhdCB3b3VsZFxuICAgICAgLy8gcmVtb3ZlIHRoZSBib3JkZXIgYWx0b2dldGhlci5cbiAgICAgID4gdGJvZHksXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgPiB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZSA+IHRoZWFkID4gdHIsXG4gIC50YWJsZSA+IHRib2R5ID4gdHIsXG4gIC50YWJsZSA+IHRmb290ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9LFxuICAgID4gdGguI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9ID4gdGQsXG4gICAgJi4jeyRzdGF0ZX0gPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfTpob3ZlcixcbiAgICA+IHRoLiN7JHN0YXRlfTpob3ZlcixcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRkLFxuICAgICY6aG92ZXIgPiAuI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gRm9ybXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gTm9ybWFsaXplIG5vbi1jb250cm9sc1xuLy9cbi8vIFJlc3R5bGUgYW5kIGJhc2VsaW5lIG5vbi1jb250cm9sIGZvcm0gZWxlbWVudHMuXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIC8vIENocm9tZSBhbmQgRmlyZWZveCBzZXQgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gc28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgaXQgYmVoYXZlcyBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cbiAgbWluLXdpZHRoOiAwO1xufVxuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAkbGVnZW5kLWNvbG9yO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGVnZW5kLWJvcmRlci1jb2xvcjtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gRm9yY2UgSUU4IHRvIHdyYXAgbG9uZyBjb250ZW50IChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMzE0MSlcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5cbi8vIE5vcm1hbGl6ZSBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gV2hpbGUgbW9zdCBvZiBvdXIgZm9ybSBzdHlsZXMgcmVxdWlyZSBleHRyYSBjbGFzc2VzLCBzb21lIGJhc2ljIG5vcm1hbGl6YXRpb25cbi8vIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBvcHRpbXVtIGRpc3BsYXkgd2l0aCBvciB3aXRob3V0IHRob3NlIGNsYXNzZXMgdG8gYmV0dGVyXG4vLyBhZGRyZXNzIGJyb3dzZXIgaW5jb25zaXN0ZW5jaWVzLlxuXG4vLyBPdmVycmlkZSBjb250ZW50LWJveCBpbiBOb3JtYWxpemUgKCogaXNuJ3Qgc3BlY2lmaWMgZW5vdWdoKVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG5cbi8vIFBvc2l0aW9uIHJhZGlvcyBhbmQgY2hlY2tib3hlcyBiZXR0ZXJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbjogNHB4IDAgMDtcbiAgbWFyZ2luLXRvcDogMXB4IFxcOTsgLy8gSUU4LTlcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLy8gU2V0IHRoZSBoZWlnaHQgb2YgZmlsZSBjb250cm9scyB0byBtYXRjaCB0ZXh0IGlucHV0c1xuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gTWFrZSByYW5nZSBpbnB1dHMgYmVoYXZlIGxpa2UgdGV4dHVhbCBmb3JtIGNvbnRyb2xzXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIE1ha2UgbXVsdGlwbGUgc2VsZWN0IGVsZW1lbnRzIGhlaWdodCBub3QgZml4ZWRcbnNlbGVjdFttdWx0aXBsZV0sXG5zZWxlY3Rbc2l6ZV0ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvY3VzIGZvciBmaWxlLCByYWRpbywgYW5kIGNoZWNrYm94XG5pbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XG4gIEBpbmNsdWRlIHRhYi1mb2N1cztcbn1cblxuLy8gQWRqdXN0IG91dHB1dCBlbGVtZW50XG5vdXRwdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG59XG5cblxuLy8gQ29tbW9uIGZvcm0gY29udHJvbHNcbi8vXG4vLyBTaGFyZWQgc2l6ZSBhbmQgdHlwZSByZXNldHMgZm9yIGZvcm0gY29udHJvbHMuIEFwcGx5IGAuZm9ybS1jb250cm9sYCB0byBhbnlcbi8vIG9mIHRoZSBmb2xsb3dpbmcgZm9ybSBjb250cm9sczpcbi8vXG4vLyBzZWxlY3Rcbi8vIHRleHRhcmVhXG4vLyBpbnB1dFt0eXBlPVwidGV4dFwiXVxuLy8gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGVcIl1cbi8vIGlucHV0W3R5cGU9XCJtb250aFwiXVxuLy8gaW5wdXRbdHlwZT1cInRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJ3ZWVrXCJdXG4vLyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdXG4vLyBpbnB1dFt0eXBlPVwiZW1haWxcIl1cbi8vIGlucHV0W3R5cGU9XCJ1cmxcIl1cbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl1cbi8vIGlucHV0W3R5cGU9XCJ0ZWxcIl1cbi8vIGlucHV0W3R5cGU9XCJjb2xvclwiXVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTsgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxuICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzOyAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiA8c2VsZWN0PnMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzKTtcblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cztcblxuICAvLyBQbGFjZWhvbGRlclxuICBAaW5jbHVkZSBwbGFjZWhvbGRlcjtcblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICZbZGlzYWJsZWRdLFxuICAmW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAxOyAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1XG4gIH1cblxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCB0ZXh0YXJlYSYgdG8gdGV4dGFyZWEuZm9ybS1jb250cm9sXG59XG5cbi8vIFJlc2V0IGhlaWdodCBmb3IgYHRleHRhcmVhYHNcbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBTZWFyY2ggaW5wdXRzIGluIGlPU1xuLy9cbi8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuXG4vLyBTcGVjaWFsIHN0eWxlcyBmb3IgaU9TIHRlbXBvcmFsIGlucHV0c1xuLy9cbi8vIEluIE1vYmlsZSBTYWZhcmksIHNldHRpbmcgYGRpc3BsYXk6IGJsb2NrYCBvbiB0ZW1wb3JhbCBpbnB1dHMgY2F1c2VzIHRoZVxuLy8gdGV4dCB3aXRoaW4gdGhlIGlucHV0IHRvIGJlY29tZSB2ZXJ0aWNhbGx5IG1pc2FsaWduZWQuIEFzIGEgd29ya2Fyb3VuZCwgd2Vcbi8vIHNldCBhIHBpeGVsIGxpbmUtaGVpZ2h0IHRoYXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaGVpZ2h0IG9mIHRoZSBpbnB1dCwgYnV0IG9ubHlcbi8vIGZvciBTYWZhcmkuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcblxuICAgICYuaW5wdXQtc20sXG4gICAgLmlucHV0LWdyb3VwLXNtICYge1xuICAgICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgfVxuXG4gICAgJi5pbnB1dC1sZyxcbiAgICAuaW5wdXQtZ3JvdXAtbGcgJiB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIGxhYmVsIHtcbiAgICBtaW4taGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7IC8vIEVuc3VyZSB0aGUgaW5wdXQgZG9lc24ndCBqdW1wIHdoZW4gdGhlcmUgaXMgbm8gdGV4dFxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4ucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4uY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbWFyZ2luLXRvcDogNHB4IFxcOTtcbn1cblxuLnJhZGlvICsgLnJhZGlvLFxuLmNoZWNrYm94ICsgLmNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogLTVweDsgLy8gTW92ZSB1cCBzaWJsaW5nIHJhZGlvcyBvciBjaGVja2JveGVzIGZvciB0aWdodGVyIHNwYWNpbmdcbn1cblxuLy8gUmFkaW9zIGFuZCBjaGVja2JveGVzIG9uIHNhbWUgbGluZVxuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmFkaW8taW5saW5lICsgLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUgKyAuY2hlY2tib3gtaW5saW5lIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IC8vIHNwYWNlIG91dCBjb25zZWN1dGl2ZSBpbmxpbmUgY29udHJvbHNcbn1cblxuLy8gQXBwbHkgc2FtZSBkaXNhYmxlZCBjdXJzb3IgdHdlYWsgYXMgZm9yIGlucHV0c1xuLy8gU29tZSBzcGVjaWFsIGNhcmUgaXMgbmVlZGVkIGJlY2F1c2UgPGxhYmVsPnMgZG9uJ3QgaW5oZXJpdCB0aGVpciBwYXJlbnQncyBgY3Vyc29yYC5cbi8vXG4vLyBOb3RlOiBOZWl0aGVyIHJhZGlvcyBub3IgY2hlY2tib3hlcyBjYW4gYmUgcmVhZG9ubHkuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuLy8gVGhlc2UgY2xhc3NlcyBhcmUgdXNlZCBkaXJlY3RseSBvbiA8bGFiZWw+c1xuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIG9uIGVsZW1lbnRzIHdpdGggPGxhYmVsPiBkZXNjZW5kYW50c1xuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGxhYmVsIHtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdGF0aWMgZm9ybSBjb250cm9sIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIGBwYCBlbGVtZW50IHRvIG1ha2UgYW55IHN0cmluZyBvZiB0ZXh0IGFsaWduIHdpdGggbGFiZWxzIGluXG4vLyBhIGhvcml6b250YWwgZm9ybSBsYXlvdXQuXG5cbi5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgLy8gU2l6ZSBpdCBhcHByb3ByaWF0ZWx5IG5leHQgdG8gcmVhbCBmb3JtIGNvbnRyb2xzXG4gIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICBwYWRkaW5nLWJvdHRvbTogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGZyb20gYHBgXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAkZm9udC1zaXplLWJhc2UpO1xuXG4gICYuaW5wdXQtbGcsXG4gICYuaW5wdXQtc20ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbkBpbmNsdWRlIGlucHV0LXNpemUoJy5pbnB1dC1zbScsICRpbnB1dC1oZWlnaHQtc21hbGwsICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsLCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbi5mb3JtLWdyb3VwLXNtIHtcblxuICBAaW5jbHVkZSBpbnB1dC1zaXplKCcuZm9ybS1jb250cm9sJywgJGlucHV0LWhlaWdodC1zbWFsbCwgJHBhZGRpbmctc21hbGwtdmVydGljYWwsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGwpO1xuXG4gIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgcGFkZGluZzogJHBhZGRpbmctc21hbGwtdmVydGljYWwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1zbWFsbDtcbiAgICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJGZvbnQtc2l6ZS1zbWFsbCk7XG4gIH1cbn1cblxuQGluY2x1ZGUgaW5wdXQtc2l6ZSgnLmlucHV0LWxnJywgJGlucHV0LWhlaWdodC1sYXJnZSwgJHBhZGRpbmctbGFyZ2UtdmVydGljYWwsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWwsICRmb250LXNpemUtbGFyZ2UsICRsaW5lLWhlaWdodC1sYXJnZSwgJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuLmZvcm0tZ3JvdXAtbGcge1xuXG4gIEBpbmNsdWRlIGlucHV0LXNpemUoJy5mb3JtLWNvbnRyb2wnLCAkaW5wdXQtaGVpZ2h0LWxhcmdlLCAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1sYXJnZSwgJGxpbmUtaGVpZ2h0LWxhcmdlLCAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG5cbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWxhcmdlO1xuICAgIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAkZm9udC1zaXplLWxhcmdlKTtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmZWVkYmFjayBzdGF0ZXNcbi8vXG4vLyBBcHBseSBjb250ZXh0dWFsIGFuZCBzZW1hbnRpYyBzdGF0ZXMgdG8gaW5kaXZpZHVhbCBmb3JtIGNvbnRyb2xzLlxuXG4uaGFzLWZlZWRiYWNrIHtcbiAgLy8gRW5hYmxlIGFic29sdXRlIHBvc2l0aW9uaW5nXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBFbnN1cmUgaWNvbnMgZG9uJ3Qgb3ZlcmxhcCB0ZXh0XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkaW5wdXQtaGVpZ2h0LWJhc2UgKiAxLjI1KTtcbiAgfVxufVxuLy8gRmVlZGJhY2sgaWNvbiAocmVxdWlyZXMgLmdseXBoaWNvbiBjbGFzc2VzKVxuLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjsgLy8gRW5zdXJlIGljb24gaXMgYWJvdmUgaW5wdXQgZ3JvdXBzXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJGlucHV0LWhlaWdodC1iYXNlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5pbnB1dC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbn1cbi5pbnB1dC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbn1cblxuLy8gRmVlZGJhY2sgc3RhdGVzXG4uaGFzLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtc3VjY2Vzcy10ZXh0LCAkc3RhdGUtc3VjY2Vzcy10ZXh0LCAkc3RhdGUtc3VjY2Vzcy1iZyk7XG59XG4uaGFzLXdhcm5pbmcge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtd2FybmluZy10ZXh0LCAkc3RhdGUtd2FybmluZy10ZXh0LCAkc3RhdGUtd2FybmluZy1iZyk7XG59XG4uaGFzLWVycm9yIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLWRhbmdlci10ZXh0LCAkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItYmcpO1xufVxuXG4vLyBSZXBvc2l0aW9uIGZlZWRiYWNrIGljb24gaWYgaW5wdXQgaGFzIHZpc2libGUgbGFiZWwgYWJvdmVcbi5oYXMtZmVlZGJhY2sgbGFiZWwge1xuXG4gICYgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgdG9wOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgNSk7IC8vIEhlaWdodCBvZiB0aGUgYGxhYmVsYCBhbmQgaXRzIG1hcmdpblxuICB9XG4gICYuc3Itb25seSB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICB0b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBIZWxwIHRleHRcbi8vXG4vLyBBcHBseSB0byBhbnkgZWxlbWVudCB5b3Ugd2lzaCB0byBjcmVhdGUgbGlnaHQgdGV4dCBmb3IgcGxhY2VtZW50IGltbWVkaWF0ZWx5XG4vLyBiZWxvdyBhIGZvcm0gY29udHJvbC4gVXNlIGZvciBnZW5lcmFsIGhlbHAsIGZvcm1hdHRpbmcsIG9yIGluc3RydWN0aW9uYWwgdGV4dC5cblxuLmhlbHAtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jazsgLy8gYWNjb3VudCBmb3IgYW55IGVsZW1lbnQgdXNpbmcgaGVscC1ibG9ja1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNvbG9yOiBsaWdodGVuKCR0ZXh0LWNvbG9yLCAyNSUpOyAvLyBsaWdodGVuIHRoZSB0ZXh0IHNvbWUgZm9yIGNvbnRyYXN0XG59XG5cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyBpcyBtaXhpbi1lZCBpbnRvIGAubmF2YmFyLWZvcm1gIGluIG5hdmJhcnMubGVzcy5cblxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGZyb20gYC5mb3JtLWlubGluZWAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuQG1peGluIGZvcm0taW5saW5lIHtcblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gSW4gbmF2YmFyLWZvcm0sIGFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgICAgIC5pbnB1dC1ncm91cC1idG4sXG4gICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5wdXQgZ3JvdXBzIG5lZWQgdGhhdCAxMDAlIHdpZHRoIHRob3VnaFxuICAgIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLnJhZGlvLFxuICAgIC5jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gUmUtb3ZlcnJpZGUgdGhlIGZlZWRiYWNrIGljb24uXG4gICAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn1cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhcyBgQG1peGluIGZvcm0taW5saW5lYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG4uZm9ybS1pbmxpbmUge1xuICBAaW5jbHVkZSBmb3JtLWlubGluZTtcbn1cblxuXG5cbi8vIEhvcml6b250YWwgZm9ybXNcbi8vXG4vLyBIb3Jpem9udGFsIGZvcm1zIGFyZSBidWlsdCBvbiBncmlkIGNsYXNzZXMgYW5kIGFsbG93IHlvdSB0byBjcmVhdGUgZm9ybXMgd2l0aFxuLy8gbGFiZWxzIG9uIHRoZSBsZWZ0IGFuZCBpbnB1dHMgb24gdGhlIHJpZ2h0LlxuXG4uZm9ybS1ob3Jpem9udGFsIHtcblxuICAvLyBDb25zaXN0ZW50IHZlcnRpY2FsIGFsaWdubWVudCBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXNcbiAgLy9cbiAgLy8gTGFiZWxzIGFsc28gZ2V0IHNvbWUgcmVzZXQgc3R5bGVzLCBidXQgdGhhdCBpcyBzY29wZWQgdG8gYSBtZWRpYSBxdWVyeSBiZWxvdy5cbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgfVxuICAvLyBBY2NvdW50IGZvciBwYWRkaW5nIHdlJ3JlIGFkZGluZyB0byBlbnN1cmUgdGhlIGFsaWdubWVudCBhbmQgb2YgaGVscCB0ZXh0XG4gIC8vIGFuZCBvdGhlciBjb250ZW50IGJlbG93IGl0ZW1zXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94IHtcbiAgICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKSk7XG4gIH1cblxuICAvLyBNYWtlIGZvcm0gZ3JvdXBzIGJlaGF2ZSBsaWtlIHJvd3NcbiAgLmZvcm0tZ3JvdXAge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93O1xuICB9XG5cbiAgLy8gUmVzZXQgc3BhY2luZyBhbmQgcmlnaHQgYWxpZ24gbGFiZWxzLCBidXQgc2NvcGUgdG8gbWVkaWEgcXVlcmllcyBzbyB0aGF0XG4gIC8vIGxhYmVscyBvbiBuYXJyb3cgdmlld3BvcnRzIHN0YWNrIHRoZSBzYW1lIGFzIGEgZGVmYXVsdCBmb3JtIGV4YW1wbGUuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbGlkYXRpb24gc3RhdGVzXG4gIC8vXG4gIC8vIFJlcG9zaXRpb24gdGhlIGljb24gYmVjYXVzZSBpdCdzIG5vdyB3aXRoaW4gYSBncmlkIGNvbHVtbiBhbmQgY29sdW1ucyBoYXZlXG4gIC8vIGBwb3NpdGlvbjogcmVsYXRpdmU7YCBvbiB0aGVtLiBBbHNvIGFjY291bnRzIGZvciB0aGUgZ3JpZCBndXR0ZXIgcGFkZGluZy5cbiAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICByaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICB9XG5cbiAgLy8gRm9ybSBncm91cCBzaXplc1xuICAvL1xuICAvLyBRdWljayB1dGlsaXR5IGNsYXNzIGZvciBhcHBseWluZyBgLmlucHV0LWxnYCBhbmQgYC5pbnB1dC1zbWAgc3R5bGVzIHRvIHRoZVxuICAvLyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoaW4gYSBgLmZvcm0tZ3JvdXBgLlxuICAuZm9ybS1ncm91cC1sZyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogJGxpbmUtaGVpZ2h0LWxhcmdlKSArIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1ncm91cC1zbSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKyAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWJvcmRlci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gICRjb2xvci1yZ2JhOiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksIC42KTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4ICRjb2xvci1yZ2JhKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLiBgPHNlbGVjdD5gXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGlucHV0LXNpemUoJHBhcmVudCwgJGlucHV0LWhlaWdodCwgJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBzZWxlY3QjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSN7JHBhcmVudH0sXG4gIHNlbGVjdFttdWx0aXBsZV0jeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBGb3IgaW5wdXQuYnRuXG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWVpbmE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWJhc2UsICRsaW5lLWhlaWdodC1iYXNlLCAkYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgQGluY2x1ZGUgdXNlci1zZWxlY3Qobm9uZSk7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgQGluY2x1ZGUgdGFiLWZvY3VzO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkYnRuLWRlZmF1bHQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3NcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC42NSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWRlZmF1bHQge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRlZmF1bHQtY29sb3IsICRidG4tZGVmYXVsdC1iZywgJGJ0bi1kZWZhdWx0LWJvcmRlcik7XG59XG4uYnRuLXByaW1hcnkge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktY29sb3IsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJvcmRlcik7XG59XG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cbi5idG4tc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tc3VjY2Vzcy1jb2xvciwgJGJ0bi1zdWNjZXNzLWJnLCAkYnRuLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi8vIEluZm8gYXBwZWFycyBhcyBibHVlLWdyZWVuXG4uYnRuLWluZm8ge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWluZm8tY29sb3IsICRidG4taW5mby1iZywgJGJ0bi1pbmZvLWJvcmRlcik7XG59XG4vLyBXYXJuaW5nIGFwcGVhcnMgYXMgb3JhbmdlXG4uYnRuLXdhcm5pbmcge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXdhcm5pbmctY29sb3IsICRidG4td2FybmluZy1iZywgJGJ0bi13YXJuaW5nLWJvcmRlcik7XG59XG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcbi5idG4tZGFuZ2VyIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItY29sb3IsICRidG4tZGFuZ2VyLWJnLCAkYnRuLWRhbmdlci1ib3JkZXIpO1xufVxuXG5cbi8vIExpbmsgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCdXR0b24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tbGcge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIGV2ZW4tbnVtYmVyZWQgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIGxhcmdlIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRib3JkZXItcmFkaXVzLWxhcmdlKTtcbn1cbi5idG4tc20ge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIHByb3BlciBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gc21hbGwgaW5wdXRcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctc21hbGwtdmVydGljYWwsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuLmJ0bi14cyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXhzLXZlcnRpY2FsLCAkcGFkZGluZy14cy1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cblxuXG4vLyBCbG9jayBidXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuIiwiLy8gT3BhY2l0eVxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgLy8gSUU4IGZpbHRlclxuICAkb3BhY2l0eS1pZTogKCRvcGFjaXR5ICogMTAwKTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTtcbn1cbiIsIi8vXG4vLyBDb21wb25lbnQgYW5pbWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSGVhZHMgdXAhXG4vL1xuLy8gV2UgZG9uJ3QgdXNlIHRoZSBgLm9wYWNpdHkoKWAgbWl4aW4gaGVyZSBzaW5jZSBpdCBjYXVzZXMgYSBidWcgd2l0aCB0ZXh0XG4vLyBmaWVsZHMgaW4gSUU3LTguIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzU1Mi5cblxuLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgLjE1cyBsaW5lYXIpO1xuICAmLmluIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5pbiAgICAgIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRyJi5pbiB0byB0ci5jb2xsYXBzZS5pblxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgdGJvZHkmLmluIHRvIHRib2R5LmNvbGxhcHNlLmluXG59XG5cbnRyLmNvbGxhcHNlLmluICAgIHsgZGlzcGxheTogdGFibGUtcm93OyB9XG5cbnRib2R5LmNvbGxhcHNlLmluIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkoaGVpZ2h0LCB2aXNpYmlsaXR5KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbiguMzVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZSk7XG59XG4iLCIvL1xuLy8gRHJvcGRvd24gbWVudXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRHJvcGRvd24gYXJyb3cvY2FyZXRcbi5jYXJldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXRvcDogICAkY2FyZXQtd2lkdGgtYmFzZSBkYXNoZWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAgJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChkaXYpXG4uZHJvcHVwLFxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBQcmV2ZW50IHRoZSBmb2N1cyBvbiB0aGUgZHJvcGRvd24gdG9nZ2xlIHdoZW4gY2xvc2luZyBkcm9wZG93bnNcbi5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudSAodWwpXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbjogMnB4IDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI7IC8vIElFOCBmYWxsYmFja1xuICBib3JkZXI6IDFweCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgLy8gQWxpZ25zIHRoZSBkcm9wZG93biBtZW51IHRvIHJpZ2h0XG4gIC8vXG4gIC8vIERlcHJlY2F0ZWQgYXMgb2YgMy4xLjAgaW4gZmF2b3Igb2YgYC5kcm9wZG93bi1tZW51LVtkaXJdYFxuICAmLnB1bGwtcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAvLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4gIC5kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZyk7XG4gIH1cblxuICAvLyBMaW5rcyB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDNweCAyMHB4O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgfVxufVxuXG4vLyBIb3Zlci9Gb2N1cyBzdGF0ZVxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWJnO1xuICB9XG59XG5cbi8vIEFjdGl2ZSBzdGF0ZVxuLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnO1xuICB9XG59XG5cbi8vIERpc2FibGVkIHN0YXRlXG4vL1xuLy8gR3JheSBvdXQgdGV4dCBhbmQgZW5zdXJlIHRoZSBob3Zlci9mb2N1cyBzdGF0ZSByZW1haW5zIGdyYXlcblxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgLy8gTnVrZSBob3Zlci9mb2N1cyBlZmZlY3RzXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50XG4gICAgQGluY2x1ZGUgcmVzZXQtZmlsdGVyO1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuXG4vLyBPcGVuIHN0YXRlIGZvciB0aGUgZHJvcGRvd25cbi5vcGVuIHtcbiAgLy8gU2hvdyB0aGUgbWVudVxuICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIDpmb2N1cyBpcyB0cmlnZ2VyZWRcbiAgPiBhIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIE1lbnUgcG9zaXRpb25pbmdcbi8vXG4vLyBBZGQgZXh0cmEgY2xhc3MgdG8gYC5kcm9wZG93bi1tZW51YCB0byBmbGlwIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duXG4vLyBtZW51IHdpdGggdGhlIHBhcmVudC5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgbGVmdDogYXV0bzsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBgLmRyb3Bkb3duLW1lbnVgXG4gIHJpZ2h0OiAwO1xufVxuLy8gV2l0aCB2Mywgd2UgZW5hYmxlZCBhdXRvLWZsaXBwaW5nIGlmIHlvdSBoYXZlIGEgZHJvcGRvd24gd2l0aGluIGEgcmlnaHRcbi8vIGFsaWduZWQgbmF2IGNvbXBvbmVudC4gVG8gZW5hYmxlIHRoZSB1bmRvaW5nIG9mIHRoYXQsIHdlIHByb3ZpZGUgYW4gb3ZlcnJpZGVcbi8vIHRvIHJlc3RvcmUgdGhlIGRlZmF1bHQgZHJvcGRvd24gbWVudSBhbGlnbm1lbnQuXG4vL1xuLy8gVGhpcyBpcyBvbmx5IGZvciBsZWZ0LWFsaWduaW5nIGEgZHJvcGRvd24gbWVudSB3aXRoaW4gYSBgLm5hdmJhci1yaWdodGAgb3Jcbi8vIGAucHVsbC1yaWdodGAgbmF2IGNvbXBvbmVudC5cbi5kcm9wZG93bi1tZW51LWxlZnQge1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbn1cbi8vY2VudGVyZWQgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUtY2VudGVyIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIEJhY2tkcm9wIHRvIGNhdGNoIGJvZHkgY2xpY2tzIG9uIG1vYmlsZSwgZXRjLlxuLmRyb3Bkb3duLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6ICgkemluZGV4LWRyb3Bkb3duIC0gMTApO1xufVxuXG4vLyBSaWdodCBhbGlnbmVkIGRyb3Bkb3duc1xuLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQsIGJyby5cbi8vIFRPRE86IGFic3RyYWN0IHRoaXMgc28gdGhhdCB0aGUgbmF2YmFyIGZpeGVkIHN0eWxlcyBhcmUgbm90IHBsYWNlZCBoZXJlP1xuXG4uZHJvcHVwLFxuLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIHtcbiAgLy8gUmV2ZXJzZSB0aGUgY2FyZXRcbiAgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aC1iYXNlIHNvbGlkO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgLy8gRGlmZmVyZW50IHBvc2l0aW9uaW5nIGZvciBib3R0b20gdXAgbWVudVxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIH1cbn1cblxuXG4vLyBDb21wb25lbnQgYWxpZ25tZW50XG4vL1xuLy8gUmVpdGVyYXRlIHBlciBuYXZiYXIubGVzcyBhbmQgdGhlIG1vZGlmaWVkIGNvbXBvbmVudCBhbGlnbm1lbnQgdGhlcmUuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItcmlnaHQge1xuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHJpZ2h0OiAwOyBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgICAvLyBOZWNlc3NhcnkgZm9yIG92ZXJyaWRlcyBvZiB0aGUgZGVmYXVsdCByaWdodCBhbGlnbmVkIG1lbnUuXG4gICAgLy8gV2lsbCByZW1vdmUgY29tZSB2NCBpbiBhbGwgbGlrZWxpaG9vZC5cbiAgICAuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICAgIGxlZnQ6IDA7IHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cbiIsIi8vXG4vLyBCdXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuLmJ0bi1ncm91cCB7XG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmJ0bi1ncm91cCxcbiAgLmJ0bi1ncm91cCArIC5idG4sXG4gIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLTVweDsgLy8gT2Zmc2V0IHRoZSBmaXJzdCBjaGlsZCdzIG1hcmdpblxuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAuYnRuLWdyb3VwLFxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFNldCBjb3JuZXJzIGluZGl2aWR1YWwgYmVjYXVzZSBzb21ldGltZXMgYSBzaW5nbGUgYnV0dG9uIGNhbiBiZSBpbiBhIC5idG4tZ3JvdXAgYW5kIHdlIG5lZWQgOmZpcnN0LWNoaWxkIGFuZCA6bGFzdC1jaGlsZCB0byBib3RoIG1hdGNoXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSBnaXZlbiBhIC5kcm9wZG93bi1tZW51IGltbWVkaWF0ZWx5IGFmdGVyIGl0XG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIEN1c3RvbSBlZGl0cyBmb3IgaW5jbHVkaW5nIGJ0bi1ncm91cHMgd2l0aGluIGJ0bi1ncm91cHMgKHVzZWZ1bCBmb3IgaW5jbHVkaW5nIGRyb3Bkb3duIGJ1dHRvbnMgd2l0aGluIGEgYnRuLWdyb3VwKVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gT24gYWN0aXZlIGFuZCBvcGVuLCBkb24ndCBzaG93IG91dGxpbmVcbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAteHMgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXhzOyB9XG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIGxpbmUgYmV0d2VlbiBidXR0b25zIHNvbWUgZGVwdGhcbi5idG4tZ3JvdXAgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG59XG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBhbmQgc2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBSZXBvc2l0aW9uIHRoZSBjYXJldFxuLmJ0biAuY2FyZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi8vIENhcmV0cyBpbiBvdGhlciBidXR0b24gc2l6ZXNcbi5idG4tbGcgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAkY2FyZXQtd2lkdGgtbGFyZ2UgJGNhcmV0LXdpZHRoLWxhcmdlIDA7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG59XG4vLyBVcHNpZGUgZG93biBjYXJldHMgZm9yIC5kcm9wdXBcbi5kcm9wdXAgLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6IDAgJGNhcmV0LXdpZHRoLWxhcmdlICRjYXJldC13aWR0aC1sYXJnZTtcbn1cblxuXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2xlYXIgZmxvYXRzIHNvIGRyb3Bkb3duIG1lbnVzIGNhbiBiZSBwcm9wZXJseSBwbGFjZWRcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICA+IC5idG4ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgPiAuYnRuICsgLmJ0bixcbiAgPiAuYnRuICsgLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG4gICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuXG5cbi8vIEp1c3RpZmllZCBidXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tZ3JvdXAtanVzdGlmaWVkIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogMSU7XG4gIH1cbiAgPiAuYnRuLWdyb3VwIC5idG4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuLWdyb3VwIC5kcm9wZG93bi1tZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG4iLCIvL1xuLy8gSW5wdXQgZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZHJvcGRvd25zXG4gIGRpc3BsYXk6IHRhYmxlO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyAvLyBwcmV2ZW50IGlucHV0IGdyb3VwcyBmcm9tIGluaGVyaXRpbmcgYm9yZGVyIHN0eWxlcyBmcm9tIHRhYmxlIGNlbGxzIHdoZW4gcGxhY2VkIHdpdGhpbiBhIHRhYmxlXG5cbiAgLy8gVW5kbyBwYWRkaW5nIGFuZCBmbG9hdCBvZiBncmlkIGNsYXNzZXNcbiAgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBpbnB1dCBpcyBhbHdheXMgYWJvdmUgdGhlICphcHBlbmRlZCogYWRkb24gYnV0dG9uIGZvclxuICAgIC8vIHByb3BlciBib3JkZXIgY29sb3JzLlxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLy8gSUU5IGZ1YmFycyB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGluIHRleHQgaW5wdXRzIGFuZCB0aGUgYXJyb3dzIG9uXG4gICAgLy8gc2VsZWN0IGVsZW1lbnRzIGluIGlucHV0IGdyb3Vwcy4gVG8gZml4IGl0LCB3ZSBmbG9hdCB0aGUgaW5wdXQuIERldGFpbHM6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU2MSNpc3N1ZWNvbW1lbnQtMjg5MzY4NTVcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gU2l6aW5nIG9wdGlvbnNcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIEBleHRlbmQgLmlucHV0LWxnO1xufVxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgQGV4dGVuZCAuaW5wdXQtc207XG59XG5cblxuLy8gRGlzcGxheSBhcyB0YWJsZS1jZWxsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuLFxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLy8gQWRkb24gYW5kIGFkZG9uIHdyYXBwZXIgZm9yIGJ1dHRvbnNcbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4ge1xuICB3aWR0aDogMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIE1hdGNoIHRoZSBpbnB1dHNcbn1cblxuLy8gVGV4dCBpbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gIC8vIFNpemluZ1xuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgfVxuICAmLmlucHV0LWxnIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgfVxuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG4uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4vLyBCdXR0b24gaW5wdXQgZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBKYW5raWx5IHByZXZlbnQgaW5wdXQgYnV0dG9uIGdyb3VwcyBmcm9tIHdyYXBwaW5nIHdpdGggYHdoaXRlLXNwYWNlYCBhbmRcbiAgLy8gYGZvbnQtc2l6ZWAgaW4gY29tYmluYXRpb24gd2l0aCBgaW5saW5lLWJsb2NrYCBvbiBidXR0b25zLlxuICBmb250LXNpemU6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBzcGFjaW5nLCBwb3NpdGlvbiBmb3IgYnJpbmdpbmcgaG92ZXJlZC9mb2N1c2VkL2FjdGl2ZWRcbiAgLy8gZWxlbWVudCBhYm92ZSB0aGUgc2libGluZ3MuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICsgLmJ0biB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgYnV0dG9uIHRvIHRoZSBmcm9udFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5lZ2F0aXZlIG1hcmdpbiB0byBvbmx5IGhhdmUgYSAxcHggYm9yZGVyIGJldHdlZW4gdGhlIHR3b1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICA+IC5idG4sXG4gICAgPiAuYnRuLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICA+IC5idG4sXG4gICAgPiAuYnRuLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIE5hdnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCB1bC9vbFxuICBsaXN0LXN0eWxlOiBub25lO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZztcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGUgc2V0cyB0ZXh0IHRvIGdyYXkgYW5kIG51a2VzIGhvdmVyL3RhYiBlZmZlY3RzXG4gICAgJi5kaXNhYmxlZCA+IGEge1xuICAgICAgY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gT3BlbiBkcm9wZG93bnNcbiAgLm9wZW4gPiBhIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5hdiBkaXZpZGVycyAoZGVwcmVjYXRlZCB3aXRoIHYzLjAuMSlcbiAgLy9cbiAgLy8gVGhpcyBzaG91bGQgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gdjMgd2l0aCB0aGUgZHJvcHBpbmcgb2YgYC5uYXYtbGlzdGAsIGJ1dFxuICAvLyB3ZSBtaXNzZWQgaXQuIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHRoaXMgYW55d2hlcmUsIGJ1dCBpbiB0aGUgaW50ZXJlc3RcbiAgLy8gb2YgbWFpbnRhaW5pbmcgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpbiBjYXNlIHlvdSB1c2UgaXQsIGl0J3MgZGVwcmVjYXRlZC5cbiAgLm5hdi1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBuYXYtZGl2aWRlcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgSUU4IGZyb20gbWlzcGxhY2luZyBpbWdzXG4gIC8vXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvOTg0I2lzc3VlY29tbWVudC0zOTg1OTg5XG4gID4gbGkgPiBhID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBUYWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIHRhYnMgc29tZXRoaW5nIHRvIHNpdCBvblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIE1ha2UgdGhlIGxpc3QtaXRlbXMgb3ZlcmxheSB0aGUgYm90dG9tIGJvcmRlclxuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG5cbiAgICAvLyBBY3R1YWwgdGFicyAoYXMgbGlua3MpXG4gICAgPiBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlICRib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZSwgYW5kIGl0cyA6aG92ZXIgdG8gb3ZlcnJpZGUgbm9ybWFsIDpob3ZlclxuICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIHB1bGxpbmcgdGhpcyBpbiBtYWlubHkgZm9yIGxlc3Mgc2hvcnRoYW5kXG4gICYubmF2LWp1c3RpZmllZCB7XG4gICAgQGV4dGVuZCAubmF2LWp1c3RpZmllZDtcbiAgICBAZXh0ZW5kIC5uYXYtdGFicy1qdXN0aWZpZWQ7XG4gIH1cbn1cblxuXG4vLyBQaWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdi1waWxscyB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gTGlua3MgcmVuZGVyZWQgYXMgcGlsbHNcbiAgICA+IGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG5hdi1waWxscy1ib3JkZXItcmFkaXVzO1xuICAgIH1cbiAgICArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YWNrZWQgcGlsbHNcbi5uYXYtc3RhY2tlZCB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8vIG5vIG5lZWQgZm9yIHRoaXMgZ2FwIGJldHdlZW4gbmF2IGl0ZW1zXG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2IHZhcmlhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEp1c3RpZmllZCBuYXYgbGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdi1qdXN0aWZpZWQge1xuICB3aWR0aDogMTAwJTtcblxuICA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICA+IGEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgfVxuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgID4gYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1vdmUgYm9yZGVycyB0byBhbmNob3JzIGluc3RlYWQgb2YgYm90dG9tIG9mIGxpc3Rcbi8vXG4vLyBNaXhpbiBmb3IgYWRkaW5nIG9uIHRvcCB0aGUgc2hhcmVkIGAubmF2LWp1c3RpZmllZGAgc3R5bGVzIGZvciBvdXIgdGFic1xuLm5hdi10YWJzLWp1c3RpZmllZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgPiBsaSA+IGEge1xuICAgIC8vIE92ZXJyaWRlIG1hcmdpbiBmcm9tIC5uYXYtdGFic1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICB9XG5cbiAgPiAuYWN0aXZlID4gYSxcbiAgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZSAkYm9yZGVyLXJhZGl1cy1iYXNlIDAgMDtcbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSxcbiAgICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAgID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU3BlY2lmaWMgZHJvcGRvd25zXG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICAvLyBtYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gTmF2YmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBXcmFwcGVyIGFuZCBiYXNlIGNsYXNzXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodDsgLy8gRW5zdXJlIGEgbmF2YmFyIGFsd2F5cyBzaG93cyAoZS5nLiwgd2l0aG91dCBhIC5uYXZiYXItYnJhbmQgaW4gY29sbGFwc2VkIG1vZGUpXG4gIG1hcmdpbi1ib3R0b206ICRuYXZiYXItbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgLy8gUHJldmVudCBmbG9hdHMgZnJvbSBicmVha2luZyB0aGUgbmF2YmFyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogJG5hdmJhci1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGhlYWRpbmdcbi8vXG4vLyBHcm91cHMgYC5uYXZiYXItYnJhbmRgIGFuZCBgLm5hdmJhci10b2dnbGVgIGludG8gYSBzaW5nbGUgY29tcG9uZW50IGZvciBlYXN5XG4vLyBzdHlsaW5nIG9mIHJlc3BvbnNpdmUgYXNwZWN0cy5cblxuLm5hdmJhci1oZWFkZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGNvbGxhcHNlIChib2R5KVxuLy9cbi8vIEdyb3VwIHlvdXIgbmF2YmFyIGNvbnRlbnQgaW50byB0aGlzIGZvciBlYXN5IGNvbGxhcHNpbmcgYW5kIGV4cGFuZGluZyBhY3Jvc3Ncbi8vIHZhcmlvdXMgZGV2aWNlIHNpemVzLiBCeSBkZWZhdWx0LCB0aGlzIGNvbnRlbnQgaXMgY29sbGFwc2VkIHdoZW4gPDc2OHB4LCBidXRcbi8vIHdpbGwgZXhwYW5kIHBhc3QgdGhhdCBmb3IgYSBob3Jpem9udGFsIGRpc3BsYXkuXG4vL1xuLy8gVG8gc3RhcnQgKG9uIG1vYmlsZSBkZXZpY2VzKSB0aGUgbmF2YmFyIGxpbmtzLCBmb3JtcywgYW5kIGJ1dHRvbnMgYXJlIHN0YWNrZWRcbi8vIHZlcnRpY2FsbHkgYW5kIGluY2x1ZGUgYSBgbWF4LWhlaWdodGAgdG8gb3ZlcmZsb3cgaW4gY2FzZSB5b3UgaGF2ZSB0b28gbXVjaFxuLy8gY29udGVudCBmb3IgdGhlIHVzZXIncyB2aWV3cG9ydC5cblxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIG92ZXJmbG93LXg6IHZpc2libGU7XG4gIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nLWxlZnQ6ICAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICYuaW4ge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgc2V0dGluZ1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmluIHtcbiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLy8gVW5kbyB0aGUgY29sbGFwc2Ugc2lkZSBwYWRkaW5nIGZvciBuYXZiYXJzIHdpdGggY29udGFpbmVycyB0byBlbnN1cmVcbiAgICAvLyBhbGlnbm1lbnQgb2YgcmlnaHQtYWxpZ25lZCBjb250ZW50cy5cbiAgICAubmF2YmFyLWZpeGVkLXRvcCAmLFxuICAgIC5uYXZiYXItc3RhdGljLXRvcCAmLFxuICAgIC5uYXZiYXItZml4ZWQtYm90dG9tICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1heC1oZWlnaHQ6ICRuYXZiYXItY29sbGFwc2UtbWF4LWhlaWdodDtcblxuICAgIEBtZWRpYSAobWF4LWRldmljZS13aWR0aDogJHNjcmVlbi14cy1taW4pIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm90aCBuYXZiYXIgaGVhZGVyIGFuZCBjb2xsYXBzZVxuLy9cbi8vIFdoZW4gYSBjb250YWluZXIgaXMgcHJlc2VudCwgY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgaGVhZGVyIGFuZCBjb2xsYXBzZS5cblxuLmNvbnRhaW5lcixcbi5jb250YWluZXItZmx1aWQge1xuICA+IC5uYXZiYXItaGVhZGVyLFxuICA+IC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIG1hcmdpbi1sZWZ0OiAgLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAgMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gTmF2YmFyIGFsaWdubWVudCBvcHRpb25zXG4vL1xuLy8gRGlzcGxheSB0aGUgbmF2YmFyIGFjcm9zcyB0aGUgZW50aXJldHkgb2YgdGhlIHBhZ2Ugb3IgZml4ZWQgaXQgdG8gdGhlIHRvcCBvclxuLy8gYm90dG9tIG9mIHRoZSBwYWdlLlxuXG4vLyBTdGF0aWMgdG9wICh1bmZpeGVkLCBidXQgMTAwJSB3aWRlKSBuYXZiYXJcbi5uYXZiYXItc3RhdGljLXRvcCB7XG4gIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEZpeCB0aGUgdG9wL2JvdHRvbSBuYXZiYXJzIHdoZW4gc2NyZWVuIHJlYWwgZXN0YXRlIHN1cHBvcnRzIGl0XG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXItZml4ZWQ7XG5cbiAgLy8gVW5kbyB0aGUgcm91bmRlZCBjb3JuZXJzXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcbn1cbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBvdmVycmlkZSAubmF2YmFyIGRlZmF1bHRzXG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbn1cblxuXG4vLyBCcmFuZC9wcm9qZWN0IG5hbWVcblxuLm5hdmJhci1icmFuZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWwgJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgaGVpZ2h0OiAkbmF2YmFyLWhlaWdodDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICA+IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyICYsXG4gICAgLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQgJiB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0b2dnbGVcbi8vXG4vLyBDdXN0b20gYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgYC5uYXZiYXItY29sbGFwc2VgLCBwb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZVxuLy8gSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi5uYXZiYXItdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmc6IDlweCAxMHB4O1xuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oMzRweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gIC8vIFdlIHJlbW92ZSB0aGUgYG91dGxpbmVgIGhlcmUsIGJ1dCBsYXRlciBjb21wZW5zYXRlIGJ5IGF0dGFjaGluZyBgOmhvdmVyYFxuICAvLyBzdHlsZXMgdG8gYDpmb2N1c2AuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvLyBCYXJzXG4gIC5pY29uLWJhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICB9XG4gIC5pY29uLWJhciArIC5pY29uLWJhciB7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdiBsaW5rc1xuLy9cbi8vIEJ1aWxkcyBvbiB0b3Agb2YgdGhlIGAubmF2YCBjb21wb25lbnRzIHdpdGggaXRzIG93biBtb2RpZmllciBjbGFzcyB0byBtYWtlXG4vLyB0aGUgbmF2IHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgaG9yaXpvbnRhbCBuYXYgKGFib3ZlIDc2OHB4KS5cblxuLm5hdmJhci1uYXYge1xuICBtYXJnaW46ICgkbmF2YmFyLXBhZGRpbmctdmVydGljYWwgLyAyKSAoLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsKTtcblxuICA+IGxpID4gYSB7XG4gICAgcGFkZGluZy10b3A6ICAgIDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXkgd2hlbiBjb2xsYXBzZWRcbiAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICA+IGxpID4gYSxcbiAgICAgIC5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMjVweDtcbiAgICAgIH1cbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFVuY29sbGFwc2UgdGhlIG5hdlxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcblxuICAgID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICA+IGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogICAgJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBmb3JtXG4vL1xuLy8gRXh0ZW5zaW9uIG9mIHRoZSBgLmZvcm0taW5saW5lYCB3aXRoIHNvbWUgZXh0cmEgZmxhdm9yIGZvciBvcHRpbXVtIGRpc3BsYXkgaW5cbi8vIG91ciBuYXZiYXJzLlxuXG4ubmF2YmFyLWZvcm0ge1xuICBtYXJnaW4tbGVmdDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBtYXJnaW4tcmlnaHQ6IC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZzogMTBweCAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICRzaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSksIDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG5cbiAgLy8gTWl4aW4gYmVoYXZpb3IgZm9yIG9wdGltdW0gZGlzcGxheVxuICBAaW5jbHVkZSBmb3JtLWlubGluZTtcblxuICAuZm9ybS1ncm91cCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWxseSBjZW50ZXIgaW4gZXhwYW5kZWQsIGhvcml6b250YWwgbmF2YmFyXG4gIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkaW5wdXQtaGVpZ2h0LWJhc2UpO1xuXG4gIC8vIFVuZG8gMTAwJSB3aWR0aCBmb3IgcHVsbCBjbGFzc2VzXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy8gRHJvcGRvd24gbWVudXNcblxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldHNcbi5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldCBzdXBwb3J0IGZvciBkcm9wdXBzIHZpYSBleHRyYSBkcm9wdXAgY2xhc3Ncbi5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXZiYXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xufVxuXG5cbi8vIEJ1dHRvbnMgaW4gbmF2YmFyc1xuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGEgYnV0dG9uIHdpdGhpbiBhIG5hdmJhciAod2hlbiAqbm90KiBpbiBhIGZvcm0pLlxuXG4ubmF2YmFyLWJ0biB7XG4gIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkaW5wdXQtaGVpZ2h0LWJhc2UpO1xuXG4gICYuYnRuLXNtIHtcbiAgICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJGlucHV0LWhlaWdodC1zbWFsbCk7XG4gIH1cbiAgJi5idG4teHMge1xuICAgIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigyMik7XG4gIH1cbn1cblxuXG4vLyBUZXh0IGluIG5hdmJhcnNcbi8vXG4vLyBBZGQgYSBjbGFzcyB0byBtYWtlIGFueSBlbGVtZW50IHByb3Blcmx5IGFsaWduIGl0c2VsZiB2ZXJ0aWNhbGx5IHdpdGhpbiB0aGUgbmF2YmFycy5cblxuLm5hdmJhci10ZXh0IHtcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRsaW5lLWhlaWdodC1jb21wdXRlZCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgfVxufVxuXG5cbi8vIENvbXBvbmVudCBhbGlnbm1lbnRcbi8vXG4vLyBSZXB1cnBvc2UgdGhlIHB1bGwgdXRpbGl0aWVzIGFzIHRoZWlyIG93biBuYXZiYXIgdXRpbGl0aWVzIHRvIGF2b2lkIHNwZWNpZmljaXR5XG4vLyBpc3N1ZXMgd2l0aCBwYXJlbnRzIGFuZCBjaGFpbmluZy4gT25seSBkbyB0aGlzIHdoZW4gdGhlIG5hdmJhciBpcyB1bmNvbGxhcHNlZFxuLy8gdGhvdWdoIHNvIHRoYXQgbmF2YmFyIGNvbnRlbnRzIHByb3Blcmx5IHN0YWNrIGFuZCBhbGlnbiBpbiBtb2JpbGUuXG4vL1xuLy8gRGVjbGFyZWQgYWZ0ZXIgdGhlIG5hdmJhciBjb21wb25lbnRzIHRvIGVuc3VyZSBtb3JlIHNwZWNpZmljaXR5IG9uIHRoZSBtYXJnaW5zLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAubmF2YmFyLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5hdmJhci1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgfiAubmF2YmFyLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgbmF2YmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRGVmYXVsdCBuYXZiYXJcbi5uYXZiYXItZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1iZztcbiAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYm9yZGVyO1xuICB9XG5cbiAgLy8gRHJvcGRvd24gbWVudSBpdGVtc1xuICAubmF2YmFyLW5hdiB7XG4gICAgLy8gUmVtb3ZlIGJhY2tncm91bmQgY29sb3IgZnJvbSBvcGVuIGRyb3Bkb3duXG4gICAgPiAub3BlbiA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICA+IGxpID4gYSB7XG4gICAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIExpbmtzIGluIG5hdmJhcnNcbiAgLy9cbiAgLy8gQWRkIGEgY2xhc3MgdG8gZW5zdXJlIGxpbmtzIG91dHNpZGUgdGhlIG5hdmJhciBuYXYgYXJlIGNvbG9yZWQgY29ycmVjdGx5LlxuXG4gIC5uYXZiYXItbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICAgICZbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBJbnZlcnNlIG5hdmJhclxuXG4ubmF2YmFyLWludmVyc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYmc7XG4gIGJvcmRlci1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWJvcmRlcjtcblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIERhcmtlbiB0aGUgcmVzcG9uc2l2ZSBuYXYgdG9nZ2xlXG4gIC5uYXZiYXItdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnO1xuICAgIH1cbiAgICAuaWNvbi1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWNvbGxhcHNlLFxuICAubmF2YmFyLWZvcm0ge1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgNyUpO1xuICB9XG5cbiAgLy8gRHJvcGRvd25zXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5XG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIC5kaXZpZGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICAgICZbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWRlZmF1bHQubmF2YmFyLXN0aWNreSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgcGFkZGluZzogMTBweCAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSgwLDAsMCwwLjA3KTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcblxuICBAc3VwcG9ydHMgKGJhY2tkcm9wLWZpbHRlcjogc2F0dXJhdGUoMTgwJSkgYmx1cigyMHB4KSkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoI2ZmZiwgMC45KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IHNhdHVyYXRlKDE4MCUpIGJsdXIoMjBweCk7XG4gIH1cblxuICAubmF2YmFyLW5hdiA+IGxpLmhlYWRlci1idG4td2hpdGUgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4OGFmZjtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3NCwxMzksMjUyLC45KTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxuXG4gICYtLXNob3csXG4gICYtLWhpZGUge1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7XG4gIH1cblxuICAmLS1oaWRlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMXM7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRldXA7XG5cbiAgICBAa2V5ZnJhbWVzIHNsaWRldXAge1xuICAgICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgfVxuICAgICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXNob3cge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVkb3duO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuXG4gICAgQGtleWZyYW1lcyBzbGlkZWRvd24ge1xuICAgICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgIH1cbiAgICAgIDElIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5cbkBtaXhpbiBuYXZiYXItdmVydGljYWwtYWxpZ24oJGVsZW1lbnQtaGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG4iLCIvL1xuLy8gTW9kYWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc2hpdFxuXG4vLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gICYuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi10cmFuc2Zvcm0oMC4zcyBlYXNlLW91dCk7XG4gIH1cbiAgJi5pbiAubW9kYWwtZGlhbG9nIHsgQGluY2x1ZGUgdHJhbnNsYXRlKDAsIDApIH1cbn1cbi5tb2RhbC1vcGVuIC5tb2RhbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAxMHB4O1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOyAvL29sZCBicm93c2VycyBmYWxsYmFjayAoaWU4IGV0YylcbiAgYm9yZGVyOiAxcHggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDNweCA5cHggcmdiYSgwLDAsMCwuNSkpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IEBpbmNsdWRlIG9wYWNpdHkoMCk7IH1cbiAgJi5pbiB7IEBpbmNsdWRlIG9wYWNpdHkoJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkpOyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogJG1vZGFsLXRpdGxlLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgbWluLWhlaWdodDogKCRtb2RhbC10aXRsZS1wYWRkaW5nICsgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cbi8vIENsb3NlIGljb25cbi5tb2RhbC1oZWFkZXIgLmNsb3NlIHtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IC8vIHJpZ2h0IGFsaWduIGJ1dHRvbnNcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBjbGVhcmZpeDsgLy8gY2xlYXIgaXQgaW4gY2FzZSBmb2xrcyB1c2UgLnB1bGwtKiBjbGFzc2VzIG9uIGJ1dHRvbnNcblxuICAvLyBQcm9wZXJseSBzcGFjZSBvdXQgYnV0dG9uc1xuICAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBhY2NvdW50IGZvciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHdoaWNoIGdldHMgdGhlIGJvdHRvbSBtYXJnaW4gbGlrZSBhbGwgb3RoZXIgaW5wdXRzXG4gIH1cbiAgLy8gYnV0IG92ZXJyaWRlIHRoYXQgZm9yIGJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cbiAgLy8gYW5kIG92ZXJyaWRlIGl0IGZvciBibG9jayBidXR0b25zIGFzIHdlbGxcbiAgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgfVxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDVweCAxNXB4IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIE1vZGFsIHNpemVzXG4gIC5tb2RhbC1zbSB7IHdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gIC5tb2RhbC1sZyB7IHdpZHRoOiAkbW9kYWwtbGc7IH1cbn1cbiIsIi8vXG4vLyBUb29sdGlwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy8gUmVzZXQgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIGdpdmVuIG5ldyBpbnNlcnRpb24gbWV0aG9kXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBAaW5jbHVkZSBvcGFjaXR5KDApO1xuXG4gICYuaW4gICAgIHsgQGluY2x1ZGUgb3BhY2l0eSgkdG9vbHRpcC1vcGFjaXR5KTsgfVxuICAmLnRvcCAgICB7IG1hcmdpbi10b3A6ICAtM3B4OyBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYucmlnaHQgIHsgbWFyZ2luLWxlZnQ6ICAzcHg7IHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbiAgJi5ib3R0b20geyBtYXJnaW4tdG9wOiAgIDNweDsgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDsgfVxuICAmLmxlZnQgICB7IG1hcmdpbi1sZWZ0OiAtM3B4OyBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoOyB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xufVxuXG4vLyBBcnJvd3Ncbi50b29sdGlwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuLy8gTm90ZTogRGVwcmVjYXRlZCAudG9wLWxlZnQsIC50b3AtcmlnaHQsIC5ib3R0b20tbGVmdCwgYW5kIC5ib3R0b20tcmlnaHQgYXMgb2YgdjMuMy4xXG4udG9vbHRpcCB7XG4gICYudG9wIC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYudG9wLWxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbS1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG59XG4iLCIvL1xuLy8gVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEZsb2F0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cbi5jZW50ZXItYmxvY2sge1xuICBAaW5jbHVkZSBjZW50ZXItYmxvY2s7XG59XG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuLnB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gVG9nZ2xpbmcgY29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBOb3RlOiBEZXByZWNhdGVkIC5oaWRlIGluIGZhdm9yIG9mIC5oaWRkZW4gb3IgLnNyLW9ubHkgKGFzIGFwcHJvcHJpYXRlKSBpbiB2My4wLjFcbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnNob3cge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG59XG5cblxuLy8gSGlkZSBmcm9tIHNjcmVlbnJlYWRlcnMgYW5kIGJyb3dzZXJzXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEZvciBBZmZpeCBwbHVnaW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFmZml4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuIiwiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuLy9cbi8vIEhlYWRzIHVwISB2MyBsYXVuY2hlZCB3aXRoIHdpdGggb25seSBgLmhpZGUtdGV4dCgpYCwgYnV0IHBlciBvdXIgcGF0dGVybiBmb3Jcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xuLy8gb2YgdjMuMC4xIHdlIGhhdmUgYWRkZWQgYC50ZXh0LWhpZGUoKWAgYW5kIGRlcHJlY2F0ZWQgYC5oaWRlLXRleHQoKWAuXG4vL1xuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5cbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xICh3aWxsIGJlIHJlbW92ZWQgaW4gdjQpXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbn1cbiIsIi8vXG4vLyBSZXNwb25zaXZlOiBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSUUxMCBpbiBXaW5kb3dzIChQaG9uZSkgOFxuLy9cbi8vIFN1cHBvcnQgZm9yIHJlc3BvbnNpdmUgdmlld3MgdmlhIG1lZGlhIHF1ZXJpZXMgaXMga2luZCBvZiBib3JrZWQgaW4gSUUxMCwgZm9yXG4vLyBTdXJmYWNlL2Rlc2t0b3AgaW4gc3BsaXQgdmlldyBhbmQgZm9yIFdpbmRvd3MgUGhvbmUgOC4gVGhpcyBwYXJ0aWN1bGFyIGZpeFxuLy8gbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudCBhbmRcbi8vIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTIHRvICpvbmx5KiB0aGUgU3VyZmFjZS9kZXNrdG9wIFdpbmRvd3MgOC4gTG9vayBhdFxuLy8gb3VyIEdldHRpbmcgU3RhcnRlZCBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgYnVnLlxuLy9cbi8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGZvbGxvd2luZzpcbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5N1xuLy8gRG9jczogaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyNzdXBwb3J0LWllMTAtd2lkdGhcbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMy8wMS93aW5kb3dzLXBob25lLTgtYW5kLWRldmljZS13aWR0aC9cbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vXG5cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXhzLCAudmlzaWJsZS1zbSwgLnZpc2libGUtbWQsIGFuZCAudmlzaWJsZS1sZyBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXhzJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG5cbi52aXNpYmxlLXhzLWJsb2NrLFxuLnZpc2libGUteHMtaW5saW5lLFxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtc20tYmxvY2ssXG4udmlzaWJsZS1zbS1pbmxpbmUsXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1tZC1ibG9jayxcbi52aXNpYmxlLW1kLWlubGluZSxcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayxcbi52aXNpYmxlLWxnLWJsb2NrLFxuLnZpc2libGUtbGctaW5saW5lLFxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xufVxuLnZpc2libGUteHMtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1zbScpO1xufVxuLnZpc2libGUtc20tYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xufVxuLnZpc2libGUtbWQtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbGcnKTtcbn1cbi52aXNpYmxlLWxnLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi14cycpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1zbScpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1tZCcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbGcnKTtcbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS1wcmludCBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtcHJpbnQnKTtcbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLXByaW50Jyk7XG59XG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuXG4vL1xuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUjeyRwYXJlbnR9ICB7IGRpc3BsYXk6IHRhYmxlOyB9XG4gIHRyI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCN7JHBhcmVudH0sXG4gIHRkI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiJdfQ== */ ================================================ FILE: content/css/ionic-hljs.css ================================================ pre{ background-color: white; } .hljs { display: block; padding: 0.5em; background: #ffffff; } /* Done */ .hljs-comment, .hljs-template_comment, .hljs-javadoc, .hljs-comment * { color: #999988; font-style: italic } /* Done */ .hljs-keyword, .method, .hljs-list .hljs-title, .clojure .hljs-built_in, .nginx .hljs-title, .hljs-tag .hljs-title, .setting .hljs-value, .hljs-winutils, .tex .hljs-command, .http .hljs-title, .hljs-request, .hljs-status { color: #445588; font-weight:bold; } .hljs-envvar, .tex .hljs-special { color: #660; } /* Done */ .hljs-string, .hljs-tag .hljs-value, .hljs-cdata, .hljs-filter .hljs-argument, .hljs-attr_selector, .apache .hljs-cbracket, .hljs-date, .hljs-regexp, .coffeescript .hljs-attribute { color: #d14; } .hljs-sub .hljs-identifier, .hljs-pi, .hljs-tag, .hljs-tag .hljs-keyword, .hljs-decorator, .ini .hljs-title, .hljs-shebang, .hljs-prompt, .hljs-hexcolor, .hljs-rules .hljs-value, .css .hljs-value .hljs-number, .hljs-literal, .hljs-symbol, .ruby .hljs-symbol .hljs-string, .hljs-number, .css .hljs-function, .clojure .hljs-attribute { color: #009999; } .hljs-class .hljs-title, .haskell .hljs-type, .smalltalk .hljs-class, .hljs-javadoctag, .hljs-yardoctag, .hljs-phpdoc, .hljs-typename, .hljs-tag .hljs-attribute, .hljs-doctype, .hljs-class .hljs-id, .hljs-built_in, .setting, .hljs-params, .hljs-variable, .clojure .hljs-title { color: #0086B3; } .css .hljs-tag, .hljs-rules .hljs-property, .hljs-pseudo, .hljs-subst { color: #000; } .css .hljs-class, .css .hljs-id { color: #9B703F; } .hljs-value .hljs-important { color: #ff7700; font-weight: bold; } .hljs-rules .hljs-keyword { color: #C5AF75; } .hljs-annotation, .apache .hljs-sqbracket, .nginx .hljs-built_in { color: #9B859D; } .hljs-preprocessor, .hljs-preprocessor *, .hljs-pragma { color: #444; } .tex .hljs-formula { background-color: #EEE; font-style: italic; } .diff .hljs-header, .hljs-chunk { color: #808080; font-weight: bold; } .diff .hljs-change { background-color: #BCCFF9; } .hljs-addition { background-color: #BAEEBA; } .hljs-deletion { background-color: #FFC8BD; } .hljs-comment .hljs-yardoctag { font-weight: bold; } ================================================ FILE: content/css/ionic.css ================================================ @charset "UTF-8"; /*! normalize.css v3.0.2 | MIT License | github.com/necolas/normalize.css */ audio, canvas, progress, video { vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } b, strong { font-weight: bold; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { box-sizing: content-box; height: 0; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } label, input, select, textarea { line-height: normal; font-family: inherit; } form, input, optgroup, select { color: inherit; font: inherit; margin: 0; } html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; } html { width: 100%; height: 100%; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; } body { position: fixed; overflow: hidden; width: 100%; height: 100%; max-width: 100%; max-height: 100%; margin: 0; padding: 0; word-wrap: break-word; -ms-touch-action: manipulation; touch-action: manipulation; -webkit-user-drag: none; -ms-content-zooming: none; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; text-rendering: optimizeLegibility; -webkit-text-size-adjust: none; -ms-text-size-adjust: none; text-size-adjust: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: #fff; } ion-app, ion-nav, ion-tabs { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; } ion-navbar-section { display: block; width: 100%; min-height: 50px; } ion-content-section { display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; position: relative; width: 100%; height: 100%; } ion-page { display: none; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-page.show-page { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } ion-content { position: relative; display: block; width: 100%; height: 100%; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; background-color: #fff; } scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: block; overflow-y: scroll; overflow-x: hidden; -webkit-overflow-scrolling: touch; will-change: scroll-position; } ion-tabbar { display: block; position: absolute; top: 0; left: 0; width: 100%; min-height: 50px; } ion-tab-section { display: block; position: relative; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; } ion-page.tab-subpage { position: fixed; z-index: 10; } ion-navbar { display: block; position: absolute; top: 0; left: 0; width: 100%; min-height: 50px; z-index: 10; } ion-navbar-section ion-navbar.toolbar { position: absolute; } ion-toolbar { display: block; width: 100%; height: 50px; } ion-toolbar[position=bottom] { bottom: 0; z-index: 10; } .sticky { position: -webkit-sticky; position: sticky; top: 0; } html { font-size: 62.5%; } body { font-size: 1.4rem; font-family: -apple-system, "Helvetica Neue", "Roboto", sans-serif; } a { color: #387ef5; background-color: transparent; } .enable-hover a:hover { opacity: 0.7; } h1, h2, h3, h4, h5, h6 { font-weight: 500; line-height: 1.2; margin-top: 1.6rem; margin-bottom: 1rem; } h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child { margin-top: -0.3rem; } h1 + h2, h1 + h3, h2 + h3 { margin-top: -0.3rem; } h1 { font-size: 3.6rem; margin-top: 2rem; } h2 { font-size: 3rem; margin-top: 1.8rem; } h3 { font-size: 2.4rem; } h4 { font-size: 2rem; } h5 { font-size: 1.6rem; } h6 { font-size: 1.4rem; } small { font-size: 75%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } h1[primary], h2[primary], h3[primary], h4[primary], h5[primary], h6[primary], p[primary], span[primary], a:not([button])[primary], small[primary], b[primary], i[primary], u[primary], strong[primary], em[primary], sub[primary], sup[primary] { color: #387ef5 !important; } h1[secondary], h2[secondary], h3[secondary], h4[secondary], h5[secondary], h6[secondary], p[secondary], span[secondary], a:not([button])[secondary], small[secondary], b[secondary], i[secondary], u[secondary], strong[secondary], em[secondary], sub[secondary], sup[secondary] { color: #32db64 !important; } h1[danger], h2[danger], h3[danger], h4[danger], h5[danger], h6[danger], p[danger], span[danger], a:not([button])[danger], small[danger], b[danger], i[danger], u[danger], strong[danger], em[danger], sub[danger], sup[danger] { color: #f53d3d !important; } h1[light], h2[light], h3[light], h4[light], h5[light], h6[light], p[light], span[light], a:not([button])[light], small[light], b[light], i[light], u[light], strong[light], em[light], sub[light], sup[light] { color: #f4f4f4 !important; } h1[dark], h2[dark], h3[dark], h4[dark], h5[dark], h6[dark], p[dark], span[dark], a:not([button])[dark], small[dark], b[dark], i[dark], u[dark], strong[dark], em[dark], sub[dark], sup[dark] { color: #222 !important; } .align-left { text-align: left; } .align-center { text-align: center; } .align-right { text-align: right; } .no-transition { -webkit-transition: none !important; transition: none !important; } .hide, [hidden], template, root-anchor { display: none !important; } [padding], [padding] > scroll-content { padding: 16px; } [padding-top] { padding-top: 16px; } [padding-right] { padding-right: 16px; } [padding-bottom] { padding-bottom: 16px; } [padding-left] { padding-left: 16px; } [padding-vertical] { padding-top: 16px; padding-bottom: 16px; } [padding-horizontal] { padding-right: 16px; padding-left: 16px; } :focus, :active { outline: none; } .focus-outline :focus { outline-offset: -1px; outline: thin dotted; } .focus-outline button:focus, .focus-outline [button]:focus { border-color: #51a7e8; box-shadow: 0px 0px 8px 0px #51a7e8; outline: thin solid #51a7e8; } .focus-outline ion-input.has-focus, .focus-outline button[ion-item]:focus, .focus-outline a[ion-item]:focus { border-color: #51a7e8; box-shadow: inset 0px 0px 8px 0px #51a7e8 !important; } .focus-outline ion-input :focus { outline: none; } focus-ctrl { position: fixed; } focus-ctrl input, focus-ctrl button { position: fixed; top: 1px; width: 9px; left: -9999px; z-index: 9999; pointer-events: none; } .hide-focused-input { -webkit-box-flex: 0 !important; -webkit-flex: 0 0 8px !important; -ms-flex: 0 0 8px !important; flex: 0 0 8px !important; margin: 0 !important; -webkit-transform: translate3d(-9999px, 0, 0); transform: translate3d(-9999px, 0, 0); pointer-events: none; } [floating-label] .hide-focused-input, [stacked-label] .hide-focused-input { margin-top: -8px !important; } .cloned-input { pointer-events: none; } backdrop { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; opacity: 0.01; display: block; -webkit-transform: translateZ(0); transform: translateZ(0); } click-block { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; z-index: 9999; -webkit-transform: translate3d(0px, -100%, 0px); transform: translate3d(0px, -100%, 0px); -webkit-transform: translate3d(0px, calc(-100% + 1px), 0px); transform: translate3d(0px, calc(-100% + 1px), 0px); } .click-block-active { -webkit-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px); } @-webkit-keyframes rotation { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes rotation { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } ion-loading-icon { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; margin: auto; font-family: 'Ionicons'; font-size: 128px; color: #666666; -webkit-animation: rotation 45s infinite linear; animation: rotation 45s infinite linear; } ion-loading-icon:before { content: "\f44e"; } .toolbar { position: relative; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-ordinal-group: -9; -webkit-order: -10; -ms-flex-order: -10; order: -10; -webkit-box-flex: 0; -webkit-flex: 0; -ms-flex: 0; flex: 0; padding: 4px; width: 100%; overflow: hidden; } .toolbar button, .toolbar [button] { background-color: transparent; color: #387ef5; box-shadow: none; } .toolbar toolbar-background { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; border: 0; border-color: #b2b2b2; background-color: #f8f8f8; pointer-events: none; } toolbar-content { display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 31; -webkit-order: 30; -ms-flex-order: 30; order: 30; } .toolbar button:hover:not(.disable-hover), .toolbar [button]:hover:not(.disable-hover), .toolbar button.activated, .toolbar [button].activated { color: #387ef5; background-color: transparent; } .toolbar[position=bottom] { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; } ion-title { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .toolbar-title { display: block; width: 100%; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; color: #000; } .toolbar [menu-toggle] { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0 6px; padding: 0; min-width: 36px; -webkit-box-ordinal-group: 21; -webkit-order: 20; -ms-flex-order: 20; order: 20; box-shadow: none; } .toolbar [menu-toggle][secondary] { -webkit-box-ordinal-group: 61; -webkit-order: 60; -ms-flex-order: 60; order: 60; } .toolbar [menu-toggle] icon { padding: 0 6px; font-size: 2.8rem; } ion-nav-items { display: block; margin: 0 0.2rem; pointer-events: none; -webkit-box-ordinal-group: 41; -webkit-order: 40; -ms-flex-order: 40; order: 40; } ion-nav-items[secondary] { -webkit-box-ordinal-group: 51; -webkit-order: 50; -ms-flex-order: 50; order: 50; } ion-nav-items button, ion-nav-items a, ion-nav-items input, ion-nav-items textarea, ion-nav-items div { pointer-events: auto; } ion-nav-items, [menu-toggle] { z-index: 99; } .toolbar[primary] toolbar-background { background-color: #387ef5; border-color: #0c60ee; } .toolbar[primary] .toolbar-title, .toolbar[primary] button, .toolbar[primary] [button], .toolbar[primary] button:hover:not(.disable-hover), .toolbar[primary] [button]:hover:not(.disable-hover), .toolbar[primary] a { color: white; } .toolbar[secondary] toolbar-background { background-color: #32db64; border-color: #21b94e; } .toolbar[secondary] .toolbar-title, .toolbar[secondary] button, .toolbar[secondary] [button], .toolbar[secondary] button:hover:not(.disable-hover), .toolbar[secondary] [button]:hover:not(.disable-hover), .toolbar[secondary] a { color: white; } .toolbar[danger] toolbar-background { background-color: #f53d3d; border-color: #f30c0c; } .toolbar[danger] .toolbar-title, .toolbar[danger] button, .toolbar[danger] [button], .toolbar[danger] button:hover:not(.disable-hover), .toolbar[danger] [button]:hover:not(.disable-hover), .toolbar[danger] a { color: white; } .toolbar[light] toolbar-background { background-color: #f4f4f4; border-color: #dbdbdb; } .toolbar[light] .toolbar-title, .toolbar[light] button, .toolbar[light] [button], .toolbar[light] button:hover:not(.disable-hover), .toolbar[light] [button]:hover:not(.disable-hover), .toolbar[light] a { color: black; } .toolbar[dark] toolbar-background { background-color: #222; border-color: #090909; } .toolbar[dark] .toolbar-title, .toolbar[dark] button, .toolbar[dark] [button], .toolbar[dark] button:hover:not(.disable-hover), .toolbar[dark] [button]:hover:not(.disable-hover), .toolbar[dark] a { color: white; } ion-action-sheet { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; z-index: 1000; } action-sheet-wrapper { position: absolute; z-index: 10; bottom: 0; left: 0; right: 0; width: 100%; display: block; max-width: 500px; margin: auto; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .action-sheet-container { width: auto; overflow: hidden; } .action-sheet-container button { display: block; padding: 1px; width: 100%; margin: 0; border-radius: 0; border-color: #d1d3d6; background-color: transparent; color: #007aff; font-size: 21px; } .action-sheet-container button.activated { box-shadow: none; border-color: #d1d3d6; background: #e4e5e7; } .action-sheet-title { padding: 10px; color: #8f8f8f; text-align: center; font-size: 13px; } .action-sheet-group { background-color: #fff; overflow: hidden; } .action-sheet-group button { border-width: 1px 0px 0px 0px; } .action-sheet-group button:first-child:last-child { border-width: 0; } .action-sheet-options { background: #f1f2f3; } item-badge { display: inline-block; padding: 3px 8px; min-width: 10px; border-radius: 10px; vertical-align: baseline; text-align: center; white-space: nowrap; font-size: 1.3rem; font-weight: bold; line-height: 1; background: #ccc; } item-badge:empty { display: none; } button, [button] { position: relative; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-transition: background-color, opacity 100ms linear; transition: background-color, opacity 100ms linear; margin: 0.4rem 0.2rem; padding: 0 1em; min-height: 2.8em; line-height: 1; border: 1px solid #ccc; border: transparent; border-radius: 4px; font-size: 1.6rem; font-family: inherit; font-variant: inherit; font-style: inherit; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; text-align: center; text-transform: none; vertical-align: top; vertical-align: -webkit-baseline-middle; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; background: #387ef5; color: white; } button:hover:not(.disable-hover), [button]:hover:not(.disable-hover) { opacity: 0.8; text-decoration: none; } button.activated, [button].activated { opacity: 1; background-color: #3474e1; } button[block], [button][block] { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; clear: both; margin-right: 0; margin-left: 0; width: 100%; } button[block]:after, [button][block]:after { clear: both; } button[full], [button][full] { width: 100%; margin-right: 0; margin-left: 0; border-radius: 0; border-right-width: 0; border-left-width: 0; } button[full][outline], [button][full][outline] { border-radius: 0; border-right-width: 0; border-left-width: 0; } button[round], [button][round] { border-radius: 64px; padding: 0 2.6rem; } button[disabled], [button][disabled] { opacity: 0.4; cursor: default !important; pointer-events: none; } a[button] { text-decoration: none; } [padding] > button[block]:first-child, [padding] > [button][block]:first-child { margin-top: 0; } button[primary], [button][primary] { background-color: #387ef5; color: white; } button[primary].activated, [button][primary].activated { background-color: #3474e1; } button[secondary], [button][secondary] { background-color: #32db64; color: white; } button[secondary].activated, [button][secondary].activated { background-color: #2ec95c; } button[danger], [button][danger] { background-color: #f53d3d; color: white; } button[danger].activated, [button][danger].activated { background-color: #e13838; } button[light], [button][light] { background-color: #f4f4f4; color: black; } button[light].activated, [button][light].activated { background-color: #e0e0e0; } button[dark], [button][dark] { background-color: #222; color: white; } button[dark].activated, [button][dark].activated { background-color: #343434; } button[clear], .ios .popup-buttons button, .ios .searchbar-cancel, .md .popup-buttons button, [button][clear] { border-color: transparent; background: transparent; color: #3474e1; } button[clear].activated, .ios .popup-buttons button.activated, .ios .activated.searchbar-cancel, .md .popup-buttons button.activated, [button][clear].activated { opacity: 0.4; background: transparent; } button[clear]:hover:not(.disable-hover), .ios .popup-buttons button:hover:not(.disable-hover), .ios .searchbar-cancel:hover:not(.disable-hover), .md .popup-buttons button:hover:not(.disable-hover), [button][clear]:hover:not(.disable-hover) { opacity: 0.6; color: #3474e1; } button[clear][secondary], .ios .popup-buttons button[secondary], .ios [secondary].searchbar-cancel, .md .popup-buttons button[secondary], [button][clear][secondary] { border-color: transparent; background: transparent; color: #2ec95c; } button[clear][secondary]:hover:not(.disable-hover), .ios .popup-buttons button[secondary]:hover:not(.disable-hover), .ios [secondary].searchbar-cancel:hover:not(.disable-hover), .md .popup-buttons button[secondary]:hover:not(.disable-hover), [button][clear][secondary]:hover:not(.disable-hover) { color: #3fcd69; } button[clear][danger], .ios .popup-buttons button[danger], .ios [danger].searchbar-cancel, .md .popup-buttons button[danger], [button][clear][danger] { border-color: transparent; background: transparent; color: #e13838; } button[clear][danger]:hover:not(.disable-hover), .ios .popup-buttons button[danger]:hover:not(.disable-hover), .ios [danger].searchbar-cancel:hover:not(.disable-hover), .md .popup-buttons button[danger]:hover:not(.disable-hover), [button][clear][danger]:hover:not(.disable-hover) { color: #cf3434; } button[clear][light], .ios .popup-buttons button[light], .ios [light].searchbar-cancel, .md .popup-buttons button[light], [button][clear][light] { border-color: transparent; background: transparent; color: #e0e0e0; } button[clear][light]:hover:not(.disable-hover), .ios .popup-buttons button[light]:hover:not(.disable-hover), .ios [light].searchbar-cancel:hover:not(.disable-hover), .md .popup-buttons button[light]:hover:not(.disable-hover), [button][clear][light]:hover:not(.disable-hover) { color: #cecece; } button[clear][dark], .ios .popup-buttons button[dark], .ios [dark].searchbar-cancel, .md .popup-buttons button[dark], [button][clear][dark] { border-color: transparent; background: transparent; color: #343434; } button[clear][dark]:hover:not(.disable-hover), .ios .popup-buttons button[dark]:hover:not(.disable-hover), .ios [dark].searchbar-cancel:hover:not(.disable-hover), .md .popup-buttons button[dark]:hover:not(.disable-hover), [button][clear][dark]:hover:not(.disable-hover) { color: #444444; } button[outline], [button][outline] { border: 1px solid #387ef5; background: transparent; color: #387ef5; } button[outline].activated, [button][outline].activated { opacity: 1; color: #fff; background-color: #387ef5; } button[secondary][outline], [button][secondary][outline] { border-color: #30d05f; background: transparent; color: #30d05f; } button[secondary][outline].activated, [button][secondary][outline].activated { color: #fff; background-color: #30d05f; } button[danger][outline], [button][danger][outline] { border-color: #e93a3a; background: transparent; color: #e93a3a; } button[danger][outline].activated, [button][danger][outline].activated { color: #fff; background-color: #e93a3a; } button[light][outline], [button][light][outline] { border-color: #e8e8e8; background: transparent; color: #e8e8e8; } button[light][outline].activated, [button][light][outline].activated { color: #fff; background-color: #e8e8e8; } button[dark][outline], [button][dark][outline] { border-color: #2d2d2d; background: transparent; color: #2d2d2d; } button[dark][outline].activated, [button][dark][outline].activated { color: #fff; background-color: #2d2d2d; } button[large], [button][large] { padding: 0 1em; min-height: 2.8em; font-size: 2rem; } button[small], [button][small] { padding: 0 0.9em; min-height: 2.1em; font-size: 1.3rem; } button icon, [button] icon { font-size: 1.4em; background: none; border: none; pointer-events: none; line-height: 0.67; } button.icon-left icon, [button].icon-left icon { margin-left: -0.3em; padding-right: 0.3em; } button.icon-right icon, [button].icon-right icon { margin-right: -0.2em; padding-left: 0.4em; } button.icon-only, [button].icon-only { padding: 0; min-width: 0.9em; } button.icon-only icon, [button].icon-only icon { padding: 0 0.5em; font-size: 1.8em; } button[small] icon, [button][small] icon { margin-left: 0; margin-right: 0; font-size: 1.4em; } button[fab], [button][fab] { position: absolute; width: 56px; height: 56px; line-height: 56px; min-width: 0; vertical-align: middle; border-radius: 50%; background-clip: padding-box; overflow: hidden; -webkit-transition: .2s linear; transition: .2s linear; -webkit-transition-property: background-color; transition-property: background-color; font-size: 14px; } button[fab][fab-center], [button][fab][fab-center] { left: 50%; margin-left: -28px; } button[fab][fab-top], [button][fab][fab-top] { top: 16px; } button[fab][fab-right], [button][fab][fab-right] { right: 16px; } button[fab][fab-bottom], [button][fab][fab-bottom] { bottom: 16px; } button[fab][fab-left], [button][fab][fab-left] { left: 16px; } button[fab] icon, [button][fab] icon { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; font-size: 2.8rem; } ion-checkbox { cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } ion-checkbox[aria-disabled=true] { opacity: 0.5; color: #666; pointer-events: none; } icon { display: inline-block; font-size: 1.2em; } icon[small] { font-size: 1.1em; } .item { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0; padding: 0; border: 0; min-height: 4.4rem; text-align: initial; overflow: hidden; background-color: #fff; color: #000; box-sizing: border-box; } .item[no-lines] { border: none; } .item[no-lines] .item-inner { border: none; } .item-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; margin: 0; padding: 0; border: 0; overflow: hidden; box-sizing: border-box; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; } ion-item-group { display: block; } ion-item-divider { display: block; min-height: 30px; font-weight: 500; width: 100%; z-index: 1000; } ion-item-divider[sticky] { position: -webkit-sticky; position: sticky; top: 0px; } a.item, button.item { margin: 0; padding: 0; width: 100%; -webkit-box-pack: inherit; -webkit-justify-content: inherit; -ms-flex-pack: inherit; justify-content: inherit; min-height: 4.4rem; font-weight: normal; line-height: normal; text-decoration: none; text-transform: none; color: inherit; border-radius: 0; box-shadow: none; will-change: initial; } ion-item-content { margin: 0; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none; } ion-item-content a, ion-item-content button { pointer-events: auto; } [text-wrap] ion-item-content { white-space: normal; } .item h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .item h2 { margin: 0 0 2px; font-size: 1.6rem; font-weight: normal; } .item h3, .item h4, .item h5, .item h6 { line-height: normal; margin: 0 0 3px 0; font-size: 1.4rem; font-weight: normal; } .item p { line-height: normal; color: #666; font-size: 1.2rem; margin: 0 0 2px; } .item h2:last-child, .item h3:last-child, .item h4:last-child, .item h5:last-child, .item h6:last-child, .item p:last-child { margin-bottom: 0; } .item a { text-decoration: none; } .vertical-align-top, ion-input.item { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } ion-item-content + ion-item-content[cnt] { display: none; } .item > icon[small]:first-child, .item-inner > icon[small]:first-child { min-width: 18px; } .item > icon:first-child, .item-inner > icon:first-child { min-width: 24px; text-align: center; } .item > icon, .item-inner > icon { line-height: 1; font-size: 2.4rem; } .item > icon[large], .item-inner > icon[large] { font-size: 3.2rem; } .item > icon[small], .item-inner > icon[small] { font-size: 1.8rem; } ion-avatar, ion-thumbnail { display: block; line-height: 1; } ion-avatar img, ion-thumbnail img { display: block; } ion-item-sliding { display: block; position: relative; overflow: hidden; } ion-item-sliding .item { position: static; } ion-item-options { display: none; position: absolute; top: 0; right: 0; z-index: 1; height: 100%; visibility: hidden; } ion-item-sliding.active-slide .item, ion-item-sliding.active-slide .item.item.activated { position: relative; z-index: 2; opacity: 1; -webkit-transition: all 300ms cubic-bezier(0.36, 0.66, 0.04, 1); transition: all 300ms cubic-bezier(0.36, 0.66, 0.04, 1); pointer-events: none; } ion-item-sliding.active-slide ion-item-options { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } ion-item-sliding.active-slide.active-options ion-item-options { visibility: visible; } ion-row { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; padding: 5px; width: 100%; } ion-row[wrap] { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; } ion-row[flush] { padding: 0; } ion-row[top] { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } ion-row[bottom] { -webkit-box-align: end; -webkit-align-items: flex-end; -ms-flex-align: end; align-items: flex-end; } ion-row[center] { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-row[stretch] { -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; } ion-row[baseline] { -webkit-box-align: baseline; -webkit-align-items: baseline; -ms-flex-align: baseline; align-items: baseline; } ion-row + ion-row { margin-top: -5px; padding-top: 0; } ion-col { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; display: block; padding: 5px; width: 100%; } ion-col[top] { -webkit-align-self: flex-start; -ms-flex-item-align: start; align-self: flex-start; } ion-col[bottom] { -webkit-align-self: flex-end; -ms-flex-item-align: end; align-self: flex-end; } ion-col[center] { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } ion-col[stretch] { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; } ion-col[baseline] { -webkit-align-self: baseline; -ms-flex-item-align: baseline; align-self: baseline; } /* Column Offsets */ ion-col[offset-10] { margin-left: 10%; } ion-col[offset-20] { margin-left: 20%; } ion-col[offset-25] { margin-left: 25%; } ion-col[offset-33], ion-col[offset-34] { margin-left: 33.3333%; } ion-col[offset-50] { margin-left: 50%; } ion-col[offset-66], ion-col[offset-67] { margin-left: 66.6666%; } ion-col[offset-75] { margin-left: 75%; } ion-col[offset-80] { margin-left: 80%; } ion-col[offset-90] { margin-left: 90%; } /* Explicit Column Percent Sizes */ /* By default each grid column will evenly distribute */ /* across the grid. However, you can specify individual */ /* columns to take up a certain size of the available area */ ion-col[width-10] { -webkit-box-flex: 0; -webkit-flex: 0 0 10%; -ms-flex: 0 0 10%; flex: 0 0 10%; max-width: 10%; } ion-col[width-20] { -webkit-box-flex: 0; -webkit-flex: 0 0 20%; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } ion-col[width-25] { -webkit-box-flex: 0; -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } ion-col[width-33], ion-col[width-34] { -webkit-box-flex: 0; -webkit-flex: 0 0 33.3333%; -ms-flex: 0 0 33.3333%; flex: 0 0 33.3333%; max-width: 33.3333%; } ion-col[width-50] { -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } ion-col[width-66], ion-col[width-67] { -webkit-box-flex: 0; -webkit-flex: 0 0 66.6666%; -ms-flex: 0 0 66.6666%; flex: 0 0 66.6666%; max-width: 66.6666%; } ion-col[width-75] { -webkit-box-flex: 0; -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } ion-col[width-80] { -webkit-box-flex: 0; -webkit-flex: 0 0 80%; -ms-flex: 0 0 80%; flex: 0 0 80%; max-width: 80%; } ion-col[width-90] { -webkit-box-flex: 0; -webkit-flex: 0 0 90%; -ms-flex: 0 0 90%; flex: 0 0 90%; max-width: 90%; } /* Responsive Grid Classes */ /* Adding a class of responsive-X to a row */ /* will trigger the width-direction to */ /* change to column and add some margin */ /* to any columns in the row for clearity */ @media (max-width: 567px) { [responsive-sm] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-sm] ion-col[width-10], [responsive-sm] ion-col[width-20], [responsive-sm] ion-col[width-25], [responsive-sm] ion-col[width-33], [responsive-sm] ion-col[width-34], [responsive-sm] ion-col[width-50], [responsive-sm] ion-col[width-66], [responsive-sm] ion-col[width-67], [responsive-sm] ion-col[width-75], [responsive-sm] ion-col[width-80], [responsive-sm] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; max-width: 100%; width: 100%; } } @media (max-width: 767px) { [responsive-md] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-md] ion-col[width-10], [responsive-md] ion-col[width-20], [responsive-md] ion-col[width-25], [responsive-md] ion-col[width-33], [responsive-md] ion-col[width-34], [responsive-md] ion-col[width-50], [responsive-md] ion-col[width-66], [responsive-md] ion-col[width-67], [responsive-md] ion-col[width-75], [responsive-md] ion-col[width-80], [responsive-md] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; max-width: 100%; width: 100%; } } @media (max-width: 1023px) { [responsive-lg] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-lg] ion-col[width-10], [responsive-lg] ion-col[width-20], [responsive-lg] ion-col[width-25], [responsive-lg] ion-col[width-33], [responsive-lg] ion-col[width-34], [responsive-lg] ion-col[width-50], [responsive-lg] ion-col[width-66], [responsive-lg] ion-col[width-67], [responsive-lg] ion-col[width-75], [responsive-lg] ion-col[width-80], [responsive-lg] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; max-width: 100%; width: 100%; } } ion-input textarea, ion-input input[type="text"], ion-input input[type="password"], ion-input input[type="datetime"], ion-input input[type="datetime-local"], ion-input input[type="date"], ion-input input[type="month"], ion-input input[type="time"], ion-input input[type="week"], ion-input input[type="number"], ion-input input[type="email"], ion-input input[type="url"], ion-input input[type="search"], ion-input input[type="tel"], ion-input input[type="color"] { display: block; background: transparent; border: 0; width: 100%; } ion-input [text-input] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; background-color: #fff; pointer-events: none; } ion-input.has-focus [text-input] { pointer-events: auto; } ion-input input[scroll-assist] { display: inline-block; padding: 0; margin: 0; width: 1px; height: 1px; pointer-events: none; } ion-input textarea { padding-top: 9px; } textarea { margin: 0; padding: 0; height: auto; overflow: auto; font: inherit; color: inherit; } .platform-mobile textarea { resize: none; } input::-moz-placeholder, textarea::-moz-placeholder { color: #999; } input:-ms-input-placeholder, textarea:-ms-input-placeholder { color: #999; } input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: #999; text-indent: 0; } ion-label[primary] { color: #387ef5 !important; } ion-label[secondary] { color: #32db64 !important; } ion-label[danger] { color: #f53d3d !important; } ion-label[light] { color: #f4f4f4 !important; } ion-label[dark] { color: #222 !important; } ion-label { display: block; max-width: 200px; font-size: inherit; white-space: nowrap; pointer-events: none; } [fixed-label] ion-label { width: 30%; min-width: 100px; max-width: 200px; } ion-input[stacked-label], ion-input[floating-label] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } [stacked-label] ion-label, [floating-label] ion-label { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; margin-bottom: 0; max-width: 100%; } [stacked-label] [text-input], [floating-label] [text-input] { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; width: auto; } ion-list-header { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } ion-list { display: block; margin: 0; padding: 0; list-style-type: none; } ion-list[inset] { overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-list[inset] ion-list-header { background-color: #fff; } ion-card { display: block; overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-card img { display: block; width: 100%; } ion-card-header { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } ion-card-content { display: block; } ion-menu { position: absolute; top: 0; right: auto; bottom: 0; left: 0; width: 304px; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; background: #fff; -webkit-transform: translate3d(-9999px, 0px, 0px); transform: translate3d(-9999px, 0px, 0px); } ion-menu[side=right] { right: 0; left: auto; } ion-menu backdrop { z-index: -1; display: none; } .menu-content { -webkit-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px); } .menu-content-open ion-pane, .menu-content-open ion-content, .menu-content-open .toolbar { pointer-events: none; } @media (max-width: 340px) { ion-menu { width: 264px; } } ion-menu[type=reveal].show-menu { -webkit-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px); } .menu-content-reveal { box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); } .menu-content-push { box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); } ion-menu[type=overlay] { z-index: 80; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); left: -8px; } ion-menu[type=overlay] backdrop { display: block; -webkit-transform: translate3d(-9999px, 0px, 0px); transform: translate3d(-9999px, 0px, 0px); opacity: 0.01; left: -3000px; width: 6000px; } ion-menu[type=overlay] backdrop.show-backdrop { -webkit-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px); } ion-menu[type=overlay][side=right] { left: 8px; } ion-menu[type=push][side=right] { left: 0px; } ion-page.modal { background-color: #fff; z-index: 1000; -webkit-transform: translate3d(0px, 100%, 0px); transform: translate3d(0px, 100%, 0px); } ion-navbar.toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .back-button { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; display: none; } .back-button.show-back-button { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .back-button-text { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-popup { position: absolute; z-index: 1000; top: 0; left: 0; bottom: 0; right: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-popup popup-wrapper { z-index: 10; min-width: 250px; max-width: 100%; max-height: 90%; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; opacity: 0; } ion-popup input, ion-popup textarea { width: 100%; } .popup-title { margin: 0; padding: 0; } .popup-sub-title { margin: 5px 0 0 0; padding: 0; font-weight: normal; } .popup-body { overflow: auto; } .popup-body:empty { padding: 0; } .prompt-input { border: 0; background: inherit; padding: 10px 0; } .prompt-input::-moz-placeholder { color: #999; } .prompt-input:-ms-input-placeholder { color: #999; } .prompt-input::-webkit-input-placeholder { color: #999; text-indent: 0; } .popup-buttons { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .popup-buttons button { display: block; margin: 0; line-height: 20px; font-size: 14px; margin-right: 8px; } ion-swipe-slides { display: block; width: 100%; height: 100%; } /** * Swiper 3.1.2 * Most modern mobile touch slider and framework with hardware accelerated transitions * * http://www.idangero.us/swiper/ * * Copyright 2015, Vladimir Kharlampidi * The iDangero.us * http://www.idangero.us/ * * Licensed under MIT * * Released on: August 22, 2015 */ .swiper-container { margin: 0 auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { -webkit-box-orient: vertical; -ms-flex-direction: column; -webkit-flex-direction: column; flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-transition-property: -webkit-transform; transition-property: transform; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { -webkit-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { -webkit-flex-shrink: 0; -ms-flex: 0 0 auto; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { -ms-touch-action: pan-y; touch-action: pan-y; } .swiper-wp8-vertical { -ms-touch-action: pan-x; touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background-position: center; background-repeat: no-repeat; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: 0.35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; -webkit-transition: 300ms; transition: 300ms; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } .swiper-pagination-bullet { width: 8px; height: 8px; display: inline-block; border-radius: 100%; background: #000; opacity: 0.2; } button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; box-shadow: none; -moz-appearance: none; -ms-appearance: none; -webkit-appearance: none; appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination { right: 10px; top: 50%; -webkit-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination { bottom: 20px; left: 0; width: 100%; } .swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet { margin: 0 5px; } /* 3D Container */ .swiper-container-3d { -webkit-perspective: 1200px; -o-perspective: 1200px; perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { -webkit-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-right { background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-top { background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } /* Cube */ .swiper-container-cube { overflow: visible; } .swiper-container-cube .swiper-slide { pointer-events: none; visibility: hidden; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; width: 100%; height: 100%; z-index: 1; } .swiper-container-cube.swiper-container-rtl .swiper-slide { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right { z-index: 0; -webkit-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: 0.6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; -webkit-transform-origin: 50%; transform-origin: 50%; -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); background-position: 50%; background-size: 100%; background-repeat: no-repeat; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @-webkit-keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); } } @keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } ion-slides { width: 100%; height: 100%; display: block; } .slide-zoom { display: block; width: 100%; text-align: center; } .swiper-container { width: 100%; height: 100%; padding: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; } .swiper-wrapper { width: 100%; height: 100%; padding: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .swiper-container { width: 100%; height: 100%; } .swiper-slide { width: 100%; height: 100%; box-sizing: border-box; text-align: center; font-size: 18px; /* Center slide text vertically */ display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .swiper-slide img { width: auto; height: auto; max-width: 100%; max-height: 100%; } ion-radio { display: block; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } ion-radio[aria-disabled=true] { opacity: 0.5; color: #666; pointer-events: none; } ion-scroll { position: relative; display: block; } ion-scroll.scroll-x scroll-content { overflow-x: auto; } ion-scroll.scroll-y scroll-content { overflow-y: auto; } ion-scroll[center] scroll-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } ion-scroll scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow-y: hidden; overflow-x: hidden; -webkit-overflow-scrolling: touch; will-change: scroll-position; } ion-refresher { position: absolute; top: -60px; right: 0; left: 0; overflow: hidden; margin: auto; height: 60px; } ion-refresher .refresher-content { position: absolute; bottom: 15px; left: 0; width: 100%; color: #000; text-align: center; font-size: 30px; } ion-refresher .refresher-content .text-refreshing, ion-refresher .refresher-content .text-pulling { font-size: 16px; line-height: 16px; } ion-refresher .refresher-content.refresher-with-text { bottom: 10px; } ion-refresher .icon-refreshing, ion-refresher .icon-pulling { width: 100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } ion-refresher .icon-pulling { -webkit-animation-name: refresh-spin-back; animation-name: refresh-spin-back; -webkit-animation-duration: 200ms; animation-duration: 200ms; -webkit-animation-timing-function: linear; animation-timing-function: linear; -webkit-animation-fill-mode: none; animation-fill-mode: none; -webkit-transform: translate3d(0, 0, 0) rotate(0deg); transform: translate3d(0, 0, 0) rotate(0deg); } ion-refresher .icon-refreshing, ion-refresher .text-refreshing { display: none; } ion-refresher .icon-refreshing { -webkit-animation-duration: 1.5s; animation-duration: 1.5s; } ion-refresher.active .icon-pulling:not(.pulling-rotation-disabled) { -webkit-animation-name: refresh-spin; animation-name: refresh-spin; -webkit-transform: translate3d(0, 0, 0) rotate(-180deg); transform: translate3d(0, 0, 0) rotate(-180deg); } ion-refresher.active.refreshing { -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; transition: transform .2s; -webkit-transform: scale(1, 1); transform: scale(1, 1); } ion-refresher.active.refreshing .icon-pulling, ion-refresher.active.refreshing .text-pulling { display: none; } ion-refresher.active.refreshing .icon-refreshing, ion-refresher.active.refreshing .text-refreshing { display: block; } ion-refresher.active.refreshing.refreshing-tail { -webkit-transform: scale(0, 0); transform: scale(0, 0); } scroll-content.overscroll { overflow: visible; } /* -webkit-overflow-scrolling:touch; width:100%; } */ @-webkit-keyframes refresh-spin { 0% { -webkit-transform: translate3d(0, 0, 0) rotate(0); } 100% { -webkit-transform: translate3d(0, 0, 0) rotate(180deg); } } @keyframes refresh-spin { 0% { -webkit-transform: translate3d(0, 0, 0) rotate(0); transform: translate3d(0, 0, 0) rotate(0); } 100% { -webkit-transform: translate3d(0, 0, 0) rotate(180deg); transform: translate3d(0, 0, 0) rotate(180deg); } } @-webkit-keyframes refresh-spin-back { 0% { -webkit-transform: translate3d(0, 0, 0) rotate(180deg); } 100% { -webkit-transform: translate3d(0, 0, 0) rotate(0); } } @keyframes refresh-spin-back { 0% { -webkit-transform: translate3d(0, 0, 0) rotate(180deg); transform: translate3d(0, 0, 0) rotate(180deg); } 100% { -webkit-transform: translate3d(0, 0, 0) rotate(0); transform: translate3d(0, 0, 0) rotate(0); } } ion-scroll { position: relative; display: block; } ion-scroll.scroll-x scroll-content { overflow-x: auto; } ion-scroll.scroll-y scroll-content { overflow-y: auto; } ion-scroll[center] scroll-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } ion-scroll scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow-y: hidden; overflow-x: hidden; -webkit-overflow-scrolling: touch; will-change: scroll-position; } ion-searchbar { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; width: 100%; } .searchbar-icon { pointer-events: none; } .searchbar-input-container { position: relative; display: block; -webkit-flex-shrink: 1; -ms-flex-negative: 1; flex-shrink: 1; width: 100%; } input[type="search"].searchbar-input { display: block; width: 100%; height: 100%; border: none; font-family: inherit; line-height: 3rem; -webkit-appearance: none; -moz-appearance: none; } .searchbar-close-icon { min-height: 0; padding: 0; margin: 0; } ion-segment { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } ion-segment button, ion-segment [button] { margin-left: 0; margin-right: 0; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; display: block; overflow: hidden; padding: 0 16px; width: 0; border-width: 1px 0px 1px 1px; border-radius: 0; text-align: center; text-overflow: ellipsis; white-space: nowrap; background: none; } ion-switch { display: block; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } ion-switch media-switch { margin: 0; cursor: pointer; } ion-switch[aria-disabled=true] { opacity: 0.5; color: #666; pointer-events: none; } ion-tabs { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; overflow: hidden; width: 100%; height: 100%; max-width: 100%; max-height: 100%; margin: 0; padding: 0; } ion-tab { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; overflow: hidden; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; display: none; } ion-tab.show-tab { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } ion-tabs > ion-navbar-section { -webkit-box-ordinal-group: -29; -webkit-order: -30; -ms-flex-order: -30; order: -30; } ion-tabbar-section { position: relative; -webkit-box-ordinal-group: 21; -webkit-order: 20; -ms-flex-order: 20; order: 20; } [tabbar-placement=top] ion-tabbar-section { -webkit-box-ordinal-group: -19; -webkit-order: -20; -ms-flex-order: -20; order: -20; } tabbar { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; overflow: hidden; background: #f8f8f8; } .tab-button { position: relative; z-index: 0; overflow: hidden; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0; padding: 10px; min-width: 80px; max-width: 240px; text-align: center; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; color: #8c8c8c; border: 0; border-radius: 0; background: none; } .tab-button:hover:not(.disable-hover), .tab-button[aria-selected=true] { color: #387ef5; } .tab-button-text { margin-top: 3px; margin-bottom: 2px; } .tab-button-text, .tab-button-icon { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; min-width: 26px; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: none; } .has-icon .tab-button-icon, .has-title .tab-button-text { display: block; } .has-title-only .tab-button-text { white-space: normal; } tab-highlight { display: none; } [tabbar-icons=bottom] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; } [tabbar-icons=left] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } [tabbar-icons=left] .tab-button .tab-button-icon { text-align: right; padding-right: 8px; } [tabbar-icons=right] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } [tabbar-icons=right] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; text-align: left; padding-left: 8px; } [tabbar-icons=hide] .tab-button-icon { display: none; } tabbar[primary] { background-color: #387ef5; } tabbar[primary] .tab-button { color: white; } tabbar[primary] .tab-button:hover:not(.disable-hover), tabbar[primary] .tab-button[aria-selected=true] { color: white; } tabbar[secondary] { background-color: #32db64; } tabbar[secondary] .tab-button { color: white; } tabbar[secondary] .tab-button:hover:not(.disable-hover), tabbar[secondary] .tab-button[aria-selected=true] { color: white; } tabbar[danger] { background-color: #f53d3d; } tabbar[danger] .tab-button { color: white; } tabbar[danger] .tab-button:hover:not(.disable-hover), tabbar[danger] .tab-button[aria-selected=true] { color: white; } tabbar[light] { background-color: #f4f4f4; } tabbar[light] .tab-button { color: black; } tabbar[light] .tab-button:hover:not(.disable-hover), tabbar[light] .tab-button[aria-selected=true] { color: black; } tabbar[dark] { background-color: #222; } tabbar[dark] .tab-button { color: white; } tabbar[dark] .tab-button:hover:not(.disable-hover), tabbar[dark] .tab-button[aria-selected=true] { color: white; } @font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.ttf?v=3.0.0") format("truetype"), url("../fonts/ionicons.woff?v=3.0.0") format("woff"); font-weight: normal; font-style: normal; } icon, [icon], .icon { display: inline-block; font-family: "Ionicons"; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; speak: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /*! Ionicons, v3.0.0 Created by Ben Sperry for the Ionic Framework, https://ionicons.com/ https://twitter.com/benjsperry https://twitter.com/ionicframework MIT License: https://github.com/ionic-team/ionicons Android-style icons originally built by Google’s Material Design Icons: https://github.com/google/material-design-icons used under CC BY http://creativecommons.org/licenses/by/4.0/ Modified icons to fit ionicon’s grid from original. */ .ion-ios-add:before { content: "\f102"; } .ion-ios-add-circle:before { content: "\f101"; } .ion-ios-add-circle-outline:before { content: "\f100"; } .ion-ios-alarm:before { content: "\f3c8"; } .ion-ios-alarm-outline:before { content: "\f3c7"; } .ion-ios-albums:before { content: "\f3ca"; } .ion-ios-albums-outline:before { content: "\f3c9"; } .ion-ios-alert:before { content: "\f104"; } .ion-ios-alert-outline:before { content: "\f103"; } .ion-ios-american-football:before { content: "\f106"; } .ion-ios-american-football-outline:before { content: "\f105"; } .ion-ios-analytics:before { content: "\f3ce"; } .ion-ios-analytics-outline:before { content: "\f3cd"; } .ion-ios-aperture:before { content: "\f108"; } .ion-ios-aperture-outline:before { content: "\f107"; } .ion-ios-apps:before { content: "\f10a"; } .ion-ios-apps-outline:before { content: "\f109"; } .ion-ios-appstore:before { content: "\f10c"; } .ion-ios-appstore-outline:before { content: "\f10b"; } .ion-ios-archive:before { content: "\f10e"; } .ion-ios-archive-outline:before { content: "\f10d"; } .ion-ios-arrow-back:before { content: "\f3cf"; } .ion-ios-arrow-down:before { content: "\f3d0"; } .ion-ios-arrow-dropdown:before { content: "\f110"; } .ion-ios-arrow-dropdown-circle:before { content: "\f10f"; } .ion-ios-arrow-dropleft:before { content: "\f112"; } .ion-ios-arrow-dropleft-circle:before { content: "\f111"; } .ion-ios-arrow-dropright:before { content: "\f114"; } .ion-ios-arrow-dropright-circle:before { content: "\f113"; } .ion-ios-arrow-dropup:before { content: "\f116"; } .ion-ios-arrow-dropup-circle:before { content: "\f115"; } .ion-ios-arrow-forward:before { content: "\f3d1"; } .ion-ios-arrow-round-back:before { content: "\f117"; } .ion-ios-arrow-round-down:before { content: "\f118"; } .ion-ios-arrow-round-forward:before { content: "\f119"; } .ion-ios-arrow-round-up:before { content: "\f11a"; } .ion-ios-arrow-up:before { content: "\f3d8"; } .ion-ios-at:before { content: "\f3da"; } .ion-ios-at-outline:before { content: "\f3d9"; } .ion-ios-attach:before { content: "\f11b"; } .ion-ios-backspace:before { content: "\f11d"; } .ion-ios-backspace-outline:before { content: "\f11c"; } .ion-ios-barcode:before { content: "\f3dc"; } .ion-ios-barcode-outline:before { content: "\f3db"; } .ion-ios-baseball:before { content: "\f3de"; } .ion-ios-baseball-outline:before { content: "\f3dd"; } .ion-ios-basket:before { content: "\f11f"; } .ion-ios-basket-outline:before { content: "\f11e"; } .ion-ios-basketball:before { content: "\f3e0"; } .ion-ios-basketball-outline:before { content: "\f3df"; } .ion-ios-battery-charging:before { content: "\f120"; } .ion-ios-battery-dead:before { content: "\f121"; } .ion-ios-battery-full:before { content: "\f122"; } .ion-ios-beaker:before { content: "\f124"; } .ion-ios-beaker-outline:before { content: "\f123"; } .ion-ios-beer:before { content: "\f126"; } .ion-ios-beer-outline:before { content: "\f125"; } .ion-ios-bicycle:before { content: "\f127"; } .ion-ios-bluetooth:before { content: "\f128"; } .ion-ios-boat:before { content: "\f12a"; } .ion-ios-boat-outline:before { content: "\f129"; } .ion-ios-body:before { content: "\f3e4"; } .ion-ios-body-outline:before { content: "\f3e3"; } .ion-ios-bonfire:before { content: "\f12c"; } .ion-ios-bonfire-outline:before { content: "\f12b"; } .ion-ios-book:before { content: "\f3e8"; } .ion-ios-book-outline:before { content: "\f3e7"; } .ion-ios-bookmark:before { content: "\f12e"; } .ion-ios-bookmark-outline:before { content: "\f12d"; } .ion-ios-bookmarks:before { content: "\f3ea"; } .ion-ios-bookmarks-outline:before { content: "\f3e9"; } .ion-ios-bowtie:before { content: "\f130"; } .ion-ios-bowtie-outline:before { content: "\f12f"; } .ion-ios-briefcase:before { content: "\f3ee"; } .ion-ios-briefcase-outline:before { content: "\f3ed"; } .ion-ios-browsers:before { content: "\f3f0"; } .ion-ios-browsers-outline:before { content: "\f3ef"; } .ion-ios-brush:before { content: "\f132"; } .ion-ios-brush-outline:before { content: "\f131"; } .ion-ios-bug:before { content: "\f134"; } .ion-ios-bug-outline:before { content: "\f133"; } .ion-ios-build:before { content: "\f136"; } .ion-ios-build-outline:before { content: "\f135"; } .ion-ios-bulb:before { content: "\f138"; } .ion-ios-bulb-outline:before { content: "\f137"; } .ion-ios-bus:before { content: "\f13a"; } .ion-ios-bus-outline:before { content: "\f139"; } .ion-ios-cafe:before { content: "\f13c"; } .ion-ios-cafe-outline:before { content: "\f13b"; } .ion-ios-calculator:before { content: "\f3f2"; } .ion-ios-calculator-outline:before { content: "\f3f1"; } .ion-ios-calendar:before { content: "\f3f4"; } .ion-ios-calendar-outline:before { content: "\f3f3"; } .ion-ios-call:before { content: "\f13e"; } .ion-ios-call-outline:before { content: "\f13d"; } .ion-ios-camera:before { content: "\f3f6"; } .ion-ios-camera-outline:before { content: "\f3f5"; } .ion-ios-car:before { content: "\f140"; } .ion-ios-car-outline:before { content: "\f13f"; } .ion-ios-card:before { content: "\f142"; } .ion-ios-card-outline:before { content: "\f141"; } .ion-ios-cart:before { content: "\f3f8"; } .ion-ios-cart-outline:before { content: "\f3f7"; } .ion-ios-cash:before { content: "\f144"; } .ion-ios-cash-outline:before { content: "\f143"; } .ion-ios-chatboxes:before { content: "\f3fa"; } .ion-ios-chatboxes-outline:before { content: "\f3f9"; } .ion-ios-chatbubbles:before { content: "\f146"; } .ion-ios-chatbubbles-outline:before { content: "\f145"; } .ion-ios-checkbox:before { content: "\f148"; } .ion-ios-checkbox-outline:before { content: "\f147"; } .ion-ios-checkmark:before { content: "\f3ff"; } .ion-ios-checkmark-circle:before { content: "\f14a"; } .ion-ios-checkmark-circle-outline:before { content: "\f149"; } .ion-ios-clipboard:before { content: "\f14c"; } .ion-ios-clipboard-outline:before { content: "\f14b"; } .ion-ios-clock:before { content: "\f403"; } .ion-ios-clock-outline:before { content: "\f402"; } .ion-ios-close:before { content: "\f406"; } .ion-ios-close-circle:before { content: "\f14e"; } .ion-ios-close-circle-outline:before { content: "\f14d"; } .ion-ios-closed-captioning:before { content: "\f150"; } .ion-ios-closed-captioning-outline:before { content: "\f14f"; } .ion-ios-cloud:before { content: "\f40c"; } .ion-ios-cloud-circle:before { content: "\f152"; } .ion-ios-cloud-circle-outline:before { content: "\f151"; } .ion-ios-cloud-done:before { content: "\f154"; } .ion-ios-cloud-done-outline:before { content: "\f153"; } .ion-ios-cloud-download:before { content: "\f408"; } .ion-ios-cloud-download-outline:before { content: "\f407"; } .ion-ios-cloud-outline:before { content: "\f409"; } .ion-ios-cloud-upload:before { content: "\f40b"; } .ion-ios-cloud-upload-outline:before { content: "\f40a"; } .ion-ios-cloudy:before { content: "\f410"; } .ion-ios-cloudy-night:before { content: "\f40e"; } .ion-ios-cloudy-night-outline:before { content: "\f40d"; } .ion-ios-cloudy-outline:before { content: "\f40f"; } .ion-ios-code:before { content: "\f157"; } .ion-ios-code-download:before { content: "\f155"; } .ion-ios-code-working:before { content: "\f156"; } .ion-ios-cog:before { content: "\f412"; } .ion-ios-cog-outline:before { content: "\f411"; } .ion-ios-color-fill:before { content: "\f159"; } .ion-ios-color-fill-outline:before { content: "\f158"; } .ion-ios-color-filter:before { content: "\f414"; } .ion-ios-color-filter-outline:before { content: "\f413"; } .ion-ios-color-palette:before { content: "\f15b"; } .ion-ios-color-palette-outline:before { content: "\f15a"; } .ion-ios-color-wand:before { content: "\f416"; } .ion-ios-color-wand-outline:before { content: "\f415"; } .ion-ios-compass:before { content: "\f15d"; } .ion-ios-compass-outline:before { content: "\f15c"; } .ion-ios-construct:before { content: "\f15f"; } .ion-ios-construct-outline:before { content: "\f15e"; } .ion-ios-contact:before { content: "\f41a"; } .ion-ios-contact-outline:before { content: "\f419"; } .ion-ios-contacts:before { content: "\f161"; } .ion-ios-contacts-outline:before { content: "\f160"; } .ion-ios-contract:before { content: "\f162"; } .ion-ios-contrast:before { content: "\f163"; } .ion-ios-copy:before { content: "\f41c"; } .ion-ios-copy-outline:before { content: "\f41b"; } .ion-ios-create:before { content: "\f165"; } .ion-ios-create-outline:before { content: "\f164"; } .ion-ios-crop:before { content: "\f41e"; } .ion-ios-crop-outline:before { content: "\f166"; } .ion-ios-cube:before { content: "\f168"; } .ion-ios-cube-outline:before { content: "\f167"; } .ion-ios-cut:before { content: "\f16a"; } .ion-ios-cut-outline:before { content: "\f169"; } .ion-ios-desktop:before { content: "\f16c"; } .ion-ios-desktop-outline:before { content: "\f16b"; } .ion-ios-disc:before { content: "\f16e"; } .ion-ios-disc-outline:before { content: "\f16d"; } .ion-ios-document:before { content: "\f170"; } .ion-ios-document-outline:before { content: "\f16f"; } .ion-ios-done-all:before { content: "\f171"; } .ion-ios-download:before { content: "\f420"; } .ion-ios-download-outline:before { content: "\f41f"; } .ion-ios-easel:before { content: "\f173"; } .ion-ios-easel-outline:before { content: "\f172"; } .ion-ios-egg:before { content: "\f175"; } .ion-ios-egg-outline:before { content: "\f174"; } .ion-ios-exit:before { content: "\f177"; } .ion-ios-exit-outline:before { content: "\f176"; } .ion-ios-expand:before { content: "\f178"; } .ion-ios-eye:before { content: "\f425"; } .ion-ios-eye-off:before { content: "\f17a"; } .ion-ios-eye-off-outline:before { content: "\f179"; } .ion-ios-eye-outline:before { content: "\f424"; } .ion-ios-fastforward:before { content: "\f427"; } .ion-ios-fastforward-outline:before { content: "\f426"; } .ion-ios-female:before { content: "\f17b"; } .ion-ios-filing:before { content: "\f429"; } .ion-ios-filing-outline:before { content: "\f428"; } .ion-ios-film:before { content: "\f42b"; } .ion-ios-film-outline:before { content: "\f42a"; } .ion-ios-finger-print:before { content: "\f17c"; } .ion-ios-flag:before { content: "\f42d"; } .ion-ios-flag-outline:before { content: "\f42c"; } .ion-ios-flame:before { content: "\f42f"; } .ion-ios-flame-outline:before { content: "\f42e"; } .ion-ios-flash:before { content: "\f17e"; } .ion-ios-flash-outline:before { content: "\f17d"; } .ion-ios-flask:before { content: "\f431"; } .ion-ios-flask-outline:before { content: "\f430"; } .ion-ios-flower:before { content: "\f433"; } .ion-ios-flower-outline:before { content: "\f432"; } .ion-ios-folder:before { content: "\f435"; } .ion-ios-folder-open:before { content: "\f180"; } .ion-ios-folder-open-outline:before { content: "\f17f"; } .ion-ios-folder-outline:before { content: "\f434"; } .ion-ios-football:before { content: "\f437"; } .ion-ios-football-outline:before { content: "\f436"; } .ion-ios-funnel:before { content: "\f182"; } .ion-ios-funnel-outline:before { content: "\f181"; } .ion-ios-game-controller-a:before { content: "\f439"; } .ion-ios-game-controller-a-outline:before { content: "\f438"; } .ion-ios-game-controller-b:before { content: "\f43b"; } .ion-ios-game-controller-b-outline:before { content: "\f43a"; } .ion-ios-git-branch:before { content: "\f183"; } .ion-ios-git-commit:before { content: "\f184"; } .ion-ios-git-compare:before { content: "\f185"; } .ion-ios-git-merge:before { content: "\f186"; } .ion-ios-git-network:before { content: "\f187"; } .ion-ios-git-pull-request:before { content: "\f188"; } .ion-ios-glasses:before { content: "\f43f"; } .ion-ios-glasses-outline:before { content: "\f43e"; } .ion-ios-globe:before { content: "\f18a"; } .ion-ios-globe-outline:before { content: "\f189"; } .ion-ios-grid:before { content: "\f18c"; } .ion-ios-grid-outline:before { content: "\f18b"; } .ion-ios-hammer:before { content: "\f18e"; } .ion-ios-hammer-outline:before { content: "\f18d"; } .ion-ios-hand:before { content: "\f190"; } .ion-ios-hand-outline:before { content: "\f18f"; } .ion-ios-happy:before { content: "\f192"; } .ion-ios-happy-outline:before { content: "\f191"; } .ion-ios-headset:before { content: "\f194"; } .ion-ios-headset-outline:before { content: "\f193"; } .ion-ios-heart:before { content: "\f443"; } .ion-ios-heart-outline:before { content: "\f442"; } .ion-ios-help:before { content: "\f446"; } .ion-ios-help-buoy:before { content: "\f196"; } .ion-ios-help-buoy-outline:before { content: "\f195"; } .ion-ios-help-circle:before { content: "\f198"; } .ion-ios-help-circle-outline:before { content: "\f197"; } .ion-ios-home:before { content: "\f448"; } .ion-ios-home-outline:before { content: "\f447"; } .ion-ios-ice-cream:before { content: "\f19a"; } .ion-ios-ice-cream-outline:before { content: "\f199"; } .ion-ios-image:before { content: "\f19c"; } .ion-ios-image-outline:before { content: "\f19b"; } .ion-ios-images:before { content: "\f19e"; } .ion-ios-images-outline:before { content: "\f19d"; } .ion-ios-infinite:before { content: "\f44a"; } .ion-ios-infinite-outline:before { content: "\f449"; } .ion-ios-information:before { content: "\f44d"; } .ion-ios-information-circle:before { content: "\f1a0"; } .ion-ios-information-circle-outline:before { content: "\f19f"; } .ion-ios-ionic:before { content: "\f1a1"; } .ion-ios-ionic-outline:before { content: "\f44e"; } .ion-ios-ionitron:before { content: "\f1a3"; } .ion-ios-ionitron-outline:before { content: "\f1a2"; } .ion-ios-jet:before { content: "\f1a5"; } .ion-ios-jet-outline:before { content: "\f1a4"; } .ion-ios-key:before { content: "\f1a7"; } .ion-ios-key-outline:before { content: "\f1a6"; } .ion-ios-keypad:before { content: "\f450"; } .ion-ios-keypad-outline:before { content: "\f44f"; } .ion-ios-laptop:before { content: "\f1a8"; } .ion-ios-leaf:before { content: "\f1aa"; } .ion-ios-leaf-outline:before { content: "\f1a9"; } .ion-ios-list:before { content: "\f454"; } .ion-ios-list-box:before { content: "\f1ac"; } .ion-ios-list-box-outline:before { content: "\f1ab"; } .ion-ios-locate:before { content: "\f1ae"; } .ion-ios-locate-outline:before { content: "\f1ad"; } .ion-ios-lock:before { content: "\f1b0"; } .ion-ios-lock-outline:before { content: "\f1af"; } .ion-ios-log-in:before { content: "\f1b1"; } .ion-ios-log-out:before { content: "\f1b2"; } .ion-ios-magnet:before { content: "\f1b4"; } .ion-ios-magnet-outline:before { content: "\f1b3"; } .ion-ios-mail:before { content: "\f1b8"; } .ion-ios-mail-open:before { content: "\f1b6"; } .ion-ios-mail-open-outline:before { content: "\f1b5"; } .ion-ios-mail-outline:before { content: "\f1b7"; } .ion-ios-male:before { content: "\f1b9"; } .ion-ios-man:before { content: "\f1bb"; } .ion-ios-man-outline:before { content: "\f1ba"; } .ion-ios-map:before { content: "\f1bd"; } .ion-ios-map-outline:before { content: "\f1bc"; } .ion-ios-medal:before { content: "\f1bf"; } .ion-ios-medal-outline:before { content: "\f1be"; } .ion-ios-medical:before { content: "\f45c"; } .ion-ios-medical-outline:before { content: "\f45b"; } .ion-ios-medkit:before { content: "\f45e"; } .ion-ios-medkit-outline:before { content: "\f45d"; } .ion-ios-megaphone:before { content: "\f1c1"; } .ion-ios-megaphone-outline:before { content: "\f1c0"; } .ion-ios-menu:before { content: "\f1c3"; } .ion-ios-menu-outline:before { content: "\f1c2"; } .ion-ios-mic:before { content: "\f461"; } .ion-ios-mic-off:before { content: "\f45f"; } .ion-ios-mic-off-outline:before { content: "\f1c4"; } .ion-ios-mic-outline:before { content: "\f460"; } .ion-ios-microphone:before { content: "\f1c6"; } .ion-ios-microphone-outline:before { content: "\f1c5"; } .ion-ios-moon:before { content: "\f468"; } .ion-ios-moon-outline:before { content: "\f467"; } .ion-ios-more:before { content: "\f1c8"; } .ion-ios-more-outline:before { content: "\f1c7"; } .ion-ios-move:before { content: "\f1cb"; } .ion-ios-musical-note:before { content: "\f46b"; } .ion-ios-musical-note-outline:before { content: "\f1cc"; } .ion-ios-musical-notes:before { content: "\f46c"; } .ion-ios-musical-notes-outline:before { content: "\f1cd"; } .ion-ios-navigate:before { content: "\f46e"; } .ion-ios-navigate-outline:before { content: "\f46d"; } .ion-ios-no-smoking:before { content: "\f1cf"; } .ion-ios-no-smoking-outline:before { content: "\f1ce"; } .ion-ios-notifications:before { content: "\f1d3"; } .ion-ios-notifications-off:before { content: "\f1d1"; } .ion-ios-notifications-off-outline:before { content: "\f1d0"; } .ion-ios-notifications-outline:before { content: "\f1d2"; } .ion-ios-nuclear:before { content: "\f1d5"; } .ion-ios-nuclear-outline:before { content: "\f1d4"; } .ion-ios-nutrition:before { content: "\f470"; } .ion-ios-nutrition-outline:before { content: "\f46f"; } .ion-ios-open:before { content: "\f1d7"; } .ion-ios-open-outline:before { content: "\f1d6"; } .ion-ios-options:before { content: "\f1d9"; } .ion-ios-options-outline:before { content: "\f1d8"; } .ion-ios-outlet:before { content: "\f1db"; } .ion-ios-outlet-outline:before { content: "\f1da"; } .ion-ios-paper:before { content: "\f472"; } .ion-ios-paper-outline:before { content: "\f471"; } .ion-ios-paper-plane:before { content: "\f1dd"; } .ion-ios-paper-plane-outline:before { content: "\f1dc"; } .ion-ios-partly-sunny:before { content: "\f1df"; } .ion-ios-partly-sunny-outline:before { content: "\f1de"; } .ion-ios-pause:before { content: "\f478"; } .ion-ios-pause-outline:before { content: "\f477"; } .ion-ios-paw:before { content: "\f47a"; } .ion-ios-paw-outline:before { content: "\f479"; } .ion-ios-people:before { content: "\f47c"; } .ion-ios-people-outline:before { content: "\f47b"; } .ion-ios-person:before { content: "\f47e"; } .ion-ios-person-add:before { content: "\f1e1"; } .ion-ios-person-add-outline:before { content: "\f1e0"; } .ion-ios-person-outline:before { content: "\f47d"; } .ion-ios-phone-landscape:before { content: "\f1e2"; } .ion-ios-phone-portrait:before { content: "\f1e3"; } .ion-ios-photos:before { content: "\f482"; } .ion-ios-photos-outline:before { content: "\f481"; } .ion-ios-pie:before { content: "\f484"; } .ion-ios-pie-outline:before { content: "\f483"; } .ion-ios-pin:before { content: "\f1e5"; } .ion-ios-pin-outline:before { content: "\f1e4"; } .ion-ios-pint:before { content: "\f486"; } .ion-ios-pint-outline:before { content: "\f485"; } .ion-ios-pizza:before { content: "\f1e7"; } .ion-ios-pizza-outline:before { content: "\f1e6"; } .ion-ios-plane:before { content: "\f1e9"; } .ion-ios-plane-outline:before { content: "\f1e8"; } .ion-ios-planet:before { content: "\f1eb"; } .ion-ios-planet-outline:before { content: "\f1ea"; } .ion-ios-play:before { content: "\f488"; } .ion-ios-play-outline:before { content: "\f487"; } .ion-ios-podium:before { content: "\f1ed"; } .ion-ios-podium-outline:before { content: "\f1ec"; } .ion-ios-power:before { content: "\f1ef"; } .ion-ios-power-outline:before { content: "\f1ee"; } .ion-ios-pricetag:before { content: "\f48d"; } .ion-ios-pricetag-outline:before { content: "\f48c"; } .ion-ios-pricetags:before { content: "\f48f"; } .ion-ios-pricetags-outline:before { content: "\f48e"; } .ion-ios-print:before { content: "\f1f1"; } .ion-ios-print-outline:before { content: "\f1f0"; } .ion-ios-pulse:before { content: "\f493"; } .ion-ios-pulse-outline:before { content: "\f1f2"; } .ion-ios-qr-scanner:before { content: "\f1f3"; } .ion-ios-quote:before { content: "\f1f5"; } .ion-ios-quote-outline:before { content: "\f1f4"; } .ion-ios-radio:before { content: "\f1f9"; } .ion-ios-radio-button-off:before { content: "\f1f6"; } .ion-ios-radio-button-on:before { content: "\f1f7"; } .ion-ios-radio-outline:before { content: "\f1f8"; } .ion-ios-rainy:before { content: "\f495"; } .ion-ios-rainy-outline:before { content: "\f494"; } .ion-ios-recording:before { content: "\f497"; } .ion-ios-recording-outline:before { content: "\f496"; } .ion-ios-redo:before { content: "\f499"; } .ion-ios-redo-outline:before { content: "\f498"; } .ion-ios-refresh:before { content: "\f49c"; } .ion-ios-refresh-circle:before { content: "\f226"; } .ion-ios-refresh-circle-outline:before { content: "\f224"; } .ion-ios-remove:before { content: "\f1fc"; } .ion-ios-remove-circle:before { content: "\f1fb"; } .ion-ios-remove-circle-outline:before { content: "\f1fa"; } .ion-ios-reorder:before { content: "\f1fd"; } .ion-ios-repeat:before { content: "\f1fe"; } .ion-ios-resize:before { content: "\f1ff"; } .ion-ios-restaurant:before { content: "\f201"; } .ion-ios-restaurant-outline:before { content: "\f200"; } .ion-ios-return-left:before { content: "\f202"; } .ion-ios-return-right:before { content: "\f203"; } .ion-ios-reverse-camera:before { content: "\f49f"; } .ion-ios-reverse-camera-outline:before { content: "\f49e"; } .ion-ios-rewind:before { content: "\f4a1"; } .ion-ios-rewind-outline:before { content: "\f4a0"; } .ion-ios-ribbon:before { content: "\f205"; } .ion-ios-ribbon-outline:before { content: "\f204"; } .ion-ios-rose:before { content: "\f4a3"; } .ion-ios-rose-outline:before { content: "\f4a2"; } .ion-ios-sad:before { content: "\f207"; } .ion-ios-sad-outline:before { content: "\f206"; } .ion-ios-school:before { content: "\f209"; } .ion-ios-school-outline:before { content: "\f208"; } .ion-ios-search:before { content: "\f4a5"; } .ion-ios-search-outline:before { content: "\f20a"; } .ion-ios-send:before { content: "\f20c"; } .ion-ios-send-outline:before { content: "\f20b"; } .ion-ios-settings:before { content: "\f4a7"; } .ion-ios-settings-outline:before { content: "\f20d"; } .ion-ios-share:before { content: "\f211"; } .ion-ios-share-alt:before { content: "\f20f"; } .ion-ios-share-alt-outline:before { content: "\f20e"; } .ion-ios-share-outline:before { content: "\f210"; } .ion-ios-shirt:before { content: "\f213"; } .ion-ios-shirt-outline:before { content: "\f212"; } .ion-ios-shuffle:before { content: "\f4a9"; } .ion-ios-skip-backward:before { content: "\f215"; } .ion-ios-skip-backward-outline:before { content: "\f214"; } .ion-ios-skip-forward:before { content: "\f217"; } .ion-ios-skip-forward-outline:before { content: "\f216"; } .ion-ios-snow:before { content: "\f218"; } .ion-ios-speedometer:before { content: "\f4b0"; } .ion-ios-speedometer-outline:before { content: "\f4af"; } .ion-ios-square:before { content: "\f21a"; } .ion-ios-square-outline:before { content: "\f219"; } .ion-ios-star:before { content: "\f4b3"; } .ion-ios-star-half:before { content: "\f4b1"; } .ion-ios-star-outline:before { content: "\f4b2"; } .ion-ios-stats:before { content: "\f21c"; } .ion-ios-stats-outline:before { content: "\f21b"; } .ion-ios-stopwatch:before { content: "\f4b5"; } .ion-ios-stopwatch-outline:before { content: "\f4b4"; } .ion-ios-subway:before { content: "\f21e"; } .ion-ios-subway-outline:before { content: "\f21d"; } .ion-ios-sunny:before { content: "\f4b7"; } .ion-ios-sunny-outline:before { content: "\f4b6"; } .ion-ios-swap:before { content: "\f21f"; } .ion-ios-switch:before { content: "\f221"; } .ion-ios-switch-outline:before { content: "\f220"; } .ion-ios-sync:before { content: "\f222"; } .ion-ios-tablet-landscape:before { content: "\f223"; } .ion-ios-tablet-portrait:before { content: "\f24e"; } .ion-ios-tennisball:before { content: "\f4bb"; } .ion-ios-tennisball-outline:before { content: "\f4ba"; } .ion-ios-text:before { content: "\f250"; } .ion-ios-text-outline:before { content: "\f24f"; } .ion-ios-thermometer:before { content: "\f252"; } .ion-ios-thermometer-outline:before { content: "\f251"; } .ion-ios-thumbs-down:before { content: "\f254"; } .ion-ios-thumbs-down-outline:before { content: "\f253"; } .ion-ios-thumbs-up:before { content: "\f256"; } .ion-ios-thumbs-up-outline:before { content: "\f255"; } .ion-ios-thunderstorm:before { content: "\f4bd"; } .ion-ios-thunderstorm-outline:before { content: "\f4bc"; } .ion-ios-time:before { content: "\f4bf"; } .ion-ios-time-outline:before { content: "\f4be"; } .ion-ios-timer:before { content: "\f4c1"; } .ion-ios-timer-outline:before { content: "\f4c0"; } .ion-ios-train:before { content: "\f258"; } .ion-ios-train-outline:before { content: "\f257"; } .ion-ios-transgender:before { content: "\f259"; } .ion-ios-trash:before { content: "\f4c5"; } .ion-ios-trash-outline:before { content: "\f4c4"; } .ion-ios-trending-down:before { content: "\f25a"; } .ion-ios-trending-up:before { content: "\f25b"; } .ion-ios-trophy:before { content: "\f25d"; } .ion-ios-trophy-outline:before { content: "\f25c"; } .ion-ios-umbrella:before { content: "\f25f"; } .ion-ios-umbrella-outline:before { content: "\f25e"; } .ion-ios-undo:before { content: "\f4c7"; } .ion-ios-undo-outline:before { content: "\f4c6"; } .ion-ios-unlock:before { content: "\f261"; } .ion-ios-unlock-outline:before { content: "\f260"; } .ion-ios-videocam:before { content: "\f4cd"; } .ion-ios-videocam-outline:before { content: "\f4cc"; } .ion-ios-volume-down:before { content: "\f262"; } .ion-ios-volume-mute:before { content: "\f263"; } .ion-ios-volume-off:before { content: "\f264"; } .ion-ios-volume-up:before { content: "\f265"; } .ion-ios-walk:before { content: "\f266"; } .ion-ios-warning:before { content: "\f268"; } .ion-ios-warning-outline:before { content: "\f267"; } .ion-ios-watch:before { content: "\f269"; } .ion-ios-water:before { content: "\f26b"; } .ion-ios-water-outline:before { content: "\f26a"; } .ion-ios-wifi:before { content: "\f26d"; } .ion-ios-wifi-outline:before { content: "\f26c"; } .ion-ios-wine:before { content: "\f26f"; } .ion-ios-wine-outline:before { content: "\f26e"; } .ion-ios-woman:before { content: "\f271"; } .ion-ios-woman-outline:before { content: "\f270"; } .ion-md-add:before { content: "\f273"; } .ion-md-add-circle:before { content: "\f272"; } .ion-md-alarm:before { content: "\f274"; } .ion-md-albums:before { content: "\f275"; } .ion-md-alert:before { content: "\f276"; } .ion-md-american-football:before { content: "\f277"; } .ion-md-analytics:before { content: "\f278"; } .ion-md-aperture:before { content: "\f279"; } .ion-md-apps:before { content: "\f27a"; } .ion-md-appstore:before { content: "\f27b"; } .ion-md-archive:before { content: "\f27c"; } .ion-md-arrow-back:before { content: "\f27d"; } .ion-md-arrow-down:before { content: "\f27e"; } .ion-md-arrow-dropdown:before { content: "\f280"; } .ion-md-arrow-dropdown-circle:before { content: "\f27f"; } .ion-md-arrow-dropleft:before { content: "\f282"; } .ion-md-arrow-dropleft-circle:before { content: "\f281"; } .ion-md-arrow-dropright:before { content: "\f284"; } .ion-md-arrow-dropright-circle:before { content: "\f283"; } .ion-md-arrow-dropup:before { content: "\f286"; } .ion-md-arrow-dropup-circle:before { content: "\f285"; } .ion-md-arrow-forward:before { content: "\f287"; } .ion-md-arrow-round-back:before { content: "\f288"; } .ion-md-arrow-round-down:before { content: "\f289"; } .ion-md-arrow-round-forward:before { content: "\f28a"; } .ion-md-arrow-round-up:before { content: "\f28b"; } .ion-md-arrow-up:before { content: "\f28c"; } .ion-md-at:before { content: "\f28d"; } .ion-md-attach:before { content: "\f28e"; } .ion-md-backspace:before { content: "\f28f"; } .ion-md-barcode:before { content: "\f290"; } .ion-md-baseball:before { content: "\f291"; } .ion-md-basket:before { content: "\f292"; } .ion-md-basketball:before { content: "\f293"; } .ion-md-battery-charging:before { content: "\f294"; } .ion-md-battery-dead:before { content: "\f295"; } .ion-md-battery-full:before { content: "\f296"; } .ion-md-beaker:before { content: "\f297"; } .ion-md-beer:before { content: "\f298"; } .ion-md-bicycle:before { content: "\f299"; } .ion-md-bluetooth:before { content: "\f29a"; } .ion-md-boat:before { content: "\f29b"; } .ion-md-body:before { content: "\f29c"; } .ion-md-bonfire:before { content: "\f29d"; } .ion-md-book:before { content: "\f29e"; } .ion-md-bookmark:before { content: "\f29f"; } .ion-md-bookmarks:before { content: "\f2a0"; } .ion-md-bowtie:before { content: "\f2a1"; } .ion-md-briefcase:before { content: "\f2a2"; } .ion-md-browsers:before { content: "\f2a3"; } .ion-md-brush:before { content: "\f2a4"; } .ion-md-bug:before { content: "\f2a5"; } .ion-md-build:before { content: "\f2a6"; } .ion-md-bulb:before { content: "\f2a7"; } .ion-md-bus:before { content: "\f2a8"; } .ion-md-cafe:before { content: "\f2a9"; } .ion-md-calculator:before { content: "\f2aa"; } .ion-md-calendar:before { content: "\f2ab"; } .ion-md-call:before { content: "\f2ac"; } .ion-md-camera:before { content: "\f2ad"; } .ion-md-car:before { content: "\f2b2"; } .ion-md-card:before { content: "\f2b3"; } .ion-md-cart:before { content: "\f2b4"; } .ion-md-cash:before { content: "\f2b5"; } .ion-md-chatboxes:before { content: "\f2b6"; } .ion-md-chatbubbles:before { content: "\f2b7"; } .ion-md-checkbox:before { content: "\f2b9"; } .ion-md-checkbox-outline:before { content: "\f2b8"; } .ion-md-checkmark:before { content: "\f2bc"; } .ion-md-checkmark-circle:before { content: "\f2bb"; } .ion-md-checkmark-circle-outline:before { content: "\f2ba"; } .ion-md-clipboard:before { content: "\f2bd"; } .ion-md-clock:before { content: "\f2be"; } .ion-md-close:before { content: "\f2c0"; } .ion-md-close-circle:before { content: "\f2bf"; } .ion-md-closed-captioning:before { content: "\f2c1"; } .ion-md-cloud:before { content: "\f2c9"; } .ion-md-cloud-circle:before { content: "\f2c2"; } .ion-md-cloud-done:before { content: "\f2c3"; } .ion-md-cloud-download:before { content: "\f2c6"; } .ion-md-cloud-outline:before { content: "\f2c7"; } .ion-md-cloud-upload:before { content: "\f2c8"; } .ion-md-cloudy:before { content: "\f2cb"; } .ion-md-cloudy-night:before { content: "\f2ca"; } .ion-md-code:before { content: "\f2ce"; } .ion-md-code-download:before { content: "\f2cc"; } .ion-md-code-working:before { content: "\f2cd"; } .ion-md-cog:before { content: "\f2cf"; } .ion-md-color-fill:before { content: "\f2d0"; } .ion-md-color-filter:before { content: "\f2d1"; } .ion-md-color-palette:before { content: "\f2d2"; } .ion-md-color-wand:before { content: "\f2d3"; } .ion-md-compass:before { content: "\f2d4"; } .ion-md-construct:before { content: "\f2d5"; } .ion-md-contact:before { content: "\f2d6"; } .ion-md-contacts:before { content: "\f2d7"; } .ion-md-contract:before { content: "\f2d8"; } .ion-md-contrast:before { content: "\f2d9"; } .ion-md-copy:before { content: "\f2da"; } .ion-md-create:before { content: "\f2db"; } .ion-md-crop:before { content: "\f2dc"; } .ion-md-cube:before { content: "\f2dd"; } .ion-md-cut:before { content: "\f2de"; } .ion-md-desktop:before { content: "\f2df"; } .ion-md-disc:before { content: "\f2e0"; } .ion-md-document:before { content: "\f2e1"; } .ion-md-done-all:before { content: "\f2e2"; } .ion-md-download:before { content: "\f2e3"; } .ion-md-easel:before { content: "\f2e4"; } .ion-md-egg:before { content: "\f2e5"; } .ion-md-exit:before { content: "\f2e6"; } .ion-md-expand:before { content: "\f2e7"; } .ion-md-eye:before { content: "\f2e9"; } .ion-md-eye-off:before { content: "\f2e8"; } .ion-md-fastforward:before { content: "\f2ea"; } .ion-md-female:before { content: "\f2eb"; } .ion-md-filing:before { content: "\f2ec"; } .ion-md-film:before { content: "\f2ed"; } .ion-md-finger-print:before { content: "\f2ee"; } .ion-md-flag:before { content: "\f2ef"; } .ion-md-flame:before { content: "\f2f0"; } .ion-md-flash:before { content: "\f2f1"; } .ion-md-flask:before { content: "\f2f2"; } .ion-md-flower:before { content: "\f2f3"; } .ion-md-folder:before { content: "\f2f5"; } .ion-md-folder-open:before { content: "\f2f4"; } .ion-md-football:before { content: "\f2f6"; } .ion-md-funnel:before { content: "\f2f7"; } .ion-md-game-controller-a:before { content: "\f2f8"; } .ion-md-game-controller-b:before { content: "\f2f9"; } .ion-md-git-branch:before { content: "\f2fa"; } .ion-md-git-commit:before { content: "\f2fb"; } .ion-md-git-compare:before { content: "\f2fc"; } .ion-md-git-merge:before { content: "\f2fd"; } .ion-md-git-network:before { content: "\f2fe"; } .ion-md-git-pull-request:before { content: "\f2ff"; } .ion-md-glasses:before { content: "\f300"; } .ion-md-globe:before { content: "\f301"; } .ion-md-grid:before { content: "\f302"; } .ion-md-hammer:before { content: "\f303"; } .ion-md-hand:before { content: "\f304"; } .ion-md-happy:before { content: "\f305"; } .ion-md-headset:before { content: "\f306"; } .ion-md-heart:before { content: "\f308"; } .ion-md-heart-outline:before { content: "\f307"; } .ion-md-help:before { content: "\f30b"; } .ion-md-help-buoy:before { content: "\f309"; } .ion-md-help-circle:before { content: "\f30a"; } .ion-md-home:before { content: "\f30c"; } .ion-md-ice-cream:before { content: "\f30d"; } .ion-md-image:before { content: "\f30e"; } .ion-md-images:before { content: "\f30f"; } .ion-md-infinite:before { content: "\f310"; } .ion-md-information:before { content: "\f312"; } .ion-md-information-circle:before { content: "\f311"; } .ion-md-ionic:before { content: "\f313"; } .ion-md-ionitron:before { content: "\f314"; } .ion-md-jet:before { content: "\f315"; } .ion-md-key:before { content: "\f316"; } .ion-md-keypad:before { content: "\f317"; } .ion-md-laptop:before { content: "\f318"; } .ion-md-leaf:before { content: "\f319"; } .ion-md-list:before { content: "\f31b"; } .ion-md-list-box:before { content: "\f31a"; } .ion-md-locate:before { content: "\f31c"; } .ion-md-lock:before { content: "\f31d"; } .ion-md-log-in:before { content: "\f31e"; } .ion-md-log-out:before { content: "\f31f"; } .ion-md-magnet:before { content: "\f320"; } .ion-md-mail:before { content: "\f322"; } .ion-md-mail-open:before { content: "\f321"; } .ion-md-male:before { content: "\f323"; } .ion-md-man:before { content: "\f324"; } .ion-md-map:before { content: "\f325"; } .ion-md-medal:before { content: "\f326"; } .ion-md-medical:before { content: "\f327"; } .ion-md-medkit:before { content: "\f328"; } .ion-md-megaphone:before { content: "\f329"; } .ion-md-menu:before { content: "\f32a"; } .ion-md-mic:before { content: "\f32c"; } .ion-md-mic-off:before { content: "\f32b"; } .ion-md-microphone:before { content: "\f32d"; } .ion-md-moon:before { content: "\f32e"; } .ion-md-more:before { content: "\f1c9"; } .ion-md-move:before { content: "\f331"; } .ion-md-musical-note:before { content: "\f332"; } .ion-md-musical-notes:before { content: "\f333"; } .ion-md-navigate:before { content: "\f334"; } .ion-md-no-smoking:before { content: "\f335"; } .ion-md-notifications:before { content: "\f338"; } .ion-md-notifications-off:before { content: "\f336"; } .ion-md-notifications-outline:before { content: "\f337"; } .ion-md-nuclear:before { content: "\f339"; } .ion-md-nutrition:before { content: "\f33a"; } .ion-md-open:before { content: "\f33b"; } .ion-md-options:before { content: "\f33c"; } .ion-md-outlet:before { content: "\f33d"; } .ion-md-paper:before { content: "\f33f"; } .ion-md-paper-plane:before { content: "\f33e"; } .ion-md-partly-sunny:before { content: "\f340"; } .ion-md-pause:before { content: "\f341"; } .ion-md-paw:before { content: "\f342"; } .ion-md-people:before { content: "\f343"; } .ion-md-person:before { content: "\f345"; } .ion-md-person-add:before { content: "\f344"; } .ion-md-phone-landscape:before { content: "\f346"; } .ion-md-phone-portrait:before { content: "\f347"; } .ion-md-photos:before { content: "\f348"; } .ion-md-pie:before { content: "\f349"; } .ion-md-pin:before { content: "\f34a"; } .ion-md-pint:before { content: "\f34b"; } .ion-md-pizza:before { content: "\f354"; } .ion-md-plane:before { content: "\f355"; } .ion-md-planet:before { content: "\f356"; } .ion-md-play:before { content: "\f357"; } .ion-md-podium:before { content: "\f358"; } .ion-md-power:before { content: "\f359"; } .ion-md-pricetag:before { content: "\f35a"; } .ion-md-pricetags:before { content: "\f35b"; } .ion-md-print:before { content: "\f35c"; } .ion-md-pulse:before { content: "\f35d"; } .ion-md-qr-scanner:before { content: "\f35e"; } .ion-md-quote:before { content: "\f35f"; } .ion-md-radio:before { content: "\f362"; } .ion-md-radio-button-off:before { content: "\f360"; } .ion-md-radio-button-on:before { content: "\f361"; } .ion-md-rainy:before { content: "\f363"; } .ion-md-recording:before { content: "\f364"; } .ion-md-redo:before { content: "\f365"; } .ion-md-refresh:before { content: "\f366"; } .ion-md-refresh-circle:before { content: "\f228"; } .ion-md-remove:before { content: "\f368"; } .ion-md-remove-circle:before { content: "\f367"; } .ion-md-reorder:before { content: "\f369"; } .ion-md-repeat:before { content: "\f36a"; } .ion-md-resize:before { content: "\f36b"; } .ion-md-restaurant:before { content: "\f36c"; } .ion-md-return-left:before { content: "\f36d"; } .ion-md-return-right:before { content: "\f36e"; } .ion-md-reverse-camera:before { content: "\f36f"; } .ion-md-rewind:before { content: "\f370"; } .ion-md-ribbon:before { content: "\f371"; } .ion-md-rose:before { content: "\f372"; } .ion-md-sad:before { content: "\f373"; } .ion-md-school:before { content: "\f374"; } .ion-md-search:before { content: "\f375"; } .ion-md-send:before { content: "\f376"; } .ion-md-settings:before { content: "\f377"; } .ion-md-share:before { content: "\f379"; } .ion-md-share-alt:before { content: "\f378"; } .ion-md-shirt:before { content: "\f37a"; } .ion-md-shuffle:before { content: "\f37b"; } .ion-md-skip-backward:before { content: "\f37c"; } .ion-md-skip-forward:before { content: "\f37d"; } .ion-md-snow:before { content: "\f37e"; } .ion-md-speedometer:before { content: "\f37f"; } .ion-md-square:before { content: "\f381"; } .ion-md-square-outline:before { content: "\f380"; } .ion-md-star:before { content: "\f384"; } .ion-md-star-half:before { content: "\f382"; } .ion-md-star-outline:before { content: "\f383"; } .ion-md-stats:before { content: "\f385"; } .ion-md-stopwatch:before { content: "\f386"; } .ion-md-subway:before { content: "\f387"; } .ion-md-sunny:before { content: "\f388"; } .ion-md-swap:before { content: "\f389"; } .ion-md-switch:before { content: "\f38a"; } .ion-md-sync:before { content: "\f38b"; } .ion-md-tablet-landscape:before { content: "\f38c"; } .ion-md-tablet-portrait:before { content: "\f38d"; } .ion-md-tennisball:before { content: "\f38e"; } .ion-md-text:before { content: "\f38f"; } .ion-md-thermometer:before { content: "\f390"; } .ion-md-thumbs-down:before { content: "\f391"; } .ion-md-thumbs-up:before { content: "\f392"; } .ion-md-thunderstorm:before { content: "\f393"; } .ion-md-time:before { content: "\f394"; } .ion-md-timer:before { content: "\f395"; } .ion-md-train:before { content: "\f396"; } .ion-md-transgender:before { content: "\f397"; } .ion-md-trash:before { content: "\f398"; } .ion-md-trending-down:before { content: "\f399"; } .ion-md-trending-up:before { content: "\f39a"; } .ion-md-trophy:before { content: "\f39b"; } .ion-md-umbrella:before { content: "\f39c"; } .ion-md-undo:before { content: "\f39d"; } .ion-md-unlock:before { content: "\f39e"; } .ion-md-videocam:before { content: "\f39f"; } .ion-md-volume-down:before { content: "\f3a0"; } .ion-md-volume-mute:before { content: "\f3a1"; } .ion-md-volume-off:before { content: "\f3a2"; } .ion-md-volume-up:before { content: "\f3a3"; } .ion-md-walk:before { content: "\f3a4"; } .ion-md-warning:before { content: "\f3a5"; } .ion-md-watch:before { content: "\f3a6"; } .ion-md-water:before { content: "\f3a7"; } .ion-md-wifi:before { content: "\f3a8"; } .ion-md-wine:before { content: "\f3a9"; } .ion-md-woman:before { content: "\f3aa"; } .ion-social-android:before { content: "\f225"; } .ion-social-angular:before { content: "\f4d9"; } .ion-social-apple:before { content: "\f227"; } .ion-social-bitcoin:before { content: "\f2af"; } .ion-social-buffer:before { content: "\f229"; } .ion-social-chrome:before { content: "\f4db"; } .ion-social-codepen:before { content: "\f4dd"; } .ion-social-css3:before { content: "\f4df"; } .ion-social-designernews:before { content: "\f22b"; } .ion-social-dribbble:before { content: "\f22d"; } .ion-social-dropbox:before { content: "\f22f"; } .ion-social-euro:before { content: "\f4e1"; } .ion-social-facebook:before { content: "\f231"; } .ion-social-foursquare:before { content: "\f34d"; } .ion-social-freebsd-devil:before { content: "\f2c4"; } .ion-social-github:before { content: "\f233"; } .ion-social-google:before { content: "\f34f"; } .ion-social-googleplus:before { content: "\f235"; } .ion-social-hackernews:before { content: "\f237"; } .ion-social-html5:before { content: "\f4e3"; } .ion-social-instagram:before { content: "\f351"; } .ion-social-javascript:before { content: "\f4e5"; } .ion-social-linkedin:before { content: "\f239"; } .ion-social-markdown:before { content: "\f4e6"; } .ion-social-nodejs:before { content: "\f4e7"; } .ion-social-octocat:before { content: "\f4e8"; } .ion-social-pinterest:before { content: "\f2b1"; } .ion-social-playstation:before { content: "\f3ab"; } .ion-social-python:before { content: "\f4e9"; } .ion-social-reddit:before { content: "\f23b"; } .ion-social-rss:before { content: "\f23d"; } .ion-social-sass:before { content: "\f4ea"; } .ion-social-skype:before { content: "\f23f"; } .ion-social-snapchat:before { content: "\f4ec"; } .ion-social-steam:before { content: "\f3ac"; } .ion-social-tumblr:before { content: "\f241"; } .ion-social-tux:before { content: "\f2c5"; } .ion-social-twitch:before { content: "\f4ee"; } .ion-social-twitter:before { content: "\f243"; } .ion-social-usd:before { content: "\f353"; } .ion-social-vimeo:before { content: "\f245"; } .ion-social-whatsapp:before { content: "\f4f0"; } .ion-social-windows:before { content: "\f247"; } .ion-social-wordpress:before { content: "\f249"; } .ion-social-xbox:before { content: "\f3ad"; } .ion-social-yahoo:before { content: "\f24b"; } .ion-social-yen:before { content: "\f4f2"; } .ion-social-youtube:before { content: "\f24d"; } .ios { /*! Ionic: iOS */ /****************/ /* DEFAULT LIST */ /****************/ /**************/ /* INSET LIST */ /**************/ /*****************/ /* NO LINES LIST */ /*****************/ } .ios hr { border-width: 0; height: 1px; background-color: rgba(0, 0, 0, 0.12); } .ios.hairlines hr { height: 0.55px; } .ios button[block] { display: block; } .ios ion-item-group .item:first-child .item-inner { border-top-width: 0; } .ios ion-item-group .item:last-child .item-inner, .ios ion-item-group ion-item-sliding:last-child .item .item-inner { border: none; } .ios ion-item-divider { padding: 12px 16px 13px 16px; background-color: #f7f7f7; color: #222; } .ios ion-note { color: #aeacb4; } .ios .item { border-radius: 0; padding-left: 16px; font-size: 1.6rem; } .ios .item.activated, .ios a.item.activated, .ios button.item.activated { background-color: #d9d9d9; -webkit-transition-duration: 0ms; transition-duration: 0ms; } .ios .item, .ios a.item, .ios button.item { -webkit-transition-duration: 200ms; transition-duration: 200ms; } .ios .item-inner { padding-right: 8px; border-bottom: 1px solid #c8c7cc; } .ios ion-item-content { margin: 12px 8px 13px 0; } .ios [item-left] { margin: 6px 16px 6.5px 0; } .ios [item-right] { margin: 6px 8px 6.5px 8px; } .ios icon[item-left], .ios icon[item-right] { margin-top: 10px; margin-bottom: 9px; } .ios ion-avatar[item-left], .ios ion-thumbnail[item-left] { margin: 8px 16px 8px 0; } .ios ion-avatar[item-right], .ios ion-thumbnail[item-right] { margin: 8px; } .ios button[item-left], .ios button[item-right], .ios [button][item-left], .ios [button][item-right] { padding: 0 0.5em; font-size: 1.3rem; min-height: 25px; margin-top: 9px; } .ios [item-left].icon-only, .ios [item-right].icon-only, .ios [item-left].icon-only icon, .ios [item-right].icon-only icon, .ios [item-left][clear], .ios [item-right][clear] { padding: 0 1px; } .ios [item-left].icon-left icon, .ios [item-right].icon-left icon { margin-left: 0; margin-bottom: 1px; padding-right: 0.3em; } .ios [item-left].icon-right icon, .ios [item-right].icon-right icon { margin-right: 0; margin-bottom: 1px; } .ios ion-avatar { min-width: 3.6rem; min-height: 3.6rem; } .ios ion-avatar img { max-width: 3.6rem; max-height: 3.6rem; border-radius: 1.8rem; } .ios ion-thumbnail { min-width: 5.6rem; min-height: 5.6rem; } .ios ion-thumbnail img { max-width: 5.6rem; max-height: 5.6rem; } .ios button.item:not([detail-none]) .item-inner, .ios a.item:not([detail-none]) .item-inner, .ios .item[detail-push] .item-inner { background-image: url("data:image/svg+xml;charset=utf-8,"); background-repeat: no-repeat; background-position: right 14px center; background-size: 14px 14px; padding-right: 32px; } .ios.hairlines .item-inner { border-bottom-width: 0.55px; } .ios .toolbar { min-height: 4.4rem; } .ios .toolbar [menu-toggle] { -webkit-box-ordinal-group: 21; -webkit-order: 20; -ms-flex-order: 20; order: 20; cursor: pointer; } .ios .toolbar [menu-toggle][secondary] { -webkit-box-ordinal-group: 61; -webkit-order: 60; -ms-flex-order: 60; order: 60; } .ios .toolbar ion-segment-button[button] { line-height: 2.4rem; min-height: 2.4rem; font-size: 1.2rem; } .ios .toolbar button, .ios .toolbar [button] { margin-top: 0; margin-bottom: 0; padding: 0 5px; min-height: 32px; } .ios .toolbar button.icon-only, .ios .toolbar [button].icon-only { padding-right: 0; padding-left: 0; } .ios .toolbar button icon, .ios .toolbar [button] icon { padding: 0; min-width: 28px; } .ios .toolbar .back-button { margin: 0; min-height: 3.2rem; line-height: 1; -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; overflow: visible; } .ios .toolbar .back-button-icon { display: inherit; margin: 0; min-width: 18px; font-size: 3.2rem; } .ios .toolbar toolbar-background { border-bottom-width: 1px; border-bottom-style: solid; } .ios ion-title { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 0px 90px 1px 90px; pointer-events: none; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .ios .toolbar-title { font-size: 1.7rem; font-weight: 500; text-align: center; pointer-events: auto; } .ios ion-nav-items { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 31; -webkit-order: 30; -ms-flex-order: 30; order: 30; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .ios ion-nav-items[secondary] { text-align: right; -webkit-box-ordinal-group: 51; -webkit-order: 50; -ms-flex-order: 50; order: 50; } .ios.hairlines .toolbar toolbar-background { border-bottom-width: 0.55px; } .ios ion-action-sheet { text-align: center; } .ios .action-sheet-container { padding: 0 10px; } .ios .action-sheet-container button.activated { box-shadow: none; border-color: #d1d3d6; color: #007aff; background: #e4e5e7; } .ios ion-action-sheet button { min-height: 5.6rem; padding: 1.8rem; margin: 0; border: 0; background: transparent; } .ios ion-action-sheet button.activated { background: #e9e9e9; } .ios .action-sheet-group { margin-bottom: 8px; border-radius: 1.3rem; } .ios .action-sheet-group:last-child { margin-bottom: 10px; } .ios .action-sheet-title, .ios .action-sheet-option { min-height: 5.6rem; background: rgba(243, 243, 243, 0.95); font-weight: 400; border-bottom: 1px solid #d6d6da; } .ios .action-sheet-cancel button { font-weight: bold; } .ios .action-sheet-title { padding: 2rem; font-size: 1.2rem; font-weight: 500; color: #5f5f5f; border-radius: 0; } .ios .action-sheet-option { font-size: 2rem; color: #007aff; border-radius: 0; } .ios .action-sheet-title:first-child, .ios .action-sheet-button:first-child, .ios .action-sheet-group button:first-child { border-top-left-radius: 1.3rem; border-top-right-radius: 1.3rem; } .ios .action-sheet-title:last-child, .ios .action-sheet-button:last-child, .ios .action-sheet-group button:last-child { border-bottom-left-radius: 1.3rem; border-bottom-right-radius: 1.3rem; } .ios.hairlines .action-sheet .action-sheet-title, .ios.hairlines .action-sheet .action-sheet-option { border-bottom-width: 0.55px; } .ios .action-sheet-destructive { color: #f53d3d; } .ios ion-card { margin: 12px 12px 12px 12px; font-size: 1.4rem; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); border-radius: 2px; } .ios ion-card ion-list { margin-bottom: 0; } .ios ion-card ion-list .item { padding-right: 0; } .ios ion-card ion-list ion-item-content { padding: 0; } .ios ion-card ion-list > .item:last-child, .ios ion-card ion-list > ion-item-sliding:last-child .item { border-bottom: none; } .ios ion-card .item-inner { border: none; } .ios ion-card ion-card-content { padding: 13px 16px 14px 16px; font-size: 1.4rem; line-height: 1.4; } .ios ion-card ion-card-header { padding: 16px; font-size: 1.6rem; font-weight: 500; color: #333; } .ios ion-card ion-card-header + ion-card-content, .ios ion-card .item + ion-card-content { padding-top: 0; } .ios ion-card ion-note[item-left], .ios ion-card ion-note[item-right] { font-size: 1.3rem; } .ios ion-card .card-title { padding: 8px 0 8px 0; font-size: 1.8rem; color: #222; } .ios ion-card h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .ios ion-card h2 { margin: 2px 0 2px; font-size: 1.6rem; font-weight: normal; } .ios ion-card h3, .ios ion-card h4, .ios ion-card h5, .ios ion-card h6 { margin: 2px 0 2px; font-size: 1.4rem; font-weight: normal; } .ios ion-card p { font-size: 1.4rem; margin: 0 0 2px; color: #666; } .ios ion-card + ion-card { margin-top: 0; } .ios .outer-content { background: #efeff4; } .ios ion-nav.has-views, .ios ion-tab.has-views { background: #000; } .ios ion-list-header { position: relative; padding: 10px 16px 10px 16px; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.1rem; text-transform: uppercase; color: #333; border-bottom: 1px solid #c8c7cc; } .ios ion-list { margin: -1px 0 32px 0; } .ios ion-list > .item:first-child { border-top: 1px solid #c8c7cc; } .ios ion-list > .item:last-child, .ios ion-list > ion-item-sliding:last-child .item { border-bottom: 1px solid #c8c7cc; } .ios ion-list > .item:last-child .item-inner, .ios ion-list > ion-item-sliding:last-child .item .item-inner { border-bottom: none; } .ios ion-list .item-inner { border-bottom: 1px solid #c8c7cc; } .ios ion-list .item[no-lines], .ios ion-list .item[no-lines] .item-inner { border-width: 0; } .ios ion-list ion-item-options { border-bottom: 1px solid #c8c7cc; } .ios ion-list ion-item-options button, .ios ion-list ion-item-options [button] { min-height: 100%; height: 100%; margin: 0; border: none; border-radius: 0; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; box-sizing: border-box; } .ios ion-list ion-item-options button:before, .ios ion-list ion-item-options [button]:before { margin: 0 auto; } .ios ion-list + ion-list { margin-top: 42px; } .ios ion-list + ion-list ion-list-header { margin-top: -10px; padding-top: 0; } .ios.hairlines ion-list-header { border-bottom-width: 0.55px; } .ios.hairlines ion-list ion-item-options { border-width: 0.55px; } .ios.hairlines ion-list .item .item-inner { border-width: 0.55px; } .ios.hairlines ion-list > .item:first-child { border-top-width: 0.55px; } .ios.hairlines ion-list > .item:last-child, .ios.hairlines ion-list > ion-item-sliding:last-child .item { border-bottom-width: 0.55px; } .ios ion-list[inset] { margin: 16px 16px 16px 16px; border-radius: 4px; } .ios ion-list[inset] .item { border-bottom: 1px solid #c8c7cc; } .ios ion-list[inset] .item .item-inner { border-bottom: none; } .ios ion-list[inset] > .item:first-child, .ios ion-list[inset] > ion-item-sliding:first-child .item { border-top: none; } .ios ion-list[inset] > .item:last-child, .ios ion-list[inset] > ion-item-sliding:last-child .item { border-bottom: none; } .ios ion-list[inset] + ion-list[inset] { margin-top: 0; } .ios.hairlines ion-list[inset] .item { border-width: 0.55px; } .ios ion-list[no-lines] ion-list-header, .ios ion-list[no-lines] .item, .ios ion-list[no-lines] .item .item-inner, .ios.hairlines ion-list[no-lines] ion-list-header, .ios.hairlines ion-list[no-lines] .item, .ios.hairlines ion-list[no-lines] .item .item-inner { border-width: 0; } .ios [text-input] { margin: 12px 8px 13px 0; padding: 0; } .ios ion-input[inset] [text-input] { margin: 6px 16px 6.5px 16px; padding: 6px 8px 6.5px 8px; } .ios ion-label { margin: 12px 8px 13px 0; color: #7f7f7f; } .ios ion-label + [text-input] { margin-left: 16px; } .ios [stacked-label] ion-label { font-size: 1.2rem; margin-bottom: 4px; } .ios [stacked-label] [text-input], .ios [floating-label] [text-input] { margin-left: 0; margin-top: 8px; margin-bottom: 8px; } .ios [floating-label] ion-label { margin-bottom: 0; -webkit-transform-origin: left top; transform-origin: left top; -webkit-transform: translate3d(0, 27px, 0); transform: translate3d(0, 27px, 0); -webkit-transition: -webkit-transform 150ms ease-in-out; transition: transform 150ms ease-in-out; } .ios [floating-label].has-focus ion-label, .ios [floating-label].has-value ion-label { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .ios ion-navbar-section { min-height: 4.4rem; } .ios .back-button { -webkit-transform: translateZ(0px); transform: translateZ(0px); } .ios ion-popup { background: transparent; } .ios ion-popup popup-wrapper { border-radius: 13px; background-color: #f8f8f8; max-width: 270px; overflow: hidden; } .ios .popup-head { padding: 12px 16px 20px; text-align: center; } .ios .popup-title { margin-top: 12px; font-weight: bold; font-size: 17px; } .ios .popup-sub-title { font-size: 14px; color: #666; } .ios .popup-body { padding: 0px 16px 24px; color: inherit; text-align: center; font-size: 13px; } .ios .prompt-input { padding: 6px; margin-top: 24px; background-color: #fff; border: 1px solid #ccc; border-radius: 4px; -webkit-appearance: none; } .ios .popup-buttons button { margin: 0; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; border-radius: 0; font-size: 17px; min-height: 44px; border-right: 1px solid #c8c7cc; } .ios .popup-buttons button.activated { opacity: 1; background-color: #e9e9e9; } .ios .popup-buttons button:hover:not(.disable-hover) { opacity: 1; } .ios .popup-buttons button:before { position: absolute; top: 0; right: 0; left: 0; border-top: 1px solid #c8c7cc; content: ''; pointer-events: none; } .ios .popup-buttons button:last-child { font-weight: bold; border-right: 0; } .ios.hairlines .prompt-input { border-width: 0.55px; } .ios.hairlines .popup-buttons button { border-right-width: 0.55px; } .ios.hairlines .popup-buttons button:before { border-top-width: 0.55px; } .ios ion-checkbox[aria-checked=true] checkbox-icon { background-color: #387ef5; border-color: #387ef5; } .ios ion-checkbox[aria-checked=true] checkbox-icon:after { position: absolute; border: 1px solid #fff; top: 3px; left: 7px; width: 4px; height: 9px; border-left: none; border-top: none; content: ''; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .ios ion-checkbox.item.activated { background-color: #fff; } .ios media-checkbox { display: block; margin: 10px 16px 10px 2px; } .ios checkbox-icon { position: relative; display: block; width: 21px; height: 21px; border-radius: 50%; border: 1px solid #c8c7cc; background-color: #fff; } .ios ion-checkbox[secondary][aria-checked=true] checkbox-icon { background-color: #32db64; border-color: #32db64; } .ios ion-checkbox[danger][aria-checked=true] checkbox-icon { background-color: #f53d3d; border-color: #f53d3d; } .ios ion-checkbox[light][aria-checked=true] checkbox-icon { background-color: #f4f4f4; border-color: #f4f4f4; } .ios ion-checkbox[dark][aria-checked=true] checkbox-icon { background-color: #222; border-color: #222; } .ios ion-radio[aria-checked=true] radio-icon:after { position: absolute; border: 2px solid #387ef5; top: 3px; left: 7px; width: 4px; height: 10px; border-left: none; border-top: none; content: ''; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .ios ion-radio[aria-checked=true] { color: #387ef5; } .ios ion-radio.item.activated { background-color: #fff; } .ios media-radio { display: block; margin: 10px 8px 10px 8px; } .ios radio-icon { position: relative; display: block; width: 16px; height: 21px; } .ios ion-radio[secondary][aria-checked=true] radio-icon:after { border-color: #32db64; } .ios ion-radio[secondary][aria-checked=true] { color: #32db64; } .ios ion-radio[danger][aria-checked=true] radio-icon:after { border-color: #f53d3d; } .ios ion-radio[danger][aria-checked=true] { color: #f53d3d; } .ios ion-radio[light][aria-checked=true] radio-icon:after { border-color: #f4f4f4; } .ios ion-radio[light][aria-checked=true] { color: #f4f4f4; } .ios ion-radio[dark][aria-checked=true] radio-icon:after { border-color: #222; } .ios ion-radio[dark][aria-checked=true] { color: #222; } .ios ion-searchbar { padding: 0 8px; background: rgba(0, 0, 0, 0.2); border-bottom: 1px solid rgba(0, 0, 0, 0.05); min-height: 44px; } .ios .searchbar-search-icon { width: 14px; height: 14px; background-image: url("data:image/svg+xml;charset=utf-8,"); background-size: 13px; background-repeat: no-repeat; position: absolute; left: 9px; top: 9px; margin-left: calc(50% - 60px); -webkit-transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); } .ios .searchbar-input { height: 28px; padding: 0 28px; font-size: 1.4rem; font-weight: 400; border-radius: 5px; color: #000; background-color: #FFFFFF; background-position: 8px center; padding-left: calc(50% - 28px); -webkit-transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); } .ios .searchbar-input::-moz-placeholder { color: rgba(0, 0, 0, 0.5); } .ios .searchbar-input:-ms-input-placeholder { color: rgba(0, 0, 0, 0.5); } .ios .searchbar-input::-webkit-input-placeholder { color: rgba(0, 0, 0, 0.5); text-indent: 0; } .ios .searchbar-close-icon { width: 30px; height: 100%; background-image: url("data:image/svg+xml;charset=utf-8,"); background-size: 18px; background-repeat: no-repeat; background-position: center; position: absolute; right: 0; top: 0; } .ios .searchbar-cancel { -webkit-transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); min-height: 30px; margin-left: 0; padding: 0; visibility: hidden; -webkit-transform: translateX(calc(100% + 8px)); transform: translateX(calc(100% + 8px)); -webkit-box-flex: 0; -webkit-flex: 0 0 0%; -ms-flex: 0 0 0%; flex: 0 0 0%; } .ios ion-searchbar.left-align .searchbar-search-icon { margin-left: 0; } .ios ion-searchbar.left-align .searchbar-input { padding-left: 30px; } .ios ion-searchbar.left-align .searchbar-cancel { -webkit-transform: translateX(0); transform: translateX(0); -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto; padding-left: 8px; visibility: visible; } .ios.hairlines ion-searchbar { border-bottom-width: 0.55px; } .ios .toolbar ion-searchbar { background: transparent; border-bottom-width: 0; } .ios .toolbar ion-searchbar .searchbar-input { background-color: rgba(0, 0, 0, 0.08); } .ios .toolbar ion-searchbar .searchbar-cancel { padding: 0; } .ios .toolbar .left-align .searchbar-cancel { padding-left: 8px; } .ios .searchbar-cancel-icon { display: none; } .ios ion-searchbar[primary] .searchbar-cancel { color: #387ef5; } .ios ion-searchbar[secondary] .searchbar-cancel { color: #32db64; } .ios ion-searchbar[danger] .searchbar-cancel { color: #f53d3d; } .ios ion-searchbar[light] .searchbar-cancel { color: #f4f4f4; } .ios ion-searchbar[dark] .searchbar-cancel { color: #222; } .ios ion-segment button, .ios ion-segment [button] { border-width: 1px; border-style: solid; min-height: 3rem; line-height: 3rem; background-color: transparent; color: white; font-size: 1.3rem; } .ios ion-segment button[outline], .ios ion-segment [button][outline] { border: 1px solid #387ef5; background: transparent; color: #387ef5; } .ios ion-segment button[outline].segment-activated, .ios ion-segment [button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; -webkit-transition: 100ms all linear; transition: 100ms all linear; } .ios ion-segment button[outline]:hover:not(.segment-activated), .ios ion-segment [button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios ion-segment button:first-of-type, .ios ion-segment [button]:first-of-type { border-radius: 4px 0px 0px 4px; margin-right: 0; } .ios ion-segment button:not(:first-of-type), .ios ion-segment [button]:not(:first-of-type) { border-left-width: 0px; } .ios ion-segment button:last-of-type, .ios ion-segment [button]:last-of-type { border-left-width: 0px; border-radius: 0px 4px 4px 0px; margin-left: 0; } .ios .toolbar ion-segment { position: absolute; left: 0; right: 0; top: 0; bottom: 0; } .ios .toolbar ion-segment button, .ios .toolbar ion-segment [button] { max-width: 100px; } .ios .toolbar[primary] ion-segment ion-segment-button[button] { background-color: transparent; } .ios .toolbar[primary] ion-segment ion-segment-button[button][outline] { border-color: white; background: transparent; color: white; } .ios .toolbar[primary] ion-segment ion-segment-button[button][outline].segment-activated { opacity: 1; color: #387ef5; background-color: white; } .ios .toolbar[primary] ion-segment ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(255, 255, 255, 0.16); } .ios .toolbar[primary] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[primary] ion-segment[primary] ion-segment-button[button][outline] { border-color: #387ef5; background: transparent; color: #387ef5; } .ios .toolbar[primary] ion-segment[primary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; } .ios .toolbar[primary] ion-segment[primary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios .toolbar[primary] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[primary] ion-segment[secondary] ion-segment-button[button][outline] { border-color: #32db64; background: transparent; color: #32db64; } .ios .toolbar[primary] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #32db64; } .ios .toolbar[primary] ion-segment[secondary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios .toolbar[primary] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[primary] ion-segment[danger] ion-segment-button[button][outline] { border-color: #f53d3d; background: transparent; color: #f53d3d; } .ios .toolbar[primary] ion-segment[danger] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f53d3d; } .ios .toolbar[primary] ion-segment[danger] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios .toolbar[primary] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[primary] ion-segment[light] ion-segment-button[button][outline] { border-color: #f4f4f4; background: transparent; color: #f4f4f4; } .ios .toolbar[primary] ion-segment[light] ion-segment-button[button][outline].segment-activated { opacity: 1; color: black; background-color: #f4f4f4; } .ios .toolbar[primary] ion-segment[light] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios .toolbar[primary] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[primary] ion-segment[dark] ion-segment-button[button][outline] { border-color: #222; background: transparent; color: #222; } .ios .toolbar[primary] ion-segment[dark] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #222; } .ios .toolbar[primary] ion-segment[dark] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .ios ion-segment[primary] ion-segment-button[button][outline] { border-color: #387ef5; background: transparent; color: #387ef5; } .ios ion-segment[primary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; } .ios ion-segment[primary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios .toolbar[secondary] ion-segment ion-segment-button[button] { background-color: transparent; } .ios .toolbar[secondary] ion-segment ion-segment-button[button][outline] { border-color: white; background: transparent; color: white; } .ios .toolbar[secondary] ion-segment ion-segment-button[button][outline].segment-activated { opacity: 1; color: #32db64; background-color: white; } .ios .toolbar[secondary] ion-segment ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(255, 255, 255, 0.16); } .ios .toolbar[secondary] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[secondary] ion-segment[primary] ion-segment-button[button][outline] { border-color: #387ef5; background: transparent; color: #387ef5; } .ios .toolbar[secondary] ion-segment[primary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; } .ios .toolbar[secondary] ion-segment[primary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios .toolbar[secondary] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[secondary] ion-segment[secondary] ion-segment-button[button][outline] { border-color: #32db64; background: transparent; color: #32db64; } .ios .toolbar[secondary] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #32db64; } .ios .toolbar[secondary] ion-segment[secondary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios .toolbar[secondary] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[secondary] ion-segment[danger] ion-segment-button[button][outline] { border-color: #f53d3d; background: transparent; color: #f53d3d; } .ios .toolbar[secondary] ion-segment[danger] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f53d3d; } .ios .toolbar[secondary] ion-segment[danger] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios .toolbar[secondary] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[secondary] ion-segment[light] ion-segment-button[button][outline] { border-color: #f4f4f4; background: transparent; color: #f4f4f4; } .ios .toolbar[secondary] ion-segment[light] ion-segment-button[button][outline].segment-activated { opacity: 1; color: black; background-color: #f4f4f4; } .ios .toolbar[secondary] ion-segment[light] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios .toolbar[secondary] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[secondary] ion-segment[dark] ion-segment-button[button][outline] { border-color: #222; background: transparent; color: #222; } .ios .toolbar[secondary] ion-segment[dark] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #222; } .ios .toolbar[secondary] ion-segment[dark] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .ios ion-segment[secondary] ion-segment-button[button][outline] { border-color: #32db64; background: transparent; color: #32db64; } .ios ion-segment[secondary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #32db64; } .ios ion-segment[secondary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios .toolbar[danger] ion-segment ion-segment-button[button] { background-color: transparent; } .ios .toolbar[danger] ion-segment ion-segment-button[button][outline] { border-color: white; background: transparent; color: white; } .ios .toolbar[danger] ion-segment ion-segment-button[button][outline].segment-activated { opacity: 1; color: #f53d3d; background-color: white; } .ios .toolbar[danger] ion-segment ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(255, 255, 255, 0.16); } .ios .toolbar[danger] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[danger] ion-segment[primary] ion-segment-button[button][outline] { border-color: #387ef5; background: transparent; color: #387ef5; } .ios .toolbar[danger] ion-segment[primary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; } .ios .toolbar[danger] ion-segment[primary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios .toolbar[danger] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[danger] ion-segment[secondary] ion-segment-button[button][outline] { border-color: #32db64; background: transparent; color: #32db64; } .ios .toolbar[danger] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #32db64; } .ios .toolbar[danger] ion-segment[secondary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios .toolbar[danger] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[danger] ion-segment[danger] ion-segment-button[button][outline] { border-color: #f53d3d; background: transparent; color: #f53d3d; } .ios .toolbar[danger] ion-segment[danger] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f53d3d; } .ios .toolbar[danger] ion-segment[danger] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios .toolbar[danger] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[danger] ion-segment[light] ion-segment-button[button][outline] { border-color: #f4f4f4; background: transparent; color: #f4f4f4; } .ios .toolbar[danger] ion-segment[light] ion-segment-button[button][outline].segment-activated { opacity: 1; color: black; background-color: #f4f4f4; } .ios .toolbar[danger] ion-segment[light] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios .toolbar[danger] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[danger] ion-segment[dark] ion-segment-button[button][outline] { border-color: #222; background: transparent; color: #222; } .ios .toolbar[danger] ion-segment[dark] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #222; } .ios .toolbar[danger] ion-segment[dark] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .ios ion-segment[danger] ion-segment-button[button][outline] { border-color: #f53d3d; background: transparent; color: #f53d3d; } .ios ion-segment[danger] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f53d3d; } .ios ion-segment[danger] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios .toolbar[light] ion-segment ion-segment-button[button] { background-color: transparent; } .ios .toolbar[light] ion-segment ion-segment-button[button][outline] { border-color: black; background: transparent; color: black; } .ios .toolbar[light] ion-segment ion-segment-button[button][outline].segment-activated { opacity: 1; color: #f4f4f4; background-color: black; } .ios .toolbar[light] ion-segment ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(0, 0, 0, 0.16); } .ios .toolbar[light] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[light] ion-segment[primary] ion-segment-button[button][outline] { border-color: #387ef5; background: transparent; color: #387ef5; } .ios .toolbar[light] ion-segment[primary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; } .ios .toolbar[light] ion-segment[primary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios .toolbar[light] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[light] ion-segment[secondary] ion-segment-button[button][outline] { border-color: #32db64; background: transparent; color: #32db64; } .ios .toolbar[light] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #32db64; } .ios .toolbar[light] ion-segment[secondary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios .toolbar[light] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[light] ion-segment[danger] ion-segment-button[button][outline] { border-color: #f53d3d; background: transparent; color: #f53d3d; } .ios .toolbar[light] ion-segment[danger] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f53d3d; } .ios .toolbar[light] ion-segment[danger] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios .toolbar[light] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[light] ion-segment[light] ion-segment-button[button][outline] { border-color: #f4f4f4; background: transparent; color: #f4f4f4; } .ios .toolbar[light] ion-segment[light] ion-segment-button[button][outline].segment-activated { opacity: 1; color: black; background-color: #f4f4f4; } .ios .toolbar[light] ion-segment[light] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios .toolbar[light] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[light] ion-segment[dark] ion-segment-button[button][outline] { border-color: #222; background: transparent; color: #222; } .ios .toolbar[light] ion-segment[dark] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #222; } .ios .toolbar[light] ion-segment[dark] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios ion-segment[light] ion-segment-button[button] { background-color: transparent; } .ios ion-segment[light] ion-segment-button[button][outline] { border-color: #f4f4f4; background: transparent; color: #f4f4f4; } .ios ion-segment[light] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f4f4f4; } .ios ion-segment[light] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios .toolbar[dark] ion-segment ion-segment-button[button] { background-color: transparent; } .ios .toolbar[dark] ion-segment ion-segment-button[button][outline] { border-color: white; background: transparent; color: white; } .ios .toolbar[dark] ion-segment ion-segment-button[button][outline].segment-activated { opacity: 1; color: #222; background-color: white; } .ios .toolbar[dark] ion-segment ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(255, 255, 255, 0.16); } .ios .toolbar[dark] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[dark] ion-segment[primary] ion-segment-button[button][outline] { border-color: #387ef5; background: transparent; color: #387ef5; } .ios .toolbar[dark] ion-segment[primary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; } .ios .toolbar[dark] ion-segment[primary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios .toolbar[dark] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[dark] ion-segment[secondary] ion-segment-button[button][outline] { border-color: #32db64; background: transparent; color: #32db64; } .ios .toolbar[dark] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #32db64; } .ios .toolbar[dark] ion-segment[secondary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios .toolbar[dark] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[dark] ion-segment[danger] ion-segment-button[button][outline] { border-color: #f53d3d; background: transparent; color: #f53d3d; } .ios .toolbar[dark] ion-segment[danger] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f53d3d; } .ios .toolbar[dark] ion-segment[danger] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios .toolbar[dark] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[dark] ion-segment[light] ion-segment-button[button][outline] { border-color: #f4f4f4; background: transparent; color: #f4f4f4; } .ios .toolbar[dark] ion-segment[light] ion-segment-button[button][outline].segment-activated { opacity: 1; color: black; background-color: #f4f4f4; } .ios .toolbar[dark] ion-segment[light] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios .toolbar[dark] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[dark] ion-segment[dark] ion-segment-button[button][outline] { border-color: #222; background: transparent; color: #222; } .ios .toolbar[dark] ion-segment[dark] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #222; } .ios .toolbar[dark] ion-segment[dark] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .ios ion-segment[dark] ion-segment-button[button][outline] { border-color: #222; background: transparent; color: #222; } .ios ion-segment[dark] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #222; } .ios ion-segment[dark] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios ion-switch.item.activated { background: #fff; } .ios ion-switch media-switch { padding: 6px 8px 5px 16px; } .ios ion-switch switch-icon { position: relative; display: block; width: 51px; height: 32px; border-radius: 16px; pointer-events: none; background-color: #e6e6e6; will-change: background-color; -webkit-transition: background-color 300ms; transition: background-color 300ms; } .ios ion-switch[aria-checked=true] switch-icon { background-color: #387ef5; } .ios ion-switch switch-icon:before { content: ''; position: absolute; top: 2px; right: 2px; left: 2px; bottom: 2px; border-radius: 16px; background-color: #fff; will-change: transform; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); -webkit-transition: -webkit-transform 300ms; transition: transform 300ms; } .ios ion-switch[aria-checked=true] switch-icon:before, .ios ion-switch .switch-activated switch-icon:before { -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); } .ios ion-switch switch-icon:after { content: ''; position: absolute; top: 2px; left: 2px; width: 28px; height: 28px; border-radius: 14px; background-color: #fff; box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 1px rgba(0, 0, 0, 0.1); will-change: transform, width, left; -webkit-transition: -webkit-transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms; transition: transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms; } .ios ion-switch[aria-checked=true] switch-icon:after { -webkit-transform: translate3d(19px, 0, 0); transform: translate3d(19px, 0, 0); } .ios ion-switch .switch-activated switch-icon:after { width: 34px; } .ios ion-switch[aria-checked=true] .switch-activated switch-icon:after { left: -4px; } .ios ion-switch[secondary][aria-checked=true] switch-icon { background-color: #32db64; } .ios ion-switch[danger][aria-checked=true] switch-icon { background-color: #f53d3d; } .ios ion-switch[light][aria-checked=true] switch-icon { background-color: #f4f4f4; } .ios ion-switch[dark][aria-checked=true] switch-icon { background-color: #222; } .ios tabbar { border-top: 1px solid #b2b2b2; } .ios ion-tabs[tabbar-placement=top] tabbar { border-top: none; border-bottom: 1px solid #b2b2b2; } .ios .tab-button { padding: 0px 10px; min-height: 49px; } .ios .tab-button-text { margin-bottom: 0; min-height: 11px; font-size: 10px; } .ios .has-title-only .tab-button-text { font-size: 12px; } .ios .tab-button-icon { font-size: 32px; height: 32px; min-width: 37px; } .ios .tab-button-icon:before { vertical-align: top; } .ios [tabbar-icons=right] .tab-button .tab-button-text, .ios [tabbar-icons=left] .tab-button .tab-button-text { font-size: 1.4rem; line-height: 1.1; margin-top: 0; margin-bottom: 0; } .ios [tabbar-icons=right] .tab-button icon, .ios [tabbar-icons=left] .tab-button icon { min-width: 24px; height: 26px; font-size: 24px; } .ios [tabbar-icons=hide] .tab-button-text { font-size: 1.4rem; line-height: 1.1; } .ios .tab-button.has-title-only { min-height: 41px; } .ios .tab-button.has-title-only .tab-button-text { font-size: 1.4rem; line-height: 1.1; } .ios .tab-button.icon-only { min-height: 41px; } .ios.hairlines ion-tabs tabbar { border-top-width: 0.55px; } .ios.hairlines ion-tabs[tabbar-placement="top"] tabbar { border-bottom-width: 0.55px; } .ios tabbar[primary] { border-color: #0c60ee; } .ios tabbar[secondary] { border-color: #21b94e; } .ios tabbar[danger] { border-color: #f30c0c; } .ios tabbar[light] { border-color: #dbdbdb; } .ios tabbar[dark] { border-color: #090909; } .ios.platform-cordova.platform-ios ion-navbar-section { min-height: 6.4rem; height: 6.4rem; } .ios.platform-cordova.platform-ios ion-navbar ion-title, .ios.platform-cordova.platform-ios ion-navbar ion-segment { padding-top: 2rem; } .ios.platform-cordova.platform-ios ion-navbar, .ios.platform-cordova.platform-ios ion-app > ion-toolbar:first-child, .ios.platform-cordova.platform-ios ion-app > ion-toolbar:first-child ion-title, .ios.platform-cordova.platform-ios ion-app > ion-toolbar:first-child ion-segment, .ios.platform-cordova.platform-ios ion-menu > ion-toolbar:first-child, .ios.platform-cordova.platform-ios ion-menu > ion-toolbar:first-child ion-title, .ios.platform-cordova.platform-ios ion-menu > ion-toolbar:first-child ion-segment, .ios.platform-cordova.platform-ios ion-page.modal > ion-toolbar:first-child, .ios.platform-cordova.platform-ios ion-page.modal > ion-toolbar:first-child ion-title, .ios.platform-cordova.platform-ios ion-page.modal > ion-toolbar:first-child ion-segment { min-height: 6.4rem; height: 6.4rem; padding-top: 2rem; } .md { /*! Ionic: Material Design */ /****************/ /* DEFAULT LIST */ /****************/ /**************/ /* INSET LIST */ /**************/ /*****************/ /* NO LINES LIST */ /*****************/ } .md hr { border-width: 0; height: 1px; background-color: rgba(0, 0, 0, 0.08); } .md .toolbar { min-height: 5.6rem; } .md .toolbar button, .md .toolbar [button], .md .toolbar button.activated, .md .toolbar [button].activated { margin-top: 0; margin-bottom: 0; padding: 0 5px; min-height: 32px; box-shadow: none; overflow: visible; } .md .toolbar button.icon-only, .md .toolbar [button].icon-only { padding-right: 0; padding-left: 0; } .md .toolbar button icon, .md .toolbar [button] icon { padding: 0; min-width: 28px; } .md .toolbar [menu-toggle], .md .toolbar [menu-toggle].activated { padding: 0 2px; min-width: 44px; } .md .toolbar [menu-toggle] icon, .md .toolbar [menu-toggle].activated icon { font-size: 2.4rem; } .md .toolbar [menu-toggle][secondary], .md .toolbar [menu-toggle][secondary].activated { margin: 0 2px; min-width: 28px; } .md ion-title { padding: 0 12px; font-size: 2rem; font-weight: 500; } .md ion-nav-items[primary] button:first-child { margin-left: 0; } .md ion-action-sheet { margin: 0; } .md .action-sheet-container { margin: 0; } .md .action-sheet-title, .md .action-sheet-option, .md .action-sheet-destructive, .md .action-sheet-cancel button { text-align: left; border-color: transparent; font-size: 1.6rem; color: #222; box-shadow: none; text-transform: none; } .md ion-action-sheet icon { display: inline-block; margin: 0 28px 0 0; min-width: 24px; text-align: center; vertical-align: middle; font-size: 2.4rem; } .md .action-sheet-title { padding: 1.9rem 1.6rem 1.7rem; font-size: 1.6rem; color: #757575; } .md ion-action-sheet button { font-weight: normal; min-height: 4.8rem; } .md ion-action-sheet button.activated { background: #f1f1f1; border-radius: 0; box-shadow: none; } .md .action-sheet-group { margin: 0; border-radius: 0; background-color: #fafafa; } .md .action-sheet-group:last-child button { margin-bottom: 8px; } .md .action-sheet-cancel { background-color: #fafafa; width: auto; border: none; } .md button, .md [button] { border-radius: 2px; min-height: 3.6rem; padding: 0 1.1em; text-transform: uppercase; font-weight: 500; font-size: 1.4rem; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); -webkit-transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); } .md button:hover:not(.disable-hover), .md [button]:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .md button[full], .md [button][full] { border-radius: 0; } .md button[round], .md [button][round] { border-radius: 64px; padding: 0 2.6rem; } .md button[large], .md [button][large] { padding: 0 1em; min-height: 2.8em; font-size: 2rem; } .md button[small], .md [button][small] { padding: 0 0.9em; min-height: 2.1em; font-size: 1.3rem; } .md button.activated, .md [button].activated { box-shadow: 0 3px 5px rgba(0, 0, 0, 0.14), 0 3px 5px rgba(0, 0, 0, 0.21); } .md button[fab], .md [button][fab] { border-radius: 50%; box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.14), 0 4px 5px rgba(0, 0, 0, 0.1); } .md button[fab].activated, .md [button][fab].activated { box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.4), 0 4px 7px 0 rgba(0, 0, 0, 0.1); } .md button.icon-only, .md [button].icon-only { padding: 0; } .md button[outline], .md [button][outline] { box-shadow: none; } .md button[outline].activated, .md [button][outline].activated { opacity: 1; } .md button[outline] md-ripple, .md [button][outline] md-ripple { background: rgba(56, 126, 245, 0.1); } .md button[clear], .ios .popup-buttons .md button, .md .ios .searchbar-cancel, .ios .md .searchbar-cancel, .md .popup-buttons button, .md [button][clear] { opacity: 1; box-shadow: none; } .md button[clear].activated, .ios .popup-buttons .md button.activated, .md .ios .activated.searchbar-cancel, .ios .md .activated.searchbar-cancel, .md .popup-buttons button.activated, .md [button][clear].activated { background-color: rgba(158, 158, 158, 0.2); } .md button[secondary].activated, .md [button][secondary].activated { opacity: 1; } .md button[secondary][outline] md-ripple, .md [button][secondary][outline] md-ripple { background: rgba(50, 219, 100, 0.2); } .md button[secondary][outline].activated, .md [button][secondary][outline].activated { opacity: 1; } .md button[secondary][outline].activated md-ripple, .md [button][secondary][outline].activated md-ripple { background: rgba(0, 0, 0, 0.1); } .md button[danger].activated, .md [button][danger].activated { opacity: 1; } .md button[danger][outline] md-ripple, .md [button][danger][outline] md-ripple { background: rgba(245, 61, 61, 0.2); } .md button[danger][outline].activated, .md [button][danger][outline].activated { opacity: 1; } .md button[danger][outline].activated md-ripple, .md [button][danger][outline].activated md-ripple { background: rgba(0, 0, 0, 0.1); } .md button[light].activated, .md [button][light].activated { opacity: 1; } .md button[light][outline] md-ripple, .md [button][light][outline] md-ripple { background: rgba(244, 244, 244, 0.2); } .md button[light][outline].activated, .md [button][light][outline].activated { opacity: 1; } .md button[light][outline].activated md-ripple, .md [button][light][outline].activated md-ripple { background: rgba(0, 0, 0, 0.1); } .md button[dark].activated, .md [button][dark].activated { opacity: 1; } .md button[dark][outline] md-ripple, .md [button][dark][outline] md-ripple { background: rgba(34, 34, 34, 0.2); } .md button[dark][outline].activated, .md [button][dark][outline].activated { opacity: 1; } .md button[dark][outline].activated md-ripple, .md [button][dark][outline].activated md-ripple { background: rgba(0, 0, 0, 0.1); } .md [padding], .md [padding] > scroll-content { padding: 16px; } .md [padding-top] { padding-top: 16px; } .md [padding-right] { padding-right: 16px; } .md [padding-bottom] { padding-bottom: 16px; } .md [padding-left] { padding-left: 16px; } .md [padding-vertical] { padding-top: 16px; padding-bottom: 16px; } .md [padding-horizontal] { padding-right: 16px; padding-left: 16px; } .md ion-item-divider { padding: 13px 16px 13px 16px; background-color: #fff; color: #222; } .md ion-note { color: #c4c4c4; } .md .item { position: relative; padding-right: 0; padding-left: 16px; font-size: 1.6rem; text-transform: none; font-weight: normal; box-shadow: none; } .md .item h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .md .item h2 { margin: 2px 0 2px; font-size: 1.6rem; font-weight: normal; } .md .item h3, .md .item h4, .md .item h5, .md .item h6 { line-height: normal; margin: 2px 0 2px; font-size: 1.4rem; font-weight: normal; } .md .item p { line-height: normal; color: #666; font-size: 1.4rem; margin: 0 0 2px; } .md .item-inner { border-bottom: 1px solid #dedede; padding-right: 8px; } .md ion-item-content { margin: 13px 8px 13px 0; } .md button.item.activated { box-shadow: none; } .md [item-left], .md [item-right] { margin: 9px 8px 9px 0; } .md icon[item-left], .md icon[item-right] { margin-top: 11px; margin-left: 0; margin-bottom: 10px; } .md button[item-left], .md button[item-right], .md [button][item-left], .md [button][item-right] { padding: 0 0.6em; min-height: 26px; font-size: 1.2rem; } .md [item-left].icon-only, .md [item-right].icon-only, .md [item-left].icon-only icon, .md [item-right].icon-only icon { padding: 0 1px; } .md [item-left][clear], .md [item-right][clear] { padding: 0 8px; } .md [item-left].icon-left icon, .md [item-right].icon-left icon { margin-left: 0; margin-bottom: 1px; padding-right: 0.3em; } .md [item-left].icon-right icon, .md [item-right].icon-right icon { margin-right: 0; margin-bottom: 1px; } .md [text-wrap] ion-item-content { font-size: 1.4rem; line-height: 1.5; } .md icon[item-left] + .item-inner, .md icon[item-left] + [text-input] { margin-left: 24px; } .md ion-avatar[item-left], .md ion-thumbnail[item-left] { margin: 8px 16px 8px 0; } .md ion-avatar[item-right], .md ion-thumbnail[item-right] { margin: 8px; } .md ion-avatar { min-width: 4rem; min-height: 4rem; } .md ion-avatar img { max-width: 4rem; max-height: 4rem; border-radius: 2rem; } .md ion-thumbnail { min-width: 8rem; min-height: 8rem; } .md ion-thumbnail img { max-width: 8rem; max-height: 8rem; } .md .item, .md a.item, .md button.item { -webkit-transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 300ms; transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), transform 300ms; } .md .item.activated, .md a.item.activated, .md button.item.activated { background-color: #f1f1f1; box-shadow: none; } .md .item[no-lines] { border-width: 0; } .md ion-list-header, .md ion-item-divider { border-bottom: 1px solid #dedede; margin-left: 0; padding: 16px 16px 16px 16px; font-size: 1.4rem; color: #858585; } .md ion-list { margin: 0 0 16px 0; } .md ion-list .item-inner { border-bottom: 1px solid #dedede; } .md ion-list > .item:first-child, .md ion-list > ion-item-sliding:first-child .item { border-top: 1px solid #dedede; } .md ion-list > .item:last-child, .md ion-list > ion-item-sliding:last-child .item { border-bottom: 1px solid #dedede; } .md ion-list > .item:last-child .item-inner, .md ion-list > .item:last-child ion-item-content, .md ion-list > ion-item-sliding:last-child .item .item-inner, .md ion-list > ion-item-sliding:last-child .item ion-item-content { border-bottom: none; } .md ion-list > ion-input:last-child:after { left: 0; } .md ion-list ion-item-options button, .md ion-list ion-item-options [button] { height: calc(100% - 2px); margin: 1px 0 1px 0; box-shadow: none; border: none; border-radius: 0; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; box-sizing: border-box; } .md ion-list ion-item-options button:before, .md ion-list ion-item-options [button]:before { margin: 0 auto; } .md ion-list .item[no-lines], .md ion-list .item[no-lines] .item-inner { border-width: 0; } .md ion-list + ion-list { margin-top: 32px; } .md ion-list + ion-list ion-list-header { margin-top: -16px; padding-top: 0; } .md ion-list[inset] { margin: 16px 16px 16px 16px; border-radius: 2px; } .md ion-list[inset] .item:first-child { border-top-width: 0; border-top-right-radius: 2px; border-top-left-radius: 2px; } .md ion-list[inset] .item:last-child { border-bottom-width: 0; border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; } .md ion-list[inset] ion-input.item { padding-right: 0; padding-left: 0; } .md ion-list[inset] ion-input.item:after { left: 0; } .md ion-list[inset] + ion-list[inset] { margin-top: 0; } .md ion-list[no-lines] .item, .md ion-list[no-lines] .item .item-inner { border-width: 0; } .md ion-card { margin: 10px 10px 10px 10px; font-size: 1.4rem; background: #fff; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); border-radius: 2px; } .md ion-card ion-list { margin-bottom: 0; } .md ion-card ion-list ion-item-content { padding: 0; } .md ion-card ion-list .item-inner { border-bottom: 1px solid #dedede; } .md ion-card ion-list > .item:last-child, .md ion-card ion-list > ion-item-sliding:last-child .item { border-bottom: none; } .md ion-card .item { font-size: 1.6rem; } .md ion-card .item-inner { border: none; } .md ion-card ion-card-content { padding: 13px 16px 13px 16px; font-size: 1.4rem; line-height: 1.5; } .md ion-card ion-card-header { padding: 16px; font-size: 1.6rem; color: #222; } .md ion-card ion-card-header + ion-card-content, .md ion-card .item + ion-card-content { padding-top: 0; } .md ion-card ion-note[item-left], .md ion-card ion-note[item-right] { font-size: 1.3rem; } .md ion-card .card-title { padding: 8px 0 8px 0; font-size: 2.4rem; color: #222; } .md ion-card h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; color: #222; } .md ion-card h2 { margin: 2px 0 2px; font-size: 1.6rem; font-weight: normal; color: #222; } .md ion-card h3, .md ion-card h4, .md ion-card h5, .md ion-card h6 { margin: 2px 0 2px; font-size: 1.4rem; font-weight: normal; color: #222; } .md ion-card p { font-size: 1.4rem; margin: 0 0 2px; line-height: 1.5; font-weight: normal; color: #222; } .md ion-card + ion-card { margin-top: 0; } .md ion-checkbox.item .item-inner { border: none; padding-right: 0; } .md ion-checkbox ion-item-content { border-bottom: 1px solid #dedede; margin: 0; padding: 13px 8px 13px 0; } .md ion-checkbox[aria-checked=true] checkbox-icon { background-color: #387ef5; border-color: #387ef5; } .md ion-checkbox[aria-checked=true] checkbox-icon:after { position: absolute; border: 2px solid #fff; top: 0; left: 3px; width: 4px; height: 9px; border-left: none; border-top: none; content: ''; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .md media-checkbox { display: block; margin: 9px 36px 9px 4px; } .md checkbox-icon { position: relative; display: block; width: 16px; height: 16px; border-radius: 2px; border: 2px solid #787878; background-color: #fff; } .md ion-checkbox[secondary][aria-checked=true] checkbox-icon { background-color: #32db64; border-color: #32db64; } .md ion-checkbox[danger][aria-checked=true] checkbox-icon { background-color: #f53d3d; border-color: #f53d3d; } .md ion-checkbox[light][aria-checked=true] checkbox-icon { background-color: #f4f4f4; border-color: #f4f4f4; } .md ion-checkbox[dark][aria-checked=true] checkbox-icon { background-color: #222; border-color: #222; } .md [text-input] { margin: 13px 8px 13px 8px; padding: 0; } .md ion-input[inset] [text-input] { margin: 6.5px 16px 6.5px 16px; padding: 6.5px 8px 6.5px 8px; } .md ion-label { margin: 13px 8px 13px 8px; color: #999; } .md ion-input:after { position: absolute; bottom: 0; right: 0; left: 16px; border-bottom: 2px solid transparent; content: ''; } .md ion-input.has-focus:after { border-bottom: 2px solid #387ef5; } .md ion-input.ng-valid.has-value:after { border-bottom: 2px solid #32db64; } .md ion-input.ng-invalid.ng-touched:after { border-bottom: 2px solid #f53d3d; } .md [stacked-label] ion-label { font-size: 1.2rem; margin-bottom: 0; } .md [stacked-label] ion-label, .md [floating-label] ion-label { margin-left: 0; } .md [stacked-label].has-focus ion-label, .md [floating-label].has-focus ion-label { color: #387ef5; } .md [stacked-label] [text-input], .md [floating-label] [text-input] { margin-bottom: 8px; margin-top: 8px; margin-left: 0; } .md [floating-label] ion-label { margin-bottom: 0; -webkit-transform-origin: left top; transform-origin: left top; -webkit-transform: translate3d(0, 27px, 0); transform: translate3d(0, 27px, 0); -webkit-transition: -webkit-transform 150ms ease-in-out; transition: transform 150ms ease-in-out; } .md [floating-label].has-focus ion-label, .md [floating-label].has-value ion-label { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .md ion-navbar-section { min-height: 5.6rem; } .md .toolbar .back-button { margin: 0 0 0 12px; box-shadow: none; } .md .toolbar .back-button-icon { margin: 0; min-width: 44px; font-size: 2.4rem; font-weight: normal; text-align: left; } .md ion-popup popup-wrapper { max-width: 280px; border-radius: 2px; background-color: #fafafa; box-shadow: 0px 16px 20px rgba(0, 0, 0, 0.4); } .md .popup-head { text-align: left; padding: 24px 24px 10px 24px; } .md .popup-title { font-size: 20px; } .md .popup-sub-title { font-size: 15px; } .md .popup-body { padding: 10px 24px 24px 24px; color: rgba(0, 0, 0, 0.5); } .md .prompt-input { border-bottom: 1px solid #dedede; color: #000000; margin: 5px 0 5px 0; } .md .prompt-input:focus { border-bottom: 2px solid #387ef5; margin-bottom: 4px; } .md .popup-buttons { padding: 8px 8px 8px 24px; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; } .md .popup-buttons button { min-height: 36px; } .md .popup-buttons button.activated { opacity: 1; } .md ion-radio radio-icon { position: relative; top: 0; left: 0; display: block; width: 16px; height: 16px; margin: 0; border: 2px solid #787878; border-radius: 50%; } .md ion-radio[aria-checked=true] radio-icon { border-color: #387ef5; } .md ion-radio radio-icon:after { position: absolute; top: 2px; left: 2px; width: 8px; height: 8px; background: #387ef5; border-radius: 50%; content: ''; -webkit-transition: -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1); -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); } .md ion-radio[aria-checked=true] radio-icon:after { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } .md ion-radio[aria-checked=true] { color: #387ef5; } .md media-radio { display: block; margin: 9px 8px 9px 8px; } .md ion-radio[secondary][aria-checked=true] radio-icon { border-color: #32db64; } .md ion-radio[secondary][aria-checked=true] radio-icon:after { background: #32db64; } .md ion-radio[secondary][aria-checked=true] { color: #32db64; } .md ion-radio[danger][aria-checked=true] radio-icon { border-color: #f53d3d; } .md ion-radio[danger][aria-checked=true] radio-icon:after { background: #f53d3d; } .md ion-radio[danger][aria-checked=true] { color: #f53d3d; } .md ion-radio[light][aria-checked=true] radio-icon { border-color: #f4f4f4; } .md ion-radio[light][aria-checked=true] radio-icon:after { background: #f4f4f4; } .md ion-radio[light][aria-checked=true] { color: #f4f4f4; } .md ion-radio[dark][aria-checked=true] radio-icon { border-color: #222; } .md ion-radio[dark][aria-checked=true] radio-icon:after { background: #222; } .md ion-radio[dark][aria-checked=true] { color: #222; } .md ion-searchbar { padding: 8px; background: inherit; } .md .searchbar-search-icon, .md button.searchbar-cancel-icon { width: 21px; height: 21px; background-size: 20px; background-repeat: no-repeat; position: absolute; } .md .searchbar-search-icon.activated, .md button.searchbar-cancel-icon.activated { background-color: transparent; } .md .searchbar-search-icon { top: 11px; left: 16px; background-image: url("data:image/svg+xml;charset=utf-8,"); } .md button.searchbar-cancel-icon { display: none; height: 100%; margin: 0; top: 0; left: 10px; } .md .searchbar-input { padding: 6px 55px; height: 28px; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); font-size: 1.6rem; font-weight: 400; border-radius: 2px; color: #141414; background-color: #FFFFFF; background-position: 8px center; } .md .searchbar-input::-moz-placeholder { color: #AEAEAE; } .md .searchbar-input:-ms-input-placeholder { color: #AEAEAE; } .md .searchbar-input::-webkit-input-placeholder { color: #AEAEAE; text-indent: 0; } .md button.searchbar-close-icon { width: 22px; height: 100%; padding: 0; background-image: url("data:image/svg+xml;charset=utf-8,"); background-size: 22px; background-repeat: no-repeat; background-position: center; position: absolute; right: 13px; top: 0; } .md button.searchbar-close-icon.activated { background-color: transparent; } .md .searchbar-cancel { display: none; } .md .focused .searchbar-search-icon { display: none; } .md .focused button.searchbar-cancel-icon { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; } .md .toolbar ion-searchbar { padding: 3px; } .md .toolbar button.searchbar-cancel-icon { left: 14px; } .md ion-segment button, .md ion-segment [button] { border-width: 0; -webkit-transition: 100ms all linear; transition: 100ms all linear; font-size: 1.2rem; opacity: 0.7; min-height: 4rem; line-height: 4rem; border-radius: 0; border-bottom: 2px solid rgba(0, 0, 0, 0.1); } .md ion-segment button.activated, .md ion-segment button.segment-activated, .md ion-segment [button].activated, .md ion-segment [button].segment-activated { color: #387ef5; background-color: transparent; border-color: #387ef5; } .md .toolbar ion-segment { margin: 0 auto; } .md .toolbar ion-segment ion-segment-button[button][outline].activated, .md .toolbar ion-segment ion-segment-button[button][outline].segment-activated { background-color: transparent; opacity: 1; } .md .toolbar[primary] ion-segment ion-segment-button[button] { background-color: transparent; } .md .toolbar[primary] ion-segment ion-segment-button[button][outline] { color: white; } .md .toolbar[primary] ion-segment ion-segment-button[button][outline].activated, .md .toolbar[primary] ion-segment ion-segment-button[button][outline].segment-activated { background-color: transparent; color: white; border-color: white; opacity: 1; } .md .toolbar[primary] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[primary] ion-segment[primary] ion-segment-button[button][outline] { color: #387ef5; } .md .toolbar[primary] ion-segment[primary] ion-segment-button[button][outline].activated, .md .toolbar[primary] ion-segment[primary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #387ef5; border-color: #387ef5; opacity: 1; } .md .toolbar[primary] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[primary] ion-segment[secondary] ion-segment-button[button][outline] { color: #32db64; } .md .toolbar[primary] ion-segment[secondary] ion-segment-button[button][outline].activated, .md .toolbar[primary] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #32db64; border-color: #32db64; opacity: 1; } .md .toolbar[primary] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .md .toolbar[primary] ion-segment[danger] ion-segment-button[button][outline] { color: #f53d3d; } .md .toolbar[primary] ion-segment[danger] ion-segment-button[button][outline].activated, .md .toolbar[primary] ion-segment[danger] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f53d3d; border-color: #f53d3d; opacity: 1; } .md .toolbar[primary] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .md .toolbar[primary] ion-segment[light] ion-segment-button[button][outline] { color: #f4f4f4; } .md .toolbar[primary] ion-segment[light] ion-segment-button[button][outline].activated, .md .toolbar[primary] ion-segment[light] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f4f4f4; border-color: #f4f4f4; opacity: 1; } .md .toolbar[primary] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .md .toolbar[primary] ion-segment[dark] ion-segment-button[button][outline] { color: #222; } .md .toolbar[primary] ion-segment[dark] ion-segment-button[button][outline].activated, .md .toolbar[primary] ion-segment[dark] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #222; border-color: #222; opacity: 1; } .md ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .md ion-segment[primary] ion-segment-button[button][outline] { color: #387ef5; } .md ion-segment[primary] ion-segment-button[button][outline].activated, .md ion-segment[primary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #387ef5; border-color: #387ef5; opacity: 1; } .md .toolbar[secondary] ion-segment ion-segment-button[button] { background-color: transparent; } .md .toolbar[secondary] ion-segment ion-segment-button[button][outline] { color: white; } .md .toolbar[secondary] ion-segment ion-segment-button[button][outline].activated, .md .toolbar[secondary] ion-segment ion-segment-button[button][outline].segment-activated { background-color: transparent; color: white; border-color: white; opacity: 1; } .md .toolbar[secondary] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[secondary] ion-segment[primary] ion-segment-button[button][outline] { color: #387ef5; } .md .toolbar[secondary] ion-segment[primary] ion-segment-button[button][outline].activated, .md .toolbar[secondary] ion-segment[primary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #387ef5; border-color: #387ef5; opacity: 1; } .md .toolbar[secondary] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[secondary] ion-segment[secondary] ion-segment-button[button][outline] { color: #32db64; } .md .toolbar[secondary] ion-segment[secondary] ion-segment-button[button][outline].activated, .md .toolbar[secondary] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #32db64; border-color: #32db64; opacity: 1; } .md .toolbar[secondary] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .md .toolbar[secondary] ion-segment[danger] ion-segment-button[button][outline] { color: #f53d3d; } .md .toolbar[secondary] ion-segment[danger] ion-segment-button[button][outline].activated, .md .toolbar[secondary] ion-segment[danger] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f53d3d; border-color: #f53d3d; opacity: 1; } .md .toolbar[secondary] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .md .toolbar[secondary] ion-segment[light] ion-segment-button[button][outline] { color: #f4f4f4; } .md .toolbar[secondary] ion-segment[light] ion-segment-button[button][outline].activated, .md .toolbar[secondary] ion-segment[light] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f4f4f4; border-color: #f4f4f4; opacity: 1; } .md .toolbar[secondary] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .md .toolbar[secondary] ion-segment[dark] ion-segment-button[button][outline] { color: #222; } .md .toolbar[secondary] ion-segment[dark] ion-segment-button[button][outline].activated, .md .toolbar[secondary] ion-segment[dark] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #222; border-color: #222; opacity: 1; } .md ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .md ion-segment[secondary] ion-segment-button[button][outline] { color: #32db64; } .md ion-segment[secondary] ion-segment-button[button][outline].activated, .md ion-segment[secondary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #32db64; border-color: #32db64; opacity: 1; } .md .toolbar[danger] ion-segment ion-segment-button[button] { background-color: transparent; } .md .toolbar[danger] ion-segment ion-segment-button[button][outline] { color: white; } .md .toolbar[danger] ion-segment ion-segment-button[button][outline].activated, .md .toolbar[danger] ion-segment ion-segment-button[button][outline].segment-activated { background-color: transparent; color: white; border-color: white; opacity: 1; } .md .toolbar[danger] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[danger] ion-segment[primary] ion-segment-button[button][outline] { color: #387ef5; } .md .toolbar[danger] ion-segment[primary] ion-segment-button[button][outline].activated, .md .toolbar[danger] ion-segment[primary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #387ef5; border-color: #387ef5; opacity: 1; } .md .toolbar[danger] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[danger] ion-segment[secondary] ion-segment-button[button][outline] { color: #32db64; } .md .toolbar[danger] ion-segment[secondary] ion-segment-button[button][outline].activated, .md .toolbar[danger] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #32db64; border-color: #32db64; opacity: 1; } .md .toolbar[danger] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .md .toolbar[danger] ion-segment[danger] ion-segment-button[button][outline] { color: #f53d3d; } .md .toolbar[danger] ion-segment[danger] ion-segment-button[button][outline].activated, .md .toolbar[danger] ion-segment[danger] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f53d3d; border-color: #f53d3d; opacity: 1; } .md .toolbar[danger] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .md .toolbar[danger] ion-segment[light] ion-segment-button[button][outline] { color: #f4f4f4; } .md .toolbar[danger] ion-segment[light] ion-segment-button[button][outline].activated, .md .toolbar[danger] ion-segment[light] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f4f4f4; border-color: #f4f4f4; opacity: 1; } .md .toolbar[danger] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .md .toolbar[danger] ion-segment[dark] ion-segment-button[button][outline] { color: #222; } .md .toolbar[danger] ion-segment[dark] ion-segment-button[button][outline].activated, .md .toolbar[danger] ion-segment[dark] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #222; border-color: #222; opacity: 1; } .md ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .md ion-segment[danger] ion-segment-button[button][outline] { color: #f53d3d; } .md ion-segment[danger] ion-segment-button[button][outline].activated, .md ion-segment[danger] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f53d3d; border-color: #f53d3d; opacity: 1; } .md .toolbar[light] ion-segment ion-segment-button[button] { background-color: transparent; } .md .toolbar[light] ion-segment ion-segment-button[button][outline] { color: black; } .md .toolbar[light] ion-segment ion-segment-button[button][outline].activated, .md .toolbar[light] ion-segment ion-segment-button[button][outline].segment-activated { background-color: transparent; color: black; border-color: black; opacity: 1; } .md .toolbar[light] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[light] ion-segment[primary] ion-segment-button[button][outline] { color: #387ef5; } .md .toolbar[light] ion-segment[primary] ion-segment-button[button][outline].activated, .md .toolbar[light] ion-segment[primary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #387ef5; border-color: #387ef5; opacity: 1; } .md .toolbar[light] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[light] ion-segment[secondary] ion-segment-button[button][outline] { color: #32db64; } .md .toolbar[light] ion-segment[secondary] ion-segment-button[button][outline].activated, .md .toolbar[light] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #32db64; border-color: #32db64; opacity: 1; } .md .toolbar[light] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .md .toolbar[light] ion-segment[danger] ion-segment-button[button][outline] { color: #f53d3d; } .md .toolbar[light] ion-segment[danger] ion-segment-button[button][outline].activated, .md .toolbar[light] ion-segment[danger] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f53d3d; border-color: #f53d3d; opacity: 1; } .md .toolbar[light] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .md .toolbar[light] ion-segment[light] ion-segment-button[button][outline] { color: #f4f4f4; } .md .toolbar[light] ion-segment[light] ion-segment-button[button][outline].activated, .md .toolbar[light] ion-segment[light] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f4f4f4; border-color: #f4f4f4; opacity: 1; } .md .toolbar[light] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .md .toolbar[light] ion-segment[dark] ion-segment-button[button][outline] { color: #222; } .md .toolbar[light] ion-segment[dark] ion-segment-button[button][outline].activated, .md .toolbar[light] ion-segment[dark] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #222; border-color: #222; opacity: 1; } .md ion-segment[light] ion-segment-button[button] { background-color: transparent; } .md ion-segment[light] ion-segment-button[button][outline] { color: #f4f4f4; } .md ion-segment[light] ion-segment-button[button][outline].activated, .md ion-segment[light] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f4f4f4; border-color: #f4f4f4; opacity: 1; } .md .toolbar[dark] ion-segment ion-segment-button[button] { background-color: transparent; } .md .toolbar[dark] ion-segment ion-segment-button[button][outline] { color: white; } .md .toolbar[dark] ion-segment ion-segment-button[button][outline].activated, .md .toolbar[dark] ion-segment ion-segment-button[button][outline].segment-activated { background-color: transparent; color: white; border-color: white; opacity: 1; } .md .toolbar[dark] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[dark] ion-segment[primary] ion-segment-button[button][outline] { color: #387ef5; } .md .toolbar[dark] ion-segment[primary] ion-segment-button[button][outline].activated, .md .toolbar[dark] ion-segment[primary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #387ef5; border-color: #387ef5; opacity: 1; } .md .toolbar[dark] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[dark] ion-segment[secondary] ion-segment-button[button][outline] { color: #32db64; } .md .toolbar[dark] ion-segment[secondary] ion-segment-button[button][outline].activated, .md .toolbar[dark] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #32db64; border-color: #32db64; opacity: 1; } .md .toolbar[dark] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .md .toolbar[dark] ion-segment[danger] ion-segment-button[button][outline] { color: #f53d3d; } .md .toolbar[dark] ion-segment[danger] ion-segment-button[button][outline].activated, .md .toolbar[dark] ion-segment[danger] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f53d3d; border-color: #f53d3d; opacity: 1; } .md .toolbar[dark] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .md .toolbar[dark] ion-segment[light] ion-segment-button[button][outline] { color: #f4f4f4; } .md .toolbar[dark] ion-segment[light] ion-segment-button[button][outline].activated, .md .toolbar[dark] ion-segment[light] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f4f4f4; border-color: #f4f4f4; opacity: 1; } .md .toolbar[dark] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .md .toolbar[dark] ion-segment[dark] ion-segment-button[button][outline] { color: #222; } .md .toolbar[dark] ion-segment[dark] ion-segment-button[button][outline].activated, .md .toolbar[dark] ion-segment[dark] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #222; border-color: #222; opacity: 1; } .md ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .md ion-segment[dark] ion-segment-button[button][outline] { color: #222; } .md ion-segment[dark] ion-segment-button[button][outline].activated, .md ion-segment[dark] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #222; border-color: #222; opacity: 1; } .md ion-switch media-switch { padding: 12px 8px 12px 16px; } .md ion-switch switch-icon { position: relative; display: block; width: 36px; height: 14px; pointer-events: none; border-radius: 14px; background-color: #dedede; will-change: background-color; -webkit-transition: background-color 300ms; transition: background-color 300ms; } .md ion-switch[aria-checked=true] switch-icon { background-color: #b1cdfb; } .md ion-switch switch-icon:after { content: ''; position: absolute; top: -3px; left: 0; width: 20px; height: 20px; border-radius: 50%; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); background-color: #fff; will-change: transform, background-color; -webkit-transition-property: -webkit-transform, background-color; transition-property: transform, background-color; -webkit-transition-duration: 300ms; transition-duration: 300ms; } .md ion-switch[aria-checked=true] switch-icon:after { background-color: #387ef5; -webkit-transform: translate3d(16px, 0, 0); transform: translate3d(16px, 0, 0); } .md ion-switch[secondary][aria-checked=true] switch-icon { background-color: #9eeeb6; } .md ion-switch[secondary][aria-checked=true] switch-icon:after { background-color: #32db64; } .md ion-switch[danger][aria-checked=true] switch-icon { background-color: #fbb6b6; } .md ion-switch[danger][aria-checked=true] switch-icon:after { background-color: #f53d3d; } .md ion-switch[light][aria-checked=true] switch-icon { background-color: white; } .md ion-switch[light][aria-checked=true] switch-icon:after { background-color: #f4f4f4; } .md ion-switch[dark][aria-checked=true] switch-icon { background-color: #626262; } .md ion-switch[dark][aria-checked=true] switch-icon:after { background-color: #222; } .md .tab-button { padding: 12px 10px 5px 10px; min-height: 4.8rem; font-size: 1.4rem; font-weight: 500; opacity: 0.7; box-shadow: none; border-radius: 0; border-bottom: 2px solid transparent; } .md .tab-button[aria-selected=true] { opacity: 1.0; } .md .tab-button-text { margin-top: 5px; margin-bottom: 5px; text-transform: uppercase; } .md .tab-button-icon { font-size: 2.4rem; min-width: 7.4rem; } .md [tabbar-icons=bottom] .tab-button { padding-top: 8px; padding-bottom: 8px; } .md [tabbar-icons=right] .tab-button, .md [tabbar-icons=left] .tab-button { padding-bottom: 10px; } .md [tabbar-icons=right] .tab-button icon, .md [tabbar-icons=left] .tab-button icon { min-width: 24px; } .md .tab-button.icon-only, .md .tab-button.has-title-only { padding: 6px 10px 6px 10px; } .md tab-highlight { position: absolute; display: block; height: 2px; width: 1px; bottom: 0; left: 0; background: #387ef5; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateZ(0); transform: translateZ(0); } .md tab-highlight.animate { -webkit-transition-duration: 300ms; transition-duration: 300ms; } .md [tabbar-placement=bottom] tab-highlight { top: 0; } .md tabbar[primary] tab-highlight { background: white; } .md tabbar[secondary] tab-highlight { background: white; } .md tabbar[danger] tab-highlight { background: white; } .md tabbar[light] tab-highlight { background: black; } .md tabbar[dark] tab-highlight { background: white; } .md md-ripple { position: absolute; z-index: 0; display: block; border-radius: 50%; background: rgba(0, 0, 0, 0.1); overflow: hidden; pointer-events: none; -webkit-transform: scale(0.001) translateZ(0); transform: scale(0.001) translateZ(0); } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md { font-family: "Roboto", "Helvetica Neue", sans-serif; } ================================================ FILE: content/css/ionicons.css ================================================ /*! Ionicons, v1.4.0 Created by Ben Sperry for the Ionic Framework, https://ionicons.com/ https://twitter.com/benjsperry https://twitter.com/ionicframework MIT License: https://github.com/ionic-team/ionicons */ @font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.eot?v=1.4.0"); src: url("../fonts/ionicons.eot?v=1.4.0#iefix") format("embedded-opentype"), url("../fonts/ionicons.ttf?v=1.4.0") format("truetype"), url("../fonts/ionicons.woff?v=1.4.0") format("woff"), url("../fonts/ionicons.svg?v=1.4.0#Ionicons") format("svg"); font-weight: normal; font-style: normal; } .ion, .ion-loading-a, .ion-loading-b, .ion-loading-c, .ion-loading-d, .ion-looping, .ion-refreshing, .ion-ios7-reloading, .ionicons, .ion-alert, .ion-alert-circled, .ion-android-add, .ion-android-add-contact, .ion-android-alarm, .ion-android-archive, .ion-android-arrow-back, .ion-android-arrow-down-left, .ion-android-arrow-down-right, .ion-android-arrow-up-left, .ion-android-arrow-up-right, .ion-android-battery, .ion-android-book, .ion-android-calendar, .ion-android-call, .ion-android-camera, .ion-android-chat, .ion-android-checkmark, .ion-android-clock, .ion-android-close, .ion-android-contact, .ion-android-contacts, .ion-android-data, .ion-android-developer, .ion-android-display, .ion-android-download, .ion-android-dropdown, .ion-android-earth, .ion-android-folder, .ion-android-forums, .ion-android-friends, .ion-android-hand, .ion-android-image, .ion-android-inbox, .ion-android-information, .ion-android-keypad, .ion-android-lightbulb, .ion-android-locate, .ion-android-location, .ion-android-mail, .ion-android-microphone, .ion-android-mixer, .ion-android-more, .ion-android-note, .ion-android-playstore, .ion-android-printer, .ion-android-promotion, .ion-android-reminder, .ion-android-remove, .ion-android-search, .ion-android-send, .ion-android-settings, .ion-android-share, .ion-android-social, .ion-android-social-user, .ion-android-sort, .ion-android-star, .ion-android-stopwatch, .ion-android-storage, .ion-android-system-back, .ion-android-system-home, .ion-android-system-windows, .ion-android-timer, .ion-android-trash, .ion-android-volume, .ion-android-wifi, .ion-archive, .ion-arrow-down-a, .ion-arrow-down-b, .ion-arrow-down-c, .ion-arrow-expand, .ion-arrow-graph-down-left, .ion-arrow-graph-down-right, .ion-arrow-graph-up-left, .ion-arrow-graph-up-right, .ion-arrow-left-a, .ion-arrow-left-b, .ion-arrow-left-c, .ion-arrow-move, .ion-arrow-resize, .ion-arrow-return-left, .ion-arrow-return-right, .ion-arrow-right-a, .ion-arrow-right-b, .ion-arrow-right-c, .ion-arrow-shrink, .ion-arrow-swap, .ion-arrow-up-a, .ion-arrow-up-b, .ion-arrow-up-c, .ion-at, .ion-bag, .ion-battery-charging, .ion-battery-empty, .ion-battery-full, .ion-battery-half, .ion-battery-low, .ion-beaker, .ion-beer, .ion-bluetooth, .ion-bookmark, .ion-briefcase, .ion-bug, .ion-calculator, .ion-calendar, .ion-camera, .ion-card, .ion-chatbox, .ion-chatbox-working, .ion-chatboxes, .ion-chatbubble, .ion-chatbubble-working, .ion-chatbubbles, .ion-checkmark, .ion-checkmark-circled, .ion-checkmark-round, .ion-chevron-down, .ion-chevron-left, .ion-chevron-right, .ion-chevron-up, .ion-clipboard, .ion-clock, .ion-close, .ion-close-circled, .ion-close-round, .ion-cloud, .ion-code, .ion-code-download, .ion-code-working, .ion-coffee, .ion-compass, .ion-compose, .ion-connection-bars, .ion-contrast, .ion-disc, .ion-document, .ion-document-text, .ion-drag, .ion-earth, .ion-edit, .ion-egg, .ion-eject, .ion-email, .ion-eye, .ion-eye-disabled, .ion-female, .ion-filing, .ion-film-marker, .ion-flag, .ion-flash, .ion-flash-off, .ion-flask, .ion-folder, .ion-fork, .ion-fork-repo, .ion-forward, .ion-game-controller-a, .ion-game-controller-b, .ion-gear-a, .ion-gear-b, .ion-grid, .ion-hammer, .ion-headphone, .ion-heart, .ion-help, .ion-help-buoy, .ion-help-circled, .ion-home, .ion-icecream, .ion-icon-social-google-plus, .ion-icon-social-google-plus-outline, .ion-image, .ion-images, .ion-information, .ion-information-circled, .ion-ionic, .ion-ios7-alarm, .ion-ios7-alarm-outline, .ion-ios7-albums, .ion-ios7-albums-outline, .ion-ios7-arrow-back, .ion-ios7-arrow-down, .ion-ios7-arrow-forward, .ion-ios7-arrow-left, .ion-ios7-arrow-right, .ion-ios7-arrow-thin-down, .ion-ios7-arrow-thin-left, .ion-ios7-arrow-thin-right, .ion-ios7-arrow-thin-up, .ion-ios7-arrow-up, .ion-ios7-at, .ion-ios7-at-outline, .ion-ios7-bell, .ion-ios7-bell-outline, .ion-ios7-bolt, .ion-ios7-bolt-outline, .ion-ios7-bookmarks, .ion-ios7-bookmarks-outline, .ion-ios7-box, .ion-ios7-box-outline, .ion-ios7-briefcase, .ion-ios7-briefcase-outline, .ion-ios7-browsers, .ion-ios7-browsers-outline, .ion-ios7-calculator, .ion-ios7-calculator-outline, .ion-ios7-calendar, .ion-ios7-calendar-outline, .ion-ios7-camera, .ion-ios7-camera-outline, .ion-ios7-cart, .ion-ios7-cart-outline, .ion-ios7-chatboxes, .ion-ios7-chatboxes-outline, .ion-ios7-chatbubble, .ion-ios7-chatbubble-outline, .ion-ios7-checkmark, .ion-ios7-checkmark-empty, .ion-ios7-checkmark-outline, .ion-ios7-circle-filled, .ion-ios7-circle-outline, .ion-ios7-clock, .ion-ios7-clock-outline, .ion-ios7-close, .ion-ios7-close-empty, .ion-ios7-close-outline, .ion-ios7-cloud, .ion-ios7-cloud-download, .ion-ios7-cloud-download-outline, .ion-ios7-cloud-outline, .ion-ios7-cloud-upload, .ion-ios7-cloud-upload-outline, .ion-ios7-cloudy, .ion-ios7-cloudy-night, .ion-ios7-cloudy-night-outline, .ion-ios7-cloudy-outline, .ion-ios7-cog, .ion-ios7-cog-outline, .ion-ios7-compose, .ion-ios7-compose-outline, .ion-ios7-contact, .ion-ios7-contact-outline, .ion-ios7-copy, .ion-ios7-copy-outline, .ion-ios7-download, .ion-ios7-download-outline, .ion-ios7-drag, .ion-ios7-email, .ion-ios7-email-outline, .ion-ios7-eye, .ion-ios7-eye-outline, .ion-ios7-fastforward, .ion-ios7-fastforward-outline, .ion-ios7-filing, .ion-ios7-filing-outline, .ion-ios7-film, .ion-ios7-film-outline, .ion-ios7-flag, .ion-ios7-flag-outline, .ion-ios7-folder, .ion-ios7-folder-outline, .ion-ios7-gear, .ion-ios7-gear-outline, .ion-ios7-glasses, .ion-ios7-glasses-outline, .ion-ios7-heart, .ion-ios7-heart-outline, .ion-ios7-help, .ion-ios7-help-empty, .ion-ios7-help-outline, .ion-ios7-infinite, .ion-ios7-infinite-outline, .ion-ios7-information, .ion-ios7-information-empty, .ion-ios7-information-outline, .ion-ios7-ionic-outline, .ion-ios7-keypad, .ion-ios7-keypad-outline, .ion-ios7-lightbulb, .ion-ios7-lightbulb-outline, .ion-ios7-location, .ion-ios7-location-outline, .ion-ios7-locked, .ion-ios7-locked-outline, .ion-ios7-medkit, .ion-ios7-medkit-outline, .ion-ios7-mic, .ion-ios7-mic-off, .ion-ios7-mic-outline, .ion-ios7-minus, .ion-ios7-minus-empty, .ion-ios7-minus-outline, .ion-ios7-monitor, .ion-ios7-monitor-outline, .ion-ios7-moon, .ion-ios7-moon-outline, .ion-ios7-more, .ion-ios7-more-outline, .ion-ios7-musical-note, .ion-ios7-musical-notes, .ion-ios7-navigate, .ion-ios7-navigate-outline, .ion-ios7-paperplane, .ion-ios7-paperplane-outline, .ion-ios7-partlysunny, .ion-ios7-partlysunny-outline, .ion-ios7-pause, .ion-ios7-pause-outline, .ion-ios7-people, .ion-ios7-people-outline, .ion-ios7-person, .ion-ios7-person-outline, .ion-ios7-personadd, .ion-ios7-personadd-outline, .ion-ios7-photos, .ion-ios7-photos-outline, .ion-ios7-pie, .ion-ios7-pie-outline, .ion-ios7-play, .ion-ios7-play-outline, .ion-ios7-plus, .ion-ios7-plus-empty, .ion-ios7-plus-outline, .ion-ios7-pricetag, .ion-ios7-pricetag-outline, .ion-ios7-printer, .ion-ios7-printer-outline, .ion-ios7-rainy, .ion-ios7-rainy-outline, .ion-ios7-recording, .ion-ios7-recording-outline, .ion-ios7-redo, .ion-ios7-redo-outline, .ion-ios7-refresh, .ion-ios7-refresh-empty, .ion-ios7-refresh-outline, .ion-ios7-reload, .ion-ios7-rewind, .ion-ios7-rewind-outline, .ion-ios7-search, .ion-ios7-search-strong, .ion-ios7-skipbackward, .ion-ios7-skipbackward-outline, .ion-ios7-skipforward, .ion-ios7-skipforward-outline, .ion-ios7-snowy, .ion-ios7-speedometer, .ion-ios7-speedometer-outline, .ion-ios7-star, .ion-ios7-star-outline, .ion-ios7-stopwatch, .ion-ios7-stopwatch-outline, .ion-ios7-sunny, .ion-ios7-sunny-outline, .ion-ios7-telephone, .ion-ios7-telephone-outline, .ion-ios7-thunderstorm, .ion-ios7-thunderstorm-outline, .ion-ios7-time, .ion-ios7-time-outline, .ion-ios7-timer, .ion-ios7-timer-outline, .ion-ios7-trash, .ion-ios7-trash-outline, .ion-ios7-undo, .ion-ios7-undo-outline, .ion-ios7-unlocked, .ion-ios7-unlocked-outline, .ion-ios7-upload, .ion-ios7-upload-outline, .ion-ios7-videocam, .ion-ios7-videocam-outline, .ion-ios7-volume-high, .ion-ios7-volume-low, .ion-ios7-wineglass, .ion-ios7-wineglass-outline, .ion-ios7-world, .ion-ios7-world-outline, .ion-ipad, .ion-iphone, .ion-ipod, .ion-jet, .ion-key, .ion-knife, .ion-laptop, .ion-leaf, .ion-levels, .ion-lightbulb, .ion-link, .ion-load-a, .ion-load-b, .ion-load-c, .ion-load-d, .ion-location, .ion-locked, .ion-log-in, .ion-log-out, .ion-loop, .ion-magnet, .ion-male, .ion-man, .ion-map, .ion-medkit, .ion-mic-a, .ion-mic-b, .ion-mic-c, .ion-minus, .ion-minus-circled, .ion-minus-round, .ion-model-s, .ion-monitor, .ion-more, .ion-music-note, .ion-navicon, .ion-navicon-round, .ion-navigate, .ion-no-smoking, .ion-nuclear, .ion-paper-airplane, .ion-paperclip, .ion-pause, .ion-person, .ion-person-add, .ion-person-stalker, .ion-pie-graph, .ion-pin, .ion-pinpoint, .ion-pizza, .ion-plane, .ion-play, .ion-playstation, .ion-plus, .ion-plus-circled, .ion-plus-round, .ion-pound, .ion-power, .ion-pricetag, .ion-pricetags, .ion-printer, .ion-radio-waves, .ion-record, .ion-refresh, .ion-reply, .ion-reply-all, .ion-search, .ion-settings, .ion-share, .ion-shuffle, .ion-skip-backward, .ion-skip-forward, .ion-social-android, .ion-social-android-outline, .ion-social-apple, .ion-social-apple-outline, .ion-social-bitcoin, .ion-social-bitcoin-outline, .ion-social-buffer, .ion-social-buffer-outline, .ion-social-designernews, .ion-social-designernews-outline, .ion-social-dribbble, .ion-social-dribbble-outline, .ion-social-dropbox, .ion-social-dropbox-outline, .ion-social-facebook, .ion-social-facebook-outline, .ion-social-freebsd-devil, .ion-social-github, .ion-social-github-outline, .ion-social-googleplus, .ion-social-googleplus-outline, .ion-social-hackernews, .ion-social-hackernews-outline, .ion-social-linkedin, .ion-social-linkedin-outline, .ion-social-pinterest, .ion-social-pinterest-outline, .ion-social-reddit, .ion-social-reddit-outline, .ion-social-rss, .ion-social-rss-outline, .ion-social-skype, .ion-social-skype-outline, .ion-social-tumblr, .ion-social-tumblr-outline, .ion-social-tux, .ion-social-twitter, .ion-social-twitter-outline, .ion-social-vimeo, .ion-social-vimeo-outline, .ion-social-windows, .ion-social-windows-outline, .ion-social-wordpress, .ion-social-wordpress-outline, .ion-social-yahoo, .ion-social-yahoo-outline, .ion-social-youtube, .ion-social-youtube-outline, .ion-speakerphone, .ion-speedometer, .ion-spoon, .ion-star, .ion-stats-bars, .ion-steam, .ion-stop, .ion-thermometer, .ion-thumbsdown, .ion-thumbsup, .ion-trash-a, .ion-trash-b, .ion-umbrella, .ion-unlocked, .ion-upload, .ion-usb, .ion-videocamera, .ion-volume-high, .ion-volume-low, .ion-volume-medium, .ion-volume-mute, .ion-waterdrop, .ion-wifi, .ion-wineglass, .ion-woman, .ion-wrench, .ion-xbox { display: inline-block; font-family: "Ionicons"; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .ion-spin, .ion-loading-a, .ion-loading-b, .ion-loading-c, .ion-loading-d, .ion-looping, .ion-refreshing, .ion-ios7-reloading { -webkit-animation: spin 1s infinite linear; -moz-animation: spin 1s infinite linear; -o-animation: spin 1s infinite linear; animation: spin 1s infinite linear; } @-moz-keyframes spin { 0% { -moz-transform: rotate(0deg); } 100% { -moz-transform: rotate(359deg); } } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); } } @-o-keyframes spin { 0% { -o-transform: rotate(0deg); } 100% { -o-transform: rotate(359deg); } } @-ms-keyframes spin { 0% { -ms-transform: rotate(0deg); } 100% { -ms-transform: rotate(359deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(359deg); } } .ion-loading-a { -webkit-animation-timing-function: steps(8, start); -moz-animation-timing-function: steps(8, start); animation-timing-function: steps(8, start); } .ion-alert:before { content: "\f101"; } .ion-alert-circled:before { content: "\f100"; } .ion-android-add:before { content: "\f2c7"; } .ion-android-add-contact:before { content: "\f2c6"; } .ion-android-alarm:before { content: "\f2c8"; } .ion-android-archive:before { content: "\f2c9"; } .ion-android-arrow-back:before { content: "\f2ca"; } .ion-android-arrow-down-left:before { content: "\f2cb"; } .ion-android-arrow-down-right:before { content: "\f2cc"; } .ion-android-arrow-up-left:before { content: "\f2cd"; } .ion-android-arrow-up-right:before { content: "\f2ce"; } .ion-android-battery:before { content: "\f2cf"; } .ion-android-book:before { content: "\f2d0"; } .ion-android-calendar:before { content: "\f2d1"; } .ion-android-call:before { content: "\f2d2"; } .ion-android-camera:before { content: "\f2d3"; } .ion-android-chat:before { content: "\f2d4"; } .ion-android-checkmark:before { content: "\f2d5"; } .ion-android-clock:before { content: "\f2d6"; } .ion-android-close:before { content: "\f2d7"; } .ion-android-contact:before { content: "\f2d8"; } .ion-android-contacts:before { content: "\f2d9"; } .ion-android-data:before { content: "\f2da"; } .ion-android-developer:before { content: "\f2db"; } .ion-android-display:before { content: "\f2dc"; } .ion-android-download:before { content: "\f2dd"; } .ion-android-dropdown:before { content: "\f2de"; } .ion-android-earth:before { content: "\f2df"; } .ion-android-folder:before { content: "\f2e0"; } .ion-android-forums:before { content: "\f2e1"; } .ion-android-friends:before { content: "\f2e2"; } .ion-android-hand:before { content: "\f2e3"; } .ion-android-image:before { content: "\f2e4"; } .ion-android-inbox:before { content: "\f2e5"; } .ion-android-information:before { content: "\f2e6"; } .ion-android-keypad:before { content: "\f2e7"; } .ion-android-lightbulb:before { content: "\f2e8"; } .ion-android-locate:before { content: "\f2e9"; } .ion-android-location:before { content: "\f2ea"; } .ion-android-mail:before { content: "\f2eb"; } .ion-android-microphone:before { content: "\f2ec"; } .ion-android-mixer:before { content: "\f2ed"; } .ion-android-more:before { content: "\f2ee"; } .ion-android-note:before { content: "\f2ef"; } .ion-android-playstore:before { content: "\f2f0"; } .ion-android-printer:before { content: "\f2f1"; } .ion-android-promotion:before { content: "\f2f2"; } .ion-android-reminder:before { content: "\f2f3"; } .ion-android-remove:before { content: "\f2f4"; } .ion-android-search:before { content: "\f2f5"; } .ion-android-send:before { content: "\f2f6"; } .ion-android-settings:before { content: "\f2f7"; } .ion-android-share:before { content: "\f2f8"; } .ion-android-social:before { content: "\f2fa"; } .ion-android-social-user:before { content: "\f2f9"; } .ion-android-sort:before { content: "\f2fb"; } .ion-android-star:before { content: "\f2fc"; } .ion-android-stopwatch:before { content: "\f2fd"; } .ion-android-storage:before { content: "\f2fe"; } .ion-android-system-back:before { content: "\f2ff"; } .ion-android-system-home:before { content: "\f300"; } .ion-android-system-windows:before { content: "\f301"; } .ion-android-timer:before { content: "\f302"; } .ion-android-trash:before { content: "\f303"; } .ion-android-volume:before { content: "\f304"; } .ion-android-wifi:before { content: "\f305"; } .ion-archive:before { content: "\f102"; } .ion-arrow-down-a:before { content: "\f103"; } .ion-arrow-down-b:before { content: "\f104"; } .ion-arrow-down-c:before { content: "\f105"; } .ion-arrow-expand:before { content: "\f25e"; } .ion-arrow-graph-down-left:before { content: "\f25f"; } .ion-arrow-graph-down-right:before { content: "\f260"; } .ion-arrow-graph-up-left:before { content: "\f261"; } .ion-arrow-graph-up-right:before { content: "\f262"; } .ion-arrow-left-a:before { content: "\f106"; } .ion-arrow-left-b:before { content: "\f107"; } .ion-arrow-left-c:before { content: "\f108"; } .ion-arrow-move:before { content: "\f263"; } .ion-arrow-resize:before { content: "\f264"; } .ion-arrow-return-left:before { content: "\f265"; } .ion-arrow-return-right:before { content: "\f266"; } .ion-arrow-right-a:before { content: "\f109"; } .ion-arrow-right-b:before { content: "\f10a"; } .ion-arrow-right-c:before { content: "\f10b"; } .ion-arrow-shrink:before { content: "\f267"; } .ion-arrow-swap:before { content: "\f268"; } .ion-arrow-up-a:before { content: "\f10c"; } .ion-arrow-up-b:before { content: "\f10d"; } .ion-arrow-up-c:before { content: "\f10e"; } .ion-at:before { content: "\f10f"; } .ion-bag:before { content: "\f110"; } .ion-battery-charging:before { content: "\f111"; } .ion-battery-empty:before { content: "\f112"; } .ion-battery-full:before { content: "\f113"; } .ion-battery-half:before { content: "\f114"; } .ion-battery-low:before { content: "\f115"; } .ion-beaker:before { content: "\f269"; } .ion-beer:before { content: "\f26a"; } .ion-bluetooth:before { content: "\f116"; } .ion-bookmark:before { content: "\f26b"; } .ion-briefcase:before { content: "\f26c"; } .ion-bug:before { content: "\f2be"; } .ion-calculator:before { content: "\f26d"; } .ion-calendar:before { content: "\f117"; } .ion-camera:before { content: "\f118"; } .ion-card:before { content: "\f119"; } .ion-chatbox:before { content: "\f11b"; } .ion-chatbox-working:before { content: "\f11a"; } .ion-chatboxes:before { content: "\f11c"; } .ion-chatbubble:before { content: "\f11e"; } .ion-chatbubble-working:before { content: "\f11d"; } .ion-chatbubbles:before { content: "\f11f"; } .ion-checkmark:before { content: "\f122"; } .ion-checkmark-circled:before { content: "\f120"; } .ion-checkmark-round:before { content: "\f121"; } .ion-chevron-down:before { content: "\f123"; } .ion-chevron-left:before { content: "\f124"; } .ion-chevron-right:before { content: "\f125"; } .ion-chevron-up:before { content: "\f126"; } .ion-clipboard:before { content: "\f127"; } .ion-clock:before { content: "\f26e"; } .ion-close:before { content: "\f12a"; } .ion-close-circled:before { content: "\f128"; } .ion-close-round:before { content: "\f129"; } .ion-cloud:before { content: "\f12b"; } .ion-code:before { content: "\f271"; } .ion-code-download:before { content: "\f26f"; } .ion-code-working:before { content: "\f270"; } .ion-coffee:before { content: "\f272"; } .ion-compass:before { content: "\f273"; } .ion-compose:before { content: "\f12c"; } .ion-connection-bars:before { content: "\f274"; } .ion-contrast:before { content: "\f275"; } .ion-disc:before { content: "\f12d"; } .ion-document:before { content: "\f12f"; } .ion-document-text:before { content: "\f12e"; } .ion-drag:before { content: "\f130"; } .ion-earth:before { content: "\f276"; } .ion-edit:before { content: "\f2bf"; } .ion-egg:before { content: "\f277"; } .ion-eject:before { content: "\f131"; } .ion-email:before { content: "\f132"; } .ion-eye:before { content: "\f133"; } .ion-eye-disabled:before { content: "\f306"; } .ion-female:before { content: "\f278"; } .ion-filing:before { content: "\f134"; } .ion-film-marker:before { content: "\f135"; } .ion-flag:before { content: "\f279"; } .ion-flash:before { content: "\f137"; } .ion-flash-off:before { content: "\f136"; } .ion-flask:before { content: "\f138"; } .ion-folder:before { content: "\f139"; } .ion-fork:before { content: "\f27a"; } .ion-fork-repo:before { content: "\f2c0"; } .ion-forward:before { content: "\f13a"; } .ion-game-controller-a:before { content: "\f13b"; } .ion-game-controller-b:before { content: "\f13c"; } .ion-gear-a:before { content: "\f13d"; } .ion-gear-b:before { content: "\f13e"; } .ion-grid:before { content: "\f13f"; } .ion-hammer:before { content: "\f27b"; } .ion-headphone:before { content: "\f140"; } .ion-heart:before { content: "\f141"; } .ion-help:before { content: "\f143"; } .ion-help-buoy:before { content: "\f27c"; } .ion-help-circled:before { content: "\f142"; } .ion-home:before { content: "\f144"; } .ion-icecream:before { content: "\f27d"; } .ion-icon-social-google-plus:before { content: "\f146"; } .ion-icon-social-google-plus-outline:before { content: "\f145"; } .ion-image:before { content: "\f147"; } .ion-images:before { content: "\f148"; } .ion-information:before { content: "\f14a"; } .ion-information-circled:before { content: "\f149"; } .ion-ionic:before { content: "\f14b"; } .ion-ios7-alarm:before { content: "\f14d"; } .ion-ios7-alarm-outline:before { content: "\f14c"; } .ion-ios7-albums:before { content: "\f14f"; } .ion-ios7-albums-outline:before { content: "\f14e"; } .ion-ios7-arrow-back:before { content: "\f150"; } .ion-ios7-arrow-down:before { content: "\f151"; } .ion-ios7-arrow-forward:before { content: "\f152"; } .ion-ios7-arrow-left:before { content: "\f153"; } .ion-ios7-arrow-right:before { content: "\f154"; } .ion-ios7-arrow-thin-down:before { content: "\f27e"; } .ion-ios7-arrow-thin-left:before { content: "\f27f"; } .ion-ios7-arrow-thin-right:before { content: "\f280"; } .ion-ios7-arrow-thin-up:before { content: "\f281"; } .ion-ios7-arrow-up:before { content: "\f155"; } .ion-ios7-at:before { content: "\f157"; } .ion-ios7-at-outline:before { content: "\f156"; } .ion-ios7-bell:before { content: "\f159"; } .ion-ios7-bell-outline:before { content: "\f158"; } .ion-ios7-bolt:before { content: "\f15b"; } .ion-ios7-bolt-outline:before { content: "\f15a"; } .ion-ios7-bookmarks:before { content: "\f15d"; } .ion-ios7-bookmarks-outline:before { content: "\f15c"; } .ion-ios7-box:before { content: "\f15f"; } .ion-ios7-box-outline:before { content: "\f15e"; } .ion-ios7-briefcase:before { content: "\f283"; } .ion-ios7-briefcase-outline:before { content: "\f282"; } .ion-ios7-browsers:before { content: "\f161"; } .ion-ios7-browsers-outline:before { content: "\f160"; } .ion-ios7-calculator:before { content: "\f285"; } .ion-ios7-calculator-outline:before { content: "\f284"; } .ion-ios7-calendar:before { content: "\f163"; } .ion-ios7-calendar-outline:before { content: "\f162"; } .ion-ios7-camera:before { content: "\f165"; } .ion-ios7-camera-outline:before { content: "\f164"; } .ion-ios7-cart:before { content: "\f167"; } .ion-ios7-cart-outline:before { content: "\f166"; } .ion-ios7-chatboxes:before { content: "\f169"; } .ion-ios7-chatboxes-outline:before { content: "\f168"; } .ion-ios7-chatbubble:before { content: "\f16b"; } .ion-ios7-chatbubble-outline:before { content: "\f16a"; } .ion-ios7-checkmark:before { content: "\f16e"; } .ion-ios7-checkmark-empty:before { content: "\f16c"; } .ion-ios7-checkmark-outline:before { content: "\f16d"; } .ion-ios7-circle-filled:before { content: "\f16f"; } .ion-ios7-circle-outline:before { content: "\f170"; } .ion-ios7-clock:before { content: "\f172"; } .ion-ios7-clock-outline:before { content: "\f171"; } .ion-ios7-close:before { content: "\f2bc"; } .ion-ios7-close-empty:before { content: "\f2bd"; } .ion-ios7-close-outline:before { content: "\f2bb"; } .ion-ios7-cloud:before { content: "\f178"; } .ion-ios7-cloud-download:before { content: "\f174"; } .ion-ios7-cloud-download-outline:before { content: "\f173"; } .ion-ios7-cloud-outline:before { content: "\f175"; } .ion-ios7-cloud-upload:before { content: "\f177"; } .ion-ios7-cloud-upload-outline:before { content: "\f176"; } .ion-ios7-cloudy:before { content: "\f17a"; } .ion-ios7-cloudy-night:before { content: "\f308"; } .ion-ios7-cloudy-night-outline:before { content: "\f307"; } .ion-ios7-cloudy-outline:before { content: "\f179"; } .ion-ios7-cog:before { content: "\f17c"; } .ion-ios7-cog-outline:before { content: "\f17b"; } .ion-ios7-compose:before { content: "\f17e"; } .ion-ios7-compose-outline:before { content: "\f17d"; } .ion-ios7-contact:before { content: "\f180"; } .ion-ios7-contact-outline:before { content: "\f17f"; } .ion-ios7-copy:before { content: "\f182"; } .ion-ios7-copy-outline:before { content: "\f181"; } .ion-ios7-download:before { content: "\f184"; } .ion-ios7-download-outline:before { content: "\f183"; } .ion-ios7-drag:before { content: "\f185"; } .ion-ios7-email:before { content: "\f187"; } .ion-ios7-email-outline:before { content: "\f186"; } .ion-ios7-eye:before { content: "\f189"; } .ion-ios7-eye-outline:before { content: "\f188"; } .ion-ios7-fastforward:before { content: "\f18b"; } .ion-ios7-fastforward-outline:before { content: "\f18a"; } .ion-ios7-filing:before { content: "\f18d"; } .ion-ios7-filing-outline:before { content: "\f18c"; } .ion-ios7-film:before { content: "\f18f"; } .ion-ios7-film-outline:before { content: "\f18e"; } .ion-ios7-flag:before { content: "\f191"; } .ion-ios7-flag-outline:before { content: "\f190"; } .ion-ios7-folder:before { content: "\f193"; } .ion-ios7-folder-outline:before { content: "\f192"; } .ion-ios7-gear:before { content: "\f195"; } .ion-ios7-gear-outline:before { content: "\f194"; } .ion-ios7-glasses:before { content: "\f197"; } .ion-ios7-glasses-outline:before { content: "\f196"; } .ion-ios7-heart:before { content: "\f199"; } .ion-ios7-heart-outline:before { content: "\f198"; } .ion-ios7-help:before { content: "\f19c"; } .ion-ios7-help-empty:before { content: "\f19a"; } .ion-ios7-help-outline:before { content: "\f19b"; } .ion-ios7-infinite:before { content: "\f19e"; } .ion-ios7-infinite-outline:before { content: "\f19d"; } .ion-ios7-information:before { content: "\f1a1"; } .ion-ios7-information-empty:before { content: "\f19f"; } .ion-ios7-information-outline:before { content: "\f1a0"; } .ion-ios7-ionic-outline:before { content: "\f1a2"; } .ion-ios7-keypad:before { content: "\f1a4"; } .ion-ios7-keypad-outline:before { content: "\f1a3"; } .ion-ios7-lightbulb:before { content: "\f287"; } .ion-ios7-lightbulb-outline:before { content: "\f286"; } .ion-ios7-location:before { content: "\f1a6"; } .ion-ios7-location-outline:before { content: "\f1a5"; } .ion-ios7-locked:before { content: "\f1a8"; } .ion-ios7-locked-outline:before { content: "\f1a7"; } .ion-ios7-medkit:before { content: "\f289"; } .ion-ios7-medkit-outline:before { content: "\f288"; } .ion-ios7-mic:before { content: "\f1ab"; } .ion-ios7-mic-off:before { content: "\f1a9"; } .ion-ios7-mic-outline:before { content: "\f1aa"; } .ion-ios7-minus:before { content: "\f1ae"; } .ion-ios7-minus-empty:before { content: "\f1ac"; } .ion-ios7-minus-outline:before { content: "\f1ad"; } .ion-ios7-monitor:before { content: "\f1b0"; } .ion-ios7-monitor-outline:before { content: "\f1af"; } .ion-ios7-moon:before { content: "\f1b2"; } .ion-ios7-moon-outline:before { content: "\f1b1"; } .ion-ios7-more:before { content: "\f1b4"; } .ion-ios7-more-outline:before { content: "\f1b3"; } .ion-ios7-musical-note:before { content: "\f1b5"; } .ion-ios7-musical-notes:before { content: "\f1b6"; } .ion-ios7-navigate:before { content: "\f1b8"; } .ion-ios7-navigate-outline:before { content: "\f1b7"; } .ion-ios7-paperplane:before { content: "\f1ba"; } .ion-ios7-paperplane-outline:before { content: "\f1b9"; } .ion-ios7-partlysunny:before { content: "\f1bc"; } .ion-ios7-partlysunny-outline:before { content: "\f1bb"; } .ion-ios7-pause:before { content: "\f1be"; } .ion-ios7-pause-outline:before { content: "\f1bd"; } .ion-ios7-people:before { content: "\f1c0"; } .ion-ios7-people-outline:before { content: "\f1bf"; } .ion-ios7-person:before { content: "\f1c2"; } .ion-ios7-person-outline:before { content: "\f1c1"; } .ion-ios7-personadd:before { content: "\f1c4"; } .ion-ios7-personadd-outline:before { content: "\f1c3"; } .ion-ios7-photos:before { content: "\f1c6"; } .ion-ios7-photos-outline:before { content: "\f1c5"; } .ion-ios7-pie:before { content: "\f28b"; } .ion-ios7-pie-outline:before { content: "\f28a"; } .ion-ios7-play:before { content: "\f1c8"; } .ion-ios7-play-outline:before { content: "\f1c7"; } .ion-ios7-plus:before { content: "\f1cb"; } .ion-ios7-plus-empty:before { content: "\f1c9"; } .ion-ios7-plus-outline:before { content: "\f1ca"; } .ion-ios7-pricetag:before { content: "\f28d"; } .ion-ios7-pricetag-outline:before { content: "\f28c"; } .ion-ios7-printer:before { content: "\f1cd"; } .ion-ios7-printer-outline:before { content: "\f1cc"; } .ion-ios7-rainy:before { content: "\f1cf"; } .ion-ios7-rainy-outline:before { content: "\f1ce"; } .ion-ios7-recording:before { content: "\f1d1"; } .ion-ios7-recording-outline:before { content: "\f1d0"; } .ion-ios7-redo:before { content: "\f1d3"; } .ion-ios7-redo-outline:before { content: "\f1d2"; } .ion-ios7-refresh:before { content: "\f1d6"; } .ion-ios7-refresh-empty:before { content: "\f1d4"; } .ion-ios7-refresh-outline:before { content: "\f1d5"; } .ion-ios7-reload:before, .ion-ios7-reloading:before { content: "\f28e"; } .ion-ios7-rewind:before { content: "\f1d8"; } .ion-ios7-rewind-outline:before { content: "\f1d7"; } .ion-ios7-search:before { content: "\f1da"; } .ion-ios7-search-strong:before { content: "\f1d9"; } .ion-ios7-skipbackward:before { content: "\f1dc"; } .ion-ios7-skipbackward-outline:before { content: "\f1db"; } .ion-ios7-skipforward:before { content: "\f1de"; } .ion-ios7-skipforward-outline:before { content: "\f1dd"; } .ion-ios7-snowy:before { content: "\f309"; } .ion-ios7-speedometer:before { content: "\f290"; } .ion-ios7-speedometer-outline:before { content: "\f28f"; } .ion-ios7-star:before { content: "\f1e0"; } .ion-ios7-star-outline:before { content: "\f1df"; } .ion-ios7-stopwatch:before { content: "\f1e2"; } .ion-ios7-stopwatch-outline:before { content: "\f1e1"; } .ion-ios7-sunny:before { content: "\f1e4"; } .ion-ios7-sunny-outline:before { content: "\f1e3"; } .ion-ios7-telephone:before { content: "\f1e6"; } .ion-ios7-telephone-outline:before { content: "\f1e5"; } .ion-ios7-thunderstorm:before { content: "\f1e8"; } .ion-ios7-thunderstorm-outline:before { content: "\f1e7"; } .ion-ios7-time:before { content: "\f292"; } .ion-ios7-time-outline:before { content: "\f291"; } .ion-ios7-timer:before { content: "\f1ea"; } .ion-ios7-timer-outline:before { content: "\f1e9"; } .ion-ios7-trash:before { content: "\f1ec"; } .ion-ios7-trash-outline:before { content: "\f1eb"; } .ion-ios7-undo:before { content: "\f1ee"; } .ion-ios7-undo-outline:before { content: "\f1ed"; } .ion-ios7-unlocked:before { content: "\f1f0"; } .ion-ios7-unlocked-outline:before { content: "\f1ef"; } .ion-ios7-upload:before { content: "\f1f2"; } .ion-ios7-upload-outline:before { content: "\f1f1"; } .ion-ios7-videocam:before { content: "\f1f4"; } .ion-ios7-videocam-outline:before { content: "\f1f3"; } .ion-ios7-volume-high:before { content: "\f1f5"; } .ion-ios7-volume-low:before { content: "\f1f6"; } .ion-ios7-wineglass:before { content: "\f294"; } .ion-ios7-wineglass-outline:before { content: "\f293"; } .ion-ios7-world:before { content: "\f1f8"; } .ion-ios7-world-outline:before { content: "\f1f7"; } .ion-ipad:before { content: "\f1f9"; } .ion-iphone:before { content: "\f1fa"; } .ion-ipod:before { content: "\f1fb"; } .ion-jet:before { content: "\f295"; } .ion-key:before { content: "\f296"; } .ion-knife:before { content: "\f297"; } .ion-laptop:before { content: "\f1fc"; } .ion-leaf:before { content: "\f1fd"; } .ion-levels:before { content: "\f298"; } .ion-lightbulb:before { content: "\f299"; } .ion-link:before { content: "\f1fe"; } .ion-load-a:before, .ion-loading-a:before { content: "\f29a"; } .ion-load-b:before, .ion-loading-b:before { content: "\f29b"; } .ion-load-c:before, .ion-loading-c:before { content: "\f29c"; } .ion-load-d:before, .ion-loading-d:before { content: "\f29d"; } .ion-location:before { content: "\f1ff"; } .ion-locked:before { content: "\f200"; } .ion-log-in:before { content: "\f29e"; } .ion-log-out:before { content: "\f29f"; } .ion-loop:before, .ion-looping:before { content: "\f201"; } .ion-magnet:before { content: "\f2a0"; } .ion-male:before { content: "\f2a1"; } .ion-man:before { content: "\f202"; } .ion-map:before { content: "\f203"; } .ion-medkit:before { content: "\f2a2"; } .ion-mic-a:before { content: "\f204"; } .ion-mic-b:before { content: "\f205"; } .ion-mic-c:before { content: "\f206"; } .ion-minus:before { content: "\f209"; } .ion-minus-circled:before { content: "\f207"; } .ion-minus-round:before { content: "\f208"; } .ion-model-s:before { content: "\f2c1"; } .ion-monitor:before { content: "\f20a"; } .ion-more:before { content: "\f20b"; } .ion-music-note:before { content: "\f20c"; } .ion-navicon:before { content: "\f20e"; } .ion-navicon-round:before { content: "\f20d"; } .ion-navigate:before { content: "\f2a3"; } .ion-no-smoking:before { content: "\f2c2"; } .ion-nuclear:before { content: "\f2a4"; } .ion-paper-airplane:before { content: "\f2c3"; } .ion-paperclip:before { content: "\f20f"; } .ion-pause:before { content: "\f210"; } .ion-person:before { content: "\f213"; } .ion-person-add:before { content: "\f211"; } .ion-person-stalker:before { content: "\f212"; } .ion-pie-graph:before { content: "\f2a5"; } .ion-pin:before { content: "\f2a6"; } .ion-pinpoint:before { content: "\f2a7"; } .ion-pizza:before { content: "\f2a8"; } .ion-plane:before { content: "\f214"; } .ion-play:before { content: "\f215"; } .ion-playstation:before { content: "\f30a"; } .ion-plus:before { content: "\f218"; } .ion-plus-circled:before { content: "\f216"; } .ion-plus-round:before { content: "\f217"; } .ion-pound:before { content: "\f219"; } .ion-power:before { content: "\f2a9"; } .ion-pricetag:before { content: "\f2aa"; } .ion-pricetags:before { content: "\f2ab"; } .ion-printer:before { content: "\f21a"; } .ion-radio-waves:before { content: "\f2ac"; } .ion-record:before { content: "\f21b"; } .ion-refresh:before, .ion-refreshing:before { content: "\f21c"; } .ion-reply:before { content: "\f21e"; } .ion-reply-all:before { content: "\f21d"; } .ion-search:before { content: "\f21f"; } .ion-settings:before { content: "\f2ad"; } .ion-share:before { content: "\f220"; } .ion-shuffle:before { content: "\f221"; } .ion-skip-backward:before { content: "\f222"; } .ion-skip-forward:before { content: "\f223"; } .ion-social-android:before { content: "\f225"; } .ion-social-android-outline:before { content: "\f224"; } .ion-social-apple:before { content: "\f227"; } .ion-social-apple-outline:before { content: "\f226"; } .ion-social-bitcoin:before { content: "\f2af"; } .ion-social-bitcoin-outline:before { content: "\f2ae"; } .ion-social-buffer:before { content: "\f229"; } .ion-social-buffer-outline:before { content: "\f228"; } .ion-social-designernews:before { content: "\f22b"; } .ion-social-designernews-outline:before { content: "\f22a"; } .ion-social-dribbble:before { content: "\f22d"; } .ion-social-dribbble-outline:before { content: "\f22c"; } .ion-social-dropbox:before { content: "\f22f"; } .ion-social-dropbox-outline:before { content: "\f22e"; } .ion-social-facebook:before { content: "\f231"; } .ion-social-facebook-outline:before { content: "\f230"; } .ion-social-freebsd-devil:before { content: "\f2c4"; } .ion-social-github:before { content: "\f233"; } .ion-social-github-outline:before { content: "\f232"; } .ion-social-googleplus:before { content: "\f235"; } .ion-social-googleplus-outline:before { content: "\f234"; } .ion-social-hackernews:before { content: "\f237"; } .ion-social-hackernews-outline:before { content: "\f236"; } .ion-social-linkedin:before { content: "\f239"; } .ion-social-linkedin-outline:before { content: "\f238"; } .ion-social-pinterest:before { content: "\f2b1"; } .ion-social-pinterest-outline:before { content: "\f2b0"; } .ion-social-reddit:before { content: "\f23b"; } .ion-social-reddit-outline:before { content: "\f23a"; } .ion-social-rss:before { content: "\f23d"; } .ion-social-rss-outline:before { content: "\f23c"; } .ion-social-skype:before { content: "\f23f"; } .ion-social-skype-outline:before { content: "\f23e"; } .ion-social-tumblr:before { content: "\f241"; } .ion-social-tumblr-outline:before { content: "\f240"; } .ion-social-tux:before { content: "\f2c5"; } .ion-social-twitter:before { content: "\f243"; } .ion-social-twitter-outline:before { content: "\f242"; } .ion-social-vimeo:before { content: "\f245"; } .ion-social-vimeo-outline:before { content: "\f244"; } .ion-social-windows:before { content: "\f247"; } .ion-social-windows-outline:before { content: "\f246"; } .ion-social-wordpress:before { content: "\f249"; } .ion-social-wordpress-outline:before { content: "\f248"; } .ion-social-yahoo:before { content: "\f24b"; } .ion-social-yahoo-outline:before { content: "\f24a"; } .ion-social-youtube:before { content: "\f24d"; } .ion-social-youtube-outline:before { content: "\f24c"; } .ion-speakerphone:before { content: "\f2b2"; } .ion-speedometer:before { content: "\f2b3"; } .ion-spoon:before { content: "\f2b4"; } .ion-star:before { content: "\f24e"; } .ion-stats-bars:before { content: "\f2b5"; } .ion-steam:before { content: "\f30b"; } .ion-stop:before { content: "\f24f"; } .ion-thermometer:before { content: "\f2b6"; } .ion-thumbsdown:before { content: "\f250"; } .ion-thumbsup:before { content: "\f251"; } .ion-trash-a:before { content: "\f252"; } .ion-trash-b:before { content: "\f253"; } .ion-umbrella:before { content: "\f2b7"; } .ion-unlocked:before { content: "\f254"; } .ion-upload:before { content: "\f255"; } .ion-usb:before { content: "\f2b8"; } .ion-videocamera:before { content: "\f256"; } .ion-volume-high:before { content: "\f257"; } .ion-volume-low:before { content: "\f258"; } .ion-volume-medium:before { content: "\f259"; } .ion-volume-mute:before { content: "\f25a"; } .ion-waterdrop:before { content: "\f25b"; } .ion-wifi:before { content: "\f25c"; } .ion-wineglass:before { content: "\f2b9"; } .ion-woman:before { content: "\f25d"; } .ion-wrench:before { content: "\f2ba"; } .ion-xbox:before { content: "\f30c"; } ================================================ FILE: content/css/job.css ================================================ /* @license * MyFonts Webfont Build ID 2656303, 2013-10-02T11:03:28-0400 * * The fonts listed in this notice are subject to the End User License * Agreement(s) entered into by the website owner. All other parties are * explicitly restricted from using the Licensed Webfonts(s). * * You may obtain a valid license at the URLs below. * * Webfont: Avenir Next Pro Regular by Linotype * URL: http://www.myfonts.com/fonts/linotype/avenir-next-pro/pro-regular/ * * Webfont: Avenir Next Pro Medium by Linotype * URL: http://www.myfonts.com/fonts/linotype/avenir-next-pro/pro-medium/ * * * License: http://www.myfonts.com/viewlicense?type=web&buildid=2656303 * Licensed pageviews: 250,000 * Webfonts copyright: Copyright © 2004 - 2007 Linotype GmbH, www.linotype.com. All rights reserved. This font software may not be reproduced, modified, disclosed or transferred without the express written approval of Linotype GmbH. Avenir is a trademark of Linotype GmbH * * © 2013 MyFonts Inc */ /* @import must be at top of file, otherwise CSS will not work @import url("//hello.myfonts.net/count/28882f");*/ /* Avenir Next Pro */ @font-face {font-family: 'AvenirNextLTPro-Regular';src: url('https://code.ionicframework.com/assets/fonts/28882F_0_0.eot');src: url('https://code.ionicframework.com/assets/fonts/28882F_0_0.eot?#iefix') format('embedded-opentype'),url('https://code.ionicframework.com/assets/fonts/28882F_0_0.woff') format('woff'),url('https://code.ionicframework.com/assets/fonts/28882F_0_0.ttf') format('truetype');} @font-face {font-family: 'AvenirNextLTPro-Medium';src: url('https://code.ionicframework.com/assets/fonts/28882F_1_0.eot');src: url('https://code.ionicframework.com/assets/fonts/28882F_1_0.eot?#iefix') format('embedded-opentype'),url('https://code.ionicframework.com/assets/fonts/28882F_1_0.woff') format('woff'),url('https://code.ionicframework.com/assets/fonts/28882F_1_0.ttf') format('truetype');} @font-face {font-family: 'AvenirNextLTPro-UltLt';src: url('https://code.ionicframework.com/assets/fonts/29CC36_0_0.eot');src: url('https://code.ionicframework.com/assets/fonts/29CC36_0_0.eot?#iefix') format('embedded-opentype'),url('https://code.ionicframework.com/assets/fonts/29CC36_0_0.woff') format('woff'),url('https://code.ionicframework.com/assets/fonts/29CC36_0_0.ttf') format('truetype');} #job { } #job h1 { font-size: 40px; } #job h1, #job h2, #job h3, #job h4 { font-family: "AvenirNextLTPro-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif; color: #222; font-weight: normal; letter-spacing: -0.03rem; } #job-logo { width: 100px; display: block; margin: 60px auto; } #job-apply { margin: 30px 0px; } #office-shots img { max-width: 100%; } #office-shots .row { margin: 0; } #office-shots .row > * { padding: 1px; } #office-sidebar { padding-bottom: 40px; } ================================================ FILE: content/css/main.css ================================================ /*****************************************************************************/ /* /* Common /* /*****************************************************************************/ /* Global Reset */ * { margin: 0; padding: 0; } html, body { height: 100%; } body { background-color: #FFF; font: 13.34px Helvetica, Arial, sans-serif; font-size: small; text-align: center; } h1, h2, h3, h4, h5, h6 { font-size: 100%; } h1 { margin-bottom: 1em; } p { margin: 1em 0; } a { color: #00a; } a:hover { color: #000; } a:visited { color: #a0a; } /*****************************************************************************/ /* /* Home /* /*****************************************************************************/ ul.posts { list-style-type: none; margin-bottom: 2em; } ul.posts li { line-height: 1.75em; } ul.posts span { color: #aaa; font-family: Monaco, "Courier New", monospace; font-size: 80%; } /*****************************************************************************/ /* /* Site /* /*****************************************************************************/ .site { font-size: 115%; text-align: justify; width: 42em; margin: 3em auto 2em; line-height: 1.5em; } .site .header a { font-weight: bold; text-decoration: none; } .site .header h1.title { display: inline-block; margin-bottom: 2em; } .site .header h1.title a { color: #a00; } .site .header h1.title a:hover { color: #000; } .site .header a.extra { color: #aaa; margin-left: 1em; } .site .header a.extra:hover { color: #000; } .site .meta { color: #aaa; } .site .footer { font-size: 80%; color: #666; border-top: 4px solid #eee; margin-top: 2em; overflow: hidden; } .site .footer .contact { float: left; margin-right: 3em; } .site .footer .contact a { color: #8085C1; } .site .footer .rss { margin-top: 1.1em; margin-right: -.2em; float: right; } .site .footer .rss img { border: 0; } /*****************************************************************************/ /* /* Posts /* /*****************************************************************************/ /* standard */ .post pre { border: 1px solid #ddd; background-color: #eef; padding: 0 .4em; } .post ul, .post ol { margin-left: 1.35em; } .post code { border: 1px solid #ddd; background-color: #eef; padding: 0 .2em; } .post pre code { border: none; } /* terminal */ .post pre.terminal { border: 1px solid #000; background-color: #333; color: #FFF; } .post pre.terminal code { background-color: #333; } ================================================ FILE: content/css/nprogress.css ================================================ /* Make clicks pass-through */ #nprogress { pointer-events: none; } #nprogress .bar { background: #3777e1; position: fixed; z-index: 1031; top: 0; left: 0; width: 100%; height: 2px; } /* Fancy blur effect */ #nprogress .peg { display: block; position: absolute; right: 0px; width: 100px; height: 100%; box-shadow: 0 0 10px #3777e1, 0 0 5px #3777e1; opacity: 1.0; -webkit-transform: rotate(3deg) translate(0px, -4px); -ms-transform: rotate(3deg) translate(0px, -4px); transform: rotate(3deg) translate(0px, -4px); } /* Remove these to get rid of the spinner */ #nprogress .spinner { display: block; position: fixed; z-index: 1031; top: 15px; right: 15px; } #nprogress .spinner-icon { width: 18px; height: 18px; box-sizing: border-box; border: solid 2px transparent; border-top-color: #3777e1; border-left-color: #3777e1; border-radius: 50%; -webkit-animation: nprogress-spinner 400ms linear infinite; animation: nprogress-spinner 400ms linear infinite; } .nprogress-custom-parent { overflow: hidden; position: relative; } .nprogress-custom-parent #nprogress .spinner, .nprogress-custom-parent #nprogress .bar { position: absolute; } @-webkit-keyframes nprogress-spinner { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } @keyframes nprogress-spinner { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } ================================================ FILE: content/css/pages/about.css ================================================ #page-about .navbar.transparent + .banner { background: #181830 no-repeat center top url("/img/about-us/about-us-cta-bg.jpg"); background-size: cover; padding-top: 95px; } #page-about .navbar.transparent + .banner p { max-width: 655px; margin: 0 auto; } #page-about .about-us .content p { margin: 30px 0; } #page-about .about-us .content p.lg { font-size: 18px; line-height: 32px; } #page-about .about-us .content p.lg.light { font-size: 16px; } #page-about .about-us .graphics { background: no-repeat center top url("/img/about-us/story-graphic.png"); background-size: 139px; float: right; position: relative; top: 30px; width: 500px; } #page-about .about-us .graphics .period { width: 190px; position: relative; margin-bottom: 40px; opacity: 0; transition: opacity 0.6s, -webkit-transform 0.3s cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: opacity 0.6s, transform 0.3s cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: opacity 0.6s, transform 0.3s cubic-bezier(0.155, 1.105, 0.295, 1.12), -webkit-transform 0.3s cubic-bezier(0.155, 1.105, 0.295, 1.12); transition-delay: .4s; } #page-about .about-us .graphics .period:nth-child(2) { transition-delay: .8s; } #page-about .about-us .graphics .period:nth-child(3) { transition-delay: 1s; } #page-about .about-us .graphics .period:nth-child(4) { transition-delay: 1.2s; } #page-about .about-us .graphics .period:nth-child(5) { transition-delay: 1.4s; } #page-about .about-us .graphics .period:nth-child(6) { transition-delay: 1.6s; } #page-about .about-us .graphics .period:nth-child(7) { transition-delay: 1.8s; } #page-about .about-us .graphics .period:nth-child(8) { transition-delay: 2s; } #page-about .about-us .graphics .period.right { left: 325px; } #page-about .about-us .graphics .period:first-child { margin-top: -5px; } #page-about .about-us .graphics .period h4 { font-size: 14px; font-weight: 600; margin-bottom: 5px; } #page-about .about-us .graphics .period p { font-size: 12px; line-height: 16px; letter-spacing: 0; color: #898989; } #page-about .about-us .graphics .period strong { font-weight: 500; color: #4f545c; } #page-about .about-us .graphics.active .period { opacity: 1; } @media (max-width: 991px) { #page-about .about-us .graphics { float: none; margin: 0 auto; } #page-about .about-us .content { width: 100%; } } @media (max-width: 525px) { #page-about .about-us .graphics { -webkit-transform: scale3d(0.6, 0.6, 1); transform: scale3d(0.6, 0.6, 1); width: 300px; height: 720px; margin-top: -180px; left: -15px; } #page-about .about-us .graphics .left { left: -75px; } #page-about .about-us .graphics .period.right { left: 215px; } } #page-about section.our { background: linear-gradient(to right, #4a7dff 0%, #4fb3ff 100%); padding: 90px 0 40px; } #page-about section.our .mission { margin-left: 4.999%; } #page-about section.our .mission, #page-about section.our .philosophy { margin-bottom: 50px; width: 45%; } @media (max-width: 767px) { #page-about section.our .mission, #page-about section.our .philosophy { width: 100%; margin-left: auto; } } #page-about section.our h3 { color: white; } #page-about section.our p { color: rgba(255, 255, 255, 0.7); line-height: 1.8em; font-size: 16px; } #page-about section.our p strong, #page-about section.our p a { color: white; font-weight: 500; } #page-about section.our-neck { background: #f8fafe no-repeat center top; background-image: url("/img/about-us/madison-map.jpg"), linear-gradient(to right, #f8fafe 30%, #cad3e2 70%); background-size: 1680px, 100%; } #page-about section.our-neck .container { padding-top: 64px; height: 470px; } #page-about section.our-neck h3 { margin-bottom: 20px; } #page-about section.our-neck p { line-height: 28px; font-size: 16px; } #page-about .hero.dark { background: linear-gradient(to right, #31353d 0%, #404753 100%); padding-top: 90px; padding-bottom: 88px; } #page-about .hero.dark h3 { color: white; font-weight: 600; } #page-about .hero.dark p { color: #4a8bfc; font-weight: 500; text-decoration: none; } #page-about .hero.dark p a:hover { color: #95bbfd; text-decoration: none; } #page-about .hero.dark p span { font-size: 1.4em; top: 3px; position: relative; right: -5px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFib3V0LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtGQUFrRjtFQUNsRix1QkFBdUI7RUFDdkIsa0JBQWtCLEVBQUU7RUFDcEI7SUFDRSxpQkFBaUI7SUFDakIsZUFBZSxFQUFFOztBQUVyQjtFQUNFLGVBQWUsRUFBRTtFQUNqQjtJQUNFLGdCQUFnQjtJQUNoQixrQkFBa0IsRUFBRTtJQUNwQjtNQUNFLGdCQUFnQixFQUFFOztBQUV4QjtFQUNFLHdFQUF3RTtFQUN4RSx1QkFBdUI7RUFDdkIsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixVQUFVO0VBQ1YsYUFBYSxFQUFFO0VBQ2Y7SUFDRSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixXQUFXO0lBQ1gseUZBQWlGO0lBQWpGLGlGQUFpRjtJQUFqRixpSkFBaUY7SUFDakYsc0JBQXNCLEVBQUU7SUFDeEI7TUFDRSxzQkFBc0IsRUFBRTtJQUMxQjtNQUNFLHFCQUFxQixFQUFFO0lBQ3pCO01BQ0UsdUJBQXVCLEVBQUU7SUFDM0I7TUFDRSx1QkFBdUIsRUFBRTtJQUMzQjtNQUNFLHVCQUF1QixFQUFFO0lBQzNCO01BQ0UsdUJBQXVCLEVBQUU7SUFDM0I7TUFDRSxxQkFBcUIsRUFBRTtJQUN6QjtNQUNFLFlBQVksRUFBRTtJQUNoQjtNQUNFLGlCQUFpQixFQUFFO0lBQ3JCO01BQ0UsZ0JBQWdCO01BQ2hCLGlCQUFpQjtNQUNqQixtQkFBbUIsRUFBRTtJQUN2QjtNQUNFLGdCQUFnQjtNQUNoQixrQkFBa0I7TUFDbEIsa0JBQWtCO01BQ2xCLGVBQWUsRUFBRTtJQUNuQjtNQUNFLGlCQUFpQjtNQUNqQixlQUFlLEVBQUU7RUFDckI7SUFDRSxXQUFXLEVBQUU7O0FBRWpCO0VBQ0U7SUFDRSxZQUFZO0lBQ1osZUFBZSxFQUFFO0VBQ25CO0lBQ0UsWUFBWSxFQUFFLEVBQUU7O0FBRXBCO0VBQ0U7SUFDRSx3Q0FBZ0M7WUFBaEMsZ0NBQWdDO0lBQ2hDLGFBQWE7SUFDYixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLFlBQVksRUFBRTtJQUNkO01BQ0UsWUFBWSxFQUFFO0lBQ2hCO01BQ0UsWUFBWSxFQUFFLEVBQUU7O0FBRXRCO0VBQ0UsZ0VBQWdFO0VBQ2hFLHFCQUFxQixFQUFFO0VBQ3ZCO0lBQ0Usb0JBQW9CLEVBQUU7RUFDeEI7O0lBRUUsb0JBQW9CO0lBQ3BCLFdBQVcsRUFBRTtJQUNiO01BQ0U7O1FBRUUsWUFBWTtRQUNaLGtCQUFrQixFQUFFLEVBQUU7RUFDNUI7SUFDRSxhQUFhLEVBQUU7RUFDakI7SUFDRSxnQ0FBZ0M7SUFDaEMsbUJBQW1CO0lBQ25CLGdCQUFnQixFQUFFO0lBQ2xCOztNQUVFLGFBQWE7TUFDYixpQkFBaUIsRUFBRTs7QUFFekI7RUFDRSx5Q0FBeUM7RUFDekMsNEdBQTRHO0VBQzVHLDhCQUE4QixFQUFFO0VBQ2hDO0lBQ0Usa0JBQWtCO0lBQ2xCLGNBQWMsRUFBRTtFQUNsQjtJQUNFLG9CQUFvQixFQUFFO0VBQ3hCO0lBQ0Usa0JBQWtCO0lBQ2xCLGdCQUFnQixFQUFFOztBQUV0QjtFQUNFLGdFQUFnRTtFQUNoRSxrQkFBa0I7RUFDbEIscUJBQXFCLEVBQUU7RUFDdkI7SUFDRSxhQUFhO0lBQ2IsaUJBQWlCLEVBQUU7RUFDckI7SUFDRSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLHNCQUFzQixFQUFFO0lBQ3hCO01BQ0UsZUFBZTtNQUNmLHNCQUFzQixFQUFFO0lBQzFCO01BQ0UsaUJBQWlCO01BQ2pCLFNBQVM7TUFDVCxtQkFBbUI7TUFDbkIsWUFBWSxFQUFFIiwiZmlsZSI6InBhZ2VzL2Fib3V0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNwYWdlLWFib3V0IC5uYXZiYXIudHJhbnNwYXJlbnQgKyAuYmFubmVyIHtcbiAgYmFja2dyb3VuZDogIzE4MTgzMCBuby1yZXBlYXQgY2VudGVyIHRvcCB1cmwoXCIvaW1nL2Fib3V0LXVzL2Fib3V0LXVzLWN0YS1iZy5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBhZGRpbmctdG9wOiA5NXB4OyB9XG4gICNwYWdlLWFib3V0IC5uYXZiYXIudHJhbnNwYXJlbnQgKyAuYmFubmVyIHAge1xuICAgIG1heC13aWR0aDogNjU1cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuI3BhZ2UtYWJvdXQgLmFib3V0LXVzIC5jb250ZW50IHAge1xuICBtYXJnaW46IDMwcHggMDsgfVxuICAjcGFnZS1hYm91dCAuYWJvdXQtdXMgLmNvbnRlbnQgcC5sZyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9XG4gICAgI3BhZ2UtYWJvdXQgLmFib3V0LXVzIC5jb250ZW50IHAubGcubGlnaHQge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG5cbiNwYWdlLWFib3V0IC5hYm91dC11cyAuZ3JhcGhpY3Mge1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIHRvcCB1cmwoXCIvaW1nL2Fib3V0LXVzL3N0b3J5LWdyYXBoaWMucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEzOXB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAzMHB4O1xuICB3aWR0aDogNTAwcHg7IH1cbiAgI3BhZ2UtYWJvdXQgLmFib3V0LXVzIC5ncmFwaGljcyAucGVyaW9kIHtcbiAgICB3aWR0aDogMTkwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMsIHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjE1NSwgMS4xMDUsIDAuMjk1LCAxLjEyKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNHM7IH1cbiAgICAjcGFnZS1hYm91dCAuYWJvdXQtdXMgLmdyYXBoaWNzIC5wZXJpb2Q6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC44czsgfVxuICAgICNwYWdlLWFib3V0IC5hYm91dC11cyAuZ3JhcGhpY3MgLnBlcmlvZDpudGgtY2hpbGQoMykge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMXM7IH1cbiAgICAjcGFnZS1hYm91dCAuYWJvdXQtdXMgLmdyYXBoaWNzIC5wZXJpb2Q6bnRoLWNoaWxkKDQpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuMnM7IH1cbiAgICAjcGFnZS1hYm91dCAuYWJvdXQtdXMgLmdyYXBoaWNzIC5wZXJpb2Q6bnRoLWNoaWxkKDUpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuNHM7IH1cbiAgICAjcGFnZS1hYm91dCAuYWJvdXQtdXMgLmdyYXBoaWNzIC5wZXJpb2Q6bnRoLWNoaWxkKDYpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuNnM7IH1cbiAgICAjcGFnZS1hYm91dCAuYWJvdXQtdXMgLmdyYXBoaWNzIC5wZXJpb2Q6bnRoLWNoaWxkKDcpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuOHM7IH1cbiAgICAjcGFnZS1hYm91dCAuYWJvdXQtdXMgLmdyYXBoaWNzIC5wZXJpb2Q6bnRoLWNoaWxkKDgpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDJzOyB9XG4gICAgI3BhZ2UtYWJvdXQgLmFib3V0LXVzIC5ncmFwaGljcyAucGVyaW9kLnJpZ2h0IHtcbiAgICAgIGxlZnQ6IDMyNXB4OyB9XG4gICAgI3BhZ2UtYWJvdXQgLmFib3V0LXVzIC5ncmFwaGljcyAucGVyaW9kOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7IH1cbiAgICAjcGFnZS1hYm91dCAuYWJvdXQtdXMgLmdyYXBoaWNzIC5wZXJpb2QgaDQge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgICNwYWdlLWFib3V0IC5hYm91dC11cyAuZ3JhcGhpY3MgLnBlcmlvZCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBjb2xvcjogIzg5ODk4OTsgfVxuICAgICNwYWdlLWFib3V0IC5hYm91dC11cyAuZ3JhcGhpY3MgLnBlcmlvZCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjNGY1NDVjOyB9XG4gICNwYWdlLWFib3V0IC5hYm91dC11cyAuZ3JhcGhpY3MuYWN0aXZlIC5wZXJpb2Qge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICNwYWdlLWFib3V0IC5hYm91dC11cyAuZ3JhcGhpY3Mge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICNwYWdlLWFib3V0IC5hYm91dC11cyAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTI1cHgpIHtcbiAgI3BhZ2UtYWJvdXQgLmFib3V0LXVzIC5ncmFwaGljcyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNiwgMC42LCAxKTtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgaGVpZ2h0OiA3MjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTgwcHg7XG4gICAgbGVmdDogLTE1cHg7IH1cbiAgICAjcGFnZS1hYm91dCAuYWJvdXQtdXMgLmdyYXBoaWNzIC5sZWZ0IHtcbiAgICAgIGxlZnQ6IC03NXB4OyB9XG4gICAgI3BhZ2UtYWJvdXQgLmFib3V0LXVzIC5ncmFwaGljcyAucGVyaW9kLnJpZ2h0IHtcbiAgICAgIGxlZnQ6IDIxNXB4OyB9IH1cblxuI3BhZ2UtYWJvdXQgc2VjdGlvbi5vdXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM0YTdkZmYgMCUsICM0ZmIzZmYgMTAwJSk7XG4gIHBhZGRpbmc6IDkwcHggMCA0MHB4OyB9XG4gICNwYWdlLWFib3V0IHNlY3Rpb24ub3VyIC5taXNzaW9uIHtcbiAgICBtYXJnaW4tbGVmdDogNC45OTklOyB9XG4gICNwYWdlLWFib3V0IHNlY3Rpb24ub3VyIC5taXNzaW9uLFxuICAjcGFnZS1hYm91dCBzZWN0aW9uLm91ciAucGhpbG9zb3BoeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB3aWR0aDogNDUlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1hYm91dCBzZWN0aW9uLm91ciAubWlzc2lvbixcbiAgICAgICNwYWdlLWFib3V0IHNlY3Rpb24ub3VyIC5waGlsb3NvcGh5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgI3BhZ2UtYWJvdXQgc2VjdGlvbi5vdXIgaDMge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAjcGFnZS1hYm91dCBzZWN0aW9uLm91ciBwIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAjcGFnZS1hYm91dCBzZWN0aW9uLm91ciBwIHN0cm9uZyxcbiAgICAjcGFnZS1hYm91dCBzZWN0aW9uLm91ciBwIGEge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4jcGFnZS1hYm91dCBzZWN0aW9uLm91ci1uZWNrIHtcbiAgYmFja2dyb3VuZDogI2Y4ZmFmZSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9hYm91dC11cy9tYWRpc29uLW1hcC5qcGdcIiksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2Y4ZmFmZSAzMCUsICNjYWQzZTIgNzAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNjgwcHgsIDEwMCU7IH1cbiAgI3BhZ2UtYWJvdXQgc2VjdGlvbi5vdXItbmVjayAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogNjRweDtcbiAgICBoZWlnaHQ6IDQ3MHB4OyB9XG4gICNwYWdlLWFib3V0IHNlY3Rpb24ub3VyLW5lY2sgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgI3BhZ2UtYWJvdXQgc2VjdGlvbi5vdXItbmVjayBwIHtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cblxuI3BhZ2UtYWJvdXQgLmhlcm8uZGFyayB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzMxMzUzZCAwJSwgIzQwNDc1MyAxMDAlKTtcbiAgcGFkZGluZy10b3A6IDkwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA4OHB4OyB9XG4gICNwYWdlLWFib3V0IC5oZXJvLmRhcmsgaDMge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNwYWdlLWFib3V0IC5oZXJvLmRhcmsgcCB7XG4gICAgY29sb3I6ICM0YThiZmM7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAjcGFnZS1hYm91dCAuaGVyby5kYXJrIHAgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzk1YmJmZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICNwYWdlLWFib3V0IC5oZXJvLmRhcmsgcCBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICB0b3A6IDNweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHJpZ2h0OiAtNXB4OyB9XG4iXX0= */ ================================================ FILE: content/css/pages/case-studies.css ================================================ #page-case-studies .sub-header .download { padding-right: 0; text-transform: uppercase; letter-spacing: .02em; font-size: 12px; } #page-case-studies main hgroup { margin-top: 24px; margin-bottom: 53px; } @media (max-width: 767px) { #page-case-studies main hgroup { margin-bottom: 0; } } #page-case-studies main hgroup strong { text-transform: uppercase; font-size: 11px; font-weight: 600; color: #9cabc4; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-case-studies main hgroup h4 { margin-top: 62px; font-size: 12px; color: #92A1B3; text-transform: uppercase; letter-spacing: .14em; } #page-case-studies main hgroup h1 { font-size: 46px; margin-top: 56px; } #page-case-studies main hgroup p { font-weight: 400; color: #898989; max-width: 750px; margin: 13px auto; font-size: 20px; line-height: 1.8em; letter-spacing: .01em; } #page-case-studies main hgroup .byline { font-style: normal; font-weight: normal; line-height: 29px; font-size: 16px; letter-spacing: -0.02em; color: #92A1B3; margin-bottom: 42px; } #page-case-studies main hgroup .byline .avatar { width: 28px; height: 28px; margin: 0 8px 0 0; border-radius: 50%; display: inline-block; } #page-case-studies main hgroup .byline .tags { padding: 0; margin-left: 4px; list-style: none; vertical-align: 2px; display: inline-block; } #page-case-studies main hgroup .byline .tags li { font-size: 10px; color: #ced6e0; background: transparent; padding: 3px 5px 4px; line-height: 1em; margin-right: 2px; font-weight: 600; text-transform: uppercase; border-radius: 4px; letter-spacing: 0.08em; vertical-align: 1px; display: inline-block; border: 1px solid #E9EDF3; } #page-case-studies main hgroup img { margin: 24px auto; max-width: 100%; } #page-case-studies main { display: -ms-flexbox; display: flex; overflow: visible; padding-bottom: 160px; } @media (max-width: 768px) { #page-case-studies main { padding-bottom: 80px; } } @media (max-width: 767px) { #page-case-studies main { -ms-flex-direction: column; flex-direction: column; } } #page-case-studies .sticky-wrapper { position: -webkit-sticky; position: sticky; top: 128px; } #page-case-studies aside { -ms-flex: 0 1 208px; flex: 0 1 208px; padding-right: 20px; margin-bottom: 0; margin-top: 52px; } #page-case-studies aside h4 { font-size: 10px; text-transform: uppercase; color: #a4b3cc; font-weight: 600; letter-spacing: .16em; } #page-case-studies aside ul { padding: 0; font-size: 14px; margin: 9px 0 30px; list-style: none; line-height: 1.4em; } @media (max-width: 1219px) { #page-case-studies aside ul { font-size: 12px; } } #page-case-studies aside li { margin: 12px 0 13px; } #page-case-studies aside a { color: #52678c; display: block; transition: .2s transform ease, .2s color; } #page-case-studies aside a:hover, #page-case-studies aside a:active, #page-case-studies aside a:focus, #page-case-studies aside a.active { color: #4a8bfc; text-decoration: none; } #page-case-studies aside a.active { -webkit-transform: translateX(8px); transform: translateX(8px); } #page-case-studies aside .btn { margin: 0 0 32px; } #page-case-studies aside .lightblue { background: #e6f0f8; color: #4a8bfc; border-radius: 4px; padding: 9px 16px; display: inline-block; font-size: 11px; text-transform: uppercase; font-weight: 700; letter-spacing: .07em; } #page-case-studies aside .lightblue ion-icon { font-size: 18px; vertical-align: -5px; } #page-case-studies aside .sharing { margin: 0; border-top: 2px solid #f3f5f9; padding-top: 26px; } #page-case-studies aside .sharing li { margin: 0; margin-right: 6px; display: inline-block; } #page-case-studies aside .sharing a { color: #CBD2DD; font-size: 20px; } #page-case-studies aside .sharing a:hover { color: #4a8bfc; } #page-case-studies aside .sharing #web-share { display: none; } @media (max-width: 768px) { #page-case-studies aside { display: none; } } #page-case-studies .main-col { -ms-flex: 1; flex: 1; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } #page-case-studies .main-col__inner { width: 100%; max-width: 663px; margin-left: 40px; } @media (max-width: 1219px) { #page-case-studies .main-col { -ms-flex-align: end; align-items: flex-end; } #page-case-studies .main-col__inner { margin-left: 20px; } } @media (max-width: 768px) { #page-case-studies .main-col { -ms-flex-align: center; align-items: center; } #page-case-studies .main-col__inner { margin-left: 0; } } #page-case-studies article { padding-bottom: 58px; border-bottom: 1px solid #edf0f6; margin-bottom: 37px; } #page-case-studies article h2 { font-size: 30px; margin-top: 2.65em; margin-bottom: 0.8em; font-weight: 600; } #page-case-studies article h2 strong { font-weight: 600; } #page-case-studies article h3 { font-size: 20px; line-height: 1.3; margin-top: 2.3em; margin-bottom: 1.2em; letter-spacing: -.014em; font-weight: 600; } #page-case-studies article h3 strong { font-weight: 600; } #page-case-studies article h4, #page-case-studies article h5, #page-case-studies article h6 { margin: 1em 0; } #page-case-studies article h4 { text-transform: uppercase; letter-spacing: 0.1em; font-size: 14px; } #page-case-studies article h5 { font-size: 15px; } #page-case-studies article h6 { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; } #page-case-studies article p, #page-case-studies article ul { font-size: 16px; letter-spacing: -.011em; line-height: 1.75em; margin-bottom: 1.8em; color: #5B708B; } #page-case-studies article ul { padding-left: 0; } #page-case-studies article ul li { list-style-type: none; position: relative; padding-left: 18px; } #page-case-studies article ul li:before { content: ''; display: inline-block; width: 6px; height: 6px; background: #B2BECD; position: absolute; top: 12px; left: 0; border-radius: 8px; } #page-case-studies article ul li + li { margin-top: 8px; } #page-case-studies article b, #page-case-studies article strong { font-weight: 500; } #page-case-studies article blockquote { background: #f2f5f8; border-radius: 4px; position: relative; padding: 64px 80px 68px 111px; color: #5e749a; font-family: "Adobe Caslon", Georgia, Times, "Times New Roman", serif; font-style: italic; border: none; margin: 77px -16px 54px; } #page-case-studies article blockquote::before { position: absolute; top: -6px; left: 54px; font-size: 180px; content: '\201C'; color: #e3e7ec; } #page-case-studies article blockquote p { font-size: 18px; position: relative; z-index: 1; letter-spacing: .022em; line-height: 1.8em; } #page-case-studies article blockquote p:last-child { margin-bottom: 0; } #page-case-studies article blockquote cite { font-size: 15px; letter-spacing: .02em; } #page-case-studies article blockquote cite span { color: #9da9bd; margin-left: 8px; } #page-case-studies article img { max-width: 100%; } #page-case-studies article pre, #page-case-studies article code { border: none; background: #f5f7fa; } #page-case-studies article figure { width: 295px; float: right; margin: 8px -20px 16px 74px; } #page-case-studies article figure.left { float: left; margin-right: 74px; margin-left: -20px; } #page-case-studies article figure img { box-shadow: 0 4px 48px rgba(0, 0, 0, 0.2); } #page-case-studies article figure figcaption { color: #a8b0be; font-size: 11px; margin-top: 13px; } @media (max-width: 767px) { #page-case-studies article figure { margin-right: 0; margin-left: 32px; } #page-case-studies article figure.left { margin-left: 0; margin-right: 32px; } } @media (max-width: 480px) { #page-case-studies article figure { width: 100%; } } #page-case-studies article .table-wrap { overflow-x: auto; margin-right: -15px; padding-right: 15px; box-sizing: content-box; font-size: 13px; } #page-case-studies article .table-wrap td, #page-case-studies article .table-wrap th { min-width: 120px; padding-right: 12px; } #page-case-studies article .table-wrap table tbody tr td { border-top-color: #DEE3EA; } #page-case-studies article .table-wrap table > thead > tr > th { border-bottom-color: #E9EDF3; font-weight: 600; } #page-case-studies .resource-list { margin-bottom: 0; } #page-case-studies .resource-list__header .all { float: right; } #page-case-studies .resource-list__header .all ion-icon { display: inline-block; transition: .2s transform ease; } #page-case-studies .resource-list__header .all:hover ion-icon { -webkit-transform: translateX(2px); transform: translateX(2px); } #page-case-studies .resource-list__header h4 { text-transform: uppercase; font-size: 14px; letter-spacing: .12em; } #page-case-studies .resource-list .resource-card-list { margin-left: -10px; margin-right: -10px; } #page-case-studies .resource-list .resource-card-list--third .resource-card { padding: 5px; height: 214px; } #page-case-studies .resource-list .resource-card-list--third .resource-card a .title { font-size: 18px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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Qix3QkFBd0I7SUFDeEIsZ0JBQWdCLEVBQUU7SUFDbEI7O01BRUUsaUJBQWlCO01BQ2pCLG9CQUFvQixFQUFFO0lBQ3hCO01BQ0UsMEJBQTBCLEVBQUU7SUFDOUI7TUFDRSw2QkFBNkI7TUFDN0IsaUJBQWlCLEVBQUU7O0FBRXpCO0VBQ0UsaUJBQWlCLEVBQUU7RUFDbkI7SUFDRSxhQUFhLEVBQUU7SUFDZjtNQUNFLHNCQUFzQjtNQUN0QiwrQkFBK0IsRUFBRTtJQUNuQztNQUNFLG1DQUEyQjtjQUEzQiwyQkFBMkIsRUFBRTtFQUNqQztJQUNFLDBCQUEwQjtJQUMxQixnQkFBZ0I7SUFDaEIsc0JBQXNCLEVBQUU7RUFDMUI7SUFDRSxtQkFBbUI7SUFDbkIsb0JBQW9CLEVBQUU7RUFDeEI7SUFDRSxhQUFhO0lBQ2IsY0FBYyxFQUFFO0VBQ2xCO0lBQ0UsZ0JBQWdCLEVBQUUiLCJmaWxlIjoicGFnZXMvY2FzZS1zdHVkaWVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNwYWdlLWNhc2Utc3R1ZGllcyAuc3ViLWhlYWRlciAuZG93bmxvYWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLjAyZW07XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4jcGFnZS1jYXNlLXN0dWRpZXMgbWFpbiBoZ3JvdXAge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiA1M3B4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIGhncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIG1haW4gaGdyb3VwIHN0cm9uZyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzljYWJjNDtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIGhncm91cCBoNCB7XG4gICAgbWFyZ2luLXRvcDogNjJweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICM5MkExQjM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjE0ZW07IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIG1haW4gaGdyb3VwIGgxIHtcbiAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgbWFyZ2luLXRvcDogNTZweDsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgbWFpbiBoZ3JvdXAgcCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzg5ODk4OTtcbiAgICBtYXgtd2lkdGg6IDc1MHB4O1xuICAgIG1hcmdpbjogMTNweCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIGhncm91cCAuYnlsaW5lIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6ICM5MkExQjM7XG4gICAgbWFyZ2luLWJvdHRvbTogNDJweDsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIGhncm91cCAuYnlsaW5lIC5hdmF0YXIge1xuICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICBtYXJnaW46IDAgOHB4IDAgMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIGhncm91cCAuYnlsaW5lIC50YWdzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAycHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIGhncm91cCAuYnlsaW5lIC50YWdzIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBjb2xvcjogI2NlZDZlMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDNweCA1cHggNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogMXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFOUVERjM7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIG1haW4gaGdyb3VwIGltZyB7XG4gICAgbWFyZ2luOiAyNHB4IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbiNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmctYm90dG9tOiAxNjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgbWFpbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG4jcGFnZS1jYXNlLXN0dWRpZXMgLnN0aWNreS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAxMjhweDsgfVxuXG4jcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUge1xuICBmbGV4OiAwIDEgMjA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDUycHg7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFzaWRlIGg0IHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI2E0YjNjYztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMTZlbTsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogOXB4IDAgMzBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhc2lkZSB1bCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhc2lkZSBsaSB7XG4gICAgbWFyZ2luOiAxMnB4IDAgMTNweDsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgYSB7XG4gICAgY29sb3I6ICM1MjY3OGM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSBlYXNlLCAuMnMgY29sb3I7IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgYTpob3ZlciwgI3BhZ2UtY2FzZS1zdHVkaWVzIGFzaWRlIGE6YWN0aXZlLCAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgYTpmb2N1cywgI3BhZ2UtY2FzZS1zdHVkaWVzIGFzaWRlIGEuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFzaWRlIGEuYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhc2lkZSAuYnRuIHtcbiAgICBtYXJnaW46IDAgMCAzMnB4OyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhc2lkZSAubGlnaHRibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTZmMGY4O1xuICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiA5cHggMTZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA3ZW07IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgLmxpZ2h0Ymx1ZSBpb24taWNvbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTVweDsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgLnNoYXJpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2YzZjVmOTtcbiAgICBwYWRkaW5nLXRvcDogMjZweDsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhc2lkZSAuc2hhcmluZyBsaSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhc2lkZSAuc2hhcmluZyBhIHtcbiAgICAgIGNvbG9yOiAjQ0JEMkREO1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgLnNoYXJpbmcgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFzaWRlIC5zaGFyaW5nICN3ZWItc2hhcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNwYWdlLWNhc2Utc3R1ZGllcyAubWFpbi1jb2wge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbiNwYWdlLWNhc2Utc3R1ZGllcyAubWFpbi1jb2xfX2lubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNjYzcHg7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIC5tYWluLWNvbCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyAubWFpbi1jb2xfX2lubmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1jYXNlLXN0dWRpZXMgLm1haW4tY29sIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyAubWFpbi1jb2xfX2lubmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbiNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIHtcbiAgcGFkZGluZy1ib3R0b206IDU4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWRmMGY2O1xuICBtYXJnaW4tYm90dG9tOiAzN3B4OyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGgyIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMi42NWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOGVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBoMiBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBoMyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luLXRvcDogMi4zZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE0ZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGgzIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGg0LCAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBoNSwgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgaDYge1xuICAgIG1hcmdpbjogMWVtIDA7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBoNSB7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGg2IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgcCxcbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgdWwge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMTFlbTtcbiAgICBsaW5lLWhlaWdodDogMS43NWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuOGVtO1xuICAgIGNvbG9yOiAjNUI3MDhCOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgdWwgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxOHB4OyB9XG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIGhlaWdodDogNnB4O1xuICAgICAgYmFja2dyb3VuZDogI0IyQkVDRDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTJweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSB1bCBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBiLFxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgYmxvY2txdW90ZSB7XG4gICAgYmFja2dyb3VuZDogI2YyZjVmODtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDY0cHggODBweCA2OHB4IDExMXB4O1xuICAgIGNvbG9yOiAjNWU3NDlhO1xuICAgIGZvbnQtZmFtaWx5OiBcIkFkb2JlIENhc2xvblwiLCBHZW9yZ2lhLCBUaW1lcywgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDc3cHggLTE2cHggNTRweDsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGJsb2NrcXVvdGU6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC02cHg7XG4gICAgICBsZWZ0OiA1NHB4O1xuICAgICAgZm9udC1zaXplOiAxODBweDtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMUMnO1xuICAgICAgY29sb3I6ICNlM2U3ZWM7IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBibG9ja3F1b3RlIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDIyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07IH1cbiAgICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGJsb2NrcXVvdGUgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGJsb2NrcXVvdGUgY2l0ZSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjAyZW07IH1cbiAgICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGJsb2NrcXVvdGUgY2l0ZSBzcGFuIHtcbiAgICAgICAgY29sb3I6ICM5ZGE5YmQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgcHJlLFxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBjb2RlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjdmYTsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBmaWd1cmUge1xuICAgIHdpZHRoOiAyOTVweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiA4cHggLTIwcHggMTZweCA3NHB4OyB9XG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgZmlndXJlLmxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDc0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwcHg7IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBmaWd1cmUgaW1nIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDQ4cHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgICAgY29sb3I6ICNhOGIwYmU7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxM3B4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBmaWd1cmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMnB4OyB9XG4gICAgICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGZpZ3VyZS5sZWZ0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMycHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgZmlndXJlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSAudGFibGUtd3JhcCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgLnRhYmxlLXdyYXAgdGQsXG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgLnRhYmxlLXdyYXAgdGgge1xuICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSAudGFibGUtd3JhcCB0YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjREVFM0VBOyB9XG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgLnRhYmxlLXdyYXAgdGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0U5RURGMztcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuI3BhZ2UtY2FzZS1zdHVkaWVzIC5yZXNvdXJjZS1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgLnJlc291cmNlLWxpc3RfX2hlYWRlciAuYWxsIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgLnJlc291cmNlLWxpc3RfX2hlYWRlciAuYWxsIGlvbi1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRyYW5zaXRpb246IC4ycyB0cmFuc2Zvcm0gZWFzZTsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyAucmVzb3VyY2UtbGlzdF9faGVhZGVyIC5hbGw6aG92ZXIgaW9uLWljb24ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIC5yZXNvdXJjZS1saXN0X19oZWFkZXIgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMTJlbTsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgLnJlc291cmNlLWxpc3QgLnJlc291cmNlLWNhcmQtbGlzdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIC5yZXNvdXJjZS1saXN0IC5yZXNvdXJjZS1jYXJkLWxpc3QtLXRoaXJkIC5yZXNvdXJjZS1jYXJkIHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgaGVpZ2h0OiAyMTRweDsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgLnJlc291cmNlLWxpc3QgLnJlc291cmNlLWNhcmQtbGlzdC0tdGhpcmQgLnJlc291cmNlLWNhcmQgYSAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuIl19 */ ================================================ FILE: content/css/pages/contact.css ================================================ #page-contact .navbar + .banner { background: #6e4a71 no-repeat center top; background-image: url("/img/contact/contact-cta-bg.jpg"), linear-gradient(to right, #29477d 0%, #a8444e 100%); background-size: cover, 100%; height: 360px; } #page-contact .hero { padding-top: 80px; padding-bottom: 40px; } #page-contact .hero p { color: #5d636c; font-size: 18px; line-height: 28px; font-weight: 400; } #page-contact .topics { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: distribute; justify-content: space-around; } #page-contact .topics a { -ms-flex: 0 1 255px; flex: 0 1 255px; padding: 150px 25px 15px; margin: 0 auto 100px; position: relative; text-align: center; min-height: 265px; min-width: 160px; } #page-contact .topics a:before { background: no-repeat top left url("/img/contact/contact-icons.png"); background-size: 140px; width: 140px; height: 140px; content: ''; position: absolute; top: 38px; left: calc(50% - 75px); transition: -webkit-transform 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: transform 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: transform 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12), -webkit-transform 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12); } #page-contact .topics a:after { position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ''; border: 1px solid #e6ebf2; border-radius: 4px; box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.06); transition: all 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12); } #page-contact .topics a:hover, #page-contact .topics a:active { text-decoration: none; } #page-contact .topics a:hover:before, #page-contact .topics a:active:before { -webkit-transform: translate3d(0, -50px, 0) scale3d(0.5, 0.5, 1); transform: translate3d(0, -50px, 0) scale3d(0.5, 0.5, 1); } #page-contact .topics a:hover:after, #page-contact .topics a:active:after { border-color: #dde3eb; -webkit-transform: scale(1.05); transform: scale(1.05); } #page-contact .topics a:hover .detail, #page-contact .topics a:active .detail { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); transition-duration: .2s; transition-timing-function: ease; } #page-contact .topics a:hover h3, #page-contact .topics a:active h3 { -webkit-transform: translate3d(0, -92px, 0); transform: translate3d(0, -92px, 0); } #page-contact .topics a h3 { font-size: 18px; position: absolute; font-weight: 600; top: 195px; left: 0; right: 0; color: #4C555A; transition: -webkit-transform 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: transform 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: transform 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12), -webkit-transform 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12); } #page-contact .topics a .detail { opacity: 0; position: relative; -webkit-transform: translate3d(0, 35px, 0); transform: translate3d(0, 35px, 0); transition: opacity .1s linear, -webkit-transform .1s linear; transition: opacity .1s linear, transform .1s linear; transition: opacity .1s linear, transform .1s linear, -webkit-transform .1s linear; } #page-contact .topics a .detail p { line-height: 20px; font-size: 13px; letter-spacing: -0.01em; padding: 0 13px; color: #576070; } #page-contact .topics a.sales:before { background-position: left -140px; } #page-contact .topics a.press:before { background-position: left -280px; } #page-contact .topics a.partnerships:before { background-position: left -420px; } #page-contact .other { max-width: 875px; padding-bottom: 100px; } #page-contact .other hgroup { width: 49.5%; padding-right: 50px; position: relative; float: left; } #page-contact .other hgroup:last-child { padding-right: 0; padding-left: 50px; } #page-contact .other hgroup:last-child:before { content: ''; position: absolute; left: 0; top: 15px; bottom: 15px; border-left: 1px solid #f9fafb; } #page-contact .other hgroup h4 { font-size: 16px; } #page-contact .other hgroup p { line-height: 22px; margin-bottom: 3px; color: #576070; font-size: 14px; } #page-contact .other hgroup:first-child a { margin-right: 18px; } #page-contact .other hgroup .icon { font-size: 20px; position: relative; top: 2px; } #page-contact .other hgroup .twitter { color: #5ea9dc; } #page-contact .other hgroup .twitter:hover { color: #88bfe5; } #page-contact .other hgroup .facebook { color: #3b5998; } #page-contact .other hgroup .facebook:hover { color: #5f7ec1; } #page-contact .other hgroup .goolge-plus { color: #e94335; } #page-contact .other hgroup .goolge-plus:hover { color: #f1837a; } #page-contact .other hgroup .github { color: #000000; } #page-contact .other hgroup .github:hover { color: #4d4c4c; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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OiJwYWdlcy9jb250YWN0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNwYWdlLWNvbnRhY3QgLm5hdmJhciArIC5iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjNmU0YTcxIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2NvbnRhY3QvY29udGFjdC1jdGEtYmcuanBnXCIpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMyOTQ3N2QgMCUsICNhODQ0NGUgMTAwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXIsIDEwMCU7XG4gIGhlaWdodDogMzYwcHg7IH1cblxuI3BhZ2UtY29udGFjdCAuaGVybyB7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAjcGFnZS1jb250YWN0IC5oZXJvIHAge1xuICAgIGNvbG9yOiAjNWQ2MzZjO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbiNwYWdlLWNvbnRhY3QgLnRvcGljcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgI3BhZ2UtY29udGFjdCAudG9waWNzIGEge1xuICAgIGZsZXg6IDAgMSAyNTVweDtcbiAgICBwYWRkaW5nOiAxNTBweCAyNXB4IDE1cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAyNjVweDtcbiAgICBtaW4td2lkdGg6IDE2MHB4OyB9XG4gICAgI3BhZ2UtY29udGFjdCAudG9waWNzIGE6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCB0b3AgbGVmdCB1cmwoXCIvaW1nL2NvbnRhY3QvY29udGFjdC1pY29ucy5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0MHB4O1xuICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzOHB4O1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSA3NXB4KTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjE1NSwgMS4xMDUsIDAuMjk1LCAxLjEyKTsgfVxuICAgICNwYWdlLWNvbnRhY3QgLnRvcGljcyBhOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZWJmMjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBjdWJpYy1iZXppZXIoMC4xNTUsIDEuMTA1LCAwLjI5NSwgMS4xMik7IH1cbiAgICAjcGFnZS1jb250YWN0IC50b3BpY3MgYTpob3ZlciwgI3BhZ2UtY29udGFjdCAudG9waWNzIGE6YWN0aXZlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgI3BhZ2UtY29udGFjdCAudG9waWNzIGE6aG92ZXI6YmVmb3JlLCAjcGFnZS1jb250YWN0IC50b3BpY3MgYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTBweCwgMCkgc2NhbGUzZCgwLjUsIDAuNSwgMSk7IH1cbiAgICAgICNwYWdlLWNvbnRhY3QgLnRvcGljcyBhOmhvdmVyOmFmdGVyLCAjcGFnZS1jb250YWN0IC50b3BpY3MgYTphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNkZGUzZWI7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgICAgICNwYWdlLWNvbnRhY3QgLnRvcGljcyBhOmhvdmVyIC5kZXRhaWwsICNwYWdlLWNvbnRhY3QgLnRvcGljcyBhOmFjdGl2ZSAuZGV0YWlsIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsgfVxuICAgICAgI3BhZ2UtY29udGFjdCAudG9waWNzIGE6aG92ZXIgaDMsICNwYWdlLWNvbnRhY3QgLnRvcGljcyBhOmFjdGl2ZSBoMyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTkycHgsIDApOyB9XG4gICAgI3BhZ2UtY29udGFjdCAudG9waWNzIGEgaDMge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRvcDogMTk1cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBjb2xvcjogIzRDNTU1QTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjE1NSwgMS4xMDUsIDAuMjk1LCAxLjEyKTsgfVxuICAgICNwYWdlLWNvbnRhY3QgLnRvcGljcyBhIC5kZXRhaWwge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzVweCwgMCk7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xcyBsaW5lYXIsIHRyYW5zZm9ybSAuMXMgbGluZWFyOyB9XG4gICAgICAjcGFnZS1jb250YWN0IC50b3BpY3MgYSAuZGV0YWlsIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICAgICAgcGFkZGluZzogMCAxM3B4O1xuICAgICAgICBjb2xvcjogIzU3NjA3MDsgfVxuICAgICNwYWdlLWNvbnRhY3QgLnRvcGljcyBhLnNhbGVzOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IC0xNDBweDsgfVxuICAgICNwYWdlLWNvbnRhY3QgLnRvcGljcyBhLnByZXNzOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IC0yODBweDsgfVxuICAgICNwYWdlLWNvbnRhY3QgLnRvcGljcyBhLnBhcnRuZXJzaGlwczpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAtNDIwcHg7IH1cblxuI3BhZ2UtY29udGFjdCAub3RoZXIge1xuICBtYXgtd2lkdGg6IDg3NXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cbiAgI3BhZ2UtY29udGFjdCAub3RoZXIgaGdyb3VwIHtcbiAgICB3aWR0aDogNDkuNSU7XG4gICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAjcGFnZS1jb250YWN0IC5vdGhlciBoZ3JvdXA6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XG4gICAgICAjcGFnZS1jb250YWN0IC5vdGhlciBoZ3JvdXA6bGFzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZjlmYWZiOyB9XG4gICAgI3BhZ2UtY29udGFjdCAub3RoZXIgaGdyb3VwIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICNwYWdlLWNvbnRhY3QgLm90aGVyIGhncm91cCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgY29sb3I6ICM1NzYwNzA7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAjcGFnZS1jb250YWN0IC5vdGhlciBoZ3JvdXA6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7IH1cbiAgICAjcGFnZS1jb250YWN0IC5vdGhlciBoZ3JvdXAgLmljb24ge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAycHg7IH1cbiAgICAjcGFnZS1jb250YWN0IC5vdGhlciBoZ3JvdXAgLnR3aXR0ZXIge1xuICAgICAgY29sb3I6ICM1ZWE5ZGM7IH1cbiAgICAgICNwYWdlLWNvbnRhY3QgLm90aGVyIGhncm91cCAudHdpdHRlcjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjODhiZmU1OyB9XG4gICAgI3BhZ2UtY29udGFjdCAub3RoZXIgaGdyb3VwIC5mYWNlYm9vayB7XG4gICAgICBjb2xvcjogIzNiNTk5ODsgfVxuICAgICAgI3BhZ2UtY29udGFjdCAub3RoZXIgaGdyb3VwIC5mYWNlYm9vazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNWY3ZWMxOyB9XG4gICAgI3BhZ2UtY29udGFjdCAub3RoZXIgaGdyb3VwIC5nb29sZ2UtcGx1cyB7XG4gICAgICBjb2xvcjogI2U5NDMzNTsgfVxuICAgICAgI3BhZ2UtY29udGFjdCAub3RoZXIgaGdyb3VwIC5nb29sZ2UtcGx1czpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZjE4MzdhOyB9XG4gICAgI3BhZ2UtY29udGFjdCAub3RoZXIgaGdyb3VwIC5naXRodWIge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgICNwYWdlLWNvbnRhY3QgLm90aGVyIGhncm91cCAuZ2l0aHViOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM0ZDRjNGM7IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/developers.css ================================================ #page-developers .cta { background: #111c30 no-repeat center top; background-image: url("/img/developers/cta-bg.png"); background-size: cover; margin-bottom: -106px; } #page-developers .cta strong { color: white; } #page-developers .cta hgroup { padding-bottom: 140px; } #page-developers .cta hgroup h1 { padding-left: 70px; position: relative; background: no-repeat left center url("/img/developers/heading-ionic-icon.png"); background-size: 61px; display: inline-block; font-size: 33px; font-weight: 700; letter-spacing: 6px; margin-bottom: 25px; padding-top: 10px; text-transform: uppercase; } #page-developers .cta hgroup p { font-size: 20px; max-width: 660px; margin: 0 auto; } #page-developers section.container { padding-top: 42px; overflow-x: hidden; margin: 0 auto; max-width: 1030px; } #page-developers section.container h2 { font-size: 20px; font-weight: 700; min-height: 24px; margin-bottom: 11px; color: #24282e; margin-top: 0; } #page-developers section.container .items { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } #page-developers section.container .items a { -ms-flex: 1 1; flex: 1 1; padding: 182px 25px 48px; margin-bottom: 35px; position: relative; text-align: center; min-height: 238px; min-width: 130px; margin-right: 12px; z-index: 1; } #page-developers section.container .items a:last-child { margin-right: 0; } #page-developers section.container .items a::before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ''; background: white; border-radius: 4px; box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 32, 88, 0.06); transition: all 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12); } #page-developers section.container .items a::after { background: no-repeat top left url("/img/developers/ionic-framework-img.png"); background-size: 200px; width: 200px; height: 128px; content: ''; position: absolute; top: 32px; left: calc(50% - 100px); transition: -webkit-transform 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: transform 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: transform 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12), -webkit-transform 0.4s cubic-bezier(0.155, 1.105, 0.295, 1.12); } #page-developers section.container .items a.platform::after { background-image: url("/img/developers/ionic-services-img.png"); } #page-developers section.container .items a:hover, #page-developers section.container .items a:active { text-decoration: none; } #page-developers section.container .items a:hover::before, #page-developers section.container .items a:active::before { border-color: #dde3eb; -webkit-transform: scale(1.03); transform: scale(1.03); box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 32, 88, 0.1); } #page-developers section.container .items a hgroup { position: relative; z-index: 5; } #page-developers section.container .items a p { color: #727a87; font-size: 15px; line-height: 22px; max-width: 410px; margin: 0 auto; } @media (max-width: 525px) { #page-developers section.container.primary .items a, #page-developers section.container .items a { width: 100%; -ms-flex: 1 1 100%; flex: 1 1 100%; margin-right: 0; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRldmVsb3BlcnMuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UseUNBQXlDO0VBQ3pDLG9EQUFvRDtFQUNwRCx1QkFBdUI7RUFDdkIsc0JBQXNCLEVBQUU7RUFDeEI7SUFDRSxhQUFhLEVBQUU7RUFDakI7SUFDRSxzQkFBc0IsRUFBRTtJQUN4QjtNQUNFLG1CQUFtQjtNQUNuQixtQkFBbUI7TUFDbkIsZ0ZBQWdGO01BQ2hGLHNCQUFzQjtNQUN0QixzQkFBc0I7TUFDdEIsZ0JBQWdCO01BQ2hCLGlCQUFpQjtNQUNqQixvQkFBb0I7TUFDcEIsb0JBQW9CO01BQ3BCLGtCQUFrQjtNQUNsQiwwQkFBMEIsRUFBRTtJQUM5QjtNQUNFLGdCQUFnQjtNQUNoQixpQkFBaUI7TUFDakIsZUFBZSxFQUFFOztBQUV2QjtFQUNFLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGtCQUFrQixFQUFFO0VBQ3BCO0lBQ0UsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGVBQWU7SUFDZixjQUFjLEVBQUU7RUFDbEI7SUFDRSxxQkFBYztJQUFkLGNBQWM7SUFDZCxvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBQUU7SUFDbEI7TUFDRSxjQUFVO1VBQVYsVUFBVTtNQUNWLHlCQUF5QjtNQUN6QixvQkFBb0I7TUFDcEIsbUJBQW1CO01BQ25CLG1CQUFtQjtNQUNuQixrQkFBa0I7TUFDbEIsaUJBQWlCO01BQ2pCLG1CQUFtQjtNQUNuQixXQUFXLEVBQUU7TUFDYjtRQUNFLGdCQUFnQixFQUFFO01BQ3BCO1FBQ0UsbUJBQW1CO1FBQ25CLE9BQU87UUFDUCxTQUFTO1FBQ1QsVUFBVTtRQUNWLFFBQVE7UUFDUixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQiw2RUFBNkU7UUFDN0UsNkRBQTZELEVBQUU7TUFDakU7UUFDRSw4RUFBOEU7UUFDOUUsdUJBQXVCO1FBQ3ZCLGFBQWE7UUFDYixjQUFjO1FBQ2QsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1Ysd0JBQXdCO1FBQ3hCLDJFQUFtRTtRQUFuRSxtRUFBbUU7UUFBbkUsbUlBQW1FLEVBQUU7TUFDdkU7UUFDRSxnRUFBZ0UsRUFBRTtNQUNwRTtRQUNFLHNCQUFzQixFQUFFO1FBQ3hCO1VBQ0Usc0JBQXNCO1VBQ3RCLCtCQUF1QjtrQkFBdkIsdUJBQXVCO1VBQ3ZCLDRFQUE0RSxFQUFFO01BQ2xGO1FBQ0UsbUJBQW1CO1FBQ25CLFdBQVcsRUFBRTtNQUNmO1FBQ0UsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLGVBQWUsRUFBRTtFQUN2QjtJQUNFOztNQUVFLFlBQVk7TUFDWixtQkFBZTtVQUFmLGVBQWU7TUFDZixnQkFBZ0IsRUFBRSxFQUFFIiwiZmlsZSI6InBhZ2VzL2RldmVsb3BlcnMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3BhZ2UtZGV2ZWxvcGVycyAuY3RhIHtcbiAgYmFja2dyb3VuZDogIzExMWMzMCBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9kZXZlbG9wZXJzL2N0YS1iZy5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIG1hcmdpbi1ib3R0b206IC0xMDZweDsgfVxuICAjcGFnZS1kZXZlbG9wZXJzIC5jdGEgc3Ryb25nIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgI3BhZ2UtZGV2ZWxvcGVycyAuY3RhIGhncm91cCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE0MHB4OyB9XG4gICAgI3BhZ2UtZGV2ZWxvcGVycyAuY3RhIGhncm91cCBoMSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgbGVmdCBjZW50ZXIgdXJsKFwiL2ltZy9kZXZlbG9wZXJzL2hlYWRpbmctaW9uaWMtaWNvbi5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDYxcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDMzcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAjcGFnZS1kZXZlbG9wZXJzIC5jdGEgaGdyb3VwIHAge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbWF4LXdpZHRoOiA2NjBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbiNwYWdlLWRldmVsb3BlcnMgc2VjdGlvbi5jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogNDJweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDMwcHg7IH1cbiAgI3BhZ2UtZGV2ZWxvcGVycyBzZWN0aW9uLmNvbnRhaW5lciBoMiB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWluLWhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuICAgIGNvbG9yOiAjMjQyODJlO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3BhZ2UtZGV2ZWxvcGVycyBzZWN0aW9uLmNvbnRhaW5lciAuaXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgI3BhZ2UtZGV2ZWxvcGVycyBzZWN0aW9uLmNvbnRhaW5lciAuaXRlbXMgYSB7XG4gICAgICBmbGV4OiAxIDE7XG4gICAgICBwYWRkaW5nOiAxODJweCAyNXB4IDQ4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWluLWhlaWdodDogMjM4cHg7XG4gICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgI3BhZ2UtZGV2ZWxvcGVycyBzZWN0aW9uLmNvbnRhaW5lciAuaXRlbXMgYTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAjcGFnZS1kZXZlbG9wZXJzIHNlY3Rpb24uY29udGFpbmVyIC5pdGVtcyBhOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4wNiksIDAgMCAwIDFweCByZ2JhKDAsIDMyLCA4OCwgMC4wNik7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGN1YmljLWJlemllcigwLjE1NSwgMS4xMDUsIDAuMjk1LCAxLjEyKTsgfVxuICAgICAgI3BhZ2UtZGV2ZWxvcGVycyBzZWN0aW9uLmNvbnRhaW5lciAuaXRlbXMgYTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgdG9wIGxlZnQgdXJsKFwiL2ltZy9kZXZlbG9wZXJzL2lvbmljLWZyYW1ld29yay1pbWcucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMHB4O1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIGhlaWdodDogMTI4cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMzJweDtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxMDBweCk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjE1NSwgMS4xMDUsIDAuMjk1LCAxLjEyKTsgfVxuICAgICAgI3BhZ2UtZGV2ZWxvcGVycyBzZWN0aW9uLmNvbnRhaW5lciAuaXRlbXMgYS5wbGF0Zm9ybTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2RldmVsb3BlcnMvaW9uaWMtc2VydmljZXMtaW1nLnBuZ1wiKTsgfVxuICAgICAgI3BhZ2UtZGV2ZWxvcGVycyBzZWN0aW9uLmNvbnRhaW5lciAuaXRlbXMgYTpob3ZlciwgI3BhZ2UtZGV2ZWxvcGVycyBzZWN0aW9uLmNvbnRhaW5lciAuaXRlbXMgYTphY3RpdmUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgI3BhZ2UtZGV2ZWxvcGVycyBzZWN0aW9uLmNvbnRhaW5lciAuaXRlbXMgYTpob3Zlcjo6YmVmb3JlLCAjcGFnZS1kZXZlbG9wZXJzIHNlY3Rpb24uY29udGFpbmVyIC5pdGVtcyBhOmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNkZGUzZWI7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDAgMCAxcHggcmdiYSgwLCAzMiwgODgsIDAuMSk7IH1cbiAgICAgICNwYWdlLWRldmVsb3BlcnMgc2VjdGlvbi5jb250YWluZXIgLml0ZW1zIGEgaGdyb3VwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA1OyB9XG4gICAgICAjcGFnZS1kZXZlbG9wZXJzIHNlY3Rpb24uY29udGFpbmVyIC5pdGVtcyBhIHAge1xuICAgICAgICBjb2xvcjogIzcyN2E4NztcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbWF4LXdpZHRoOiA0MTBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDUyNXB4KSB7XG4gICAgI3BhZ2UtZGV2ZWxvcGVycyBzZWN0aW9uLmNvbnRhaW5lci5wcmltYXJ5IC5pdGVtcyBhLFxuICAgICNwYWdlLWRldmVsb3BlcnMgc2VjdGlvbi5jb250YWluZXIgLml0ZW1zIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4iXX0= */ ================================================ FILE: content/css/pages/enterprise/contact.css ================================================ .ee-hero { max-width: 640px; padding-top: 130px; padding-bottom: 160px; } .ee-hero::before, .ee-hero::after { display: none; } .ee-hero h1 { font-size: 52px; line-height: 62px; max-width: 930px; letter-spacing: -0.03em; color: #020814; margin-top: 0; margin-bottom: 16px; } .ee-hero h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 13px; line-height: 26px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; margin-bottom: 29px; } .ee-hero p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 24px; font-weight: 400; line-height: 36px; letter-spacing: -0.04em; color: rgba(39, 50, 63, 0.8); } .ee-hero .btn { padding-left: 24px; padding-right: 20px; padding-top: 18px; padding-bottom: 18px; font-size: 14px; margin-top: 16px; line-height: 20px; letter-spacing: 0.08em; color: white; text-transform: uppercase; font-weight: 700; background: #3880FF; box-shadow: 0px 2px 4px rgba(2, 8, 20, 0.1), 0px 1px 2px rgba(2, 8, 20, 0.08); border-radius: 210px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } .ee-hero .btn::after { background-image: url('data:image/svg+xml;utf8,'); background-size: 100%; content: ''; height: 20px; width: 20px; display: block; margin-left: 8px; -webkit-transform: translateY(-1px); transform: translateY(-1px); } .ee-hero .btn:hover { background-color: #4f8bf5; } .ee-hero--large h1 { font-size: 62px; line-height: 69px; } .ee-hero--wide { max-width: 960px; } .ee-hero--centered { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; text-align: center; margin-left: auto; margin-right: auto; } @media (max-width: 767px) { .ee-hero { padding-top: 70px; padding-bottom: 0; } .ee-hero h1 { font-size: 44px; line-height: 52px; } .ee-hero--large h1 { font-size: 50px; line-height: 60px; } } @media (max-width: 480px) { .ee-hero h1 { font-size: 36px; line-height: 44px; margin-bottom: 6px; } .ee-hero--large h1 { font-size: 42px; line-height: 52px; } .ee-hero .btn { margin-top: 8px; } } .ee-main { margin-top: 0; } .ee-main section { margin-bottom: 200px; } .ee-main .left, .ee-main .right, .ee-main .center { display: -ms-flexbox; display: flex; } .ee-main .left::before, .ee-main .left::after, .ee-main .right::before, .ee-main .right::after, .ee-main .center::before, .ee-main .center::after { display: none; } .ee-main .left .content, .ee-main .right .content { max-width: 480px; } @media (max-width: 767px) { .ee-main .left .content, .ee-main .right .content { max-width: 100%; text-align: center; } .ee-main .left .content li, .ee-main .right .content li { text-align: left; } } .ee-main .left { -ms-flex-direction: row; flex-direction: row; } .ee-main .left .graphics { margin-left: auto; } .ee-main .right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; margin-left: auto; } .ee-main .right .graphics { margin-right: auto; } .ee-main .center { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; } .ee-main .center .content { width: 894px; max-width: 100%; } .ee-main .full .content { max-width: 568px; } @media (max-width: 767px) { .ee-main .right, .ee-main .left { -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-align: center; align-items: center; } .ee-main .right .graphics, .ee-main .left .graphics { margin-bottom: 24px; margin-left: 0; margin-right: 0; } .ee-main section { margin-bottom: 100px; } } .ee-main .graphics { -ms-flex-pack: end; justify-content: flex-end; } .ee-main .graphics img { width: 100%; } .ee-main h2 { font-size: 44px; line-height: 51px; letter-spacing: -0.03em; } .ee-main h2:first-child { margin-top: 0; } .ee-main .ee-section__title { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: bold; font-size: 12px; line-height: 23px; letter-spacing: 0.14em; text-transform: uppercase; color: #5B708B; margin-top: 0; } .ee-main .ee-section__cta { display: inline-block; font-size: 18px; font-weight: 500; margin-top: 16px; } .ee-main p { font-size: 20px; line-height: 31px; letter-spacing: -0.02em; color: #5B708B; margin-top: 18px; } .ee-main p.sm { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; } .ee-main ul:not(.frameworks) { margin-top: 54px; } .ee-main .content ul { padding-left: 0; } .ee-main .content li { font-size: 16px; line-height: 23px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 40px; padding-left: 30px; list-style: none; position: relative; } .ee-main .content li::before { background-image: url("/img/enterprise/check.svg"); background-size: 100%; content: ''; height: 10px; width: 13px; position: absolute; left: 0; top: 8px; } .ee-main .features { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 64px; grid-row-gap: 24px; padding: 0; } .ee-main .features li { list-style: none; } .ee-main .features .icon { margin-bottom: 16px; width: 48px; } @media (max-width: 991px) { .ee-main .features { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; } } @media (max-width: 500px) { .ee-main .features { -ms-grid-columns: 1fr; grid-template-columns: 1fr; } } .ee-main .cta-card { background: #4a8bfc; border-radius: 12px; padding: 72px 72px 60px; background-size: cover; color: white; } .ee-main .cta-card .ee-section__title, .ee-main .cta-card p { color: #CED6E0; } #how-to { margin-bottom: 0; position: relative; padding-top: 140px; } #how-to::before { position: absolute; top: 0; width: 100vw; border-top: 1px solid rgba(146, 161, 179, 0.3); content: ''; display: block; } .cards--red-v-blue { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } .cards--red-v-blue__card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } .cards--red-v-blue__card:last-child { margin-right: 0; } .cards--red-v-blue__card:nth-child(2) { background: #F88D8D; } .cards--red-v-blue__card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } .cards--red-v-blue h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } .cards--red-v-blue p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); margin-top: 0; margin-bottom: 22px; } .cards--red-v-blue .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } .cards--red-v-blue .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { .cards--red-v-blue { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } .cards--red-v-blue__card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; max-width: 460px; } } aside { background: linear-gradient(180deg, #F9FAFB 0%, #FFFFFF 100%); margin-top: -60px; padding-top: 200px; padding-bottom: 120px; } aside p { color: #414D5C; } aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } .ee-get-started { max-width: 700px; } .ee-get-started h3 { color: #414D5C; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .ee-main .features li p, .ee-main .cards li p, .resources .features li p, .resources .cards li p { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; color: #73849A; margin-top: 0; } .ee-main .features li h4, .ee-main .cards li h4, .resources .features li h4, .resources .cards li h4 { font-size: 20px; line-height: normal; letter-spacing: -0.02em; color: #020814; font-weight: 600; } .resources .cards { margin-top: 0 !important; text-align: left; -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards .img-wrapper { border-radius: 6px; } .resources .cards .img-wrapper + h4 { margin-top: 24px; } @media (min-width: 1220px) { .resources .cards { margin-left: -40px; margin-right: -40px; } .resources .cards li { padding: 40px; } } .resources .resources__customer-logos { display: -ms-flexbox; display: flex; margin: 26px auto 0; padding: 0; -ms-flex-pack: justify; justify-content: space-between; max-width: 780px; width: 100%; } .resources .resources__customer-logos li { background: url("/img/enterprise/customer-logos.png"); background-size: 428px 46px; background-repeat: no-repeat; display: block; height: 46px; } @media (max-width: 768px) { .resources .resources__customer-logos { -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 460px; } .resources .resources__customer-logos li { margin: 20px; } } .resources .resources__customer-logos .mastercard { width: 58px; } .resources .resources__customer-logos .nationwide { background-position: -58px 0; width: 33px; } .resources .resources__customer-logos .uniqlo { background-position: -91px 0; width: 65px; } .resources .resources__customer-logos .ibm { background-position: -156px 0; width: 64px; } .resources .resources__customer-logos .ing { background-position: -222px 0; width: 103px; } .resources .resources__customer-logos .sap { background-position: -326px 0; width: 56px; } .resources .resources__customer-logos .nasa { background-position: -380px 0; width: 50px; } .ee-hero { padding-bottom: 40px; } main { margin-top: 0; margin-bottom: 140px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnRhY3QuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsaUJBQWlCO0VBQ2pCLG1CQUFtQjtFQUNuQixzQkFBc0IsRUFBRTtFQUN4QjtJQUNFLGNBQWMsRUFBRTtFQUNsQjtJQUNFLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLHdCQUF3QjtJQUN4QixlQUFlO0lBQ2YsY0FBYztJQUNkLG9CQUFvQixFQUFFO0VBQ3hCO0lBQ0UsOEVBQThFO0lBQzlFLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLHVCQUF1QjtJQUN2QiwwQkFBMEI7SUFDMUIsZUFBZTtJQUNmLG9CQUFvQixFQUFFO0VBQ3hCO0lBQ0UsNkRBQTZEO0lBQzdELGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLHdCQUF3QjtJQUN4Qiw2QkFBNkIsRUFBRTtFQUNqQztJQUNFLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsYUFBYTtJQUNiLDBCQUEwQjtJQUMxQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLDhFQUE4RTtJQUM5RSxxQkFBcUI7SUFDckIscUJBQWM7SUFBZCxjQUFjO0lBQ2QsdUJBQW9CO1FBQXBCLG9CQUFvQixFQUFFO0lBQ3RCO01BQ0Usa1BBQWtQO01BQ2xQLHNCQUFzQjtNQUN0QixZQUFZO01BQ1osYUFBYTtNQUNiLFlBQVk7TUFDWixlQUFlO01BQ2YsaUJBQWlCO01BQ2pCLG9DQUE0QjtjQUE1Qiw0QkFBNEIsRUFBRTtJQUNoQztNQUNFLDBCQUEwQixFQUFFO0VBQ2hDO0lBQ0UsZ0JBQWdCO0lBQ2hCLGtCQUFrQixFQUFFO0VBQ3RCO0lBQ0UsaUJBQWlCLEVBQUU7RUFDckI7SUFDRSxxQkFBYztJQUFkLGNBQWM7SUFDZCwyQkFBdUI7UUFBdkIsdUJBQXVCO0lBQ3ZCLHNCQUF3QjtRQUF4Qix3QkFBd0I7SUFDeEIsdUJBQW9CO1FBQXBCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLG1CQUFtQixFQUFFO0VBQ3ZCO0lBQ0U7TUFDRSxrQkFBa0I7TUFDbEIsa0JBQWtCLEVBQUU7TUFDcEI7UUFDRSxnQkFBZ0I7UUFDaEIsa0JBQWtCLEVBQUU7TUFDdEI7UUFDRSxnQkFBZ0I7UUFDaEIsa0JBQWtCLEVBQUUsRUFBRTtFQUM1QjtJQUNFO01BQ0UsZ0JBQWdCO01BQ2hCLGtCQUFrQjtNQUNsQixtQkFBbUIsRUFBRTtJQUN2QjtNQUNFLGdCQUFnQjtNQUNoQixrQkFBa0IsRUFBRTtJQUN0QjtNQUNFLGdCQUFnQixFQUFFLEVBQUU7O0FBRTFCO0VBQ0UsY0FBYyxFQUFFO0VBQ2hCO0lBQ0UscUJBQXFCLEVBQUU7RUFDekI7OztJQUdFLHFCQUFjO0lBQWQsY0FBYyxFQUFFO0lBQ2hCOzs7OztNQUtFLGNBQWMsRUFBRTtFQUNwQjs7SUFFRSxpQkFBaUIsRUFBRTtJQUNuQjtNQUNFOztRQUVFLGdCQUFnQjtRQUNoQixtQkFBbUIsRUFBRTtRQUNyQjs7VUFFRSxpQkFBaUIsRUFBRSxFQUFFO0VBQzdCO0lBQ0Usd0JBQW9CO1FBQXBCLG9CQUFvQixFQUFFO0lBQ3RCO01BQ0Usa0JBQWtCLEVBQUU7RUFDeEI7SUFDRSxnQ0FBNEI7UUFBNUIsNEJBQTRCO0lBQzVCLGtCQUFrQixFQUFFO0lBQ3BCO01BQ0UsbUJBQW1CLEVBQUU7RUFDekI7SUFDRSwyQkFBdUI7UUFBdkIsdUJBQXVCO0lBQ3ZCLHVCQUFvQjtRQUFwQixvQkFBb0I7SUFDcEIsbUJBQW1CLEVBQUU7SUFDckI7TUFDRSxhQUFhO01BQ2IsZ0JBQWdCLEVBQUU7RUFDdEI7SUFDRSxpQkFBaUIsRUFBRTtFQUNyQjtJQUNFOztNQUVFLG1DQUErQjtVQUEvQiwrQkFBK0I7TUFDL0IsdUJBQW9CO1VBQXBCLG9CQUFvQixFQUFFO01BQ3RCOztRQUVFLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2YsZ0JBQWdCLEVBQUU7SUFDdEI7TUFDRSxxQkFBcUIsRUFBRSxFQUFFO0VBQzdCO0lBQ0UsbUJBQTBCO1FBQTFCLDBCQUEwQixFQUFFO0lBQzVCO01BQ0UsWUFBWSxFQUFFO0VBQ2xCO0lBQ0UsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQix3QkFBd0IsRUFBRTtJQUMxQjtNQUNFLGNBQWMsRUFBRTtFQUNwQjtJQUNFLDhFQUE4RTtJQUM5RSxtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsdUJBQXVCO0lBQ3ZCLDBCQUEwQjtJQUMxQixlQUFlO0lBQ2YsY0FBYyxFQUFFO0VBQ2xCO0lBQ0Usc0JBQXNCO0lBQ3RCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsaUJBQWlCLEVBQUU7RUFDckI7SUFDRSxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLHdCQUF3QjtJQUN4QixlQUFlO0lBQ2YsaUJBQWlCLEVBQUU7SUFDbkI7TUFDRSxnQkFBZ0I7TUFDaEIsa0JBQWtCO01BQ2xCLHdCQUF3QixFQUFFO0VBQzlCO0lBQ0UsaUJBQWlCLEVBQUU7RUFDckI7SUFDRSxnQkFBZ0IsRUFBRTtFQUNwQjtJQUNFLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsd0JBQXdCO0lBQ3hCLGVBQWU7SUFDZixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixtQkFBbUIsRUFBRTtJQUNyQjtNQUNFLG1EQUFtRDtNQUNuRCxzQkFBc0I7TUFDdEIsWUFBWTtNQUNaLGFBQWE7TUFDYixZQUFZO01BQ1osbUJBQW1CO01BQ25CLFFBQVE7TUFDUixTQUFTLEVBQUU7RUFDZjtJQUNFLGtCQUFjO0lBQWQsY0FBYztJQUNkLDhCQUFtQztRQUFuQyxtQ0FBbUM7SUFDbkMsc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQixXQUFXLEVBQUU7SUFDYjtNQUNFLGlCQUFpQixFQUFFO0lBQ3JCO01BQ0Usb0JBQW9CO01BQ3BCLFlBQVksRUFBRTtJQUNoQjtNQUNFO1FBQ0UsMEJBQStCO1lBQS9CLCtCQUErQixFQUFFLEVBQUU7SUFDdkM7TUFDRTtRQUNFLHNCQUEyQjtZQUEzQiwyQkFBMkIsRUFBRSxFQUFFO0VBQ3JDO0lBQ0Usb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLGFBQWEsRUFBRTtJQUNmOztNQUVFLGVBQWUsRUFBRTs7QUFFdkI7RUFDRSxpQkFBaUI7RUFDakIsbUJBQW1CO0VBQ25CLG1CQUFtQixFQUFFO0VBQ3JCO0lBQ0UsbUJBQW1CO0lBQ25CLE9BQU87SUFDUCxhQUFhO0lBQ2IsK0NBQStDO0lBQy9DLFlBQVk7SUFDWixlQUFlLEVBQUU7O0FBRXJCO0VBQ0UscUJBQWM7RUFBZCxjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLHNCQUF3QjtNQUF4Qix3QkFBd0I7RUFDeEIsaUJBQWlCLEVBQUU7RUFDbkI7SUFDRSxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4QixxQkFBYztJQUFkLGNBQWM7SUFDZCwyQkFBdUI7UUFBdkIsdUJBQXVCO0lBQ3ZCLHNCQUF3QjtRQUF4Qix3QkFBd0I7SUFDeEIsbUJBQW1CO0lBQ25CLG9CQUFnQjtRQUFoQixnQkFBZ0I7SUFDaEIsbUJBQW1CLEVBQUU7SUFDckI7TUFDRSxnQkFBZ0IsRUFBRTtJQUNwQjtNQUNFLG9CQUFvQixFQUFFO01BQ3RCO1FBQ0UsbUNBQW1DLEVBQUU7RUFDM0M7SUFDRSxnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLHdCQUF3QjtJQUN4QixhQUFhO0lBQ2IsY0FBYyxFQUFFO0VBQ2xCO0lBQ0UsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQix3QkFBd0I7SUFDeEIsZ0NBQWdDO0lBQ2hDLGNBQWM7SUFDZCxvQkFBb0IsRUFBRTtFQUN4QjtJQUNFLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLHVCQUF1QjtJQUN2QiwwQkFBMEI7SUFDMUIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsb0NBQW9DLEVBQUU7SUFDdEM7TUFDRSxzQkFBc0I7TUFDdEIsYUFBYTtNQUNiLFlBQVk7TUFDWixxQkFBcUIsRUFBRTtFQUMzQjtJQUNFO01BQ0UsMkJBQXVCO1VBQXZCLHVCQUF1QjtNQUN2Qix1QkFBb0I7VUFBcEIsb0JBQW9CLEVBQUU7TUFDdEI7UUFDRSxlQUFXO1lBQVgsV0FBVztRQUNYLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsaUJBQWlCLEVBQUUsRUFBRTs7QUFFN0I7RUFDRSw4REFBOEQ7RUFDOUQsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixzQkFBc0IsRUFBRTtFQUN4QjtJQUNFLGVBQWUsRUFBRTtFQUNuQjtJQUNFLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLGVBQWUsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTtFQUNuQjtJQUNFLGVBQWUsRUFBRTs7QUFFckI7RUFDRSxzQkFBc0IsRUFBRTtFQUN4QjtJQUNFO01BQ0UscUJBQXFCLEVBQUUsRUFBRTtFQUM3QjtJQUNFLHNCQUFzQjtJQUN0QixVQUFVO0lBQ1YsV0FBVztJQUNYLHFCQUFjO0lBQWQsY0FBYztJQUNkLG1CQUFtQjtJQUNuQixvQkFBb0IsRUFBRTtFQUN4QjtJQUNFLHFCQUFjO0lBQWQsY0FBYztJQUNkLHVCQUErQjtRQUEvQiwrQkFBK0I7SUFDL0IseUJBQXNCO1FBQXRCLHNCQUFzQixFQUFFO0lBQ3hCO01BQ0UsaUJBQWlCO01BQ2pCLG9CQUFvQjtNQUNwQixnQkFBZ0I7TUFDaEIsd0JBQXdCO01BQ3hCLGVBQWU7TUFDZixpQkFBaUIsRUFBRTtJQUNyQjtNQUNFLGlCQUFpQjtNQUNqQixnQkFBZ0I7TUFDaEIsb0JBQW9CO01BQ3BCLHdCQUF3QjtNQUN4QixlQUFlLEVBQUU7SUFDbkI7TUFDRSxpQkFBaUI7TUFDakIsZUFBZTtNQUNmLGdCQUFnQjtNQUNoQix1QkFBdUI7TUFDdkIsZUFBZTtNQUNmLDBCQUEwQixFQUFFO0lBQzlCO01BQ0UsbUNBQTJCO2NBQTNCLDJCQUEyQixFQUFFO0VBQ2pDO0lBQ0UsZUFBZTtJQUNmLHFCQUFpQjtRQUFqQixpQkFBaUI7SUFDakIsY0FBYyxFQUFFO0lBQ2hCO01BQ0UsZUFBZTtNQUNmLFlBQVksRUFBRTtJQUNoQjtNQUNFLGlCQUFpQjtNQUNqQixtQkFBbUIsRUFBRTtJQUN2QjtNQUNFLFlBQVksRUFBRTtJQUNoQjtNQUNFLGtCQUFrQjtNQUNsQixnQkFBZ0I7TUFDaEIsdUJBQXVCO01BQ3ZCLDBCQUEwQjtNQUMxQixlQUFlO01BQ2YsaUJBQWlCO01BQ2pCLGlCQUFpQixFQUFFO0lBQ3JCO01BQ0UsZ0JBQWdCO01BQ2hCLGlCQUFpQjtNQUNqQixlQUFlO01BQ2YsaUJBQWlCLEVBQUU7SUFDckI7TUFDRSxlQUFlO01BQ2Ysa0JBQWtCO01BQ2xCLGdCQUFnQjtNQUNoQix3QkFBd0IsRUFBRTtFQUM5QjtJQUNFO01BQ0UsbUJBQW1CO01BQ25CLG9CQUFvQixFQUFFO0lBQ3hCO01BQ0UsY0FBYyxFQUFFLEVBQUU7RUFDdEI7SUFDRTtNQUNFLG9CQUFnQjtVQUFoQixnQkFBZ0IsRUFBRTtJQUNwQjtNQUNFLGtCQUFjO1VBQWQsY0FBYyxFQUFFLEVBQUU7RUFDdEI7SUFDRTtNQUNFLG1CQUFlO1VBQWYsZUFBZSxFQUFFO0lBQ25CO01BQ0UsY0FBYyxFQUFFLEVBQUU7O0FBRXhCOzs7O0VBSUUsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQix3QkFBd0I7RUFDeEIsZUFBZTtFQUNmLGNBQWMsRUFBRTs7QUFFbEI7Ozs7RUFJRSxnQkFBZ0I7RUFDaEIsb0JBQW9CO0VBQ3BCLHdCQUF3QjtFQUN4QixlQUFlO0VBQ2YsaUJBQWlCLEVBQUU7O0FBRXJCO0VBQ0UseUJBQXlCO0VBQ3pCLGlCQUFpQjtFQUNqQixvQkFBZ0I7TUFBaEIsZ0JBQWdCLEVBQUU7RUFDbEI7SUFDRSxtQkFBbUIsRUFBRTtJQUNyQjtNQUNFLGlCQUFpQixFQUFFO0VBQ3ZCO0lBQ0U7TUFDRSxtQkFBbUI7TUFDbkIsb0JBQW9CLEVBQUU7TUFDdEI7UUFDRSxjQUFjLEVBQUUsRUFBRTs7QUFFMUI7RUFDRSxxQkFBYztFQUFkLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsV0FBVztFQUNYLHVCQUErQjtNQUEvQiwrQkFBK0I7RUFDL0IsaUJBQWlCO0VBQ2pCLFlBQVksRUFBRTtFQUNkO0lBQ0Usc0RBQXNEO0lBQ3RELDRCQUE0QjtJQUM1Qiw2QkFBNkI7SUFDN0IsZUFBZTtJQUNmLGFBQWEsRUFBRTtFQUNqQjtJQUNFO01BQ0Usc0JBQXdCO1VBQXhCLHdCQUF3QjtNQUN4QixvQkFBZ0I7VUFBaEIsZ0JBQWdCO01BQ2hCLGlCQUFpQixFQUFFO01BQ25CO1FBQ0UsYUFBYSxFQUFFLEVBQUU7RUFDdkI7SUFDRSxZQUFZLEVBQUU7RUFDaEI7SUFDRSw2QkFBNkI7SUFDN0IsWUFBWSxFQUFFO0VBQ2hCO0lBQ0UsNkJBQTZCO0lBQzdCLFlBQVksRUFBRTtFQUNoQjtJQUNFLDhCQUE4QjtJQUM5QixZQUFZLEVBQUU7RUFDaEI7SUFDRSw4QkFBOEI7SUFDOUIsYUFBYSxFQUFFO0VBQ2pCO0lBQ0UsOEJBQThCO0lBQzlCLFlBQVksRUFBRTtFQUNoQjtJQUNFLDhCQUE4QjtJQUM5QixZQUFZLEVBQUU7O0FBRWxCO0VBQ0UscUJBQXFCLEVBQUU7O0FBRXpCO0VBQ0UsY0FBYztFQUNkLHFCQUFxQixFQUFFIiwiZmlsZSI6InBhZ2VzL2VudGVycHJpc2UvY29udGFjdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZWUtaGVybyB7XG4gIG1heC13aWR0aDogNjQwcHg7XG4gIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDE2MHB4OyB9XG4gIC5lZS1oZXJvOjpiZWZvcmUsIC5lZS1oZXJvOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZWUtaGVybyBoMSB7XG4gICAgZm9udC1zaXplOiA1MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xuICAgIG1heC13aWR0aDogOTMwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIC5lZS1oZXJvIGg0IHtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzkyQTFCMztcbiAgICBtYXJnaW4tYm90dG9tOiAyOXB4OyB9XG4gIC5lZS1oZXJvIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG4gICAgY29sb3I6IHJnYmEoMzksIDUwLCA2MywgMC44KTsgfVxuICAuZWUtaGVybyAuYnRuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogIzM4ODBGRjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKDIsIDgsIDIwLCAwLjEpLCAwcHggMXB4IDJweCByZ2JhKDIsIDgsIDIwLCAwLjA4KTtcbiAgICBib3JkZXItcmFkaXVzOiAyMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZWUtaGVybyAuYnRuOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJ3aGl0ZVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiPjxwYXRoIGQ9XCJNODUgMjc3LjM3NWgyNTkuNzA0TDIyNS4wMDIgMzk3LjA3NyAyNTYgNDI3bDE3MS0xNzFMMjU2IDg1bC0yOS45MjIgMjkuOTI0IDExOC42MjYgMTE5LjcwMUg4NXY0Mi43NXpcIi8+PC9zdmc+Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9XG4gICAgLmVlLWhlcm8gLmJ0bjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY4YmY1OyB9XG4gIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgZm9udC1zaXplOiA2MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2OXB4OyB9XG4gIC5lZS1oZXJvLS13aWRlIHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4OyB9XG4gIC5lZS1oZXJvLS1jZW50ZXJlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZWUtaGVybyB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAuZWUtaGVybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH1cbiAgICAgIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuZWUtaGVybyBoMSB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDsgfVxuICAgIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDsgfVxuICAgIC5lZS1oZXJvIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cblxuLmVlLW1haW4ge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIHNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4OyB9XG4gIC5lZS1tYWluIC5sZWZ0LFxuICAuZWUtbWFpbiAucmlnaHQsXG4gIC5lZS1tYWluIC5jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZWUtbWFpbiAubGVmdDo6YmVmb3JlLCAuZWUtbWFpbiAubGVmdDo6YWZ0ZXIsXG4gICAgLmVlLW1haW4gLnJpZ2h0OjpiZWZvcmUsXG4gICAgLmVlLW1haW4gLnJpZ2h0OjphZnRlcixcbiAgICAuZWUtbWFpbiAuY2VudGVyOjpiZWZvcmUsXG4gICAgLmVlLW1haW4gLmNlbnRlcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZWUtbWFpbiAubGVmdCAuY29udGVudCxcbiAgLmVlLW1haW4gLnJpZ2h0IC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuZWUtbWFpbiAubGVmdCAuY29udGVudCxcbiAgICAgIC5lZS1tYWluIC5yaWdodCAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5lZS1tYWluIC5sZWZ0IC5jb250ZW50IGxpLFxuICAgICAgICAuZWUtbWFpbiAucmlnaHQgLmNvbnRlbnQgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuZWUtbWFpbiAubGVmdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5lZS1tYWluIC5sZWZ0IC5ncmFwaGljcyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuZWUtbWFpbiAucmlnaHQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5lZS1tYWluIC5yaWdodCAuZ3JhcGhpY3Mge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5lZS1tYWluIC5jZW50ZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZWUtbWFpbiAuY2VudGVyIC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiA4OTRweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuZWUtbWFpbiAuZnVsbCAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA1NjhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZWUtbWFpbiAucmlnaHQsXG4gICAgLmVlLW1haW4gLmxlZnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmVlLW1haW4gLnJpZ2h0IC5ncmFwaGljcyxcbiAgICAgIC5lZS1tYWluIC5sZWZ0IC5ncmFwaGljcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuZWUtbWFpbiBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9IH1cbiAgLmVlLW1haW4gLmdyYXBoaWNzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmVlLW1haW4gLmdyYXBoaWNzIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuZWUtbWFpbiBoMiB7XG4gICAgZm9udC1zaXplOiA0NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtOyB9XG4gICAgLmVlLW1haW4gaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZWUtbWFpbiAuZWUtc2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzVCNzA4QjtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIC5lZS1zZWN0aW9uX19jdGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIC5lZS1tYWluIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogIzVCNzA4QjtcbiAgICBtYXJnaW4tdG9wOiAxOHB4OyB9XG4gICAgLmVlLW1haW4gcC5zbSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG4gIC5lZS1tYWluIHVsOm5vdCguZnJhbWV3b3Jrcykge1xuICAgIG1hcmdpbi10b3A6IDU0cHg7IH1cbiAgLmVlLW1haW4gLmNvbnRlbnQgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZWUtbWFpbiAuY29udGVudCBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmVlLW1haW4gLmNvbnRlbnQgbGk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2VudGVycHJpc2UvY2hlY2suc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB3aWR0aDogMTNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDhweDsgfVxuICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICBncmlkLWNvbHVtbi1nYXA6IDY0cHg7XG4gICAgZ3JpZC1yb3ctZ2FwOiAyNHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZWUtbWFpbiAuZmVhdHVyZXMgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5lZS1tYWluIC5mZWF0dXJlcyAuaWNvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgd2lkdGg6IDQ4cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5lZS1tYWluIC5mZWF0dXJlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG4gIC5lZS1tYWluIC5jdGEtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogIzRhOGJmYztcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDcycHggNzJweCA2MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmVlLW1haW4gLmN0YS1jYXJkIC5lZS1zZWN0aW9uX190aXRsZSxcbiAgICAuZWUtbWFpbiAuY3RhLWNhcmQgcCB7XG4gICAgICBjb2xvcjogI0NFRDZFMDsgfVxuXG4jaG93LXRvIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTQwcHg7IH1cbiAgI2hvdy10bzo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNDYsIDE2MSwgMTc5LCAwLjMpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jYXJkcy0tcmVkLXYtYmx1ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAzOHB4OyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogIzdDQUJGRjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogNDBweCA0MHB4IDM0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogMjRweDtcbiAgICBmbGV4OiAwIDEgNDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjg4RDhEOyB9XG4gICAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQ6bnRoLWNoaWxkKDIpIC5idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NCwgODQsIDg0LCAwLjUpOyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZSBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhcmRzLS1yZWQtdi1ibHVlIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuICAuY2FyZHMtLXJlZC12LWJsdWUgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDllbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDU2LCAxMjgsIDI1NSwgMC41KTsgfVxuICAgIC5jYXJkcy0tcmVkLXYtYmx1ZSAuYnRuIGlvbi1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQge1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7IH0gfVxuXG5hc2lkZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGOUZBRkIgMCUsICNGRkZGRkYgMTAwJSk7XG4gIG1hcmdpbi10b3A6IC02MHB4O1xuICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBhc2lkZSBwIHtcbiAgICBjb2xvcjogIzQxNEQ1QzsgfVxuICBhc2lkZSAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0MzJweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmVlLWdldC1zdGFydGVkIHtcbiAgbWF4LXdpZHRoOiA3MDBweDsgfVxuICAuZWUtZ2V0LXN0YXJ0ZWQgaDMge1xuICAgIGNvbG9yOiAjNDE0RDVDOyB9XG5cbi5yZXNvdXJjZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjRweDsgfVxuICAucmVzb3VyY2VzIGhncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzFBMjMyRjsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBpb24taWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIDMzLjMzJTtcbiAgICBwYWRkaW5nOiAyNHB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgLmltZy13cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBoNiB7XG4gICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNCMkJFQ0Q7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBjb2xvcjogIzFBMjMyRjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBwIHtcbiAgICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgaDUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5lZS1tYWluIC5mZWF0dXJlcyBsaSBwLFxuLmVlLW1haW4gLmNhcmRzIGxpIHAsXG4ucmVzb3VyY2VzIC5mZWF0dXJlcyBsaSBwLFxuLnJlc291cmNlcyAuY2FyZHMgbGkgcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBjb2xvcjogIzczODQ5QTtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZWUtbWFpbiAuZmVhdHVyZXMgbGkgaDQsXG4uZWUtbWFpbiAuY2FyZHMgbGkgaDQsXG4ucmVzb3VyY2VzIC5mZWF0dXJlcyBsaSBoNCxcbi5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgY29sb3I6ICMwMjA4MTQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnJlc291cmNlcyAuY2FyZHMge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyAuaW1nLXdyYXBwZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIC5pbWctd3JhcHBlciArIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTQwcHg7IH1cbiAgICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgICAgcGFkZGluZzogNDBweDsgfSB9XG5cbi5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDI2cHggYXV0byAwO1xuICBwYWRkaW5nOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1heC13aWR0aDogNzgwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgbGkge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9jdXN0b21lci1sb2dvcy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MjhweCA0NnB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0NnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3Mge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXgtd2lkdGg6IDQ2MHB4OyB9XG4gICAgICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIGxpIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4OyB9IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubWFzdGVyY2FyZCB7XG4gICAgd2lkdGg6IDU4cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubmF0aW9ud2lkZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU4cHggMDtcbiAgICB3aWR0aDogMzNweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC51bmlxbG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05MXB4IDA7XG4gICAgd2lkdGg6IDY1cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAuaWJtIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU2cHggMDtcbiAgICB3aWR0aDogNjRweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5pbmcge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjJweCAwO1xuICAgIHdpZHRoOiAxMDNweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5zYXAge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjZweCAwO1xuICAgIHdpZHRoOiA1NnB4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLm5hc2Ege1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zODBweCAwO1xuICAgIHdpZHRoOiA1MHB4OyB9XG5cbi5lZS1oZXJvIHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cblxubWFpbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDE0MHB4OyB9XG4iXX0= */ ================================================ FILE: content/css/pages/enterprise/customers.css ================================================ .ee-hero { max-width: 640px; padding-top: 130px; padding-bottom: 160px; } .ee-hero::before, .ee-hero::after { display: none; } .ee-hero h1 { font-size: 52px; line-height: 62px; max-width: 930px; letter-spacing: -0.03em; color: #020814; margin-top: 0; margin-bottom: 16px; } .ee-hero h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 13px; line-height: 26px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; margin-bottom: 29px; } .ee-hero p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 24px; font-weight: 400; line-height: 36px; letter-spacing: -0.04em; color: rgba(39, 50, 63, 0.8); } .ee-hero .btn { padding-left: 24px; padding-right: 20px; padding-top: 18px; padding-bottom: 18px; font-size: 14px; margin-top: 16px; line-height: 20px; letter-spacing: 0.08em; color: white; text-transform: uppercase; font-weight: 700; background: #3880FF; box-shadow: 0px 2px 4px rgba(2, 8, 20, 0.1), 0px 1px 2px rgba(2, 8, 20, 0.08); border-radius: 210px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } .ee-hero .btn::after { background-image: url('data:image/svg+xml;utf8,'); background-size: 100%; content: ''; height: 20px; width: 20px; display: block; margin-left: 8px; -webkit-transform: translateY(-1px); transform: translateY(-1px); } .ee-hero .btn:hover { background-color: #4f8bf5; } .ee-hero--large h1 { font-size: 62px; line-height: 69px; } .ee-hero--wide { max-width: 960px; } .ee-hero--centered { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; text-align: center; margin-left: auto; margin-right: auto; } @media (max-width: 767px) { .ee-hero { padding-top: 70px; padding-bottom: 0; } .ee-hero h1 { font-size: 44px; line-height: 52px; } .ee-hero--large h1 { font-size: 50px; line-height: 60px; } } @media (max-width: 480px) { .ee-hero h1 { font-size: 36px; line-height: 44px; margin-bottom: 6px; } .ee-hero--large h1 { font-size: 42px; line-height: 52px; } .ee-hero .btn { margin-top: 8px; } } .ee-main { margin-top: 0; } .ee-main section { margin-bottom: 200px; } .ee-main .left, .ee-main .right, .ee-main .center { display: -ms-flexbox; display: flex; } .ee-main .left::before, .ee-main .left::after, .ee-main .right::before, .ee-main .right::after, .ee-main .center::before, .ee-main .center::after { display: none; } .ee-main .left .content, .ee-main .right .content { max-width: 480px; } @media (max-width: 767px) { .ee-main .left .content, .ee-main .right .content { max-width: 100%; text-align: center; } .ee-main .left .content li, .ee-main .right .content li { text-align: left; } } .ee-main .left { -ms-flex-direction: row; flex-direction: row; } .ee-main .left .graphics { margin-left: auto; } .ee-main .right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; margin-left: auto; } .ee-main .right .graphics { margin-right: auto; } .ee-main .center { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; } .ee-main .center .content { width: 894px; max-width: 100%; } .ee-main .full .content { max-width: 568px; } @media (max-width: 767px) { .ee-main .right, .ee-main .left { -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-align: center; align-items: center; } .ee-main .right .graphics, .ee-main .left .graphics { margin-bottom: 24px; margin-left: 0; margin-right: 0; } .ee-main section { margin-bottom: 100px; } } .ee-main .graphics { -ms-flex-pack: end; justify-content: flex-end; } .ee-main .graphics img { width: 100%; } .ee-main h2 { font-size: 44px; line-height: 51px; letter-spacing: -0.03em; } .ee-main h2:first-child { margin-top: 0; } .ee-main .ee-section__title { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: bold; font-size: 12px; line-height: 23px; letter-spacing: 0.14em; text-transform: uppercase; color: #5B708B; margin-top: 0; } .ee-main .ee-section__cta { display: inline-block; font-size: 18px; font-weight: 500; margin-top: 16px; } .ee-main p { font-size: 20px; line-height: 31px; letter-spacing: -0.02em; color: #5B708B; margin-top: 18px; } .ee-main p.sm { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; } .ee-main ul:not(.frameworks) { margin-top: 54px; } .ee-main .content ul { padding-left: 0; } .ee-main .content li { font-size: 16px; line-height: 23px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 40px; padding-left: 30px; list-style: none; position: relative; } .ee-main .content li::before { background-image: url("/img/enterprise/check.svg"); background-size: 100%; content: ''; height: 10px; width: 13px; position: absolute; left: 0; top: 8px; } .ee-main .features { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 64px; grid-row-gap: 24px; padding: 0; } .ee-main .features li { list-style: none; } .ee-main .features .icon { margin-bottom: 16px; width: 48px; } @media (max-width: 991px) { .ee-main .features { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; } } @media (max-width: 500px) { .ee-main .features { -ms-grid-columns: 1fr; grid-template-columns: 1fr; } } .ee-main .cta-card { background: #4a8bfc; border-radius: 12px; padding: 72px 72px 60px; background-size: cover; color: white; } .ee-main .cta-card .ee-section__title, .ee-main .cta-card p { color: #CED6E0; } #how-to { margin-bottom: 0; position: relative; padding-top: 140px; } #how-to::before { position: absolute; top: 0; width: 100vw; border-top: 1px solid rgba(146, 161, 179, 0.3); content: ''; display: block; } .cards--red-v-blue { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } .cards--red-v-blue__card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } .cards--red-v-blue__card:last-child { margin-right: 0; } .cards--red-v-blue__card:nth-child(2) { background: #F88D8D; } .cards--red-v-blue__card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } .cards--red-v-blue h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } .cards--red-v-blue p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); margin-top: 0; margin-bottom: 22px; } .cards--red-v-blue .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } .cards--red-v-blue .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { .cards--red-v-blue { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } .cards--red-v-blue__card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; max-width: 460px; } } aside { background: linear-gradient(180deg, #F9FAFB 0%, #FFFFFF 100%); margin-top: -60px; padding-top: 200px; padding-bottom: 120px; } aside p { color: #414D5C; } aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } .ee-get-started { max-width: 700px; } .ee-get-started h3 { color: #414D5C; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .ee-main .features li p, .ee-main .cards li p, .resources .features li p, .resources .cards li p { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; color: #73849A; margin-top: 0; } .ee-main .features li h4, .ee-main .cards li h4, .resources .features li h4, .resources .cards li h4 { font-size: 20px; line-height: normal; letter-spacing: -0.02em; color: #020814; font-weight: 600; } .resources .cards { margin-top: 0 !important; text-align: left; -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards .img-wrapper { border-radius: 6px; } .resources .cards .img-wrapper + h4 { margin-top: 24px; } @media (min-width: 1220px) { .resources .cards { margin-left: -40px; margin-right: -40px; } .resources .cards li { padding: 40px; } } .resources .resources__customer-logos { display: -ms-flexbox; display: flex; margin: 26px auto 0; padding: 0; -ms-flex-pack: justify; justify-content: space-between; max-width: 780px; width: 100%; } .resources .resources__customer-logos li { background: url("/img/enterprise/customer-logos.png"); background-size: 428px 46px; background-repeat: no-repeat; display: block; height: 46px; } @media (max-width: 768px) { .resources .resources__customer-logos { -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 460px; } .resources .resources__customer-logos li { margin: 20px; } } .resources .resources__customer-logos .mastercard { width: 58px; } .resources .resources__customer-logos .nationwide { background-position: -58px 0; width: 33px; } .resources .resources__customer-logos .uniqlo { background-position: -91px 0; width: 65px; } .resources .resources__customer-logos .ibm { background-position: -156px 0; width: 64px; } .resources .resources__customer-logos .ing { background-position: -222px 0; width: 103px; } .resources .resources__customer-logos .sap { background-position: -326px 0; width: 56px; } .resources .resources__customer-logos .nasa { background-position: -380px 0; width: 50px; } .ee-main .left, .ee-main .right { -ms-flex-align: center; align-items: center; } .ee-main .left .graphics, .ee-main .right .graphics { width: calc(100% - 520px); max-width: 560px; } .ee-main .left .graphics img, .ee-main .right .graphics img { max-width: 100%; } @media (max-width: 767px) { .ee-main .left .graphics, .ee-main .right .graphics { width: 320px; max-width: 100%; } } .ee-main .ee-section-wrapper--gradient { background: linear-gradient(180deg, #F9FAFB 0%, #FFFFFF 100%); } .ee-main .ee-section-wrapper--gradient section { padding-top: 150px; margin-bottom: 120px; } .ee-main .ee-section-wrapper--gradient aside { padding-top: 150px; background: none; padding-bottom: 0px; } #marketwatch .logo { width: 214px; height: 32px; } #marketwatch .graphics img { width: 546px; } #sworkit .logo { width: 200px; height: 34px; } #sworkit .graphics img { width: 560px; } #instant-pot .logo { width: 193px; height: 36px; } #instant-pot .graphics img { width: 546px; } #shipt .logo { width: 192px; height: 72px; } #shipt .graphics img { width: 546px; } #untappd .logo { width: 192px; height: 32px; } #untappd .graphics img { width: 560px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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LGFBQWEsRUFBRTs7QUFFakI7RUFDRSxhQUFhO0VBQ2IsYUFBYSxFQUFFOztBQUVqQjtFQUNFLGFBQWEsRUFBRTs7QUFFakI7RUFDRSxhQUFhO0VBQ2IsYUFBYSxFQUFFOztBQUVqQjtFQUNFLGFBQWEsRUFBRSIsImZpbGUiOiJwYWdlcy9lbnRlcnByaXNlL2N1c3RvbWVycy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZWUtaGVybyB7XG4gIG1heC13aWR0aDogNjQwcHg7XG4gIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDE2MHB4OyB9XG4gIC5lZS1oZXJvOjpiZWZvcmUsIC5lZS1oZXJvOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZWUtaGVybyBoMSB7XG4gICAgZm9udC1zaXplOiA1MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xuICAgIG1heC13aWR0aDogOTMwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIC5lZS1oZXJvIGg0IHtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzkyQTFCMztcbiAgICBtYXJnaW4tYm90dG9tOiAyOXB4OyB9XG4gIC5lZS1oZXJvIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG4gICAgY29sb3I6IHJnYmEoMzksIDUwLCA2MywgMC44KTsgfVxuICAuZWUtaGVybyAuYnRuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogIzM4ODBGRjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKDIsIDgsIDIwLCAwLjEpLCAwcHggMXB4IDJweCByZ2JhKDIsIDgsIDIwLCAwLjA4KTtcbiAgICBib3JkZXItcmFkaXVzOiAyMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZWUtaGVybyAuYnRuOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJ3aGl0ZVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiPjxwYXRoIGQ9XCJNODUgMjc3LjM3NWgyNTkuNzA0TDIyNS4wMDIgMzk3LjA3NyAyNTYgNDI3bDE3MS0xNzFMMjU2IDg1bC0yOS45MjIgMjkuOTI0IDExOC42MjYgMTE5LjcwMUg4NXY0Mi43NXpcIi8+PC9zdmc+Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9XG4gICAgLmVlLWhlcm8gLmJ0bjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY4YmY1OyB9XG4gIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgZm9udC1zaXplOiA2MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2OXB4OyB9XG4gIC5lZS1oZXJvLS13aWRlIHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4OyB9XG4gIC5lZS1oZXJvLS1jZW50ZXJlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZWUtaGVybyB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAuZWUtaGVybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH1cbiAgICAgIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuZWUtaGVybyBoMSB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDsgfVxuICAgIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDsgfVxuICAgIC5lZS1oZXJvIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cblxuLmVlLW1haW4ge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIHNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4OyB9XG4gIC5lZS1tYWluIC5sZWZ0LFxuICAuZWUtbWFpbiAucmlnaHQsXG4gIC5lZS1tYWluIC5jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZWUtbWFpbiAubGVmdDo6YmVmb3JlLCAuZWUtbWFpbiAubGVmdDo6YWZ0ZXIsXG4gICAgLmVlLW1haW4gLnJpZ2h0OjpiZWZvcmUsXG4gICAgLmVlLW1haW4gLnJpZ2h0OjphZnRlcixcbiAgICAuZWUtbWFpbiAuY2VudGVyOjpiZWZvcmUsXG4gICAgLmVlLW1haW4gLmNlbnRlcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZWUtbWFpbiAubGVmdCAuY29udGVudCxcbiAgLmVlLW1haW4gLnJpZ2h0IC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuZWUtbWFpbiAubGVmdCAuY29udGVudCxcbiAgICAgIC5lZS1tYWluIC5yaWdodCAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5lZS1tYWluIC5sZWZ0IC5jb250ZW50IGxpLFxuICAgICAgICAuZWUtbWFpbiAucmlnaHQgLmNvbnRlbnQgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuZWUtbWFpbiAubGVmdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5lZS1tYWluIC5sZWZ0IC5ncmFwaGljcyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuZWUtbWFpbiAucmlnaHQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5lZS1tYWluIC5yaWdodCAuZ3JhcGhpY3Mge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5lZS1tYWluIC5jZW50ZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZWUtbWFpbiAuY2VudGVyIC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiA4OTRweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuZWUtbWFpbiAuZnVsbCAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA1NjhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZWUtbWFpbiAucmlnaHQsXG4gICAgLmVlLW1haW4gLmxlZnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmVlLW1haW4gLnJpZ2h0IC5ncmFwaGljcyxcbiAgICAgIC5lZS1tYWluIC5sZWZ0IC5ncmFwaGljcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuZWUtbWFpbiBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9IH1cbiAgLmVlLW1haW4gLmdyYXBoaWNzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmVlLW1haW4gLmdyYXBoaWNzIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuZWUtbWFpbiBoMiB7XG4gICAgZm9udC1zaXplOiA0NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtOyB9XG4gICAgLmVlLW1haW4gaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZWUtbWFpbiAuZWUtc2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzVCNzA4QjtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIC5lZS1zZWN0aW9uX19jdGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIC5lZS1tYWluIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogIzVCNzA4QjtcbiAgICBtYXJnaW4tdG9wOiAxOHB4OyB9XG4gICAgLmVlLW1haW4gcC5zbSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG4gIC5lZS1tYWluIHVsOm5vdCguZnJhbWV3b3Jrcykge1xuICAgIG1hcmdpbi10b3A6IDU0cHg7IH1cbiAgLmVlLW1haW4gLmNvbnRlbnQgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZWUtbWFpbiAuY29udGVudCBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmVlLW1haW4gLmNvbnRlbnQgbGk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2VudGVycHJpc2UvY2hlY2suc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB3aWR0aDogMTNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDhweDsgfVxuICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICBncmlkLWNvbHVtbi1nYXA6IDY0cHg7XG4gICAgZ3JpZC1yb3ctZ2FwOiAyNHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZWUtbWFpbiAuZmVhdHVyZXMgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5lZS1tYWluIC5mZWF0dXJlcyAuaWNvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgd2lkdGg6IDQ4cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5lZS1tYWluIC5mZWF0dXJlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG4gIC5lZS1tYWluIC5jdGEtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogIzRhOGJmYztcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDcycHggNzJweCA2MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmVlLW1haW4gLmN0YS1jYXJkIC5lZS1zZWN0aW9uX190aXRsZSxcbiAgICAuZWUtbWFpbiAuY3RhLWNhcmQgcCB7XG4gICAgICBjb2xvcjogI0NFRDZFMDsgfVxuXG4jaG93LXRvIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTQwcHg7IH1cbiAgI2hvdy10bzo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNDYsIDE2MSwgMTc5LCAwLjMpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jYXJkcy0tcmVkLXYtYmx1ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAzOHB4OyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogIzdDQUJGRjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogNDBweCA0MHB4IDM0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogMjRweDtcbiAgICBmbGV4OiAwIDEgNDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjg4RDhEOyB9XG4gICAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQ6bnRoLWNoaWxkKDIpIC5idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NCwgODQsIDg0LCAwLjUpOyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZSBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhcmRzLS1yZWQtdi1ibHVlIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuICAuY2FyZHMtLXJlZC12LWJsdWUgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDllbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDU2LCAxMjgsIDI1NSwgMC41KTsgfVxuICAgIC5jYXJkcy0tcmVkLXYtYmx1ZSAuYnRuIGlvbi1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQge1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7IH0gfVxuXG5hc2lkZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGOUZBRkIgMCUsICNGRkZGRkYgMTAwJSk7XG4gIG1hcmdpbi10b3A6IC02MHB4O1xuICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBhc2lkZSBwIHtcbiAgICBjb2xvcjogIzQxNEQ1QzsgfVxuICBhc2lkZSAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0MzJweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmVlLWdldC1zdGFydGVkIHtcbiAgbWF4LXdpZHRoOiA3MDBweDsgfVxuICAuZWUtZ2V0LXN0YXJ0ZWQgaDMge1xuICAgIGNvbG9yOiAjNDE0RDVDOyB9XG5cbi5yZXNvdXJjZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjRweDsgfVxuICAucmVzb3VyY2VzIGhncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzFBMjMyRjsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBpb24taWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIDMzLjMzJTtcbiAgICBwYWRkaW5nOiAyNHB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgLmltZy13cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBoNiB7XG4gICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNCMkJFQ0Q7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBjb2xvcjogIzFBMjMyRjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBwIHtcbiAgICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgaDUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5lZS1tYWluIC5mZWF0dXJlcyBsaSBwLFxuLmVlLW1haW4gLmNhcmRzIGxpIHAsXG4ucmVzb3VyY2VzIC5mZWF0dXJlcyBsaSBwLFxuLnJlc291cmNlcyAuY2FyZHMgbGkgcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBjb2xvcjogIzczODQ5QTtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZWUtbWFpbiAuZmVhdHVyZXMgbGkgaDQsXG4uZWUtbWFpbiAuY2FyZHMgbGkgaDQsXG4ucmVzb3VyY2VzIC5mZWF0dXJlcyBsaSBoNCxcbi5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgY29sb3I6ICMwMjA4MTQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnJlc291cmNlcyAuY2FyZHMge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyAuaW1nLXdyYXBwZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIC5pbWctd3JhcHBlciArIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTQwcHg7IH1cbiAgICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgICAgcGFkZGluZzogNDBweDsgfSB9XG5cbi5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDI2cHggYXV0byAwO1xuICBwYWRkaW5nOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1heC13aWR0aDogNzgwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgbGkge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9jdXN0b21lci1sb2dvcy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MjhweCA0NnB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0NnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3Mge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXgtd2lkdGg6IDQ2MHB4OyB9XG4gICAgICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIGxpIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4OyB9IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubWFzdGVyY2FyZCB7XG4gICAgd2lkdGg6IDU4cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubmF0aW9ud2lkZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU4cHggMDtcbiAgICB3aWR0aDogMzNweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC51bmlxbG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05MXB4IDA7XG4gICAgd2lkdGg6IDY1cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAuaWJtIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU2cHggMDtcbiAgICB3aWR0aDogNjRweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5pbmcge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjJweCAwO1xuICAgIHdpZHRoOiAxMDNweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5zYXAge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjZweCAwO1xuICAgIHdpZHRoOiA1NnB4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLm5hc2Ege1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zODBweCAwO1xuICAgIHdpZHRoOiA1MHB4OyB9XG5cbi5lZS1tYWluIC5sZWZ0LFxuLmVlLW1haW4gLnJpZ2h0IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZWUtbWFpbiAubGVmdCAuZ3JhcGhpY3MsXG4gIC5lZS1tYWluIC5yaWdodCAuZ3JhcGhpY3Mge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MjBweCk7XG4gICAgbWF4LXdpZHRoOiA1NjBweDsgfVxuICAgIC5lZS1tYWluIC5sZWZ0IC5ncmFwaGljcyBpbWcsXG4gICAgLmVlLW1haW4gLnJpZ2h0IC5ncmFwaGljcyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuZWUtbWFpbiAubGVmdCAuZ3JhcGhpY3MsXG4gICAgICAuZWUtbWFpbiAucmlnaHQgLmdyYXBoaWNzIHtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4uZWUtbWFpbiAuZWUtc2VjdGlvbi13cmFwcGVyLS1ncmFkaWVudCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGOUZBRkIgMCUsICNGRkZGRkYgMTAwJSk7IH1cbiAgLmVlLW1haW4gLmVlLXNlY3Rpb24td3JhcHBlci0tZ3JhZGllbnQgc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDE1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEyMHB4OyB9XG4gIC5lZS1tYWluIC5lZS1zZWN0aW9uLXdyYXBwZXItLWdyYWRpZW50IGFzaWRlIHtcbiAgICBwYWRkaW5nLXRvcDogMTUwcHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4OyB9XG5cbiNtYXJrZXR3YXRjaCAubG9nbyB7XG4gIHdpZHRoOiAyMTRweDtcbiAgaGVpZ2h0OiAzMnB4OyB9XG5cbiNtYXJrZXR3YXRjaCAuZ3JhcGhpY3MgaW1nIHtcbiAgd2lkdGg6IDU0NnB4OyB9XG5cbiNzd29ya2l0IC5sb2dvIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDM0cHg7IH1cblxuI3N3b3JraXQgLmdyYXBoaWNzIGltZyB7XG4gIHdpZHRoOiA1NjBweDsgfVxuXG4jaW5zdGFudC1wb3QgLmxvZ28ge1xuICB3aWR0aDogMTkzcHg7XG4gIGhlaWdodDogMzZweDsgfVxuXG4jaW5zdGFudC1wb3QgLmdyYXBoaWNzIGltZyB7XG4gIHdpZHRoOiA1NDZweDsgfVxuXG4jc2hpcHQgLmxvZ28ge1xuICB3aWR0aDogMTkycHg7XG4gIGhlaWdodDogNzJweDsgfVxuXG4jc2hpcHQgLmdyYXBoaWNzIGltZyB7XG4gIHdpZHRoOiA1NDZweDsgfVxuXG4jdW50YXBwZCAubG9nbyB7XG4gIHdpZHRoOiAxOTJweDtcbiAgaGVpZ2h0OiAzMnB4OyB9XG5cbiN1bnRhcHBkIC5ncmFwaGljcyBpbWcge1xuICB3aWR0aDogNTYwcHg7IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/enterprise/home.css ================================================ .ee-hero { max-width: 640px; padding-top: 130px; padding-bottom: 160px; } .ee-hero::before, .ee-hero::after { display: none; } .ee-hero h1 { font-size: 52px; line-height: 62px; max-width: 930px; letter-spacing: -0.03em; color: #020814; margin-top: 0; margin-bottom: 16px; } .ee-hero h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 13px; line-height: 26px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; margin-bottom: 29px; } .ee-hero p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 24px; font-weight: 400; line-height: 36px; letter-spacing: -0.04em; color: rgba(39, 50, 63, 0.8); } .ee-hero .btn { padding-left: 24px; padding-right: 20px; padding-top: 18px; padding-bottom: 18px; font-size: 14px; margin-top: 16px; line-height: 20px; letter-spacing: 0.08em; color: white; text-transform: uppercase; font-weight: 700; background: #3880FF; box-shadow: 0px 2px 4px rgba(2, 8, 20, 0.1), 0px 1px 2px rgba(2, 8, 20, 0.08); border-radius: 210px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } .ee-hero .btn::after { background-image: url('data:image/svg+xml;utf8,'); background-size: 100%; content: ''; height: 20px; width: 20px; display: block; margin-left: 8px; -webkit-transform: translateY(-1px); transform: translateY(-1px); } .ee-hero .btn:hover { background-color: #4f8bf5; } .ee-hero--large h1 { font-size: 62px; line-height: 69px; } .ee-hero--wide { max-width: 960px; } .ee-hero--centered { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; text-align: center; margin-left: auto; margin-right: auto; } @media (max-width: 767px) { .ee-hero { padding-top: 70px; padding-bottom: 0; } .ee-hero h1 { font-size: 44px; line-height: 52px; } .ee-hero--large h1 { font-size: 50px; line-height: 60px; } } @media (max-width: 480px) { .ee-hero h1 { font-size: 36px; line-height: 44px; margin-bottom: 6px; } .ee-hero--large h1 { font-size: 42px; line-height: 52px; } .ee-hero .btn { margin-top: 8px; } } .ee-main { margin-top: 0; } .ee-main section { margin-bottom: 200px; } .ee-main .left, .ee-main .right, .ee-main .center { display: -ms-flexbox; display: flex; } .ee-main .left::before, .ee-main .left::after, .ee-main .right::before, .ee-main .right::after, .ee-main .center::before, .ee-main .center::after { display: none; } .ee-main .left .content, .ee-main .right .content { max-width: 480px; } @media (max-width: 767px) { .ee-main .left .content, .ee-main .right .content { max-width: 100%; text-align: center; } .ee-main .left .content li, .ee-main .right .content li { text-align: left; } } .ee-main .left { -ms-flex-direction: row; flex-direction: row; } .ee-main .left .graphics { margin-left: auto; } .ee-main .right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; margin-left: auto; } .ee-main .right .graphics { margin-right: auto; } .ee-main .center { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; } .ee-main .center .content { width: 894px; max-width: 100%; } .ee-main .full .content { max-width: 568px; } @media (max-width: 767px) { .ee-main .right, .ee-main .left { -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-align: center; align-items: center; } .ee-main .right .graphics, .ee-main .left .graphics { margin-bottom: 24px; margin-left: 0; margin-right: 0; } .ee-main section { margin-bottom: 100px; } } .ee-main .graphics { -ms-flex-pack: end; justify-content: flex-end; } .ee-main .graphics img { width: 100%; } .ee-main h2 { font-size: 44px; line-height: 51px; letter-spacing: -0.03em; } .ee-main h2:first-child { margin-top: 0; } .ee-main .ee-section__title { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: bold; font-size: 12px; line-height: 23px; letter-spacing: 0.14em; text-transform: uppercase; color: #5B708B; margin-top: 0; } .ee-main .ee-section__cta { display: inline-block; font-size: 18px; font-weight: 500; margin-top: 16px; } .ee-main p { font-size: 20px; line-height: 31px; letter-spacing: -0.02em; color: #5B708B; margin-top: 18px; } .ee-main p.sm { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; } .ee-main ul:not(.frameworks) { margin-top: 54px; } .ee-main .content ul { padding-left: 0; } .ee-main .content li { font-size: 16px; line-height: 23px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 40px; padding-left: 30px; list-style: none; position: relative; } .ee-main .content li::before { background-image: url("/img/enterprise/check.svg"); background-size: 100%; content: ''; height: 10px; width: 13px; position: absolute; left: 0; top: 8px; } .ee-main .features { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 64px; grid-row-gap: 24px; padding: 0; } .ee-main .features li { list-style: none; } .ee-main .features .icon { margin-bottom: 16px; width: 48px; } @media (max-width: 991px) { .ee-main .features { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; } } @media (max-width: 500px) { .ee-main .features { -ms-grid-columns: 1fr; grid-template-columns: 1fr; } } .ee-main .cta-card { background: #4a8bfc; border-radius: 12px; padding: 72px 72px 60px; background-size: cover; color: white; } .ee-main .cta-card .ee-section__title, .ee-main .cta-card p { color: #CED6E0; } #how-to { margin-bottom: 0; position: relative; padding-top: 140px; } #how-to::before { position: absolute; top: 0; width: 100vw; border-top: 1px solid rgba(146, 161, 179, 0.3); content: ''; display: block; } .cards--red-v-blue { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } .cards--red-v-blue__card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } .cards--red-v-blue__card:last-child { margin-right: 0; } .cards--red-v-blue__card:nth-child(2) { background: #F88D8D; } .cards--red-v-blue__card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } .cards--red-v-blue h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } .cards--red-v-blue p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); margin-top: 0; margin-bottom: 22px; } .cards--red-v-blue .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } .cards--red-v-blue .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { .cards--red-v-blue { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } .cards--red-v-blue__card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; max-width: 460px; } } aside { background: linear-gradient(180deg, #F9FAFB 0%, #FFFFFF 100%); margin-top: -60px; padding-top: 200px; padding-bottom: 120px; } aside p { color: #414D5C; } aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } .ee-get-started { max-width: 700px; } .ee-get-started h3 { color: #414D5C; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .ee-main .features li p, .ee-main .cards li p, .resources .features li p, .resources .cards li p { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; color: #73849A; margin-top: 0; } .ee-main .features li h4, .ee-main .cards li h4, .resources .features li h4, .resources .cards li h4 { font-size: 20px; line-height: normal; letter-spacing: -0.02em; color: #020814; font-weight: 600; } .resources .cards { margin-top: 0 !important; text-align: left; -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards .img-wrapper { border-radius: 6px; } .resources .cards .img-wrapper + h4 { margin-top: 24px; } @media (min-width: 1220px) { .resources .cards { margin-left: -40px; margin-right: -40px; } .resources .cards li { padding: 40px; } } .resources .resources__customer-logos { display: -ms-flexbox; display: flex; margin: 26px auto 0; padding: 0; -ms-flex-pack: justify; justify-content: space-between; max-width: 780px; width: 100%; } .resources .resources__customer-logos li { background: url("/img/enterprise/customer-logos.png"); background-size: 428px 46px; background-repeat: no-repeat; display: block; height: 46px; } @media (max-width: 768px) { .resources .resources__customer-logos { -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 460px; } .resources .resources__customer-logos li { margin: 20px; } } .resources .resources__customer-logos .mastercard { width: 58px; } .resources .resources__customer-logos .nationwide { background-position: -58px 0; width: 33px; } .resources .resources__customer-logos .uniqlo { background-position: -91px 0; width: 65px; } .resources .resources__customer-logos .ibm { background-position: -156px 0; width: 64px; } .resources .resources__customer-logos .ing { background-position: -222px 0; width: 103px; } .resources .resources__customer-logos .sap { background-position: -326px 0; width: 56px; } .resources .resources__customer-logos .nasa { background-position: -380px 0; width: 50px; } .ee-hero p { max-width: 458px; } #difference { display: -ms-flexbox; display: flex; padding-top: 60px; padding-bottom: 69px; margin-top: 20px; border-top: 1px solid #eee; border-bottom: 1px solid #eee; } #difference .container { position: relative; } #difference .container::before { background: url("/img/enterprise/ionic-enterprise-development-ebook.png") 0 0 no-repeat; background-size: 100%; width: 424px; height: 310px; content: ''; position: absolute; bottom: -69px; left: 52px; } #difference hgroup { max-width: 550px; margin-right: 50px; margin-left: auto; } #difference h5 { font-size: 18px; margin-bottom: 11px; color: #1f3256; } #difference p { font-size: 16px; font-weight: 400; line-height: 1.6em; letter-spacing: -.01em; color: #6c81a6; } #difference .btn { padding: 12px 13px 10px; font-size: 14px; background-color: #668bff; } @media (max-width: 1219px) { #difference .container::before { left: 0; } #difference hgroup { max-width: 500px; } } @media (max-width: 991px) { #difference hgroup { margin: 0 auto; max-width: 100%; } #difference .container::before { width: 212px; height: 155px; right: 0; left: auto; } } @media (max-width: 370px) { #difference .container::before { display: none; } } #best-way h2 { max-width: 320px; } #best-way .graphics { width: 640px; min-height: 532px; margin-left: auto; } #best-way .graphics img { width: 945px; } @media (max-width: 991px) { #best-way .graphics { width: calc(100% - 300px); } } @media (max-width: 767px) { #best-way .graphics { width: 100%; } } #friendly .graphics { width: 560px; margin-right: auto; } #friendly .graphics img { max-width: 560px; } @media (max-width: 1219px) { #friendly .graphics { width: calc(100% - 300px); } #friendly .graphics img { max-width: calc(100% - 20px); } } @media (max-width: 1219px) { #friendly .graphics { width: 373px; max-width: 100%; margin-left: auto; margin-right: auto; } #friendly .graphics img { max-width: 100%; } } #supercharged figure { width: 100%; max-width: 800px; } #supercharged figcaption { font-size: 13px; line-height: 23px; letter-spacing: -0.01em; color: #73849A; } #supercharged ul { padding: 0; width: 100%; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; position: relative; margin-bottom: 16px; -ms-flex-wrap: wrap; flex-wrap: wrap; } @media (max-width: 1219px) { #supercharged ul { -ms-flex-pack: distribute; justify-content: space-around; } } #supercharged ul::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; border: 2px solid #E3EDFF; border-top: none; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; height: 9px; } #supercharged li { list-style: none; display: inline-block; font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: bold; font-size: 12px; padding-bottom: 50px; line-height: normal; text-align: center; letter-spacing: 0.14em; text-transform: uppercase; color: #5B708B; } #supercharged .icon { background: #F0F6FF; border-radius: 50%; height: 172px; width: 172px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; margin-bottom: 11px; } #supercharged .icon img { margin: 0 auto; } #supercharged caption { font-size: 13px; line-height: 23px; text-align: center; letter-spacing: -0.01em; color: #73849A; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QVU7SUFDVixRQUFRO0lBQ1IsU0FBUztJQUNULDBCQUEwQjtJQUMxQixpQkFBaUI7SUFDakIsK0JBQStCO0lBQy9CLGdDQUFnQztJQUNoQyxZQUFZLEVBQUU7O0FBRWxCO0VBQ0UsaUJBQWlCO0VBQ2pCLHNCQUFzQjtFQUN0Qiw4RUFBOEU7RUFDOUUsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLDBCQUEwQjtFQUMxQixlQUFlLEVBQUU7O0FBRW5CO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixjQUFjO0VBQ2QsYUFBYTtFQUNiLHFCQUFjO0VBQWQsY0FBYztFQUNkLDJCQUF1QjtNQUF2Qix1QkFBdUI7RUFDdkIsc0JBQXdCO01BQXhCLHdCQUF3QjtFQUN4Qix1QkFBb0I7TUFBcEIsb0JBQW9CO0VBQ3BCLG9CQUFvQixFQUFFO0VBQ3RCO0lBQ0UsZUFBZSxFQUFFOztBQUVyQjtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLHdCQUF3QjtFQUN4QixlQUFlLEVBQUUiLCJmaWxlIjoicGFnZXMvZW50ZXJwcmlzZS9ob21lLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5lZS1oZXJvIHtcbiAgbWF4LXdpZHRoOiA2NDBweDtcbiAgcGFkZGluZy10b3A6IDEzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTYwcHg7IH1cbiAgLmVlLWhlcm86OmJlZm9yZSwgLmVlLWhlcm86OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5lZS1oZXJvIGgxIHtcbiAgICBmb250LXNpemU6IDUycHg7XG4gICAgbGluZS1oZWlnaHQ6IDYycHg7XG4gICAgbWF4LXdpZHRoOiA5MzBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBjb2xvcjogIzAyMDgxNDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgLmVlLWhlcm8gaDQge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOTJBMUIzO1xuICAgIG1hcmdpbi1ib3R0b206IDI5cHg7IH1cbiAgLmVlLWhlcm8gcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDRlbTtcbiAgICBjb2xvcjogcmdiYSgzOSwgNTAsIDYzLCAwLjgpOyB9XG4gIC5lZS1oZXJvIC5idG4ge1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxOHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiAjMzg4MEZGO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoMiwgOCwgMjAsIDAuMSksIDBweCAxcHggMnB4IHJnYmEoMiwgOCwgMjAsIDAuMDgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5lZS1oZXJvIC5idG46OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIndoaXRlXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCI+PHBhdGggZD1cIk04NSAyNzcuMzc1aDI1OS43MDRMMjI1LjAwMiAzOTcuMDc3IDI1NiA0MjdsMTcxLTE3MUwyNTYgODVsLTI5LjkyMiAyOS45MjQgMTE4LjYyNiAxMTkuNzAxSDg1djQyLjc1elwiLz48L3N2Zz4nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH1cbiAgICAuZWUtaGVybyAuYnRuOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjhiZjU7IH1cbiAgLmVlLWhlcm8tLWxhcmdlIGgxIHtcbiAgICBmb250LXNpemU6IDYycHg7XG4gICAgbGluZS1oZWlnaHQ6IDY5cHg7IH1cbiAgLmVlLWhlcm8tLXdpZGUge1xuICAgIG1heC13aWR0aDogOTYwcHg7IH1cbiAgLmVlLWhlcm8tLWNlbnRlcmVkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5lZS1oZXJvIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgIC5lZS1oZXJvIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0NHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTJweDsgfVxuICAgICAgLmVlLWhlcm8tLWxhcmdlIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5lZS1oZXJvIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG4gICAgLmVlLWhlcm8tLWxhcmdlIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OyB9XG4gICAgLmVlLWhlcm8gLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7IH0gfVxuXG4uZWUtbWFpbiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgLmVlLW1haW4gc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7IH1cbiAgLmVlLW1haW4gLmxlZnQsXG4gIC5lZS1tYWluIC5yaWdodCxcbiAgLmVlLW1haW4gLmNlbnRlciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5lZS1tYWluIC5sZWZ0OjpiZWZvcmUsIC5lZS1tYWluIC5sZWZ0OjphZnRlcixcbiAgICAuZWUtbWFpbiAucmlnaHQ6OmJlZm9yZSxcbiAgICAuZWUtbWFpbiAucmlnaHQ6OmFmdGVyLFxuICAgIC5lZS1tYWluIC5jZW50ZXI6OmJlZm9yZSxcbiAgICAuZWUtbWFpbiAuY2VudGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5lZS1tYWluIC5sZWZ0IC5jb250ZW50LFxuICAuZWUtbWFpbiAucmlnaHQgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDgwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5lZS1tYWluIC5sZWZ0IC5jb250ZW50LFxuICAgICAgLmVlLW1haW4gLnJpZ2h0IC5jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLmVlLW1haW4gLmxlZnQgLmNvbnRlbnQgbGksXG4gICAgICAgIC5lZS1tYWluIC5yaWdodCAuY29udGVudCBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5lZS1tYWluIC5sZWZ0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLmVlLW1haW4gLmxlZnQgLmdyYXBoaWNzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5lZS1tYWluIC5yaWdodCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmVlLW1haW4gLnJpZ2h0IC5ncmFwaGljcyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmVlLW1haW4gLmNlbnRlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5lZS1tYWluIC5jZW50ZXIgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDg5NHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5lZS1tYWluIC5mdWxsIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDU2OHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5lZS1tYWluIC5yaWdodCxcbiAgICAuZWUtbWFpbiAubGVmdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZWUtbWFpbiAucmlnaHQgLmdyYXBoaWNzLFxuICAgICAgLmVlLW1haW4gLmxlZnQgLmdyYXBoaWNzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5lZS1tYWluIHNlY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH0gfVxuICAuZWUtbWFpbiAuZ3JhcGhpY3Mge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAuZWUtbWFpbiAuZ3JhcGhpY3MgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5lZS1tYWluIGgyIHtcbiAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDUxcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07IH1cbiAgICAuZWUtbWFpbiBoMjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIC5lZS1zZWN0aW9uX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmVlLW1haW4gLmVlLXNlY3Rpb25fX2N0YSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgLmVlLW1haW4gcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgIG1hcmdpbi10b3A6IDE4cHg7IH1cbiAgICAuZWUtbWFpbiBwLnNtIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07IH1cbiAgLmVlLW1haW4gdWw6bm90KC5mcmFtZXdvcmtzKSB7XG4gICAgbWFyZ2luLXRvcDogNTRweDsgfVxuICAuZWUtbWFpbiAuY29udGVudCB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5lZS1tYWluIC5jb250ZW50IGxpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6ICMxQTIzMkY7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZWUtbWFpbiAuY29udGVudCBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9jaGVjay5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogOHB4OyB9XG4gIC5lZS1tYWluIC5mZWF0dXJlcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgIGdyaWQtY29sdW1uLWdhcDogNjRweDtcbiAgICBncmlkLXJvdy1nYXA6IDI0cHg7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5lZS1tYWluIC5mZWF0dXJlcyBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmVlLW1haW4gLmZlYXR1cmVzIC5pY29uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB3aWR0aDogNDhweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgLmVlLW1haW4gLmZlYXR1cmVzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIC5lZS1tYWluIC5mZWF0dXJlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH1cbiAgLmVlLW1haW4gLmN0YS1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjNGE4YmZjO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogNzJweCA3MnB4IDYwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuZWUtbWFpbiAuY3RhLWNhcmQgLmVlLXNlY3Rpb25fX3RpdGxlLFxuICAgIC5lZS1tYWluIC5jdGEtY2FyZCBwIHtcbiAgICAgIGNvbG9yOiAjQ0VENkUwOyB9XG5cbiNob3ctdG8ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxNDBweDsgfVxuICAjaG93LXRvOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE0NiwgMTYxLCAxNzksIDAuMyk7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNhcmRzLS1yZWQtdi1ibHVlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDM4cHg7IH1cbiAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjN0NBQkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHggMzRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuICAgIGZsZXg6IDAgMSA0NjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7IH1cbiAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQ6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGODhEOEQ7IH1cbiAgICAgIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZDpudGgtY2hpbGQoMikgLmJ0biB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ0LCA4NCwgODQsIDAuNSk7IH1cbiAgLmNhcmRzLS1yZWQtdi1ibHVlIGgzIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FyZHMtLXJlZC12LWJsdWUgcCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZSAuYnRuIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogMTBweCAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNTYsIDEyOCwgMjU1LCAwLjUpOyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlIC5idG4gaW9uLWljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuY2FyZHMtLXJlZC12LWJsdWUge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZCB7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA0NjBweDsgfSB9XG5cbmFzaWRlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0Y5RkFGQiAwJSwgI0ZGRkZGRiAxMDAlKTtcbiAgbWFyZ2luLXRvcDogLTYwcHg7XG4gIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9XG4gIGFzaWRlIHAge1xuICAgIGNvbG9yOiAjNDE0RDVDOyB9XG4gIGFzaWRlIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQzMnB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZWUtZ2V0LXN0YXJ0ZWQge1xuICBtYXgtd2lkdGg6IDcwMHB4OyB9XG4gIC5lZS1nZXQtc3RhcnRlZCBoMyB7XG4gICAgY29sb3I6ICM0MTRENUM7IH1cblxuLnJlc291cmNlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucmVzb3VyY2VzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cbiAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4OyB9XG4gIC5yZXNvdXJjZXMgaGdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBoMyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICMxQTIzMkY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDQge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgIGNvbG9yOiAjMzg4MEZGO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGlvbi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOyB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAwIDAgMzMuMzMlO1xuICAgIHBhZGRpbmc6IDI0cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSAuaW1nLXdyYXBwZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg2IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI0IyQkVDRDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHAge1xuICAgICAgY29sb3I6ICM1QjcwOEI7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEycHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBwYWRkaW5nOiAxMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgLnJlc291cmNlcyBoNSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmVlLW1haW4gLmZlYXR1cmVzIGxpIHAsXG4uZWUtbWFpbiAuY2FyZHMgbGkgcCxcbi5yZXNvdXJjZXMgLmZlYXR1cmVzIGxpIHAsXG4ucmVzb3VyY2VzIC5jYXJkcyBsaSBwIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjlweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIGNvbG9yOiAjNzM4NDlBO1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5lZS1tYWluIC5mZWF0dXJlcyBsaSBoNCxcbi5lZS1tYWluIC5jYXJkcyBsaSBoNCxcbi5yZXNvdXJjZXMgLmZlYXR1cmVzIGxpIGg0LFxuLnJlc291cmNlcyAuY2FyZHMgbGkgaDQge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBjb2xvcjogIzAyMDgxNDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ucmVzb3VyY2VzIC5jYXJkcyB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIC5pbWctd3JhcHBlciB7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgLmltZy13cmFwcGVyICsgaDQge1xuICAgICAgbWFyZ2luLXRvcDogMjRweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtNDBweDsgfVxuICAgICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgICBwYWRkaW5nOiA0MHB4OyB9IH1cblxuLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMjZweCBhdXRvIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWF4LXdpZHRoOiA3ODBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyBsaSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9lbnRlcnByaXNlL2N1c3RvbWVyLWxvZ29zLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDQyOHB4IDQ2cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDQ2cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1heC13aWR0aDogNDYwcHg7IH1cbiAgICAgIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgbGkge1xuICAgICAgICBtYXJnaW46IDIwcHg7IH0gfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5tYXN0ZXJjYXJkIHtcbiAgICB3aWR0aDogNThweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5uYXRpb253aWRlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNThweCAwO1xuICAgIHdpZHRoOiAzM3B4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLnVuaXFsbyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTkxcHggMDtcbiAgICB3aWR0aDogNjVweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5pYm0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTZweCAwO1xuICAgIHdpZHRoOiA2NHB4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLmluZyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyMnB4IDA7XG4gICAgd2lkdGg6IDEwM3B4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLnNhcCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMyNnB4IDA7XG4gICAgd2lkdGg6IDU2cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubmFzYSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM4MHB4IDA7XG4gICAgd2lkdGg6IDUwcHg7IH1cblxuLmVlLWhlcm8gcCB7XG4gIG1heC13aWR0aDogNDU4cHg7IH1cblxuI2RpZmZlcmVuY2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDY5cHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsgfVxuICAjZGlmZmVyZW5jZSAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjZGlmZmVyZW5jZSAuY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9lbnRlcnByaXNlL2lvbmljLWVudGVycHJpc2UtZGV2ZWxvcG1lbnQtZWJvb2sucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICB3aWR0aDogNDI0cHg7XG4gICAgICBoZWlnaHQ6IDMxMHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC02OXB4O1xuICAgICAgbGVmdDogNTJweDsgfVxuICAjZGlmZmVyZW5jZSBoZ3JvdXAge1xuICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICNkaWZmZXJlbmNlIGg1IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICBjb2xvcjogIzFmMzI1NjsgfVxuICAjZGlmZmVyZW5jZSBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcbiAgICBjb2xvcjogIzZjODFhNjsgfVxuICAjZGlmZmVyZW5jZSAuYnRuIHtcbiAgICBwYWRkaW5nOiAxMnB4IDEzcHggMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2OGJmZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgI2RpZmZlcmVuY2UgLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAjZGlmZmVyZW5jZSBoZ3JvdXAge1xuICAgICAgbWF4LXdpZHRoOiA1MDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNkaWZmZXJlbmNlIGhncm91cCB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICNkaWZmZXJlbmNlIC5jb250YWluZXI6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMjEycHg7XG4gICAgICBoZWlnaHQ6IDE1NXB4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDM3MHB4KSB7XG4gICAgI2RpZmZlcmVuY2UgLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4jYmVzdC13YXkgaDIge1xuICBtYXgtd2lkdGg6IDMyMHB4OyB9XG5cbiNiZXN0LXdheSAuZ3JhcGhpY3Mge1xuICB3aWR0aDogNjQwcHg7XG4gIG1pbi1oZWlnaHQ6IDUzMnB4O1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAjYmVzdC13YXkgLmdyYXBoaWNzIGltZyB7XG4gICAgd2lkdGg6IDk0NXB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNiZXN0LXdheSAuZ3JhcGhpY3Mge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwMHB4KTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNiZXN0LXdheSAuZ3JhcGhpY3Mge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4jZnJpZW5kbHkgLmdyYXBoaWNzIHtcbiAgd2lkdGg6IDU2MHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgI2ZyaWVuZGx5IC5ncmFwaGljcyBpbWcge1xuICAgIG1heC13aWR0aDogNTYwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICNmcmllbmRseSAuZ3JhcGhpY3Mge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwMHB4KTsgfVxuICAgICAgI2ZyaWVuZGx5IC5ncmFwaGljcyBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICNmcmllbmRseSAuZ3JhcGhpY3Mge1xuICAgICAgd2lkdGg6IDM3M3B4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgICNmcmllbmRseSAuZ3JhcGhpY3MgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuI3N1cGVyY2hhcmdlZCBmaWd1cmUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4MDBweDsgfVxuXG4jc3VwZXJjaGFyZ2VkIGZpZ2NhcHRpb24ge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgY29sb3I6ICM3Mzg0OUE7IH1cblxuI3N1cGVyY2hhcmdlZCB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAjc3VwZXJjaGFyZ2VkIHVsIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cbiAgI3N1cGVyY2hhcmdlZCB1bDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjRTNFREZGO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA4cHg7XG4gICAgaGVpZ2h0OiA5cHg7IH1cblxuI3N1cGVyY2hhcmdlZCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNUI3MDhCOyB9XG5cbiNzdXBlcmNoYXJnZWQgLmljb24ge1xuICBiYWNrZ3JvdW5kOiAjRjBGNkZGO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogMTcycHg7XG4gIHdpZHRoOiAxNzJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDExcHg7IH1cbiAgI3N1cGVyY2hhcmdlZCAuaWNvbiBpbWcge1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbiNzdXBlcmNoYXJnZWQgY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIGNvbG9yOiAjNzM4NDlBOyB9XG4iXX0= */ ================================================ FILE: content/css/pages/enterprise/index.css ================================================ .ee-hero { max-width: 640px; padding: 130px 0 80px; } .ee-hero::before, .ee-hero::after { display: none; } .ee-hero h1 { font-size: 62px; line-height: 69px; max-width: 930px; letter-spacing: -0.03em; color: #020814; margin-top: 0; margin-bottom: 16px; } .ee-hero h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 13px; line-height: 26px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; margin-bottom: 29px; } .ee-hero p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 24px; font-weight: 400; line-height: 36px; letter-spacing: -0.04em; color: rgba(39, 50, 63, 0.8); } .ee-hero .btn { font-size: 16px; margin-top: 16px; line-height: normal; letter-spacing: 0.08em; color: white; text-transform: uppercase; font-weight: 600; background: #3880FF; box-shadow: 0px 2px 4px rgba(2, 8, 20, 0.1), 0px 1px 2px rgba(2, 8, 20, 0.08); border-radius: 210px; min-width: 200px; } .ee-hero .btn::after { background-image: url('data:image/svg+xml;utf8,'); background-size: 100%; content: ''; height: 20px; width: 20px; float: right; display: block; } .ee-hero--secondary h1 { font-size: 52px; line-height: 62px; } .ee-hero--wide { max-width: 960px; } .ee-hero--centered { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; text-align: center; margin-left: auto; margin-right: auto; } main { margin-top: 128px; } main section { margin-bottom: 200px; } main .left, main .right, main .center { display: -ms-flexbox; display: flex; } main .left::before, main .left::after, main .right::before, main .right::after, main .center::before, main .center::after { display: none; } main .left .content, main .right .content { max-width: 480px; } @media (max-width: 767px) { main .left .content, main .right .content { max-width: 100%; text-align: center; } } main .left { -ms-flex-direction: row; flex-direction: row; } main .left .graphics { margin-left: auto; } main .right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; margin-left: auto; } main .right .graphics { margin-right: auto; } main .center { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; } main .center .content { width: 800px; max-width: 100%; } main .full .content { max-width: 568px; } @media (max-width: 767px) { main .right, main .left { -ms-flex-direction: column-reverse; flex-direction: column-reverse; } main .right .graphics, main .left .graphics { margin-bottom: 24px; } main section { margin-bottom: 100px; } } main .graphics { -ms-flex-pack: end; justify-content: flex-end; } main .graphics img { width: 100%; } main h2 { font-size: 44px; line-height: 51px; letter-spacing: -0.03em; } main h2:first-child { margin-top: 0; } main p { font-size: 20px; line-height: 31px; letter-spacing: -0.02em; color: #5B708B; margin-bottom: 54px; } main .content li { font-size: 16px; line-height: 23px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 40px; padding-left: 30px; list-style: none; position: relative; } main .content li::before { background-image: url("/img/enterprise/check.svg"); background-size: 100%; content: ''; height: 10px; width: 13px; position: absolute; left: 0; top: 8px; } main .features { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 64px; grid-row-gap: 10px; padding: 0; } main .features li { list-style: none; } main .features .icon { margin-bottom: 24px; width: 48px; } @media (max-width: 991px) { main .features { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; } } @media (max-width: 500px) { main .features { -ms-grid-columns: 1fr; grid-template-columns: 1fr; } } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .resources .cards { text-align: left; } .resources .cards li p { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; color: #73849A; } .resources .cards .img-wrapper { border-radius: 6px; } .resources .cards .img-wrapper + h4 { margin-top: 24px; } @media (min-width: 1220px) { .resources .cards { margin-left: -40px; margin-right: -40px; } .resources .cards li { padding: 40px; } } .resources img { max-width: 100%; } #best-way .graphics { width: 640px; min-height: 532px; margin-left: auto; } #best-way .graphics img { width: 945px; } @media (max-width: 991px) { #best-way .graphics { width: calc(100% - 300px); } } @media (max-width: 767px) { #best-way .graphics { width: 100%; } } #friendly .graphics { width: 560px; margin-right: auto; } #friendly .graphics img { max-width: 560px; } @media (max-width: 1219px) { #friendly .graphics { width: calc(100% - 300px); } #friendly .graphics img { max-width: calc(100% - 20px); } } @media (max-width: 1219px) { #friendly .graphics { width: 373px; max-width: 100%; margin-left: auto; margin-right: auto; } #friendly .graphics img { max-width: 100%; } } #supercharged figure { width: 100%; max-width: 800px; } #supercharged figcaption { font-size: 13px; line-height: 23px; letter-spacing: -0.01em; color: #73849A; } #supercharged ul { padding: 0; width: 100%; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; position: relative; margin-bottom: 16px; -ms-flex-wrap: wrap; flex-wrap: wrap; } @media (max-width: 1219px) { #supercharged ul { -ms-flex-pack: distribute; justify-content: space-around; } } #supercharged ul::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; border: 2px solid #E3EDFF; border-top: none; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; height: 9px; } #supercharged li { list-style: none; display: inline-block; font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: bold; font-size: 12px; padding-bottom: 50px; line-height: normal; text-align: center; letter-spacing: 0.14em; text-transform: uppercase; color: #5B708B; } #supercharged .icon { background: #F0F6FF; border-radius: 50%; height: 172px; width: 172px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; margin-bottom: 11px; } #supercharged .icon img { margin: 0 auto; } #supercharged caption { font-size: 13px; line-height: 23px; text-align: center; letter-spacing: -0.01em; color: #73849A; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QUU1QjtFQUNFLFlBQVk7RUFDWixpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLHdCQUF3QjtFQUN4QixlQUFlLEVBQUU7O0FBRW5CO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixxQkFBYztFQUFkLGNBQWM7RUFDZCx1QkFBK0I7TUFBL0IsK0JBQStCO0VBQy9CLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsb0JBQWdCO01BQWhCLGdCQUFnQixFQUFFO0VBQ2xCO0lBQ0U7TUFDRSwwQkFBOEI7VUFBOUIsOEJBQThCLEVBQUUsRUFBRTtFQUN0QztJQUNFLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLFFBQVE7SUFDUixTQUFTO0lBQ1QsMEJBQTBCO0lBQzFCLGlCQUFpQjtJQUNqQiwrQkFBK0I7SUFDL0IsZ0NBQWdDO0lBQ2hDLFlBQVksRUFBRTs7QUFFbEI7RUFDRSxpQkFBaUI7RUFDakIsc0JBQXNCO0VBQ3RCLDhFQUE4RTtFQUM5RSxtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixxQkFBcUI7RUFDckIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsMEJBQTBCO0VBQzFCLGVBQWUsRUFBRTs7QUFFbkI7RUFDRSxvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGNBQWM7RUFDZCxhQUFhO0VBQ2IscUJBQWM7RUFBZCxjQUFjO0VBQ2QsMkJBQXVCO01BQXZCLHVCQUF1QjtFQUN2QixzQkFBd0I7TUFBeEIsd0JBQXdCO0VBQ3hCLHVCQUFvQjtNQUFwQixvQkFBb0I7RUFDcEIsb0JBQW9CLEVBQUU7RUFDdEI7SUFDRSxlQUFlLEVBQUU7O0FBRXJCO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsd0JBQXdCO0VBQ3hCLGVBQWUsRUFBRSIsImZpbGUiOiJwYWdlcy9lbnRlcnByaXNlL2luZGV4LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5lZS1oZXJvIHtcbiAgbWF4LXdpZHRoOiA2NDBweDtcbiAgcGFkZGluZzogMTMwcHggMCA4MHB4OyB9XG4gIC5lZS1oZXJvOjpiZWZvcmUsIC5lZS1oZXJvOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZWUtaGVybyBoMSB7XG4gICAgZm9udC1zaXplOiA2MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2OXB4O1xuICAgIG1heC13aWR0aDogOTMwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIC5lZS1oZXJvIGg0IHtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzkyQTFCMztcbiAgICBtYXJnaW4tYm90dG9tOiAyOXB4OyB9XG4gIC5lZS1oZXJvIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG4gICAgY29sb3I6IHJnYmEoMzksIDUwLCA2MywgMC44KTsgfVxuICAuZWUtaGVybyAuYnRuIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBiYWNrZ3JvdW5kOiAjMzg4MEZGO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoMiwgOCwgMjAsIDAuMSksIDBweCAxcHggMnB4IHJnYmEoMiwgOCwgMjAsIDAuMDgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIxMHB4O1xuICAgIG1pbi13aWR0aDogMjAwcHg7IH1cbiAgICAuZWUtaGVybyAuYnRuOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJ3aGl0ZVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiPjxwYXRoIGQ9XCJNODUgMjc3LjM3NWgyNTkuNzA0TDIyNS4wMDIgMzk3LjA3NyAyNTYgNDI3bDE3MS0xNzFMMjU2IDg1bC0yOS45MjIgMjkuOTI0IDExOC42MjYgMTE5LjcwMUg4NXY0Mi43NXpcIi8+PC9zdmc+Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmVlLWhlcm8tLXNlY29uZGFyeSBoMSB7XG4gICAgZm9udC1zaXplOiA1MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2MnB4OyB9XG4gIC5lZS1oZXJvLS13aWRlIHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4OyB9XG4gIC5lZS1oZXJvLS1jZW50ZXJlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG5tYWluIHtcbiAgbWFyZ2luLXRvcDogMTI4cHg7IH1cbiAgbWFpbiBzZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMDBweDsgfVxuICBtYWluIC5sZWZ0LFxuICBtYWluIC5yaWdodCxcbiAgbWFpbiAuY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgbWFpbiAubGVmdDo6YmVmb3JlLCBtYWluIC5sZWZ0OjphZnRlcixcbiAgICBtYWluIC5yaWdodDo6YmVmb3JlLFxuICAgIG1haW4gLnJpZ2h0OjphZnRlcixcbiAgICBtYWluIC5jZW50ZXI6OmJlZm9yZSxcbiAgICBtYWluIC5jZW50ZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgbWFpbiAubGVmdCAuY29udGVudCxcbiAgbWFpbiAucmlnaHQgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDgwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIG1haW4gLmxlZnQgLmNvbnRlbnQsXG4gICAgICBtYWluIC5yaWdodCAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgbWFpbiAubGVmdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIG1haW4gLmxlZnQgLmdyYXBoaWNzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIG1haW4gLnJpZ2h0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICBtYWluIC5yaWdodCAuZ3JhcGhpY3Mge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIG1haW4gLmNlbnRlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIG1haW4gLmNlbnRlciAuY29udGVudCB7XG4gICAgICB3aWR0aDogODAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgbWFpbiAuZnVsbCAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA1NjhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBtYWluIC5yaWdodCxcbiAgICBtYWluIC5sZWZ0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAgICAgbWFpbiAucmlnaHQgLmdyYXBoaWNzLFxuICAgICAgbWFpbiAubGVmdCAuZ3JhcGhpY3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gICAgbWFpbiBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9IH1cbiAgbWFpbiAuZ3JhcGhpY3Mge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICBtYWluIC5ncmFwaGljcyBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgbWFpbiBoMiB7XG4gICAgZm9udC1zaXplOiA0NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtOyB9XG4gICAgbWFpbiBoMjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIG1haW4gcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgIG1hcmdpbi1ib3R0b206IDU0cHg7IH1cbiAgbWFpbiAuY29udGVudCBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgbWFpbiAuY29udGVudCBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9jaGVjay5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogOHB4OyB9XG4gIG1haW4gLmZlYXR1cmVzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiA2NHB4O1xuICAgIGdyaWQtcm93LWdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgbWFpbiAuZmVhdHVyZXMgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIG1haW4gLmZlYXR1cmVzIC5pY29uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICB3aWR0aDogNDhweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgbWFpbiAuZmVhdHVyZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgbWFpbiAuZmVhdHVyZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG5cbi5yZXNvdXJjZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjRweDsgfVxuICAucmVzb3VyY2VzIGhncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBpb24taWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIDMzLjMzJTtcbiAgICBwYWRkaW5nOiAyNHB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgLmltZy13cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBoNiB7XG4gICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNCMkJFQ0Q7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBjb2xvcjogIzFBMjMyRjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBwIHtcbiAgICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgaDUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyBsaSBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgY29sb3I6ICM3Mzg0OUE7IH1cbiAgLnJlc291cmNlcyAuY2FyZHMgLmltZy13cmFwcGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyAuaW1nLXdyYXBwZXIgKyBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC00MHB4OyB9XG4gICAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHg7IH0gfVxuXG4ucmVzb3VyY2VzIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4jYmVzdC13YXkgLmdyYXBoaWNzIHtcbiAgd2lkdGg6IDY0MHB4O1xuICBtaW4taGVpZ2h0OiA1MzJweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgI2Jlc3Qtd2F5IC5ncmFwaGljcyBpbWcge1xuICAgIHdpZHRoOiA5NDVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjYmVzdC13YXkgLmdyYXBoaWNzIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMDBweCk7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjYmVzdC13YXkgLmdyYXBoaWNzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuI2ZyaWVuZGx5IC5ncmFwaGljcyB7XG4gIHdpZHRoOiA1NjBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICNmcmllbmRseSAuZ3JhcGhpY3MgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDU2MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAjZnJpZW5kbHkgLmdyYXBoaWNzIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMDBweCk7IH1cbiAgICAgICNmcmllbmRseSAuZ3JhcGhpY3MgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAjZnJpZW5kbHkgLmdyYXBoaWNzIHtcbiAgICAgIHdpZHRoOiAzNzNweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAjZnJpZW5kbHkgLmdyYXBoaWNzIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbiNzdXBlcmNoYXJnZWQgZmlndXJlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODAwcHg7IH1cblxuI3N1cGVyY2hhcmdlZCBmaWdjYXB0aW9uIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIGNvbG9yOiAjNzM4NDlBOyB9XG5cbiNzdXBlcmNoYXJnZWQgdWwge1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgI3N1cGVyY2hhcmdlZCB1bCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG4gICNzdXBlcmNoYXJnZWQgdWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0UzRURGRjtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4O1xuICAgIGhlaWdodDogOXB4OyB9XG5cbiNzdXBlcmNoYXJnZWQgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzVCNzA4QjsgfVxuXG4jc3VwZXJjaGFyZ2VkIC5pY29uIHtcbiAgYmFja2dyb3VuZDogI0YwRjZGRjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBoZWlnaHQ6IDE3MnB4O1xuICB3aWR0aDogMTcycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxMXB4OyB9XG4gICNzdXBlcmNoYXJnZWQgLmljb24gaW1nIHtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4jc3VwZXJjaGFyZ2VkIGNhcHRpb24ge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBjb2xvcjogIzczODQ5QTsgfVxuIl19 */ ================================================ FILE: content/css/pages/enterprise/platform.css ================================================ .ee-hero { max-width: 640px; padding-top: 130px; padding-bottom: 160px; } .ee-hero::before, .ee-hero::after { display: none; } .ee-hero h1 { font-size: 52px; line-height: 62px; max-width: 930px; letter-spacing: -0.03em; color: #020814; margin-top: 0; margin-bottom: 16px; } .ee-hero h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 13px; line-height: 26px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; margin-bottom: 29px; } .ee-hero p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 24px; font-weight: 400; line-height: 36px; letter-spacing: -0.04em; color: rgba(39, 50, 63, 0.8); } .ee-hero .btn { padding-left: 24px; padding-right: 20px; padding-top: 18px; padding-bottom: 18px; font-size: 14px; margin-top: 16px; line-height: 20px; letter-spacing: 0.08em; color: white; text-transform: uppercase; font-weight: 700; background: #3880FF; box-shadow: 0px 2px 4px rgba(2, 8, 20, 0.1), 0px 1px 2px rgba(2, 8, 20, 0.08); border-radius: 210px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } .ee-hero .btn::after { background-image: url('data:image/svg+xml;utf8,'); background-size: 100%; content: ''; height: 20px; width: 20px; display: block; margin-left: 8px; -webkit-transform: translateY(-1px); transform: translateY(-1px); } .ee-hero .btn:hover { background-color: #4f8bf5; } .ee-hero--large h1 { font-size: 62px; line-height: 69px; } .ee-hero--wide { max-width: 960px; } .ee-hero--centered { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; text-align: center; margin-left: auto; margin-right: auto; } @media (max-width: 767px) { .ee-hero { padding-top: 70px; padding-bottom: 0; } .ee-hero h1 { font-size: 44px; line-height: 52px; } .ee-hero--large h1 { font-size: 50px; line-height: 60px; } } @media (max-width: 480px) { .ee-hero h1 { font-size: 36px; line-height: 44px; margin-bottom: 6px; } .ee-hero--large h1 { font-size: 42px; line-height: 52px; } .ee-hero .btn { margin-top: 8px; } } .ee-main { margin-top: 0; } .ee-main section { margin-bottom: 200px; } .ee-main .left, .ee-main .right, .ee-main .center { display: -ms-flexbox; display: flex; } .ee-main .left::before, .ee-main .left::after, .ee-main .right::before, .ee-main .right::after, .ee-main .center::before, .ee-main .center::after { display: none; } .ee-main .left .content, .ee-main .right .content { max-width: 480px; } @media (max-width: 767px) { .ee-main .left .content, .ee-main .right .content { max-width: 100%; text-align: center; } .ee-main .left .content li, .ee-main .right .content li { text-align: left; } } .ee-main .left { -ms-flex-direction: row; flex-direction: row; } .ee-main .left .graphics { margin-left: auto; } .ee-main .right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; margin-left: auto; } .ee-main .right .graphics { margin-right: auto; } .ee-main .center { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; } .ee-main .center .content { width: 894px; max-width: 100%; } .ee-main .full .content { max-width: 568px; } @media (max-width: 767px) { .ee-main .right, .ee-main .left { -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-align: center; align-items: center; } .ee-main .right .graphics, .ee-main .left .graphics { margin-bottom: 24px; margin-left: 0; margin-right: 0; } .ee-main section { margin-bottom: 100px; } } .ee-main .graphics { -ms-flex-pack: end; justify-content: flex-end; } .ee-main .graphics img { width: 100%; } .ee-main h2 { font-size: 44px; line-height: 51px; letter-spacing: -0.03em; } .ee-main h2:first-child { margin-top: 0; } .ee-main .ee-section__title { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: bold; font-size: 12px; line-height: 23px; letter-spacing: 0.14em; text-transform: uppercase; color: #5B708B; margin-top: 0; } .ee-main .ee-section__cta { display: inline-block; font-size: 18px; font-weight: 500; margin-top: 16px; } .ee-main p { font-size: 20px; line-height: 31px; letter-spacing: -0.02em; color: #5B708B; margin-top: 18px; } .ee-main p.sm { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; } .ee-main ul:not(.frameworks) { margin-top: 54px; } .ee-main .content ul { padding-left: 0; } .ee-main .content li { font-size: 16px; line-height: 23px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 40px; padding-left: 30px; list-style: none; position: relative; } .ee-main .content li::before { background-image: url("/img/enterprise/check.svg"); background-size: 100%; content: ''; height: 10px; width: 13px; position: absolute; left: 0; top: 8px; } .ee-main .features { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 64px; grid-row-gap: 24px; padding: 0; } .ee-main .features li { list-style: none; } .ee-main .features .icon { margin-bottom: 16px; width: 48px; } @media (max-width: 991px) { .ee-main .features { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; } } @media (max-width: 500px) { .ee-main .features { -ms-grid-columns: 1fr; grid-template-columns: 1fr; } } .ee-main .cta-card { background: #4a8bfc; border-radius: 12px; padding: 72px 72px 60px; background-size: cover; color: white; } .ee-main .cta-card .ee-section__title, .ee-main .cta-card p { color: #CED6E0; } #how-to { margin-bottom: 0; position: relative; padding-top: 140px; } #how-to::before { position: absolute; top: 0; width: 100vw; border-top: 1px solid rgba(146, 161, 179, 0.3); content: ''; display: block; } .cards--red-v-blue { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } .cards--red-v-blue__card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } .cards--red-v-blue__card:last-child { margin-right: 0; } .cards--red-v-blue__card:nth-child(2) { background: #F88D8D; } .cards--red-v-blue__card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } .cards--red-v-blue h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } .cards--red-v-blue p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); margin-top: 0; margin-bottom: 22px; } .cards--red-v-blue .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } .cards--red-v-blue .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { .cards--red-v-blue { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } .cards--red-v-blue__card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; max-width: 460px; } } aside { background: linear-gradient(180deg, #F9FAFB 0%, #FFFFFF 100%); margin-top: -60px; padding-top: 200px; padding-bottom: 120px; } aside p { color: #414D5C; } aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } .ee-get-started { max-width: 700px; } .ee-get-started h3 { color: #414D5C; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .ee-main .features li p, .ee-main .cards li p, .resources .features li p, .resources .cards li p { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; color: #73849A; margin-top: 0; } .ee-main .features li h4, .ee-main .cards li h4, .resources .features li h4, .resources .cards li h4 { font-size: 20px; line-height: normal; letter-spacing: -0.02em; color: #020814; font-weight: 600; } .resources .cards { margin-top: 0 !important; text-align: left; -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards .img-wrapper { border-radius: 6px; } .resources .cards .img-wrapper + h4 { margin-top: 24px; } @media (min-width: 1220px) { .resources .cards { margin-left: -40px; margin-right: -40px; } .resources .cards li { padding: 40px; } } .resources .resources__customer-logos { display: -ms-flexbox; display: flex; margin: 26px auto 0; padding: 0; -ms-flex-pack: justify; justify-content: space-between; max-width: 780px; width: 100%; } .resources .resources__customer-logos li { background: url("/img/enterprise/customer-logos.png"); background-size: 428px 46px; background-repeat: no-repeat; display: block; height: 46px; } @media (max-width: 768px) { .resources .resources__customer-logos { -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 460px; } .resources .resources__customer-logos li { margin: 20px; } } .resources .resources__customer-logos .mastercard { width: 58px; } .resources .resources__customer-logos .nationwide { background-position: -58px 0; width: 33px; } .resources .resources__customer-logos .uniqlo { background-position: -91px 0; width: 65px; } .resources .resources__customer-logos .ibm { background-position: -156px 0; width: 64px; } .resources .resources__customer-logos .ing { background-position: -222px 0; width: 103px; } .resources .resources__customer-logos .sap { background-position: -326px 0; width: 56px; } .resources .resources__customer-logos .nasa { background-position: -380px 0; width: 50px; } section { position: relative; } #app-builder .graphics { margin-left: -86px; padding-left: 0; margin-right: -120px; width: 897px; } @media (max-width: 767px) { #app-builder .graphics { width: 100%; margin-top: 100px; margin-bottom: -60px; } } #oss .frameworks { margin-bottom: 33px; display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: start; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 0; } #oss .frameworks li { margin-right: 1em; list-style: none; } #oss .frameworks li { height: 32px; width: 32px; background-size: 100%; display: inline-block; margin-right: 12px; } #oss .frameworks li.frameworks__angular { background-image: url("/img/homepage/framework-support-angular.png"); } #oss .frameworks li.frameworks__react { background-image: url("/img/homepage/framework-support-react.png"); } #oss .frameworks li.frameworks__vue { background-image: url("/img/homepage/framework-support-vue.png"); } #oss .frameworks li.frameworks__js { background-image: url("/img/homepage/framework-support-javascript.png"); } #oss .frameworks li::before { display: none; } @media (max-width: 767px) { #oss .frameworks { -ms-flex-pack: distribute; justify-content: space-around; width: 260px; margin: 0 auto; } #oss .frameworks li { margin-right: 0; } } #oss .graphics { padding-right: 0; margin-left: -130px; width: 789px; } @media (max-width: 767px) { #oss .graphics { width: 100%; max-width: 400px; margin-left: -60px; } } #devops .graphics { width: calc(100% - 480px); margin-right: -20px; margin-top: -40px; } #devops .graphics img { width: 1035px; position: relative; left: -380px; } #integrations .integration-list { position: relative; width: 100%; height: 360px; display: block; margin: 0 0 48px; padding: 0; position: relative; opacity: 0; -webkit-animation: fadeIn 1s 1s forwards; animation: fadeIn 1s 1s forwards; } #integrations .integration-list li { list-style: none; position: absolute; } #integrations .integration-list img { position: absolute; width: 128px; border-radius: 50%; box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1); } #integrations .integration-list img.m { width: 64px; } #integrations .integration-list img.m { width: 96px; } #advisory { background-image: url("/img/enterprise/platform/card-advisory.jpg"); } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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dkU7TUFDRSxpRUFBaUUsRUFBRTtJQUNyRTtNQUNFLHdFQUF3RSxFQUFFO0lBQzVFO01BQ0UsY0FBYyxFQUFFO0VBQ3BCO0lBQ0U7TUFDRSwwQkFBOEI7VUFBOUIsOEJBQThCO01BQzlCLGFBQWE7TUFDYixlQUFlLEVBQUU7TUFDakI7UUFDRSxnQkFBZ0IsRUFBRSxFQUFFOztBQUU1QjtFQUNFLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsYUFBYSxFQUFFO0VBQ2Y7SUFDRTtNQUNFLFlBQVk7TUFDWixpQkFBaUI7TUFDakIsbUJBQW1CLEVBQUUsRUFBRTs7QUFFN0I7RUFDRSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLGtCQUFrQixFQUFFO0VBQ3BCO0lBQ0UsY0FBYztJQUNkLG1CQUFtQjtJQUNuQixhQUFhLEVBQUU7O0FBRW5CO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixjQUFjO0VBQ2QsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCx5Q0FBaUM7VUFBakMsaUNBQWlDLEVBQUU7RUFDbkM7SUFDRSxpQkFBaUI7SUFDakIsbUJBQW1CLEVBQUU7RUFDdkI7SUFDRSxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiwwQ0FBMEMsRUFBRTtJQUM1QztNQUNFLFlBQVksRUFBRTtJQUNoQjtNQUNFLFlBQVksRUFBRTs7QUFFcEI7RUFDRSxvRUFBb0UsRUFBRSIsImZpbGUiOiJwYWdlcy9lbnRlcnByaXNlL3BsYXRmb3JtLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5lZS1oZXJvIHtcbiAgbWF4LXdpZHRoOiA2NDBweDtcbiAgcGFkZGluZy10b3A6IDEzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTYwcHg7IH1cbiAgLmVlLWhlcm86OmJlZm9yZSwgLmVlLWhlcm86OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5lZS1oZXJvIGgxIHtcbiAgICBmb250LXNpemU6IDUycHg7XG4gICAgbGluZS1oZWlnaHQ6IDYycHg7XG4gICAgbWF4LXdpZHRoOiA5MzBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBjb2xvcjogIzAyMDgxNDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgLmVlLWhlcm8gaDQge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOTJBMUIzO1xuICAgIG1hcmdpbi1ib3R0b206IDI5cHg7IH1cbiAgLmVlLWhlcm8gcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDRlbTtcbiAgICBjb2xvcjogcmdiYSgzOSwgNTAsIDYzLCAwLjgpOyB9XG4gIC5lZS1oZXJvIC5idG4ge1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxOHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiAjMzg4MEZGO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoMiwgOCwgMjAsIDAuMSksIDBweCAxcHggMnB4IHJnYmEoMiwgOCwgMjAsIDAuMDgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5lZS1oZXJvIC5idG46OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIndoaXRlXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCI+PHBhdGggZD1cIk04NSAyNzcuMzc1aDI1OS43MDRMMjI1LjAwMiAzOTcuMDc3IDI1NiA0MjdsMTcxLTE3MUwyNTYgODVsLTI5LjkyMiAyOS45MjQgMTE4LjYyNiAxMTkuNzAxSDg1djQyLjc1elwiLz48L3N2Zz4nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH1cbiAgICAuZWUtaGVybyAuYnRuOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjhiZjU7IH1cbiAgLmVlLWhlcm8tLWxhcmdlIGgxIHtcbiAgICBmb250LXNpemU6IDYycHg7XG4gICAgbGluZS1oZWlnaHQ6IDY5cHg7IH1cbiAgLmVlLWhlcm8tLXdpZGUge1xuICAgIG1heC13aWR0aDogOTYwcHg7IH1cbiAgLmVlLWhlcm8tLWNlbnRlcmVkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5lZS1oZXJvIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgIC5lZS1oZXJvIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0NHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTJweDsgfVxuICAgICAgLmVlLWhlcm8tLWxhcmdlIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5lZS1oZXJvIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG4gICAgLmVlLWhlcm8tLWxhcmdlIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OyB9XG4gICAgLmVlLWhlcm8gLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7IH0gfVxuXG4uZWUtbWFpbiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgLmVlLW1haW4gc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7IH1cbiAgLmVlLW1haW4gLmxlZnQsXG4gIC5lZS1tYWluIC5yaWdodCxcbiAgLmVlLW1haW4gLmNlbnRlciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5lZS1tYWluIC5sZWZ0OjpiZWZvcmUsIC5lZS1tYWluIC5sZWZ0OjphZnRlcixcbiAgICAuZWUtbWFpbiAucmlnaHQ6OmJlZm9yZSxcbiAgICAuZWUtbWFpbiAucmlnaHQ6OmFmdGVyLFxuICAgIC5lZS1tYWluIC5jZW50ZXI6OmJlZm9yZSxcbiAgICAuZWUtbWFpbiAuY2VudGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5lZS1tYWluIC5sZWZ0IC5jb250ZW50LFxuICAuZWUtbWFpbiAucmlnaHQgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDgwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5lZS1tYWluIC5sZWZ0IC5jb250ZW50LFxuICAgICAgLmVlLW1haW4gLnJpZ2h0IC5jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLmVlLW1haW4gLmxlZnQgLmNvbnRlbnQgbGksXG4gICAgICAgIC5lZS1tYWluIC5yaWdodCAuY29udGVudCBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5lZS1tYWluIC5sZWZ0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLmVlLW1haW4gLmxlZnQgLmdyYXBoaWNzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5lZS1tYWluIC5yaWdodCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmVlLW1haW4gLnJpZ2h0IC5ncmFwaGljcyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmVlLW1haW4gLmNlbnRlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5lZS1tYWluIC5jZW50ZXIgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDg5NHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5lZS1tYWluIC5mdWxsIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDU2OHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5lZS1tYWluIC5yaWdodCxcbiAgICAuZWUtbWFpbiAubGVmdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZWUtbWFpbiAucmlnaHQgLmdyYXBoaWNzLFxuICAgICAgLmVlLW1haW4gLmxlZnQgLmdyYXBoaWNzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5lZS1tYWluIHNlY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH0gfVxuICAuZWUtbWFpbiAuZ3JhcGhpY3Mge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAuZWUtbWFpbiAuZ3JhcGhpY3MgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5lZS1tYWluIGgyIHtcbiAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDUxcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07IH1cbiAgICAuZWUtbWFpbiBoMjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIC5lZS1zZWN0aW9uX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmVlLW1haW4gLmVlLXNlY3Rpb25fX2N0YSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgLmVlLW1haW4gcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgIG1hcmdpbi10b3A6IDE4cHg7IH1cbiAgICAuZWUtbWFpbiBwLnNtIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07IH1cbiAgLmVlLW1haW4gdWw6bm90KC5mcmFtZXdvcmtzKSB7XG4gICAgbWFyZ2luLXRvcDogNTRweDsgfVxuICAuZWUtbWFpbiAuY29udGVudCB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5lZS1tYWluIC5jb250ZW50IGxpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6ICMxQTIzMkY7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZWUtbWFpbiAuY29udGVudCBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9jaGVjay5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogOHB4OyB9XG4gIC5lZS1tYWluIC5mZWF0dXJlcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgIGdyaWQtY29sdW1uLWdhcDogNjRweDtcbiAgICBncmlkLXJvdy1nYXA6IDI0cHg7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5lZS1tYWluIC5mZWF0dXJlcyBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmVlLW1haW4gLmZlYXR1cmVzIC5pY29uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB3aWR0aDogNDhweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgLmVlLW1haW4gLmZlYXR1cmVzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgIC5lZS1tYWluIC5mZWF0dXJlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH1cbiAgLmVlLW1haW4gLmN0YS1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjNGE4YmZjO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogNzJweCA3MnB4IDYwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuZWUtbWFpbiAuY3RhLWNhcmQgLmVlLXNlY3Rpb25fX3RpdGxlLFxuICAgIC5lZS1tYWluIC5jdGEtY2FyZCBwIHtcbiAgICAgIGNvbG9yOiAjQ0VENkUwOyB9XG5cbiNob3ctdG8ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxNDBweDsgfVxuICAjaG93LXRvOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE0NiwgMTYxLCAxNzksIDAuMyk7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNhcmRzLS1yZWQtdi1ibHVlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDM4cHg7IH1cbiAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjN0NBQkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHggMzRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuICAgIGZsZXg6IDAgMSA0NjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7IH1cbiAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQ6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGODhEOEQ7IH1cbiAgICAgIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZDpudGgtY2hpbGQoMikgLmJ0biB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ0LCA4NCwgODQsIDAuNSk7IH1cbiAgLmNhcmRzLS1yZWQtdi1ibHVlIGgzIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FyZHMtLXJlZC12LWJsdWUgcCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZSAuYnRuIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogMTBweCAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNTYsIDEyOCwgMjU1LCAwLjUpOyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlIC5idG4gaW9uLWljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuY2FyZHMtLXJlZC12LWJsdWUge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZCB7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA0NjBweDsgfSB9XG5cbmFzaWRlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0Y5RkFGQiAwJSwgI0ZGRkZGRiAxMDAlKTtcbiAgbWFyZ2luLXRvcDogLTYwcHg7XG4gIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9XG4gIGFzaWRlIHAge1xuICAgIGNvbG9yOiAjNDE0RDVDOyB9XG4gIGFzaWRlIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQzMnB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZWUtZ2V0LXN0YXJ0ZWQge1xuICBtYXgtd2lkdGg6IDcwMHB4OyB9XG4gIC5lZS1nZXQtc3RhcnRlZCBoMyB7XG4gICAgY29sb3I6ICM0MTRENUM7IH1cblxuLnJlc291cmNlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucmVzb3VyY2VzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cbiAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4OyB9XG4gIC5yZXNvdXJjZXMgaGdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBoMyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICMxQTIzMkY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDQge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgIGNvbG9yOiAjMzg4MEZGO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGlvbi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOyB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAwIDAgMzMuMzMlO1xuICAgIHBhZGRpbmc6IDI0cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSAuaW1nLXdyYXBwZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg2IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI0IyQkVDRDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHAge1xuICAgICAgY29sb3I6ICM1QjcwOEI7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEycHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBwYWRkaW5nOiAxMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgLnJlc291cmNlcyBoNSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmVlLW1haW4gLmZlYXR1cmVzIGxpIHAsXG4uZWUtbWFpbiAuY2FyZHMgbGkgcCxcbi5yZXNvdXJjZXMgLmZlYXR1cmVzIGxpIHAsXG4ucmVzb3VyY2VzIC5jYXJkcyBsaSBwIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjlweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIGNvbG9yOiAjNzM4NDlBO1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5lZS1tYWluIC5mZWF0dXJlcyBsaSBoNCxcbi5lZS1tYWluIC5jYXJkcyBsaSBoNCxcbi5yZXNvdXJjZXMgLmZlYXR1cmVzIGxpIGg0LFxuLnJlc291cmNlcyAuY2FyZHMgbGkgaDQge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBjb2xvcjogIzAyMDgxNDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ucmVzb3VyY2VzIC5jYXJkcyB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIC5pbWctd3JhcHBlciB7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgLmltZy13cmFwcGVyICsgaDQge1xuICAgICAgbWFyZ2luLXRvcDogMjRweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtNDBweDsgfVxuICAgICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgICBwYWRkaW5nOiA0MHB4OyB9IH1cblxuLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMjZweCBhdXRvIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWF4LXdpZHRoOiA3ODBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyBsaSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9lbnRlcnByaXNlL2N1c3RvbWVyLWxvZ29zLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDQyOHB4IDQ2cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDQ2cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1heC13aWR0aDogNDYwcHg7IH1cbiAgICAgIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgbGkge1xuICAgICAgICBtYXJnaW46IDIwcHg7IH0gfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5tYXN0ZXJjYXJkIHtcbiAgICB3aWR0aDogNThweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5uYXRpb253aWRlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNThweCAwO1xuICAgIHdpZHRoOiAzM3B4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLnVuaXFsbyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTkxcHggMDtcbiAgICB3aWR0aDogNjVweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5pYm0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTZweCAwO1xuICAgIHdpZHRoOiA2NHB4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLmluZyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyMnB4IDA7XG4gICAgd2lkdGg6IDEwM3B4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLnNhcCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMyNnB4IDA7XG4gICAgd2lkdGg6IDU2cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubmFzYSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM4MHB4IDA7XG4gICAgd2lkdGg6IDUwcHg7IH1cblxuc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jYXBwLWJ1aWxkZXIgLmdyYXBoaWNzIHtcbiAgbWFyZ2luLWxlZnQ6IC04NnB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogLTEyMHB4O1xuICB3aWR0aDogODk3cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI2FwcC1idWlsZGVyIC5ncmFwaGljcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTYwcHg7IH0gfVxuXG4jb3NzIC5mcmFtZXdvcmtzIHtcbiAgbWFyZ2luLWJvdHRvbTogMzNweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgI29zcyAuZnJhbWV3b3JrcyBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAjb3NzIC5mcmFtZXdvcmtzIGxpIHtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cbiAgICAjb3NzIC5mcmFtZXdvcmtzIGxpLmZyYW1ld29ya3NfX2FuZ3VsYXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9ob21lcGFnZS9mcmFtZXdvcmstc3VwcG9ydC1hbmd1bGFyLnBuZ1wiKTsgfVxuICAgICNvc3MgLmZyYW1ld29ya3MgbGkuZnJhbWV3b3Jrc19fcmVhY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9ob21lcGFnZS9mcmFtZXdvcmstc3VwcG9ydC1yZWFjdC5wbmdcIik7IH1cbiAgICAjb3NzIC5mcmFtZXdvcmtzIGxpLmZyYW1ld29ya3NfX3Z1ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2hvbWVwYWdlL2ZyYW1ld29yay1zdXBwb3J0LXZ1ZS5wbmdcIik7IH1cbiAgICAjb3NzIC5mcmFtZXdvcmtzIGxpLmZyYW1ld29ya3NfX2pzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvaG9tZXBhZ2UvZnJhbWV3b3JrLXN1cHBvcnQtamF2YXNjcmlwdC5wbmdcIik7IH1cbiAgICAjb3NzIC5mcmFtZXdvcmtzIGxpOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjb3NzIC5mcmFtZXdvcmtzIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgICNvc3MgLmZyYW1ld29ya3MgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4jb3NzIC5ncmFwaGljcyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMTMwcHg7XG4gIHdpZHRoOiA3ODlweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjb3NzIC5ncmFwaGljcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTYwcHg7IH0gfVxuXG4jZGV2b3BzIC5ncmFwaGljcyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0ODBweCk7XG4gIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gIG1hcmdpbi10b3A6IC00MHB4OyB9XG4gICNkZXZvcHMgLmdyYXBoaWNzIGltZyB7XG4gICAgd2lkdGg6IDEwMzVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTM4MHB4OyB9XG5cbiNpbnRlZ3JhdGlvbnMgLmludGVncmF0aW9uLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM2MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgNDhweDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IGZhZGVJbiAxcyAxcyBmb3J3YXJkczsgfVxuICAjaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbi1saXN0IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAjaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbi1saXN0IGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMjhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAjaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbi1saXN0IGltZy5tIHtcbiAgICAgIHdpZHRoOiA2NHB4OyB9XG4gICAgI2ludGVncmF0aW9ucyAuaW50ZWdyYXRpb24tbGlzdCBpbWcubSB7XG4gICAgICB3aWR0aDogOTZweDsgfVxuXG4jYWR2aXNvcnkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2VudGVycHJpc2UvcGxhdGZvcm0vY2FyZC1hZHZpc29yeS5qcGdcIik7IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/enterprise/resources/case-studies.css ================================================ .sub-header { padding-top: 14px; } .sub-header > .container::before { border-top: 1px solid #E9EDF3; } .sub-header .breadcrumbs li, .sub-header .breadcrumbs li a { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; color: #52678c; font-size: 13px; font-weight: 400; letter-spacing: -0.01em; } .sub-header .breadcrumbs li a { color: #8aa0bb; } .sub-header .breadcrumbs li a:hover { color: #52678c; } .sub-header .breadcrumbs li::after { color: #e1e4e8; margin-left: 7px; margin-right: 6px; font-size: 14px; } @media (max-width: 768px) { .sub-header { display: none; } } .sub-header .download { padding-right: 0; text-transform: uppercase; letter-spacing: .02em; font-size: 12px; } main hgroup { margin-top: 24px; margin-bottom: 53px; } @media (max-width: 767px) { main hgroup { margin-bottom: 0; } } main hgroup strong { text-transform: uppercase; font-size: 11px; font-weight: 600; color: #9cabc4; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } main hgroup h4 { margin-top: 62px; font-size: 12px; color: #92A1B3; text-transform: uppercase; letter-spacing: .14em; } main hgroup h1 { font-size: 46px; margin-top: 56px; } main hgroup p { font-weight: 400; color: #898989; max-width: 750px; margin: 13px auto; font-size: 20px; line-height: 1.8em; letter-spacing: .01em; } main hgroup .byline { font-style: normal; font-weight: normal; line-height: 29px; font-size: 16px; letter-spacing: -0.02em; color: #92A1B3; margin-bottom: 42px; } main hgroup .byline .avatar { width: 28px; height: 28px; margin: 0 8px 0 0; border-radius: 50%; display: inline-block; } main hgroup .byline .tags { padding: 0; margin-left: 4px; list-style: none; vertical-align: 2px; display: inline-block; } main hgroup .byline .tags li { font-size: 10px; color: #ced6e0; background: transparent; padding: 3px 5px 4px; line-height: 1em; margin-right: 2px; font-weight: 600; text-transform: uppercase; border-radius: 4px; letter-spacing: 0.08em; vertical-align: 1px; display: inline-block; border: 1px solid #E9EDF3; } main hgroup img { margin: 24px auto; max-width: 100%; } main { display: -ms-flexbox; display: flex; overflow: visible; padding-bottom: 160px; } @media (max-width: 768px) { main { padding-bottom: 80px; } } @media (max-width: 767px) { main { -ms-flex-direction: column; flex-direction: column; } } .sticky-wrapper { position: -webkit-sticky; position: sticky; top: 128px; } aside { -ms-flex: 0 1 208px; flex: 0 1 208px; padding-right: 20px; margin-bottom: 0; margin-top: 52px; } aside h4 { font-size: 10px; text-transform: uppercase; color: #a4b3cc; font-weight: 600; letter-spacing: .16em; } aside ul { padding: 0; font-size: 14px; margin: 9px 0 30px; list-style: none; line-height: 1.4em; } @media (max-width: 1219px) { aside ul { font-size: 12px; } } aside li { margin: 12px 0 13px; } aside a { color: #52678c; display: block; transition: .2s transform ease, .2s color; } aside a:hover, aside a:active, aside a:focus, aside a.active { color: #4a8bfc; text-decoration: none; } aside a.active { -webkit-transform: translateX(8px); transform: translateX(8px); } aside .btn { margin: 0 0 32px; } aside .lightblue { background: #e6f0f8; color: #4a8bfc; border-radius: 4px; padding: 9px 16px; display: inline-block; font-size: 11px; text-transform: uppercase; font-weight: 700; letter-spacing: .07em; } aside .lightblue ion-icon { font-size: 18px; vertical-align: -5px; } aside .sharing { margin: 0; border-top: 2px solid #f3f5f9; padding-top: 26px; } aside .sharing li { margin: 0; margin-right: 6px; display: inline-block; } aside .sharing a { color: #CBD2DD; font-size: 20px; } aside .sharing a:hover { color: #4a8bfc; } aside .sharing #web-share { display: none; } @media (max-width: 768px) { aside { display: none; } } .main-col { -ms-flex: 1; flex: 1; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } .main-col__inner { width: 100%; max-width: 663px; margin-left: 40px; } @media (max-width: 1219px) { .main-col { -ms-flex-align: end; align-items: flex-end; } .main-col__inner { margin-left: 20px; } } @media (max-width: 768px) { .main-col { -ms-flex-align: center; align-items: center; } .main-col__inner { margin-left: 0; } } article { padding-bottom: 58px; border-bottom: 1px solid #edf0f6; margin-bottom: 37px; } article h2 { font-size: 30px; margin-top: 2.65em; margin-bottom: 0.8em; font-weight: 600; } article h2 strong { font-weight: 600; } article h3 { font-size: 20px; line-height: 1.3; margin-top: 2.3em; margin-bottom: 1.2em; letter-spacing: -.014em; font-weight: 600; } article h3 strong { font-weight: 600; } article h4, article h5, article h6 { margin: 1em 0; } article h4 { text-transform: uppercase; letter-spacing: 0.1em; font-size: 14px; } article h5 { font-size: 15px; } article h6 { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; } article p, article ul, article ol { font-size: 16px; letter-spacing: -.011em; line-height: 1.75em; margin-bottom: 1.8em; color: #5B708B; } article ul li + li, article ol li + li { margin-top: 8px; } article ul { padding-left: 0; } article ul li { list-style-type: none; position: relative; padding-left: 18px; } article ul li:before { content: ''; display: inline-block; width: 6px; height: 6px; background: #B2BECD; position: absolute; top: 12px; left: 0; border-radius: 8px; } article b, article strong { font-weight: 500; } article blockquote { background: #f2f5f8; border-radius: 4px; position: relative; padding: 64px 80px 68px 111px; color: #5e749a; font-family: "Adobe Caslon", Georgia, Times, "Times New Roman", serif; font-style: italic; border: none; margin: 77px -16px 54px; } article blockquote::before { position: absolute; top: -6px; left: 54px; font-size: 180px; content: '\201C'; color: #e3e7ec; } article blockquote p { font-size: 18px; position: relative; z-index: 1; letter-spacing: .022em; line-height: 1.8em; } article blockquote p:last-child { margin-bottom: 0; } article blockquote cite { font-size: 15px; letter-spacing: .02em; } article blockquote cite span { color: #9da9bd; margin-left: 8px; } article img { max-width: 100%; } article pre, article code { border: none; background: #f5f7fa; } article figure { width: 295px; float: right; margin: 8px -20px 16px 74px; } article figure.left { float: left; margin-right: 74px; margin-left: -20px; } article figure img { box-shadow: 0 4px 48px rgba(0, 0, 0, 0.2); } article figure figcaption { color: #a8b0be; font-size: 11px; margin-top: 13px; } @media (max-width: 767px) { article figure { margin-right: 0; margin-left: 32px; } article figure.left { margin-left: 0; margin-right: 32px; } } @media (max-width: 480px) { article figure { width: 100%; } } article .table-wrap { overflow-x: auto; margin-right: -15px; padding-right: 15px; box-sizing: content-box; font-size: 13px; } article .table-wrap td, article .table-wrap th { min-width: 120px; padding-right: 12px; } article .table-wrap table tbody tr td { border-top-color: #DEE3EA; } article .table-wrap table > thead > tr > th { border-bottom-color: #E9EDF3; font-weight: 600; } .resource-list { margin-bottom: 0; } .resource-list__header .all { float: right; } .resource-list__header .all ion-icon { display: inline-block; transition: .2s transform ease; } .resource-list__header .all:hover ion-icon { -webkit-transform: translateX(2px); transform: translateX(2px); } .resource-list__header h4 { text-transform: uppercase; font-size: 14px; letter-spacing: .12em; } .resource-list .resource-card-list { margin-left: -10px; margin-right: -10px; } .resource-list .resource-card-list--third .resource-card { padding: 5px; height: 214px; } .resource-list .resource-card-list--third .resource-card a .title { font-size: 18px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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WixtQkFBbUI7TUFDbkIsbUJBQW1CLEVBQUU7SUFDdkI7TUFDRSwwQ0FBMEMsRUFBRTtJQUM5QztNQUNFLGVBQWU7TUFDZixnQkFBZ0I7TUFDaEIsaUJBQWlCLEVBQUU7SUFDckI7TUFDRTtRQUNFLGdCQUFnQjtRQUNoQixrQkFBa0IsRUFBRTtRQUNwQjtVQUNFLGVBQWU7VUFDZixtQkFBbUIsRUFBRSxFQUFFO0lBQzdCO01BQ0U7UUFDRSxZQUFZLEVBQUUsRUFBRTtFQUN0QjtJQUNFLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLHdCQUF3QjtJQUN4QixnQkFBZ0IsRUFBRTtJQUNsQjs7TUFFRSxpQkFBaUI7TUFDakIsb0JBQW9CLEVBQUU7SUFDeEI7TUFDRSwwQkFBMEIsRUFBRTtJQUM5QjtNQUNFLDZCQUE2QjtNQUM3QixpQkFBaUIsRUFBRTs7QUFFekI7RUFDRSxpQkFBaUIsRUFBRTtFQUNuQjtJQUNFLGFBQWEsRUFBRTtJQUNmO01BQ0Usc0JBQXNCO01BQ3RCLCtCQUErQixFQUFFO0lBQ25DO01BQ0UsbUNBQTJCO2NBQTNCLDJCQUEyQixFQUFFO0VBQ2pDO0lBQ0UsMEJBQTBCO0lBQzFCLGdCQUFnQjtJQUNoQixzQkFBc0IsRUFBRTtFQUMxQjtJQUNFLG1CQUFtQjtJQUNuQixvQkFBb0IsRUFBRTtFQUN4QjtJQUNFLGFBQWE7SUFDYixjQUFjLEVBQUU7RUFDbEI7SUFDRSxnQkFBZ0IsRUFBRSIsImZpbGUiOiJwYWdlcy9lbnRlcnByaXNlL3Jlc291cmNlcy9jYXNlLXN0dWRpZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnN1Yi1oZWFkZXIge1xuICBwYWRkaW5nLXRvcDogMTRweDsgfVxuICAuc3ViLWhlYWRlciA+IC5jb250YWluZXI6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFOUVERjM7IH1cbiAgLnN1Yi1oZWFkZXIgLmJyZWFkY3J1bWJzIGxpLFxuICAuc3ViLWhlYWRlciAuYnJlYWRjcnVtYnMgbGkgYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgXCJJbnRlciBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjNTI2NzhjO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG4gIC5zdWItaGVhZGVyIC5icmVhZGNydW1icyBsaSBhIHtcbiAgICBjb2xvcjogIzhhYTBiYjsgfVxuICAgIC5zdWItaGVhZGVyIC5icmVhZGNydW1icyBsaSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNTI2NzhjOyB9XG4gIC5zdWItaGVhZGVyIC5icmVhZGNydW1icyBsaTo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZTFlNGU4O1xuICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zdWItaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc3ViLWhlYWRlciAuZG93bmxvYWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLjAyZW07XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG5tYWluIGhncm91cCB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDUzcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgbWFpbiBoZ3JvdXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIG1haW4gaGdyb3VwIHN0cm9uZyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzljYWJjNDtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gIG1haW4gaGdyb3VwIGg0IHtcbiAgICBtYXJnaW4tdG9wOiA2MnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzkyQTFCMztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMTRlbTsgfVxuICBtYWluIGhncm91cCBoMSB7XG4gICAgZm9udC1zaXplOiA0NnB4O1xuICAgIG1hcmdpbi10b3A6IDU2cHg7IH1cbiAgbWFpbiBoZ3JvdXAgcCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzg5ODk4OTtcbiAgICBtYXgtd2lkdGg6IDc1MHB4O1xuICAgIG1hcmdpbjogMTNweCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOyB9XG4gIG1haW4gaGdyb3VwIC5ieWxpbmUge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogIzkyQTFCMztcbiAgICBtYXJnaW4tYm90dG9tOiA0MnB4OyB9XG4gICAgbWFpbiBoZ3JvdXAgLmJ5bGluZSAuYXZhdGFyIHtcbiAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgbWFyZ2luOiAwIDhweCAwIDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBtYWluIGhncm91cCAuYnlsaW5lIC50YWdzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAycHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIG1haW4gaGdyb3VwIC5ieWxpbmUgLnRhZ3MgbGkge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGNvbG9yOiAjY2VkNmUwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogM3B4IDVweCA0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAxcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0U5RURGMzsgfVxuICBtYWluIGhncm91cCBpbWcge1xuICAgIG1hcmdpbjogMjRweCBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG5tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmctYm90dG9tOiAxNjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBtYWluIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgbWFpbiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuLnN0aWNreS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAxMjhweDsgfVxuXG5hc2lkZSB7XG4gIGZsZXg6IDAgMSAyMDhweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogNTJweDsgfVxuICBhc2lkZSBoNCB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICNhNGIzY2M7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjE2ZW07IH1cbiAgYXNpZGUgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogOXB4IDAgMzBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgIGFzaWRlIHVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH1cbiAgYXNpZGUgbGkge1xuICAgIG1hcmdpbjogMTJweCAwIDEzcHg7IH1cbiAgYXNpZGUgYSB7XG4gICAgY29sb3I6ICM1MjY3OGM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSBlYXNlLCAuMnMgY29sb3I7IH1cbiAgICBhc2lkZSBhOmhvdmVyLCBhc2lkZSBhOmFjdGl2ZSwgYXNpZGUgYTpmb2N1cywgYXNpZGUgYS5hY3RpdmUge1xuICAgICAgY29sb3I6ICM0YThiZmM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICBhc2lkZSBhLmFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuICBhc2lkZSAuYnRuIHtcbiAgICBtYXJnaW46IDAgMCAzMnB4OyB9XG4gIGFzaWRlIC5saWdodGJsdWUge1xuICAgIGJhY2tncm91bmQ6ICNlNmYwZjg7XG4gICAgY29sb3I6ICM0YThiZmM7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDlweCAxNnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDdlbTsgfVxuICAgIGFzaWRlIC5saWdodGJsdWUgaW9uLWljb24ge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IC01cHg7IH1cbiAgYXNpZGUgLnNoYXJpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2YzZjVmOTtcbiAgICBwYWRkaW5nLXRvcDogMjZweDsgfVxuICAgIGFzaWRlIC5zaGFyaW5nIGxpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgYXNpZGUgLnNoYXJpbmcgYSB7XG4gICAgICBjb2xvcjogI0NCRDJERDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgICAgYXNpZGUgLnNoYXJpbmcgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICAgYXNpZGUgLnNoYXJpbmcgI3dlYi1zaGFyZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGFzaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubWFpbi1jb2wge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5tYWluLWNvbF9faW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2NjNweDtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAubWFpbi1jb2wge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAubWFpbi1jb2xfX2lubmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1jb2wge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLm1haW4tY29sX19pbm5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5hcnRpY2xlIHtcbiAgcGFkZGluZy1ib3R0b206IDU4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWRmMGY2O1xuICBtYXJnaW4tYm90dG9tOiAzN3B4OyB9XG4gIGFydGljbGUgaDIge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAyLjY1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC44ZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIGFydGljbGUgaDIgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgYXJ0aWNsZSBoMyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luLXRvcDogMi4zZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE0ZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIGFydGljbGUgaDMgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgYXJ0aWNsZSBoNCwgYXJ0aWNsZSBoNSwgYXJ0aWNsZSBoNiB7XG4gICAgbWFyZ2luOiAxZW0gMDsgfVxuICBhcnRpY2xlIGg0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgYXJ0aWNsZSBoNSB7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIGFydGljbGUgaDYge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTsgfVxuICBhcnRpY2xlIHAsXG4gIGFydGljbGUgdWwsXG4gIGFydGljbGUgb2wge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMTFlbTtcbiAgICBsaW5lLWhlaWdodDogMS43NWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuOGVtO1xuICAgIGNvbG9yOiAjNUI3MDhCOyB9XG4gIGFydGljbGUgdWwgbGkgKyBsaSxcbiAgYXJ0aWNsZSBvbCBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgYXJ0aWNsZSB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgYXJ0aWNsZSB1bCBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7IH1cbiAgICAgIGFydGljbGUgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNCMkJFQ0Q7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7IH1cbiAgYXJ0aWNsZSBiLFxuICBhcnRpY2xlIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICBhcnRpY2xlIGJsb2NrcXVvdGUge1xuICAgIGJhY2tncm91bmQ6ICNmMmY1Zjg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA2NHB4IDgwcHggNjhweCAxMTFweDtcbiAgICBjb2xvcjogIzVlNzQ5YTtcbiAgICBmb250LWZhbWlseTogXCJBZG9iZSBDYXNsb25cIiwgR2VvcmdpYSwgVGltZXMsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiA3N3B4IC0xNnB4IDU0cHg7IH1cbiAgICBhcnRpY2xlIGJsb2NrcXVvdGU6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC02cHg7XG4gICAgICBsZWZ0OiA1NHB4O1xuICAgICAgZm9udC1zaXplOiAxODBweDtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMUMnO1xuICAgICAgY29sb3I6ICNlM2U3ZWM7IH1cbiAgICBhcnRpY2xlIGJsb2NrcXVvdGUgcCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMjJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTsgfVxuICAgICAgYXJ0aWNsZSBibG9ja3F1b3RlIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBhcnRpY2xlIGJsb2NrcXVvdGUgY2l0ZSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjAyZW07IH1cbiAgICAgIGFydGljbGUgYmxvY2txdW90ZSBjaXRlIHNwYW4ge1xuICAgICAgICBjb2xvcjogIzlkYTliZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuICBhcnRpY2xlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIGFydGljbGUgcHJlLFxuICBhcnRpY2xlIGNvZGUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmN2ZhOyB9XG4gIGFydGljbGUgZmlndXJlIHtcbiAgICB3aWR0aDogMjk1cHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogOHB4IC0yMHB4IDE2cHggNzRweDsgfVxuICAgIGFydGljbGUgZmlndXJlLmxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDc0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwcHg7IH1cbiAgICBhcnRpY2xlIGZpZ3VyZSBpbWcge1xuICAgICAgYm94LXNoYWRvdzogMCA0cHggNDhweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICBhcnRpY2xlIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjYThiMGJlO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbWFyZ2luLXRvcDogMTNweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgYXJ0aWNsZSBmaWd1cmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMnB4OyB9XG4gICAgICAgIGFydGljbGUgZmlndXJlLmxlZnQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMzJweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICBhcnRpY2xlIGZpZ3VyZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgYXJ0aWNsZSAudGFibGUtd3JhcCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgYXJ0aWNsZSAudGFibGUtd3JhcCB0ZCxcbiAgICBhcnRpY2xlIC50YWJsZS13cmFwIHRoIHtcbiAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XG4gICAgYXJ0aWNsZSAudGFibGUtd3JhcCB0YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjREVFM0VBOyB9XG4gICAgYXJ0aWNsZSAudGFibGUtd3JhcCB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjRTlFREYzO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ucmVzb3VyY2UtbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnJlc291cmNlLWxpc3RfX2hlYWRlciAuYWxsIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAucmVzb3VyY2UtbGlzdF9faGVhZGVyIC5hbGwgaW9uLWljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSBlYXNlOyB9XG4gICAgLnJlc291cmNlLWxpc3RfX2hlYWRlciAuYWxsOmhvdmVyIGlvbi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XG4gIC5yZXNvdXJjZS1saXN0X19oZWFkZXIgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMTJlbTsgfVxuICAucmVzb3VyY2UtbGlzdCAucmVzb3VyY2UtY2FyZC1saXN0IHtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDsgfVxuICAucmVzb3VyY2UtbGlzdCAucmVzb3VyY2UtY2FyZC1saXN0LS10aGlyZCAucmVzb3VyY2UtY2FyZCB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGhlaWdodDogMjE0cHg7IH1cbiAgLnJlc291cmNlLWxpc3QgLnJlc291cmNlLWNhcmQtbGlzdC0tdGhpcmQgLnJlc291cmNlLWNhcmQgYSAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuIl19 */ ================================================ FILE: content/css/pages/enterprise/resources/index.css ================================================ .ee-hero { max-width: 640px; padding-top: 130px; padding-bottom: 160px; } .ee-hero::before, .ee-hero::after { display: none; } .ee-hero h1 { font-size: 52px; line-height: 62px; max-width: 930px; letter-spacing: -0.03em; color: #020814; margin-top: 0; margin-bottom: 16px; } .ee-hero h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 13px; line-height: 26px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; margin-bottom: 29px; } .ee-hero p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 24px; font-weight: 400; line-height: 36px; letter-spacing: -0.04em; color: rgba(39, 50, 63, 0.8); } .ee-hero .btn { padding-left: 24px; padding-right: 20px; padding-top: 18px; padding-bottom: 18px; font-size: 14px; margin-top: 16px; line-height: 20px; letter-spacing: 0.08em; color: white; text-transform: uppercase; font-weight: 700; background: #3880FF; box-shadow: 0px 2px 4px rgba(2, 8, 20, 0.1), 0px 1px 2px rgba(2, 8, 20, 0.08); border-radius: 210px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } .ee-hero .btn::after { background-image: url('data:image/svg+xml;utf8,'); background-size: 100%; content: ''; height: 20px; width: 20px; display: block; margin-left: 8px; -webkit-transform: translateY(-1px); transform: translateY(-1px); } .ee-hero .btn:hover { background-color: #4f8bf5; } .ee-hero--large h1 { font-size: 62px; line-height: 69px; } .ee-hero--wide { max-width: 960px; } .ee-hero--centered { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; text-align: center; margin-left: auto; margin-right: auto; } @media (max-width: 767px) { .ee-hero { padding-top: 70px; padding-bottom: 0; } .ee-hero h1 { font-size: 44px; line-height: 52px; } .ee-hero--large h1 { font-size: 50px; line-height: 60px; } } @media (max-width: 480px) { .ee-hero h1 { font-size: 36px; line-height: 44px; margin-bottom: 6px; } .ee-hero--large h1 { font-size: 42px; line-height: 52px; } .ee-hero .btn { margin-top: 8px; } } .ee-main { margin-top: 0; } .ee-main section { margin-bottom: 200px; } .ee-main .left, .ee-main .right, .ee-main .center { display: -ms-flexbox; display: flex; } .ee-main .left::before, .ee-main .left::after, .ee-main .right::before, .ee-main .right::after, .ee-main .center::before, .ee-main .center::after { display: none; } .ee-main .left .content, .ee-main .right .content { max-width: 480px; } @media (max-width: 767px) { .ee-main .left .content, .ee-main .right .content { max-width: 100%; text-align: center; } .ee-main .left .content li, .ee-main .right .content li { text-align: left; } } .ee-main .left { -ms-flex-direction: row; flex-direction: row; } .ee-main .left .graphics { margin-left: auto; } .ee-main .right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; margin-left: auto; } .ee-main .right .graphics { margin-right: auto; } .ee-main .center { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; } .ee-main .center .content { width: 894px; max-width: 100%; } .ee-main .full .content { max-width: 568px; } @media (max-width: 767px) { .ee-main .right, .ee-main .left { -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-align: center; align-items: center; } .ee-main .right .graphics, .ee-main .left .graphics { margin-bottom: 24px; margin-left: 0; margin-right: 0; } .ee-main section { margin-bottom: 100px; } } .ee-main .graphics { -ms-flex-pack: end; justify-content: flex-end; } .ee-main .graphics img { width: 100%; } .ee-main h2 { font-size: 44px; line-height: 51px; letter-spacing: -0.03em; } .ee-main h2:first-child { margin-top: 0; } .ee-main .ee-section__title { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: bold; font-size: 12px; line-height: 23px; letter-spacing: 0.14em; text-transform: uppercase; color: #5B708B; margin-top: 0; } .ee-main .ee-section__cta { display: inline-block; font-size: 18px; font-weight: 500; margin-top: 16px; } .ee-main p { font-size: 20px; line-height: 31px; letter-spacing: -0.02em; color: #5B708B; margin-top: 18px; } .ee-main p.sm { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; } .ee-main ul:not(.frameworks) { margin-top: 54px; } .ee-main .content ul { padding-left: 0; } .ee-main .content li { font-size: 16px; line-height: 23px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 40px; padding-left: 30px; list-style: none; position: relative; } .ee-main .content li::before { background-image: url("/img/enterprise/check.svg"); background-size: 100%; content: ''; height: 10px; width: 13px; position: absolute; left: 0; top: 8px; } .ee-main .features { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 64px; grid-row-gap: 24px; padding: 0; } .ee-main .features li { list-style: none; } .ee-main .features .icon { margin-bottom: 16px; width: 48px; } @media (max-width: 991px) { .ee-main .features { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; } } @media (max-width: 500px) { .ee-main .features { -ms-grid-columns: 1fr; grid-template-columns: 1fr; } } .ee-main .cta-card { background: #4a8bfc; border-radius: 12px; padding: 72px 72px 60px; background-size: cover; color: white; } .ee-main .cta-card .ee-section__title, .ee-main .cta-card p { color: #CED6E0; } #how-to { margin-bottom: 0; position: relative; padding-top: 140px; } #how-to::before { position: absolute; top: 0; width: 100vw; border-top: 1px solid rgba(146, 161, 179, 0.3); content: ''; display: block; } .cards--red-v-blue { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } .cards--red-v-blue__card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } .cards--red-v-blue__card:last-child { margin-right: 0; } .cards--red-v-blue__card:nth-child(2) { background: #F88D8D; } .cards--red-v-blue__card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } .cards--red-v-blue h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } .cards--red-v-blue p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); margin-top: 0; margin-bottom: 22px; } .cards--red-v-blue .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } .cards--red-v-blue .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { .cards--red-v-blue { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } .cards--red-v-blue__card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; max-width: 460px; } } aside { background: linear-gradient(180deg, #F9FAFB 0%, #FFFFFF 100%); margin-top: -60px; padding-top: 200px; padding-bottom: 120px; } aside p { color: #414D5C; } aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } .ee-get-started { max-width: 700px; } .ee-get-started h3 { color: #414D5C; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .ee-main .features li p, .ee-main .cards li p, .resources .features li p, .resources .cards li p { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; color: #73849A; margin-top: 0; } .ee-main .features li h4, .ee-main .cards li h4, .resources .features li h4, .resources .cards li h4 { font-size: 20px; line-height: normal; letter-spacing: -0.02em; color: #020814; font-weight: 600; } .resources .cards { margin-top: 0 !important; text-align: left; -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards .img-wrapper { border-radius: 6px; } .resources .cards .img-wrapper + h4 { margin-top: 24px; } @media (min-width: 1220px) { .resources .cards { margin-left: -40px; margin-right: -40px; } .resources .cards li { padding: 40px; } } .resources .resources__customer-logos { display: -ms-flexbox; display: flex; margin: 26px auto 0; padding: 0; -ms-flex-pack: justify; justify-content: space-between; max-width: 780px; width: 100%; } .resources .resources__customer-logos li { background: url("/img/enterprise/customer-logos.png"); background-size: 428px 46px; background-repeat: no-repeat; display: block; height: 46px; } @media (max-width: 768px) { .resources .resources__customer-logos { -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 460px; } .resources .resources__customer-logos li { margin: 20px; } } .resources .resources__customer-logos .mastercard { width: 58px; } .resources .resources__customer-logos .nationwide { background-position: -58px 0; width: 33px; } .resources .resources__customer-logos .uniqlo { background-position: -91px 0; width: 65px; } .resources .resources__customer-logos .ibm { background-position: -156px 0; width: 64px; } .resources .resources__customer-logos .ing { background-position: -222px 0; width: 103px; } .resources .resources__customer-logos .sap { background-position: -326px 0; width: 56px; } .resources .resources__customer-logos .nasa { background-position: -380px 0; width: 50px; } body { font-weight: 600; letter-spacing: -0.015em; } .ee-hero { padding-bottom: 24px; } .banner { text-align: left; border-bottom: 1px solid #e3e8f1; } .banner .transitionTitle { margin-bottom: 60px; } .banner .hero-content { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; } .banner .resource-card-list { margin-bottom: 64px; } @media (max-width: 992px) { .banner .transitionTitle { margin-bottom: 40px; } } @media (max-width: 768px) { .banner { padding-top: 130px; } .banner h1, .banner p { text-align: center; } } .resource-list { margin-top: 70px; } .resource-list:last-child { margin-bottom: 100px; } @media (max-width: 992px) { .resource-list { margin-top: 50px; } } .resource-list__header { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resource-list__header h4 { font-size: 18px; font-weight: 700; color: #24282e; margin-bottom: 4px; } .resource-list__header a { font-size: 16px; font-weight: 600; } .resource-list__header a:after { transition: -webkit-transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; font-family: 'Ionicons'; content: '\f287'; font-size: 16px; margin-left: 6px; display: inline-block; } .resource-list__header a:hover { color: #186bfb; } .resource-list__header a:hover:after { -webkit-transform: translate3d(3px, 0, 0); transform: translate3d(3px, 0, 0); } .tabs__scroll { position: relative; } @media (max-width: 560px) { .tabs__scroll:before, .tabs__scroll:after { transition: opacity 0.3s; pointer-events: none; position: absolute; right: 0; top: 0; opacity: 0; } .tabs__scroll:before { font-family: 'Ionicons'; content: '\f3d1'; font-size: 14px; color: #626c7d; z-index: 3; top: 50%; -webkit-transform: translateY(-60%); transform: translateY(-60%); } .tabs__scroll:after { content: ''; display: block; width: 80px; height: 100%; z-index: 2; background-image: linear-gradient(90deg, rgba(246, 248, 252, 0) 0%, #F6F8FC 75%); } } .tabs { width: 100%; max-width: 780px; margin: 0 auto; overflow-x: auto; position: relative; z-index: 1; -webkit-overflow-scrolling: touch; } .tabs ul { margin: 0 auto; padding: 0; padding-left: 40px; padding-right: 40px; list-style-type: none; display: -ms-flexbox; display: flex; -ms-flex-align: end; align-items: flex-end; -ms-flex-pack: justify; justify-content: space-between; min-width: 560px; } .tabs__scroll--hint:before, .tabs__scroll--hint:after { opacity: 1; } .tabs__item + .tabs__item { margin-left: 20px; } .tabs__item a { position: relative; transition: border 0.3s, color 0.3s; text-decoration: none; display: inline-block; font-size: 14px; color: #8e9bb1; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; padding-bottom: 30px; border-bottom: 2px solid transparent; } .tabs__item a span { display: block; -ms-flex: 1 0 auto; flex: 1 0 auto; } .tabs__item svg { width: 20px; height: 20px; margin: 0 10px 0 0; } .tabs__item .highlight { transition: fill 0.3s; fill: #D8E0EF; } .tabs__item .bg { transition: fill 0.3s; fill: #A1AEC2; } .tabs__item a:hover, .tabs__item.active a { color: #3880ff; } .tabs__item a:hover .highlight, .tabs__item.active a .highlight { fill: #C1DBFF; } .tabs__item a:hover .bg, .tabs__item.active a .bg { fill: #4D8CFD; } .tabs__item a:focus, .tabs__item a:active { text-decoration: none; outline: none; } .tabs__item.active a { pointer-events: none; cursor: default; border-bottom-color: #3880ff; } @media (max-width: 992px) { .tabs__item a { padding-bottom: 8px; -ms-flex-direction: column; flex-direction: column; } .tabs__item a svg { margin: 0; margin-bottom: 6px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFFdEI7RUFDRSxtQkFBbUI7RUFDbkIsb0NBQW9DO0VBQ3BDLHNCQUFzQjtFQUN0QixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixxQkFBYztFQUFkLGNBQWM7RUFDZCx1QkFBb0I7TUFBcEIsb0JBQW9CO0VBQ3BCLHFCQUFxQjtFQUNyQixxQ0FBcUMsRUFBRTtFQUN2QztJQUNFLGVBQWU7SUFDZixtQkFBZTtRQUFmLGVBQWUsRUFBRTs7QUFFckI7RUFDRSxZQUFZO0VBQ1osYUFBYTtFQUNiLG1CQUFtQixFQUFFOztBQUV2QjtFQUNFLHNCQUFzQjtFQUN0QixjQUFjLEVBQUU7O0FBRWxCO0VBQ0Usc0JBQXNCO0VBQ3RCLGNBQWMsRUFBRTs7QUFFbEI7O0VBRUUsZUFBZSxFQUFFO0VBQ2pCOztJQUVFLGNBQWMsRUFBRTtFQUNsQjs7SUFFRSxjQUFjLEVBQUU7O0FBRXBCOztFQUVFLHNCQUFzQjtFQUN0QixjQUFjLEVBQUU7O0FBRWxCO0VBQ0UscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQiw2QkFBNkIsRUFBRTs7QUFFakM7RUFDRTtJQUNFLG9CQUFvQjtJQUNwQiwyQkFBdUI7UUFBdkIsdUJBQXVCLEVBQUU7SUFDekI7TUFDRSxVQUFVO01BQ1YsbUJBQW1CLEVBQUUsRUFBRSIsImZpbGUiOiJwYWdlcy9lbnRlcnByaXNlL3Jlc291cmNlcy9pbmRleC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZWUtaGVybyB7XG4gIG1heC13aWR0aDogNjQwcHg7XG4gIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDE2MHB4OyB9XG4gIC5lZS1oZXJvOjpiZWZvcmUsIC5lZS1oZXJvOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZWUtaGVybyBoMSB7XG4gICAgZm9udC1zaXplOiA1MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xuICAgIG1heC13aWR0aDogOTMwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIC5lZS1oZXJvIGg0IHtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzkyQTFCMztcbiAgICBtYXJnaW4tYm90dG9tOiAyOXB4OyB9XG4gIC5lZS1oZXJvIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG4gICAgY29sb3I6IHJnYmEoMzksIDUwLCA2MywgMC44KTsgfVxuICAuZWUtaGVybyAuYnRuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogIzM4ODBGRjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKDIsIDgsIDIwLCAwLjEpLCAwcHggMXB4IDJweCByZ2JhKDIsIDgsIDIwLCAwLjA4KTtcbiAgICBib3JkZXItcmFkaXVzOiAyMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZWUtaGVybyAuYnRuOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJ3aGl0ZVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiPjxwYXRoIGQ9XCJNODUgMjc3LjM3NWgyNTkuNzA0TDIyNS4wMDIgMzk3LjA3NyAyNTYgNDI3bDE3MS0xNzFMMjU2IDg1bC0yOS45MjIgMjkuOTI0IDExOC42MjYgMTE5LjcwMUg4NXY0Mi43NXpcIi8+PC9zdmc+Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9XG4gICAgLmVlLWhlcm8gLmJ0bjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY4YmY1OyB9XG4gIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgZm9udC1zaXplOiA2MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2OXB4OyB9XG4gIC5lZS1oZXJvLS13aWRlIHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4OyB9XG4gIC5lZS1oZXJvLS1jZW50ZXJlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZWUtaGVybyB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAuZWUtaGVybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH1cbiAgICAgIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuZWUtaGVybyBoMSB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDsgfVxuICAgIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDsgfVxuICAgIC5lZS1oZXJvIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cblxuLmVlLW1haW4ge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIHNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4OyB9XG4gIC5lZS1tYWluIC5sZWZ0LFxuICAuZWUtbWFpbiAucmlnaHQsXG4gIC5lZS1tYWluIC5jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZWUtbWFpbiAubGVmdDo6YmVmb3JlLCAuZWUtbWFpbiAubGVmdDo6YWZ0ZXIsXG4gICAgLmVlLW1haW4gLnJpZ2h0OjpiZWZvcmUsXG4gICAgLmVlLW1haW4gLnJpZ2h0OjphZnRlcixcbiAgICAuZWUtbWFpbiAuY2VudGVyOjpiZWZvcmUsXG4gICAgLmVlLW1haW4gLmNlbnRlcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZWUtbWFpbiAubGVmdCAuY29udGVudCxcbiAgLmVlLW1haW4gLnJpZ2h0IC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuZWUtbWFpbiAubGVmdCAuY29udGVudCxcbiAgICAgIC5lZS1tYWluIC5yaWdodCAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5lZS1tYWluIC5sZWZ0IC5jb250ZW50IGxpLFxuICAgICAgICAuZWUtbWFpbiAucmlnaHQgLmNvbnRlbnQgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuZWUtbWFpbiAubGVmdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5lZS1tYWluIC5sZWZ0IC5ncmFwaGljcyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuZWUtbWFpbiAucmlnaHQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5lZS1tYWluIC5yaWdodCAuZ3JhcGhpY3Mge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5lZS1tYWluIC5jZW50ZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZWUtbWFpbiAuY2VudGVyIC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiA4OTRweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuZWUtbWFpbiAuZnVsbCAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA1NjhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZWUtbWFpbiAucmlnaHQsXG4gICAgLmVlLW1haW4gLmxlZnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmVlLW1haW4gLnJpZ2h0IC5ncmFwaGljcyxcbiAgICAgIC5lZS1tYWluIC5sZWZ0IC5ncmFwaGljcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuZWUtbWFpbiBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9IH1cbiAgLmVlLW1haW4gLmdyYXBoaWNzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmVlLW1haW4gLmdyYXBoaWNzIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuZWUtbWFpbiBoMiB7XG4gICAgZm9udC1zaXplOiA0NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtOyB9XG4gICAgLmVlLW1haW4gaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZWUtbWFpbiAuZWUtc2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzVCNzA4QjtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIC5lZS1zZWN0aW9uX19jdGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIC5lZS1tYWluIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogIzVCNzA4QjtcbiAgICBtYXJnaW4tdG9wOiAxOHB4OyB9XG4gICAgLmVlLW1haW4gcC5zbSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG4gIC5lZS1tYWluIHVsOm5vdCguZnJhbWV3b3Jrcykge1xuICAgIG1hcmdpbi10b3A6IDU0cHg7IH1cbiAgLmVlLW1haW4gLmNvbnRlbnQgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZWUtbWFpbiAuY29udGVudCBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmVlLW1haW4gLmNvbnRlbnQgbGk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2VudGVycHJpc2UvY2hlY2suc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB3aWR0aDogMTNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDhweDsgfVxuICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICBncmlkLWNvbHVtbi1nYXA6IDY0cHg7XG4gICAgZ3JpZC1yb3ctZ2FwOiAyNHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZWUtbWFpbiAuZmVhdHVyZXMgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5lZS1tYWluIC5mZWF0dXJlcyAuaWNvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgd2lkdGg6IDQ4cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5lZS1tYWluIC5mZWF0dXJlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG4gIC5lZS1tYWluIC5jdGEtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogIzRhOGJmYztcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDcycHggNzJweCA2MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmVlLW1haW4gLmN0YS1jYXJkIC5lZS1zZWN0aW9uX190aXRsZSxcbiAgICAuZWUtbWFpbiAuY3RhLWNhcmQgcCB7XG4gICAgICBjb2xvcjogI0NFRDZFMDsgfVxuXG4jaG93LXRvIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTQwcHg7IH1cbiAgI2hvdy10bzo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNDYsIDE2MSwgMTc5LCAwLjMpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jYXJkcy0tcmVkLXYtYmx1ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAzOHB4OyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogIzdDQUJGRjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogNDBweCA0MHB4IDM0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogMjRweDtcbiAgICBmbGV4OiAwIDEgNDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjg4RDhEOyB9XG4gICAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQ6bnRoLWNoaWxkKDIpIC5idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NCwgODQsIDg0LCAwLjUpOyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZSBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhcmRzLS1yZWQtdi1ibHVlIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuICAuY2FyZHMtLXJlZC12LWJsdWUgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDllbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDU2LCAxMjgsIDI1NSwgMC41KTsgfVxuICAgIC5jYXJkcy0tcmVkLXYtYmx1ZSAuYnRuIGlvbi1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQge1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7IH0gfVxuXG5hc2lkZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGOUZBRkIgMCUsICNGRkZGRkYgMTAwJSk7XG4gIG1hcmdpbi10b3A6IC02MHB4O1xuICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBhc2lkZSBwIHtcbiAgICBjb2xvcjogIzQxNEQ1QzsgfVxuICBhc2lkZSAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0MzJweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmVlLWdldC1zdGFydGVkIHtcbiAgbWF4LXdpZHRoOiA3MDBweDsgfVxuICAuZWUtZ2V0LXN0YXJ0ZWQgaDMge1xuICAgIGNvbG9yOiAjNDE0RDVDOyB9XG5cbi5yZXNvdXJjZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjRweDsgfVxuICAucmVzb3VyY2VzIGhncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzFBMjMyRjsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBpb24taWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIDMzLjMzJTtcbiAgICBwYWRkaW5nOiAyNHB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgLmltZy13cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBoNiB7XG4gICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNCMkJFQ0Q7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBjb2xvcjogIzFBMjMyRjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBwIHtcbiAgICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgaDUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5lZS1tYWluIC5mZWF0dXJlcyBsaSBwLFxuLmVlLW1haW4gLmNhcmRzIGxpIHAsXG4ucmVzb3VyY2VzIC5mZWF0dXJlcyBsaSBwLFxuLnJlc291cmNlcyAuY2FyZHMgbGkgcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBjb2xvcjogIzczODQ5QTtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZWUtbWFpbiAuZmVhdHVyZXMgbGkgaDQsXG4uZWUtbWFpbiAuY2FyZHMgbGkgaDQsXG4ucmVzb3VyY2VzIC5mZWF0dXJlcyBsaSBoNCxcbi5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgY29sb3I6ICMwMjA4MTQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnJlc291cmNlcyAuY2FyZHMge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyAuaW1nLXdyYXBwZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIC5pbWctd3JhcHBlciArIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTQwcHg7IH1cbiAgICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgICAgcGFkZGluZzogNDBweDsgfSB9XG5cbi5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDI2cHggYXV0byAwO1xuICBwYWRkaW5nOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1heC13aWR0aDogNzgwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgbGkge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9jdXN0b21lci1sb2dvcy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MjhweCA0NnB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0NnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3Mge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXgtd2lkdGg6IDQ2MHB4OyB9XG4gICAgICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIGxpIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4OyB9IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubWFzdGVyY2FyZCB7XG4gICAgd2lkdGg6IDU4cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubmF0aW9ud2lkZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU4cHggMDtcbiAgICB3aWR0aDogMzNweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC51bmlxbG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05MXB4IDA7XG4gICAgd2lkdGg6IDY1cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAuaWJtIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU2cHggMDtcbiAgICB3aWR0aDogNjRweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5pbmcge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjJweCAwO1xuICAgIHdpZHRoOiAxMDNweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5zYXAge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjZweCAwO1xuICAgIHdpZHRoOiA1NnB4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLm5hc2Ege1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zODBweCAwO1xuICAgIHdpZHRoOiA1MHB4OyB9XG5cbmJvZHkge1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDE1ZW07IH1cblxuLmVlLWhlcm8ge1xuICBwYWRkaW5nLWJvdHRvbTogMjRweDsgfVxuXG4uYmFubmVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlM2U4ZjE7IH1cbiAgLmJhbm5lciAudHJhbnNpdGlvblRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gIC5iYW5uZXIgLmhlcm8tY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5iYW5uZXIgLnJlc291cmNlLWNhcmQtbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAuYmFubmVyIC50cmFuc2l0aW9uVGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5iYW5uZXIge1xuICAgICAgcGFkZGluZy10b3A6IDEzMHB4OyB9XG4gICAgICAuYmFubmVyIGgxLFxuICAgICAgLmJhbm5lciBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLnJlc291cmNlLWxpc3Qge1xuICBtYXJnaW4tdG9wOiA3MHB4OyB9XG4gIC5yZXNvdXJjZS1saXN0Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5yZXNvdXJjZS1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuXG4ucmVzb3VyY2UtbGlzdF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgLnJlc291cmNlLWxpc3RfX2hlYWRlciBoNCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyNDI4MmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG4gIC5yZXNvdXJjZS1saXN0X19oZWFkZXIgYSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucmVzb3VyY2UtbGlzdF9faGVhZGVyIGE6YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgICAgIGNvbnRlbnQ6ICdcXGYyODcnO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5yZXNvdXJjZS1saXN0X19oZWFkZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzE4NmJmYjsgfVxuICAgIC5yZXNvdXJjZS1saXN0X19oZWFkZXIgYTpob3ZlcjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDNweCwgMCwgMCk7IH1cblxuLnRhYnNfX3Njcm9sbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTYwcHgpIHtcbiAgICAudGFic19fc2Nyb2xsOmJlZm9yZSwgLnRhYnNfX3Njcm9sbDphZnRlciB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC50YWJzX19zY3JvbGw6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgY29udGVudDogJ1xcZjNkMSc7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzYyNmM3ZDtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjAlKTsgfVxuICAgIC50YWJzX19zY3JvbGw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNDYsIDI0OCwgMjUyLCAwKSAwJSwgI0Y2RjhGQyA3NSUpOyB9IH1cblxuLnRhYnMge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA3ODBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gIC50YWJzIHVsIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWluLXdpZHRoOiA1NjBweDsgfVxuXG4udGFic19fc2Nyb2xsLS1oaW50OmJlZm9yZSxcbi50YWJzX19zY3JvbGwtLWhpbnQ6YWZ0ZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbi50YWJzX19pdGVtICsgLnRhYnNfX2l0ZW0ge1xuICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG4udGFic19faXRlbSBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC4zcywgY29sb3IgMC4zcztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM4ZTliYjE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgLnRhYnNfX2l0ZW0gYSBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4udGFic19faXRlbSBzdmcge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW46IDAgMTBweCAwIDA7IH1cblxuLnRhYnNfX2l0ZW0gLmhpZ2hsaWdodCB7XG4gIHRyYW5zaXRpb246IGZpbGwgMC4zcztcbiAgZmlsbDogI0Q4RTBFRjsgfVxuXG4udGFic19faXRlbSAuYmcge1xuICB0cmFuc2l0aW9uOiBmaWxsIDAuM3M7XG4gIGZpbGw6ICNBMUFFQzI7IH1cblxuLnRhYnNfX2l0ZW0gYTpob3Zlcixcbi50YWJzX19pdGVtLmFjdGl2ZSBhIHtcbiAgY29sb3I6ICMzODgwZmY7IH1cbiAgLnRhYnNfX2l0ZW0gYTpob3ZlciAuaGlnaGxpZ2h0LFxuICAudGFic19faXRlbS5hY3RpdmUgYSAuaGlnaGxpZ2h0IHtcbiAgICBmaWxsOiAjQzFEQkZGOyB9XG4gIC50YWJzX19pdGVtIGE6aG92ZXIgLmJnLFxuICAudGFic19faXRlbS5hY3RpdmUgYSAuYmcge1xuICAgIGZpbGw6ICM0RDhDRkQ7IH1cblxuLnRhYnNfX2l0ZW0gYTpmb2N1cyxcbi50YWJzX19pdGVtIGE6YWN0aXZlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi50YWJzX19pdGVtLmFjdGl2ZSBhIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzM4ODBmZjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnRhYnNfX2l0ZW0gYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLnRhYnNfX2l0ZW0gYSBzdmcge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OyB9IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/enterprise/resources/webinars.css ================================================ h1, h2, h3, h4, .btn { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } .pre-header.back { background: rgba(255, 255, 255, 0.2); } .pre-header.back a, .pre-header.back a ion-icon { color: #fff; } .sub-header { padding-top: 14px; } .sub-header > .container::before { border-top: 1px solid rgba(255, 255, 255, 0.2); } .sub-header .breadcrumbs li, .sub-header .breadcrumbs li a { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-size: 13px; color: #fff; font-weight: 400; letter-spacing: -0.01em; } .sub-header .breadcrumbs li a { color: rgba(255, 255, 255, 0.6); } .sub-header .breadcrumbs li a:hover { color: white; } .sub-header .breadcrumbs li::after { color: rgba(255, 255, 255, 0.3); margin-left: 7px; margin-right: 6px; font-size: 14px; } @media (max-width: 768px) { .sub-header { display: none; } } .navbar-default.enterprise:not(.navbar-sticky) .navbar-brand svg { fill: #fff; } @media (max-width: 768px) { .navbar-default.enterprise:not(.navbar-sticky) .navbar-brand svg { fill: #000; } } .navbar-default.enterprise:not(.navbar-sticky) .navbar-nav > li:not(.header-btn-white) > a { color: white; } .navbar-default.enterprise:not(.navbar-sticky) .navbar-nav > li:not(.header-btn-white) > a:hover { color: rgba(255, 255, 255, 0.6); } .navbar-default.enterprise:not(.navbar-sticky) #header-btn-outline { color: #fff; border: 1px solid rgba(255, 255, 255, 0.4); } .navbar-default.enterprise:not(.navbar-sticky) #header-btn-outline:hover { border: 1px solid white; } .transparent .cta { margin-top: -200px; padding-top: 200px; } .cta { background-color: #12223a; background-image: url("/img/resource-center/webinars/bg-header.jpg"), linear-gradient(120deg, #4864ec, #84aff4); background-size: cover, 100%; background-position: 50% 50%; margin-top: -138px; padding-top: 138px; } .cta.podcasts { background-image: url("/img/resource-center/bg-header-podcasts.jpg?3"), linear-gradient(to bottom, #010c29, #02133c); background-size: cover, 100%; background-position: 50% 50%; } .cta.videos { background-image: url("/img/resource-center/bg-header-videos.jpg"), linear-gradient(to bottom, #010c29, #02133c); background-size: cover, 100%; background-position: 50% 50%; } .cta hgroup { padding-top: 76px; max-width: 100%; padding-bottom: 159px; } .cta hgroup h1 { font-size: 72px; font-size: 56px; margin-top: 22px; max-width: 800px; } .cta hgroup p { color: #d9e9fe; margin-top: 19px; font-size: 16px; } .cta strong { text-transform: uppercase; font-size: 13px; letter-spacing: .12em; } .cta .btn { text-transform: uppercase; margin-top: 41px; padding: 15px 25px 16px; font-size: 15px; letter-spacing: .1em; } .card { background-color: #fff; border-radius: 6px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.1); border-radius: 14px; margin-top: -32px; display: -ms-flexbox; display: flex; margin-bottom: 128px; } @media (max-width: 991px) { .card { -ms-flex-direction: column; flex-direction: column; } } article { -ms-flex-positive: 1; flex-grow: 1; padding: 42px 53px 66px; color: #596a89; } @media (max-width: 400px) { article { padding-right: 24px; padding-left: 24px; } } article h2 { font-weight: 400; font-size: 32px; color: #5e79ff; } article h4 { font-weight: 400; font-size: 22px; letter-spacing: -.018em; line-height: 1.46em; color: #596a89; } article h4 + h3 { margin-top: 42px; } article h3 { font-weight: 600; font-size: 20px; margin-top: 42px; margin-bottom: 15px; } article strong { font-weight: 600; } article p { font-size: 16px; line-height: 1.8em; letter-spacing: -.008em; } article ul { margin-top: 20px; padding-left: 0; padding-bottom: 6px; } article li { line-height: 1.8em; font-size: 16px; list-style: none; margin-left: 4px; letter-spacing: -.004em; position: relative; margin-left: 0; padding-left: 44px; margin-bottom: 20px; } article li::before { background: url("/img/resource-center/webinars/ico-check.png") no-repeat 0 0; background-size: 24px; width: 24px; height: 24px; content: ''; position: absolute; left: 0; top: 0; } article .btn { margin-top: 30px; text-transform: uppercase; font-size: 15px; padding: 17px 24px 14px; letter-spacing: .1em; } aside { -ms-flex: 0 0 340px; flex: 0 0 340px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; padding: 54px 32px 32px; background: #f6f9fc; } aside h4 { text-transform: uppercase; font-size: 14px; letter-spacing: .1em; } aside .host { margin-top: 16px; margin-bottom: 24px; } aside .host img { border-radius: 50%; float: left; display: block; } aside .host strong { display: block; margin-left: 63px; margin-top: 6px; font-size: 16px; font-weight: 600; color: #151d2b; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } aside .host span { margin-left: 63px; display: block; line-height: 1.2em; color: #6b82ac; } aside .subscribe-cta { margin-top: auto; background-color: #fff; border-radius: 6px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.1); padding: 8px 28px 28px; } @media (min-width: 992px) { aside .subscribe-cta { width: 327px; } } aside .subscribe-cta h3 { font-weight: 600; font-size: 18px; margin-bottom: 1px; letter-spacing: -.01em; } aside .subscribe-cta p { margin-bottom: 16px; line-height: 1.8em; letter-spacing: -.008em; } aside .subscribe-cta .btn { width: 100%; font-size: 16px; background: #d6eeff; color: #3880ff; padding: 15px 10px 11px; } aside ionic-newsletter-signup form { max-width: 100%; } aside ionic-newsletter-signup form input { min-width: 0; } @media (max-width: 991px) { aside { -ms-flex: 0 0 100%; flex: 0 0 100%; } } .resource-list { margin-bottom: 64px; } .resource-list__header h4 { font-size: 24px; margin-bottom: 1px; } .scrollTopLink { float: right; font-size: 15px; font-weight: 600; } .modal-body { padding: 32px 48px; } @media (max-width: 767px) { .modal-body { padding: 16px; } } .modal-body form { max-width: 100%; } #podcast-player { width: 100%; height: 180px; margin: 22px 0 48px; } #youtube-responsive { overflow: hidden; padding-bottom: 56.25%; position: relative; height: 0; margin: 22px 0 48px; } #youtube-responsive iframe { left: 0; top: 0; height: 100%; width: 100%; position: absolute; } #wistia_responsive_padding { padding: 56.25% 0 0 0; position: relative; margin: 22px 0 48px; } #wistia_responsive_padding .wistia_responsive_wrapper { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } #wistia_responsive_padding .wistia_embed { height: 100%; position: relative; width: 100%; } #wistia_responsive_padding .wistia_swatch { height: 100%; left: 0; opacity: 0; overflow: hidden; position: absolute; top: 0; transition: opacity 200ms; width: 100%; } #wistia_responsive_padding .wistia_swatch img { -webkit-filter: blur(5px); filter: blur(5px); height: 100%; object-fit: contain; width: 100%; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QjtFQUNFLG9CQUFvQixFQUFFO0VBQ3RCO0lBQ0UsZ0JBQWdCO0lBQ2hCLG1CQUFtQixFQUFFOztBQUV6QjtFQUNFLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsaUJBQWlCLEVBQUU7O0FBRXJCO0VBQ0UsbUJBQW1CLEVBQUU7RUFDckI7SUFDRTtNQUNFLGNBQWMsRUFBRSxFQUFFO0VBQ3RCO0lBQ0UsZ0JBQWdCLEVBQUU7O0FBRXRCO0VBQ0UsWUFBWTtFQUNaLGNBQWM7RUFDZCxvQkFBb0IsRUFBRTs7QUFFeEI7RUFDRSxpQkFBaUI7RUFDakIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixVQUFVO0VBQ1Ysb0JBQW9CLEVBQUU7RUFDdEI7SUFDRSxRQUFRO0lBQ1IsT0FBTztJQUNQLGFBQWE7SUFDYixZQUFZO0lBQ1osbUJBQW1CLEVBQUU7O0FBRXpCO0VBQ0Usc0JBQXNCO0VBQ3RCLG1CQUFtQjtFQUNuQixvQkFBb0IsRUFBRTtFQUN0QjtJQUNFLGFBQWE7SUFDYixRQUFRO0lBQ1IsbUJBQW1CO0lBQ25CLE9BQU87SUFDUCxZQUFZLEVBQUU7RUFDaEI7SUFDRSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFlBQVksRUFBRTtFQUNoQjtJQUNFLGFBQWE7SUFDYixRQUFRO0lBQ1IsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsT0FBTztJQUNQLDBCQUEwQjtJQUMxQixZQUFZLEVBQUU7SUFDZDtNQUNFLDBCQUFrQjtjQUFsQixrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLG9CQUFvQjtNQUNwQixZQUFZLEVBQUUiLCJmaWxlIjoicGFnZXMvZW50ZXJwcmlzZS9yZXNvdXJjZXMvd2ViaW5hcnMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiaDEsXG5oMixcbmgzLFxuaDQsXG4uYnRuIHtcbiAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuXG4ucHJlLWhlYWRlci5iYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC5wcmUtaGVhZGVyLmJhY2sgYSxcbiAgLnByZS1oZWFkZXIuYmFjayBhIGlvbi1pY29uIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uc3ViLWhlYWRlciB7XG4gIHBhZGRpbmctdG9wOiAxNHB4OyB9XG4gIC5zdWItaGVhZGVyID4gLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIC5zdWItaGVhZGVyIC5icmVhZGNydW1icyBsaSxcbiAgLnN1Yi1oZWFkZXIgLmJyZWFkY3J1bWJzIGxpIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsgfVxuICAuc3ViLWhlYWRlciAuYnJlYWRjcnVtYnMgbGkgYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuICAgIC5zdWItaGVhZGVyIC5icmVhZGNydW1icyBsaSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuc3ViLWhlYWRlciAuYnJlYWRjcnVtYnMgbGk6OmFmdGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zdWItaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubmF2YmFyLWRlZmF1bHQuZW50ZXJwcmlzZTpub3QoLm5hdmJhci1zdGlja3kpIC5uYXZiYXItYnJhbmQgc3ZnIHtcbiAgZmlsbDogI2ZmZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2YmFyLWRlZmF1bHQuZW50ZXJwcmlzZTpub3QoLm5hdmJhci1zdGlja3kpIC5uYXZiYXItYnJhbmQgc3ZnIHtcbiAgICAgIGZpbGw6ICMwMDA7IH0gfVxuXG4ubmF2YmFyLWRlZmF1bHQuZW50ZXJwcmlzZTpub3QoLm5hdmJhci1zdGlja3kpIC5uYXZiYXItbmF2ID4gbGk6bm90KC5oZWFkZXItYnRuLXdoaXRlKSA+IGEge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLm5hdmJhci1kZWZhdWx0LmVudGVycHJpc2U6bm90KC5uYXZiYXItc3RpY2t5KSAubmF2YmFyLW5hdiA+IGxpOm5vdCguaGVhZGVyLWJ0bi13aGl0ZSkgPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG5cbi5uYXZiYXItZGVmYXVsdC5lbnRlcnByaXNlOm5vdCgubmF2YmFyLXN0aWNreSkgI2hlYWRlci1idG4tb3V0bGluZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IH1cbiAgLm5hdmJhci1kZWZhdWx0LmVudGVycHJpc2U6bm90KC5uYXZiYXItc3RpY2t5KSAjaGVhZGVyLWJ0bi1vdXRsaW5lOmhvdmVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTsgfVxuXG4udHJhbnNwYXJlbnQgLmN0YSB7XG4gIG1hcmdpbi10b3A6IC0yMDBweDtcbiAgcGFkZGluZy10b3A6IDIwMHB4OyB9XG5cbi5jdGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIyMjNhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Jlc291cmNlLWNlbnRlci93ZWJpbmFycy9iZy1oZWFkZXIuanBnXCIpLCBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCAjNDg2NGVjLCAjODRhZmY0KTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciwgMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgbWFyZ2luLXRvcDogLTEzOHB4O1xuICBwYWRkaW5nLXRvcDogMTM4cHg7IH1cbiAgLmN0YS5wb2RjYXN0cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9yZXNvdXJjZS1jZW50ZXIvYmctaGVhZGVyLXBvZGNhc3RzLmpwZz8zXCIpLCBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDEwYzI5LCAjMDIxMzNjKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyLCAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cbiAgLmN0YS52aWRlb3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcmVzb3VyY2UtY2VudGVyL2JnLWhlYWRlci12aWRlb3MuanBnXCIpLCBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDEwYzI5LCAjMDIxMzNjKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyLCAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cbiAgLmN0YSBoZ3JvdXAge1xuICAgIHBhZGRpbmctdG9wOiA3NnB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTU5cHg7IH1cbiAgICAuY3RhIGhncm91cCBoMSB7XG4gICAgICBmb250LXNpemU6IDcycHg7XG4gICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAyMnB4O1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDsgfVxuICAgIC5jdGEgaGdyb3VwIHAge1xuICAgICAgY29sb3I6ICNkOWU5ZmU7XG4gICAgICBtYXJnaW4tdG9wOiAxOXB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gIC5jdGEgc3Ryb25nIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjEyZW07IH1cbiAgLmN0YSAuYnRuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi10b3A6IDQxcHg7XG4gICAgcGFkZGluZzogMTVweCAyNXB4IDE2cHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMWVtOyB9XG5cbi5jYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgbWFyZ2luLXRvcDogLTMycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDEyOHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIC5jYXJkIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG5hcnRpY2xlIHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiA0MnB4IDUzcHggNjZweDtcbiAgY29sb3I6ICM1OTZhODk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9IH1cbiAgYXJ0aWNsZSBoMiB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgY29sb3I6ICM1ZTc5ZmY7IH1cbiAgYXJ0aWNsZSBoNCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE4ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDZlbTtcbiAgICBjb2xvcjogIzU5NmE4OTsgfVxuICAgIGFydGljbGUgaDQgKyBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiA0MnB4OyB9XG4gIGFydGljbGUgaDMge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDQycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBhcnRpY2xlIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBhcnRpY2xlIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDA4ZW07IH1cbiAgYXJ0aWNsZSB1bCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDZweDsgfVxuICBhcnRpY2xlIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMDRlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBhcnRpY2xlIGxpOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9yZXNvdXJjZS1jZW50ZXIvd2ViaW5hcnMvaWNvLWNoZWNrLnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyNHB4O1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7IH1cbiAgYXJ0aWNsZSAuYnRuIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHBhZGRpbmc6IDE3cHggMjRweCAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMWVtOyB9XG5cbmFzaWRlIHtcbiAgZmxleDogMCAwIDM0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiA1NHB4IDMycHggMzJweDtcbiAgYmFja2dyb3VuZDogI2Y2ZjlmYzsgfVxuICBhc2lkZSBoNCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4xZW07IH1cbiAgYXNpZGUgLmhvc3Qge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuICAgIGFzaWRlIC5ob3N0IGltZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgYXNpZGUgLmhvc3Qgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDYzcHg7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICMxNTFkMmI7XG4gICAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICAgYXNpZGUgLmhvc3Qgc3BhbiB7XG4gICAgICBtYXJnaW4tbGVmdDogNjNweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgY29sb3I6ICM2YjgyYWM7IH1cbiAgYXNpZGUgLnN1YnNjcmliZS1jdGEge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgcGFkZGluZzogOHB4IDI4cHggMjhweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgYXNpZGUgLnN1YnNjcmliZS1jdGEge1xuICAgICAgICB3aWR0aDogMzI3cHg7IH0gfVxuICAgIGFzaWRlIC5zdWJzY3JpYmUtY3RhIGgzIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyB9XG4gICAgYXNpZGUgLnN1YnNjcmliZS1jdGEgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDA4ZW07IH1cbiAgICBhc2lkZSAuc3Vic2NyaWJlLWN0YSAuYnRuIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgYmFja2dyb3VuZDogI2Q2ZWVmZjtcbiAgICAgIGNvbG9yOiAjMzg4MGZmO1xuICAgICAgcGFkZGluZzogMTVweCAxMHB4IDExcHg7IH1cbiAgYXNpZGUgaW9uaWMtbmV3c2xldHRlci1zaWdudXAgZm9ybSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgYXNpZGUgaW9uaWMtbmV3c2xldHRlci1zaWdudXAgZm9ybSBpbnB1dCB7XG4gICAgICBtaW4td2lkdGg6IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgYXNpZGUge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH0gfVxuXG4ucmVzb3VyY2UtbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IDY0cHg7IH1cbiAgLnJlc291cmNlLWxpc3RfX2hlYWRlciBoNCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDsgfVxuXG4uc2Nyb2xsVG9wTGluayB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5tb2RhbC1ib2R5IHtcbiAgcGFkZGluZzogMzJweCA0OHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgIHBhZGRpbmc6IDE2cHg7IH0gfVxuICAubW9kYWwtYm9keSBmb3JtIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuI3BvZGNhc3QtcGxheWVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTgwcHg7XG4gIG1hcmdpbjogMjJweCAwIDQ4cHg7IH1cblxuI3lvdXR1YmUtcmVzcG9uc2l2ZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDIycHggMCA0OHB4OyB9XG4gICN5b3V0dWJlLXJlc3BvbnNpdmUgaWZyYW1lIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbiN3aXN0aWFfcmVzcG9uc2l2ZV9wYWRkaW5nIHtcbiAgcGFkZGluZzogNTYuMjUlIDAgMCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMjJweCAwIDQ4cHg7IH1cbiAgI3dpc3RpYV9yZXNwb25zaXZlX3BhZGRpbmcgLndpc3RpYV9yZXNwb25zaXZlX3dyYXBwZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgI3dpc3RpYV9yZXNwb25zaXZlX3BhZGRpbmcgLndpc3RpYV9lbWJlZCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjd2lzdGlhX3Jlc3BvbnNpdmVfcGFkZGluZyAud2lzdGlhX3N3YXRjaCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICN3aXN0aWFfcmVzcG9uc2l2ZV9wYWRkaW5nIC53aXN0aWFfc3dhdGNoIGltZyB7XG4gICAgICBmaWx0ZXI6IGJsdXIoNXB4KTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICB3aWR0aDogMTAwJTsgfVxuIl19 */ ================================================ FILE: content/css/pages/enterprise/resources/whitepapers.css ================================================ @charset "UTF-8"; body { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } .cta { background: linear-gradient(to bottom, white, #f6f8fc); border-bottom: 1px solid #e5e7eb; margin-top: -138px; padding-top: 78px; } .cta hgroup { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; padding-top: 20px; padding-bottom: 114px; max-width: 840px; } .cta hgroup h5 { text-transform: uppercase; font-weight: 700; letter-spacing: 0.1em; font-size: 12px; color: #8e9aab; } .cta hgroup h1 { color: #24282e; font-size: 40px; font-weight: 700; letter-spacing: -0.03em; margin: 12px 0 24px; } .cta hgroup p { font-size: 18px; line-height: 32px; font-weight: 600; letter-spacing: -0.02em; color: #626c7d; max-width: 800px; } .signup-form { padding-top: 110px; padding-bottom: 0px; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; max-width: 1000px; margin-left: auto; margin-right: auto; } .signup-form .left-col, .signup-form .right-col { width: 100%; max-width: 472px; } .signup-form .left-col { padding-right: 30px; font-family: apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.6em; color: #4e545e; letter-spacing: -0.02em; } .signup-form .left-col .illustration + p { color: #6e7f99; font-size: 18px; line-height: 28px; } .signup-form .left-col h5 { font-size: 14px; color: #4e545e; letter-spacing: -0.02em; font-weight: 400; margin-top: 13px; } .signup-form .left-col ul { list-style-type: none; padding: 0; margin: 16px 0 32px; line-height: 20px; } .signup-form .left-col li { padding-left: 20px; position: relative; } .signup-form .left-col li:before { content: '•'; margin-right: 10px; opacity: 0.8; position: absolute; left: 0; } .signup-form .left-col li + li { margin-top: 12px; } .signup-form .left-col .p-bold { font-weight: 600; } .signup-form .right-col { padding-left: 30px; } .signup-form .right-col h3 { margin-top: 0; margin-bottom: 30px; font-weight: 700; font-size: 28px; line-height: 36px; letter-spacing: -0.03em; } .signup-form .illustration { position: relative; width: 100%; max-width: 430px; margin-bottom: 30px; } .signup-form .illustration img { width: 100%; border-radius: 8px; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.08); } @media (max-width: 768px) { .cta hgroup { padding-bottom: 60px; } .signup-form { padding-top: 60px; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; padding-bottom: 0; } .signup-form .left-col, .signup-form .right-col { padding-left: 0; padding-right: 0; } .signup-form .left-col { margin-top: -80px; } .signup-form .right-col { margin-top: 50px; } .signup-form .illustration { margin-left: auto; margin-right: auto; } } .company { margin: 77px auto 68px; } .company h2 { color: #7f8fab; margin: 0 auto; font-size: 28px; max-width: 760px; text-align: center; line-height: 1.4em; letter-spacing: -.04em; font-weight: 600; } .company h2 strong { color: #131924; font-weight: 600; } .company h3 { color: #7f8fab; font-weight: 600; line-height: 1.4em; letter-spacing: -.04em; text-align: center; font-size: 16px; } .company .logos { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 51px; -ms-flex-pack: space-evenly; justify-content: space-evenly; } .company .logos::before, .company .logos::after { background: url("/img/homepage/enterprise-logos.png") 0 0 no-repeat; background-size: 494px; width: 494px; height: 42px; content: ''; max-width: 100%; margin-bottom: 32px; display: inline-block; } .company .logos::after { background-position: 0 bottom; } .get-started { background: #f1f4f8; overflow: auto; } .get-started .container { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; margin-bottom: 110px; margin-top: 110px; } .get-started hgroup { letter-spacing: -.025em; -ms-flex-positive: 1; flex-grow: 1; } .get-started h2 { color: #4a8bfc; font-size: 28px; font-weight: 700; letter-spacing: inherit; margin: 0 0 5px; } .get-started p { color: #24282e; font-size: 20px; font-weight: 600; margin: 0; } .get-started .btn { font-size: 16px; font-weight: 700; } @media (max-width: 991px) { .get-started .container { display: block; text-align: center; } .get-started hgroup { padding-bottom: 16px; } .get-started .btn-group { padding-bottom: 96px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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RUFDcEI7SUFDRSxxQkFBYztJQUFkLGNBQWM7SUFDZCxvQkFBZ0I7UUFBaEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQiw0QkFBOEI7UUFBOUIsOEJBQThCLEVBQUU7SUFDaEM7TUFDRSxvRUFBb0U7TUFDcEUsdUJBQXVCO01BQ3ZCLGFBQWE7TUFDYixhQUFhO01BQ2IsWUFBWTtNQUNaLGdCQUFnQjtNQUNoQixvQkFBb0I7TUFDcEIsc0JBQXNCLEVBQUU7SUFDMUI7TUFDRSw4QkFBOEIsRUFBRTs7QUFFdEM7RUFDRSxvQkFBb0I7RUFDcEIsZUFBZSxFQUFFO0VBQ2pCO0lBQ0UsdUJBQW9CO1FBQXBCLG9CQUFvQjtJQUNwQixxQkFBYztJQUFkLGNBQWM7SUFDZCxxQkFBcUI7SUFDckIsa0JBQWtCLEVBQUU7RUFDdEI7SUFDRSx3QkFBd0I7SUFDeEIscUJBQWE7UUFBYixhQUFhLEVBQUU7RUFDakI7SUFDRSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQix3QkFBd0I7SUFDeEIsZ0JBQWdCLEVBQUU7RUFDcEI7SUFDRSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixVQUFVLEVBQUU7RUFDZDtJQUNFLGdCQUFnQjtJQUNoQixpQkFBaUIsRUFBRTtFQUNyQjtJQUNFO01BQ0UsZUFBZTtNQUNmLG1CQUFtQixFQUFFO0lBQ3ZCO01BQ0UscUJBQXFCLEVBQUU7SUFDekI7TUFDRSxxQkFBcUIsRUFBRSxFQUFFIiwiZmlsZSI6InBhZ2VzL2VudGVycHJpc2UvcmVzb3VyY2VzL3doaXRlcGFwZXJzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbmJvZHkge1xuICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG5cbi5jdGEge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB3aGl0ZSwgI2Y2ZjhmYyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlN2ViO1xuICBtYXJnaW4tdG9wOiAtMTM4cHg7XG4gIHBhZGRpbmctdG9wOiA3OHB4OyB9XG4gIC5jdGEgaGdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDExNHB4O1xuICAgIG1heC13aWR0aDogODQwcHg7IH1cbiAgICAuY3RhIGhncm91cCBoNSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiAjOGU5YWFiOyB9XG4gICAgLmN0YSBoZ3JvdXAgaDEge1xuICAgICAgY29sb3I6ICMyNDI4MmU7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgICBtYXJnaW46IDEycHggMCAyNHB4OyB9XG4gICAgLmN0YSBoZ3JvdXAgcCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjNjI2YzdkO1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDsgfVxuXG4uc2lnbnVwLWZvcm0ge1xuICBwYWRkaW5nLXRvcDogMTEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnNpZ251cC1mb3JtIC5sZWZ0LWNvbCxcbiAgLnNpZ251cC1mb3JtIC5yaWdodC1jb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDcycHg7IH1cbiAgLnNpZ251cC1mb3JtIC5sZWZ0LWNvbCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBmb250LWZhbWlseTogYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgIGNvbG9yOiAjNGU1NDVlO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gICAgLnNpZ251cC1mb3JtIC5sZWZ0LWNvbCAuaWxsdXN0cmF0aW9uICsgcCB7XG4gICAgICBjb2xvcjogIzZlN2Y5OTtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gICAgLnNpZ251cC1mb3JtIC5sZWZ0LWNvbCBoNSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzRlNTQ1ZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi10b3A6IDEzcHg7IH1cbiAgICAuc2lnbnVwLWZvcm0gLmxlZnQtY29sIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDE2cHggMCAzMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgICAuc2lnbnVwLWZvcm0gLmxlZnQtY29sIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnNpZ251cC1mb3JtIC5sZWZ0LWNvbCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAn4oCiJztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLnNpZ251cC1mb3JtIC5sZWZ0LWNvbCBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDsgfVxuICAgIC5zaWdudXAtZm9ybSAubGVmdC1jb2wgLnAtYm9sZCB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5zaWdudXAtZm9ybSAucmlnaHQtY29sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cbiAgICAuc2lnbnVwLWZvcm0gLnJpZ2h0LWNvbCBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtOyB9XG4gIC5zaWdudXAtZm9ybSAuaWxsdXN0cmF0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0MzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgLnNpZ251cC1mb3JtIC5pbGx1c3RyYXRpb24gaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA4KTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmN0YSBoZ3JvdXAge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gIC5zaWdudXAtZm9ybSB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5zaWdudXAtZm9ybSAubGVmdC1jb2wsXG4gIC5zaWdudXAtZm9ybSAucmlnaHQtY29sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuc2lnbnVwLWZvcm0gLmxlZnQtY29sIHtcbiAgICBtYXJnaW4tdG9wOiAtODBweDsgfVxuICAuc2lnbnVwLWZvcm0gLnJpZ2h0LWNvbCB7XG4gICAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAuc2lnbnVwLWZvcm0gLmlsbHVzdHJhdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cblxuLmNvbXBhbnkge1xuICBtYXJnaW46IDc3cHggYXV0byA2OHB4OyB9XG4gIC5jb21wYW55IGgyIHtcbiAgICBjb2xvcjogIzdmOGZhYjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbWF4LXdpZHRoOiA3NjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5jb21wYW55IGgyIHN0cm9uZyB7XG4gICAgICBjb2xvcjogIzEzMTkyNDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmNvbXBhbnkgaDMge1xuICAgIGNvbG9yOiAjN2Y4ZmFiO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAuY29tcGFueSAubG9nb3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi10b3A6IDUxcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cbiAgICAuY29tcGFueSAubG9nb3M6OmJlZm9yZSwgLmNvbXBhbnkgLmxvZ29zOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2hvbWVwYWdlL2VudGVycHJpc2UtbG9nb3MucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ5NHB4O1xuICAgICAgd2lkdGg6IDQ5NHB4O1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmNvbXBhbnkgLmxvZ29zOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGJvdHRvbTsgfVxuXG4uZ2V0LXN0YXJ0ZWQge1xuICBiYWNrZ3JvdW5kOiAjZjFmNGY4O1xuICBvdmVyZmxvdzogYXV0bzsgfVxuICAuZ2V0LXN0YXJ0ZWQgLmNvbnRhaW5lciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDExMHB4O1xuICAgIG1hcmdpbi10b3A6IDExMHB4OyB9XG4gIC5nZXQtc3RhcnRlZCBoZ3JvdXAge1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAyNWVtO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAuZ2V0LXN0YXJ0ZWQgaDIge1xuICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgIG1hcmdpbjogMCAwIDVweDsgfVxuICAuZ2V0LXN0YXJ0ZWQgcCB7XG4gICAgY29sb3I6ICMyNDI4MmU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5nZXQtc3RhcnRlZCAuYnRuIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAuZ2V0LXN0YXJ0ZWQgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5nZXQtc3RhcnRlZCBoZ3JvdXAge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7IH1cbiAgICAuZ2V0LXN0YXJ0ZWQgLmJ0bi1ncm91cCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTZweDsgfSB9XG4iXX0= */ ================================================ FILE: content/css/pages/enterprise/solutions/cross-platform.css ================================================ .ee-hero { max-width: 640px; padding-top: 130px; padding-bottom: 160px; } .ee-hero::before, .ee-hero::after { display: none; } .ee-hero h1 { font-size: 52px; line-height: 62px; max-width: 930px; letter-spacing: -0.03em; color: #020814; margin-top: 0; margin-bottom: 16px; } .ee-hero h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 13px; line-height: 26px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; margin-bottom: 29px; } .ee-hero p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 24px; font-weight: 400; line-height: 36px; letter-spacing: -0.04em; color: rgba(39, 50, 63, 0.8); } .ee-hero .btn { padding-left: 24px; padding-right: 20px; padding-top: 18px; padding-bottom: 18px; font-size: 14px; margin-top: 16px; line-height: 20px; letter-spacing: 0.08em; color: white; text-transform: uppercase; font-weight: 700; background: #3880FF; box-shadow: 0px 2px 4px rgba(2, 8, 20, 0.1), 0px 1px 2px rgba(2, 8, 20, 0.08); border-radius: 210px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } .ee-hero .btn::after { background-image: url('data:image/svg+xml;utf8,'); background-size: 100%; content: ''; height: 20px; width: 20px; display: block; margin-left: 8px; -webkit-transform: translateY(-1px); transform: translateY(-1px); } .ee-hero .btn:hover { background-color: #4f8bf5; } .ee-hero--large h1 { font-size: 62px; line-height: 69px; } .ee-hero--wide { max-width: 960px; } .ee-hero--centered { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; text-align: center; margin-left: auto; margin-right: auto; } @media (max-width: 767px) { .ee-hero { padding-top: 70px; padding-bottom: 0; } .ee-hero h1 { font-size: 44px; line-height: 52px; } .ee-hero--large h1 { font-size: 50px; line-height: 60px; } } @media (max-width: 480px) { .ee-hero h1 { font-size: 36px; line-height: 44px; margin-bottom: 6px; } .ee-hero--large h1 { font-size: 42px; line-height: 52px; } .ee-hero .btn { margin-top: 8px; } } .ee-main { margin-top: 0; } .ee-main section { margin-bottom: 200px; } .ee-main .left, .ee-main .right, .ee-main .center { display: -ms-flexbox; display: flex; } .ee-main .left::before, .ee-main .left::after, .ee-main .right::before, .ee-main .right::after, .ee-main .center::before, .ee-main .center::after { display: none; } .ee-main .left .content, .ee-main .right .content { max-width: 480px; } @media (max-width: 767px) { .ee-main .left .content, .ee-main .right .content { max-width: 100%; text-align: center; } .ee-main .left .content li, .ee-main .right .content li { text-align: left; } } .ee-main .left { -ms-flex-direction: row; flex-direction: row; } .ee-main .left .graphics { margin-left: auto; } .ee-main .right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; margin-left: auto; } .ee-main .right .graphics { margin-right: auto; } .ee-main .center { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; } .ee-main .center .content { width: 894px; max-width: 100%; } .ee-main .full .content { max-width: 568px; } @media (max-width: 767px) { .ee-main .right, .ee-main .left { -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-align: center; align-items: center; } .ee-main .right .graphics, .ee-main .left .graphics { margin-bottom: 24px; margin-left: 0; margin-right: 0; } .ee-main section { margin-bottom: 100px; } } .ee-main .graphics { -ms-flex-pack: end; justify-content: flex-end; } .ee-main .graphics img { width: 100%; } .ee-main h2 { font-size: 44px; line-height: 51px; letter-spacing: -0.03em; } .ee-main h2:first-child { margin-top: 0; } .ee-main .ee-section__title { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: bold; font-size: 12px; line-height: 23px; letter-spacing: 0.14em; text-transform: uppercase; color: #5B708B; margin-top: 0; } .ee-main .ee-section__cta { display: inline-block; font-size: 18px; font-weight: 500; margin-top: 16px; } .ee-main p { font-size: 20px; line-height: 31px; letter-spacing: -0.02em; color: #5B708B; margin-top: 18px; } .ee-main p.sm { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; } .ee-main ul:not(.frameworks) { margin-top: 54px; } .ee-main .content ul { padding-left: 0; } .ee-main .content li { font-size: 16px; line-height: 23px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 40px; padding-left: 30px; list-style: none; position: relative; } .ee-main .content li::before { background-image: url("/img/enterprise/check.svg"); background-size: 100%; content: ''; height: 10px; width: 13px; position: absolute; left: 0; top: 8px; } .ee-main .features { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 64px; grid-row-gap: 24px; padding: 0; } .ee-main .features li { list-style: none; } .ee-main .features .icon { margin-bottom: 16px; width: 48px; } @media (max-width: 991px) { .ee-main .features { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; } } @media (max-width: 500px) { .ee-main .features { -ms-grid-columns: 1fr; grid-template-columns: 1fr; } } .ee-main .cta-card { background: #4a8bfc; border-radius: 12px; padding: 72px 72px 60px; background-size: cover; color: white; } .ee-main .cta-card .ee-section__title, .ee-main .cta-card p { color: #CED6E0; } #how-to { margin-bottom: 0; position: relative; padding-top: 140px; } #how-to::before { position: absolute; top: 0; width: 100vw; border-top: 1px solid rgba(146, 161, 179, 0.3); content: ''; display: block; } .cards--red-v-blue { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } .cards--red-v-blue__card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } .cards--red-v-blue__card:last-child { margin-right: 0; } .cards--red-v-blue__card:nth-child(2) { background: #F88D8D; } .cards--red-v-blue__card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } .cards--red-v-blue h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } .cards--red-v-blue p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); margin-top: 0; margin-bottom: 22px; } .cards--red-v-blue .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } .cards--red-v-blue .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { .cards--red-v-blue { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } .cards--red-v-blue__card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; max-width: 460px; } } aside { background: linear-gradient(180deg, #F9FAFB 0%, #FFFFFF 100%); margin-top: -60px; padding-top: 200px; padding-bottom: 120px; } aside p { color: #414D5C; } aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } .ee-get-started { max-width: 700px; } .ee-get-started h3 { color: #414D5C; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .ee-main .features li p, .ee-main .cards li p, .resources .features li p, .resources .cards li p { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; color: #73849A; margin-top: 0; } .ee-main .features li h4, .ee-main .cards li h4, .resources .features li h4, .resources .cards li h4 { font-size: 20px; line-height: normal; letter-spacing: -0.02em; color: #020814; font-weight: 600; } .resources .cards { margin-top: 0 !important; text-align: left; -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards .img-wrapper { border-radius: 6px; } .resources .cards .img-wrapper + h4 { margin-top: 24px; } @media (min-width: 1220px) { .resources .cards { margin-left: -40px; margin-right: -40px; } .resources .cards li { padding: 40px; } } .resources .resources__customer-logos { display: -ms-flexbox; display: flex; margin: 26px auto 0; padding: 0; -ms-flex-pack: justify; justify-content: space-between; max-width: 780px; width: 100%; } .resources .resources__customer-logos li { background: url("/img/enterprise/customer-logos.png"); background-size: 428px 46px; background-repeat: no-repeat; display: block; height: 46px; } @media (max-width: 768px) { .resources .resources__customer-logos { -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 460px; } .resources .resources__customer-logos li { margin: 20px; } } .resources .resources__customer-logos .mastercard { width: 58px; } .resources .resources__customer-logos .nationwide { background-position: -58px 0; width: 33px; } .resources .resources__customer-logos .uniqlo { background-position: -91px 0; width: 65px; } .resources .resources__customer-logos .ibm { background-position: -156px 0; width: 64px; } .resources .resources__customer-logos .ing { background-position: -222px 0; width: 103px; } .resources .resources__customer-logos .sap { background-position: -326px 0; width: 56px; } .resources .resources__customer-logos .nasa { background-position: -380px 0; width: 50px; } .banner { background: #fff; text-align: left; } .banner .container { position: relative; } .banner .ee-hero { max-width: 480px; } .banner .ee-hero h4, .banner .ee-hero h1, .banner .ee-hero p { position: relative; z-index: 2; } @media (max-width: 767px) { .ee-hero { padding-bottom: 80px; } } .solution-hero h4, .solution-hero h2, .solution-hero p, .solution-hero a { position: relative; z-index: 2; } .solution-hero::after { background-size: cover; position: absolute; z-index: 1; content: ''; display: block; } .solution-hero--cross-platform::after { background: url("/img/solutions/bg-cross-platform-header.svg"); width: 850px; height: 431px; right: calc(50% - 796px); top: 138px; } .solution-hero--design-system::after { background: url("/img/solutions/design-systems-banner.svg"); width: 755px; height: 593px; right: -72px; top: 74px; } .solution-hero--pwa::after { background: url("/img/enterprise/pwa.png"); width: 513px; height: 520px; background-size: 513px 520px; right: 50px; top: 74px; } .right .solution-hero--design-system::after { right: auto; left: -72px; } #sticky-bar { box-shadow: 0px 1px 0px #E9EDF3, 0px -1px 0px #E9EDF3; background: white; position: -webkit-sticky; position: sticky; top: 0; z-index: 1; } #sticky-bar ul { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; padding-top: 17px; padding-bottom: 17px; padding-left: 15px; -ms-flex-wrap: wrap; flex-wrap: wrap; } @media (max-width: 991px) { #sticky-bar ul { -ms-flex-pack: distribute; justify-content: space-around; } } #sticky-bar ul::before, #sticky-bar ul::after { display: none; } #sticky-bar li { list-style: none; } #sticky-bar li.active a:not(.btn) { color: #4a8bfc; } #sticky-bar a { padding: 10px 0; font-size: 14px; line-height: 22px; text-align: center; letter-spacing: 0.08em; text-transform: uppercase; display: block; } #sticky-bar a:hover, #sticky-bar a:active, #sticky-bar a:focus { background: transparent; text-decoration: none; } #sticky-bar a.btn { padding: 11px 14px 8px; margin-right: 3px; border-radius: 10px; color: white; font-weight: 600; } #sticky-bar a.btn:hover, #sticky-bar a.btn:active, #sticky-bar a.btn:focus { color: white; background: #317bfc; } #sticky-bar .anchor { color: #92A1B3; font-weight: 500; } #sticky-bar .anchor.active, #sticky-bar .anchor:hover { color: #4D8DFF; } main { letter-spacing: -0.028em; color: #2F3A48; } main h2 { font-size: 40px; line-height: 50px; letter-spacing: -0.03em; color: #020814; margin-bottom: 15px; } main h3 { color: #414D5C; font-weight: 600; margin-bottom: 4px; } main h3 + h2 { margin-top: 0; } main p { font-size: 20px; line-height: 31px; margin-bottom: 40px; } main ul { padding-left: 0; } main li { font-size: 16px; line-height: 23px; color: #1A232F; margin-bottom: 32px; position: relative; list-style: none; padding-left: 30px; letter-spacing: -.016em; } main li::before { content: url('data:image/svg+xml,\a \a \a '); position: absolute; left: 0; top: 1px; height: 15px; width: 15px; fill: #1A232F; display: block; } main section { display: -ms-flexbox; display: flex; position: relative; } main section.container::before, main section.container::after { display: none; } main section.right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; } main section.center { -ms-flex-pack: center; justify-content: center; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } main section.center .content { max-width: 798px; text-align: center; } main section.center .content ul { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; } @media (max-width: 991px) { main section.center .content ul { -ms-flex-pack: start; justify-content: flex-start; } } main section.center .content li { max-width: 376px; width: 100%; } main .content { max-width: 482px; margin: 232px 0 184px; } @media (max-width: 991px) { main .content { max-width: 100%; margin: 60px auto; } } main aside { background: #F6F8FB; padding-top: 114px; padding-bottom: 120px; } main aside p { color: #414D5C; } main aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } main .get-started { max-width: 700px; } main .cards { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } main .cards .card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } main .cards .card:last-child { margin-right: 0; } main .cards .card:nth-child(2) { background: #F88D8D; } main .cards .card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } main .cards h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } main .cards p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); } main .cards .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } main .cards .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { main .cards { -ms-flex-direction: column; flex-direction: column; } main .cards .card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; } } .resources { margin-top: 96px; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } #more-than-mobile .content { margin-top: 316px; } #more-than-mobile .content::after { background: url("/img/solutions/apple-devices.png"); background-size: cover; width: 982px; height: 696px; position: absolute; right: calc(50% - 898px); top: 174px; content: ''; } @media (max-width: 991px) { #more-than-mobile .content { margin-bottom: 200px; } #more-than-mobile .content::after { right: calc(100% - 906px); width: 491px; height: 348px; top: auto; bottom: 50px; } } #full-native-power .content { margin-top: 373px; } #full-native-power .content::after { background: url("/img/solutions/iphone-parts.jpg"); background-size: cover; width: 594px; height: 772px; position: absolute; left: -4px; top: 207px; content: ''; } @media (max-width: 1219px) { #full-native-power .content::after { width: 396px; height: 515px; top: 328px; } } @media (max-width: 1219px) { #full-native-power .content { margin-top: 400px; } #full-native-power .content::after { width: 297px; height: 386px; top: 0; left: calc(50% - 150px); } } #future-proof .content { margin-top: 431px; } #future-proof .content::after { background: url("/img/solutions/ionic-platforms.svg"); background-size: cover; width: 606px; height: 672px; position: absolute; right: calc(50% - 632px); top: 282px; content: ''; } @media (max-width: 1219px) { #future-proof .content::after { width: 303px; height: 336px; right: calc(50% - 150px); top: 80px; } } #how-to .content { margin-top: 146px; max-width: 100%; } #how-to .content h2 { text-align: center; } #get-started { margin-top: -225px; padding-top: 134px; } @media (max-width: 1219px) { #get-started { padding-top: 300px; margin-top: -200px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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Iiwic291cmNlc0NvbnRlbnQiOlsiLmVlLWhlcm8ge1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICBwYWRkaW5nLXRvcDogMTMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNjBweDsgfVxuICAuZWUtaGVybzo6YmVmb3JlLCAuZWUtaGVybzo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmVlLWhlcm8gaDEge1xuICAgIGZvbnQtc2l6ZTogNTJweDtcbiAgICBsaW5lLWhlaWdodDogNjJweDtcbiAgICBtYXgtd2lkdGg6IDkzMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIGNvbG9yOiAjMDIwODE0O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAuZWUtaGVybyBoNCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM5MkExQjM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjlweDsgfVxuICAuZWUtaGVybyBwIHtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtO1xuICAgIGNvbG9yOiByZ2JhKDM5LCA1MCwgNjMsIDAuOCk7IH1cbiAgLmVlLWhlcm8gLmJ0biB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE4cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJhY2tncm91bmQ6ICMzODgwRkY7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSgyLCA4LCAyMCwgMC4xKSwgMHB4IDFweCAycHggcmdiYSgyLCA4LCAyMCwgMC4wOCk7XG4gICAgYm9yZGVyLXJhZGl1czogMjEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmVlLWhlcm8gLmJ0bjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwid2hpdGVcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIj48cGF0aCBkPVwiTTg1IDI3Ny4zNzVoMjU5LjcwNEwyMjUuMDAyIDM5Ny4wNzcgMjU2IDQyN2wxNzEtMTcxTDI1NiA4NWwtMjkuOTIyIDI5LjkyNCAxMTguNjI2IDExOS43MDFIODV2NDIuNzV6XCIvPjwvc3ZnPicpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfVxuICAgIC5lZS1oZXJvIC5idG46aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRmOGJmNTsgfVxuICAuZWUtaGVyby0tbGFyZ2UgaDEge1xuICAgIGZvbnQtc2l6ZTogNjJweDtcbiAgICBsaW5lLWhlaWdodDogNjlweDsgfVxuICAuZWUtaGVyby0td2lkZSB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDsgfVxuICAuZWUtaGVyby0tY2VudGVyZWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmVlLWhlcm8ge1xuICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgLmVlLWhlcm8gaDEge1xuICAgICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OyB9XG4gICAgICAuZWUtaGVyby0tbGFyZ2UgaDEge1xuICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVlLWhlcm8gaDEge1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7IH1cbiAgICAuZWUtaGVyby0tbGFyZ2UgaDEge1xuICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH1cbiAgICAuZWUtaGVybyAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDsgfSB9XG5cbi5lZS1tYWluIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAuZWUtbWFpbiBzZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMDBweDsgfVxuICAuZWUtbWFpbiAubGVmdCxcbiAgLmVlLW1haW4gLnJpZ2h0LFxuICAuZWUtbWFpbiAuY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmVlLW1haW4gLmxlZnQ6OmJlZm9yZSwgLmVlLW1haW4gLmxlZnQ6OmFmdGVyLFxuICAgIC5lZS1tYWluIC5yaWdodDo6YmVmb3JlLFxuICAgIC5lZS1tYWluIC5yaWdodDo6YWZ0ZXIsXG4gICAgLmVlLW1haW4gLmNlbnRlcjo6YmVmb3JlLFxuICAgIC5lZS1tYWluIC5jZW50ZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmVlLW1haW4gLmxlZnQgLmNvbnRlbnQsXG4gIC5lZS1tYWluIC5yaWdodCAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0ODBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmVlLW1haW4gLmxlZnQgLmNvbnRlbnQsXG4gICAgICAuZWUtbWFpbiAucmlnaHQgLmNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuZWUtbWFpbiAubGVmdCAuY29udGVudCBsaSxcbiAgICAgICAgLmVlLW1haW4gLnJpZ2h0IC5jb250ZW50IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmVlLW1haW4gLmxlZnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAuZWUtbWFpbiAubGVmdCAuZ3JhcGhpY3Mge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmVlLW1haW4gLnJpZ2h0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAuZWUtbWFpbiAucmlnaHQgLmdyYXBoaWNzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuZWUtbWFpbiAuY2VudGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmVlLW1haW4gLmNlbnRlciAuY29udGVudCB7XG4gICAgICB3aWR0aDogODk0cHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmVlLW1haW4gLmZ1bGwgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNTY4cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmVlLW1haW4gLnJpZ2h0LFxuICAgIC5lZS1tYWluIC5sZWZ0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5lZS1tYWluIC5yaWdodCAuZ3JhcGhpY3MsXG4gICAgICAuZWUtbWFpbiAubGVmdCAuZ3JhcGhpY3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmVlLW1haW4gc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG4gIC5lZS1tYWluIC5ncmFwaGljcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5lZS1tYWluIC5ncmFwaGljcyBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmVlLW1haW4gaDIge1xuICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICBsaW5lLWhlaWdodDogNTFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTsgfVxuICAgIC5lZS1tYWluIGgyOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmVlLW1haW4gLmVlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM1QjcwOEI7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZWUtbWFpbiAuZWUtc2VjdGlvbl9fY3RhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAuZWUtbWFpbiBwIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMxcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6ICM1QjcwOEI7XG4gICAgbWFyZ2luLXRvcDogMThweDsgfVxuICAgIC5lZS1tYWluIHAuc20ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsgfVxuICAuZWUtbWFpbiB1bDpub3QoLmZyYW1ld29ya3MpIHtcbiAgICBtYXJnaW4tdG9wOiA1NHB4OyB9XG4gIC5lZS1tYWluIC5jb250ZW50IHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmVlLW1haW4gLmNvbnRlbnQgbGkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogIzFBMjMyRjtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5lZS1tYWluIC5jb250ZW50IGxpOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9lbnRlcnByaXNlL2NoZWNrLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA4cHg7IH1cbiAgLmVlLW1haW4gLmZlYXR1cmVzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiA2NHB4O1xuICAgIGdyaWQtcm93LWdhcDogMjRweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmVlLW1haW4gLmZlYXR1cmVzIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuZWUtbWFpbiAuZmVhdHVyZXMgLmljb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIHdpZHRoOiA0OHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgLmVlLW1haW4gLmZlYXR1cmVzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfVxuICAuZWUtbWFpbiAuY3RhLWNhcmQge1xuICAgIGJhY2tncm91bmQ6ICM0YThiZmM7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiA3MnB4IDcycHggNjBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5lZS1tYWluIC5jdGEtY2FyZCAuZWUtc2VjdGlvbl9fdGl0bGUsXG4gICAgLmVlLW1haW4gLmN0YS1jYXJkIHAge1xuICAgICAgY29sb3I6ICNDRUQ2RTA7IH1cblxuI2hvdy10byB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDE0MHB4OyB9XG4gICNob3ctdG86OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTQ2LCAxNjEsIDE3OSwgMC4zKTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2FyZHMtLXJlZC12LWJsdWUge1xuICBkaXNwbGF5OiBmbGV4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzhweDsgfVxuICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQge1xuICAgIGJhY2tncm91bmQ6ICM3Q0FCRkY7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDQwcHggNDBweCAzNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG4gICAgZmxleDogMCAxIDQ2MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDsgfVxuICAgIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZDpudGgtY2hpbGQoMikge1xuICAgICAgYmFja2dyb3VuZDogI0Y4OEQ4RDsgfVxuICAgICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOm50aC1jaGlsZCgyKSAuYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDQsIDg0LCA4NCwgMC41KTsgfVxuICAuY2FyZHMtLXJlZC12LWJsdWUgaDMge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZSBwIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIycHg7IH1cbiAgLmNhcmRzLS1yZWQtdi1ibHVlIC5idG4ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA5ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSg1NiwgMTI4LCAyNTUsIDAuNSk7IH1cbiAgICAuY2FyZHMtLXJlZC12LWJsdWUgLmJ0biBpb24taWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5jYXJkcy0tcmVkLXYtYmx1ZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkIHtcbiAgICAgICAgZmxleDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDQ2MHB4OyB9IH1cblxuYXNpZGUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjRjlGQUZCIDAlLCAjRkZGRkZGIDEwMCUpO1xuICBtYXJnaW4tdG9wOiAtNjBweDtcbiAgcGFkZGluZy10b3A6IDIwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgYXNpZGUgcCB7XG4gICAgY29sb3I6ICM0MTRENUM7IH1cbiAgYXNpZGUgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDMycHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5lZS1nZXQtc3RhcnRlZCB7XG4gIG1heC13aWR0aDogNzAwcHg7IH1cbiAgLmVlLWdldC1zdGFydGVkIGgzIHtcbiAgICBjb2xvcjogIzQxNEQ1QzsgfVxuXG4ucmVzb3VyY2VzIHtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7IH0gfVxuICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTI0cHg7IH1cbiAgLnJlc291cmNlcyBoZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGgzIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzFBMjMyRjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBoNCB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICMxQTIzMkY7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBoNSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgICAgY29sb3I6ICMzODgwRkY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaW9uLWljb24ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7IH1cbiAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDAgMCAzMy4zMyU7XG4gICAgcGFkZGluZzogMjRweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIC5pbWctd3JhcHBlciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgaDYge1xuICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjQjJCRUNEO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBoNCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgY29sb3I6ICMxQTIzMkY7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgcCB7XG4gICAgICBjb2xvcjogIzVCNzA4QjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTJweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIHBhZGRpbmc6IDEycHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIGg1IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZWUtbWFpbiAuZmVhdHVyZXMgbGkgcCxcbi5lZS1tYWluIC5jYXJkcyBsaSBwLFxuLnJlc291cmNlcyAuZmVhdHVyZXMgbGkgcCxcbi5yZXNvdXJjZXMgLmNhcmRzIGxpIHAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgY29sb3I6ICM3Mzg0OUE7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmVlLW1haW4gLmZlYXR1cmVzIGxpIGg0LFxuLmVlLW1haW4gLmNhcmRzIGxpIGg0LFxuLnJlc291cmNlcyAuZmVhdHVyZXMgbGkgaDQsXG4ucmVzb3VyY2VzIC5jYXJkcyBsaSBoNCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGNvbG9yOiAjMDIwODE0O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnJlc291cmNlcyAuY2FyZHMgLmltZy13cmFwcGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyAuaW1nLXdyYXBwZXIgKyBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC00MHB4OyB9XG4gICAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHg7IH0gfVxuXG4ucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAyNnB4IGF1dG8gMDtcbiAgcGFkZGluZzogMDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXgtd2lkdGg6IDc4MHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2VudGVycHJpc2UvY3VzdG9tZXItbG9nb3MucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDI4cHggNDZweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNDZweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWF4LXdpZHRoOiA0NjBweDsgfVxuICAgICAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyBsaSB7XG4gICAgICAgIG1hcmdpbjogMjBweDsgfSB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLm1hc3RlcmNhcmQge1xuICAgIHdpZHRoOiA1OHB4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLm5hdGlvbndpZGUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01OHB4IDA7XG4gICAgd2lkdGg6IDMzcHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAudW5pcWxvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTFweCAwO1xuICAgIHdpZHRoOiA2NXB4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLmlibSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NnB4IDA7XG4gICAgd2lkdGg6IDY0cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjIycHggMDtcbiAgICB3aWR0aDogMTAzcHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAuc2FwIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzI2cHggMDtcbiAgICB3aWR0aDogNTZweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5uYXNhIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzgwcHggMDtcbiAgICB3aWR0aDogNTBweDsgfVxuXG4uYmFubmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuYmFubmVyIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmFubmVyIC5lZS1oZXJvIHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4OyB9XG4gIC5iYW5uZXIgLmVlLWhlcm8gaDQsXG4gIC5iYW5uZXIgLmVlLWhlcm8gaDEsXG4gIC5iYW5uZXIgLmVlLWhlcm8gcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5lZS1oZXJvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDsgfSB9XG5cbi5zb2x1dGlvbi1oZXJvIGg0LFxuLnNvbHV0aW9uLWhlcm8gaDIsXG4uc29sdXRpb24taGVybyBwLFxuLnNvbHV0aW9uLWhlcm8gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuXG4uc29sdXRpb24taGVybzo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc29sdXRpb24taGVyby0tY3Jvc3MtcGxhdGZvcm06OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9zb2x1dGlvbnMvYmctY3Jvc3MtcGxhdGZvcm0taGVhZGVyLnN2Z1wiKTtcbiAgd2lkdGg6IDg1MHB4O1xuICBoZWlnaHQ6IDQzMXB4O1xuICByaWdodDogY2FsYyg1MCUgLSA3OTZweCk7XG4gIHRvcDogMTM4cHg7IH1cblxuLnNvbHV0aW9uLWhlcm8tLWRlc2lnbi1zeXN0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9zb2x1dGlvbnMvZGVzaWduLXN5c3RlbXMtYmFubmVyLnN2Z1wiKTtcbiAgd2lkdGg6IDc1NXB4O1xuICBoZWlnaHQ6IDU5M3B4O1xuICByaWdodDogLTcycHg7XG4gIHRvcDogNzRweDsgfVxuXG4uc29sdXRpb24taGVyby0tcHdhOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9wd2EucG5nXCIpO1xuICB3aWR0aDogNTEzcHg7XG4gIGhlaWdodDogNTIwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogNTEzcHggNTIwcHg7XG4gIHJpZ2h0OiA1MHB4O1xuICB0b3A6IDc0cHg7IH1cblxuLnJpZ2h0IC5zb2x1dGlvbi1oZXJvLS1kZXNpZ24tc3lzdGVtOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAtNzJweDsgfVxuXG4jc3RpY2t5LWJhciB7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMHB4ICNFOUVERjMsIDBweCAtMXB4IDBweCAjRTlFREYzO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxOyB9XG4gICNzdGlja3ktYmFyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLXRvcDogMTdweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTdweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjc3RpY2t5LWJhciB1bCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cbiAgICAjc3RpY2t5LWJhciB1bDo6YmVmb3JlLCAjc3RpY2t5LWJhciB1bDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAjc3RpY2t5LWJhciBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICNzdGlja3ktYmFyIGxpLmFjdGl2ZSBhOm5vdCguYnRuKSB7XG4gICAgICBjb2xvcjogIzRhOGJmYzsgfVxuICAjc3RpY2t5LWJhciBhIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAjc3RpY2t5LWJhciBhOmhvdmVyLCAjc3RpY2t5LWJhciBhOmFjdGl2ZSwgI3N0aWNreS1iYXIgYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICNzdGlja3ktYmFyIGEuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMTRweCA4cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAjc3RpY2t5LWJhciBhLmJ0bjpob3ZlciwgI3N0aWNreS1iYXIgYS5idG46YWN0aXZlLCAjc3RpY2t5LWJhciBhLmJ0bjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogIzMxN2JmYzsgfVxuICAjc3RpY2t5LWJhciAuYW5jaG9yIHtcbiAgICBjb2xvcjogIzkyQTFCMztcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgI3N0aWNreS1iYXIgLmFuY2hvci5hY3RpdmUsICNzdGlja3ktYmFyIC5hbmNob3I6aG92ZXIge1xuICAgICAgY29sb3I6ICM0RDhERkY7IH1cblxubWFpbiB7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMjhlbTtcbiAgY29sb3I6ICMyRjNBNDg7IH1cbiAgbWFpbiBoMiB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIGNvbG9yOiAjMDIwODE0O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgbWFpbiBoMyB7XG4gICAgY29sb3I6ICM0MTRENUM7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgICBtYWluIGgzICsgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICBtYWluIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIG1haW4gdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICBtYWluIGxpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgY29sb3I6ICMxQTIzMkY7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE2ZW07IH1cbiAgICBtYWluIGxpOjpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsXFxhICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCI+XFxhICAgICAgICAgICA8cGF0aCBkPVwiTTE4Ni4zMDEgMzM5Ljg5M0w5NiAyNDkuNDYxbC0zMiAzMC41MDdMMTg2LjMwMSA0MDIgNDQ4IDE0MC41MDYgNDE2IDExMHpcIi8+XFxhICAgICAgICAgPC9zdmc+Jyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGZpbGw6ICMxQTIzMkY7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICBtYWluIHNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgbWFpbiBzZWN0aW9uLmNvbnRhaW5lcjo6YmVmb3JlLCBtYWluIHNlY3Rpb24uY29udGFpbmVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgbWFpbiBzZWN0aW9uLnJpZ2h0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgIG1haW4gc2VjdGlvbi5jZW50ZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgbWFpbiBzZWN0aW9uLmNlbnRlciAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogNzk4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBtYWluIHNlY3Rpb24uY2VudGVyIC5jb250ZW50IHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgIG1haW4gc2VjdGlvbi5jZW50ZXIgLmNvbnRlbnQgdWwge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgICAgICBtYWluIHNlY3Rpb24uY2VudGVyIC5jb250ZW50IGxpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM3NnB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIG1haW4gLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDgycHg7XG4gICAgbWFyZ2luOiAyMzJweCAwIDE4NHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICBtYWluIC5jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDYwcHggYXV0bzsgfSB9XG4gIG1haW4gYXNpZGUge1xuICAgIGJhY2tncm91bmQ6ICNGNkY4RkI7XG4gICAgcGFkZGluZy10b3A6IDExNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICAgIG1haW4gYXNpZGUgcCB7XG4gICAgICBjb2xvcjogIzQxNEQ1QzsgfVxuICAgIG1haW4gYXNpZGUgLmNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiA0MzJweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgbWFpbiAuZ2V0LXN0YXJ0ZWQge1xuICAgIG1heC13aWR0aDogNzAwcHg7IH1cbiAgbWFpbiAuY2FyZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAzOHB4OyB9XG4gICAgbWFpbiAuY2FyZHMgLmNhcmQge1xuICAgICAgYmFja2dyb3VuZDogIzdDQUJGRjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIHBhZGRpbmc6IDQwcHggNDBweCAzNHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcbiAgICAgIGZsZXg6IDAgMSA0NjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsgfVxuICAgICAgbWFpbiAuY2FyZHMgLmNhcmQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgbWFpbiAuY2FyZHMgLmNhcmQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0Y4OEQ4RDsgfVxuICAgICAgICBtYWluIC5jYXJkcyAuY2FyZDpudGgtY2hpbGQoMikgLmJ0biB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDQsIDg0LCA4NCwgMC41KTsgfVxuICAgIG1haW4gLmNhcmRzIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICBtYWluIC5jYXJkcyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gICAgbWFpbiAuY2FyZHMgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wOWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU2LCAxMjgsIDI1NSwgMC41KTsgfVxuICAgICAgbWFpbiAuY2FyZHMgLmJ0biBpb24taWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIG1haW4gLmNhcmRzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICBtYWluIC5jYXJkcyAuY2FyZCB7XG4gICAgICAgICAgZmxleDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG5cbi5yZXNvdXJjZXMge1xuICBtYXJnaW4tdG9wOiA5NnB4OyB9XG5cbi5yZXNvdXJjZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjRweDsgfVxuICAucmVzb3VyY2VzIGhncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzFBMjMyRjsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBpb24taWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIDMzLjMzJTtcbiAgICBwYWRkaW5nOiAyNHB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgLmltZy13cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBoNiB7XG4gICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNCMkJFQ0Q7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBjb2xvcjogIzFBMjMyRjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBwIHtcbiAgICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgaDUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNtb3JlLXRoYW4tbW9iaWxlIC5jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMzE2cHg7IH1cbiAgI21vcmUtdGhhbi1tb2JpbGUgLmNvbnRlbnQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3NvbHV0aW9ucy9hcHBsZS1kZXZpY2VzLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHdpZHRoOiA5ODJweDtcbiAgICBoZWlnaHQ6IDY5NnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogY2FsYyg1MCUgLSA4OThweCk7XG4gICAgdG9wOiAxNzRweDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjbW9yZS10aGFuLW1vYmlsZSAuY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMDBweDsgfVxuICAgICAgI21vcmUtdGhhbi1tb2JpbGUgLmNvbnRlbnQ6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtIDkwNnB4KTtcbiAgICAgICAgd2lkdGg6IDQ5MXB4O1xuICAgICAgICBoZWlnaHQ6IDM0OHB4O1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogNTBweDsgfSB9XG5cbiNmdWxsLW5hdGl2ZS1wb3dlciAuY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDM3M3B4OyB9XG4gICNmdWxsLW5hdGl2ZS1wb3dlciAuY29udGVudDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvc29sdXRpb25zL2lwaG9uZS1wYXJ0cy5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB3aWR0aDogNTk0cHg7XG4gICAgaGVpZ2h0OiA3NzJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTRweDtcbiAgICB0b3A6IDIwN3B4O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAjZnVsbC1uYXRpdmUtcG93ZXIgLmNvbnRlbnQ6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiAzOTZweDtcbiAgICAgIGhlaWdodDogNTE1cHg7XG4gICAgICB0b3A6IDMyOHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICNmdWxsLW5hdGl2ZS1wb3dlciAuY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiA0MDBweDsgfVxuICAgICAgI2Z1bGwtbmF0aXZlLXBvd2VyIC5jb250ZW50OjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAyOTdweDtcbiAgICAgICAgaGVpZ2h0OiAzODZweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE1MHB4KTsgfSB9XG5cbiNmdXR1cmUtcHJvb2YgLmNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiA0MzFweDsgfVxuICAjZnV0dXJlLXByb29mIC5jb250ZW50OjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9zb2x1dGlvbnMvaW9uaWMtcGxhdGZvcm1zLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHdpZHRoOiA2MDZweDtcbiAgICBoZWlnaHQ6IDY3MnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogY2FsYyg1MCUgLSA2MzJweCk7XG4gICAgdG9wOiAyODJweDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgI2Z1dHVyZS1wcm9vZiAuY29udGVudDo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDMwM3B4O1xuICAgICAgaGVpZ2h0OiAzMzZweDtcbiAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDE1MHB4KTtcbiAgICAgIHRvcDogODBweDsgfSB9XG5cbiNob3ctdG8gLmNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAxNDZweDtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICNob3ctdG8gLmNvbnRlbnQgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jZ2V0LXN0YXJ0ZWQge1xuICBtYXJnaW4tdG9wOiAtMjI1cHg7XG4gIHBhZGRpbmctdG9wOiAxMzRweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgI2dldC1zdGFydGVkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMDBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0yMDBweDsgfSB9XG4iXX0= */ ================================================ FILE: content/css/pages/enterprise/solutions/design.css ================================================ .ee-hero { max-width: 640px; padding-top: 130px; padding-bottom: 160px; } .ee-hero::before, .ee-hero::after { display: none; } .ee-hero h1 { font-size: 52px; line-height: 62px; max-width: 930px; letter-spacing: -0.03em; color: #020814; margin-top: 0; margin-bottom: 16px; } .ee-hero h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 13px; line-height: 26px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; margin-bottom: 29px; } .ee-hero p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 24px; font-weight: 400; line-height: 36px; letter-spacing: -0.04em; color: rgba(39, 50, 63, 0.8); } .ee-hero .btn { padding-left: 24px; padding-right: 20px; padding-top: 18px; padding-bottom: 18px; font-size: 14px; margin-top: 16px; line-height: 20px; letter-spacing: 0.08em; color: white; text-transform: uppercase; font-weight: 700; background: #3880FF; box-shadow: 0px 2px 4px rgba(2, 8, 20, 0.1), 0px 1px 2px rgba(2, 8, 20, 0.08); border-radius: 210px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } .ee-hero .btn::after { background-image: url('data:image/svg+xml;utf8,'); background-size: 100%; content: ''; height: 20px; width: 20px; display: block; margin-left: 8px; -webkit-transform: translateY(-1px); transform: translateY(-1px); } .ee-hero .btn:hover { background-color: #4f8bf5; } .ee-hero--large h1 { font-size: 62px; line-height: 69px; } .ee-hero--wide { max-width: 960px; } .ee-hero--centered { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; text-align: center; margin-left: auto; margin-right: auto; } @media (max-width: 767px) { .ee-hero { padding-top: 70px; padding-bottom: 0; } .ee-hero h1 { font-size: 44px; line-height: 52px; } .ee-hero--large h1 { font-size: 50px; line-height: 60px; } } @media (max-width: 480px) { .ee-hero h1 { font-size: 36px; line-height: 44px; margin-bottom: 6px; } .ee-hero--large h1 { font-size: 42px; line-height: 52px; } .ee-hero .btn { margin-top: 8px; } } .ee-main { margin-top: 0; } .ee-main section { margin-bottom: 200px; } .ee-main .left, .ee-main .right, .ee-main .center { display: -ms-flexbox; display: flex; } .ee-main .left::before, .ee-main .left::after, .ee-main .right::before, .ee-main .right::after, .ee-main .center::before, .ee-main .center::after { display: none; } .ee-main .left .content, .ee-main .right .content { max-width: 480px; } @media (max-width: 767px) { .ee-main .left .content, .ee-main .right .content { max-width: 100%; text-align: center; } .ee-main .left .content li, .ee-main .right .content li { text-align: left; } } .ee-main .left { -ms-flex-direction: row; flex-direction: row; } .ee-main .left .graphics { margin-left: auto; } .ee-main .right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; margin-left: auto; } .ee-main .right .graphics { margin-right: auto; } .ee-main .center { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; } .ee-main .center .content { width: 894px; max-width: 100%; } .ee-main .full .content { max-width: 568px; } @media (max-width: 767px) { .ee-main .right, .ee-main .left { -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-align: center; align-items: center; } .ee-main .right .graphics, .ee-main .left .graphics { margin-bottom: 24px; margin-left: 0; margin-right: 0; } .ee-main section { margin-bottom: 100px; } } .ee-main .graphics { -ms-flex-pack: end; justify-content: flex-end; } .ee-main .graphics img { width: 100%; } .ee-main h2 { font-size: 44px; line-height: 51px; letter-spacing: -0.03em; } .ee-main h2:first-child { margin-top: 0; } .ee-main .ee-section__title { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: bold; font-size: 12px; line-height: 23px; letter-spacing: 0.14em; text-transform: uppercase; color: #5B708B; margin-top: 0; } .ee-main .ee-section__cta { display: inline-block; font-size: 18px; font-weight: 500; margin-top: 16px; } .ee-main p { font-size: 20px; line-height: 31px; letter-spacing: -0.02em; color: #5B708B; margin-top: 18px; } .ee-main p.sm { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; } .ee-main ul:not(.frameworks) { margin-top: 54px; } .ee-main .content ul { padding-left: 0; } .ee-main .content li { font-size: 16px; line-height: 23px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 40px; padding-left: 30px; list-style: none; position: relative; } .ee-main .content li::before { background-image: url("/img/enterprise/check.svg"); background-size: 100%; content: ''; height: 10px; width: 13px; position: absolute; left: 0; top: 8px; } .ee-main .features { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 64px; grid-row-gap: 24px; padding: 0; } .ee-main .features li { list-style: none; } .ee-main .features .icon { margin-bottom: 16px; width: 48px; } @media (max-width: 991px) { .ee-main .features { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; } } @media (max-width: 500px) { .ee-main .features { -ms-grid-columns: 1fr; grid-template-columns: 1fr; } } .ee-main .cta-card { background: #4a8bfc; border-radius: 12px; padding: 72px 72px 60px; background-size: cover; color: white; } .ee-main .cta-card .ee-section__title, .ee-main .cta-card p { color: #CED6E0; } #how-to { margin-bottom: 0; position: relative; padding-top: 140px; } #how-to::before { position: absolute; top: 0; width: 100vw; border-top: 1px solid rgba(146, 161, 179, 0.3); content: ''; display: block; } .cards--red-v-blue { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } .cards--red-v-blue__card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } .cards--red-v-blue__card:last-child { margin-right: 0; } .cards--red-v-blue__card:nth-child(2) { background: #F88D8D; } .cards--red-v-blue__card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } .cards--red-v-blue h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } .cards--red-v-blue p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); margin-top: 0; margin-bottom: 22px; } .cards--red-v-blue .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } .cards--red-v-blue .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { .cards--red-v-blue { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } .cards--red-v-blue__card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; max-width: 460px; } } aside { background: linear-gradient(180deg, #F9FAFB 0%, #FFFFFF 100%); margin-top: -60px; padding-top: 200px; padding-bottom: 120px; } aside p { color: #414D5C; } aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } .ee-get-started { max-width: 700px; } .ee-get-started h3 { color: #414D5C; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .ee-main .features li p, .ee-main .cards li p, .resources .features li p, .resources .cards li p { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; color: #73849A; margin-top: 0; } .ee-main .features li h4, .ee-main .cards li h4, .resources .features li h4, .resources .cards li h4 { font-size: 20px; line-height: normal; letter-spacing: -0.02em; color: #020814; font-weight: 600; } .resources .cards { margin-top: 0 !important; text-align: left; -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards .img-wrapper { border-radius: 6px; } .resources .cards .img-wrapper + h4 { margin-top: 24px; } @media (min-width: 1220px) { .resources .cards { margin-left: -40px; margin-right: -40px; } .resources .cards li { padding: 40px; } } .resources .resources__customer-logos { display: -ms-flexbox; display: flex; margin: 26px auto 0; padding: 0; -ms-flex-pack: justify; justify-content: space-between; max-width: 780px; width: 100%; } .resources .resources__customer-logos li { background: url("/img/enterprise/customer-logos.png"); background-size: 428px 46px; background-repeat: no-repeat; display: block; height: 46px; } @media (max-width: 768px) { .resources .resources__customer-logos { -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 460px; } .resources .resources__customer-logos li { margin: 20px; } } .resources .resources__customer-logos .mastercard { width: 58px; } .resources .resources__customer-logos .nationwide { background-position: -58px 0; width: 33px; } .resources .resources__customer-logos .uniqlo { background-position: -91px 0; width: 65px; } .resources .resources__customer-logos .ibm { background-position: -156px 0; width: 64px; } .resources .resources__customer-logos .ing { background-position: -222px 0; width: 103px; } .resources .resources__customer-logos .sap { background-position: -326px 0; width: 56px; } .resources .resources__customer-logos .nasa { background-position: -380px 0; width: 50px; } .banner { background: #fff; text-align: left; } .banner .container { position: relative; } .banner .ee-hero { max-width: 480px; } .banner .ee-hero h4, .banner .ee-hero h1, .banner .ee-hero p { position: relative; z-index: 2; } @media (max-width: 767px) { .ee-hero { padding-bottom: 80px; } } .solution-hero h4, .solution-hero h2, .solution-hero p, .solution-hero a { position: relative; z-index: 2; } .solution-hero::after { background-size: cover; position: absolute; z-index: 1; content: ''; display: block; } .solution-hero--cross-platform::after { background: url("/img/solutions/bg-cross-platform-header.svg"); width: 850px; height: 431px; right: calc(50% - 796px); top: 138px; } .solution-hero--design-system::after { background: url("/img/solutions/design-systems-banner.svg"); width: 755px; height: 593px; right: -72px; top: 74px; } .solution-hero--pwa::after { background: url("/img/enterprise/pwa.png"); width: 513px; height: 520px; background-size: 513px 520px; right: 50px; top: 74px; } .right .solution-hero--design-system::after { right: auto; left: -72px; } #sticky-bar { box-shadow: 0px 1px 0px #E9EDF3, 0px -1px 0px #E9EDF3; background: white; position: -webkit-sticky; position: sticky; top: 0; z-index: 1; } #sticky-bar ul { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; padding-top: 17px; padding-bottom: 17px; padding-left: 15px; -ms-flex-wrap: wrap; flex-wrap: wrap; } @media (max-width: 991px) { #sticky-bar ul { -ms-flex-pack: distribute; justify-content: space-around; } } #sticky-bar ul::before, #sticky-bar ul::after { display: none; } #sticky-bar li { list-style: none; } #sticky-bar li.active a:not(.btn) { color: #4a8bfc; } #sticky-bar a { padding: 10px 0; font-size: 14px; line-height: 22px; text-align: center; letter-spacing: 0.08em; text-transform: uppercase; display: block; } #sticky-bar a:hover, #sticky-bar a:active, #sticky-bar a:focus { background: transparent; text-decoration: none; } #sticky-bar a.btn { padding: 11px 14px 8px; margin-right: 3px; border-radius: 10px; color: white; font-weight: 600; } #sticky-bar a.btn:hover, #sticky-bar a.btn:active, #sticky-bar a.btn:focus { color: white; background: #317bfc; } #sticky-bar .anchor { color: #92A1B3; font-weight: 500; } #sticky-bar .anchor.active, #sticky-bar .anchor:hover { color: #4D8DFF; } main { letter-spacing: -0.028em; color: #2F3A48; } main h2 { font-size: 40px; line-height: 50px; letter-spacing: -0.03em; color: #020814; margin-bottom: 15px; } main h3 { color: #414D5C; font-weight: 600; margin-bottom: 4px; } main h3 + h2 { margin-top: 0; } main p { font-size: 20px; line-height: 31px; margin-bottom: 40px; } main ul { padding-left: 0; } main li { font-size: 16px; line-height: 23px; color: #1A232F; margin-bottom: 32px; position: relative; list-style: none; padding-left: 30px; letter-spacing: -.016em; } main li::before { content: url('data:image/svg+xml,\a \a \a '); position: absolute; left: 0; top: 1px; height: 15px; width: 15px; fill: #1A232F; display: block; } main section { display: -ms-flexbox; display: flex; position: relative; } main section.container::before, main section.container::after { display: none; } main section.right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; } main section.center { -ms-flex-pack: center; justify-content: center; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } main section.center .content { max-width: 798px; text-align: center; } main section.center .content ul { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; } @media (max-width: 991px) { main section.center .content ul { -ms-flex-pack: start; justify-content: flex-start; } } main section.center .content li { max-width: 376px; width: 100%; } main .content { max-width: 482px; margin: 232px 0 184px; } @media (max-width: 991px) { main .content { max-width: 100%; margin: 60px auto; } } main aside { background: #F6F8FB; padding-top: 114px; padding-bottom: 120px; } main aside p { color: #414D5C; } main aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } main .get-started { max-width: 700px; } main .cards { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } main .cards .card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } main .cards .card:last-child { margin-right: 0; } main .cards .card:nth-child(2) { background: #F88D8D; } main .cards .card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } main .cards h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } main .cards p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); } main .cards .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } main .cards .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { main .cards { -ms-flex-direction: column; flex-direction: column; } main .cards .card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; } } .resources { margin-top: 96px; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } #build-and-share .content::after { background: url("/img/solutions/components.png"); background-size: cover; width: 881px; height: 727px; position: absolute; right: calc(50% - 900px); top: 112px; content: ''; } @media (max-width: 991px) { #build-and-share { margin-bottom: 100px; } #build-and-share .content::after { width: 387px; height: 363px; top: auto; right: calc(100% - 870px); bottom: -95px; } } #one-design .content::after { background: url("/img/solutions/everywhere.png"); background-size: cover; width: 762px; height: 512px; position: absolute; left: -182px; top: 214px; content: ''; } @media (max-width: 1219px) { #one-design .content::after { width: 508px; height: 341px; left: -70px; top: 250px; } } @media (max-width: 991px) { #one-design .content { margin-bottom: 250px; } #one-design .content::after { width: 381px; height: 256px; left: calc(50% - 190px); bottom: 0; top: auto; } } #developer-adoption { border-bottom: 1px solid rgba(146, 161, 179, 0.3); position: relative; } #developer-adoption .content { margin-top: 222px; margin-bottom: 198px; position: static; } #developer-adoption .content::after { background: url("/img/solutions/design-system-dashboard.png"); background-size: cover; width: 942px; height: 742px; position: absolute; right: calc(50% - 899px); bottom: 0; content: ''; } @media (max-width: 1219px) { #developer-adoption .content::after { right: calc(50% - 950px); } } @media (max-width: 991px) { #developer-adoption .content { margin-top: 100px; margin-bottom: 180px; } #developer-adoption .content::after { right: calc(50% - 540px); width: 471px; height: 371px; } } @media (max-width: 767px) { #developer-adoption .content::after { right: calc(100% - 920px); } } @media (min-width: 1794px) { #developer-adoption .content::after { right: 0; } } #help .content { text-align: left; } #help h2, #help p { margin-right: 140px; margin-left: 140px; } @media (max-width: 991px) { #help h2, #help p { margin-right: 0; margin-left: 0; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QUNwQixtQkFBbUIsRUFBRTtFQUNyQjtJQUNFOztNQUVFLGdCQUFnQjtNQUNoQixlQUFlLEVBQUUsRUFBRSIsImZpbGUiOiJwYWdlcy9lbnRlcnByaXNlL3NvbHV0aW9ucy9kZXNpZ24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmVlLWhlcm8ge1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICBwYWRkaW5nLXRvcDogMTMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNjBweDsgfVxuICAuZWUtaGVybzo6YmVmb3JlLCAuZWUtaGVybzo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmVlLWhlcm8gaDEge1xuICAgIGZvbnQtc2l6ZTogNTJweDtcbiAgICBsaW5lLWhlaWdodDogNjJweDtcbiAgICBtYXgtd2lkdGg6IDkzMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIGNvbG9yOiAjMDIwODE0O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAuZWUtaGVybyBoNCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM5MkExQjM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjlweDsgfVxuICAuZWUtaGVybyBwIHtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtO1xuICAgIGNvbG9yOiByZ2JhKDM5LCA1MCwgNjMsIDAuOCk7IH1cbiAgLmVlLWhlcm8gLmJ0biB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE4cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJhY2tncm91bmQ6ICMzODgwRkY7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSgyLCA4LCAyMCwgMC4xKSwgMHB4IDFweCAycHggcmdiYSgyLCA4LCAyMCwgMC4wOCk7XG4gICAgYm9yZGVyLXJhZGl1czogMjEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmVlLWhlcm8gLmJ0bjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwid2hpdGVcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIj48cGF0aCBkPVwiTTg1IDI3Ny4zNzVoMjU5LjcwNEwyMjUuMDAyIDM5Ny4wNzcgMjU2IDQyN2wxNzEtMTcxTDI1NiA4NWwtMjkuOTIyIDI5LjkyNCAxMTguNjI2IDExOS43MDFIODV2NDIuNzV6XCIvPjwvc3ZnPicpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfVxuICAgIC5lZS1oZXJvIC5idG46aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRmOGJmNTsgfVxuICAuZWUtaGVyby0tbGFyZ2UgaDEge1xuICAgIGZvbnQtc2l6ZTogNjJweDtcbiAgICBsaW5lLWhlaWdodDogNjlweDsgfVxuICAuZWUtaGVyby0td2lkZSB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDsgfVxuICAuZWUtaGVyby0tY2VudGVyZWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmVlLWhlcm8ge1xuICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgLmVlLWhlcm8gaDEge1xuICAgICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OyB9XG4gICAgICAuZWUtaGVyby0tbGFyZ2UgaDEge1xuICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVlLWhlcm8gaDEge1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7IH1cbiAgICAuZWUtaGVyby0tbGFyZ2UgaDEge1xuICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH1cbiAgICAuZWUtaGVybyAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDsgfSB9XG5cbi5lZS1tYWluIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAuZWUtbWFpbiBzZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMDBweDsgfVxuICAuZWUtbWFpbiAubGVmdCxcbiAgLmVlLW1haW4gLnJpZ2h0LFxuICAuZWUtbWFpbiAuY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmVlLW1haW4gLmxlZnQ6OmJlZm9yZSwgLmVlLW1haW4gLmxlZnQ6OmFmdGVyLFxuICAgIC5lZS1tYWluIC5yaWdodDo6YmVmb3JlLFxuICAgIC5lZS1tYWluIC5yaWdodDo6YWZ0ZXIsXG4gICAgLmVlLW1haW4gLmNlbnRlcjo6YmVmb3JlLFxuICAgIC5lZS1tYWluIC5jZW50ZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmVlLW1haW4gLmxlZnQgLmNvbnRlbnQsXG4gIC5lZS1tYWluIC5yaWdodCAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0ODBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmVlLW1haW4gLmxlZnQgLmNvbnRlbnQsXG4gICAgICAuZWUtbWFpbiAucmlnaHQgLmNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuZWUtbWFpbiAubGVmdCAuY29udGVudCBsaSxcbiAgICAgICAgLmVlLW1haW4gLnJpZ2h0IC5jb250ZW50IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmVlLW1haW4gLmxlZnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAuZWUtbWFpbiAubGVmdCAuZ3JhcGhpY3Mge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmVlLW1haW4gLnJpZ2h0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAuZWUtbWFpbiAucmlnaHQgLmdyYXBoaWNzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuZWUtbWFpbiAuY2VudGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmVlLW1haW4gLmNlbnRlciAuY29udGVudCB7XG4gICAgICB3aWR0aDogODk0cHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmVlLW1haW4gLmZ1bGwgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNTY4cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmVlLW1haW4gLnJpZ2h0LFxuICAgIC5lZS1tYWluIC5sZWZ0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5lZS1tYWluIC5yaWdodCAuZ3JhcGhpY3MsXG4gICAgICAuZWUtbWFpbiAubGVmdCAuZ3JhcGhpY3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmVlLW1haW4gc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG4gIC5lZS1tYWluIC5ncmFwaGljcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5lZS1tYWluIC5ncmFwaGljcyBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmVlLW1haW4gaDIge1xuICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICBsaW5lLWhlaWdodDogNTFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTsgfVxuICAgIC5lZS1tYWluIGgyOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmVlLW1haW4gLmVlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM1QjcwOEI7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZWUtbWFpbiAuZWUtc2VjdGlvbl9fY3RhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAuZWUtbWFpbiBwIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMxcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6ICM1QjcwOEI7XG4gICAgbWFyZ2luLXRvcDogMThweDsgfVxuICAgIC5lZS1tYWluIHAuc20ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsgfVxuICAuZWUtbWFpbiB1bDpub3QoLmZyYW1ld29ya3MpIHtcbiAgICBtYXJnaW4tdG9wOiA1NHB4OyB9XG4gIC5lZS1tYWluIC5jb250ZW50IHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmVlLW1haW4gLmNvbnRlbnQgbGkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogIzFBMjMyRjtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5lZS1tYWluIC5jb250ZW50IGxpOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9lbnRlcnByaXNlL2NoZWNrLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA4cHg7IH1cbiAgLmVlLW1haW4gLmZlYXR1cmVzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiA2NHB4O1xuICAgIGdyaWQtcm93LWdhcDogMjRweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmVlLW1haW4gLmZlYXR1cmVzIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuZWUtbWFpbiAuZmVhdHVyZXMgLmljb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIHdpZHRoOiA0OHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgLmVlLW1haW4gLmZlYXR1cmVzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfVxuICAuZWUtbWFpbiAuY3RhLWNhcmQge1xuICAgIGJhY2tncm91bmQ6ICM0YThiZmM7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiA3MnB4IDcycHggNjBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5lZS1tYWluIC5jdGEtY2FyZCAuZWUtc2VjdGlvbl9fdGl0bGUsXG4gICAgLmVlLW1haW4gLmN0YS1jYXJkIHAge1xuICAgICAgY29sb3I6ICNDRUQ2RTA7IH1cblxuI2hvdy10byB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDE0MHB4OyB9XG4gICNob3ctdG86OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTQ2LCAxNjEsIDE3OSwgMC4zKTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2FyZHMtLXJlZC12LWJsdWUge1xuICBkaXNwbGF5OiBmbGV4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzhweDsgfVxuICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQge1xuICAgIGJhY2tncm91bmQ6ICM3Q0FCRkY7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDQwcHggNDBweCAzNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG4gICAgZmxleDogMCAxIDQ2MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDsgfVxuICAgIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZDpudGgtY2hpbGQoMikge1xuICAgICAgYmFja2dyb3VuZDogI0Y4OEQ4RDsgfVxuICAgICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOm50aC1jaGlsZCgyKSAuYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDQsIDg0LCA4NCwgMC41KTsgfVxuICAuY2FyZHMtLXJlZC12LWJsdWUgaDMge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZSBwIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIycHg7IH1cbiAgLmNhcmRzLS1yZWQtdi1ibHVlIC5idG4ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA5ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSg1NiwgMTI4LCAyNTUsIDAuNSk7IH1cbiAgICAuY2FyZHMtLXJlZC12LWJsdWUgLmJ0biBpb24taWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5jYXJkcy0tcmVkLXYtYmx1ZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkIHtcbiAgICAgICAgZmxleDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDQ2MHB4OyB9IH1cblxuYXNpZGUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjRjlGQUZCIDAlLCAjRkZGRkZGIDEwMCUpO1xuICBtYXJnaW4tdG9wOiAtNjBweDtcbiAgcGFkZGluZy10b3A6IDIwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgYXNpZGUgcCB7XG4gICAgY29sb3I6ICM0MTRENUM7IH1cbiAgYXNpZGUgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDMycHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5lZS1nZXQtc3RhcnRlZCB7XG4gIG1heC13aWR0aDogNzAwcHg7IH1cbiAgLmVlLWdldC1zdGFydGVkIGgzIHtcbiAgICBjb2xvcjogIzQxNEQ1QzsgfVxuXG4ucmVzb3VyY2VzIHtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7IH0gfVxuICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTI0cHg7IH1cbiAgLnJlc291cmNlcyBoZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGgzIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzFBMjMyRjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBoNCB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICMxQTIzMkY7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBoNSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgICAgY29sb3I6ICMzODgwRkY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaW9uLWljb24ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7IH1cbiAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDAgMCAzMy4zMyU7XG4gICAgcGFkZGluZzogMjRweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIC5pbWctd3JhcHBlciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgaDYge1xuICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjQjJCRUNEO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBoNCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgY29sb3I6ICMxQTIzMkY7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgcCB7XG4gICAgICBjb2xvcjogIzVCNzA4QjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTJweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIHBhZGRpbmc6IDEycHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIGg1IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZWUtbWFpbiAuZmVhdHVyZXMgbGkgcCxcbi5lZS1tYWluIC5jYXJkcyBsaSBwLFxuLnJlc291cmNlcyAuZmVhdHVyZXMgbGkgcCxcbi5yZXNvdXJjZXMgLmNhcmRzIGxpIHAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgY29sb3I6ICM3Mzg0OUE7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmVlLW1haW4gLmZlYXR1cmVzIGxpIGg0LFxuLmVlLW1haW4gLmNhcmRzIGxpIGg0LFxuLnJlc291cmNlcyAuZmVhdHVyZXMgbGkgaDQsXG4ucmVzb3VyY2VzIC5jYXJkcyBsaSBoNCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGNvbG9yOiAjMDIwODE0O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnJlc291cmNlcyAuY2FyZHMgLmltZy13cmFwcGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyAuaW1nLXdyYXBwZXIgKyBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC00MHB4OyB9XG4gICAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHg7IH0gfVxuXG4ucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAyNnB4IGF1dG8gMDtcbiAgcGFkZGluZzogMDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXgtd2lkdGg6IDc4MHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2VudGVycHJpc2UvY3VzdG9tZXItbG9nb3MucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDI4cHggNDZweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNDZweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWF4LXdpZHRoOiA0NjBweDsgfVxuICAgICAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyBsaSB7XG4gICAgICAgIG1hcmdpbjogMjBweDsgfSB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLm1hc3RlcmNhcmQge1xuICAgIHdpZHRoOiA1OHB4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLm5hdGlvbndpZGUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01OHB4IDA7XG4gICAgd2lkdGg6IDMzcHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAudW5pcWxvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTFweCAwO1xuICAgIHdpZHRoOiA2NXB4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLmlibSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NnB4IDA7XG4gICAgd2lkdGg6IDY0cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjIycHggMDtcbiAgICB3aWR0aDogMTAzcHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAuc2FwIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzI2cHggMDtcbiAgICB3aWR0aDogNTZweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5uYXNhIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzgwcHggMDtcbiAgICB3aWR0aDogNTBweDsgfVxuXG4uYmFubmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuYmFubmVyIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmFubmVyIC5lZS1oZXJvIHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4OyB9XG4gIC5iYW5uZXIgLmVlLWhlcm8gaDQsXG4gIC5iYW5uZXIgLmVlLWhlcm8gaDEsXG4gIC5iYW5uZXIgLmVlLWhlcm8gcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5lZS1oZXJvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDsgfSB9XG5cbi5zb2x1dGlvbi1oZXJvIGg0LFxuLnNvbHV0aW9uLWhlcm8gaDIsXG4uc29sdXRpb24taGVybyBwLFxuLnNvbHV0aW9uLWhlcm8gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuXG4uc29sdXRpb24taGVybzo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc29sdXRpb24taGVyby0tY3Jvc3MtcGxhdGZvcm06OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9zb2x1dGlvbnMvYmctY3Jvc3MtcGxhdGZvcm0taGVhZGVyLnN2Z1wiKTtcbiAgd2lkdGg6IDg1MHB4O1xuICBoZWlnaHQ6IDQzMXB4O1xuICByaWdodDogY2FsYyg1MCUgLSA3OTZweCk7XG4gIHRvcDogMTM4cHg7IH1cblxuLnNvbHV0aW9uLWhlcm8tLWRlc2lnbi1zeXN0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9zb2x1dGlvbnMvZGVzaWduLXN5c3RlbXMtYmFubmVyLnN2Z1wiKTtcbiAgd2lkdGg6IDc1NXB4O1xuICBoZWlnaHQ6IDU5M3B4O1xuICByaWdodDogLTcycHg7XG4gIHRvcDogNzRweDsgfVxuXG4uc29sdXRpb24taGVyby0tcHdhOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9wd2EucG5nXCIpO1xuICB3aWR0aDogNTEzcHg7XG4gIGhlaWdodDogNTIwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogNTEzcHggNTIwcHg7XG4gIHJpZ2h0OiA1MHB4O1xuICB0b3A6IDc0cHg7IH1cblxuLnJpZ2h0IC5zb2x1dGlvbi1oZXJvLS1kZXNpZ24tc3lzdGVtOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAtNzJweDsgfVxuXG4jc3RpY2t5LWJhciB7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMHB4ICNFOUVERjMsIDBweCAtMXB4IDBweCAjRTlFREYzO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxOyB9XG4gICNzdGlja3ktYmFyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLXRvcDogMTdweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTdweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjc3RpY2t5LWJhciB1bCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cbiAgICAjc3RpY2t5LWJhciB1bDo6YmVmb3JlLCAjc3RpY2t5LWJhciB1bDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAjc3RpY2t5LWJhciBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICNzdGlja3ktYmFyIGxpLmFjdGl2ZSBhOm5vdCguYnRuKSB7XG4gICAgICBjb2xvcjogIzRhOGJmYzsgfVxuICAjc3RpY2t5LWJhciBhIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAjc3RpY2t5LWJhciBhOmhvdmVyLCAjc3RpY2t5LWJhciBhOmFjdGl2ZSwgI3N0aWNreS1iYXIgYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICNzdGlja3ktYmFyIGEuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMTRweCA4cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAjc3RpY2t5LWJhciBhLmJ0bjpob3ZlciwgI3N0aWNreS1iYXIgYS5idG46YWN0aXZlLCAjc3RpY2t5LWJhciBhLmJ0bjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogIzMxN2JmYzsgfVxuICAjc3RpY2t5LWJhciAuYW5jaG9yIHtcbiAgICBjb2xvcjogIzkyQTFCMztcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgI3N0aWNreS1iYXIgLmFuY2hvci5hY3RpdmUsICNzdGlja3ktYmFyIC5hbmNob3I6aG92ZXIge1xuICAgICAgY29sb3I6ICM0RDhERkY7IH1cblxubWFpbiB7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMjhlbTtcbiAgY29sb3I6ICMyRjNBNDg7IH1cbiAgbWFpbiBoMiB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIGNvbG9yOiAjMDIwODE0O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgbWFpbiBoMyB7XG4gICAgY29sb3I6ICM0MTRENUM7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgICBtYWluIGgzICsgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICBtYWluIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIG1haW4gdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICBtYWluIGxpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgY29sb3I6ICMxQTIzMkY7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE2ZW07IH1cbiAgICBtYWluIGxpOjpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsXFxhICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCI+XFxhICAgICAgICAgICA8cGF0aCBkPVwiTTE4Ni4zMDEgMzM5Ljg5M0w5NiAyNDkuNDYxbC0zMiAzMC41MDdMMTg2LjMwMSA0MDIgNDQ4IDE0MC41MDYgNDE2IDExMHpcIi8+XFxhICAgICAgICAgPC9zdmc+Jyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGZpbGw6ICMxQTIzMkY7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICBtYWluIHNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgbWFpbiBzZWN0aW9uLmNvbnRhaW5lcjo6YmVmb3JlLCBtYWluIHNlY3Rpb24uY29udGFpbmVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgbWFpbiBzZWN0aW9uLnJpZ2h0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgIG1haW4gc2VjdGlvbi5jZW50ZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgbWFpbiBzZWN0aW9uLmNlbnRlciAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogNzk4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBtYWluIHNlY3Rpb24uY2VudGVyIC5jb250ZW50IHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgIG1haW4gc2VjdGlvbi5jZW50ZXIgLmNvbnRlbnQgdWwge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgICAgICBtYWluIHNlY3Rpb24uY2VudGVyIC5jb250ZW50IGxpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM3NnB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIG1haW4gLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDgycHg7XG4gICAgbWFyZ2luOiAyMzJweCAwIDE4NHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICBtYWluIC5jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDYwcHggYXV0bzsgfSB9XG4gIG1haW4gYXNpZGUge1xuICAgIGJhY2tncm91bmQ6ICNGNkY4RkI7XG4gICAgcGFkZGluZy10b3A6IDExNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICAgIG1haW4gYXNpZGUgcCB7XG4gICAgICBjb2xvcjogIzQxNEQ1QzsgfVxuICAgIG1haW4gYXNpZGUgLmNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiA0MzJweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgbWFpbiAuZ2V0LXN0YXJ0ZWQge1xuICAgIG1heC13aWR0aDogNzAwcHg7IH1cbiAgbWFpbiAuY2FyZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAzOHB4OyB9XG4gICAgbWFpbiAuY2FyZHMgLmNhcmQge1xuICAgICAgYmFja2dyb3VuZDogIzdDQUJGRjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIHBhZGRpbmc6IDQwcHggNDBweCAzNHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcbiAgICAgIGZsZXg6IDAgMSA0NjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsgfVxuICAgICAgbWFpbiAuY2FyZHMgLmNhcmQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgbWFpbiAuY2FyZHMgLmNhcmQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0Y4OEQ4RDsgfVxuICAgICAgICBtYWluIC5jYXJkcyAuY2FyZDpudGgtY2hpbGQoMikgLmJ0biB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDQsIDg0LCA4NCwgMC41KTsgfVxuICAgIG1haW4gLmNhcmRzIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICBtYWluIC5jYXJkcyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gICAgbWFpbiAuY2FyZHMgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wOWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU2LCAxMjgsIDI1NSwgMC41KTsgfVxuICAgICAgbWFpbiAuY2FyZHMgLmJ0biBpb24taWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIG1haW4gLmNhcmRzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICBtYWluIC5jYXJkcyAuY2FyZCB7XG4gICAgICAgICAgZmxleDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG5cbi5yZXNvdXJjZXMge1xuICBtYXJnaW4tdG9wOiA5NnB4OyB9XG5cbi5yZXNvdXJjZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjRweDsgfVxuICAucmVzb3VyY2VzIGhncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzFBMjMyRjsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBpb24taWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIDMzLjMzJTtcbiAgICBwYWRkaW5nOiAyNHB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgLmltZy13cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBoNiB7XG4gICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNCMkJFQ0Q7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBjb2xvcjogIzFBMjMyRjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBwIHtcbiAgICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgaDUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNidWlsZC1hbmQtc2hhcmUgLmNvbnRlbnQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9zb2x1dGlvbnMvY29tcG9uZW50cy5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHdpZHRoOiA4ODFweDtcbiAgaGVpZ2h0OiA3MjdweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogY2FsYyg1MCUgLSA5MDBweCk7XG4gIHRvcDogMTEycHg7XG4gIGNvbnRlbnQ6ICcnOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAjYnVpbGQtYW5kLXNoYXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuICAgICNidWlsZC1hbmQtc2hhcmUgLmNvbnRlbnQ6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiAzODdweDtcbiAgICAgIGhlaWdodDogMzYzcHg7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICByaWdodDogY2FsYygxMDAlIC0gODcwcHgpO1xuICAgICAgYm90dG9tOiAtOTVweDsgfSB9XG5cbiNvbmUtZGVzaWduIC5jb250ZW50OjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHVybChcIi9pbWcvc29sdXRpb25zL2V2ZXJ5d2hlcmUucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB3aWR0aDogNzYycHg7XG4gIGhlaWdodDogNTEycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTE4MnB4O1xuICB0b3A6IDIxNHB4O1xuICBjb250ZW50OiAnJzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgI29uZS1kZXNpZ24gLmNvbnRlbnQ6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiA1MDhweDtcbiAgICAgIGhlaWdodDogMzQxcHg7XG4gICAgICBsZWZ0OiAtNzBweDtcbiAgICAgIHRvcDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgI29uZS1kZXNpZ24gLmNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgI29uZS1kZXNpZ24gLmNvbnRlbnQ6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiAzODFweDtcbiAgICAgIGhlaWdodDogMjU2cHg7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE5MHB4KTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRvcDogYXV0bzsgfSB9XG5cbiNkZXZlbG9wZXItYWRvcHRpb24ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNDYsIDE2MSwgMTc5LCAwLjMpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI2RldmVsb3Blci1hZG9wdGlvbiAuY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMjIycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTk4cHg7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAgICNkZXZlbG9wZXItYWRvcHRpb24gLmNvbnRlbnQ6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvc29sdXRpb25zL2Rlc2lnbi1zeXN0ZW0tZGFzaGJvYXJkLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB3aWR0aDogOTQycHg7XG4gICAgICBoZWlnaHQ6IDc0MnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gODk5cHgpO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29udGVudDogJyc7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICAgI2RldmVsb3Blci1hZG9wdGlvbiAuY29udGVudDo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDk1MHB4KTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjZGV2ZWxvcGVyLWFkb3B0aW9uIC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4MHB4OyB9XG4gICAgICAgICNkZXZlbG9wZXItYWRvcHRpb24gLmNvbnRlbnQ6OmFmdGVyIHtcbiAgICAgICAgICByaWdodDogY2FsYyg1MCUgLSA1NDBweCk7XG4gICAgICAgICAgd2lkdGg6IDQ3MXB4O1xuICAgICAgICAgIGhlaWdodDogMzcxcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI2RldmVsb3Blci1hZG9wdGlvbiAuY29udGVudDo6YWZ0ZXIge1xuICAgICAgICByaWdodDogY2FsYygxMDAlIC0gOTIwcHgpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE3OTRweCkge1xuICAgICNkZXZlbG9wZXItYWRvcHRpb24gLmNvbnRlbnQ6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwOyB9IH1cblxuI2hlbHAgLmNvbnRlbnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbiNoZWxwIGgyLFxuI2hlbHAgcCB7XG4gIG1hcmdpbi1yaWdodDogMTQwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxNDBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjaGVscCBoMixcbiAgICAjaGVscCBwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/enterprise/solutions/index.css ================================================ .ee-hero { max-width: 640px; padding-top: 130px; padding-bottom: 160px; } .ee-hero::before, .ee-hero::after { display: none; } .ee-hero h1 { font-size: 52px; line-height: 62px; max-width: 930px; letter-spacing: -0.03em; color: #020814; margin-top: 0; margin-bottom: 16px; } .ee-hero h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 13px; line-height: 26px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; margin-bottom: 29px; } .ee-hero p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 24px; font-weight: 400; line-height: 36px; letter-spacing: -0.04em; color: rgba(39, 50, 63, 0.8); } .ee-hero .btn { padding-left: 24px; padding-right: 20px; padding-top: 18px; padding-bottom: 18px; font-size: 14px; margin-top: 16px; line-height: 20px; letter-spacing: 0.08em; color: white; text-transform: uppercase; font-weight: 700; background: #3880FF; box-shadow: 0px 2px 4px rgba(2, 8, 20, 0.1), 0px 1px 2px rgba(2, 8, 20, 0.08); border-radius: 210px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } .ee-hero .btn::after { background-image: url('data:image/svg+xml;utf8,'); background-size: 100%; content: ''; height: 20px; width: 20px; display: block; margin-left: 8px; -webkit-transform: translateY(-1px); transform: translateY(-1px); } .ee-hero .btn:hover { background-color: #4f8bf5; } .ee-hero--large h1 { font-size: 62px; line-height: 69px; } .ee-hero--wide { max-width: 960px; } .ee-hero--centered { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; text-align: center; margin-left: auto; margin-right: auto; } @media (max-width: 767px) { .ee-hero { padding-top: 70px; padding-bottom: 0; } .ee-hero h1 { font-size: 44px; line-height: 52px; } .ee-hero--large h1 { font-size: 50px; line-height: 60px; } } @media (max-width: 480px) { .ee-hero h1 { font-size: 36px; line-height: 44px; margin-bottom: 6px; } .ee-hero--large h1 { font-size: 42px; line-height: 52px; } .ee-hero .btn { margin-top: 8px; } } .ee-main { margin-top: 0; } .ee-main section { margin-bottom: 200px; } .ee-main .left, .ee-main .right, .ee-main .center { display: -ms-flexbox; display: flex; } .ee-main .left::before, .ee-main .left::after, .ee-main .right::before, .ee-main .right::after, .ee-main .center::before, .ee-main .center::after { display: none; } .ee-main .left .content, .ee-main .right .content { max-width: 480px; } @media (max-width: 767px) { .ee-main .left .content, .ee-main .right .content { max-width: 100%; text-align: center; } .ee-main .left .content li, .ee-main .right .content li { text-align: left; } } .ee-main .left { -ms-flex-direction: row; flex-direction: row; } .ee-main .left .graphics { margin-left: auto; } .ee-main .right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; margin-left: auto; } .ee-main .right .graphics { margin-right: auto; } .ee-main .center { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; } .ee-main .center .content { width: 894px; max-width: 100%; } .ee-main .full .content { max-width: 568px; } @media (max-width: 767px) { .ee-main .right, .ee-main .left { -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-align: center; align-items: center; } .ee-main .right .graphics, .ee-main .left .graphics { margin-bottom: 24px; margin-left: 0; margin-right: 0; } .ee-main section { margin-bottom: 100px; } } .ee-main .graphics { -ms-flex-pack: end; justify-content: flex-end; } .ee-main .graphics img { width: 100%; } .ee-main h2 { font-size: 44px; line-height: 51px; letter-spacing: -0.03em; } .ee-main h2:first-child { margin-top: 0; } .ee-main .ee-section__title { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: bold; font-size: 12px; line-height: 23px; letter-spacing: 0.14em; text-transform: uppercase; color: #5B708B; margin-top: 0; } .ee-main .ee-section__cta { display: inline-block; font-size: 18px; font-weight: 500; margin-top: 16px; } .ee-main p { font-size: 20px; line-height: 31px; letter-spacing: -0.02em; color: #5B708B; margin-top: 18px; } .ee-main p.sm { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; } .ee-main ul:not(.frameworks) { margin-top: 54px; } .ee-main .content ul { padding-left: 0; } .ee-main .content li { font-size: 16px; line-height: 23px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 40px; padding-left: 30px; list-style: none; position: relative; } .ee-main .content li::before { background-image: url("/img/enterprise/check.svg"); background-size: 100%; content: ''; height: 10px; width: 13px; position: absolute; left: 0; top: 8px; } .ee-main .features { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 64px; grid-row-gap: 24px; padding: 0; } .ee-main .features li { list-style: none; } .ee-main .features .icon { margin-bottom: 16px; width: 48px; } @media (max-width: 991px) { .ee-main .features { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; } } @media (max-width: 500px) { .ee-main .features { -ms-grid-columns: 1fr; grid-template-columns: 1fr; } } .ee-main .cta-card { background: #4a8bfc; border-radius: 12px; padding: 72px 72px 60px; background-size: cover; color: white; } .ee-main .cta-card .ee-section__title, .ee-main .cta-card p { color: #CED6E0; } #how-to { margin-bottom: 0; position: relative; padding-top: 140px; } #how-to::before { position: absolute; top: 0; width: 100vw; border-top: 1px solid rgba(146, 161, 179, 0.3); content: ''; display: block; } .cards--red-v-blue { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } .cards--red-v-blue__card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } .cards--red-v-blue__card:last-child { margin-right: 0; } .cards--red-v-blue__card:nth-child(2) { background: #F88D8D; } .cards--red-v-blue__card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } .cards--red-v-blue h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } .cards--red-v-blue p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); margin-top: 0; margin-bottom: 22px; } .cards--red-v-blue .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } .cards--red-v-blue .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { .cards--red-v-blue { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } .cards--red-v-blue__card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; max-width: 460px; } } aside { background: linear-gradient(180deg, #F9FAFB 0%, #FFFFFF 100%); margin-top: -60px; padding-top: 200px; padding-bottom: 120px; } aside p { color: #414D5C; } aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } .ee-get-started { max-width: 700px; } .ee-get-started h3 { color: #414D5C; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .ee-main .features li p, .ee-main .cards li p, .resources .features li p, .resources .cards li p { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; color: #73849A; margin-top: 0; } .ee-main .features li h4, .ee-main .cards li h4, .resources .features li h4, .resources .cards li h4 { font-size: 20px; line-height: normal; letter-spacing: -0.02em; color: #020814; font-weight: 600; } .resources .cards { margin-top: 0 !important; text-align: left; -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards .img-wrapper { border-radius: 6px; } .resources .cards .img-wrapper + h4 { margin-top: 24px; } @media (min-width: 1220px) { .resources .cards { margin-left: -40px; margin-right: -40px; } .resources .cards li { padding: 40px; } } .resources .resources__customer-logos { display: -ms-flexbox; display: flex; margin: 26px auto 0; padding: 0; -ms-flex-pack: justify; justify-content: space-between; max-width: 780px; width: 100%; } .resources .resources__customer-logos li { background: url("/img/enterprise/customer-logos.png"); background-size: 428px 46px; background-repeat: no-repeat; display: block; height: 46px; } @media (max-width: 768px) { .resources .resources__customer-logos { -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 460px; } .resources .resources__customer-logos li { margin: 20px; } } .resources .resources__customer-logos .mastercard { width: 58px; } .resources .resources__customer-logos .nationwide { background-position: -58px 0; width: 33px; } .resources .resources__customer-logos .uniqlo { background-position: -91px 0; width: 65px; } .resources .resources__customer-logos .ibm { background-position: -156px 0; width: 64px; } .resources .resources__customer-logos .ing { background-position: -222px 0; width: 103px; } .resources .resources__customer-logos .sap { background-position: -326px 0; width: 56px; } .resources .resources__customer-logos .nasa { background-position: -380px 0; width: 50px; } .banner { background: #fff; text-align: left; } .banner .container { position: relative; } .banner .ee-hero { max-width: 480px; } .banner .ee-hero h4, .banner .ee-hero h1, .banner .ee-hero p { position: relative; z-index: 2; } @media (max-width: 767px) { .ee-hero { padding-bottom: 80px; } } .solution-hero h4, .solution-hero h2, .solution-hero p, .solution-hero a { position: relative; z-index: 2; } .solution-hero::after { background-size: cover; position: absolute; z-index: 1; content: ''; display: block; } .solution-hero--cross-platform::after { background: url("/img/solutions/bg-cross-platform-header.svg"); width: 850px; height: 431px; right: calc(50% - 796px); top: 138px; } .solution-hero--design-system::after { background: url("/img/solutions/design-systems-banner.svg"); width: 755px; height: 593px; right: -72px; top: 74px; } .solution-hero--pwa::after { background: url("/img/enterprise/pwa.png"); width: 513px; height: 520px; background-size: 513px 520px; right: 50px; top: 74px; } .right .solution-hero--design-system::after { right: auto; left: -72px; } #sticky-bar { box-shadow: 0px 1px 0px #E9EDF3, 0px -1px 0px #E9EDF3; background: white; position: -webkit-sticky; position: sticky; top: 0; z-index: 1; } #sticky-bar ul { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; padding-top: 17px; padding-bottom: 17px; padding-left: 15px; -ms-flex-wrap: wrap; flex-wrap: wrap; } @media (max-width: 991px) { #sticky-bar ul { -ms-flex-pack: distribute; justify-content: space-around; } } #sticky-bar ul::before, #sticky-bar ul::after { display: none; } #sticky-bar li { list-style: none; } #sticky-bar li.active a:not(.btn) { color: #4a8bfc; } #sticky-bar a { padding: 10px 0; font-size: 14px; line-height: 22px; text-align: center; letter-spacing: 0.08em; text-transform: uppercase; display: block; } #sticky-bar a:hover, #sticky-bar a:active, #sticky-bar a:focus { background: transparent; text-decoration: none; } #sticky-bar a.btn { padding: 11px 14px 8px; margin-right: 3px; border-radius: 10px; color: white; font-weight: 600; } #sticky-bar a.btn:hover, #sticky-bar a.btn:active, #sticky-bar a.btn:focus { color: white; background: #317bfc; } #sticky-bar .anchor { color: #92A1B3; font-weight: 500; } #sticky-bar .anchor.active, #sticky-bar .anchor:hover { color: #4D8DFF; } main { letter-spacing: -0.028em; color: #2F3A48; } main h2 { font-size: 40px; line-height: 50px; letter-spacing: -0.03em; color: #020814; margin-bottom: 15px; } main h3 { color: #414D5C; font-weight: 600; margin-bottom: 4px; } main h3 + h2 { margin-top: 0; } main p { font-size: 20px; line-height: 31px; margin-bottom: 40px; } main ul { padding-left: 0; } main li { font-size: 16px; line-height: 23px; color: #1A232F; margin-bottom: 32px; position: relative; list-style: none; padding-left: 30px; letter-spacing: -.016em; } main li::before { content: url('data:image/svg+xml,\a \a \a '); position: absolute; left: 0; top: 1px; height: 15px; width: 15px; fill: #1A232F; display: block; } main section { display: -ms-flexbox; display: flex; position: relative; } main section.container::before, main section.container::after { display: none; } main section.right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; } main section.center { -ms-flex-pack: center; justify-content: center; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } main section.center .content { max-width: 798px; text-align: center; } main section.center .content ul { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; } @media (max-width: 991px) { main section.center .content ul { -ms-flex-pack: start; justify-content: flex-start; } } main section.center .content li { max-width: 376px; width: 100%; } main .content { max-width: 482px; margin: 232px 0 184px; } @media (max-width: 991px) { main .content { max-width: 100%; margin: 60px auto; } } main aside { background: #F6F8FB; padding-top: 114px; padding-bottom: 120px; } main aside p { color: #414D5C; } main aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } main .get-started { max-width: 700px; } main .cards { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } main .cards .card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } main .cards .card:last-child { margin-right: 0; } main .cards .card:nth-child(2) { background: #F88D8D; } main .cards .card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } main .cards h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } main .cards p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); } main .cards .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } main .cards .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { main .cards { -ms-flex-direction: column; flex-direction: column; } main .cards .card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; } } .resources { margin-top: 96px; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .ee-hero { padding-bottom: 0; } .ee-main section { margin-bottom: 80px; } main { margin-bottom: 180px; } main .content { margin: 163px 0 184px; } main p { margin-bottom: 0; } @media (max-width: 767px) { main .content { margin: 80px 0 0; } .solution-hero::after { display: none; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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Q0UsY0FBYyxFQUFFLEVBQUU7O0FBRXhCO0VBQ0Usa0JBQWtCLEVBQUU7O0FBRXRCO0VBQ0Usb0JBQW9CLEVBQUU7O0FBRXhCO0VBQ0UscUJBQXFCLEVBQUU7RUFDdkI7SUFDRSxzQkFBc0IsRUFBRTtFQUMxQjtJQUNFLGlCQUFpQixFQUFFOztBQUV2QjtFQUNFO0lBQ0UsaUJBQWlCLEVBQUU7RUFDckI7SUFDRSxjQUFjLEVBQUUsRUFBRSIsImZpbGUiOiJwYWdlcy9lbnRlcnByaXNlL3NvbHV0aW9ucy9pbmRleC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZWUtaGVybyB7XG4gIG1heC13aWR0aDogNjQwcHg7XG4gIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDE2MHB4OyB9XG4gIC5lZS1oZXJvOjpiZWZvcmUsIC5lZS1oZXJvOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZWUtaGVybyBoMSB7XG4gICAgZm9udC1zaXplOiA1MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xuICAgIG1heC13aWR0aDogOTMwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIC5lZS1oZXJvIGg0IHtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzkyQTFCMztcbiAgICBtYXJnaW4tYm90dG9tOiAyOXB4OyB9XG4gIC5lZS1oZXJvIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG4gICAgY29sb3I6IHJnYmEoMzksIDUwLCA2MywgMC44KTsgfVxuICAuZWUtaGVybyAuYnRuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogIzM4ODBGRjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKDIsIDgsIDIwLCAwLjEpLCAwcHggMXB4IDJweCByZ2JhKDIsIDgsIDIwLCAwLjA4KTtcbiAgICBib3JkZXItcmFkaXVzOiAyMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZWUtaGVybyAuYnRuOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJ3aGl0ZVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiPjxwYXRoIGQ9XCJNODUgMjc3LjM3NWgyNTkuNzA0TDIyNS4wMDIgMzk3LjA3NyAyNTYgNDI3bDE3MS0xNzFMMjU2IDg1bC0yOS45MjIgMjkuOTI0IDExOC42MjYgMTE5LjcwMUg4NXY0Mi43NXpcIi8+PC9zdmc+Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9XG4gICAgLmVlLWhlcm8gLmJ0bjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY4YmY1OyB9XG4gIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgZm9udC1zaXplOiA2MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2OXB4OyB9XG4gIC5lZS1oZXJvLS13aWRlIHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4OyB9XG4gIC5lZS1oZXJvLS1jZW50ZXJlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZWUtaGVybyB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAuZWUtaGVybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH1cbiAgICAgIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuZWUtaGVybyBoMSB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDsgfVxuICAgIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDsgfVxuICAgIC5lZS1oZXJvIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cblxuLmVlLW1haW4ge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIHNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4OyB9XG4gIC5lZS1tYWluIC5sZWZ0LFxuICAuZWUtbWFpbiAucmlnaHQsXG4gIC5lZS1tYWluIC5jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZWUtbWFpbiAubGVmdDo6YmVmb3JlLCAuZWUtbWFpbiAubGVmdDo6YWZ0ZXIsXG4gICAgLmVlLW1haW4gLnJpZ2h0OjpiZWZvcmUsXG4gICAgLmVlLW1haW4gLnJpZ2h0OjphZnRlcixcbiAgICAuZWUtbWFpbiAuY2VudGVyOjpiZWZvcmUsXG4gICAgLmVlLW1haW4gLmNlbnRlcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZWUtbWFpbiAubGVmdCAuY29udGVudCxcbiAgLmVlLW1haW4gLnJpZ2h0IC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuZWUtbWFpbiAubGVmdCAuY29udGVudCxcbiAgICAgIC5lZS1tYWluIC5yaWdodCAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5lZS1tYWluIC5sZWZ0IC5jb250ZW50IGxpLFxuICAgICAgICAuZWUtbWFpbiAucmlnaHQgLmNvbnRlbnQgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuZWUtbWFpbiAubGVmdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5lZS1tYWluIC5sZWZ0IC5ncmFwaGljcyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuZWUtbWFpbiAucmlnaHQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5lZS1tYWluIC5yaWdodCAuZ3JhcGhpY3Mge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5lZS1tYWluIC5jZW50ZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZWUtbWFpbiAuY2VudGVyIC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiA4OTRweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuZWUtbWFpbiAuZnVsbCAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA1NjhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZWUtbWFpbiAucmlnaHQsXG4gICAgLmVlLW1haW4gLmxlZnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmVlLW1haW4gLnJpZ2h0IC5ncmFwaGljcyxcbiAgICAgIC5lZS1tYWluIC5sZWZ0IC5ncmFwaGljcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuZWUtbWFpbiBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9IH1cbiAgLmVlLW1haW4gLmdyYXBoaWNzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmVlLW1haW4gLmdyYXBoaWNzIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuZWUtbWFpbiBoMiB7XG4gICAgZm9udC1zaXplOiA0NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtOyB9XG4gICAgLmVlLW1haW4gaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZWUtbWFpbiAuZWUtc2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzVCNzA4QjtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIC5lZS1zZWN0aW9uX19jdGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIC5lZS1tYWluIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogIzVCNzA4QjtcbiAgICBtYXJnaW4tdG9wOiAxOHB4OyB9XG4gICAgLmVlLW1haW4gcC5zbSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG4gIC5lZS1tYWluIHVsOm5vdCguZnJhbWV3b3Jrcykge1xuICAgIG1hcmdpbi10b3A6IDU0cHg7IH1cbiAgLmVlLW1haW4gLmNvbnRlbnQgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZWUtbWFpbiAuY29udGVudCBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmVlLW1haW4gLmNvbnRlbnQgbGk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2VudGVycHJpc2UvY2hlY2suc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB3aWR0aDogMTNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDhweDsgfVxuICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICBncmlkLWNvbHVtbi1nYXA6IDY0cHg7XG4gICAgZ3JpZC1yb3ctZ2FwOiAyNHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZWUtbWFpbiAuZmVhdHVyZXMgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5lZS1tYWluIC5mZWF0dXJlcyAuaWNvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgd2lkdGg6IDQ4cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5lZS1tYWluIC5mZWF0dXJlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG4gIC5lZS1tYWluIC5jdGEtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogIzRhOGJmYztcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDcycHggNzJweCA2MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmVlLW1haW4gLmN0YS1jYXJkIC5lZS1zZWN0aW9uX190aXRsZSxcbiAgICAuZWUtbWFpbiAuY3RhLWNhcmQgcCB7XG4gICAgICBjb2xvcjogI0NFRDZFMDsgfVxuXG4jaG93LXRvIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTQwcHg7IH1cbiAgI2hvdy10bzo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNDYsIDE2MSwgMTc5LCAwLjMpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jYXJkcy0tcmVkLXYtYmx1ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAzOHB4OyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogIzdDQUJGRjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogNDBweCA0MHB4IDM0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogMjRweDtcbiAgICBmbGV4OiAwIDEgNDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjg4RDhEOyB9XG4gICAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQ6bnRoLWNoaWxkKDIpIC5idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NCwgODQsIDg0LCAwLjUpOyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZSBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhcmRzLS1yZWQtdi1ibHVlIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuICAuY2FyZHMtLXJlZC12LWJsdWUgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDllbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDU2LCAxMjgsIDI1NSwgMC41KTsgfVxuICAgIC5jYXJkcy0tcmVkLXYtYmx1ZSAuYnRuIGlvbi1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQge1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7IH0gfVxuXG5hc2lkZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGOUZBRkIgMCUsICNGRkZGRkYgMTAwJSk7XG4gIG1hcmdpbi10b3A6IC02MHB4O1xuICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBhc2lkZSBwIHtcbiAgICBjb2xvcjogIzQxNEQ1QzsgfVxuICBhc2lkZSAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0MzJweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmVlLWdldC1zdGFydGVkIHtcbiAgbWF4LXdpZHRoOiA3MDBweDsgfVxuICAuZWUtZ2V0LXN0YXJ0ZWQgaDMge1xuICAgIGNvbG9yOiAjNDE0RDVDOyB9XG5cbi5yZXNvdXJjZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjRweDsgfVxuICAucmVzb3VyY2VzIGhncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzFBMjMyRjsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBpb24taWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIDMzLjMzJTtcbiAgICBwYWRkaW5nOiAyNHB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgLmltZy13cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBoNiB7XG4gICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNCMkJFQ0Q7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBjb2xvcjogIzFBMjMyRjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBwIHtcbiAgICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgaDUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5lZS1tYWluIC5mZWF0dXJlcyBsaSBwLFxuLmVlLW1haW4gLmNhcmRzIGxpIHAsXG4ucmVzb3VyY2VzIC5mZWF0dXJlcyBsaSBwLFxuLnJlc291cmNlcyAuY2FyZHMgbGkgcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBjb2xvcjogIzczODQ5QTtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZWUtbWFpbiAuZmVhdHVyZXMgbGkgaDQsXG4uZWUtbWFpbiAuY2FyZHMgbGkgaDQsXG4ucmVzb3VyY2VzIC5mZWF0dXJlcyBsaSBoNCxcbi5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgY29sb3I6ICMwMjA4MTQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnJlc291cmNlcyAuY2FyZHMge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyAuaW1nLXdyYXBwZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIC5pbWctd3JhcHBlciArIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTQwcHg7IH1cbiAgICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgICAgcGFkZGluZzogNDBweDsgfSB9XG5cbi5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDI2cHggYXV0byAwO1xuICBwYWRkaW5nOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1heC13aWR0aDogNzgwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgbGkge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9jdXN0b21lci1sb2dvcy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MjhweCA0NnB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0NnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3Mge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXgtd2lkdGg6IDQ2MHB4OyB9XG4gICAgICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIGxpIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4OyB9IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubWFzdGVyY2FyZCB7XG4gICAgd2lkdGg6IDU4cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubmF0aW9ud2lkZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU4cHggMDtcbiAgICB3aWR0aDogMzNweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC51bmlxbG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05MXB4IDA7XG4gICAgd2lkdGg6IDY1cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAuaWJtIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU2cHggMDtcbiAgICB3aWR0aDogNjRweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5pbmcge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjJweCAwO1xuICAgIHdpZHRoOiAxMDNweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5zYXAge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjZweCAwO1xuICAgIHdpZHRoOiA1NnB4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLm5hc2Ege1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zODBweCAwO1xuICAgIHdpZHRoOiA1MHB4OyB9XG5cbi5iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5iYW5uZXIgLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5iYW5uZXIgLmVlLWhlcm8ge1xuICAgIG1heC13aWR0aDogNDgwcHg7IH1cbiAgLmJhbm5lciAuZWUtaGVybyBoNCxcbiAgLmJhbm5lciAuZWUtaGVybyBoMSxcbiAgLmJhbm5lciAuZWUtaGVybyBwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmVlLWhlcm8ge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9IH1cblxuLnNvbHV0aW9uLWhlcm8gaDQsXG4uc29sdXRpb24taGVybyBoMixcbi5zb2x1dGlvbi1oZXJvIHAsXG4uc29sdXRpb24taGVybyBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG5cbi5zb2x1dGlvbi1oZXJvOjphZnRlciB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zb2x1dGlvbi1oZXJvLS1jcm9zcy1wbGF0Zm9ybTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3NvbHV0aW9ucy9iZy1jcm9zcy1wbGF0Zm9ybS1oZWFkZXIuc3ZnXCIpO1xuICB3aWR0aDogODUwcHg7XG4gIGhlaWdodDogNDMxcHg7XG4gIHJpZ2h0OiBjYWxjKDUwJSAtIDc5NnB4KTtcbiAgdG9wOiAxMzhweDsgfVxuXG4uc29sdXRpb24taGVyby0tZGVzaWduLXN5c3RlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3NvbHV0aW9ucy9kZXNpZ24tc3lzdGVtcy1iYW5uZXIuc3ZnXCIpO1xuICB3aWR0aDogNzU1cHg7XG4gIGhlaWdodDogNTkzcHg7XG4gIHJpZ2h0OiAtNzJweDtcbiAgdG9wOiA3NHB4OyB9XG5cbi5zb2x1dGlvbi1oZXJvLS1wd2E6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9lbnRlcnByaXNlL3B3YS5wbmdcIik7XG4gIHdpZHRoOiA1MTNweDtcbiAgaGVpZ2h0OiA1MjBweDtcbiAgYmFja2dyb3VuZC1zaXplOiA1MTNweCA1MjBweDtcbiAgcmlnaHQ6IDUwcHg7XG4gIHRvcDogNzRweDsgfVxuXG4ucmlnaHQgLnNvbHV0aW9uLWhlcm8tLWRlc2lnbi1zeXN0ZW06OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IC03MnB4OyB9XG5cbiNzdGlja3ktYmFyIHtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAwcHggI0U5RURGMywgMHB4IC0xcHggMHB4ICNFOUVERjM7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDE7IH1cbiAgI3N0aWNreS1iYXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctdG9wOiAxN3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxN3B4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNzdGlja3ktYmFyIHVsIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH0gfVxuICAgICNzdGlja3ktYmFyIHVsOjpiZWZvcmUsICNzdGlja3ktYmFyIHVsOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICNzdGlja3ktYmFyIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI3N0aWNreS1iYXIgbGkuYWN0aXZlIGE6bm90KC5idG4pIHtcbiAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICNzdGlja3ktYmFyIGEge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNzdGlja3ktYmFyIGE6aG92ZXIsICNzdGlja3ktYmFyIGE6YWN0aXZlLCAjc3RpY2t5LWJhciBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgI3N0aWNreS1iYXIgYS5idG4ge1xuICAgICAgcGFkZGluZzogMTFweCAxNHB4IDhweDtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICNzdGlja3ktYmFyIGEuYnRuOmhvdmVyLCAjc3RpY2t5LWJhciBhLmJ0bjphY3RpdmUsICNzdGlja3ktYmFyIGEuYnRuOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzE3YmZjOyB9XG4gICNzdGlja3ktYmFyIC5hbmNob3Ige1xuICAgIGNvbG9yOiAjOTJBMUIzO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAjc3RpY2t5LWJhciAuYW5jaG9yLmFjdGl2ZSwgI3N0aWNreS1iYXIgLmFuY2hvcjpob3ZlciB7XG4gICAgICBjb2xvcjogIzREOERGRjsgfVxuXG5tYWluIHtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyOGVtO1xuICBjb2xvcjogIzJGM0E0ODsgfVxuICBtYWluIGgyIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBtYWluIGgzIHtcbiAgICBjb2xvcjogIzQxNEQ1QztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgIG1haW4gaDMgKyBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIG1haW4gcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgbWFpbiB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIG1haW4gbGkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICBjb2xvcjogIzFBMjMyRjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMTZlbTsgfVxuICAgIG1haW4gbGk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCxcXGEgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIj5cXGEgICAgICAgICAgIDxwYXRoIGQ9XCJNMTg2LjMwMSAzMzkuODkzTDk2IDI0OS40NjFsLTMyIDMwLjUwN0wxODYuMzAxIDQwMiA0NDggMTQwLjUwNiA0MTYgMTEwelwiLz5cXGEgICAgICAgICA8L3N2Zz4nKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgZmlsbDogIzFBMjMyRjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIG1haW4gc2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBtYWluIHNlY3Rpb24uY29udGFpbmVyOjpiZWZvcmUsIG1haW4gc2VjdGlvbi5jb250YWluZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBtYWluIHNlY3Rpb24ucmlnaHQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgbWFpbiBzZWN0aW9uLmNlbnRlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICBtYWluIHNlY3Rpb24uY2VudGVyIC5jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA3OThweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIG1haW4gc2VjdGlvbi5jZW50ZXIgLmNvbnRlbnQgdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgbWFpbiBzZWN0aW9uLmNlbnRlciAuY29udGVudCB1bCB7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gICAgICAgIG1haW4gc2VjdGlvbi5jZW50ZXIgLmNvbnRlbnQgbGkge1xuICAgICAgICAgIG1heC13aWR0aDogMzc2cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgbWFpbiAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0ODJweDtcbiAgICBtYXJnaW46IDIzMnB4IDAgMTg0cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIG1haW4gLmNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogNjBweCBhdXRvOyB9IH1cbiAgbWFpbiBhc2lkZSB7XG4gICAgYmFja2dyb3VuZDogI0Y2RjhGQjtcbiAgICBwYWRkaW5nLXRvcDogMTE0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9XG4gICAgbWFpbiBhc2lkZSBwIHtcbiAgICAgIGNvbG9yOiAjNDE0RDVDOyB9XG4gICAgbWFpbiBhc2lkZSAuY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDQzMnB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICBtYWluIC5nZXQtc3RhcnRlZCB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDsgfVxuICBtYWluIC5jYXJkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDM4cHg7IH1cbiAgICBtYWluIC5jYXJkcyAuY2FyZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjN0NBQkZGO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgcGFkZGluZzogNDBweCA0MHB4IDM0cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuICAgICAgZmxleDogMCAxIDQ2MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gICAgICBtYWluIC5jYXJkcyAuY2FyZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICBtYWluIC5jYXJkcyAuY2FyZDpudGgtY2hpbGQoMikge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjg4RDhEOyB9XG4gICAgICAgIG1haW4gLmNhcmRzIC5jYXJkOm50aC1jaGlsZCgyKSAuYnRuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NCwgODQsIDg0LCAwLjUpOyB9XG4gICAgbWFpbiAuY2FyZHMgaDMge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIG1haW4gLmNhcmRzIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgICBtYWluIC5jYXJkcyAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA5ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcGFkZGluZzogMTBweCAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTYsIDEyOCwgMjU1LCAwLjUpOyB9XG4gICAgICBtYWluIC5jYXJkcyAuYnRuIGlvbi1pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgbWFpbiAuY2FyZHMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIG1haW4gLmNhcmRzIC5jYXJkIHtcbiAgICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cblxuLnJlc291cmNlcyB7XG4gIG1hcmdpbi10b3A6IDk2cHg7IH1cblxuLnJlc291cmNlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucmVzb3VyY2VzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cbiAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4OyB9XG4gIC5yZXNvdXJjZXMgaGdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBoMyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICMxQTIzMkY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDQge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgIGNvbG9yOiAjMzg4MEZGO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGlvbi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOyB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAwIDAgMzMuMzMlO1xuICAgIHBhZGRpbmc6IDI0cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSAuaW1nLXdyYXBwZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg2IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI0IyQkVDRDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHAge1xuICAgICAgY29sb3I6ICM1QjcwOEI7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEycHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBwYWRkaW5nOiAxMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgLnJlc291cmNlcyBoNSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmVlLWhlcm8ge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uZWUtbWFpbiBzZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDsgfVxuXG5tYWluIHtcbiAgbWFyZ2luLWJvdHRvbTogMTgwcHg7IH1cbiAgbWFpbiAuY29udGVudCB7XG4gICAgbWFyZ2luOiAxNjNweCAwIDE4NHB4OyB9XG4gIG1haW4gcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgbWFpbiAuY29udGVudCB7XG4gICAgbWFyZ2luOiA4MHB4IDAgMDsgfVxuICAuc29sdXRpb24taGVybzo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuIl19 */ ================================================ FILE: content/css/pages/enterprise/solutions/toolkit.css ================================================ .ee-hero { max-width: 640px; padding-top: 130px; padding-bottom: 160px; } .ee-hero::before, .ee-hero::after { display: none; } .ee-hero h1 { font-size: 52px; line-height: 62px; max-width: 930px; letter-spacing: -0.03em; color: #020814; margin-top: 0; margin-bottom: 16px; } .ee-hero h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 13px; line-height: 26px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; margin-bottom: 29px; } .ee-hero p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 24px; font-weight: 400; line-height: 36px; letter-spacing: -0.04em; color: rgba(39, 50, 63, 0.8); } .ee-hero .btn { padding-left: 24px; padding-right: 20px; padding-top: 18px; padding-bottom: 18px; font-size: 14px; margin-top: 16px; line-height: 20px; letter-spacing: 0.08em; color: white; text-transform: uppercase; font-weight: 700; background: #3880FF; box-shadow: 0px 2px 4px rgba(2, 8, 20, 0.1), 0px 1px 2px rgba(2, 8, 20, 0.08); border-radius: 210px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } .ee-hero .btn::after { background-image: url('data:image/svg+xml;utf8,'); background-size: 100%; content: ''; height: 20px; width: 20px; display: block; margin-left: 8px; -webkit-transform: translateY(-1px); transform: translateY(-1px); } .ee-hero .btn:hover { background-color: #4f8bf5; } .ee-hero--large h1 { font-size: 62px; line-height: 69px; } .ee-hero--wide { max-width: 960px; } .ee-hero--centered { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; text-align: center; margin-left: auto; margin-right: auto; } @media (max-width: 767px) { .ee-hero { padding-top: 70px; padding-bottom: 0; } .ee-hero h1 { font-size: 44px; line-height: 52px; } .ee-hero--large h1 { font-size: 50px; line-height: 60px; } } @media (max-width: 480px) { .ee-hero h1 { font-size: 36px; line-height: 44px; margin-bottom: 6px; } .ee-hero--large h1 { font-size: 42px; line-height: 52px; } .ee-hero .btn { margin-top: 8px; } } .ee-main { margin-top: 0; } .ee-main section { margin-bottom: 200px; } .ee-main .left, .ee-main .right, .ee-main .center { display: -ms-flexbox; display: flex; } .ee-main .left::before, .ee-main .left::after, .ee-main .right::before, .ee-main .right::after, .ee-main .center::before, .ee-main .center::after { display: none; } .ee-main .left .content, .ee-main .right .content { max-width: 480px; } @media (max-width: 767px) { .ee-main .left .content, .ee-main .right .content { max-width: 100%; text-align: center; } .ee-main .left .content li, .ee-main .right .content li { text-align: left; } } .ee-main .left { -ms-flex-direction: row; flex-direction: row; } .ee-main .left .graphics { margin-left: auto; } .ee-main .right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; margin-left: auto; } .ee-main .right .graphics { margin-right: auto; } .ee-main .center { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; } .ee-main .center .content { width: 894px; max-width: 100%; } .ee-main .full .content { max-width: 568px; } @media (max-width: 767px) { .ee-main .right, .ee-main .left { -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-align: center; align-items: center; } .ee-main .right .graphics, .ee-main .left .graphics { margin-bottom: 24px; margin-left: 0; margin-right: 0; } .ee-main section { margin-bottom: 100px; } } .ee-main .graphics { -ms-flex-pack: end; justify-content: flex-end; } .ee-main .graphics img { width: 100%; } .ee-main h2 { font-size: 44px; line-height: 51px; letter-spacing: -0.03em; } .ee-main h2:first-child { margin-top: 0; } .ee-main .ee-section__title { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: bold; font-size: 12px; line-height: 23px; letter-spacing: 0.14em; text-transform: uppercase; color: #5B708B; margin-top: 0; } .ee-main .ee-section__cta { display: inline-block; font-size: 18px; font-weight: 500; margin-top: 16px; } .ee-main p { font-size: 20px; line-height: 31px; letter-spacing: -0.02em; color: #5B708B; margin-top: 18px; } .ee-main p.sm { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; } .ee-main ul:not(.frameworks) { margin-top: 54px; } .ee-main .content ul { padding-left: 0; } .ee-main .content li { font-size: 16px; line-height: 23px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 40px; padding-left: 30px; list-style: none; position: relative; } .ee-main .content li::before { background-image: url("/img/enterprise/check.svg"); background-size: 100%; content: ''; height: 10px; width: 13px; position: absolute; left: 0; top: 8px; } .ee-main .features { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 64px; grid-row-gap: 24px; padding: 0; } .ee-main .features li { list-style: none; } .ee-main .features .icon { margin-bottom: 16px; width: 48px; } @media (max-width: 991px) { .ee-main .features { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; } } @media (max-width: 500px) { .ee-main .features { -ms-grid-columns: 1fr; grid-template-columns: 1fr; } } .ee-main .cta-card { background: #4a8bfc; border-radius: 12px; padding: 72px 72px 60px; background-size: cover; color: white; } .ee-main .cta-card .ee-section__title, .ee-main .cta-card p { color: #CED6E0; } #how-to { margin-bottom: 0; position: relative; padding-top: 140px; } #how-to::before { position: absolute; top: 0; width: 100vw; border-top: 1px solid rgba(146, 161, 179, 0.3); content: ''; display: block; } .cards--red-v-blue { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } .cards--red-v-blue__card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } .cards--red-v-blue__card:last-child { margin-right: 0; } .cards--red-v-blue__card:nth-child(2) { background: #F88D8D; } .cards--red-v-blue__card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } .cards--red-v-blue h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } .cards--red-v-blue p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); margin-top: 0; margin-bottom: 22px; } .cards--red-v-blue .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } .cards--red-v-blue .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { .cards--red-v-blue { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } .cards--red-v-blue__card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; max-width: 460px; } } aside { background: linear-gradient(180deg, #F9FAFB 0%, #FFFFFF 100%); margin-top: -60px; padding-top: 200px; padding-bottom: 120px; } aside p { color: #414D5C; } aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } .ee-get-started { max-width: 700px; } .ee-get-started h3 { color: #414D5C; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .ee-main .features li p, .ee-main .cards li p, .resources .features li p, .resources .cards li p { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; color: #73849A; margin-top: 0; } .ee-main .features li h4, .ee-main .cards li h4, .resources .features li h4, .resources .cards li h4 { font-size: 20px; line-height: normal; letter-spacing: -0.02em; color: #020814; font-weight: 600; } .resources .cards { margin-top: 0 !important; text-align: left; -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards .img-wrapper { border-radius: 6px; } .resources .cards .img-wrapper + h4 { margin-top: 24px; } @media (min-width: 1220px) { .resources .cards { margin-left: -40px; margin-right: -40px; } .resources .cards li { padding: 40px; } } .resources .resources__customer-logos { display: -ms-flexbox; display: flex; margin: 26px auto 0; padding: 0; -ms-flex-pack: justify; justify-content: space-between; max-width: 780px; width: 100%; } .resources .resources__customer-logos li { background: url("/img/enterprise/customer-logos.png"); background-size: 428px 46px; background-repeat: no-repeat; display: block; height: 46px; } @media (max-width: 768px) { .resources .resources__customer-logos { -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 460px; } .resources .resources__customer-logos li { margin: 20px; } } .resources .resources__customer-logos .mastercard { width: 58px; } .resources .resources__customer-logos .nationwide { background-position: -58px 0; width: 33px; } .resources .resources__customer-logos .uniqlo { background-position: -91px 0; width: 65px; } .resources .resources__customer-logos .ibm { background-position: -156px 0; width: 64px; } .resources .resources__customer-logos .ing { background-position: -222px 0; width: 103px; } .resources .resources__customer-logos .sap { background-position: -326px 0; width: 56px; } .resources .resources__customer-logos .nasa { background-position: -380px 0; width: 50px; } .banner { background: #fff; text-align: left; } .banner .container { position: relative; } .banner .ee-hero { max-width: 480px; } .banner .ee-hero h4, .banner .ee-hero h1, .banner .ee-hero p { position: relative; z-index: 2; } @media (max-width: 767px) { .ee-hero { padding-bottom: 80px; } } .solution-hero h4, .solution-hero h2, .solution-hero p, .solution-hero a { position: relative; z-index: 2; } .solution-hero::after { background-size: cover; position: absolute; z-index: 1; content: ''; display: block; } .solution-hero--cross-platform::after { background: url("/img/solutions/bg-cross-platform-header.svg"); width: 850px; height: 431px; right: calc(50% - 796px); top: 138px; } .solution-hero--design-system::after { background: url("/img/solutions/design-systems-banner.svg"); width: 755px; height: 593px; right: -72px; top: 74px; } .solution-hero--pwa::after { background: url("/img/enterprise/pwa.png"); width: 513px; height: 520px; background-size: 513px 520px; right: 50px; top: 74px; } .right .solution-hero--design-system::after { right: auto; left: -72px; } #sticky-bar { box-shadow: 0px 1px 0px #E9EDF3, 0px -1px 0px #E9EDF3; background: white; position: -webkit-sticky; position: sticky; top: 0; z-index: 1; } #sticky-bar ul { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; padding-top: 17px; padding-bottom: 17px; padding-left: 15px; -ms-flex-wrap: wrap; flex-wrap: wrap; } @media (max-width: 991px) { #sticky-bar ul { -ms-flex-pack: distribute; justify-content: space-around; } } #sticky-bar ul::before, #sticky-bar ul::after { display: none; } #sticky-bar li { list-style: none; } #sticky-bar li.active a:not(.btn) { color: #4a8bfc; } #sticky-bar a { padding: 10px 0; font-size: 14px; line-height: 22px; text-align: center; letter-spacing: 0.08em; text-transform: uppercase; display: block; } #sticky-bar a:hover, #sticky-bar a:active, #sticky-bar a:focus { background: transparent; text-decoration: none; } #sticky-bar a.btn { padding: 11px 14px 8px; margin-right: 3px; border-radius: 10px; color: white; font-weight: 600; } #sticky-bar a.btn:hover, #sticky-bar a.btn:active, #sticky-bar a.btn:focus { color: white; background: #317bfc; } #sticky-bar .anchor { color: #92A1B3; font-weight: 500; } #sticky-bar .anchor.active, #sticky-bar .anchor:hover { color: #4D8DFF; } main { letter-spacing: -0.028em; color: #2F3A48; } main h2 { font-size: 40px; line-height: 50px; letter-spacing: -0.03em; color: #020814; margin-bottom: 15px; } main h3 { color: #414D5C; font-weight: 600; margin-bottom: 4px; } main h3 + h2 { margin-top: 0; } main p { font-size: 20px; line-height: 31px; margin-bottom: 40px; } main ul { padding-left: 0; } main li { font-size: 16px; line-height: 23px; color: #1A232F; margin-bottom: 32px; position: relative; list-style: none; padding-left: 30px; letter-spacing: -.016em; } main li::before { content: url('data:image/svg+xml,\a \a \a '); position: absolute; left: 0; top: 1px; height: 15px; width: 15px; fill: #1A232F; display: block; } main section { display: -ms-flexbox; display: flex; position: relative; } main section.container::before, main section.container::after { display: none; } main section.right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; } main section.center { -ms-flex-pack: center; justify-content: center; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } main section.center .content { max-width: 798px; text-align: center; } main section.center .content ul { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; } @media (max-width: 991px) { main section.center .content ul { -ms-flex-pack: start; justify-content: flex-start; } } main section.center .content li { max-width: 376px; width: 100%; } main .content { max-width: 482px; margin: 232px 0 184px; } @media (max-width: 991px) { main .content { max-width: 100%; margin: 60px auto; } } main aside { background: #F6F8FB; padding-top: 114px; padding-bottom: 120px; } main aside p { color: #414D5C; } main aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } main .get-started { max-width: 700px; } main .cards { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } main .cards .card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } main .cards .card:last-child { margin-right: 0; } main .cards .card:nth-child(2) { background: #F88D8D; } main .cards .card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } main .cards h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } main .cards p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); } main .cards .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } main .cards .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { main .cards { -ms-flex-direction: column; flex-direction: column; } main .cards .card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; } } .resources { margin-top: 96px; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .banner hgroup { padding-top: 75px; max-width: 700px; text-align: center; } .banner img { max-width: 100%; } .banner p { margin-top: 61px; font-size: 32px; font-weight: 600; letter-spacing: -.008em; color: #0f151f; } .banner ul { max-width: 978px; padding-top: 51px; padding-bottom: 95px; list-style: none; text-align: left; display: -ms-grid; display: grid; -ms-grid-columns: auto auto auto auto; grid-template-columns: auto auto auto auto; } @media (max-width: 991px) { .banner ul { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: distribute; justify-content: space-around; } .banner ul li { -ms-flex: 0 0 234px; flex: 0 0 234px; } } .banner ul::before, .banner ul::after { content: none; } .banner li { padding: 13px 0 13px 28px; position: relative; font-weight: 600; font-size: 16px; letter-spacing: -.02em; } .banner li::before { font-family: 'Ionicons'; content: '\f2bc'; color: #5c77ff; position: absolute; left: 0; top: 10px; font-size: 18px; font-weight: 400; } main { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; max-width: 674px; margin-bottom: 118px; } main h1, main h2, main h3 { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-weight: 700; letter-spacing: -.008em; color: #0f1620; } main h2 { margin-bottom: 5px; } main h3 { font-size: 18px; margin-top: 56px; margin-bottom: 16px; } main img { max-width: 100%; margin-top: 1px; } main p { letter-spacing: -.01em; margin-bottom: 22px; line-height: 2em; } main p code { color: #7058fd; background: #eff2f7; padding: 2px 8px; letter-spacing: .02em; } main ol { padding-left: 42px; margin-top: 25px; margin-bottom: 24px; } main ol li { padding: 4px 0px; } main hgroup { margin-top: 144px; margin-bottom: 52px; } main hgroup:first-child { margin-top: 108px; margin-bottom: 59px; } main hgroup p { line-height: 1.64em; font-size: 18px; letter-spacing: -.03em; } main + footer { border-top: 1px solid #eee; } .steps { list-style: none; padding-left: 0; margin-bottom: 65px; } .steps li { margin-bottom: 62px; } .steps p { letter-spacing: -.01em; margin-bottom: 17px; } .steps strong { font-weight: 500; margin-right: 29px; } .steps code { background: none; } .steps pre { border: none; background: #f5f7fa; font-size: 12px; font-weight: 500; padding: 15px 14px; position: relative; } .steps pre .hljs { background: none; } .steps pre .hljs-built_in { color: inherit; } .steps pre::before { position: absolute; content: 'shell'; text-transform: uppercase; font-size: 11px; font-weight: 500; top: .2em; right: 1em; color: #cdd4de; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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RSxlQUFlO01BQ2Ysb0JBQW9CO01BQ3BCLGlCQUFpQjtNQUNqQixzQkFBc0IsRUFBRTtFQUM1QjtJQUNFLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsb0JBQW9CLEVBQUU7SUFDdEI7TUFDRSxpQkFBaUIsRUFBRTtFQUN2QjtJQUNFLGtCQUFrQjtJQUNsQixvQkFBb0IsRUFBRTtJQUN0QjtNQUNFLGtCQUFrQjtNQUNsQixvQkFBb0IsRUFBRTtJQUN4QjtNQUNFLG9CQUFvQjtNQUNwQixnQkFBZ0I7TUFDaEIsdUJBQXVCLEVBQUU7RUFDN0I7SUFDRSwyQkFBMkIsRUFBRTs7QUFFakM7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLG9CQUFvQixFQUFFO0VBQ3RCO0lBQ0Usb0JBQW9CLEVBQUU7RUFDeEI7SUFDRSx1QkFBdUI7SUFDdkIsb0JBQW9CLEVBQUU7RUFDeEI7SUFDRSxpQkFBaUI7SUFDakIsbUJBQW1CLEVBQUU7RUFDdkI7SUFDRSxpQkFBaUIsRUFBRTtFQUNyQjtJQUNFLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsbUJBQW1CLEVBQUU7SUFDckI7TUFDRSxpQkFBaUIsRUFBRTtJQUNyQjtNQUNFLGVBQWUsRUFBRTtJQUNuQjtNQUNFLG1CQUFtQjtNQUNuQixpQkFBaUI7TUFDakIsMEJBQTBCO01BQzFCLGdCQUFnQjtNQUNoQixpQkFBaUI7TUFDakIsVUFBVTtNQUNWLFdBQVc7TUFDWCxlQUFlLEVBQUUiLCJmaWxlIjoicGFnZXMvZW50ZXJwcmlzZS9zb2x1dGlvbnMvdG9vbGtpdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZWUtaGVybyB7XG4gIG1heC13aWR0aDogNjQwcHg7XG4gIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDE2MHB4OyB9XG4gIC5lZS1oZXJvOjpiZWZvcmUsIC5lZS1oZXJvOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZWUtaGVybyBoMSB7XG4gICAgZm9udC1zaXplOiA1MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xuICAgIG1heC13aWR0aDogOTMwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIC5lZS1oZXJvIGg0IHtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzkyQTFCMztcbiAgICBtYXJnaW4tYm90dG9tOiAyOXB4OyB9XG4gIC5lZS1oZXJvIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG4gICAgY29sb3I6IHJnYmEoMzksIDUwLCA2MywgMC44KTsgfVxuICAuZWUtaGVybyAuYnRuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogIzM4ODBGRjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKDIsIDgsIDIwLCAwLjEpLCAwcHggMXB4IDJweCByZ2JhKDIsIDgsIDIwLCAwLjA4KTtcbiAgICBib3JkZXItcmFkaXVzOiAyMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZWUtaGVybyAuYnRuOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJ3aGl0ZVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiPjxwYXRoIGQ9XCJNODUgMjc3LjM3NWgyNTkuNzA0TDIyNS4wMDIgMzk3LjA3NyAyNTYgNDI3bDE3MS0xNzFMMjU2IDg1bC0yOS45MjIgMjkuOTI0IDExOC42MjYgMTE5LjcwMUg4NXY0Mi43NXpcIi8+PC9zdmc+Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9XG4gICAgLmVlLWhlcm8gLmJ0bjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY4YmY1OyB9XG4gIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgZm9udC1zaXplOiA2MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2OXB4OyB9XG4gIC5lZS1oZXJvLS13aWRlIHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4OyB9XG4gIC5lZS1oZXJvLS1jZW50ZXJlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZWUtaGVybyB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAuZWUtaGVybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH1cbiAgICAgIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuZWUtaGVybyBoMSB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDsgfVxuICAgIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDsgfVxuICAgIC5lZS1oZXJvIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cblxuLmVlLW1haW4ge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIHNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4OyB9XG4gIC5lZS1tYWluIC5sZWZ0LFxuICAuZWUtbWFpbiAucmlnaHQsXG4gIC5lZS1tYWluIC5jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZWUtbWFpbiAubGVmdDo6YmVmb3JlLCAuZWUtbWFpbiAubGVmdDo6YWZ0ZXIsXG4gICAgLmVlLW1haW4gLnJpZ2h0OjpiZWZvcmUsXG4gICAgLmVlLW1haW4gLnJpZ2h0OjphZnRlcixcbiAgICAuZWUtbWFpbiAuY2VudGVyOjpiZWZvcmUsXG4gICAgLmVlLW1haW4gLmNlbnRlcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZWUtbWFpbiAubGVmdCAuY29udGVudCxcbiAgLmVlLW1haW4gLnJpZ2h0IC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuZWUtbWFpbiAubGVmdCAuY29udGVudCxcbiAgICAgIC5lZS1tYWluIC5yaWdodCAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5lZS1tYWluIC5sZWZ0IC5jb250ZW50IGxpLFxuICAgICAgICAuZWUtbWFpbiAucmlnaHQgLmNvbnRlbnQgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuZWUtbWFpbiAubGVmdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5lZS1tYWluIC5sZWZ0IC5ncmFwaGljcyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuZWUtbWFpbiAucmlnaHQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5lZS1tYWluIC5yaWdodCAuZ3JhcGhpY3Mge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5lZS1tYWluIC5jZW50ZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZWUtbWFpbiAuY2VudGVyIC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiA4OTRweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuZWUtbWFpbiAuZnVsbCAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA1NjhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZWUtbWFpbiAucmlnaHQsXG4gICAgLmVlLW1haW4gLmxlZnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmVlLW1haW4gLnJpZ2h0IC5ncmFwaGljcyxcbiAgICAgIC5lZS1tYWluIC5sZWZ0IC5ncmFwaGljcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuZWUtbWFpbiBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9IH1cbiAgLmVlLW1haW4gLmdyYXBoaWNzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmVlLW1haW4gLmdyYXBoaWNzIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuZWUtbWFpbiBoMiB7XG4gICAgZm9udC1zaXplOiA0NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtOyB9XG4gICAgLmVlLW1haW4gaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZWUtbWFpbiAuZWUtc2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzVCNzA4QjtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIC5lZS1zZWN0aW9uX19jdGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIC5lZS1tYWluIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogIzVCNzA4QjtcbiAgICBtYXJnaW4tdG9wOiAxOHB4OyB9XG4gICAgLmVlLW1haW4gcC5zbSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG4gIC5lZS1tYWluIHVsOm5vdCguZnJhbWV3b3Jrcykge1xuICAgIG1hcmdpbi10b3A6IDU0cHg7IH1cbiAgLmVlLW1haW4gLmNvbnRlbnQgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZWUtbWFpbiAuY29udGVudCBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmVlLW1haW4gLmNvbnRlbnQgbGk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2VudGVycHJpc2UvY2hlY2suc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB3aWR0aDogMTNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDhweDsgfVxuICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICBncmlkLWNvbHVtbi1nYXA6IDY0cHg7XG4gICAgZ3JpZC1yb3ctZ2FwOiAyNHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZWUtbWFpbiAuZmVhdHVyZXMgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5lZS1tYWluIC5mZWF0dXJlcyAuaWNvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgd2lkdGg6IDQ4cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5lZS1tYWluIC5mZWF0dXJlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG4gIC5lZS1tYWluIC5jdGEtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogIzRhOGJmYztcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDcycHggNzJweCA2MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmVlLW1haW4gLmN0YS1jYXJkIC5lZS1zZWN0aW9uX190aXRsZSxcbiAgICAuZWUtbWFpbiAuY3RhLWNhcmQgcCB7XG4gICAgICBjb2xvcjogI0NFRDZFMDsgfVxuXG4jaG93LXRvIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTQwcHg7IH1cbiAgI2hvdy10bzo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNDYsIDE2MSwgMTc5LCAwLjMpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jYXJkcy0tcmVkLXYtYmx1ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAzOHB4OyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogIzdDQUJGRjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogNDBweCA0MHB4IDM0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogMjRweDtcbiAgICBmbGV4OiAwIDEgNDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjg4RDhEOyB9XG4gICAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQ6bnRoLWNoaWxkKDIpIC5idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NCwgODQsIDg0LCAwLjUpOyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZSBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhcmRzLS1yZWQtdi1ibHVlIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuICAuY2FyZHMtLXJlZC12LWJsdWUgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDllbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDU2LCAxMjgsIDI1NSwgMC41KTsgfVxuICAgIC5jYXJkcy0tcmVkLXYtYmx1ZSAuYnRuIGlvbi1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQge1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7IH0gfVxuXG5hc2lkZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGOUZBRkIgMCUsICNGRkZGRkYgMTAwJSk7XG4gIG1hcmdpbi10b3A6IC02MHB4O1xuICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBhc2lkZSBwIHtcbiAgICBjb2xvcjogIzQxNEQ1QzsgfVxuICBhc2lkZSAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0MzJweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmVlLWdldC1zdGFydGVkIHtcbiAgbWF4LXdpZHRoOiA3MDBweDsgfVxuICAuZWUtZ2V0LXN0YXJ0ZWQgaDMge1xuICAgIGNvbG9yOiAjNDE0RDVDOyB9XG5cbi5yZXNvdXJjZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjRweDsgfVxuICAucmVzb3VyY2VzIGhncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzFBMjMyRjsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBpb24taWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIDMzLjMzJTtcbiAgICBwYWRkaW5nOiAyNHB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgLmltZy13cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBoNiB7XG4gICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNCMkJFQ0Q7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBjb2xvcjogIzFBMjMyRjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBwIHtcbiAgICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgaDUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5lZS1tYWluIC5mZWF0dXJlcyBsaSBwLFxuLmVlLW1haW4gLmNhcmRzIGxpIHAsXG4ucmVzb3VyY2VzIC5mZWF0dXJlcyBsaSBwLFxuLnJlc291cmNlcyAuY2FyZHMgbGkgcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBjb2xvcjogIzczODQ5QTtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZWUtbWFpbiAuZmVhdHVyZXMgbGkgaDQsXG4uZWUtbWFpbiAuY2FyZHMgbGkgaDQsXG4ucmVzb3VyY2VzIC5mZWF0dXJlcyBsaSBoNCxcbi5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgY29sb3I6ICMwMjA4MTQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnJlc291cmNlcyAuY2FyZHMge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyAuaW1nLXdyYXBwZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIC5pbWctd3JhcHBlciArIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTQwcHg7IH1cbiAgICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgICAgcGFkZGluZzogNDBweDsgfSB9XG5cbi5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDI2cHggYXV0byAwO1xuICBwYWRkaW5nOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1heC13aWR0aDogNzgwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgbGkge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9jdXN0b21lci1sb2dvcy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MjhweCA0NnB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0NnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3Mge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXgtd2lkdGg6IDQ2MHB4OyB9XG4gICAgICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIGxpIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4OyB9IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubWFzdGVyY2FyZCB7XG4gICAgd2lkdGg6IDU4cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubmF0aW9ud2lkZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU4cHggMDtcbiAgICB3aWR0aDogMzNweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC51bmlxbG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05MXB4IDA7XG4gICAgd2lkdGg6IDY1cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAuaWJtIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU2cHggMDtcbiAgICB3aWR0aDogNjRweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5pbmcge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjJweCAwO1xuICAgIHdpZHRoOiAxMDNweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5zYXAge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjZweCAwO1xuICAgIHdpZHRoOiA1NnB4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLm5hc2Ege1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zODBweCAwO1xuICAgIHdpZHRoOiA1MHB4OyB9XG5cbi5iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5iYW5uZXIgLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5iYW5uZXIgLmVlLWhlcm8ge1xuICAgIG1heC13aWR0aDogNDgwcHg7IH1cbiAgLmJhbm5lciAuZWUtaGVybyBoNCxcbiAgLmJhbm5lciAuZWUtaGVybyBoMSxcbiAgLmJhbm5lciAuZWUtaGVybyBwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmVlLWhlcm8ge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9IH1cblxuLnNvbHV0aW9uLWhlcm8gaDQsXG4uc29sdXRpb24taGVybyBoMixcbi5zb2x1dGlvbi1oZXJvIHAsXG4uc29sdXRpb24taGVybyBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG5cbi5zb2x1dGlvbi1oZXJvOjphZnRlciB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zb2x1dGlvbi1oZXJvLS1jcm9zcy1wbGF0Zm9ybTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3NvbHV0aW9ucy9iZy1jcm9zcy1wbGF0Zm9ybS1oZWFkZXIuc3ZnXCIpO1xuICB3aWR0aDogODUwcHg7XG4gIGhlaWdodDogNDMxcHg7XG4gIHJpZ2h0OiBjYWxjKDUwJSAtIDc5NnB4KTtcbiAgdG9wOiAxMzhweDsgfVxuXG4uc29sdXRpb24taGVyby0tZGVzaWduLXN5c3RlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3NvbHV0aW9ucy9kZXNpZ24tc3lzdGVtcy1iYW5uZXIuc3ZnXCIpO1xuICB3aWR0aDogNzU1cHg7XG4gIGhlaWdodDogNTkzcHg7XG4gIHJpZ2h0OiAtNzJweDtcbiAgdG9wOiA3NHB4OyB9XG5cbi5zb2x1dGlvbi1oZXJvLS1wd2E6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9lbnRlcnByaXNlL3B3YS5wbmdcIik7XG4gIHdpZHRoOiA1MTNweDtcbiAgaGVpZ2h0OiA1MjBweDtcbiAgYmFja2dyb3VuZC1zaXplOiA1MTNweCA1MjBweDtcbiAgcmlnaHQ6IDUwcHg7XG4gIHRvcDogNzRweDsgfVxuXG4ucmlnaHQgLnNvbHV0aW9uLWhlcm8tLWRlc2lnbi1zeXN0ZW06OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IC03MnB4OyB9XG5cbiNzdGlja3ktYmFyIHtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAwcHggI0U5RURGMywgMHB4IC0xcHggMHB4ICNFOUVERjM7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDE7IH1cbiAgI3N0aWNreS1iYXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctdG9wOiAxN3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxN3B4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNzdGlja3ktYmFyIHVsIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH0gfVxuICAgICNzdGlja3ktYmFyIHVsOjpiZWZvcmUsICNzdGlja3ktYmFyIHVsOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICNzdGlja3ktYmFyIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI3N0aWNreS1iYXIgbGkuYWN0aXZlIGE6bm90KC5idG4pIHtcbiAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICNzdGlja3ktYmFyIGEge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNzdGlja3ktYmFyIGE6aG92ZXIsICNzdGlja3ktYmFyIGE6YWN0aXZlLCAjc3RpY2t5LWJhciBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgI3N0aWNreS1iYXIgYS5idG4ge1xuICAgICAgcGFkZGluZzogMTFweCAxNHB4IDhweDtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICNzdGlja3ktYmFyIGEuYnRuOmhvdmVyLCAjc3RpY2t5LWJhciBhLmJ0bjphY3RpdmUsICNzdGlja3ktYmFyIGEuYnRuOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzE3YmZjOyB9XG4gICNzdGlja3ktYmFyIC5hbmNob3Ige1xuICAgIGNvbG9yOiAjOTJBMUIzO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAjc3RpY2t5LWJhciAuYW5jaG9yLmFjdGl2ZSwgI3N0aWNreS1iYXIgLmFuY2hvcjpob3ZlciB7XG4gICAgICBjb2xvcjogIzREOERGRjsgfVxuXG5tYWluIHtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyOGVtO1xuICBjb2xvcjogIzJGM0E0ODsgfVxuICBtYWluIGgyIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBtYWluIGgzIHtcbiAgICBjb2xvcjogIzQxNEQ1QztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgIG1haW4gaDMgKyBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIG1haW4gcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgbWFpbiB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIG1haW4gbGkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICBjb2xvcjogIzFBMjMyRjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMTZlbTsgfVxuICAgIG1haW4gbGk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCxcXGEgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIj5cXGEgICAgICAgICAgIDxwYXRoIGQ9XCJNMTg2LjMwMSAzMzkuODkzTDk2IDI0OS40NjFsLTMyIDMwLjUwN0wxODYuMzAxIDQwMiA0NDggMTQwLjUwNiA0MTYgMTEwelwiLz5cXGEgICAgICAgICA8L3N2Zz4nKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgZmlsbDogIzFBMjMyRjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIG1haW4gc2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBtYWluIHNlY3Rpb24uY29udGFpbmVyOjpiZWZvcmUsIG1haW4gc2VjdGlvbi5jb250YWluZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBtYWluIHNlY3Rpb24ucmlnaHQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgbWFpbiBzZWN0aW9uLmNlbnRlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICBtYWluIHNlY3Rpb24uY2VudGVyIC5jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA3OThweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIG1haW4gc2VjdGlvbi5jZW50ZXIgLmNvbnRlbnQgdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgbWFpbiBzZWN0aW9uLmNlbnRlciAuY29udGVudCB1bCB7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gICAgICAgIG1haW4gc2VjdGlvbi5jZW50ZXIgLmNvbnRlbnQgbGkge1xuICAgICAgICAgIG1heC13aWR0aDogMzc2cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgbWFpbiAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0ODJweDtcbiAgICBtYXJnaW46IDIzMnB4IDAgMTg0cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIG1haW4gLmNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogNjBweCBhdXRvOyB9IH1cbiAgbWFpbiBhc2lkZSB7XG4gICAgYmFja2dyb3VuZDogI0Y2RjhGQjtcbiAgICBwYWRkaW5nLXRvcDogMTE0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9XG4gICAgbWFpbiBhc2lkZSBwIHtcbiAgICAgIGNvbG9yOiAjNDE0RDVDOyB9XG4gICAgbWFpbiBhc2lkZSAuY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDQzMnB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICBtYWluIC5nZXQtc3RhcnRlZCB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDsgfVxuICBtYWluIC5jYXJkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDM4cHg7IH1cbiAgICBtYWluIC5jYXJkcyAuY2FyZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjN0NBQkZGO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgcGFkZGluZzogNDBweCA0MHB4IDM0cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuICAgICAgZmxleDogMCAxIDQ2MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gICAgICBtYWluIC5jYXJkcyAuY2FyZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICBtYWluIC5jYXJkcyAuY2FyZDpudGgtY2hpbGQoMikge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjg4RDhEOyB9XG4gICAgICAgIG1haW4gLmNhcmRzIC5jYXJkOm50aC1jaGlsZCgyKSAuYnRuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NCwgODQsIDg0LCAwLjUpOyB9XG4gICAgbWFpbiAuY2FyZHMgaDMge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIG1haW4gLmNhcmRzIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgICBtYWluIC5jYXJkcyAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA5ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcGFkZGluZzogMTBweCAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTYsIDEyOCwgMjU1LCAwLjUpOyB9XG4gICAgICBtYWluIC5jYXJkcyAuYnRuIGlvbi1pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgbWFpbiAuY2FyZHMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIG1haW4gLmNhcmRzIC5jYXJkIHtcbiAgICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cblxuLnJlc291cmNlcyB7XG4gIG1hcmdpbi10b3A6IDk2cHg7IH1cblxuLnJlc291cmNlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucmVzb3VyY2VzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cbiAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4OyB9XG4gIC5yZXNvdXJjZXMgaGdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBoMyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICMxQTIzMkY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDQge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgIGNvbG9yOiAjMzg4MEZGO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGlvbi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOyB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAwIDAgMzMuMzMlO1xuICAgIHBhZGRpbmc6IDI0cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSAuaW1nLXdyYXBwZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg2IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI0IyQkVDRDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHAge1xuICAgICAgY29sb3I6ICM1QjcwOEI7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEycHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBwYWRkaW5nOiAxMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgLnJlc291cmNlcyBoNSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmJhbm5lciBoZ3JvdXAge1xuICBwYWRkaW5nLXRvcDogNzVweDtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5iYW5uZXIgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5iYW5uZXIgcCB7XG4gIG1hcmdpbi10b3A6IDYxcHg7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0uMDA4ZW07XG4gIGNvbG9yOiAjMGYxNTFmOyB9XG5cbi5iYW5uZXIgdWwge1xuICBtYXgtd2lkdGg6IDk3OHB4O1xuICBwYWRkaW5nLXRvcDogNTFweDtcbiAgcGFkZGluZy1ib3R0b206IDk1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIGF1dG8gYXV0bzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAuYmFubmVyIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgICAgLmJhbm5lciB1bCBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAyMzRweDsgfSB9XG4gIC5iYW5uZXIgdWw6OmJlZm9yZSwgLmJhbm5lciB1bDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuLmJhbm5lciBsaSB7XG4gIHBhZGRpbmc6IDEzcHggMCAxM3B4IDI4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyB9XG4gIC5iYW5uZXIgbGk6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgY29udGVudDogJ1xcZjJiYyc7XG4gICAgY29sb3I6ICM1Yzc3ZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbm1haW4ge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1heC13aWR0aDogNjc0cHg7XG4gIG1hcmdpbi1ib3R0b206IDExOHB4OyB9XG4gIG1haW4gaDEsXG4gIG1haW4gaDIsXG4gIG1haW4gaDMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMDhlbTtcbiAgICBjb2xvcjogIzBmMTYyMDsgfVxuICBtYWluIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgbWFpbiBoMyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi10b3A6IDU2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICBtYWluIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDFweDsgfVxuICBtYWluIHAge1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMmVtOyB9XG4gICAgbWFpbiBwIGNvZGUge1xuICAgICAgY29sb3I6ICM3MDU4ZmQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWZmMmY3O1xuICAgICAgcGFkZGluZzogMnB4IDhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDJlbTsgfVxuICBtYWluIG9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gICAgbWFpbiBvbCBsaSB7XG4gICAgICBwYWRkaW5nOiA0cHggMHB4OyB9XG4gIG1haW4gaGdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAxNDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MnB4OyB9XG4gICAgbWFpbiBoZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMTA4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1OXB4OyB9XG4gICAgbWFpbiBoZ3JvdXAgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMS42NGVtO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTsgfVxuICBtYWluICsgZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTsgfVxuXG4uc3RlcHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDY1cHg7IH1cbiAgLnN0ZXBzIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MnB4OyB9XG4gIC5zdGVwcyBwIHtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE3cHg7IH1cbiAgLnN0ZXBzIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI5cHg7IH1cbiAgLnN0ZXBzIGNvZGUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgLnN0ZXBzIHByZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmNWY3ZmE7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcGFkZGluZzogMTVweCAxNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zdGVwcyBwcmUgLmhsanMge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIC5zdGVwcyBwcmUgLmhsanMtYnVpbHRfaW4ge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuc3RlcHMgcHJlOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJ3NoZWxsJztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdG9wOiAuMmVtO1xuICAgICAgcmlnaHQ6IDFlbTtcbiAgICAgIGNvbG9yOiAjY2RkNGRlOyB9XG4iXX0= */ ================================================ FILE: content/css/pages/enterprise/support.css ================================================ #page-enterprise-support .navbar.transparent + .banner { background: #00295b no-repeat center bottom url("/img/enterprise/support/enterprise-support-hero-bg.jpg"); background-size: cover; padding-bottom: 118px; padding-top: 135px; color: white; } #page-enterprise-support .navbar.transparent + .banner hgroup { padding-top: 0; padding-bottom: 0; } #page-enterprise-support .navbar.transparent + .banner h1 { font-weight: 700; font-size: 50px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-enterprise-support .navbar.transparent + .banner p { font-size: 20px; font-weight: 500; color: #bccce4; } #page-enterprise-support .btn { font-size: 15px; font-weight: 700; } #page-enterprise-support section.help hgroup { padding-top: 64px; padding-bottom: 64px; } #page-enterprise-support section.help hgroup h2 { font-weight: 700; font-size: 34px; letter-spacing: -.04em; } #page-enterprise-support section.help hgroup p { font-size: 18px; font-weight: 500; } #page-enterprise-support section.help .features { padding: 0; list-style: none; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; max-width: 850px; margin: 16px auto 16px; } @media (max-width: 767px) { #page-enterprise-support section.help .features { -ms-flex-pack: center; justify-content: center; } } #page-enterprise-support section.help .features li { -ms-flex: 0 0 240px; flex: 0 0 240px; padding-top: 80px; position: relative; margin-bottom: 64px; } #page-enterprise-support section.help .features li::before { background: url("/img/enterprise/support/enterprise-support-icons.png") no-repeat 0 0; background-size: 48px; width: 48px; height: 48px; content: ''; position: absolute; top: 0; } @media (max-width: 767px) { #page-enterprise-support section.help .features li { -ms-flex: 0 0 100%; flex: 0 0 100%; text-align: center; } #page-enterprise-support section.help .features li::before { left: calc(50% - 24px); } } #page-enterprise-support section.help .features li.reviews::before { background-position: 0 -48px; } #page-enterprise-support section.help .features li.sla::before { background-position: 0 -96px; } #page-enterprise-support section.help .features li.training::before { background-position: 0 -144px; } #page-enterprise-support section.help .features li.contact::before { background-position: 0 -192px; } #page-enterprise-support section.help .features li.slack::before { background-position: 0 -240px; } #page-enterprise-support section.help .features li h4 { font-weight: 600; font-size: 20px; margin-bottom: 16px; } #page-enterprise-support section.help .features li p { font-size: 16px; font-weight: 400; color: #727a87; } #page-enterprise-support section.plan { background: #f5f7fb; padding-top: 64px; padding-bottom: 64px; } #page-enterprise-support section.plan .container { max-width: 768px; } #page-enterprise-support section.plan hgroup h2 { font-weight: 700; font-size: 34px; letter-spacing: -.04em; } #page-enterprise-support section.plan hgroup p { margin-top: 16px; color: #626a77; font-weight: 500; margin-bottom: 64px; } #page-enterprise-support section.get-in-touch { margin-top: 0; padding-top: 60px; padding-bottom: 60px; background: linear-gradient(to right, #4c8cff 0%, #76c6ff 100%); } #page-enterprise-support section.get-in-touch .container { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } @media (max-width: 767px) { #page-enterprise-support section.get-in-touch .container { display: block; text-align: center; } } #page-enterprise-support section.get-in-touch hgroup { padding-bottom: 33px; } #page-enterprise-support section.get-in-touch h2 { font-size: 28px; letter-spacing: -.02em; font-weight: 600; display: inline-block; } #page-enterprise-support section.get-in-touch p { color: #003e82; font-size: 18px; font-weight: 500; display: inline-block; } #page-enterprise-support section.get-in-touch .btn-group { text-align: right; } #page-enterprise-support section.get-in-touch .btn { margin-bottom: 8px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN1cHBvcnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsMEdBQTBHO0VBQzFHLHVCQUF1QjtFQUN2QixzQkFBc0I7RUFDdEIsbUJBQW1CO0VBQ25CLGFBQWEsRUFBRTtFQUNmO0lBQ0UsZUFBZTtJQUNmLGtCQUFrQixFQUFFO0VBQ3RCO0lBQ0UsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQiw2REFBNkQsRUFBRTtFQUNqRTtJQUNFLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZUFBZSxFQUFFOztBQUVyQjtFQUNFLGdCQUFnQjtFQUNoQixpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxrQkFBa0I7RUFDbEIscUJBQXFCLEVBQUU7RUFDdkI7SUFDRSxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLHVCQUF1QixFQUFFO0VBQzNCO0lBQ0UsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFFOztBQUV2QjtFQUNFLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIscUJBQWM7RUFBZCxjQUFjO0VBQ2Qsb0JBQWdCO01BQWhCLGdCQUFnQjtFQUNoQix1QkFBK0I7TUFBL0IsK0JBQStCO0VBQy9CLGlCQUFpQjtFQUNqQix1QkFBdUIsRUFBRTtFQUN6QjtJQUNFO01BQ0Usc0JBQXdCO1VBQXhCLHdCQUF3QixFQUFFLEVBQUU7RUFDaEM7SUFDRSxvQkFBZ0I7UUFBaEIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsb0JBQW9CLEVBQUU7SUFDdEI7TUFDRSxzRkFBc0Y7TUFDdEYsc0JBQXNCO01BQ3RCLFlBQVk7TUFDWixhQUFhO01BQ2IsWUFBWTtNQUNaLG1CQUFtQjtNQUNuQixPQUFPLEVBQUU7SUFDWDtNQUNFO1FBQ0UsbUJBQWU7WUFBZixlQUFlO1FBQ2YsbUJBQW1CLEVBQUU7UUFDckI7VUFDRSx1QkFBdUIsRUFBRSxFQUFFO0lBQ2pDO01BQ0UsNkJBQTZCLEVBQUU7SUFDakM7TUFDRSw2QkFBNkIsRUFBRTtJQUNqQztNQUNFLDhCQUE4QixFQUFFO0lBQ2xDO01BQ0UsOEJBQThCLEVBQUU7SUFDbEM7TUFDRSw4QkFBOEIsRUFBRTtJQUNsQztNQUNFLGlCQUFpQjtNQUNqQixnQkFBZ0I7TUFDaEIsb0JBQW9CLEVBQUU7SUFDeEI7TUFDRSxnQkFBZ0I7TUFDaEIsaUJBQWlCO01BQ2pCLGVBQWUsRUFBRTs7QUFFdkI7RUFDRSxvQkFBb0I7RUFDcEIsa0JBQWtCO0VBQ2xCLHFCQUFxQixFQUFFO0VBQ3ZCO0lBQ0UsaUJBQWlCLEVBQUU7RUFDckI7SUFDRSxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLHVCQUF1QixFQUFFO0VBQzNCO0lBQ0UsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsb0JBQW9CLEVBQUU7O0FBRTFCO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsZ0VBQWdFLEVBQUU7RUFDbEU7SUFDRSxxQkFBYztJQUFkLGNBQWM7SUFDZCx1QkFBb0I7UUFBcEIsb0JBQW9CLEVBQUU7SUFDdEI7TUFDRTtRQUNFLGVBQWU7UUFDZixtQkFBbUIsRUFBRSxFQUFFO0VBQzdCO0lBQ0UscUJBQXFCLEVBQUU7RUFDekI7SUFDRSxnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQixzQkFBc0IsRUFBRTtFQUMxQjtJQUNFLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLHNCQUFzQixFQUFFO0VBQzFCO0lBQ0Usa0JBQWtCLEVBQUU7RUFDdEI7SUFDRSxtQkFBbUIsRUFBRSIsImZpbGUiOiJwYWdlcy9lbnRlcnByaXNlL3N1cHBvcnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3BhZ2UtZW50ZXJwcmlzZS1zdXBwb3J0IC5uYXZiYXIudHJhbnNwYXJlbnQgKyAuYmFubmVyIHtcbiAgYmFja2dyb3VuZDogIzAwMjk1YiBuby1yZXBlYXQgY2VudGVyIGJvdHRvbSB1cmwoXCIvaW1nL2VudGVycHJpc2Uvc3VwcG9ydC9lbnRlcnByaXNlLXN1cHBvcnQtaGVyby1iZy5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAxMThweDtcbiAgcGFkZGluZy10b3A6IDEzNXB4O1xuICBjb2xvcjogd2hpdGU7IH1cbiAgI3BhZ2UtZW50ZXJwcmlzZS1zdXBwb3J0IC5uYXZiYXIudHJhbnNwYXJlbnQgKyAuYmFubmVyIGhncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgI3BhZ2UtZW50ZXJwcmlzZS1zdXBwb3J0IC5uYXZiYXIudHJhbnNwYXJlbnQgKyAuYmFubmVyIGgxIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICNwYWdlLWVudGVycHJpc2Utc3VwcG9ydCAubmF2YmFyLnRyYW5zcGFyZW50ICsgLmJhbm5lciBwIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogI2JjY2NlNDsgfVxuXG4jcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgLmJ0biB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4jcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5oZWxwIGhncm91cCB7XG4gIHBhZGRpbmctdG9wOiA2NHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjRweDsgfVxuICAjcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5oZWxwIGhncm91cCBoMiB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDM0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDRlbTsgfVxuICAjcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5oZWxwIGhncm91cCBwIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4jcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5oZWxwIC5mZWF0dXJlcyB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXgtd2lkdGg6IDg1MHB4O1xuICBtYXJnaW46IDE2cHggYXV0byAxNnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWVudGVycHJpc2Utc3VwcG9ydCBzZWN0aW9uLmhlbHAgLmZlYXR1cmVzIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgI3BhZ2UtZW50ZXJwcmlzZS1zdXBwb3J0IHNlY3Rpb24uaGVscCAuZmVhdHVyZXMgbGkge1xuICAgIGZsZXg6IDAgMCAyNDBweDtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDsgfVxuICAgICNwYWdlLWVudGVycHJpc2Utc3VwcG9ydCBzZWN0aW9uLmhlbHAgLmZlYXR1cmVzIGxpOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9lbnRlcnByaXNlL3N1cHBvcnQvZW50ZXJwcmlzZS1zdXBwb3J0LWljb25zLnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0OHB4O1xuICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtZW50ZXJwcmlzZS1zdXBwb3J0IHNlY3Rpb24uaGVscCAuZmVhdHVyZXMgbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICNwYWdlLWVudGVycHJpc2Utc3VwcG9ydCBzZWN0aW9uLmhlbHAgLmZlYXR1cmVzIGxpOjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjRweCk7IH0gfVxuICAgICNwYWdlLWVudGVycHJpc2Utc3VwcG9ydCBzZWN0aW9uLmhlbHAgLmZlYXR1cmVzIGxpLnJldmlld3M6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00OHB4OyB9XG4gICAgI3BhZ2UtZW50ZXJwcmlzZS1zdXBwb3J0IHNlY3Rpb24uaGVscCAuZmVhdHVyZXMgbGkuc2xhOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxuICAgICNwYWdlLWVudGVycHJpc2Utc3VwcG9ydCBzZWN0aW9uLmhlbHAgLmZlYXR1cmVzIGxpLnRyYWluaW5nOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQ0cHg7IH1cbiAgICAjcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5oZWxwIC5mZWF0dXJlcyBsaS5jb250YWN0OjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH1cbiAgICAjcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5oZWxwIC5mZWF0dXJlcyBsaS5zbGFjazo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI0MHB4OyB9XG4gICAgI3BhZ2UtZW50ZXJwcmlzZS1zdXBwb3J0IHNlY3Rpb24uaGVscCAuZmVhdHVyZXMgbGkgaDQge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICAjcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5oZWxwIC5mZWF0dXJlcyBsaSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzcyN2E4NzsgfVxuXG4jcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5wbGFuIHtcbiAgYmFja2dyb3VuZDogI2Y1ZjdmYjtcbiAgcGFkZGluZy10b3A6IDY0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA2NHB4OyB9XG4gICNwYWdlLWVudGVycHJpc2Utc3VwcG9ydCBzZWN0aW9uLnBsYW4gLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA3NjhweDsgfVxuICAjcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5wbGFuIGhncm91cCBoMiB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDM0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDRlbTsgfVxuICAjcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5wbGFuIGhncm91cCBwIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGNvbG9yOiAjNjI2YTc3O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDsgfVxuXG4jcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5nZXQtaW4tdG91Y2gge1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzRjOGNmZiAwJSwgIzc2YzZmZiAxMDAlKTsgfVxuICAjcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5nZXQtaW4tdG91Y2ggLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5nZXQtaW4tdG91Y2ggLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAjcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5nZXQtaW4tdG91Y2ggaGdyb3VwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzNweDsgfVxuICAjcGFnZS1lbnRlcnByaXNlLXN1cHBvcnQgc2VjdGlvbi5nZXQtaW4tdG91Y2ggaDIge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICNwYWdlLWVudGVycHJpc2Utc3VwcG9ydCBzZWN0aW9uLmdldC1pbi10b3VjaCBwIHtcbiAgICBjb2xvcjogIzAwM2U4MjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgI3BhZ2UtZW50ZXJwcmlzZS1zdXBwb3J0IHNlY3Rpb24uZ2V0LWluLXRvdWNoIC5idG4tZ3JvdXAge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICNwYWdlLWVudGVycHJpc2Utc3VwcG9ydCBzZWN0aW9uLmdldC1pbi10b3VjaCAuYnRuIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/enterprise/why-ionic.css ================================================ .ee-hero { max-width: 640px; padding-top: 130px; padding-bottom: 160px; } .ee-hero::before, .ee-hero::after { display: none; } .ee-hero h1 { font-size: 52px; line-height: 62px; max-width: 930px; letter-spacing: -0.03em; color: #020814; margin-top: 0; margin-bottom: 16px; } .ee-hero h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 13px; line-height: 26px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; margin-bottom: 29px; } .ee-hero p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 24px; font-weight: 400; line-height: 36px; letter-spacing: -0.04em; color: rgba(39, 50, 63, 0.8); } .ee-hero .btn { padding-left: 24px; padding-right: 20px; padding-top: 18px; padding-bottom: 18px; font-size: 14px; margin-top: 16px; line-height: 20px; letter-spacing: 0.08em; color: white; text-transform: uppercase; font-weight: 700; background: #3880FF; box-shadow: 0px 2px 4px rgba(2, 8, 20, 0.1), 0px 1px 2px rgba(2, 8, 20, 0.08); border-radius: 210px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } .ee-hero .btn::after { background-image: url('data:image/svg+xml;utf8,'); background-size: 100%; content: ''; height: 20px; width: 20px; display: block; margin-left: 8px; -webkit-transform: translateY(-1px); transform: translateY(-1px); } .ee-hero .btn:hover { background-color: #4f8bf5; } .ee-hero--large h1 { font-size: 62px; line-height: 69px; } .ee-hero--wide { max-width: 960px; } .ee-hero--centered { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; text-align: center; margin-left: auto; margin-right: auto; } @media (max-width: 767px) { .ee-hero { padding-top: 70px; padding-bottom: 0; } .ee-hero h1 { font-size: 44px; line-height: 52px; } .ee-hero--large h1 { font-size: 50px; line-height: 60px; } } @media (max-width: 480px) { .ee-hero h1 { font-size: 36px; line-height: 44px; margin-bottom: 6px; } .ee-hero--large h1 { font-size: 42px; line-height: 52px; } .ee-hero .btn { margin-top: 8px; } } .ee-main { margin-top: 0; } .ee-main section { margin-bottom: 200px; } .ee-main .left, .ee-main .right, .ee-main .center { display: -ms-flexbox; display: flex; } .ee-main .left::before, .ee-main .left::after, .ee-main .right::before, .ee-main .right::after, .ee-main .center::before, .ee-main .center::after { display: none; } .ee-main .left .content, .ee-main .right .content { max-width: 480px; } @media (max-width: 767px) { .ee-main .left .content, .ee-main .right .content { max-width: 100%; text-align: center; } .ee-main .left .content li, .ee-main .right .content li { text-align: left; } } .ee-main .left { -ms-flex-direction: row; flex-direction: row; } .ee-main .left .graphics { margin-left: auto; } .ee-main .right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; margin-left: auto; } .ee-main .right .graphics { margin-right: auto; } .ee-main .center { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; } .ee-main .center .content { width: 894px; max-width: 100%; } .ee-main .full .content { max-width: 568px; } @media (max-width: 767px) { .ee-main .right, .ee-main .left { -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-align: center; align-items: center; } .ee-main .right .graphics, .ee-main .left .graphics { margin-bottom: 24px; margin-left: 0; margin-right: 0; } .ee-main section { margin-bottom: 100px; } } .ee-main .graphics { -ms-flex-pack: end; justify-content: flex-end; } .ee-main .graphics img { width: 100%; } .ee-main h2 { font-size: 44px; line-height: 51px; letter-spacing: -0.03em; } .ee-main h2:first-child { margin-top: 0; } .ee-main .ee-section__title { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: bold; font-size: 12px; line-height: 23px; letter-spacing: 0.14em; text-transform: uppercase; color: #5B708B; margin-top: 0; } .ee-main .ee-section__cta { display: inline-block; font-size: 18px; font-weight: 500; margin-top: 16px; } .ee-main p { font-size: 20px; line-height: 31px; letter-spacing: -0.02em; color: #5B708B; margin-top: 18px; } .ee-main p.sm { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; } .ee-main ul:not(.frameworks) { margin-top: 54px; } .ee-main .content ul { padding-left: 0; } .ee-main .content li { font-size: 16px; line-height: 23px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 40px; padding-left: 30px; list-style: none; position: relative; } .ee-main .content li::before { background-image: url("/img/enterprise/check.svg"); background-size: 100%; content: ''; height: 10px; width: 13px; position: absolute; left: 0; top: 8px; } .ee-main .features { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 64px; grid-row-gap: 24px; padding: 0; } .ee-main .features li { list-style: none; } .ee-main .features .icon { margin-bottom: 16px; width: 48px; } @media (max-width: 991px) { .ee-main .features { -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; } } @media (max-width: 500px) { .ee-main .features { -ms-grid-columns: 1fr; grid-template-columns: 1fr; } } .ee-main .cta-card { background: #4a8bfc; border-radius: 12px; padding: 72px 72px 60px; background-size: cover; color: white; } .ee-main .cta-card .ee-section__title, .ee-main .cta-card p { color: #CED6E0; } #how-to { margin-bottom: 0; position: relative; padding-top: 140px; } #how-to::before { position: absolute; top: 0; width: 100vw; border-top: 1px solid rgba(146, 161, 179, 0.3); content: ''; display: block; } .cards--red-v-blue { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } .cards--red-v-blue__card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } .cards--red-v-blue__card:last-child { margin-right: 0; } .cards--red-v-blue__card:nth-child(2) { background: #F88D8D; } .cards--red-v-blue__card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } .cards--red-v-blue h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } .cards--red-v-blue p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); margin-top: 0; margin-bottom: 22px; } .cards--red-v-blue .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } .cards--red-v-blue .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { .cards--red-v-blue { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } .cards--red-v-blue__card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; max-width: 460px; } } aside { background: linear-gradient(180deg, #F9FAFB 0%, #FFFFFF 100%); margin-top: -60px; padding-top: 200px; padding-bottom: 120px; } aside p { color: #414D5C; } aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } .ee-get-started { max-width: 700px; } .ee-get-started h3 { color: #414D5C; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .ee-main .features li p, .ee-main .cards li p, .resources .features li p, .resources .cards li p { font-size: 16px; line-height: 29px; letter-spacing: -0.01em; color: #73849A; margin-top: 0; } .ee-main .features li h4, .ee-main .cards li h4, .resources .features li h4, .resources .cards li h4 { font-size: 20px; line-height: normal; letter-spacing: -0.02em; color: #020814; font-weight: 600; } .resources .cards { margin-top: 0 !important; text-align: left; -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards .img-wrapper { border-radius: 6px; } .resources .cards .img-wrapper + h4 { margin-top: 24px; } @media (min-width: 1220px) { .resources .cards { margin-left: -40px; margin-right: -40px; } .resources .cards li { padding: 40px; } } .resources .resources__customer-logos { display: -ms-flexbox; display: flex; margin: 26px auto 0; padding: 0; -ms-flex-pack: justify; justify-content: space-between; max-width: 780px; width: 100%; } .resources .resources__customer-logos li { background: url("/img/enterprise/customer-logos.png"); background-size: 428px 46px; background-repeat: no-repeat; display: block; height: 46px; } @media (max-width: 768px) { .resources .resources__customer-logos { -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 460px; } .resources .resources__customer-logos li { margin: 20px; } } .resources .resources__customer-logos .mastercard { width: 58px; } .resources .resources__customer-logos .nationwide { background-position: -58px 0; width: 33px; } .resources .resources__customer-logos .uniqlo { background-position: -91px 0; width: 65px; } .resources .resources__customer-logos .ibm { background-position: -156px 0; width: 64px; } .resources .resources__customer-logos .ing { background-position: -222px 0; width: 103px; } .resources .resources__customer-logos .sap { background-position: -326px 0; width: 56px; } .resources .resources__customer-logos .nasa { background-position: -380px 0; width: 50px; } #experiences .content { max-width: 500px; } #experiences .graphics { width: 580px; margin-right: 28px; } #experiences .graphics img { width: 757px; float: right; } @media (max-width: 1219px) { #experiences .graphics { width: 320px; padding-right: 20px; } } @media (max-width: 767px) { #experiences .graphics { width: 100%; margin-right: 0; } #experiences .graphics img { width: 100%; float: none; max-width: 757px; } } #streamline .graphics { padding-left: 20px; } #talent .graphics { width: 560px; } @media (max-width: 1219px) { #talent .graphics { width: calc(100% - 520px); } } @media (max-width: 767px) { #talent .graphics { width: 100%; max-width: 560px; margin: 0 auto 20px; } } #create .graphics { width: 593px; padding-left: 20px; max-width: 100%; } #developers .graphics { padding-right: 20px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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cEI7RUFDRSxvQkFBb0IsRUFBRSIsImZpbGUiOiJwYWdlcy9lbnRlcnByaXNlL3doeS1pb25pYy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZWUtaGVybyB7XG4gIG1heC13aWR0aDogNjQwcHg7XG4gIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDE2MHB4OyB9XG4gIC5lZS1oZXJvOjpiZWZvcmUsIC5lZS1oZXJvOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZWUtaGVybyBoMSB7XG4gICAgZm9udC1zaXplOiA1MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xuICAgIG1heC13aWR0aDogOTMwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIC5lZS1oZXJvIGg0IHtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzkyQTFCMztcbiAgICBtYXJnaW4tYm90dG9tOiAyOXB4OyB9XG4gIC5lZS1oZXJvIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG4gICAgY29sb3I6IHJnYmEoMzksIDUwLCA2MywgMC44KTsgfVxuICAuZWUtaGVybyAuYnRuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogIzM4ODBGRjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKDIsIDgsIDIwLCAwLjEpLCAwcHggMXB4IDJweCByZ2JhKDIsIDgsIDIwLCAwLjA4KTtcbiAgICBib3JkZXItcmFkaXVzOiAyMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZWUtaGVybyAuYnRuOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJ3aGl0ZVwiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiPjxwYXRoIGQ9XCJNODUgMjc3LjM3NWgyNTkuNzA0TDIyNS4wMDIgMzk3LjA3NyAyNTYgNDI3bDE3MS0xNzFMMjU2IDg1bC0yOS45MjIgMjkuOTI0IDExOC42MjYgMTE5LjcwMUg4NXY0Mi43NXpcIi8+PC9zdmc+Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9XG4gICAgLmVlLWhlcm8gLmJ0bjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY4YmY1OyB9XG4gIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgZm9udC1zaXplOiA2MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2OXB4OyB9XG4gIC5lZS1oZXJvLS13aWRlIHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4OyB9XG4gIC5lZS1oZXJvLS1jZW50ZXJlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZWUtaGVybyB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAuZWUtaGVybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH1cbiAgICAgIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuZWUtaGVybyBoMSB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDsgfVxuICAgIC5lZS1oZXJvLS1sYXJnZSBoMSB7XG4gICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDsgfVxuICAgIC5lZS1oZXJvIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cblxuLmVlLW1haW4ge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIHNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4OyB9XG4gIC5lZS1tYWluIC5sZWZ0LFxuICAuZWUtbWFpbiAucmlnaHQsXG4gIC5lZS1tYWluIC5jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZWUtbWFpbiAubGVmdDo6YmVmb3JlLCAuZWUtbWFpbiAubGVmdDo6YWZ0ZXIsXG4gICAgLmVlLW1haW4gLnJpZ2h0OjpiZWZvcmUsXG4gICAgLmVlLW1haW4gLnJpZ2h0OjphZnRlcixcbiAgICAuZWUtbWFpbiAuY2VudGVyOjpiZWZvcmUsXG4gICAgLmVlLW1haW4gLmNlbnRlcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZWUtbWFpbiAubGVmdCAuY29udGVudCxcbiAgLmVlLW1haW4gLnJpZ2h0IC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuZWUtbWFpbiAubGVmdCAuY29udGVudCxcbiAgICAgIC5lZS1tYWluIC5yaWdodCAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5lZS1tYWluIC5sZWZ0IC5jb250ZW50IGxpLFxuICAgICAgICAuZWUtbWFpbiAucmlnaHQgLmNvbnRlbnQgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuZWUtbWFpbiAubGVmdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5lZS1tYWluIC5sZWZ0IC5ncmFwaGljcyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuZWUtbWFpbiAucmlnaHQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5lZS1tYWluIC5yaWdodCAuZ3JhcGhpY3Mge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5lZS1tYWluIC5jZW50ZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZWUtbWFpbiAuY2VudGVyIC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiA4OTRweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuZWUtbWFpbiAuZnVsbCAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA1NjhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZWUtbWFpbiAucmlnaHQsXG4gICAgLmVlLW1haW4gLmxlZnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmVlLW1haW4gLnJpZ2h0IC5ncmFwaGljcyxcbiAgICAgIC5lZS1tYWluIC5sZWZ0IC5ncmFwaGljcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuZWUtbWFpbiBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9IH1cbiAgLmVlLW1haW4gLmdyYXBoaWNzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmVlLW1haW4gLmdyYXBoaWNzIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuZWUtbWFpbiBoMiB7XG4gICAgZm9udC1zaXplOiA0NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtOyB9XG4gICAgLmVlLW1haW4gaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZWUtbWFpbiAuZWUtc2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzVCNzA4QjtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5lZS1tYWluIC5lZS1zZWN0aW9uX19jdGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIC5lZS1tYWluIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogIzVCNzA4QjtcbiAgICBtYXJnaW4tdG9wOiAxOHB4OyB9XG4gICAgLmVlLW1haW4gcC5zbSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG4gIC5lZS1tYWluIHVsOm5vdCguZnJhbWV3b3Jrcykge1xuICAgIG1hcmdpbi10b3A6IDU0cHg7IH1cbiAgLmVlLW1haW4gLmNvbnRlbnQgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZWUtbWFpbiAuY29udGVudCBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmVlLW1haW4gLmNvbnRlbnQgbGk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2VudGVycHJpc2UvY2hlY2suc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB3aWR0aDogMTNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDhweDsgfVxuICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICBncmlkLWNvbHVtbi1nYXA6IDY0cHg7XG4gICAgZ3JpZC1yb3ctZ2FwOiAyNHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZWUtbWFpbiAuZmVhdHVyZXMgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5lZS1tYWluIC5mZWF0dXJlcyAuaWNvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgd2lkdGg6IDQ4cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5lZS1tYWluIC5mZWF0dXJlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAuZWUtbWFpbiAuZmVhdHVyZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG4gIC5lZS1tYWluIC5jdGEtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogIzRhOGJmYztcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDcycHggNzJweCA2MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmVlLW1haW4gLmN0YS1jYXJkIC5lZS1zZWN0aW9uX190aXRsZSxcbiAgICAuZWUtbWFpbiAuY3RhLWNhcmQgcCB7XG4gICAgICBjb2xvcjogI0NFRDZFMDsgfVxuXG4jaG93LXRvIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTQwcHg7IH1cbiAgI2hvdy10bzo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNDYsIDE2MSwgMTc5LCAwLjMpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jYXJkcy0tcmVkLXYtYmx1ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAzOHB4OyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZV9fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogIzdDQUJGRjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogNDBweCA0MHB4IDM0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogMjRweDtcbiAgICBmbGV4OiAwIDEgNDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlX19jYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjg4RDhEOyB9XG4gICAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQ6bnRoLWNoaWxkKDIpIC5idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NCwgODQsIDg0LCAwLjUpOyB9XG4gIC5jYXJkcy0tcmVkLXYtYmx1ZSBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhcmRzLS1yZWQtdi1ibHVlIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuICAuY2FyZHMtLXJlZC12LWJsdWUgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDllbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDU2LCAxMjgsIDI1NSwgMC41KTsgfVxuICAgIC5jYXJkcy0tcmVkLXYtYmx1ZSAuYnRuIGlvbi1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmNhcmRzLS1yZWQtdi1ibHVlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuY2FyZHMtLXJlZC12LWJsdWVfX2NhcmQge1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7IH0gfVxuXG5hc2lkZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGOUZBRkIgMCUsICNGRkZGRkYgMTAwJSk7XG4gIG1hcmdpbi10b3A6IC02MHB4O1xuICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBhc2lkZSBwIHtcbiAgICBjb2xvcjogIzQxNEQ1QzsgfVxuICBhc2lkZSAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0MzJweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmVlLWdldC1zdGFydGVkIHtcbiAgbWF4LXdpZHRoOiA3MDBweDsgfVxuICAuZWUtZ2V0LXN0YXJ0ZWQgaDMge1xuICAgIGNvbG9yOiAjNDE0RDVDOyB9XG5cbi5yZXNvdXJjZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjRweDsgfVxuICAucmVzb3VyY2VzIGhncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzFBMjMyRjsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBpb24taWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIDMzLjMzJTtcbiAgICBwYWRkaW5nOiAyNHB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgLmltZy13cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBoNiB7XG4gICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNCMkJFQ0Q7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBjb2xvcjogIzFBMjMyRjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBwIHtcbiAgICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgaDUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5lZS1tYWluIC5mZWF0dXJlcyBsaSBwLFxuLmVlLW1haW4gLmNhcmRzIGxpIHAsXG4ucmVzb3VyY2VzIC5mZWF0dXJlcyBsaSBwLFxuLnJlc291cmNlcyAuY2FyZHMgbGkgcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBjb2xvcjogIzczODQ5QTtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZWUtbWFpbiAuZmVhdHVyZXMgbGkgaDQsXG4uZWUtbWFpbiAuY2FyZHMgbGkgaDQsXG4ucmVzb3VyY2VzIC5mZWF0dXJlcyBsaSBoNCxcbi5yZXNvdXJjZXMgLmNhcmRzIGxpIGg0IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgY29sb3I6ICMwMjA4MTQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnJlc291cmNlcyAuY2FyZHMge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAucmVzb3VyY2VzIC5jYXJkcyAuaW1nLXdyYXBwZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIC5pbWctd3JhcHBlciArIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTQwcHg7IH1cbiAgICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgICAgcGFkZGluZzogNDBweDsgfSB9XG5cbi5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDI2cHggYXV0byAwO1xuICBwYWRkaW5nOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1heC13aWR0aDogNzgwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgbGkge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9jdXN0b21lci1sb2dvcy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MjhweCA0NnB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0NnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3Mge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXgtd2lkdGg6IDQ2MHB4OyB9XG4gICAgICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIGxpIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4OyB9IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubWFzdGVyY2FyZCB7XG4gICAgd2lkdGg6IDU4cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAubmF0aW9ud2lkZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU4cHggMDtcbiAgICB3aWR0aDogMzNweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC51bmlxbG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05MXB4IDA7XG4gICAgd2lkdGg6IDY1cHg7IH1cbiAgLnJlc291cmNlcyAucmVzb3VyY2VzX19jdXN0b21lci1sb2dvcyAuaWJtIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU2cHggMDtcbiAgICB3aWR0aDogNjRweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5pbmcge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjJweCAwO1xuICAgIHdpZHRoOiAxMDNweDsgfVxuICAucmVzb3VyY2VzIC5yZXNvdXJjZXNfX2N1c3RvbWVyLWxvZ29zIC5zYXAge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjZweCAwO1xuICAgIHdpZHRoOiA1NnB4OyB9XG4gIC5yZXNvdXJjZXMgLnJlc291cmNlc19fY3VzdG9tZXItbG9nb3MgLm5hc2Ege1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zODBweCAwO1xuICAgIHdpZHRoOiA1MHB4OyB9XG5cbiNleHBlcmllbmNlcyAuY29udGVudCB7XG4gIG1heC13aWR0aDogNTAwcHg7IH1cblxuI2V4cGVyaWVuY2VzIC5ncmFwaGljcyB7XG4gIHdpZHRoOiA1ODBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyOHB4OyB9XG4gICNleHBlcmllbmNlcyAuZ3JhcGhpY3MgaW1nIHtcbiAgICB3aWR0aDogNzU3cHg7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAjZXhwZXJpZW5jZXMgLmdyYXBoaWNzIHtcbiAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjZXhwZXJpZW5jZXMgLmdyYXBoaWNzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAjZXhwZXJpZW5jZXMgLmdyYXBoaWNzIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiA3NTdweDsgfSB9XG5cbiNzdHJlYW1saW5lIC5ncmFwaGljcyB7XG4gIHBhZGRpbmctbGVmdDogMjBweDsgfVxuXG4jdGFsZW50IC5ncmFwaGljcyB7XG4gIHdpZHRoOiA1NjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgI3RhbGVudCAuZ3JhcGhpY3Mge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUyMHB4KTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICN0YWxlbnQgLmdyYXBoaWNzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7IH0gfVxuXG4jY3JlYXRlIC5ncmFwaGljcyB7XG4gIHdpZHRoOiA1OTNweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuI2RldmVsb3BlcnMgLmdyYXBoaWNzIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuIl19 */ ================================================ FILE: content/css/pages/framework.css ================================================ @charset "UTF-8"; .page-framework .primary-row { text-align: center; } .page-framework .primary-row h1, .page-framework .primary-row h2 { border: none; font-weight: normal; } .page-framework .primary-row h1 { margin: 10px 0 0 0; color: #ebf3ff; font-size: 49px; } .page-framework .primary-row h2 { margin: 5px 0 0 0; color: #A8C7FF; font-size: 16px; line-height: 28px; font-weight: 600; cursor: default; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } .page-framework .primary-row .desktop-btn { display: none; } .page-framework .btn-row { padding: 0; } .page-framework .version-text { color: rgba(255, 255, 255, 0.4); font-weight: 500; font-size: 11px; } .page-framework .version-text a { color: rgba(255, 255, 255, 0.4); } .page-framework .version-text a:hover { color: rgba(255, 255, 255, 0.7); text-decoration: none; } .page-framework .feature-img { height: 175px; } @media (max-width: 767px) { .page-framework .feature-img { display: none; } } .page-framework .feature-img .demo-link { visibility: visible; } .page-framework .feature-img .app-icon { visibility: visible; } .page-framework .feature-img .device.iphone { width: 544px; position: relative; left: 46px; top: 36px; } .page-framework .feature-img .device.pixel { width: 430px; position: absolute; top: 64px; right: 110px; } @media (max-width: 991px) { .page-framework .feature-img .device.pixel { right: 0; } } .page-framework .feature-img .one, .page-framework .feature-img .two { opacity: 0; -webkit-animation: fadeInDown .7s; animation: fadeInDown .7s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } .page-framework .feature-img .one { -webkit-animation-delay: .5s; animation-delay: .5s; } .page-framework .feature-img .two { -webkit-animation-delay: .7s; animation-delay: .7s; } .page-framework .feature-img .three { opacity: 0; -webkit-animation: fadeIn .7s; animation: fadeIn .7s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-animation-delay: 1s; animation-delay: 1s; } .page-framework .feature-img .app-icon { background-image: url("/img/frameworkpage/ionicview-icon_2x.png"); background-size: 84px 84px; background-repeat: no-repeat; display: none; height: 84px; width: 84px; position: absolute; right: 0; bottom: 0; } @media (max-width: 991px) { .page-framework .feature-img .app-icon { bottom: -60px; } } .page-framework .feature-img a { opacity: 1; } .page-framework .feature-img a img { opacity: .9; transition: opacity 0.1s linear; -webkit-animation-delay: .5s; animation-delay: .5s; } .page-framework .feature-img a span { opacity: .7; transition: opacity .1s linear; -webkit-animation-delay: .5s; animation-delay: .5s; } .page-framework .feature-img a:hover img, .page-framework .feature-img a:hover span { opacity: 1; } .page-framework .feature-img .demo-link { position: absolute; right: 6px; bottom: -20px; display: none; color: white; text-decoration: underline; font-weight: 500; font-size: 10px; text-decoration: none; text-shadow: 0px 1px 6px rgba(0, 0, 0, 0.2); } @media (max-width: 991px) { .page-framework .feature-img .demo-link { bottom: -75px; } } @media (min-width: 768px) { .page-framework { /* TABLET/Phone */ } .page-framework .primary-row { text-align: left; } .page-framework .primary-row h1 { font-size: 34px; } .page-framework .primary-row h2 { font-size: 20px; } .page-framework .primary-row .desktop-btn { display: inline-block; } .page-framework .primary-row .mobile-btn { display: none; } .page-framework .primary-row .demo-link { display: block; } .page-framework .primary-row .app-icon { display: block; } .page-framework .feature-img { background-size: 420px 393px; min-height: 405px; } } .page-framework .utility-bar { margin-top: -160px; position: relative; padding: 20px 0 22px; width: 100%; background: rgba(0, 0, 0, 0.15); } @media (max-width: 991px) { .page-framework .utility-bar { margin-top: -216px; } } @media (max-width: 767px) { .page-framework .utility-bar { margin-top: -528px; } } .page-framework .utility-bar .container { overflow: hidden; color: #DAE7FD; text-overflow: ellipsis; white-space: nowrap; } .page-framework .utility-bar form { max-width: 458px; float: right; } @media (max-width: 991px) { .page-framework .utility-bar form { max-width: calc(100% - 340px); } } @media (max-width: 767px) { .page-framework .utility-bar form { float: none; max-width: 100%; margin-top: 15px; } } .page-framework .utility-bar button { padding: 10px 13px; } .page-framework #promo-ionicu { background: url("/img/promos/university.jpg") no-repeat transparent; background-size: cover; text-align: center; padding-top: 100px; height: 450px; box-sizing: border-box; } .page-framework #promo-ionicu h2, .page-framework #promo-ionicu h4 { color: #fff; text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.5); } .page-framework #promo-ionicu h2 { font-weight: 400; } .page-framework #promo-ionicu h2 b { font-weight: 600; } .page-framework #promo-ionicu h4 { font-weight: 400; margin-bottom: 50px; } .page-framework #promo-ionicu .btn { background-color: white; color: #397FF2; box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15); } .page-framework #promo-snapshot { position: relative; text-align: center; background: linear-gradient(to right, #06558e 0%, #006e89 100%); padding-top: 60px; } .page-framework #promo-snapshot .container { max-width: 975px; } .page-framework #promo-snapshot h2 { font-weight: 300; margin-top: 0; margin-bottom: 20px; color: #fff; } .page-framework #promo-snapshot h2 a { font-weight: 500; color: #fff; box-shadow: inset 0 0px 0 white, inset 0 -1px 0 white; transition: .3s box-shadow; } .page-framework #promo-snapshot h2 a:hover, .page-framework #promo-snapshot h2 a:active, .page-framework #promo-snapshot h2 a:focus { text-decoration: none; box-shadow: inset 0 0px 0 white, inset 0 -2px 0 white; } .page-framework #promo-snapshot h4 { color: #fff; margin-bottom: 50px; } .page-framework #promo-snapshot img { max-width: 100%; } .page-framework #promo-snapshot #promo-bar { width: 100%; position: absolute; bottom: 0; z-index: 1; background-color: rgba(255, 255, 255, 0.95); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); padding: 10px 0; overflow: auto; } .page-framework #promo-snapshot #promo-bar .left-text { float: left; line-height: 60px; vertical-align: middle; font-weight: 500; margin-left: 15px; } .page-framework #promo-snapshot #promo-bar .right-text { float: right; line-height: 60px; vertical-align: middle; margin-right: 15px; } .page-framework .banner-cta { background: #f6f7fa; padding-top: 80px; margin-bottom: -32px; } .page-framework .banner-cta .box { background: url("/img/framework/2018-framework-card-bg.png") 50% 50% no-repeat; background-size: cover; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; border-radius: 8px; box-shadow: 0 2px 16px rgba(0, 0, 0, 0.3); padding: 37px 69px 38px 54px; position: relative; min-height: 160px; } @media (max-width: 767px) { .page-framework .banner-cta .box { display: block; padding-left: 32px; padding-right: 32px; text-align: center; } .page-framework .banner-cta .box::before { display: none; } .page-framework .banner-cta .box .btn { margin-left: 0; margin-top: 24px; } } .page-framework .banner-cta hgroup { -ms-flex-positive: 1; flex-grow: 1; color: white; position: relative; z-index: 1; margin-top: 8px; } .page-framework .banner-cta .orange { color: #fcb52c; font-size: 18px; letter-spacing: .015em; margin-bottom: 12px; line-height: 1em; } .page-framework .banner-cta h2 { font-weight: 700; margin-top: 0; font-size: 38px; letter-spacing: -.045em; margin-bottom: 5px; } .page-framework .banner-cta .lg { font-size: 22px; letter-spacing: -.019em; margin-bottom: 0; color: white; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } .page-framework .banner-cta .btn { margin-left: 8px; font-size: 16px; letter-spacing: .055em; padding: 19px 21px 14px; font-weight: 600; position: relative; z-index: 1; text-transform: uppercase; } .page-framework .built-with { background: #f6f7fa; padding-bottom: 100px; } @media (max-width: 991px) { .page-framework .built-with { padding-bottom: 40px; } } .page-framework .built-with hgroup { position: relative; padding-top: 103px; } @media (max-width: 991px) { .page-framework .built-with hgroup { padding-top: 280px; } } @media (max-width: 767px) { .page-framework .built-with hgroup { padding-top: 153px; } } .page-framework .built-with hgroup h2, .page-framework .built-with hgroup h4 { width: 48%; } @media (max-width: 991px) { .page-framework .built-with hgroup h2, .page-framework .built-with hgroup h4 { width: 100%; text-align: center; } } .page-framework .built-with hgroup h2 { font-size: 28px; font-weight: 500; letter-spacing: -.02em; } .page-framework .built-with hgroup h4 { font-size: 20px; font-weight: 400; color: #4a566b; line-height: 1.8em; margin-top: 16px; letter-spacing: -.02em; } .page-framework .built-with .techs { list-style: none; position: absolute; right: 0; top: 123px; width: 48%; } @media (max-width: 991px) { .page-framework .built-with .techs { top: 50px; left: 0; margin: 0 auto; width: 600px; } } @media (max-width: 767px) { .page-framework .built-with .techs { -webkit-transform: scale(0.5, 0.5); transform: scale(0.5, 0.5); top: 50px; width: 600px; } } @media (max-width: 600px) { .page-framework .built-with .techs { margin-left: calc(50% - 300px); } } .page-framework .built-with .techs li { background: url("/img/framework/web-icons.png") no-repeat 0 0; background-size: 200px; height: 200px; width: 200px; position: absolute; opacity: 0; -webkit-animation: fadeIn 1s; animation: fadeIn 1s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } .page-framework .built-with .techs li.angular { right: 64.5%; -webkit-animation-delay: 1.4s; animation-delay: 1.4s; } .page-framework .built-with .techs li.js { right: 43%; background-position: 0 -200px; -webkit-animation-delay: 1.6s; animation-delay: 1.6s; } .page-framework .built-with .techs li.ts { right: 21.5%; background-position: 0 -400px; -webkit-animation-delay: 1.8s; animation-delay: 1.8s; } .page-framework .built-with .techs li.html { right: 0%; background-position: 0 -600px; -webkit-animation-delay: 2s; animation-delay: 2s; } .page-framework .built-with .features { margin-top: 75px; } @media (max-width: 991px) { .page-framework .built-with .features { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 45px; } } .page-framework .built-with .features li { width: calc(25% + 2px); display: inline-block; padding-left: 37px; padding-right: 20px; vertical-align: top; background: url("/img/framework/checkmark-icon.png") no-repeat 0 0; background-size: 24px; } @media (max-width: 991px) { .page-framework .built-with .features li { width: auto; -ms-flex: 1 0 320px; flex: 1 0 320px; margin-bottom: 15px; } } .page-framework .built-with .features li h3 { font-size: 17px; font-weight: 500; margin-top: 4px; margin-bottom: 5px; } .page-framework .built-with .features li p { font-size: 16px; font-weight: 400; color: #5c6a81; line-height: 1.7em; letter-spacing: -.02em; } .page-framework .built-with .features li:last-child { padding-right: 0; width: calc(25% - 19px); } .page-framework .about-code { position: relative; } .page-framework .about-code .code-box { width: 545px; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04); border-radius: 4px; position: absolute; top: -20px; background: white; } @media (max-width: 626px) { .page-framework .about-code .code-box { display: none; } } .page-framework .about-code .code-box .app, .page-framework .about-code .code-box .toggle { transition: 0.7s right cubic-bezier(0.49, 1.65, 0.73, 1.13); } .page-framework .about-code .code-box.done .app, .page-framework .about-code .code-box.done .toggle { transition: none; } .page-framework .about-code .code-box.active .app, .page-framework .about-code .code-box.active .toggle { right: 65%; } .page-framework .about-code .code-box header { padding: 24px 38px 28px; position: relative; z-index: 5; } .page-framework .about-code .code-box header::after { position: absolute; bottom: -5px; background: linear-gradient(to bottom, rgba(200, 200, 200, 0.3) 0%, rgba(200, 200, 200, 0) 100%); left: 0; right: 0; height: 5px; content: ''; display: block; } .page-framework .about-code .code-box header h3 { font-weight: 700; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; display: inline-block; } .page-framework .about-code .code-box header .platforms { list-style: none; position: absolute; right: 26px; top: 37px; } .page-framework .about-code .code-box header .platforms li { background: url("/img/framework/icons-sm.png") no-repeat 0 0; background-size: 24px; height: 24px; width: 24px; display: inline-block; margin-right: 9px; } .page-framework .about-code .code-box header .platforms li.android { background-position: 0 -24px; } .page-framework .about-code .code-box header .platforms li.windows { background-position: 0 -48px; } .page-framework .about-code .code-box header .platforms li.chrome { background-position: 0 -72px; } .page-framework .about-code .code-box header .platforms li.electron { background-position: 0 -96px; } .page-framework .about-code hgroup { min-height: 469px; margin-left: 625px; } @media (max-width: 991px) { .page-framework .about-code hgroup { margin-left: 0; margin-top: 400px; text-align: center; min-height: 0; margin-bottom: 40px; } } @media (max-width: 626px) { .page-framework .about-code hgroup { margin-top: 0; } } .page-framework .about-code hgroup h2 { padding-top: 72px; font-size: 28px; line-height: 1.6em; font-weight: 500; letter-spacing: -.02em; } .page-framework .about-code hgroup h4 { font-size: 20px; font-weight: 400; color: #4a566b; line-height: 1.8em; margin-top: 16px; letter-spacing: -0.02em; } .page-framework .about-code hgroup h4 strong { color: black; font-weight: 400; } .page-framework .about-code .features { list-style: none; padding: 0 0 109px; } @media (max-width: 991px) { .page-framework .about-code .features { padding-bottom: 50px; } } .page-framework .about-code .features li { display: inline-block; padding-top: 93px; position: relative; width: 29.7%; vertical-align: top; padding-right: 5%; box-sizing: content-box; } @media (max-width: 991px) { .page-framework .about-code .features li { width: 100%; text-align: center; margin-bottom: 40px; padding-right: 0; } } .page-framework .about-code .features li::before { background: url("/img/framework/icons-lg.png") no-repeat 0 0; background-size: 93px; height: 93px; width: 93px; content: ''; top: 0; left: -7px; position: absolute; } @media (max-width: 991px) { .page-framework .about-code .features li::before { left: calc(50% - 47px); } } .page-framework .about-code .features li.beautiful::before { background-position: 0 -93px; } .page-framework .about-code .features li.optimized::before { background-position: 0 -186px; } .page-framework .about-code .features li:last-child { padding-right: 0; } .page-framework .about-code .features li h3 { font-size: 22px; font-weight: 500; margin-bottom: 16px; letter-spacing: -0.02em; } .page-framework .about-code .features li p, .page-framework .about-code .features li a { font-size: 16px; color: #5c6a81; line-height: 2em; letter-spacing: -0.02em; } .page-framework .about-code .features li a { color: #4a8bfc; font-weight: 500; } .page-framework .about-code .features li a span { position: relative; right: -2px; top: 2px; } .page-framework .about-code .features li a:hover { color: #317bfc; text-decoration: none; } .page-framework .about-toolkit { background: #09224d; background: linear-gradient(to right, #051d46 0%, #1d3f6f 100%); padding-top: 109px; padding-bottom: 36px; color: #9fb0cb; } .page-framework .about-toolkit hgroup { text-align: center; margin-bottom: 96px; } .page-framework .about-toolkit hgroup h2 { color: white; font-size: 27px; font-weight: 500; margin-bottom: 27px; letter-spacing: -.01em; } .page-framework .about-toolkit hgroup h4 { font-weight: 500; font-size: 20px; letter-spacing: -.02em; } .page-framework .about-toolkit .features { list-style: none; padding: 0; } @media (max-width: 1219px) { .page-framework .about-toolkit .features { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } } .page-framework .about-toolkit .features li { width: calc(33% + 22px); display: inline-block; padding-left: 83px; margin-bottom: 54px; font-weight: 500; font-size: 16px; padding-right: 55px; line-height: 1.8em; vertical-align: top; position: relative; letter-spacing: -0.02em; } .page-framework .about-toolkit .features li:nth-child(3), .page-framework .about-toolkit .features li:last-child { width: calc(33% - 40px); padding-right: 0; } @media (max-width: 1219px) { .page-framework .about-toolkit .features li { width: auto; -ms-flex: 1 0 350px; flex: 1 0 350px; } .page-framework .about-toolkit .features li:nth-child(3), .page-framework .about-toolkit .features li:last-child { width: auto; } } .page-framework .about-toolkit .features li::before { background: url("/img/framework/icons-md.png") no-repeat 0 0; background-size: 80px; height: 80px; width: 80px; content: ''; position: absolute; left: 0; top: 0; } .page-framework .about-toolkit .features li.cli::before { background-position: 0 -320px; } .page-framework .about-toolkit .features li.native::before { background-position: 0 -400px; } .page-framework .about-toolkit .features li.reload::before { background-position: 0 -480px; } .page-framework .about-toolkit .features li.zionicons::before { background-position: 0 -560px; } .page-framework .about-toolkit .features li.deeplinking::before { background-position: 0 -640px; } .page-framework .about-toolkit .features li.aot::before { background-position: 0 -720px; } .page-framework .about-toolkit .features li a { color: white; } .page-framework .about-toolkit .features li a:hover { text-decoration: none; color: rgba(255, 255, 255, 0.7); } .page-framework .about-community { background: #09172e; background: url("/img/framework/map.png") no-repeat center center, linear-gradient(to right, #050f23 0%, #13233f 100%); background-size: cover, 100%; color: #909ebb; padding-bottom: 44px; } .page-framework .about-community .container { position: relative; } .page-framework .about-community .stats { background: white; border-radius: 4px; color: #529eff; width: 412px; text-transform: uppercase; position: absolute; right: 15px; top: -19px; padding: 55px 85px 52px; text-align: center; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); } @media (max-width: 767px) { .page-framework .about-community .stats { position: relative; right: 0; width: 100%; } } @media (max-width: 420px) { .page-framework .about-community .stats { padding-right: 15px; padding-left: 15px; } } .page-framework .about-community .stats h5 { background: #fff; color: #b8c1cf; font-size: 11px; position: relative; padding: 0 10px; font-weight: 700; letter-spacing: .2em; } .page-framework .about-community .stats h5::before, .page-framework .about-community .stats h5::after { content: ''; left: 0; right: 73%; border-bottom: 1px solid #d0d6e0; display: block; top: 4px; position: absolute; } .page-framework .about-community .stats h5::after { left: 73%; right: 0; } .page-framework .about-community .stats h1 { font-weight: 600; font-size: 78px; letter-spacing: -3px; margin-bottom: 0; margin-top: 36px; } .page-framework .about-community .stats h4 { margin-top: -3px; font-size: 13px; color: #272a2f; font-weight: 700; letter-spacing: 5px; } .page-framework .about-community .stats ul { list-style: none; padding: 33px 0 0; } @media (max-width: 767px) { .page-framework .about-community .stats ul { max-width: 250px; margin: 0 auto; } } .page-framework .about-community .stats li { font-weight: 700; text-align: left; position: relative; letter-spacing: .15em; padding: 12px 0 16px 37px; font-size: 13px; } .page-framework .about-community .stats li::before { background: url("/img/framework/icons-sm.png") no-repeat 0 0; background-size: 24px; height: 24px; width: 24px; content: ''; display: block; position: absolute; left: -4px; top: 10px; } .page-framework .about-community .stats li.devs::before { background-position: 0 -120px; } .page-framework .about-community .stats li.meetups::before { background-position: 0 -144px; } .page-framework .about-community .stats li.github::before { background-position: 0 -168px; } .page-framework .about-community .stats li.so::before { background-position: 0 -192px; } .page-framework .about-community hgroup { padding-top: 108px; margin-right: 425px; padding-bottom: 76px; } @media (max-width: 991px) { .page-framework .about-community hgroup { padding-top: 20px; padding-bottom: 46px; } } @media (max-width: 767px) { .page-framework .about-community hgroup { margin-right: 0; text-align: center; } } .page-framework .about-community hgroup h2 { color: white; font-weight: 400; margin-bottom: 16px; font-size: 27px; margin-bottom: 28px; } .page-framework .about-community hgroup h4 { font-weight: 500; font-size: 19px; } .page-framework .about-community .features { list-style: none; margin-right: 420px; padding: 0; } @media (max-width: 767px) { .page-framework .about-community .features { margin-right: 0; } } .page-framework .about-community .features li { padding: 0 64px 83px 78px; display: inline-block; position: relative; width: 49%; font-weight: 500; font-size: 16px; } @media (max-width: 991px) { .page-framework .about-community .features li { width: 100%; padding-right: 5px; padding-bottom: 50px; } } .page-framework .about-community .features li::before { background: url("/img/framework/icons-md.png") no-repeat 0 0; background-size: 80px; height: 80px; width: 80px; content: ''; display: block; position: absolute; left: -11px; top: -11px; } .page-framework .about-community .features li.so::before { background-position: 0 -80px; } .page-framework .about-community .features li.slack::before { background-position: 0 -160px; } .page-framework .about-community .features li.forum::before { background-position: 0 -240px; } .page-framework .about-community a { color: white; } .page-framework .about-community a:hover { text-decoration: none; color: rgba(255, 255, 255, 0.7); } .page-framework .loved-by { text-align: center; position: relative; } .page-framework .loved-by h2 { margin-top: 125px; padding-top: 58px; margin-bottom: 67px; font-size: 22px; font-weight: 500; color: #4a566b; position: relative; letter-spacing: -.03em; } .page-framework .loved-by h2::before { background: url("/img/framework/heart-icon.png") no-repeat center top; background-size: 48px; height: 43px; width: 48px; content: ''; display: block; position: absolute; top: 0; left: calc(50% - 24px); -webkit-animation: pulse 3.5s infinite; animation: pulse 3.5s infinite; } .page-framework .loved-by h2 strong { font-weight: 500; color: #272a2f; } .page-framework .loved-by h3 { font-family: 'Georgia', sans-serif; font-size: 22px; margin: 0 auto; display: inline-block; max-width: 900px; color: #727a87; line-height: 2.2em; position: relative; font-weight: 300; position: absolute; left: 0; right: 0; opacity: 0; } .page-framework .loved-by h3.active { position: relative; opacity: 1; } .page-framework .loved-by h3.active::before { background: url("/img/quote.png") no-repeat; background-size: 50px 50px; height: 50px; width: 50px; content: ''; position: absolute; left: -50px; top: -5px; opacity: .7; } .page-framework .loved-by .quotees { list-style: none; padding: 36px 0 44px; } @media (max-width: 991px) { .page-framework .loved-by .quotees { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: distribute; justify-content: space-around; } } .page-framework .loved-by .quotees li { list-style: none; text-align: left; display: inline-block; position: relative; padding-left: 90px; padding-right: 40px; vertical-align: top; min-width: 23%; min-height: 80px; margin-bottom: 20px; opacity: .3; transition: .3s opacity; cursor: pointer; } @media (max-width: 991px) { .page-framework .loved-by .quotees li { -ms-flex: 0 0 240px; flex: 0 0 240px; padding-right: 20px; } } .page-framework .loved-by .quotees li.active { opacity: 1; } .page-framework .loved-by .quotees li img { position: absolute; left: 0; width: 88px; height: 80px; } .page-framework .loved-by .quotees li strong { display: block; font-weight: 500; font-size: 16px; margin-top: 27px; } .page-framework .loved-by .quotees li span { color: #727a87; font-size: 14px; } .page-framework .loved-by .quotees li span a { color: #4a8bfc; } .page-framework .loved-by .quotees li span a:hover { color: #317bfc; text-decoration: none; } .page-framework .loved-by .companies { width: 100%; max-width: 977px; margin: 10px auto 123px; } .fadeInDown { -webkit-animation-name: fadeInDown; animation-name: fadeInDown; } #slider { margin: 0 auto; padding: 0; position: relative; top: -78px; width: 100%; overflow-x: hidden; } #slider .slick-prev, #slider .slick-next { left: 10px; top: 40%; } #slider .slick-prev:before, #slider .slick-next:before { content: ' '; display: block; position: relative; background: no-repeat url("/img/slider-arrow-left.png"); background-size: 19px; width: 19px; height: 42px; z-index: 1000; opacity: .4; transition: .3s opacity; } #slider .slick-prev:hover:before, #slider .slick-next:hover:before { opacity: 1; } #slider .slick-next { left: auto; right: 10px; } #slider .slick-next:before { background: no-repeat url("/img/slider-arrow-right.png"); background-size: 19px; } #slider .slick-fade-out { opacity: 1 !important; } #slider .slide { padding: 100px 0 100px; width: 100%; outline: none; } #slider .feature-img { min-height: 502px; } #slider .slick-dots { bottom: 97px; } #slider .slick-dots li button:before { color: white; font-size: 22px; transition: opacity .2s, -webkit-transform .2s; transition: transform .2s, opacity .2s; transition: transform .2s, opacity .2s, -webkit-transform .2s; } #slider .slick-dots li.slick-active button:before { -webkit-transform: scale(1.3); transform: scale(1.3); } #slider .col-sm-6:first-child { padding-left: 0; min-height: 604px; } @media (max-width: 767px) { #slider .col-sm-6:first-child { min-height: 304px; } } #slider h1 { margin: 50px 0 0 0; font-size: 48px; font-weight: 400; color: white; letter-spacing: -0.05em; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.07); cursor: default; line-height: 64px; } #slider h1 strong { font-weight: 600; } #slider h2 { font-size: 32px; color: white; } #slider h3 { color: #d8e8ff; font-size: 18px; font-weight: 500; cursor: default; margin: 20px 0px 32px; line-height: 1.6; letter-spacing: -0.02em; max-width: 500px; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.07); } #slider .btn-row { margin-top: 66px; } #slider .ion-chevron-right { font-size: 16px; margin-left: 4px; } .home .navbar { background: none; background: #4E8EF7�/; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { .home .navbar { background: #4E8EF7; } } @media (max-width: 991px) { #slider { top: -134px; } #slider .slide { padding: 125px 0 50px; } #slider .slick-dots { bottom: 172px; } #slider .feature-img { min-height: 455px; } #slider h1 { font-size: 32px; line-height: 48px; margin-top: 84px; } #slider h3 { font-size: 18px; } } @media (max-width: 767px) { #slider { top: -392px; } #slider .slide { padding: 472px 0 188px; } #slider .slick-dots { bottom: 229px; } #slider .feature-img { min-height: 305px; } #slider .logo, #slider .slide-creator .logo { margin: -15px auto 15px; text-align: center; } #slider h1 { font-size: 30px; margin: 0 auto; text-align: center; } #slider h3 { font-size: 14px; margin: 0 auto; text-align: center; } #slider .logo { margin: 0 auto 15px; } .home .utility-bar { margin-top: -628px; } } .slide-home { background: #298fff; background: linear-gradient(to right, #347eff 0%, #1ea3ff 100%); } .social-row { margin: 12px 0 0 0; font-weight: 500; padding-left: 0; display: inline-block; float: left; } @media (max-width: 767px) { .social-row { float: none; } } .social-row li { display: inline-block; height: 27px; margin-right: 22px; font-size: 14px; } .social-row li i { padding-right: 2px; display: inline; } @media (max-width: 991px) { .social-row li { font-size: 14px; margin-right: 15px; } .social-row li i { padding-right: 4px; } } @media (max-width: 360px) { .social-row li:nth-child(2) { display: none; } } .social-row a { text-decoration: none; opacity: .6; color: white; letter-spacing: -.02em; transition: .3s opacity; } .social-row a:hover { opacity: 1; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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dUIsRUFBRTtJQUMzQjtNQUNFLGNBQWMsRUFBRTtJQUNsQjtNQUNFLGtCQUFrQixFQUFFO0lBQ3RCOztNQUVFLHdCQUF3QjtNQUN4QixtQkFBbUIsRUFBRTtJQUN2QjtNQUNFLGdCQUFnQjtNQUNoQixlQUFlO01BQ2YsbUJBQW1CLEVBQUU7SUFDdkI7TUFDRSxnQkFBZ0I7TUFDaEIsZUFBZTtNQUNmLG1CQUFtQixFQUFFO0lBQ3ZCO01BQ0Usb0JBQW9CLEVBQUU7RUFDMUI7SUFDRSxtQkFBbUIsRUFBRSxFQUFFOztBQUUzQjtFQUNFLG9CQUFvQjtFQUNwQixnRUFBZ0UsRUFBRTs7QUFFcEU7RUFDRSxtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixzQkFBc0I7RUFDdEIsWUFBWSxFQUFFO0VBQ2Q7SUFDRTtNQUNFLFlBQVksRUFBRSxFQUFFO0VBQ3BCO0lBQ0Usc0JBQXNCO0lBQ3RCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsZ0JBQWdCLEVBQUU7SUFDbEI7TUFDRSxtQkFBbUI7TUFDbkIsZ0JBQWdCLEVBQUU7SUFDcEI7TUFDRTtRQUNFLGdCQUFnQjtRQUNoQixtQkFBbUIsRUFBRTtRQUNyQjtVQUNFLG1CQUFtQixFQUFFLEVBQUU7SUFDN0I7TUFDRTtRQUNFLGNBQWMsRUFBRSxFQUFFO0VBQ3hCO0lBQ0Usc0JBQXNCO0lBQ3RCLFlBQVk7SUFDWixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLHdCQUF3QixFQUFFO0lBQzFCO01BQ0UsV0FBVyxFQUFFIiwiZmlsZSI6InBhZ2VzL2ZyYW1ld29yay5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4ucGFnZS1mcmFtZXdvcmsgLnByaW1hcnktcm93IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYWdlLWZyYW1ld29yayAucHJpbWFyeS1yb3cgaDEsXG4gIC5wYWdlLWZyYW1ld29yayAucHJpbWFyeS1yb3cgaDIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5wYWdlLWZyYW1ld29yayAucHJpbWFyeS1yb3cgaDEge1xuICAgIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgICBjb2xvcjogI2ViZjNmZjtcbiAgICBmb250LXNpemU6IDQ5cHg7IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC5wcmltYXJ5LXJvdyBoMiB7XG4gICAgbWFyZ2luOiA1cHggMCAwIDA7XG4gICAgY29sb3I6ICNBOEM3RkY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5wYWdlLWZyYW1ld29yayAucHJpbWFyeS1yb3cgLmRlc2t0b3AtYnRuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYWdlLWZyYW1ld29yayAuYnRuLXJvdyB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnBhZ2UtZnJhbWV3b3JrIC52ZXJzaW9uLXRleHQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDExcHg7IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC52ZXJzaW9uLXRleHQgYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgfVxuICAgIC5wYWdlLWZyYW1ld29yayAudmVyc2lvbi10ZXh0IGE6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ucGFnZS1mcmFtZXdvcmsgLmZlYXR1cmUtaW1nIHtcbiAgaGVpZ2h0OiAxNzVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAucGFnZS1mcmFtZXdvcmsgLmZlYXR1cmUtaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucGFnZS1mcmFtZXdvcmsgLmZlYXR1cmUtaW1nIC5kZW1vLWxpbmsge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC5mZWF0dXJlLWltZyAuYXBwLWljb24ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC5mZWF0dXJlLWltZyAuZGV2aWNlLmlwaG9uZSB7XG4gICAgd2lkdGg6IDU0NHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0NnB4O1xuICAgIHRvcDogMzZweDsgfVxuICAucGFnZS1mcmFtZXdvcmsgLmZlYXR1cmUtaW1nIC5kZXZpY2UucGl4ZWwge1xuICAgIHdpZHRoOiA0MzBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2NHB4O1xuICAgIHJpZ2h0OiAxMTBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5mZWF0dXJlLWltZyAuZGV2aWNlLnBpeGVsIHtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICAucGFnZS1mcmFtZXdvcmsgLmZlYXR1cmUtaW1nIC5vbmUsXG4gIC5wYWdlLWZyYW1ld29yayAuZmVhdHVyZS1pbWcgLnR3byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb246IGZhZGVJbkRvd24gLjdzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOyB9XG4gIC5wYWdlLWZyYW1ld29yayAuZmVhdHVyZS1pbWcgLm9uZSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuNXM7IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC5mZWF0dXJlLWltZyAudHdvIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC43czsgfVxuICAucGFnZS1mcmFtZXdvcmsgLmZlYXR1cmUtaW1nIC50aHJlZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb246IGZhZGVJbiAuN3M7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxczsgfVxuICAucGFnZS1mcmFtZXdvcmsgLmZlYXR1cmUtaW1nIC5hcHAtaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9mcmFtZXdvcmtwYWdlL2lvbmljdmlldy1pY29uXzJ4LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDg0cHggODRweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiA4NHB4O1xuICAgIHdpZHRoOiA4NHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5wYWdlLWZyYW1ld29yayAuZmVhdHVyZS1pbWcgLmFwcC1pY29uIHtcbiAgICAgICAgYm90dG9tOiAtNjBweDsgfSB9XG4gIC5wYWdlLWZyYW1ld29yayAuZmVhdHVyZS1pbWcgYSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIC5wYWdlLWZyYW1ld29yayAuZmVhdHVyZS1pbWcgYSBpbWcge1xuICAgICAgb3BhY2l0eTogLjk7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgbGluZWFyO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuNXM7IH1cbiAgICAucGFnZS1mcmFtZXdvcmsgLmZlYXR1cmUtaW1nIGEgc3BhbiB7XG4gICAgICBvcGFjaXR5OiAuNztcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjFzIGxpbmVhcjtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLjVzOyB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5mZWF0dXJlLWltZyBhOmhvdmVyIGltZyxcbiAgICAucGFnZS1mcmFtZXdvcmsgLmZlYXR1cmUtaW1nIGE6aG92ZXIgc3BhbiB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5wYWdlLWZyYW1ld29yayAuZmVhdHVyZS1pbWcgLmRlbW8tbGluayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA2cHg7XG4gICAgYm90dG9tOiAtMjBweDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1zaGFkb3c6IDBweCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5mZWF0dXJlLWltZyAuZGVtby1saW5rIHtcbiAgICAgICAgYm90dG9tOiAtNzVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1mcmFtZXdvcmsge1xuICAgIC8qIFRBQkxFVC9QaG9uZSAqLyB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5wcmltYXJ5LXJvdyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLnByaW1hcnktcm93IGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzNHB4OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLnByaW1hcnktcm93IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLnByaW1hcnktcm93IC5kZXNrdG9wLWJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5wcmltYXJ5LXJvdyAubW9iaWxlLWJ0biB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAucHJpbWFyeS1yb3cgLmRlbW8tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLnByaW1hcnktcm93IC5hcHAtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5mZWF0dXJlLWltZyB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQyMHB4IDM5M3B4O1xuICAgICAgbWluLWhlaWdodDogNDA1cHg7IH0gfVxuXG4ucGFnZS1mcmFtZXdvcmsgLnV0aWxpdHktYmFyIHtcbiAgbWFyZ2luLXRvcDogLTE2MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDIwcHggMCAyMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAucGFnZS1mcmFtZXdvcmsgLnV0aWxpdHktYmFyIHtcbiAgICAgIG1hcmdpbi10b3A6IC0yMTZweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5wYWdlLWZyYW1ld29yayAudXRpbGl0eS1iYXIge1xuICAgICAgbWFyZ2luLXRvcDogLTUyOHB4OyB9IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC51dGlsaXR5LWJhciAuY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiAjREFFN0ZEO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC51dGlsaXR5LWJhciBmb3JtIHtcbiAgICBtYXgtd2lkdGg6IDQ1OHB4O1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC51dGlsaXR5LWJhciBmb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzNDBweCk7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC51dGlsaXR5LWJhciBmb3JtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9XG4gIC5wYWdlLWZyYW1ld29yayAudXRpbGl0eS1iYXIgYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEzcHg7IH1cblxuLnBhZ2UtZnJhbWV3b3JrICNwcm9tby1pb25pY3Uge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3Byb21vcy91bml2ZXJzaXR5LmpwZ1wiKSBuby1yZXBlYXQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDEwMHB4O1xuICBoZWlnaHQ6IDQ1MHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5wYWdlLWZyYW1ld29yayAjcHJvbW8taW9uaWN1IGgyLCAucGFnZS1mcmFtZXdvcmsgI3Byb21vLWlvbmljdSBoNCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1zaGFkb3c6IDBweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAucGFnZS1mcmFtZXdvcmsgI3Byb21vLWlvbmljdSBoMiB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5wYWdlLWZyYW1ld29yayAjcHJvbW8taW9uaWN1IGgyIGIge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAucGFnZS1mcmFtZXdvcmsgI3Byb21vLWlvbmljdSBoNCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5wYWdlLWZyYW1ld29yayAjcHJvbW8taW9uaWN1IC5idG4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjMzk3RkYyO1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cblxuLnBhZ2UtZnJhbWV3b3JrICNwcm9tby1zbmFwc2hvdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwNjU1OGUgMCUsICMwMDZlODkgMTAwJSk7XG4gIHBhZGRpbmctdG9wOiA2MHB4OyB9XG4gIC5wYWdlLWZyYW1ld29yayAjcHJvbW8tc25hcHNob3QgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5NzVweDsgfVxuICAucGFnZS1mcmFtZXdvcmsgI3Byb21vLXNuYXBzaG90IGgyIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5wYWdlLWZyYW1ld29yayAjcHJvbW8tc25hcHNob3QgaDIgYSB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDBweCAwIHdoaXRlLCBpbnNldCAwIC0xcHggMCB3aGl0ZTtcbiAgICAgIHRyYW5zaXRpb246IC4zcyBib3gtc2hhZG93OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgI3Byb21vLXNuYXBzaG90IGgyIGE6aG92ZXIsIC5wYWdlLWZyYW1ld29yayAjcHJvbW8tc25hcHNob3QgaDIgYTphY3RpdmUsIC5wYWdlLWZyYW1ld29yayAjcHJvbW8tc25hcHNob3QgaDIgYTpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwcHggMCB3aGl0ZSwgaW5zZXQgMCAtMnB4IDAgd2hpdGU7IH1cbiAgLnBhZ2UtZnJhbWV3b3JrICNwcm9tby1zbmFwc2hvdCBoNCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAucGFnZS1mcmFtZXdvcmsgI3Byb21vLXNuYXBzaG90IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5wYWdlLWZyYW1ld29yayAjcHJvbW8tc25hcHNob3QgI3Byb21vLWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAgIC5wYWdlLWZyYW1ld29yayAjcHJvbW8tc25hcHNob3QgI3Byb21vLWJhciAubGVmdC10ZXh0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrICNwcm9tby1zbmFwc2hvdCAjcHJvbW8tYmFyIC5yaWdodC10ZXh0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuXG4ucGFnZS1mcmFtZXdvcmsgLmJhbm5lci1jdGEge1xuICBiYWNrZ3JvdW5kOiAjZjZmN2ZhO1xuICBwYWRkaW5nLXRvcDogODBweDtcbiAgbWFyZ2luLWJvdHRvbTogLTMycHg7IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC5iYW5uZXItY3RhIC5ib3gge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZnJhbWV3b3JrLzIwMTgtZnJhbWV3b3JrLWNhcmQtYmcucG5nXCIpIDUwJSA1MCUgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBwYWRkaW5nOiAzN3B4IDY5cHggMzhweCA1NHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxNjBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5iYW5uZXItY3RhIC5ib3gge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5iYW5uZXItY3RhIC5ib3g6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAucGFnZS1mcmFtZXdvcmsgLmJhbm5lci1jdGEgLmJveCAuYnRuIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC5iYW5uZXItY3RhIGhncm91cCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC5iYW5uZXItY3RhIC5vcmFuZ2Uge1xuICAgIGNvbG9yOiAjZmNiNTJjO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjAxNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAucGFnZS1mcmFtZXdvcmsgLmJhbm5lci1jdGEgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmb250LXNpemU6IDM4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDQ1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC5wYWdlLWZyYW1ld29yayAuYmFubmVyLWN0YSAubGcge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMTllbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gIC5wYWdlLWZyYW1ld29yayAuYmFubmVyLWN0YSAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA1NWVtO1xuICAgIHBhZGRpbmc6IDE5cHggMjFweCAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucGFnZS1mcmFtZXdvcmsgLmJ1aWx0LXdpdGgge1xuICBiYWNrZ3JvdW5kOiAjZjZmN2ZhO1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5idWlsdC13aXRoIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC5idWlsdC13aXRoIGhncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxMDNweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5idWlsdC13aXRoIGhncm91cCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyODBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmJ1aWx0LXdpdGggaGdyb3VwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1M3B4OyB9IH1cbiAgICAucGFnZS1mcmFtZXdvcmsgLmJ1aWx0LXdpdGggaGdyb3VwIGgyLFxuICAgIC5wYWdlLWZyYW1ld29yayAuYnVpbHQtd2l0aCBoZ3JvdXAgaDQge1xuICAgICAgd2lkdGg6IDQ4JTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgIC5wYWdlLWZyYW1ld29yayAuYnVpbHQtd2l0aCBoZ3JvdXAgaDIsXG4gICAgICAgIC5wYWdlLWZyYW1ld29yayAuYnVpbHQtd2l0aCBoZ3JvdXAgaDQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5idWlsdC13aXRoIGhncm91cCBoMiB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgfVxuICAgIC5wYWdlLWZyYW1ld29yayAuYnVpbHQtd2l0aCBoZ3JvdXAgaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjNGE1NjZiO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC5idWlsdC13aXRoIC50ZWNocyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMjNweDtcbiAgICB3aWR0aDogNDglOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmJ1aWx0LXdpdGggLnRlY2hzIHtcbiAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDYwMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYnVpbHQtd2l0aCAudGVjaHMge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSwgMC41KTtcbiAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICB3aWR0aDogNjAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5idWlsdC13aXRoIC50ZWNocyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDMwMHB4KTsgfSB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5idWlsdC13aXRoIC50ZWNocyBsaSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2ZyYW1ld29yay93ZWItaWNvbnMucG5nXCIpIG5vLXJlcGVhdCAwIDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBhbmltYXRpb246IGZhZGVJbiAxcztcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmJ1aWx0LXdpdGggLnRlY2hzIGxpLmFuZ3VsYXIge1xuICAgICAgICByaWdodDogNjQuNSU7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMS40czsgfVxuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5idWlsdC13aXRoIC50ZWNocyBsaS5qcyB7XG4gICAgICAgIHJpZ2h0OiA0MyU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwMHB4O1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEuNnM7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYnVpbHQtd2l0aCAudGVjaHMgbGkudHMge1xuICAgICAgICByaWdodDogMjEuNSU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwMHB4O1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEuOHM7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYnVpbHQtd2l0aCAudGVjaHMgbGkuaHRtbCB7XG4gICAgICAgIHJpZ2h0OiAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjAwcHg7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMnM7IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC5idWlsdC13aXRoIC5mZWF0dXJlcyB7XG4gICAgbWFyZ2luLXRvcDogNzVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5idWlsdC13aXRoIC5mZWF0dXJlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLXRvcDogNDVweDsgfSB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5idWlsdC13aXRoIC5mZWF0dXJlcyBsaSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgKyAycHgpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzN3B4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2ZyYW1ld29yay9jaGVja21hcmstaWNvbi5wbmdcIikgbm8tcmVwZWF0IDAgMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgIC5wYWdlLWZyYW1ld29yayAuYnVpbHQtd2l0aCAuZmVhdHVyZXMgbGkge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGZsZXg6IDEgMCAzMjBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYnVpbHQtd2l0aCAuZmVhdHVyZXMgbGkgaDMge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmJ1aWx0LXdpdGggLmZlYXR1cmVzIGxpIHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjNWM2YTgxO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43ZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYnVpbHQtd2l0aCAuZmVhdHVyZXMgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDE5cHgpOyB9XG5cbi5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvZGUgLmNvZGUtYm94IHtcbiAgICB3aWR0aDogNTQ1cHg7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTIwcHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjI2cHgpIHtcbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSAuY29kZS1ib3gge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvZGUgLmNvZGUtYm94IC5hcHAsXG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb2RlIC5jb2RlLWJveCAudG9nZ2xlIHtcbiAgICAgIHRyYW5zaXRpb246IDAuN3MgcmlnaHQgY3ViaWMtYmV6aWVyKDAuNDksIDEuNjUsIDAuNzMsIDEuMTMpOyB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb2RlIC5jb2RlLWJveC5kb25lIC5hcHAsXG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb2RlIC5jb2RlLWJveC5kb25lIC50b2dnbGUge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSAuY29kZS1ib3guYWN0aXZlIC5hcHAsXG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb2RlIC5jb2RlLWJveC5hY3RpdmUgLnRvZ2dsZSB7XG4gICAgICByaWdodDogNjUlOyB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb2RlIC5jb2RlLWJveCBoZWFkZXIge1xuICAgICAgcGFkZGluZzogMjRweCAzOHB4IDI4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA1OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvZGUgLmNvZGUtYm94IGhlYWRlcjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjMpIDAlLCByZ2JhKDIwMCwgMjAwLCAyMDAsIDApIDEwMCUpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb2RlIC5jb2RlLWJveCBoZWFkZXIgaDMge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSAuY29kZS1ib3ggaGVhZGVyIC5wbGF0Zm9ybXMge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyNnB4O1xuICAgICAgICB0b3A6IDM3cHg7IH1cbiAgICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb2RlIC5jb2RlLWJveCBoZWFkZXIgLnBsYXRmb3JtcyBsaSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9mcmFtZXdvcmsvaWNvbnMtc20ucG5nXCIpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNHB4O1xuICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA5cHg7IH1cbiAgICAgICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvZGUgLmNvZGUtYm94IGhlYWRlciAucGxhdGZvcm1zIGxpLmFuZHJvaWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjRweDsgfVxuICAgICAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSAuY29kZS1ib3ggaGVhZGVyIC5wbGF0Zm9ybXMgbGkud2luZG93cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00OHB4OyB9XG4gICAgICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb2RlIC5jb2RlLWJveCBoZWFkZXIgLnBsYXRmb3JtcyBsaS5jaHJvbWUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzJweDsgfVxuICAgICAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSAuY29kZS1ib3ggaGVhZGVyIC5wbGF0Zm9ybXMgbGkuZWxlY3Ryb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxuICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvZGUgaGdyb3VwIHtcbiAgICBtaW4taGVpZ2h0OiA0NjlweDtcbiAgICBtYXJnaW4tbGVmdDogNjI1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSBoZ3JvdXAge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogNDAwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYyNnB4KSB7XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvZGUgaGdyb3VwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb2RlIGhncm91cCBoMiB7XG4gICAgICBwYWRkaW5nLXRvcDogNzJweDtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb2RlIGhncm91cCBoNCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICM0YTU2NmI7XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSBoZ3JvdXAgaDQgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSAuZmVhdHVyZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMCAwIDEwOXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvZGUgLmZlYXR1cmVzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSAuZmVhdHVyZXMgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IDkzcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMjkuNyU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgcGFkZGluZy1yaWdodDogNSU7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSAuZmVhdHVyZXMgbGkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb2RlIC5mZWF0dXJlcyBsaTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9mcmFtZXdvcmsvaWNvbnMtbGcucG5nXCIpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogOTNweDtcbiAgICAgICAgaGVpZ2h0OiA5M3B4O1xuICAgICAgICB3aWR0aDogOTNweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogLTdweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSAuZmVhdHVyZXMgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDQ3cHgpOyB9IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSAuZmVhdHVyZXMgbGkuYmVhdXRpZnVsOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05M3B4OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvZGUgLmZlYXR1cmVzIGxpLm9wdGltaXplZDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTg2cHg7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSAuZmVhdHVyZXMgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29kZSAuZmVhdHVyZXMgbGkgaDMge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvZGUgLmZlYXR1cmVzIGxpIHAsXG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvZGUgLmZlYXR1cmVzIGxpIGEge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGNvbG9yOiAjNWM2YTgxO1xuICAgICAgICBsaW5lLWhlaWdodDogMmVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb2RlIC5mZWF0dXJlcyBsaSBhIHtcbiAgICAgICAgY29sb3I6ICM0YThiZmM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb2RlIC5mZWF0dXJlcyBsaSBhIHNwYW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICByaWdodDogLTJweDtcbiAgICAgICAgICB0b3A6IDJweDsgfVxuICAgICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvZGUgLmZlYXR1cmVzIGxpIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMzE3YmZjO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ucGFnZS1mcmFtZXdvcmsgLmFib3V0LXRvb2xraXQge1xuICBiYWNrZ3JvdW5kOiAjMDkyMjRkO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwNTFkNDYgMCUsICMxZDNmNmYgMTAwJSk7XG4gIHBhZGRpbmctdG9wOiAxMDlweDtcbiAgcGFkZGluZy1ib3R0b206IDM2cHg7XG4gIGNvbG9yOiAjOWZiMGNiOyB9XG4gIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtdG9vbGtpdCBoZ3JvdXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4OyB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC10b29sa2l0IGhncm91cCBoMiB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDI3cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07IH1cbiAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LXRvb2xraXQgaGdyb3VwIGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyB9XG4gIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtdG9vbGtpdCAuZmVhdHVyZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtdG9vbGtpdCAuZmVhdHVyZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtdG9vbGtpdCAuZmVhdHVyZXMgbGkge1xuICAgICAgd2lkdGg6IGNhbGMoMzMlICsgMjJweCk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDgzcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1NHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDU1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtdG9vbGtpdCAuZmVhdHVyZXMgbGk6bnRoLWNoaWxkKDMpLCAucGFnZS1mcmFtZXdvcmsgLmFib3V0LXRvb2xraXQgLmZlYXR1cmVzIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogY2FsYygzMyUgLSA0MHB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LXRvb2xraXQgLmZlYXR1cmVzIGxpIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBmbGV4OiAxIDAgMzUwcHg7IH1cbiAgICAgICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LXRvb2xraXQgLmZlYXR1cmVzIGxpOm50aC1jaGlsZCgzKSwgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC10b29sa2l0IC5mZWF0dXJlcyBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtdG9vbGtpdCAuZmVhdHVyZXMgbGk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZnJhbWV3b3JrL2ljb25zLW1kLnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHg7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDsgfVxuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC10b29sa2l0IC5mZWF0dXJlcyBsaS5jbGk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMyMHB4OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LXRvb2xraXQgLmZlYXR1cmVzIGxpLm5hdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDAwcHg7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtdG9vbGtpdCAuZmVhdHVyZXMgbGkucmVsb2FkOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00ODBweDsgfVxuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC10b29sa2l0IC5mZWF0dXJlcyBsaS56aW9uaWNvbnM6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTU2MHB4OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LXRvb2xraXQgLmZlYXR1cmVzIGxpLmRlZXBsaW5raW5nOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02NDBweDsgfVxuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC10b29sa2l0IC5mZWF0dXJlcyBsaS5hb3Q6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTcyMHB4OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LXRvb2xraXQgLmZlYXR1cmVzIGxpIGEge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC10b29sa2l0IC5mZWF0dXJlcyBsaSBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuXG4ucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvbW11bml0eSB7XG4gIGJhY2tncm91bmQ6ICMwOTE3MmU7XG4gIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZnJhbWV3b3JrL21hcC5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIsIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzA1MGYyMyAwJSwgIzEzMjMzZiAxMDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciwgMTAwJTtcbiAgY29sb3I6ICM5MDllYmI7XG4gIHBhZGRpbmctYm90dG9tOiA0NHB4OyB9XG4gIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvbW11bml0eSAuc3RhdHMge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjb2xvcjogIzUyOWVmZjtcbiAgICB3aWR0aDogNDEycHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgdG9wOiAtMTlweDtcbiAgICBwYWRkaW5nOiA1NXB4IDg1cHggNTJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5zdGF0cyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5zdGF0cyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfSB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb21tdW5pdHkgLnN0YXRzIGg1IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBjb2xvcjogI2I4YzFjZjtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjJlbTsgfVxuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb21tdW5pdHkgLnN0YXRzIGg1OjpiZWZvcmUsIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5zdGF0cyBoNTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDczJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGQ2ZTA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvbW11bml0eSAuc3RhdHMgaDU6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogNzMlO1xuICAgICAgICByaWdodDogMDsgfVxuICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5zdGF0cyBoMSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiA3OHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0zcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMzZweDsgfVxuICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5zdGF0cyBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6ICMyNzJhMmY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDVweDsgfVxuICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5zdGF0cyB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMzNweCAwIDA7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvbW11bml0eSAuc3RhdHMgdWwge1xuICAgICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5zdGF0cyBsaSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMTVlbTtcbiAgICAgIHBhZGRpbmc6IDEycHggMCAxNnB4IDM3cHg7XG4gICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5zdGF0cyBsaTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9mcmFtZXdvcmsvaWNvbnMtc20ucG5nXCIpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC00cHg7XG4gICAgICAgIHRvcDogMTBweDsgfVxuICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb21tdW5pdHkgLnN0YXRzIGxpLmRldnM6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyMHB4OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvbW11bml0eSAuc3RhdHMgbGkubWVldHVwczo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQ0cHg7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5zdGF0cyBsaS5naXRodWI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2OHB4OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvbW11bml0eSAuc3RhdHMgbGkuc286OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9XG4gIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IGhncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDEwOHB4O1xuICAgIG1hcmdpbi1yaWdodDogNDI1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDc2cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IGhncm91cCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDZweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvbW11bml0eSBoZ3JvdXAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb21tdW5pdHkgaGdyb3VwIGgyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAyN3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDsgfVxuICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IGhncm91cCBoNCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxOXB4OyB9XG4gIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5mZWF0dXJlcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDQyMHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5mZWF0dXJlcyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb21tdW5pdHkgLmZlYXR1cmVzIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgNjRweCA4M3B4IDc4cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogNDklO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5mZWF0dXJlcyBsaSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5mZWF0dXJlcyBsaTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9mcmFtZXdvcmsvaWNvbnMtbWQucG5nXCIpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODBweDtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0xMXB4O1xuICAgICAgICB0b3A6IC0xMXB4OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmFib3V0LWNvbW11bml0eSAuZmVhdHVyZXMgbGkuc286OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5mZWF0dXJlcyBsaS5zbGFjazo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTYwcHg7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAuYWJvdXQtY29tbXVuaXR5IC5mZWF0dXJlcyBsaS5mb3J1bTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjQwcHg7IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb21tdW5pdHkgYSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5hYm91dC1jb21tdW5pdHkgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG5cbi5wYWdlLWZyYW1ld29yayAubG92ZWQtYnkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGFnZS1mcmFtZXdvcmsgLmxvdmVkLWJ5IGgyIHtcbiAgICBtYXJnaW4tdG9wOiAxMjVweDtcbiAgICBwYWRkaW5nLXRvcDogNThweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2N3B4O1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjNGE1NjZiO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtOyB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5sb3ZlZC1ieSBoMjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZnJhbWV3b3JrL2hlYXJ0LWljb24ucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0OHB4O1xuICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAyNHB4KTtcbiAgICAgIGFuaW1hdGlvbjogcHVsc2UgMy41cyBpbmZpbml0ZTsgfVxuICAgIC5wYWdlLWZyYW1ld29yayAubG92ZWQtYnkgaDIgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzI3MmEyZjsgfVxuICAucGFnZS1mcmFtZXdvcmsgLmxvdmVkLWJ5IGgzIHtcbiAgICBmb250LWZhbWlseTogJ0dlb3JnaWEnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICBjb2xvcjogIzcyN2E4NztcbiAgICBsaW5lLWhlaWdodDogMi4yZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5wYWdlLWZyYW1ld29yayAubG92ZWQtYnkgaDMuYWN0aXZlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAubG92ZWQtYnkgaDMuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3F1b3RlLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTBweCA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtNTBweDtcbiAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICBvcGFjaXR5OiAuNzsgfVxuICAucGFnZS1mcmFtZXdvcmsgLmxvdmVkLWJ5IC5xdW90ZWVzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDM2cHggMCA0NHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmxvdmVkLWJ5IC5xdW90ZWVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG4gICAgLnBhZ2UtZnJhbWV3b3JrIC5sb3ZlZC1ieSAucXVvdGVlcyBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogOTBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgbWluLXdpZHRoOiAyMyU7XG4gICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIG9wYWNpdHk6IC4zO1xuICAgICAgdHJhbnNpdGlvbjogLjNzIG9wYWNpdHk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAucGFnZS1mcmFtZXdvcmsgLmxvdmVkLWJ5IC5xdW90ZWVzIGxpIHtcbiAgICAgICAgICBmbGV4OiAwIDAgMjQwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfSB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmxvdmVkLWJ5IC5xdW90ZWVzIGxpLmFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAubG92ZWQtYnkgLnF1b3RlZXMgbGkgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogODhweDtcbiAgICAgICAgaGVpZ2h0OiA4MHB4OyB9XG4gICAgICAucGFnZS1mcmFtZXdvcmsgLmxvdmVkLWJ5IC5xdW90ZWVzIGxpIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDI3cHg7IH1cbiAgICAgIC5wYWdlLWZyYW1ld29yayAubG92ZWQtYnkgLnF1b3RlZXMgbGkgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjNzI3YTg3O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5sb3ZlZC1ieSAucXVvdGVlcyBsaSBzcGFuIGEge1xuICAgICAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICAgICAgICAgLnBhZ2UtZnJhbWV3b3JrIC5sb3ZlZC1ieSAucXVvdGVlcyBsaSBzcGFuIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICMzMTdiZmM7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnBhZ2UtZnJhbWV3b3JrIC5sb3ZlZC1ieSAuY29tcGFuaWVzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDk3N3B4O1xuICAgIG1hcmdpbjogMTBweCBhdXRvIDEyM3B4OyB9XG5cbi5mYWRlSW5Eb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247IH1cblxuI3NsaWRlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTc4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgI3NsaWRlciAuc2xpY2stcHJldixcbiAgI3NsaWRlciAuc2xpY2stbmV4dCB7XG4gICAgbGVmdDogMTBweDtcbiAgICB0b3A6IDQwJTsgfVxuICAgICNzbGlkZXIgLnNsaWNrLXByZXY6YmVmb3JlLFxuICAgICNzbGlkZXIgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IHVybChcIi9pbWcvc2xpZGVyLWFycm93LWxlZnQucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxOXB4O1xuICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICB0cmFuc2l0aW9uOiAuM3Mgb3BhY2l0eTsgfVxuICAgICNzbGlkZXIgLnNsaWNrLXByZXY6aG92ZXI6YmVmb3JlLFxuICAgICNzbGlkZXIgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgI3NsaWRlciAuc2xpY2stbmV4dCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTBweDsgfVxuICAgICNzbGlkZXIgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCB1cmwoXCIvaW1nL3NsaWRlci1hcnJvdy1yaWdodC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE5cHg7IH1cbiAgI3NsaWRlciAuc2xpY2stZmFkZS1vdXQge1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuICAjc2xpZGVyIC5zbGlkZSB7XG4gICAgcGFkZGluZzogMTAwcHggMCAxMDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICNzbGlkZXIgLmZlYXR1cmUtaW1nIHtcbiAgICBtaW4taGVpZ2h0OiA1MDJweDsgfVxuICAjc2xpZGVyIC5zbGljay1kb3RzIHtcbiAgICBib3R0b206IDk3cHg7IH1cbiAgICAjc2xpZGVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycywgb3BhY2l0eSAuMnM7IH1cbiAgICAjc2xpZGVyIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgfVxuICAjc2xpZGVyIC5jb2wtc20tNjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDYwNHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjc2xpZGVyIC5jb2wtc20tNjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwNHB4OyB9IH1cbiAgI3NsaWRlciBoMSB7XG4gICAgbWFyZ2luOiA1MHB4IDAgMCAwO1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDVlbTtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGxpbmUtaGVpZ2h0OiA2NHB4OyB9XG4gICAgI3NsaWRlciBoMSBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAjc2xpZGVyIGgyIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICNzbGlkZXIgaDMge1xuICAgIGNvbG9yOiAjZDhlOGZmO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBtYXJnaW46IDIwcHggMHB4IDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA3KTsgfVxuICAjc2xpZGVyIC5idG4tcm93IHtcbiAgICBtYXJnaW4tdG9wOiA2NnB4OyB9XG4gICNzbGlkZXIgLmlvbi1jaGV2cm9uLXJpZ2h0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxuXG4uaG9tZSAubmF2YmFyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYmFja2dyb3VuZDogIzRFOEVGN++/vS87IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmhvbWUgLm5hdmJhciB7XG4gICAgYmFja2dyb3VuZDogIzRFOEVGNzsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAjc2xpZGVyIHtcbiAgICB0b3A6IC0xMzRweDsgfVxuICAgICNzbGlkZXIgLnNsaWRlIHtcbiAgICAgIHBhZGRpbmc6IDEyNXB4IDAgNTBweDsgfVxuICAgICNzbGlkZXIgLnNsaWNrLWRvdHMge1xuICAgICAgYm90dG9tOiAxNzJweDsgfVxuICAgICNzbGlkZXIgLmZlYXR1cmUtaW1nIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ1NXB4OyB9XG4gICAgI3NsaWRlciBoMSB7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICAgIG1hcmdpbi10b3A6IDg0cHg7IH1cbiAgICAjc2xpZGVyIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAjc2xpZGVyIHtcbiAgICB0b3A6IC0zOTJweDsgfVxuICAgICNzbGlkZXIgLnNsaWRlIHtcbiAgICAgIHBhZGRpbmc6IDQ3MnB4IDAgMTg4cHg7IH1cbiAgICAjc2xpZGVyIC5zbGljay1kb3RzIHtcbiAgICAgIGJvdHRvbTogMjI5cHg7IH1cbiAgICAjc2xpZGVyIC5mZWF0dXJlLWltZyB7XG4gICAgICBtaW4taGVpZ2h0OiAzMDVweDsgfVxuICAgICNzbGlkZXIgLmxvZ28sXG4gICAgI3NsaWRlciAuc2xpZGUtY3JlYXRvciAubG9nbyB7XG4gICAgICBtYXJnaW46IC0xNXB4IGF1dG8gMTVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICNzbGlkZXIgaDEge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjc2xpZGVyIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI3NsaWRlciAubG9nbyB7XG4gICAgICBtYXJnaW46IDAgYXV0byAxNXB4OyB9XG4gIC5ob21lIC51dGlsaXR5LWJhciB7XG4gICAgbWFyZ2luLXRvcDogLTYyOHB4OyB9IH1cblxuLnNsaWRlLWhvbWUge1xuICBiYWNrZ3JvdW5kOiAjMjk4ZmZmO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMzNDdlZmYgMCUsICMxZWEzZmYgMTAwJSk7IH1cblxuLnNvY2lhbC1yb3cge1xuICBtYXJnaW46IDEycHggMCAwIDA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuc29jaWFsLXJvdyB7XG4gICAgICBmbG9hdDogbm9uZTsgfSB9XG4gIC5zb2NpYWwtcm93IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyN3B4O1xuICAgIG1hcmdpbi1yaWdodDogMjJweDtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAuc29jaWFsLXJvdyBsaSBpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgLnNvY2lhbC1yb3cgbGkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgICAgICAuc29jaWFsLXJvdyBsaSBpIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgLnNvY2lhbC1yb3cgbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5zb2NpYWwtcm93IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiAuNjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICB0cmFuc2l0aW9uOiAuM3Mgb3BhY2l0eTsgfVxuICAgIC5zb2NpYWwtcm93IGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuIl19 */ ================================================ FILE: content/css/pages/home.css ================================================ #ionic-slider { margin-top: -72px; display: block; min-height: 860px; position: relative; } #ionic-slider [slot="slide-0"] { display: block; } #ionic-slider [slot^="slide-"] { padding-top: 100px; position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; } #ionic-slider [slot^="slide-"] hgroup { color: white; max-width: 500px; margin-top: 13px; text-align: center; position: relative; } #ionic-slider [slot^="slide-"] h1 { font-size: 64px; line-height: 74px; margin-bottom: 16px; letter-spacing: -.03em; } #ionic-slider [slot^="slide-"] p { font-size: 24px; line-height: 36px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; letter-spacing: -0.03em; color: #e4f1ff; } #ionic-slider [slot^="slide-"] .btn { font-size: 15px; font-weight: 700; margin-top: 18px; padding: 20px 22px; margin-right: -4px; letter-spacing: .1em; text-transform: uppercase; } #ionic-slider [slot^="slide-"] .btn ion-icon { font-size: 16px; margin-left: -4px; vertical-align: -2px; width: 16px; height: 16px; display: inline-block; } #ionic-slider [slot^="slide-"] .version-text { color: rgba(255, 255, 255, 0.6); font-weight: 500; font-size: 11px; } #ionic-slider [slot^="slide-"] .version-text a { color: rgba(255, 255, 255, 0.6); } #ionic-slider [slot^="slide-"] .version-text a:hover { color: rgba(255, 255, 255, 0.8); text-decoration: none; } #ionic-slider #slide-limitless { background: #548fff linear-gradient(to right, #4278ff, #67a7ff); background-size: 100%; } #ionic-slider #slide-limitless .btn { color: #3880ff; } #ionic-slider #slide-limitless ul { padding: 0; margin-top: 8px; list-style: none; } #ionic-slider #slide-limitless li { display: inline-block; margin-right: 8px; } #ionic-slider #slide-limitless li:last-child { margin-right: 0; } #ionic-slider #slide-limitless li:last-child img { height: 23px; vertical-align: -8px; } #ionic-slider #slide-limitless li img { height: 13px; opacity: .6; } #ionic-slider #slide-limitless .graphics { position: absolute; bottom: 0; width: 100%; left: 0; padding: 0; margin: 0; } #ionic-slider #slide-limitless .graphics li { position: absolute; opacity: 0; -webkit-animation: fadeInUp 1s ease forwards; animation: fadeInUp 1s ease forwards; } #ionic-slider #slide-limitless .graphics li.iphone-x { background: url("/img/homepage/hero-iphone-x.png") 0 0 no-repeat; background-size: 100%; bottom: -63px; left: -191px; width: 400px; height: 306px; -webkit-animation-delay: .8s; animation-delay: .8s; } #ionic-slider #slide-limitless .graphics li.iphone-xs-max { background: url("/img/homepage/hero-iphone-xs-max.png") 0 0 no-repeat; background-size: 100%; bottom: -39px; left: 170px; width: 490px; height: 378px; -webkit-animation-delay: .9s; animation-delay: .9s; } #ionic-slider #slide-limitless .graphics li.pixel-3 { background: url("/img/homepage/hero-google-pixel3.png") 0 0 no-repeat; background-size: 100%; bottom: -40px; left: 607px; width: 490px; height: 400px; -webkit-animation-delay: 1s; animation-delay: 1s; } #ionic-slider #slide-limitless .graphics li.galaxy { background: url("/img/homepage/hero-android-galaxy.png") 0 0 no-repeat; background-size: 100%; bottom: -41px; left: 1063px; width: 450px; height: 356px; -webkit-animation-delay: 1.1s; animation-delay: 1.1s; } #ionic-slider #slide-limitless .graphics li.ipad { background: url("/img/homepage/hero-ipad.png") 0 0 no-repeat; background-size: 100%; bottom: -44px; left: 1484px; width: 610px; height: 524px; -webkit-animation-delay: 1.2s; animation-delay: 1.2s; } #ionic-slider #slide-limitless .graphics li.macbook { background: url("/img/homepage/hero-macbook.png") 0 0 no-repeat; background-size: 100%; bottom: -63px; left: 2061px; width: 1470px; height: 570px; -webkit-animation-delay: 1.3s; animation-delay: 1.3s; } #ionic-slider #slide-v4 { background: #01050c; } #ionic-slider #slide-v4::before { background: url("/img/homepage/bg-phone.png") no-repeat 50% 50%; background-size: cover; position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; content: ''; } #ionic-slider #slide-v4 hgroup { padding-top: 58px; position: relative; max-width: 620px; } #ionic-slider #slide-v4 hgroup img { display: inline-block; width: 48px; height: 48px; } #ionic-slider #slide-v4 hgroup h4 { text-transform: uppercase; letter-spacing: .1em; font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; font-weight: 400; margin-top: 15px; margin-bottom: 33px; } #ionic-slider #slide-v4 hgroup h1 { letter-spacing: -.02em; } #ionic-slider #slide-v4 hgroup p { line-height: 32px; margin-top: 18px; } #ionic-slider #slide-v4 hgroup .btn { margin-top: 27px; letter-spacing: .08em; } #ionic-slider #slide-v4 hgroup .btn.white { color: #131a26; margin-right: 8px; } #ionic-slider #slide-v4 hgroup .btn.dark { background: #343d4d; } #ionic-slider #slide-v4 hgroup .btn.dark:hover { background: #3e495c; } #ionic-slider #slide-v4 hgroup .btn ion-icon { width: 16px; height: 16px; margin-left: 8px; } #ionic-slider #slide-v4 .features { position: absolute; bottom: 35px; width: 100%; left: 0; } #ionic-slider #slide-v4 .features ul { display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: start; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 0; -ms-flex-pack: justify; justify-content: space-between; padding: 0; } #ionic-slider #slide-v4 .features ul li { margin-right: 1em; list-style: none; } #ionic-slider #slide-v4 .features ul::before, #ionic-slider #slide-v4 .features ul::after { display: none; } #ionic-slider #slide-v4 .features li { position: relative; padding-top: 65px; width: 145px; color: #8a94a3; text-align: center; background: transparent; font-size: 12px; line-height: 20px; margin-bottom: 32px; opacity: 0; } #ionic-slider #slide-v4 .features li::before { background: url("/img/homepage/v4-feature-icons.png") 0 0 no-repeat; background-size: cover; position: absolute; top: 0; left: calc(50% - 24px); height: 48px; width: 48px; content: ''; } #ionic-slider #slide-v4 .features li.performance::before { background-position: 0 0px; } #ionic-slider #slide-v4 .features li.theming::before { background-position: 0 -48px; } #ionic-slider #slide-v4 .features li.standards::before { background-position: 0 -96px; } #ionic-slider #slide-v4 .features li.compatible::before { background-position: 0 -144px; } #ionic-slider #slide-v4 .features li.docs::before { background-position: 0 -192px; } @media (max-width: 991px) { #ionic-slider #slide-v4 .features { bottom: 0; } #ionic-slider #slide-v4 .features ul { max-width: 600px; margin: 0 auto; -ms-flex-pack: distribute; justify-content: space-around; } } @media (max-width: 570px) { #ionic-slider #slide-v4 .features { display: none; } } #ionic-slider #slide-v4::before { -webkit-animation: fadeInUp 1.6s .8s ease forwards; animation: fadeInUp 1.6s .8s ease forwards; } #ionic-slider #slide-v4 .features li { -webkit-animation: fadeInUp 1s .1s ease forwards; animation: fadeInUp 1s .1s ease forwards; } #ionic-slider #slide-v4 .features li:nth-child(2) { -webkit-animation-delay: .2s; animation-delay: .2s; } #ionic-slider #slide-v4 .features li:nth-child(3) { -webkit-animation-delay: .3s; animation-delay: .3s; } #ionic-slider #slide-v4 .features li:nth-child(4) { -webkit-animation-delay: .4s; animation-delay: .4s; } #ionic-slider #slide-v4 .features li:nth-child(5) { -webkit-animation-delay: .5s; animation-delay: .5s; } #ionic-slider #slide-one-any { background: white; position: relative; min-height: 840px; } #ionic-slider #slide-one-any .notification { display: inline-block; background: #F6F8FB; font-size: 11px; line-height: 16px; text-align: center; letter-spacing: 0.1em; padding: 7px 15px 7px; } #ionic-slider #slide-one-any .notification strong { color: #1A232F; } #ionic-slider #slide-one-any .notification::after { content: '>'; } @media (max-width: 767px) { #ionic-slider #slide-one-any .notification { display: none; } } #ionic-slider #slide-one-any hgroup { max-width: 464px; display: block; margin-top: 56px; position: relative; z-index: 1; } #ionic-slider #slide-one-any hgroup h1 { font-size: 64px; line-height: 64px; color: #020814; letter-spacing: -.04em; margin-bottom: 7px; } #ionic-slider #slide-one-any hgroup p { font-size: 22px; line-height: 37px; color: rgba(91, 112, 139, 0.9); letter-spacing: -.04em; } #ionic-slider #slide-one-any hgroup .btn { background: #4D8DFF; border-radius: 10px; text-transform: uppercase; margin-top: 12px; font-size: 15px; line-height: 21px; padding: 16px 16px 12px; letter-spacing: 0.08em; } #ionic-slider #slide-one-any hgroup .btn:hover { background: #679dff; } #ionic-slider #slide-one-any hgroup .btn:active { background: #4D8DFF; } #ionic-slider #slide-one-any hgroup .btn img { margin-left: 2px; vertical-align: 0; margin-right: 2px; } #ionic-slider #slide-one-any hgroup small { font-size: 11px; line-height: 21px; letter-spacing: -0.02em; color: #B2BECD; } #ionic-slider #slide-one-any hgroup small a { position: relative; color: #92a0b3; } #ionic-slider #slide-one-any hgroup small a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -2px; border-bottom: 1px solid #dee3ea; } #ionic-slider #slide-one-any hgroup small a:hover { color: #4a8bfc; } #ionic-slider #slide-one-any hgroup small a:hover::after { border-bottom-color: #4a8bfc; } @media (max-width: 767px) { #ionic-slider #slide-one-any hgroup { max-width: 100%; text-align: center; margin-top: 64px; } } #ionic-slider #slide-one-any .graphic { position: absolute; right: 20px; top: 120px; height: 563px; width: 590px; } @media (max-width: 1219px) { #ionic-slider #slide-one-any .graphic { top: 128px; right: -64px; } } @media (max-width: 991px) { #ionic-slider #slide-one-any .graphic { width: 302px; height: auto; top: 180px; } } @media (max-width: 767px) { #ionic-slider #slide-one-any .graphic { display: none; } } #ionic-slider #slide-one-any .stats { padding: 0; position: absolute; bottom: 21px; left: 0; list-style: none; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } #ionic-slider #slide-one-any .stats a { font-size: 14px; line-height: 17px; letter-spacing: -0.02em; color: #92A1B3; padding: 0 18px; transition: .3s color; } #ionic-slider #slide-one-any .stats a svg { vertical-align: -3px; } #ionic-slider #slide-one-any .stats a svg path { transition: .3s fill; } #ionic-slider #slide-one-any .stats a:hover { color: #74879e; } #ionic-slider #slide-one-any .stats a:hover svg path { fill: #74879e; } @media (max-width: 767px) { #ionic-slider #slide-one-any .stats { left: calc(50% - 140px); } } #ionic-slider #slide-one-any ionic-newsletter-signup { width: 400px; position: absolute; bottom: 29px; right: 20px; max-width: calc(100% - 30px); } @media (max-width: 767px) { #ionic-slider #slide-one-any ionic-newsletter-signup { bottom: -26px; right: auto; left: calc(50% - 200px); } } @media (max-width: 460px) { #ionic-slider #slide-one-any ionic-newsletter-signup { left: 15px; } } @media (max-width: 991px) { #ionic-slider #slide-one-any { padding-top: 100px; padding-bottom: 100px; min-height: 0; } } @media (max-width: 767px) { #ionic-slider #slide-one-any { padding-top: 100px; padding-bottom: 100px; min-height: 0; } } @media (max-width: 991px) { #ionic-slider { min-height: 0; } } #page-home #used-by { border-top: 1px #EFF3F8 solid; padding-top: 60px; padding-bottom: 58px; border-bottom: 1px solid #EFF3F8; } #page-home #used-by .container { display: block; max-width: 950px; } @media (max-width: 991px) { #page-home #used-by .container { width: 100%; } } @media (max-width: 991px) { #page-home #used-by { display: none; } } #page-home section { padding-top: 170px; line-height: 1.75em; padding-bottom: 170px; position: relative; } #page-home section.center { text-align: center; } #page-home section.left, #page-home section.right { display: -ms-flexbox; display: flex; } #page-home section.left .content, #page-home section.right .content { width: 470px; } #page-home section.right .content { margin-left: auto; } #page-home section h2 { font-size: 47px; margin-bottom: 15px; letter-spacing: -.02em; color: #0d121c; } #page-home section h3 { font-size: 35px; letter-spacing: -0.016em; } #page-home section h4 { font-size: 12px; color: #808fa7; letter-spacing: .14em; text-transform: uppercase; font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; } #page-home section h4 + h2 { margin-top: 36px; } #page-home section h5 { font-size: 20px; margin-bottom: 16px; font-weight: 600; } #page-home section p { font-size: 16px; color: #8c9bb9; margin-bottom: 8px; line-height: 1.78em; letter-spacing: -.028em; } #page-home section hgroup p, #page-home section p.lg { color: #596a89; font-size: 22px; line-height: 36px; margin-bottom: 23px; letter-spacing: -.02em; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-home section hgroup p strong, #page-home section p.lg strong { font-weight: 600; } #page-home section .cta { font-size: 20px; margin-top: 11px; padding-top: 0; color: #5a98ff; display: inline-block; position: relative; background: none; letter-spacing: -.02em; font-weight: 600; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; position: relative; transition: .3s opacity; } #page-home section .cta:hover { opacity: .6; } #page-home section .cta:hover, #page-home section .cta:active, #page-home section .cta:focus { text-decoration: none; } #page-home section .cta::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; border-bottom: 2px solid #dbe6ff; border-radius: 2px; } @media (max-width: 991px) { #page-home section .content { width: 100%; text-align: center; } } #page-home #for-devs { padding-bottom: 87px; } #page-home #for-devs hgroup { max-width: 740px; } #page-home #for-devs ul { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 46px; -ms-flex-pack: distribute; justify-content: space-around; max-width: 1064px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-home #for-devs ul::before, #page-home #for-devs ul::after { display: none; } #page-home #for-devs li { list-style: none; } #page-home #for-devs li a { color: #798fb8; font-weight: 700; padding-top: 73px; text-align: center; text-transform: uppercase; position: relative; width: 130px; display: block; letter-spacing: .08em; transition: .2s color; font-size: 13px; } #page-home #for-devs li a::before, #page-home #for-devs li a::after { background: url("/img/homepage/offering-icons.png") 0 0 no-repeat; background-size: 56px; height: 56px; width: 56px; content: ''; position: absolute; top: 0; left: calc(50% - 28px); } #page-home #for-devs li a:hover { color: #4a8bfc; } @media (max-width: 560px) { #page-home #for-devs li a { line-height: 1.6em; margin-bottom: 48px; } } #page-home #for-devs li a::before, #page-home #for-devs li a::after { transition: .2s opacity; } #page-home #for-devs li a::after { opacity: 0; } #page-home #for-devs li:hover a::after { opacity: 1; } #page-home #for-devs li.oss a::before { background-position: 0 0px; } #page-home #for-devs li.oss a::after { background-position: 0 -56px; } #page-home #for-devs li.devops a::before { background-position: 0 -112px; } #page-home #for-devs li.devops a::after { background-position: 0 -168px; } #page-home #for-devs li.ide a::before { background-position: 0 -224px; } #page-home #for-devs li.ide a::after { background-position: 0 -280px; } #page-home #for-devs li.integration a::before { background-position: 0 -336px; } #page-home #for-devs li.integration a::after { background-position: 0 -392px; } #page-home #oss { padding-top: 176px; padding-bottom: 400px; margin-top: 100px; } #page-home #oss .frameworks { margin-bottom: 33px; display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: start; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 0; } #page-home #oss .frameworks li { margin-right: 1em; list-style: none; } #page-home #oss .frameworks li { height: 32px; width: 32px; background-size: 100%; display: inline-block; margin-right: 12px; } #page-home #oss .frameworks li.frameworks__angular { background-image: url("/img/homepage/framework-support-angular.png"); } #page-home #oss .frameworks li.frameworks__react { background-image: url("/img/homepage/framework-support-react.png"); } #page-home #oss .frameworks li.frameworks__vue { background-image: url("/img/homepage/framework-support-vue.png"); } #page-home #oss .frameworks li.frameworks__js { background-image: url("/img/homepage/framework-support-javascript.png"); } #page-home #oss .graphics { position: absolute; top: 25px; right: 15px; height: 500px; } #page-home #oss .graphics.active::before, #page-home #oss .graphics.active::after { -webkit-animation: fadeInUp 1s .8s ease forwards; animation: fadeInUp 1s .8s ease forwards; } #page-home #oss .graphics.active::after { -webkit-animation-delay: .4s; animation-delay: .4s; } #page-home #oss .graphics.active .shadow { -webkit-animation: fadeIn 2s .2s ease forwards; animation: fadeIn 2s .2s ease forwards; } #page-home #oss .graphics::before, #page-home #oss .graphics::after, #page-home #oss .graphics .shadow { position: absolute; content: ''; opacity: 0; background: url("/img/homepage/framework-device-android.jpg") 0 0 no-repeat; background-size: 100%; top: 78px; right: 99px; width: 470px; height: 624px; } #page-home #oss .graphics::after { background-image: url("/img/homepage/framework-device-iphone.png"); background-size: 100%; width: 490px; height: 790px; top: 0px; right: 0px; } #page-home #oss .graphics .shadow { background-image: url("/img/homepage/framework-devices-shadow.png"); background-size: 100%; width: 1266px; height: 214px; top: 654px; right: -200px; } @media (max-width: 1219px) { #page-home #oss { padding-top: 120px; } #page-home #oss .content { width: 380px; } } @media (max-width: 991px) { #page-home #oss .graphics { -webkit-transform: scale(0.5, 0.5); transform: scale(0.5, 0.5); top: 200px; } } @media (max-width: 767px) { #page-home #oss { padding-top: 0px; padding-bottom: 328px; } #page-home #oss .content { width: 100%; text-align: center; } #page-home #oss .content .frameworks { -ms-flex-pack: center; justify-content: center; } #page-home #oss .graphics { right: calc(50% - 60px); bottom: -101px; top: auto; } #page-home #oss .graphics::before { top: 39px; right: 50px; width: 235px; height: 312px; } #page-home #oss .graphics::after { width: 245px; height: 395px; } #page-home #oss .graphics .shadow { width: 633px; height: 107px; top: 327px; right: -100px; } } #page-home #devops { padding-top: 204px; padding-bottom: 252px; } #page-home #devops .content { position: relative; } #page-home #devops .git-hosts { margin-bottom: 42px; display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: start; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 0; } #page-home #devops .git-hosts li { margin-right: 1em; list-style: none; } #page-home #devops .git-hosts li { margin-right: 19px; } #page-home #devops .git-hosts img { height: 20px; } #page-home #devops .graphics { background: url("/img/homepage/devops-appflow-preview.png") 0 0 no-repeat; background-size: 100%; width: 1324px; height: 812px; position: absolute; top: 14px; left: -227px; opacity: 0; } #page-home #devops .graphics.active { -webkit-animation: fadeInUp 1s ease forwards; animation: fadeInUp 1s ease forwards; } @media (max-width: 1219px) { #page-home #devops { padding-top: 60px; } #page-home #devops .graphics { width: 933px; } } @media (max-width: 991px) { #page-home #devops .graphics { width: 662px; top: 180px; } } @media (max-width: 767px) { #page-home #devops { padding-top: 160px; padding-bottom: 420px; } #page-home #devops .content { width: 100%; } #page-home #devops .git-hosts { -ms-flex-pack: center; justify-content: center; } #page-home #devops .graphics { left: calc(50% - 150px); width: 331px; top: auto; height: 203px; bottom: 170px; } } #page-home #studio { padding-bottom: 54px; margin-bottom: 150px; padding-top: 20px; margin-top: 150px; } #page-home #studio .content { max-width: 720px; } #page-home #studio .graphics { background: url("/img/homepage/studio-desktop-bg.jpg") 50% 0 no-repeat; background-size: cover; width: 100%; padding-top: 100px; padding-bottom: 100px; margin-top: 58px; } #page-home #studio .graphics video { margin: 0 auto; padding: 0; border-radius: 6px; box-shadow: 0 22px 70px 4px rgba(0, 0, 0, 0.56); } @media (max-width: 767px) { #page-home #studio { padding-top: 80px; margin-top: 0; } #page-home #studio .graphics video { width: 100%; } } #page-home #integrations { padding-top: 20px; padding-bottom: 4px; } #page-home #integrations .content { max-width: 894px; } #page-home #integrations .integration-list { position: relative; height: 360px; display: block; margin: 0 0 48px; padding: 0; position: relative; opacity: 0; -webkit-animation: fadeIn 1s 1s forwards; animation: fadeIn 1s 1s forwards; } #page-home #integrations .integration-list li { list-style: none; position: absolute; } #page-home #integrations .integration-list img { position: absolute; width: 128px; border-radius: 50%; box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1); } #page-home #integrations .integration-list img.m { width: 64px; } #page-home #integrations .integration-list img.m { width: 96px; } #page-home #why-build { padding-bottom: 90px; } #page-home #why-build .why { display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: start; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 0; -ms-flex-pack: justify; justify-content: space-between; margin-top: 75px; margin-bottom: 75px; } #page-home #why-build .why li { margin-right: 1em; list-style: none; } #page-home #why-build .why li { padding-top: 61px; max-width: 310px; position: relative; } #page-home #why-build .why li.why__future-proof::before { background-position: 0 0px; } #page-home #why-build .why li.why__community::before { background-position: 0 -48px; } #page-home #why-build .why li.why__os::before { background-position: 0 -96px; } #page-home #why-build .why li::before { background: url("/img/homepage/why-build-icons.png") 0 0 no-repeat; background-size: 100%; position: absolute; top: 0; left: 0; height: 48px; width: 48px; content: ''; } #page-home #why-build .why li p { letter-spacing: -.01em; } @media (max-width: 1219px) { #page-home #why-build .why li { max-width: 280px; } } @media (max-width: 991px) { #page-home #why-build .why li { max-width: 210px; } } @media (max-width: 767px) { #page-home #why-build { text-align: center; } #page-home #why-build .why { -ms-flex-pack: distribute; justify-content: space-around; } #page-home #why-build .why li { max-width: 100%; } #page-home #why-build .why li::before { left: calc(50% - 24px); } } #page-home #difference { display: -ms-flexbox; display: flex; padding-top: 60px; padding-bottom: 69px; margin-top: 16px; border-bottom: 1px solid #eee; } #page-home #difference .container { position: relative; } #page-home #difference .container::before { background: url("/img/homepage/hybrid-vs-native-ionic-ebook.png") 0 0 no-repeat; background-size: 100%; width: 424px; height: 310px; content: ''; position: absolute; bottom: -69px; left: 52px; } #page-home #difference hgroup { max-width: 550px; margin-right: 50px; margin-left: auto; } #page-home #difference h5 { font-size: 18px; margin-bottom: 11px; color: #1f3256; } #page-home #difference p { font-size: 16px; font-weight: 400; line-height: 1.6em; letter-spacing: -.01em; color: #6c81a6; } #page-home #difference .btn { padding: 12px 13px 10px; font-size: 14px; background-color: #668bff; } @media (max-width: 1219px) { #page-home #difference .container::before { left: 0; } #page-home #difference hgroup { max-width: 500px; } } @media (max-width: 991px) { #page-home #difference hgroup { margin: 0 auto; max-width: 100%; } #page-home #difference .container::before { width: 212px; height: 155px; right: 0; left: auto; } } @media (max-width: 370px) { #page-home #difference .container::before { display: none; } } #page-home #good-company { padding-top: 159px; padding-bottom: 202px; } #page-home #good-company hgroup { max-width: 732px; margin: 0 auto; } #page-home #good-company hgroup p { line-height: 32px; margin-top: 15px; } #page-home #good-company .case-studies { display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: start; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 0; -ms-flex-pack: justify; justify-content: space-between; margin-top: 54px; } #page-home #good-company .case-studies li { margin-right: 1em; list-style: none; } #page-home #good-company .case-studies li { -ms-flex: 0 0 270px; flex: 0 0 270px; margin-right: 0; margin-bottom: 32px; } #page-home #good-company .case-studies a { text-align: left; position: relative; display: block; border-radius: 8px; padding: 236px 27px 23px; box-shadow: 0 4px 8px rgba(0, 30, 84, 0.12), 0 1px 3px rgba(0, 30, 84, 0.08); transition: .15s box-shadow ease, .15s color, .15s transform; } #page-home #good-company .case-studies a:hover { -webkit-transform: translateY(-1px); transform: translateY(-1px); box-shadow: 0 8px 16px rgba(0, 30, 84, 0.1), 0 3px 6px rgba(0, 30, 84, 0.08); } #page-home #good-company .case-studies img { position: absolute; top: 0; left: 0; right: 0; width: 100%; display: block; border-top-right-radius: 8px; border-top-left-radius: 8px; } #page-home #good-company .case-studies strong { font-weight: 400; color: #253950; } #page-home #good-company .case-studies p { font-size: 14px; letter-spacing: -.01em; } #page-home #good-company .case-studies .cta { font-size: 15px; font-family: Eina; font-weight: 600; margin-top: 10px; letter-spacing: .03em; } #page-home #good-company .case-studies .cta::after { display: none; } #page-home #good-company .others { width: 807px; display: block; margin: 49px auto 35px; } #page-home #good-company .cta::after { color: #dbe6ff; } @media (max-width: 1219px) { #page-home #good-company .case-studies li { -ms-flex: 0 0 220px; flex: 0 0 220px; } } @media (max-width: 767px) { #page-home #good-company .case-studies { -ms-flex-pack: distribute; justify-content: space-around; } #page-home #good-company .case-studies li { -ms-flex: 0 0 280px; flex: 0 0 280px; } #page-home #good-company .others { width: 100%; } } #page-home #join { background: linear-gradient(to right, #4f74fe, #70aafb); padding-top: 132px; padding-bottom: 160px; color: white; text-align: center; } #page-home #join hgroup { font-size: 23px; max-width: 790px; } #page-home #join h1 { font-weight: 400; color: white; font-size: 46px; line-height: 64px; } #page-home #join .btns { margin-top: 44px; } #page-home #join .btn { text-transform: uppercase; font-weight: 700; font-size: 15px; padding: 21px 24px 19px; letter-spacing: .096em; margin-bottom: 16px; } #page-home #join .btn ion-icon { vertical-align: -2px; display: inline-block; width: 15px; height: 15px; } #page-home #join .btn.light { background: #7bb3ff; } #page-home #join .btn.light:hover { background: #95c2ff; } #page-home #join .btn:not(:hover):not(:active) { box-shadow: none; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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YSxFQUFFO0lBQ2pCO01BQ0Usb0JBQW9CLEVBQUU7TUFDdEI7UUFDRSxvQkFBb0IsRUFBRTtJQUMxQjtNQUNFLGlCQUFpQixFQUFFIiwiZmlsZSI6InBhZ2VzL2hvbWUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2lvbmljLXNsaWRlciB7XG4gIG1hcmdpbi10b3A6IC03MnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogODYwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjaW9uaWMtc2xpZGVyIFtzbG90PVwic2xpZGUtMFwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI2lvbmljLXNsaWRlciBbc2xvdF49XCJzbGlkZS1cIl0ge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAjaW9uaWMtc2xpZGVyIFtzbG90Xj1cInNsaWRlLVwiXSBoZ3JvdXAge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEzcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjaW9uaWMtc2xpZGVyIFtzbG90Xj1cInNsaWRlLVwiXSBoMSB7XG4gICAgICBmb250LXNpemU6IDY0cHg7XG4gICAgICBsaW5lLWhlaWdodDogNzRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtOyB9XG4gICAgI2lvbmljLXNsaWRlciBbc2xvdF49XCJzbGlkZS1cIl0gcCB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICAgIGNvbG9yOiAjZTRmMWZmOyB9XG4gICAgI2lvbmljLXNsaWRlciBbc2xvdF49XCJzbGlkZS1cIl0gLmJ0biB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgI2lvbmljLXNsaWRlciBbc2xvdF49XCJzbGlkZS1cIl0gLmJ0biBpb24taWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAjaW9uaWMtc2xpZGVyIFtzbG90Xj1cInNsaWRlLVwiXSAudmVyc2lvbi10ZXh0IHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxMXB4OyB9XG4gICAgICAjaW9uaWMtc2xpZGVyIFtzbG90Xj1cInNsaWRlLVwiXSAudmVyc2lvbi10ZXh0IGEge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgW3Nsb3RePVwic2xpZGUtXCJdIC52ZXJzaW9uLXRleHQgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgI2lvbmljLXNsaWRlciAjc2xpZGUtbGltaXRsZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjNTQ4ZmZmIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzQyNzhmZiwgIzY3YTdmZik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gICAgI2lvbmljLXNsaWRlciAjc2xpZGUtbGltaXRsZXNzIC5idG4ge1xuICAgICAgY29sb3I6ICMzODgwZmY7IH1cbiAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1saW1pdGxlc3MgdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1saW1pdGxlc3MgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLWxpbWl0bGVzcyBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLWxpbWl0bGVzcyBsaTpsYXN0LWNoaWxkIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtOHB4OyB9XG4gICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1saW1pdGxlc3MgbGkgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICBvcGFjaXR5OiAuNjsgfVxuICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLWxpbWl0bGVzcyAuZ3JhcGhpY3Mge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtbGltaXRsZXNzIC5ncmFwaGljcyBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlIGZvcndhcmRzOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLWxpbWl0bGVzcyAuZ3JhcGhpY3MgbGkuaXBob25lLXgge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2UvaGVyby1pcGhvbmUteC5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgYm90dG9tOiAtNjNweDtcbiAgICAgICAgICBsZWZ0OiAtMTkxcHg7XG4gICAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgICAgIGhlaWdodDogMzA2cHg7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuOHM7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtbGltaXRsZXNzIC5ncmFwaGljcyBsaS5pcGhvbmUteHMtbWF4IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2hvbWVwYWdlL2hlcm8taXBob25lLXhzLW1heC5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgYm90dG9tOiAtMzlweDtcbiAgICAgICAgICBsZWZ0OiAxNzBweDtcbiAgICAgICAgICB3aWR0aDogNDkwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNzhweDtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC45czsgfVxuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1saW1pdGxlc3MgLmdyYXBoaWNzIGxpLnBpeGVsLTMge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2UvaGVyby1nb29nbGUtcGl4ZWwzLnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICBib3R0b206IC00MHB4O1xuICAgICAgICAgIGxlZnQ6IDYwN3B4O1xuICAgICAgICAgIHdpZHRoOiA0OTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMXM7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtbGltaXRsZXNzIC5ncmFwaGljcyBsaS5nYWxheHkge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2UvaGVyby1hbmRyb2lkLWdhbGF4eS5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgYm90dG9tOiAtNDFweDtcbiAgICAgICAgICBsZWZ0OiAxMDYzcHg7XG4gICAgICAgICAgd2lkdGg6IDQ1MHB4O1xuICAgICAgICAgIGhlaWdodDogMzU2cHg7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjFzOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLWxpbWl0bGVzcyAuZ3JhcGhpY3MgbGkuaXBhZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9ob21lcGFnZS9oZXJvLWlwYWQucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgIGJvdHRvbTogLTQ0cHg7XG4gICAgICAgICAgbGVmdDogMTQ4NHB4O1xuICAgICAgICAgIHdpZHRoOiA2MTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDUyNHB4O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMS4yczsgfVxuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1saW1pdGxlc3MgLmdyYXBoaWNzIGxpLm1hY2Jvb2sge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2UvaGVyby1tYWNib29rLnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICBib3R0b206IC02M3B4O1xuICAgICAgICAgIGxlZnQ6IDIwNjFweDtcbiAgICAgICAgICB3aWR0aDogMTQ3MHB4O1xuICAgICAgICAgIGhlaWdodDogNTcwcHg7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjNzOyB9XG4gICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDEwNTBjOyB9XG4gICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2hvbWVwYWdlL2JnLXBob25lLnBuZ1wiKSBuby1yZXBlYXQgNTAlIDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgY29udGVudDogJyc7IH1cbiAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCBoZ3JvdXAge1xuICAgICAgcGFkZGluZy10b3A6IDU4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXgtd2lkdGg6IDYyMHB4OyB9XG4gICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCBoZ3JvdXAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4OyB9XG4gICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCBoZ3JvdXAgaDQge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMzcHg7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IGhncm91cCBoMSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IGhncm91cCBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IGhncm91cCAuYnRuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjdweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wOGVtOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IGhncm91cCAuYnRuLndoaXRlIHtcbiAgICAgICAgICBjb2xvcjogIzEzMWEyNjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCBoZ3JvdXAgLmJ0bi5kYXJrIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzQzZDRkOyB9XG4gICAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgaGdyb3VwIC5idG4uZGFyazpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjM2U0OTVjOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IGhncm91cCAuYnRuIGlvbi1pY29uIHtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDM1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgLmZlYXR1cmVzIHVsIGxpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyB1bDo6YmVmb3JlLCAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCAuZmVhdHVyZXMgdWw6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCAuZmVhdHVyZXMgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICAgICAgICB3aWR0aDogMTQ1cHg7XG4gICAgICAgIGNvbG9yOiAjOGE5NGEzO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyBsaTo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2hvbWVwYWdlL3Y0LWZlYXR1cmUtaWNvbnMucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjRweCk7XG4gICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyBsaS5wZXJmb3JtYW5jZTo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDBweDsgfVxuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCAuZmVhdHVyZXMgbGkudGhlbWluZzo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00OHB4OyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyBsaS5zdGFuZGFyZHM6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCAuZmVhdHVyZXMgbGkuY29tcGF0aWJsZTo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfVxuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCAuZmVhdHVyZXMgbGkuZG9jczo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xOTJweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyB7XG4gICAgICAgICAgYm90dG9tOiAwOyB9XG4gICAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgLmZlYXR1cmVzIHVsIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzBweCkge1xuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCAuZmVhdHVyZXMge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0OjpiZWZvcmUge1xuICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxLjZzIC44cyBlYXNlIGZvcndhcmRzOyB9XG4gICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgLmZlYXR1cmVzIGxpIHtcbiAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgLjFzIGVhc2UgZm9yd2FyZHM7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC4yczsgfVxuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgLmZlYXR1cmVzIGxpOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjNzOyB9XG4gICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCAuZmVhdHVyZXMgbGk6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuNHM7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyBsaTpudGgtY2hpbGQoNSkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC41czsgfVxuICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogODQwcHg7IH1cbiAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IC5ub3RpZmljYXRpb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogI0Y2RjhGQjtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgICAgcGFkZGluZzogN3B4IDE1cHggN3B4OyB9XG4gICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IC5ub3RpZmljYXRpb24gc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICMxQTIzMkY7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgLm5vdGlmaWNhdGlvbjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnPic7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IC5ub3RpZmljYXRpb24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgaGdyb3VwIHtcbiAgICAgIG1heC13aWR0aDogNDY0cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDU2cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IGhncm91cCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDY0cHg7XG4gICAgICAgIGNvbG9yOiAjMDIwODE0O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wNGVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgaGdyb3VwIHAge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzN3B4O1xuICAgICAgICBjb2xvcjogcmdiYSg5MSwgMTEyLCAxMzksIDAuOSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgaGdyb3VwIC5idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNEQ4REZGO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDE2cHggMTJweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsgfVxuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IGhncm91cCAuYnRuOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjNjc5ZGZmOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgaGdyb3VwIC5idG46YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjNEQ4REZGOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgaGdyb3VwIC5idG4gaW1nIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XG4gICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IGhncm91cCBzbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgICBjb2xvcjogI0IyQkVDRDsgfVxuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IGhncm91cCBzbWFsbCBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgY29sb3I6ICM5MmEwYjM7IH1cbiAgICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IGhncm91cCBzbWFsbCBhOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogLTJweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlM2VhOyB9XG4gICAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSBoZ3JvdXAgc21hbGwgYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzRhOGJmYzsgfVxuICAgICAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSBoZ3JvdXAgc21hbGwgYTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjNGE4YmZjOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSBoZ3JvdXAge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNjRweDsgfSB9XG4gICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSAuZ3JhcGhpYyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHRvcDogMTIwcHg7XG4gICAgICBoZWlnaHQ6IDU2M3B4O1xuICAgICAgd2lkdGg6IDU5MHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgLmdyYXBoaWMge1xuICAgICAgICAgIHRvcDogMTI4cHg7XG4gICAgICAgICAgcmlnaHQ6IC02NHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IC5ncmFwaGljIHtcbiAgICAgICAgICB3aWR0aDogMzAycHg7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHRvcDogMTgwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgLmdyYXBoaWMge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgLnN0YXRzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDIxcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgLnN0YXRzIGEge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgICAgY29sb3I6ICM5MkExQjM7XG4gICAgICAgIHBhZGRpbmc6IDAgMThweDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzIGNvbG9yOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgLnN0YXRzIGEgc3ZnIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTNweDsgfVxuICAgICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgLnN0YXRzIGEgc3ZnIHBhdGgge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjNzIGZpbGw7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSAuc3RhdHMgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM3NDg3OWU7IH1cbiAgICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IC5zdGF0cyBhOmhvdmVyIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICM3NDg3OWU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IC5zdGF0cyB7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNDBweCk7IH0gfVxuICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgaW9uaWMtbmV3c2xldHRlci1zaWdudXAge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAyOXB4O1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSBpb25pYy1uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgICAgICAgYm90dG9tOiAtMjZweDtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDIwMHB4KTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDYwcHgpIHtcbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSBpb25pYy1uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgICAgICAgbGVmdDogMTVweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI2lvbmljLXNsaWRlciB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cblxuI3BhZ2UtaG9tZSAjdXNlZC1ieSB7XG4gIGJvcmRlci10b3A6IDFweCAjRUZGM0Y4IHNvbGlkO1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDU4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUZGM0Y4OyB9XG4gICNwYWdlLWhvbWUgI3VzZWQtYnkgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA5NTBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtaG9tZSAjdXNlZC1ieSAuY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjcGFnZS1ob21lICN1c2VkLWJ5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4jcGFnZS1ob21lIHNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMTcwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1ZW07XG4gIHBhZGRpbmctYm90dG9tOiAxNzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNwYWdlLWhvbWUgc2VjdGlvbi5jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjcGFnZS1ob21lIHNlY3Rpb24ubGVmdCwgI3BhZ2UtaG9tZSBzZWN0aW9uLnJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgI3BhZ2UtaG9tZSBzZWN0aW9uLmxlZnQgLmNvbnRlbnQsICNwYWdlLWhvbWUgc2VjdGlvbi5yaWdodCAuY29udGVudCB7XG4gICAgICB3aWR0aDogNDcwcHg7IH1cbiAgI3BhZ2UtaG9tZSBzZWN0aW9uLnJpZ2h0IC5jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAjcGFnZS1ob21lIHNlY3Rpb24gaDIge1xuICAgIGZvbnQtc2l6ZTogNDdweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgY29sb3I6ICMwZDEyMWM7IH1cbiAgI3BhZ2UtaG9tZSBzZWN0aW9uIGgzIHtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNmVtOyB9XG4gICNwYWdlLWhvbWUgc2VjdGlvbiBoNCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjODA4ZmE3O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMTRlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTsgfVxuICAgICNwYWdlLWhvbWUgc2VjdGlvbiBoNCArIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDM2cHg7IH1cbiAgI3BhZ2UtaG9tZSBzZWN0aW9uIGg1IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNwYWdlLWhvbWUgc2VjdGlvbiBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICM4YzliYjk7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc4ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDI4ZW07IH1cbiAgI3BhZ2UtaG9tZSBzZWN0aW9uIGhncm91cCBwLFxuICAjcGFnZS1ob21lIHNlY3Rpb24gcC5sZyB7XG4gICAgY29sb3I6ICM1OTZhODk7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICAgI3BhZ2UtaG9tZSBzZWN0aW9uIGhncm91cCBwIHN0cm9uZyxcbiAgICAjcGFnZS1ob21lIHNlY3Rpb24gcC5sZyBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAjcGFnZS1ob21lIHNlY3Rpb24gLmN0YSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDExcHg7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgY29sb3I6ICM1YTk4ZmY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiAuM3Mgb3BhY2l0eTsgfVxuICAgICNwYWdlLWhvbWUgc2VjdGlvbiAuY3RhOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IC42OyB9XG4gICAgI3BhZ2UtaG9tZSBzZWN0aW9uIC5jdGE6aG92ZXIsICNwYWdlLWhvbWUgc2VjdGlvbiAuY3RhOmFjdGl2ZSwgI3BhZ2UtaG9tZSBzZWN0aW9uIC5jdGE6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgI3BhZ2UtaG9tZSBzZWN0aW9uIC5jdGE6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkYmU2ZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3BhZ2UtaG9tZSBzZWN0aW9uIC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuI3BhZ2UtaG9tZSAjZm9yLWRldnMge1xuICBwYWRkaW5nLWJvdHRvbTogODdweDsgfVxuICAjcGFnZS1ob21lICNmb3ItZGV2cyBoZ3JvdXAge1xuICAgIG1heC13aWR0aDogNzQwcHg7IH1cbiAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi10b3A6IDQ2cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgbWF4LXdpZHRoOiAxMDY0cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICAgICNwYWdlLWhvbWUgI2Zvci1kZXZzIHVsOjpiZWZvcmUsICNwYWdlLWhvbWUgI2Zvci1kZXZzIHVsOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgbGkgYSB7XG4gICAgICBjb2xvcjogIzc5OGZiODtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBwYWRkaW5nLXRvcDogNzNweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTMwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDhlbTtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBjb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAgICAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgbGkgYTo6YmVmb3JlLCAjcGFnZS1ob21lICNmb3ItZGV2cyBsaSBhOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2Uvb2ZmZXJpbmctaWNvbnMucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTZweDtcbiAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICB3aWR0aDogNTZweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDI4cHgpOyB9XG4gICAgICAjcGFnZS1ob21lICNmb3ItZGV2cyBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM0YThiZmM7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NjBweCkge1xuICAgICAgICAjcGFnZS1ob21lICNmb3ItZGV2cyBsaSBhIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDsgfSB9XG4gICAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgbGkgYTo6YmVmb3JlLFxuICAgICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpIGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBvcGFjaXR5OyB9XG4gICAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgbGkgYTo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpOmhvdmVyIGE6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAjcGFnZS1ob21lICNmb3ItZGV2cyBsaS5vc3MgYTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMHB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgbGkub3NzIGE6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTU2cHg7IH1cbiAgICAjcGFnZS1ob21lICNmb3ItZGV2cyBsaS5kZXZvcHMgYTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExMnB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgbGkuZGV2b3BzIGE6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2OHB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgbGkuaWRlIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfVxuICAgICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpLmlkZSBhOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yODBweDsgfVxuICAgICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpLmludGVncmF0aW9uIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMzZweDsgfVxuICAgICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpLmludGVncmF0aW9uIGE6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM5MnB4OyB9XG5cbiNwYWdlLWhvbWUgI29zcyB7XG4gIHBhZGRpbmctdG9wOiAxNzZweDtcbiAgcGFkZGluZy1ib3R0b206IDQwMHB4O1xuICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuICAjcGFnZS1ob21lICNvc3MgLmZyYW1ld29ya3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDMzcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAjcGFnZS1ob21lICNvc3MgLmZyYW1ld29ya3MgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI3BhZ2UtaG9tZSAjb3NzIC5mcmFtZXdvcmtzIGxpIHtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XG4gICAgICAjcGFnZS1ob21lICNvc3MgLmZyYW1ld29ya3MgbGkuZnJhbWV3b3Jrc19fYW5ndWxhciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvaG9tZXBhZ2UvZnJhbWV3b3JrLXN1cHBvcnQtYW5ndWxhci5wbmdcIik7IH1cbiAgICAgICNwYWdlLWhvbWUgI29zcyAuZnJhbWV3b3JrcyBsaS5mcmFtZXdvcmtzX19yZWFjdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvaG9tZXBhZ2UvZnJhbWV3b3JrLXN1cHBvcnQtcmVhY3QucG5nXCIpOyB9XG4gICAgICAjcGFnZS1ob21lICNvc3MgLmZyYW1ld29ya3MgbGkuZnJhbWV3b3Jrc19fdnVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9ob21lcGFnZS9mcmFtZXdvcmstc3VwcG9ydC12dWUucG5nXCIpOyB9XG4gICAgICAjcGFnZS1ob21lICNvc3MgLmZyYW1ld29ya3MgbGkuZnJhbWV3b3Jrc19fanMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2hvbWVwYWdlL2ZyYW1ld29yay1zdXBwb3J0LWphdmFzY3JpcHQucG5nXCIpOyB9XG4gICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI1cHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgaGVpZ2h0OiA1MDBweDsgfVxuICAgICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3MuYWN0aXZlOjpiZWZvcmUsICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3MuYWN0aXZlOjphZnRlciB7XG4gICAgICBhbmltYXRpb246IGZhZGVJblVwIDFzIC44cyBlYXNlIGZvcndhcmRzOyB9XG4gICAgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljcy5hY3RpdmU6OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLjRzOyB9XG4gICAgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljcy5hY3RpdmUgLnNoYWRvdyB7XG4gICAgICBhbmltYXRpb246IGZhZGVJbiAycyAuMnMgZWFzZSBmb3J3YXJkczsgfVxuICAgICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3M6OmJlZm9yZSwgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljczo6YWZ0ZXIsXG4gICAgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljcyAuc2hhZG93IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2UvZnJhbWV3b3JrLWRldmljZS1hbmRyb2lkLmpwZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgdG9wOiA3OHB4O1xuICAgICAgcmlnaHQ6IDk5cHg7XG4gICAgICB3aWR0aDogNDcwcHg7XG4gICAgICBoZWlnaHQ6IDYyNHB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljczo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9ob21lcGFnZS9mcmFtZXdvcmstZGV2aWNlLWlwaG9uZS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICB3aWR0aDogNDkwcHg7XG4gICAgICBoZWlnaHQ6IDc5MHB4O1xuICAgICAgdG9wOiAwcHg7XG4gICAgICByaWdodDogMHB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljcyAuc2hhZG93IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvaG9tZXBhZ2UvZnJhbWV3b3JrLWRldmljZXMtc2hhZG93LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIHdpZHRoOiAxMjY2cHg7XG4gICAgICBoZWlnaHQ6IDIxNHB4O1xuICAgICAgdG9wOiA2NTRweDtcbiAgICAgIHJpZ2h0OiAtMjAwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICNwYWdlLWhvbWUgI29zcyB7XG4gICAgICBwYWRkaW5nLXRvcDogMTIwcHg7IH1cbiAgICAgICNwYWdlLWhvbWUgI29zcyAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAzODBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3Mge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUsIDAuNSk7XG4gICAgICB0b3A6IDIwMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2UtaG9tZSAjb3NzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzI4cHg7IH1cbiAgICAgICNwYWdlLWhvbWUgI29zcyAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgI3BhZ2UtaG9tZSAjb3NzIC5jb250ZW50IC5mcmFtZXdvcmtzIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljcyB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDYwcHgpO1xuICAgICAgICBib3R0b206IC0xMDFweDtcbiAgICAgICAgdG9wOiBhdXRvOyB9XG4gICAgICAgICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3M6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAzOXB4O1xuICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICAgIHdpZHRoOiAyMzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDMxMnB4OyB9XG4gICAgICAgICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3M6OmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogMjQ1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzOTVweDsgfVxuICAgICAgICAjcGFnZS1ob21lICNvc3MgLmdyYXBoaWNzIC5zaGFkb3cge1xuICAgICAgICAgIHdpZHRoOiA2MzNweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwN3B4O1xuICAgICAgICAgIHRvcDogMzI3cHg7XG4gICAgICAgICAgcmlnaHQ6IC0xMDBweDsgfSB9XG5cbiNwYWdlLWhvbWUgI2Rldm9wcyB7XG4gIHBhZGRpbmctdG9wOiAyMDRweDtcbiAgcGFkZGluZy1ib3R0b206IDI1MnB4OyB9XG4gICNwYWdlLWhvbWUgI2Rldm9wcyAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNwYWdlLWhvbWUgI2Rldm9wcyAuZ2l0LWhvc3RzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgI3BhZ2UtaG9tZSAjZGV2b3BzIC5naXQtaG9zdHMgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI3BhZ2UtaG9tZSAjZGV2b3BzIC5naXQtaG9zdHMgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxOXB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjZGV2b3BzIC5naXQtaG9zdHMgaW1nIHtcbiAgICAgIGhlaWdodDogMjBweDsgfVxuICAjcGFnZS1ob21lICNkZXZvcHMgLmdyYXBoaWNzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2hvbWVwYWdlL2Rldm9wcy1hcHBmbG93LXByZXZpZXcucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHdpZHRoOiAxMzI0cHg7XG4gICAgaGVpZ2h0OiA4MTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNHB4O1xuICAgIGxlZnQ6IC0yMjdweDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgI3BhZ2UtaG9tZSAjZGV2b3BzIC5ncmFwaGljcy5hY3RpdmUge1xuICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlIGZvcndhcmRzOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAjcGFnZS1ob21lICNkZXZvcHMge1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7IH1cbiAgICAgICNwYWdlLWhvbWUgI2Rldm9wcyAuZ3JhcGhpY3Mge1xuICAgICAgICB3aWR0aDogOTMzcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjcGFnZS1ob21lICNkZXZvcHMgLmdyYXBoaWNzIHtcbiAgICAgIHdpZHRoOiA2NjJweDtcbiAgICAgIHRvcDogMTgwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcGFnZS1ob21lICNkZXZvcHMge1xuICAgICAgcGFkZGluZy10b3A6IDE2MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQyMHB4OyB9XG4gICAgICAjcGFnZS1ob21lICNkZXZvcHMgLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgI3BhZ2UtaG9tZSAjZGV2b3BzIC5naXQtaG9zdHMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtaG9tZSAjZGV2b3BzIC5ncmFwaGljcyB7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTUwcHgpO1xuICAgICAgICB3aWR0aDogMzMxcHg7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAyMDNweDtcbiAgICAgICAgYm90dG9tOiAxNzBweDsgfSB9XG5cbiNwYWdlLWhvbWUgI3N0dWRpbyB7XG4gIHBhZGRpbmctYm90dG9tOiA1NHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNTBweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIG1hcmdpbi10b3A6IDE1MHB4OyB9XG4gICNwYWdlLWhvbWUgI3N0dWRpbyAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA3MjBweDsgfVxuICAjcGFnZS1ob21lICNzdHVkaW8gLmdyYXBoaWNzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2hvbWVwYWdlL3N0dWRpby1kZXNrdG9wLWJnLmpwZ1wiKSA1MCUgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIG1hcmdpbi10b3A6IDU4cHg7IH1cbiAgICAjcGFnZS1ob21lICNzdHVkaW8gLmdyYXBoaWNzIHZpZGVvIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMjJweCA3MHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNTYpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWhvbWUgI3N0dWRpbyB7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICNwYWdlLWhvbWUgI3N0dWRpbyAuZ3JhcGhpY3MgdmlkZW8ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbiNwYWdlLWhvbWUgI2ludGVncmF0aW9ucyB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNHB4OyB9XG4gICNwYWdlLWhvbWUgI2ludGVncmF0aW9ucyAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA4OTRweDsgfVxuICAjcGFnZS1ob21lICNpbnRlZ3JhdGlvbnMgLmludGVncmF0aW9uLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDM2MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDQ4cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb246IGZhZGVJbiAxcyAxcyBmb3J3YXJkczsgfVxuICAgICNwYWdlLWhvbWUgI2ludGVncmF0aW9ucyAuaW50ZWdyYXRpb24tbGlzdCBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgI3BhZ2UtaG9tZSAjaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbi1saXN0IGltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTI4cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3gtc2hhZG93OiAwIDZweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAgICAgI3BhZ2UtaG9tZSAjaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbi1saXN0IGltZy5tIHtcbiAgICAgICAgd2lkdGg6IDY0cHg7IH1cbiAgICAgICNwYWdlLWhvbWUgI2ludGVncmF0aW9ucyAuaW50ZWdyYXRpb24tbGlzdCBpbWcubSB7XG4gICAgICAgIHdpZHRoOiA5NnB4OyB9XG5cbiNwYWdlLWhvbWUgI3doeS1idWlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiA5MHB4OyB9XG4gICNwYWdlLWhvbWUgI3doeS1idWlsZCAud2h5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogNzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjd2h5LWJ1aWxkIC53aHkgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI3BhZ2UtaG9tZSAjd2h5LWJ1aWxkIC53aHkgbGkge1xuICAgICAgcGFkZGluZy10b3A6IDYxcHg7XG4gICAgICBtYXgtd2lkdGg6IDMxMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjcGFnZS1ob21lICN3aHktYnVpbGQgLndoeSBsaS53aHlfX2Z1dHVyZS1wcm9vZjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwcHg7IH1cbiAgICAgICNwYWdlLWhvbWUgI3doeS1idWlsZCAud2h5IGxpLndoeV9fY29tbXVuaXR5OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00OHB4OyB9XG4gICAgICAjcGFnZS1ob21lICN3aHktYnVpbGQgLndoeSBsaS53aHlfX29zOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9XG4gICAgICAjcGFnZS1ob21lICN3aHktYnVpbGQgLndoeSBsaTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9ob21lcGFnZS93aHktYnVpbGQtaWNvbnMucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAjcGFnZS1ob21lICN3aHktYnVpbGQgLndoeSBsaSBwIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgI3BhZ2UtaG9tZSAjd2h5LWJ1aWxkIC53aHkgbGkge1xuICAgICAgbWF4LXdpZHRoOiAyODBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLWhvbWUgI3doeS1idWlsZCAud2h5IGxpIHtcbiAgICAgIG1heC13aWR0aDogMjEwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcGFnZS1ob21lICN3aHktYnVpbGQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAjcGFnZS1ob21lICN3aHktYnVpbGQgLndoeSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgICAgICNwYWdlLWhvbWUgI3doeS1idWlsZCAud2h5IGxpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAjcGFnZS1ob21lICN3aHktYnVpbGQgLndoeSBsaTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjRweCk7IH0gfVxuXG4jcGFnZS1ob21lICNkaWZmZXJlbmNlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA2OXB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsgfVxuICAjcGFnZS1ob21lICNkaWZmZXJlbmNlIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNwYWdlLWhvbWUgI2RpZmZlcmVuY2UgLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2UvaHlicmlkLXZzLW5hdGl2ZS1pb25pYy1lYm9vay5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIHdpZHRoOiA0MjRweDtcbiAgICAgIGhlaWdodDogMzEwcHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTY5cHg7XG4gICAgICBsZWZ0OiA1MnB4OyB9XG4gICNwYWdlLWhvbWUgI2RpZmZlcmVuY2UgaGdyb3VwIHtcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAjcGFnZS1ob21lICNkaWZmZXJlbmNlIGg1IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICBjb2xvcjogIzFmMzI1NjsgfVxuICAjcGFnZS1ob21lICNkaWZmZXJlbmNlIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuICAgIGNvbG9yOiAjNmM4MWE2OyB9XG4gICNwYWdlLWhvbWUgI2RpZmZlcmVuY2UgLmJ0biB7XG4gICAgcGFkZGluZzogMTJweCAxM3B4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjhiZmY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICNwYWdlLWhvbWUgI2RpZmZlcmVuY2UgLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAjcGFnZS1ob21lICNkaWZmZXJlbmNlIGhncm91cCB7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3BhZ2UtaG9tZSAjZGlmZmVyZW5jZSBoZ3JvdXAge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAjcGFnZS1ob21lICNkaWZmZXJlbmNlIC5jb250YWluZXI6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMjEycHg7XG4gICAgICBoZWlnaHQ6IDE1NXB4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDM3MHB4KSB7XG4gICAgI3BhZ2UtaG9tZSAjZGlmZmVyZW5jZSAuY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSB7XG4gIHBhZGRpbmctdG9wOiAxNTlweDtcbiAgcGFkZGluZy1ib3R0b206IDIwMnB4OyB9XG4gICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSBoZ3JvdXAge1xuICAgIG1heC13aWR0aDogNzMycHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAjcGFnZS1ob21lICNnb29kLWNvbXBhbnkgaGdyb3VwIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY2FzZS1zdHVkaWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogNTRweDsgfVxuICAgICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY2FzZS1zdHVkaWVzIGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY2FzZS1zdHVkaWVzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAyNzBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgICAjcGFnZS1ob21lICNnb29kLWNvbXBhbnkgLmNhc2Utc3R1ZGllcyBhIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIHBhZGRpbmc6IDIzNnB4IDI3cHggMjNweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDMwLCA4NCwgMC4xMiksIDAgMXB4IDNweCByZ2JhKDAsIDMwLCA4NCwgMC4wOCk7XG4gICAgICB0cmFuc2l0aW9uOiAuMTVzIGJveC1zaGFkb3cgZWFzZSwgLjE1cyBjb2xvciwgLjE1cyB0cmFuc2Zvcm07IH1cbiAgICAgICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY2FzZS1zdHVkaWVzIGE6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggcmdiYSgwLCAzMCwgODQsIDAuMSksIDAgM3B4IDZweCByZ2JhKDAsIDMwLCA4NCwgMC4wOCk7IH1cbiAgICAjcGFnZS1ob21lICNnb29kLWNvbXBhbnkgLmNhc2Utc3R1ZGllcyBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7IH1cbiAgICAjcGFnZS1ob21lICNnb29kLWNvbXBhbnkgLmNhc2Utc3R1ZGllcyBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMjUzOTUwOyB9XG4gICAgI3BhZ2UtaG9tZSAjZ29vZC1jb21wYW55IC5jYXNlLXN0dWRpZXMgcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyB9XG4gICAgI3BhZ2UtaG9tZSAjZ29vZC1jb21wYW55IC5jYXNlLXN0dWRpZXMgLmN0YSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LWZhbWlseTogRWluYTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wM2VtOyB9XG4gICAgICAjcGFnZS1ob21lICNnb29kLWNvbXBhbnkgLmNhc2Utc3R1ZGllcyAuY3RhOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3BhZ2UtaG9tZSAjZ29vZC1jb21wYW55IC5vdGhlcnMge1xuICAgIHdpZHRoOiA4MDdweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDQ5cHggYXV0byAzNXB4OyB9XG4gICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY3RhOjphZnRlciB7XG4gICAgY29sb3I6ICNkYmU2ZmY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY2FzZS1zdHVkaWVzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAyMjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY2FzZS1zdHVkaWVzIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgICAjcGFnZS1ob21lICNnb29kLWNvbXBhbnkgLmNhc2Utc3R1ZGllcyBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAyODBweDsgfVxuICAgICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAub3RoZXJzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuI3BhZ2UtaG9tZSAjam9pbiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzRmNzRmZSwgIzcwYWFmYik7XG4gIHBhZGRpbmctdG9wOiAxMzJweDtcbiAgcGFkZGluZy1ib3R0b206IDE2MHB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjcGFnZS1ob21lICNqb2luIGhncm91cCB7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICAgIG1heC13aWR0aDogNzkwcHg7IH1cbiAgI3BhZ2UtaG9tZSAjam9pbiBoMSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiA0NnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2NHB4OyB9XG4gICNwYWdlLWhvbWUgI2pvaW4gLmJ0bnMge1xuICAgIG1hcmdpbi10b3A6IDQ0cHg7IH1cbiAgI3BhZ2UtaG9tZSAjam9pbiAuYnRuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHBhZGRpbmc6IDIxcHggMjRweCAxOXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDk2ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgICNwYWdlLWhvbWUgI2pvaW4gLmJ0biBpb24taWNvbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjam9pbiAuYnRuLmxpZ2h0IHtcbiAgICAgIGJhY2tncm91bmQ6ICM3YmIzZmY7IH1cbiAgICAgICNwYWdlLWhvbWUgI2pvaW4gLmJ0bi5saWdodDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM5NWMyZmY7IH1cbiAgICAjcGFnZS1ob21lICNqb2luIC5idG46bm90KDpob3Zlcik6bm90KDphY3RpdmUpIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/integrations/detail.css ================================================ /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwYWdlcy9pbnRlZ3JhdGlvbnMvZGV0YWlsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbXX0= */ ================================================ FILE: content/css/pages/integrations/index.css ================================================ .integrations-card { transition: all 0.3s; display: block; position: relative; -ms-flex: 0 0 calc(25% - 16px); flex: 0 0 calc(25% - 16px); margin: 0 8px 16px; background: #FFFFFF; box-shadow: 0 3px 13px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.08); border-radius: 8px; } .integrations-card h2 { font-size: 16px; font-weight: 600; color: #000; } .integrations-card:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08), 0 6px 12px rgba(0, 0, 0, 0.08); } .integrations-card--premier:after { content: url("data:image/svg+xml,%3csvg width='52' height='50' viewBox='0 0 52 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M52 43L5 0H44C48.4183 0 52 3.58172 52 8V43Z' fill='%2387B1F7'/%3e%3cpath d='M41 13.6464L44.9009 16L43.869 11.5604L47.3125 8.57528L42.7729 8.18544L41 4L39.2268 8.18544L34.6875 8.57528L38.131 11.5604L37.0988 16L41 13.6464Z' fill='white'/%3e%3c/svg%3e"); position: absolute; top: 0; right: 0; } .integrations-card--featured { -ms-flex: 0 0 calc(33% - 10px); flex: 0 0 calc(33% - 10px); padding: 24px; } .integrations-card--featured h1 { font-size: 18px; line-height: 25px; font-weight: 600; color: #000000; margin-bottom: 6px; } .integrations-card--featured p { font-size: 14px; line-height: 22px; color: #637696; margin-bottom: 0; } .integrations-card--featured ul { list-style-type: none; margin-top: 0; padding: 0; position: absolute; top: 26px; right: 26px; text-align: right; } .integrations-card--featured .integrations-tag { margin-bottom: 2px; } .integrations-card--featured .integrations-card__image { height: 70px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: start; align-items: flex-start; } .integrations-card--featured .integrations-card__image img { max-height: 70px; max-width: 180px; } .integrations-card--small h2 { margin-top: 0; margin-bottom: 0; padding: 14px 18px; } .integrations-card--small .integrations-card__image { height: 116px; width: 100%; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; border-bottom: 1px solid #ECF0F5; } .integrations-card--small .integrations-card__image img { max-height: 50px; max-width: 140px; } .integrations-tag { font-weight: 500; line-height: 1; font-size: 9px; letter-spacing: 0.03em; text-transform: uppercase; color: #9FABBE; border: 1px solid #E2E9F3; border-radius: 100px; padding: 3px 6px; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-align: center; align-items: center; } .integrations-tag--premier { background-color: #87B1F7; position: relative; color: #fff; border: none; padding-left: 22px; } .integrations-tag--premier ion-icon { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); left: 6px; width: 13px; height: 13px; fill: #fff; } #page-integrations { position: relative; } #page-integrations::before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 564px; z-index: -1; background: url("/img/integrations/integrations-hero-bg.png"); background-repeat: repeat-x; background-size: 1680px; background-position: center -20px; opacity: 0.60; } #page-integrations.show { display: block; } #page-integrations.hide { display: none; } #page-integrations .integrations-hero { text-align: center; margin: 100px 0; } #page-integrations .integrations-hero h1 { font-size: 48px; letter-spacing: -0.02em; color: #000000; } #page-integrations .integrations-hero p { font-size: 24px; letter-spacing: -0.02em; color: #394D71; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-integrations .integrations-featured__list { display: -ms-flexbox; display: flex; margin-left: -8px; } #page-integrations .integrations-list { margin: 100px 0 140px; } #page-integrations .integrations-list__inner { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; } #page-integrations .integrations-list__filter { -ms-flex: 0 0 194px; flex: 0 0 194px; } #page-integrations .integrations-list__filter h4 { font-weight: 600; font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase; color: #92A0B9; margin-bottom: 14px; } #page-integrations .integrations-list__filter-close { display: none; } #page-integrations .integrations-searchbox { position: relative; } #page-integrations .integrations-searchbox ion-icon { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); } #page-integrations .integrations-searchbox ion-icon[name="search"] { color: #3880FF; left: 11px; } #page-integrations .integrations-searchbox ion-icon[name="close"] { transition: opacity 0.3s; right: 11px; pointer-events: none; color: rgba(69, 88, 121, 0.75); opacity: 0; } #page-integrations .integrations-searchbox input { border-radius: 100px; border: none; outline: none; background: #F5F8FC; font-size: 14px; padding: 8px 30px; color: #455879; width: 100%; } #page-integrations .integrations-searchbox input::-webkit-input-placeholder { color: #8E9FBC; } #page-integrations .integrations-searchbox input::-moz-placeholder { color: #8E9FBC; } #page-integrations .integrations-searchbox input::placeholder { color: #8E9FBC; } #page-integrations .integrations-searchbox.active ion-icon[name="close"] { opacity: 1; pointer-events: all; cursor: pointer; } #page-integrations .integrations-filter-toggle { display: none; font-size: 20px; -ms-flex: 0 0 36px; flex: 0 0 36px; -ms-flex-align: center; align-items: center; -ms-flex-pack: end; justify-content: flex-end; color: #3880FF; cursor: pointer; } #page-integrations .integrations-category-filter a, #page-integrations .integrations-check__label { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-weight: 600; line-height: 1; font-size: 14px; color: #2C3B55; } #page-integrations .integrations-toggles { margin: 36px 0; } #page-integrations .integrations-toggles .integrations-check, #page-integrations .integrations-toggles .integrations-check__label, #page-integrations .integrations-toggles .integrations-check__input { cursor: pointer; } #page-integrations .integrations-toggles .integrations-check + .integrations-check { margin-top: 6px; } #page-integrations .integrations-toggles .integrations-check__label, #page-integrations .integrations-toggles tippy { margin-left: 6px; } #page-integrations .integrations-category-filter { list-style-type: none; margin: 0; padding: 0; transition: opacity 0.3s; display: block; } #page-integrations .integrations-category-filter li a { transition: color 0.3s; height: 20px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; outline: none; text-decoration: none; } #page-integrations .integrations-category-filter li a:hover { color: #3880FF; } #page-integrations .integrations-category-filter li + li { margin-top: 12px; } #page-integrations .integrations-category-filter:not(.disable) li.active a { pointer-events: none; color: #3880FF; padding-left: 8px; border-left: 2px solid rgba(56, 128, 255, 0.4); } #page-integrations .integrations-category-filter.disable { cursor: not-allowed; opacity: 0.4; } #page-integrations .integrations-category-filter.disable a { pointer-events: none; } #page-integrations .integrations-category-select { display: none; } #page-integrations .integrations-list__results { margin-left: 40px; -ms-flex: 1 0 0px; flex: 1 0 0; max-width: 864px; } #page-integrations .integrations-list__results .loader { display: none; } #page-integrations .integrations-list__results-category:not(:last-child) { margin-bottom: 46px; } #page-integrations .integrations-list__results-header { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; margin-bottom: 8px; } #page-integrations .integrations-list__results-header h4 { font-size: 20px; font-weight: 600; margin-top: 0; margin-bottom: 4px; } #page-integrations .integrations-list__results-header a { font-weight: 600; font-size: 16px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-integrations .integrations-list__results-header a ion-icon { transition: -webkit-transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; -webkit-transform: translate(0, 1px); transform: translate(0, 1px); } #page-integrations .integrations-list__results-header a:hover ion-icon { -webkit-transform: translate(2px, 1px); transform: translate(2px, 1px); } #page-integrations .integrations-list__results-header h4 > a { margin-right: 8px; font-size: 18px; display: none; } #page-integrations .integrations-list__results-row { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: -8px; } #page-integrations .integrations-list__results-grid { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: -8px; margin-right: -8px; } #page-integrations .integrations-list__empty-row { opacity: 0.5; margin-left: 8px; } #page-integrations .integrations-list__results-form { display: none; background: #F6F8FB; border-radius: 16px; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; padding: 32px; max-width: 600px; margin-left: auto; margin-right: auto; } #page-integrations .integrations-list__results-form h3 { text-align: center; max-width: 400px; margin-top: 10px; margin-left: auto; margin-right: auto; font-size: 22px; font-weight: 600; line-height: 30px; color: #000; } #page-integrations .integrations-list__results-form.show { display: -ms-flexbox; display: flex; } #page-integrations .integrations-list__results-form .hs_submit { text-align: center; } #page-integrations .integrations-list__results-search { display: none; } #page-integrations .integrations-list__empty-message { text-align: center; display: block; margin-bottom: 48px; font-size: 16px; width: 100%; } #page-integrations .integrations-list__empty-message b { font-weight: 600; } #page-integrations tippy .tip.top { left: -100px; padding: 10px 12px 12px; font-size: 12px; line-height: 16px; font-weight: 400; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; } #page-integrations tippy .tip.top::after { right: 87px; } #page-integrations-detail { background: url("/img/integrations/integrations-hero-bg.png"); background-repeat: repeat-x; background-size: 1680px; background-position: center -300px; } #page-integrations-detail .integrations-detail__nav { margin-top: 20px; margin-bottom: 80px; } #page-integrations-detail .integrations-detail__nav a { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 16px; font-weight: 600; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } #page-integrations-detail .integrations-detail__nav a ion-icon { transition: -webkit-transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; -webkit-transform: translateY(-2px); transform: translateY(-2px); margin-right: 8px; } #page-integrations-detail .integrations-detail__nav a:hover ion-icon { -webkit-transform: translate(-2px, -2px); transform: translate(-2px, -2px); } #page-integrations-detail .integrations-detail__wrapper { max-width: 748px; margin-left: auto; margin-right: auto; margin-bottom: 140px; } #page-integrations-detail .integrations-detail__header { padding-bottom: 38px; margin-bottom: 38px; border-bottom: 1px solid #EDF2F7; display: -ms-flexbox; display: flex; } #page-integrations-detail .integrations-detail__header h1 { margin: 0; font-size: 32px; font-weight: 600; } #page-integrations-detail .integrations-detail__header p { line-height: 28px; font-size: 18px; letter-spacing: -0.02em; color: #637696; max-width: 400px; padding: 5px 0 6px; } #page-integrations-detail .integrations-detail__header ul { margin: 0; padding: 0; list-style-type: none; display: -ms-flexbox; display: flex; } #page-integrations-detail .integrations-detail__header .integrations-tag { font-size: 10px; padding: 3px 7px 4px; } #page-integrations-detail .integrations-detail__header .integrations-tag + .integrations-tag { margin-left: 6px; } #page-integrations-detail .integrations-detail__header .integrations-tag--premier { padding-left: 22px; } #page-integrations-detail .integrations-detail__logo { background: #FFFFFF; box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.08), 0px 3px 6px rgba(0, 0, 0, 0.1); border-radius: 8px; width: 200px; height: 180px; -ms-flex: 0 0 200px; flex: 0 0 200px; margin-right: 38px; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; } #page-integrations-detail .integrations-detail__logo img { max-height: 70px; max-width: 140px; } #page-integrations-detail .integrations-detail__logo + div { -ms-flex: 1 0 0px; flex: 1 0 0; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; } #page-integrations-detail .integrations-detail__body { display: -ms-flexbox; display: flex; } #page-integrations-detail .integrations-detail__content { -ms-flex: 1 0 0px; flex: 1 0 0; } #page-integrations-detail .integrations-detail__content h1, #page-integrations-detail .integrations-detail__content h2, #page-integrations-detail .integrations-detail__content h3, #page-integrations-detail .integrations-detail__content h4, #page-integrations-detail .integrations-detail__content h5, #page-integrations-detail .integrations-detail__content h6 { font-size: 16px; font-weight: 600; } #page-integrations-detail .integrations-detail__content p, #page-integrations-detail .integrations-detail__content ul { font-size: 14px; line-height: 1.6; color: #637696; margin-bottom: 40px; } #page-integrations-detail .integrations-detail__content p:last-child, #page-integrations-detail .integrations-detail__content ul:last-child { margin-bottom: 0; } #page-integrations-detail .integrations-detail__content ul { margin-left: 0; padding: 0; } #page-integrations-detail .integrations-detail__content ul li { list-style-type: none; position: relative; padding-left: 22px; } #page-integrations-detail .integrations-detail__content ul li + li { margin-top: 12px; } #page-integrations-detail .integrations-detail__content ul li:before { position: absolute; top: 3px; left: 0; content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16px' height='16px' fill='%2362C67B' viewBox='0 0 512 512'%3E%3Cpath d='M170.718 216.482L141.6 245.6l93.6 93.6 208-208-29.118-29.118L235.2 279.918l-64.482-63.436zM422.4 256c0 91.518-74.883 166.4-166.4 166.4S89.6 347.518 89.6 256 164.482 89.6 256 89.6c15.6 0 31.2 2.082 45.764 6.241L334 63.6C310.082 53.2 284.082 48 256 48 141.6 48 48 141.6 48 256s93.6 208 208 208 208-93.6 208-208h-41.6z'/%3E%3C/svg%3E"); width: 16px; heoght: 16px; fill: #62C67B; } #page-integrations-detail .integrations-detail__actions { -ms-flex: 0 0 192px; flex: 0 0 192px; margin-left: 46px; } #page-integrations-detail .integrations-detail__actions-inner { position: -webkit-sticky; position: sticky; top: 20px; } #page-integrations-detail .integrations-detail__actions-inner h5 { margin-top: 38px; color: #73849A; font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; margin-bottom: 4px; } #page-integrations-detail .integrations-detail__actions-inner ul { list-style-type: none; margin: 0; padding: 0; } #page-integrations-detail .integrations-detail__actions-inner li + li { margin-top: 4px; } #page-integrations-detail .integrations-detail__actions-inner li a { transition: 0.3s all; border-bottom: 1px solid #B2CEFF; } #page-integrations-detail .integrations-detail__actions-inner li a:hover { border-bottom: 1px solid #5b768e; } #page-integrations-detail .integrations-detail__cta { background: #F3F7FF; border-radius: 8px; text-align: center; padding: 16px; } #page-integrations-detail .integrations-detail__cta span { font-size: 13px; line-height: 1.3; display: block; margin-bottom: 12px; color: #637696; } #page-integrations-detail .integrations-detail__cta .btn { display: block; width: 100%; font-weight: 700; font-size: 15px; } #page-integrations-detail .integrations-detail__cta-secondary { margin-top: 26px; } #page-integrations-detail .integrations-detail__cta-secondary p { font-weight: 500; line-height: 17px; font-size: 13px; color: #637696; } #page-integrations-detail .integrations-detail__cta-secondary .btn { font-size: 13px; font-weight: 700; padding: 8px 13px 7px; } #page-integrations-detail ul + .integrations-detail__cta-secondary { border-top: 1px solid #EDF2F7; padding-top: 26px; } #page-integrations-detail .integrations-detail__form { border-top: 1px solid #EDF2F7; padding-top: 60px; margin-top: 38px; } #page-integrations-detail .integrations-detail__form h1 { margin: 0 0 4px; font-size: 26px; font-weight: 600; text-align: center; } #page-integrations-detail .integrations-detail__form > p { line-height: 28px; font-size: 18px; letter-spacing: -0.02em; color: #637696; max-width: 400px; margin-left: auto; margin-right: auto; margin-bottom: 26px; text-align: center; } #page-integrations-detail .integrations-detail__form .hs_submit { text-align: center; } @media (max-width: 1220px) { .integrations-card--featured ul { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; position: relative; top: 0; right: 0; text-align: left; margin: 8px 0 0; } .integrations-card--featured li { margin-right: 4px; } .integrations-featured .container, .integrations-list .container { width: 100%; } } @media (max-width: 992px) { .integrations-card:not(.integrations-card--featured) { -ms-flex: 0 0 calc(50% - 16px); flex: 0 0 calc(50% - 16px); } } @media (min-width: 768px) { .integrations-list__filter-inner { position: -webkit-sticky; position: sticky; top: 38px; } } @media (max-width: 768px) { .integrations-card--featured { -ms-flex: 0 0 86%; flex: 0 0 86%; max-width: 420px; } .integrations-card--featured:last-child { margin-right: 18px; } .integrations-card--featured p { font-size: 13px; line-height: 18px; } #page-integrations { background-size: 1160px; } #page-integrations .integrations-featured { padding: 0 16px 0; overflow-x: auto; -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; } #page-integrations .integrations-featured .container { padding: 0; } #page-integrations .integrations-featured__list:after { content: ''; display: block; height: 10px; -ms-flex: 0 0 1px; flex: 0 0 1px; } #page-integrations .integrations-featured::-webkit-scrollbar { display: none; } #page-integrations .integrations-hero { margin: 60px 0; } #page-integrations .integrations-hero h1 { font-size: 38px; } #page-integrations .integrations-hero p { font-size: 20px; max-width: 340px; margin-left: auto; margin-right: auto; } #page-integrations .integrations-list { margin: 136px 0 80px; } #page-integrations .integrations-list__results-header h4 > a { display: inline-block; } #page-integrations .integrations-list__results-category .integrations-list__results-row { -ms-flex-wrap: nowrap; flex-wrap: nowrap; width: 100vw; margin-left: -18px; margin-right: -16px; overflow-x: auto; -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; } #page-integrations .integrations-list__results-category .integrations-list__results-row::-webkit-scrollbar { display: none; } #page-integrations .integrations-list__results-category .integrations-list__results-row .integrations-card:first-child { margin-left: 16px; } #page-integrations .integrations-list__results-category .integrations-list__results-row .integrations-card:last-child { margin-right: 16px; } #page-integrations .integrations-list__results-category .integrations-list__results-row .integrations-card { -ms-flex: 0 0 40%; flex: 0 0 40%; max-width: 420px; } #page-integrations .integrations-list__results-category .integrations-list__results-row:after { content: ''; display: block; height: 10px; -ms-flex: 0 0 1px; flex: 0 0 1px; } #page-integrations .integrations-list__filter { padding-bottom: 46px; position: relative; -ms-flex: 0; flex: 0; } #page-integrations .integrations-list__filter-inner { height: 100%; } #page-integrations .integrations-list__filter-menu { display: -ms-flexbox; display: flex; position: absolute; top: -90px; width: calc(100vw - 32px); } #page-integrations .integrations-searchbox { -ms-flex: 1; flex: 1; } #page-integrations .integrations-searchbox input { font-size: 16px; } #page-integrations .integrations-filter-toggle { display: -ms-flexbox; display: flex; } #page-integrations .integrations-toggles { margin-top: 0; } #page-integrations .integrations-list__filter-facets { position: relative; top: 0; height: 100%; width: 200px; transition: -webkit-transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; -webkit-transform: translateX(-200px); transform: translateX(-200px); } #page-integrations .integrations-list__filter-facets > div + div { margin-top: 20px; } #page-integrations .integrations-list__filter-facets-inner { position: -webkit-sticky; position: sticky; top: 72px; } #page-integrations .show-mobile-filters .integrations-list__filter-facets { -webkit-transform: translateX(0); transform: translateX(0); } #page-integrations .integrations-list__results { margin-left: -196px; transition: -webkit-transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; -webkit-transform: translateX(0); transform: translateX(0); position: relative; } #page-integrations .integrations-list__results .click-region { display: none; } #page-integrations .integrations-list__results.loading > *:not(.loader) { transition: opacity 0.3s; opacity: 0 !important; } #page-integrations .integrations-list__results.loading .loader { display: block; position: absolute; top: 0; left: 50%; margin-left: -15px; width: 30px; } #page-integrations .integrations-list__results.loading .loader:before { content: ''; display: block; padding-top: 100%; } #page-integrations .integrations-list__results.loading .circular { -webkit-animation: rotate 2s linear infinite; animation: rotate 2s linear infinite; height: 100%; -webkit-transform-origin: center center; transform-origin: center center; width: 100%; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; } #page-integrations .integrations-list__results.loading .path { stroke-dasharray: 1, 200; stroke-dashoffset: 0; -webkit-animation: dash 1.5s ease-in-out infinite; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; stroke: #3880FF; stroke-width: 4px; } @-webkit-keyframes rotate { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes rotate { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @-webkit-keyframes dash { 0% { stroke-dasharray: 1, 200; stroke-dashoffset: 0; } 50% { stroke-dasharray: 89, 200; stroke-dashoffset: -35px; } 100% { stroke-dasharray: 89, 200; stroke-dashoffset: -124px; } } @keyframes dash { 0% { stroke-dasharray: 1, 200; stroke-dashoffset: 0; } 50% { stroke-dasharray: 89, 200; stroke-dashoffset: -35px; } 100% { stroke-dasharray: 89, 200; stroke-dashoffset: -124px; } } #page-integrations .show-mobile-filters .integrations-list__results { -webkit-transform: translateX(200px); transform: translateX(200px); } #page-integrations .show-mobile-filters .integrations-list__results .click-region { display: block; width: 100%; height: 100%; z-index: 999; position: absolute; top: 0; left: 0; } #page-integrations-detail .integrations-detail__wrapper { margin-bottom: 90px; max-width: 500px; } #page-integrations-detail .integrations-detail__nav { margin-bottom: 30px; } #page-integrations-detail .integrations-detail__header { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; padding-bottom: 0; border-bottom: 0; } #page-integrations-detail .integrations-detail__header p { max-width: 500px; } #page-integrations-detail .integrations-detail__header ul { -ms-flex-pack: center; justify-content: center; } #page-integrations-detail .integrations-detail__logo { margin-right: 0; margin-bottom: 40px; width: 132px; height: 118px; -ms-flex: 0 0 118px; flex: 0 0 118px; } #page-integrations-detail .integrations-detail__logo img { max-height: 50px; max-width: 120px; } #page-integrations-detail .integrations-detail__logo + div { -ms-flex: 0; flex: 0; } #page-integrations-detail .integrations-detail__body { position: relative; padding-top: 140px; -ms-flex-direction: column; flex-direction: column; } #page-integrations-detail .integrations-detail__actions { margin-left: 0; -ms-flex: none; flex: none; } #page-integrations-detail .integrations-detail__cta { position: absolute; top: 0; left: 0; width: 100%; } #page-integrations-detail .integrations-detail__actions-inner { position: static; } #page-integrations-detail .integrations-detail__cta-secondary { display: none; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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LEVBQUU7RUFDckI7SUFDRSxvQkFBb0IsRUFBRTtFQUN4QjtJQUNFLDJCQUF1QjtRQUF2Qix1QkFBdUI7SUFDdkIsdUJBQW9CO1FBQXBCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGlCQUFpQixFQUFFO0lBQ25CO01BQ0UsaUJBQWlCLEVBQUU7SUFDckI7TUFDRSxzQkFBd0I7VUFBeEIsd0JBQXdCLEVBQUU7RUFDOUI7SUFDRSxnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixjQUFjO0lBQ2Qsb0JBQWdCO1FBQWhCLGdCQUFnQixFQUFFO0lBQ2xCO01BQ0UsaUJBQWlCO01BQ2pCLGlCQUFpQixFQUFFO0VBQ3ZCO0lBQ0UsWUFBUTtRQUFSLFFBQVEsRUFBRTtFQUNaO0lBQ0UsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQiwyQkFBdUI7UUFBdkIsdUJBQXVCLEVBQUU7RUFDM0I7SUFDRSxlQUFlO0lBQ2YsZUFBVztRQUFYLFdBQVcsRUFBRTtFQUNmO0lBQ0UsbUJBQW1CO0lBQ25CLE9BQU87SUFDUCxRQUFRO0lBQ1IsWUFBWSxFQUFFO0VBQ2hCO0lBQ0UsaUJBQWlCLEVBQUU7RUFDckI7SUFDRSxjQUFjLEVBQUUsRUFBRSIsImZpbGUiOiJwYWdlcy9pbnRlZ3JhdGlvbnMvaW5kZXguY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmludGVncmF0aW9ucy1jYXJkIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDAgMCBjYWxjKDI1JSAtIDE2cHgpO1xuICBtYXJnaW46IDAgOHB4IDE2cHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDEzcHggcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDsgfVxuICAuaW50ZWdyYXRpb25zLWNhcmQgaDIge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5pbnRlZ3JhdGlvbnMtY2FyZDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7IH1cbiAgLmludGVncmF0aW9ucy1jYXJkLS1wcmVtaWVyOmFmdGVyIHtcbiAgICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHdpZHRoPSc1MicgaGVpZ2h0PSc1MCcgdmlld0JveD0nMCAwIDUyIDUwJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBkPSdNNTIgNDNMNSAwSDQ0QzQ4LjQxODMgMCA1MiAzLjU4MTcyIDUyIDhWNDNaJyBmaWxsPSclMjM4N0IxRjcnLyUzZSUzY3BhdGggZD0nTTQxIDEzLjY0NjRMNDQuOTAwOSAxNkw0My44NjkgMTEuNTYwNEw0Ny4zMTI1IDguNTc1MjhMNDIuNzcyOSA4LjE4NTQ0TDQxIDRMMzkuMjI2OCA4LjE4NTQ0TDM0LjY4NzUgOC41NzUyOEwzOC4xMzEgMTEuNTYwNEwzNy4wOTg4IDE2TDQxIDEzLjY0NjRaJyBmaWxsPSd3aGl0ZScvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5pbnRlZ3JhdGlvbnMtY2FyZC0tZmVhdHVyZWQge1xuICAgIGZsZXg6IDAgMCBjYWxjKDMzJSAtIDEwcHgpO1xuICAgIHBhZGRpbmc6IDI0cHg7IH1cbiAgICAuaW50ZWdyYXRpb25zLWNhcmQtLWZlYXR1cmVkIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG4gICAgLmludGVncmF0aW9ucy1jYXJkLS1mZWF0dXJlZCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgY29sb3I6ICM2Mzc2OTY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmludGVncmF0aW9ucy1jYXJkLS1mZWF0dXJlZCB1bCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjZweDtcbiAgICAgIHJpZ2h0OiAyNnB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuaW50ZWdyYXRpb25zLWNhcmQtLWZlYXR1cmVkIC5pbnRlZ3JhdGlvbnMtdGFnIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDsgfVxuICAgIC5pbnRlZ3JhdGlvbnMtY2FyZC0tZmVhdHVyZWQgLmludGVncmF0aW9ucy1jYXJkX19pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5pbnRlZ3JhdGlvbnMtY2FyZC0tZmVhdHVyZWQgLmludGVncmF0aW9ucy1jYXJkX19pbWFnZSBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4OyB9XG4gIC5pbnRlZ3JhdGlvbnMtY2FyZC0tc21hbGwgaDIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAxNHB4IDE4cHg7IH1cbiAgLmludGVncmF0aW9ucy1jYXJkLS1zbWFsbCAuaW50ZWdyYXRpb25zLWNhcmRfX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDExNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VDRjBGNTsgfVxuICAgIC5pbnRlZ3JhdGlvbnMtY2FyZC0tc21hbGwgLmludGVncmF0aW9ucy1jYXJkX19pbWFnZSBpbWcge1xuICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgIG1heC13aWR0aDogMTQwcHg7IH1cblxuLmludGVncmF0aW9ucy10YWcge1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjOUZBQkJFO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTJFOUYzO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgcGFkZGluZzogM3B4IDZweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmludGVncmF0aW9ucy10YWctLXByZW1pZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4N0IxRjc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7IH1cbiAgICAuaW50ZWdyYXRpb25zLXRhZy0tcHJlbWllciBpb24taWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGxlZnQ6IDZweDtcbiAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgZmlsbDogI2ZmZjsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDU2NHB4O1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaW50ZWdyYXRpb25zL2ludGVncmF0aW9ucy1oZXJvLWJnLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNjgwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0yMHB4O1xuICAgIG9wYWNpdHk6IDAuNjA7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNwYWdlLWludGVncmF0aW9ucy5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWhlcm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDEwMHB4IDA7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1oZXJvIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1oZXJvIHAge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzM5NEQ3MTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtZmVhdHVyZWRfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IC04cHg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdCB7XG4gICAgbWFyZ2luOiAxMDBweCAwIDE0MHB4OyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19maWx0ZXIge1xuICAgIGZsZXg6IDAgMCAxOTRweDsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX2ZpbHRlciBoNCB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogIzkyQTBCOTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fZmlsdGVyLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLXNlYXJjaGJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtc2VhcmNoYm94IGlvbi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1zZWFyY2hib3ggaW9uLWljb25bbmFtZT1cInNlYXJjaFwiXSB7XG4gICAgICAgIGNvbG9yOiAjMzg4MEZGO1xuICAgICAgICBsZWZ0OiAxMXB4OyB9XG4gICAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1zZWFyY2hib3ggaW9uLWljb25bbmFtZT1cImNsb3NlXCJdIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgICByaWdodDogMTFweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGNvbG9yOiByZ2JhKDY5LCA4OCwgMTIxLCAwLjc1KTtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLXNlYXJjaGJveCBpbnB1dCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjVGOEZDO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgcGFkZGluZzogOHB4IDMwcHg7XG4gICAgICBjb2xvcjogIzQ1NTg3OTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1zZWFyY2hib3ggaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICM4RTlGQkM7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1zZWFyY2hib3guYWN0aXZlIGlvbi1pY29uW25hbWU9XCJjbG9zZVwiXSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1maWx0ZXItdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmbGV4OiAwIDAgMzZweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgY29sb3I6ICMzODgwRkY7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWNhdGVnb3J5LWZpbHRlciBhLFxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1jaGVja19fbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMyQzNCNTU7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtdG9nZ2xlcyB7XG4gICAgbWFyZ2luOiAzNnB4IDA7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy10b2dnbGVzIC5pbnRlZ3JhdGlvbnMtY2hlY2ssXG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtdG9nZ2xlcyAuaW50ZWdyYXRpb25zLWNoZWNrX19sYWJlbCxcbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy10b2dnbGVzIC5pbnRlZ3JhdGlvbnMtY2hlY2tfX2lucHV0IHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLXRvZ2dsZXMgLmludGVncmF0aW9ucy1jaGVjayArIC5pbnRlZ3JhdGlvbnMtY2hlY2sge1xuICAgICAgbWFyZ2luLXRvcDogNnB4OyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtdG9nZ2xlcyAuaW50ZWdyYXRpb25zLWNoZWNrX19sYWJlbCxcbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy10b2dnbGVzIHRpcHB5IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtY2F0ZWdvcnktZmlsdGVyIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtY2F0ZWdvcnktZmlsdGVyIGxpIGEge1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtY2F0ZWdvcnktZmlsdGVyIGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzM4ODBGRjsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWNhdGVnb3J5LWZpbHRlciBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDEycHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1jYXRlZ29yeS1maWx0ZXI6bm90KC5kaXNhYmxlKSBsaS5hY3RpdmUgYSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbG9yOiAjMzg4MEZGO1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYmEoNTYsIDEyOCwgMjU1LCAwLjQpOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtY2F0ZWdvcnktZmlsdGVyLmRpc2FibGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG9wYWNpdHk6IDAuNDsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtY2F0ZWdvcnktZmlsdGVyLmRpc2FibGUgYSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWNhdGVnb3J5LXNlbGVjdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzIHtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICBmbGV4OiAxIDAgMDtcbiAgICBtYXgtd2lkdGg6IDg2NHB4OyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cyAubG9hZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cy1jYXRlZ29yeTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0NnB4OyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cy1oZWFkZXIgaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLWhlYWRlciBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLWhlYWRlciBhIGlvbi1pY29uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDFweCk7IH1cbiAgICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtaGVhZGVyIGE6aG92ZXIgaW9uLWljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgycHgsIDFweCk7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLWhlYWRlciBoNCA+IGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tbGVmdDogLThweDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgIG1hcmdpbi1yaWdodDogLThweDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19lbXB0eS1yb3cge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBtYXJnaW4tbGVmdDogOHB4OyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtZm9ybSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjRjZGOEZCO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cy1mb3JtIGgzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtZm9ybS5zaG93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLWZvcm0gLmhzX3N1Ym1pdCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cy1zZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fZW1wdHktbWVzc2FnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fZW1wdHktbWVzc2FnZSBiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIHRpcHB5IC50aXAudG9wIHtcbiAgICBsZWZ0OiAtMTAwcHg7XG4gICAgcGFkZGluZzogMTBweCAxMnB4IDEycHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgXCJJbnRlciBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIHRpcHB5IC50aXAudG9wOjphZnRlciB7XG4gICAgICByaWdodDogODdweDsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9pbnRlZ3JhdGlvbnMvaW50ZWdyYXRpb25zLWhlcm8tYmcucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtc2l6ZTogMTY4MHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTMwMHB4OyB9XG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX25hdiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fbmF2IGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fbmF2IGEgaW9uLWljb24ge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fbmF2IGE6aG92ZXIgaW9uLWljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnB4LCAtMnB4KTsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX193cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDc0OHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAxNDBweDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAzOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFREYyRjc7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2hlYWRlciBoMSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9faGVhZGVyIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjNjM3Njk2O1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDZweDsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2hlYWRlciB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2hlYWRlciAuaW50ZWdyYXRpb25zLXRhZyB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBwYWRkaW5nOiAzcHggN3B4IDRweDsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9faGVhZGVyIC5pbnRlZ3JhdGlvbnMtdGFnICsgLmludGVncmF0aW9ucy10YWcge1xuICAgICAgICBtYXJnaW4tbGVmdDogNnB4OyB9XG4gICAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19oZWFkZXIgLmludGVncmF0aW9ucy10YWctLXByZW1pZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIycHg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fbG9nbyB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwcHggM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIGZsZXg6IDAgMCAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDM4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fbG9nbyBpbWcge1xuICAgICAgbWF4LWhlaWdodDogNzBweDtcbiAgICAgIG1heC13aWR0aDogMTQwcHg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fbG9nbyArIGRpdiB7XG4gICAgZmxleDogMSAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2JvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fY29udGVudCB7XG4gICAgZmxleDogMSAwIDA7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IGgxLFxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2NvbnRlbnQgaDIsXG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fY29udGVudCBoMyxcbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IGg0LFxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2NvbnRlbnQgaDUsXG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fY29udGVudCBoNiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fY29udGVudCBwLFxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2NvbnRlbnQgdWwge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiAjNjM3Njk2O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fY29udGVudCBwOmxhc3QtY2hpbGQsXG4gICAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IHVsOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fY29udGVudCB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IHVsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjJweDsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fY29udGVudCB1bCBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fY29udGVudCB1bCBsaTpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE2cHgnIGhlaWdodD0nMTZweCcgZmlsbD0nJTIzNjJDNjdCJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM0UlM0NwYXRoIGQ9J00xNzAuNzE4IDIxNi40ODJMMTQxLjYgMjQ1LjZsOTMuNiA5My42IDIwOC0yMDgtMjkuMTE4LTI5LjExOEwyMzUuMiAyNzkuOTE4bC02NC40ODItNjMuNDM2ek00MjIuNCAyNTZjMCA5MS41MTgtNzQuODgzIDE2Ni40LTE2Ni40IDE2Ni40Uzg5LjYgMzQ3LjUxOCA4OS42IDI1NiAxNjQuNDgyIDg5LjYgMjU2IDg5LjZjMTUuNiAwIDMxLjIgMi4wODIgNDUuNzY0IDYuMjQxTDMzNCA2My42QzMxMC4wODIgNTMuMiAyODQuMDgyIDQ4IDI1NiA0OCAxNDEuNiA0OCA0OCAxNDEuNiA0OCAyNTZzOTMuNiAyMDggMjA4IDIwOCAyMDgtOTMuNiAyMDgtMjA4aC00MS42eicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlb2dodDogMTZweDtcbiAgICAgICAgZmlsbDogIzYyQzY3QjsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19hY3Rpb25zIHtcbiAgICBmbGV4OiAwIDAgMTkycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDQ2cHg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fYWN0aW9ucy1pbm5lciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDIwcHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19hY3Rpb25zLWlubmVyIGg1IHtcbiAgICAgIG1hcmdpbi10b3A6IDM4cHg7XG4gICAgICBjb2xvcjogIzczODQ5QTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2FjdGlvbnMtaW5uZXIgdWwge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2FjdGlvbnMtaW5uZXIgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19hY3Rpb25zLWlubmVyIGxpIGEge1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyBhbGw7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0IyQ0VGRjsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fYWN0aW9ucy1pbm5lciBsaSBhOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1Yjc2OGU7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fY3RhIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjNGN0ZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTZweDsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2N0YSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICBjb2xvcjogIzYzNzY5NjsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2N0YSAuYnRuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxNXB4OyB9XG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2N0YS1zZWNvbmRhcnkge1xuICAgIG1hcmdpbi10b3A6IDI2cHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jdGEtc2Vjb25kYXJ5IHAge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6ICM2Mzc2OTY7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jdGEtc2Vjb25kYXJ5IC5idG4ge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmc6IDhweCAxM3B4IDdweDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIHVsICsgLmludGVncmF0aW9ucy1kZXRhaWxfX2N0YS1zZWNvbmRhcnkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRURGMkY3O1xuICAgIHBhZGRpbmctdG9wOiAyNnB4OyB9XG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2Zvcm0ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRURGMkY3O1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIG1hcmdpbi10b3A6IDM4cHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19mb3JtIGgxIHtcbiAgICAgIG1hcmdpbjogMCAwIDRweDtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19mb3JtID4gcCB7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICM2Mzc2OTY7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fZm9ybSAuaHNfc3VibWl0IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gIC5pbnRlZ3JhdGlvbnMtY2FyZC0tZmVhdHVyZWQgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDhweCAwIDA7IH1cbiAgLmludGVncmF0aW9ucy1jYXJkLS1mZWF0dXJlZCBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cbiAgLmludGVncmF0aW9ucy1mZWF0dXJlZCAuY29udGFpbmVyLFxuICAuaW50ZWdyYXRpb25zLWxpc3QgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLmludGVncmF0aW9ucy1jYXJkOm5vdCguaW50ZWdyYXRpb25zLWNhcmQtLWZlYXR1cmVkKSB7XG4gICAgZmxleDogMCAwIGNhbGMoNTAlIC0gMTZweCk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmludGVncmF0aW9ucy1saXN0X19maWx0ZXItaW5uZXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAzOHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5pbnRlZ3JhdGlvbnMtY2FyZC0tZmVhdHVyZWQge1xuICAgIGZsZXg6IDAgMCA4NiU7XG4gICAgbWF4LXdpZHRoOiA0MjBweDsgfVxuICAgIC5pbnRlZ3JhdGlvbnMtY2FyZC0tZmVhdHVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7IH1cbiAgICAuaW50ZWdyYXRpb25zLWNhcmQtLWZlYXR1cmVkIHAge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDExNjBweDsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWZlYXR1cmVkIHtcbiAgICAgIHBhZGRpbmc6IDAgMTZweCAwO1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gICAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1mZWF0dXJlZCAuY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtZmVhdHVyZWRfX2xpc3Q6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgZmxleDogMCAwIDFweDsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtZmVhdHVyZWQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWhlcm8ge1xuICAgICAgbWFyZ2luOiA2MHB4IDA7IH1cbiAgICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWhlcm8gaDEge1xuICAgICAgICBmb250LXNpemU6IDM4cHg7IH1cbiAgICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWhlcm8gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3Qge1xuICAgICAgbWFyZ2luOiAxMzZweCAwIDgwcHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLWhlYWRlciBoNCA+IGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cy1jYXRlZ29yeSAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtcm93IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xOHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cy1jYXRlZ29yeSAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtcm93Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtY2F0ZWdvcnkgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLXJvdyAuaW50ZWdyYXRpb25zLWNhcmQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cy1jYXRlZ29yeSAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtcm93IC5pbnRlZ3JhdGlvbnMtY2FyZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9XG4gICAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLWNhdGVnb3J5IC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cy1yb3cgLmludGVncmF0aW9ucy1jYXJkIHtcbiAgICAgICAgZmxleDogMCAwIDQwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cy1jYXRlZ29yeSAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtcm93OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGZsZXg6IDAgMCAxcHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19maWx0ZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQ2cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4OiAwOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fZmlsdGVyLWlubmVyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX2ZpbHRlci1tZW51IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC05MHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLXNlYXJjaGJveCB7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1zZWFyY2hib3ggaW5wdXQge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1maWx0ZXItdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy10b2dnbGVzIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19maWx0ZXItZmFjZXRzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDBweCk7IH1cbiAgICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX2ZpbHRlci1mYWNldHMgPiBkaXYgKyBkaXYge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fZmlsdGVyLWZhY2V0cy1pbm5lciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiA3MnB4OyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5zaG93LW1vYmlsZS1maWx0ZXJzIC5pbnRlZ3JhdGlvbnMtbGlzdF9fZmlsdGVyLWZhY2V0cyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTk2cHg7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cyAuY2xpY2stcmVnaW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMubG9hZGluZyA+ICo6bm90KC5sb2FkZXIpIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMubG9hZGluZyAubG9hZGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgd2lkdGg6IDMwcHg7IH1cbiAgICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMubG9hZGluZyAubG9hZGVyOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLmxvYWRpbmcgLmNpcmN1bGFyIHtcbiAgICAgIGFuaW1hdGlvbjogcm90YXRlIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMubG9hZGluZyAucGF0aCB7XG4gICAgICBzdHJva2UtZGFzaGFycmF5OiAxLCAyMDA7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICAgIGFuaW1hdGlvbjogZGFzaCAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICAgICAgc3Ryb2tlOiAjMzg4MEZGO1xuICAgICAgc3Ryb2tlLXdpZHRoOiA0cHg7IH1cbiAgQGtleWZyYW1lcyByb3RhdGUge1xuICAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG4gIEBrZXlmcmFtZXMgZGFzaCB7XG4gICAgMCUge1xuICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMSwgMjAwO1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IH1cbiAgICA1MCUge1xuICAgICAgc3Ryb2tlLWRhc2hhcnJheTogODksIDIwMDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMzVweDsgfVxuICAgIDEwMCUge1xuICAgICAgc3Ryb2tlLWRhc2hhcnJheTogODksIDIwMDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMTI0cHg7IH0gfVxuICAgICNwYWdlLWludGVncmF0aW9ucyAuc2hvdy1tb2JpbGUtZmlsdGVycyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMHB4KTsgfVxuICAgICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5zaG93LW1vYmlsZS1maWx0ZXJzIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cyAuY2xpY2stcmVnaW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTBweDtcbiAgICBtYXgtd2lkdGg6IDUwMHB4OyB9XG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX25hdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19oZWFkZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2hlYWRlciBwIHtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19oZWFkZXIgdWwge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fbG9nbyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgd2lkdGg6IDEzMnB4O1xuICAgIGhlaWdodDogMTE4cHg7XG4gICAgZmxleDogMCAwIDExOHB4OyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fbG9nbyBpbWcge1xuICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgIG1heC13aWR0aDogMTIwcHg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fbG9nbyArIGRpdiB7XG4gICAgZmxleDogMDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19ib2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZmxleDogbm9uZTsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jdGEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19hY3Rpb25zLWlubmVyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2N0YS1zZWNvbmRhcnkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuIl19 */ ================================================ FILE: content/css/pages/integrations.css ================================================ .integrations-card { transition: all 0.3s; display: block; position: relative; -ms-flex: 0 0 calc(25% - 16px); flex: 0 0 calc(25% - 16px); margin: 0 8px; background: #FFFFFF; box-shadow: 0 3px 13px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.08); border-radius: 16px; } .integrations-card h2 { font-size: 16px; font-weight: 600; color: #000; } .integrations-card:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08), 0 6px 12px rgba(0, 0, 0, 0.08); } .integrations-card--premier:after { content: url("data:image/svg+xml,%3csvg width='52' height='50' viewBox='0 0 52 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M52 43L5 0H44C48.4183 0 52 3.58172 52 8V43Z' fill='%2387B1F7'/%3e%3cpath d='M41 13.6464L44.9009 16L43.869 11.5604L47.3125 8.57528L42.7729 8.18544L41 4L39.2268 8.18544L34.6875 8.57528L38.131 11.5604L37.0988 16L41 13.6464Z' fill='white'/%3e%3c/svg%3e"); position: absolute; top: 0; right: 0; } .integrations-card--featured { -ms-flex: 0 0 calc(33% - 10px); flex: 0 0 calc(33% - 10px); padding: 24px; } .integrations-card--featured h1 { font-size: 18px; line-height: 25px; font-weight: 600; color: #000000; margin-bottom: 6px; } .integrations-card--featured p { font-size: 14px; line-height: 22px; color: #637696; margin-bottom: 0; } .integrations-card--featured ul { list-style-type: none; margin-top: 0; padding: 0; position: absolute; top: 26px; right: 26px; text-align: right; } .integrations-card--featured .integrations-tag { margin-bottom: 2px; } .integrations-card--featured .integrations-card__image { height: 70px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; -ms-flex-align: start; align-items: flex-start; } .integrations-card--featured .integrations-card__image img { max-height: 70px; max-width: 180px; } .integrations-card--small h2 { margin-top: 0; margin-bottom: 0; padding: 14px 18px; } .integrations-card--small .integrations-card__image { height: 116px; width: 100%; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; border-bottom: 1px solid #ECF0F5; } .integrations-card--small .integrations-card__image img { max-height: 50px; max-width: 140px; } .integrations-tag { font-weight: 500; line-height: 1; font-size: 9px; letter-spacing: 0.03em; text-transform: uppercase; color: #9FABBE; border: 1px solid #E2E9F3; border-radius: 100px; padding: 3px 6px; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-align: center; align-items: center; } .integrations-tag--premier { background-color: #87B1F7; position: relative; color: #fff; border: none; padding-left: 22px; } .integrations-tag--premier ion-icon { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); left: 6px; width: 13px; height: 13px; fill: #fff; } #page-integrations.show { display: block; } #page-integrations.hide { display: none; } #page-integrations .integrations-hero { text-align: center; margin: 100px 0; } #page-integrations .integrations-hero h1 { font-size: 48px; letter-spacing: -0.02em; color: #000000; } #page-integrations .integrations-hero p { font-size: 24px; letter-spacing: -0.02em; color: #394D71; } #page-integrations .integrations-featured { display: -ms-flexbox; display: flex; margin-left: -8px; } #page-integrations .integrations-list { display: -ms-flexbox; display: flex; margin: 100px 0 140px; } #page-integrations .integrations-list__filter { -ms-flex: 0 0 200px; flex: 0 0 200px; } #page-integrations .integrations-list__filter h4 { font-weight: 600; font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase; color: #92A0B9; margin-bottom: 14px; } #page-integrations .integrations-searchbox { position: relative; } #page-integrations .integrations-searchbox ion-icon { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); } #page-integrations .integrations-searchbox ion-icon[name="search"] { color: #3880FF; left: 11px; } #page-integrations .integrations-searchbox ion-icon[name="close"] { transition: opacity 0.3s; right: 11px; pointer-events: none; color: rgba(69, 88, 121, 0.75); opacity: 0; } #page-integrations .integrations-searchbox input { border-radius: 100px; border: none; outline: none; background: #F5F8FC; font-size: 14px; padding: 8px 30px; color: #455879; } #page-integrations .integrations-searchbox input::-webkit-input-placeholder { color: #8E9FBC; } #page-integrations .integrations-searchbox input::-moz-placeholder { color: #8E9FBC; } #page-integrations .integrations-searchbox input:-ms-input-placeholder { color: #8E9FBC; } #page-integrations .integrations-searchbox input::placeholder { color: #8E9FBC; } #page-integrations .integrations-searchbox.active ion-icon[name="close"] { opacity: 1; pointer-events: all; cursor: pointer; } #page-integrations .integrations-category-filter a, #page-integrations .integrations-check__label { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-weight: 600; line-height: 1; font-size: 14px; color: #2C3B55; } #page-integrations .integrations-toggles { margin: 36px 0; } #page-integrations .integrations-toggles .integrations-check, #page-integrations .integrations-toggles .integrations-check__label, #page-integrations .integrations-toggles .integrations-check__input { cursor: pointer; } #page-integrations .integrations-toggles .integrations-check + .integrations-check { margin-top: 6px; } #page-integrations .integrations-toggles .integrations-check__label { margin-left: 6px; } #page-integrations .integrations-category-filter { list-style-type: none; margin: 0; padding: 0; transition: opacity 0.3s; } #page-integrations .integrations-category-filter li a { transition: color 0.3s; height: 20px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; outline: none; text-decoration: none; } #page-integrations .integrations-category-filter li a:hover { color: #3880FF; } #page-integrations .integrations-category-filter li + li { margin-top: 12px; } #page-integrations .integrations-category-filter:not(.disable) li.active a { pointer-events: none; color: #3880FF; padding-left: 8px; border-left: 2px solid rgba(56, 128, 255, 0.4); } #page-integrations .integrations-category-filter.disable { cursor: not-allowed; opacity: 0.4; } #page-integrations .integrations-category-filter.disable a { pointer-events: none; } #page-integrations .integrations-list__results { margin-left: 80px; -ms-flex: 1 0 auto; flex: 1 0 auto; } #page-integrations .integrations-list__results-category:not(:first-child) { margin-top: 64px; } #page-integrations .integrations-list__results-header { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; margin-bottom: 8px; } #page-integrations .integrations-list__results-header h4 { font-size: 20px; font-weight: 600; } #page-integrations .integrations-list__results-header a { font-weight: 600; font-size: 16px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-integrations .integrations-list__results-header a ion-icon { transition: -webkit-transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; -webkit-transform: translate(0, 1px); transform: translate(0, 1px); } #page-integrations .integrations-list__results-header a:hover ion-icon { -webkit-transform: translate(2px, 1px); transform: translate(2px, 1px); } #page-integrations .integrations-list__results-row { display: -ms-flexbox; display: flex; margin-left: -8px; } #page-integrations .integrations-list__results-grid { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: -8px; margin-right: -8px; } #page-integrations .integrations-list__results-grid .integrations-card { margin-bottom: 16px; } #page-integrations .integrations-list__empty-row { opacity: 0.5; margin-left: 8px; } #page-integrations .integrations-list__results-form { display: none; background: #F6F8FB; border-radius: 16px; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; padding: 32px; max-width: 600px; margin-left: auto; margin-right: auto; } #page-integrations .integrations-list__results-form h3 { text-align: center; max-width: 400px; margin-top: 10px; margin-left: auto; margin-right: auto; font-size: 22px; font-weight: 600; line-height: 30px; color: #000; } #page-integrations .integrations-list__results-form.show { display: -ms-flexbox; display: flex; } #page-integrations .integrations-list__results-form .hs_submit { text-align: center; } #page-integrations .integrations-list__results-search { display: none; } #page-integrations .integrations-list__empty-message { text-align: center; display: block; margin-bottom: 48px; font-size: 16px; width: 100%; } #page-integrations .integrations-list__empty-message b { font-weight: 600; } #page-integrations-detail .integrations-detail__nav { margin-top: 20px; margin-bottom: 80px; } #page-integrations-detail .integrations-detail__nav a { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 16px; font-weight: 600; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } #page-integrations-detail .integrations-detail__nav a ion-icon { transition: -webkit-transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; -webkit-transform: translateY(-2px); transform: translateY(-2px); margin-right: 8px; } #page-integrations-detail .integrations-detail__nav a:hover ion-icon { -webkit-transform: translate(-2px, -2px); transform: translate(-2px, -2px); } #page-integrations-detail .integrations-detail__wrapper { max-width: 748px; margin-left: auto; margin-right: auto; margin-bottom: 140px; } #page-integrations-detail .integrations-detail__header { padding-bottom: 38px; margin-bottom: 38px; border-bottom: 1px solid #EDF2F7; display: -ms-flexbox; display: flex; } #page-integrations-detail .integrations-detail__header h1 { margin: 0; font-size: 32px; font-weight: 600; } #page-integrations-detail .integrations-detail__header p { line-height: 28px; font-size: 18px; letter-spacing: -0.02em; color: #637696; max-width: 400px; padding: 5px 0 6px; } #page-integrations-detail .integrations-detail__header ul { margin: 0; padding: 0; list-style-type: none; display: -ms-flexbox; display: flex; } #page-integrations-detail .integrations-detail__header .integrations-tag { font-size: 10px; padding: 3px 7px 4px; } #page-integrations-detail .integrations-detail__header .integrations-tag + .integrations-tag { margin-left: 6px; } #page-integrations-detail .integrations-detail__header .integrations-tag--premier { padding-left: 22px; } #page-integrations-detail .integrations-detail__logo { background: #FFFFFF; box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.08), 0px 3px 6px rgba(0, 0, 0, 0.1); border-radius: 8px; width: 200px; height: 180px; -ms-flex: 0 0 200px; flex: 0 0 200px; margin-right: 38px; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; } #page-integrations-detail .integrations-detail__logo img { max-height: 70px; max-width: 140px; } #page-integrations-detail .integrations-detail__logo + div { -ms-flex: 1 0 0px; flex: 1 0 0; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; } #page-integrations-detail .integrations-detail__body { display: -ms-flexbox; display: flex; } #page-integrations-detail .integrations-detail__content { -ms-flex: 1 0 0px; flex: 1 0 0; } #page-integrations-detail .integrations-detail__content h1, #page-integrations-detail .integrations-detail__content h2, #page-integrations-detail .integrations-detail__content h3, #page-integrations-detail .integrations-detail__content h4, #page-integrations-detail .integrations-detail__content h5, #page-integrations-detail .integrations-detail__content h6 { font-size: 16px; font-weight: 600; } #page-integrations-detail .integrations-detail__content p, #page-integrations-detail .integrations-detail__content ul { font-size: 14px; line-height: 1.6; color: #637696; margin-bottom: 40px; } #page-integrations-detail .integrations-detail__content p:last-child, #page-integrations-detail .integrations-detail__content ul:last-child { margin-bottom: 0; } #page-integrations-detail .integrations-detail__content ul { margin-left: 0; padding: 0; } #page-integrations-detail .integrations-detail__content ul li { list-style-type: none; position: relative; padding-left: 22px; } #page-integrations-detail .integrations-detail__content ul li + li { margin-top: 12px; } #page-integrations-detail .integrations-detail__content ul li:before { position: absolute; top: 3px; left: 0; content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16px' height='16px' fill='%2362C67B' viewBox='0 0 512 512'%3E%3Cpath d='M170.718 216.482L141.6 245.6l93.6 93.6 208-208-29.118-29.118L235.2 279.918l-64.482-63.436zM422.4 256c0 91.518-74.883 166.4-166.4 166.4S89.6 347.518 89.6 256 164.482 89.6 256 89.6c15.6 0 31.2 2.082 45.764 6.241L334 63.6C310.082 53.2 284.082 48 256 48 141.6 48 48 141.6 48 256s93.6 208 208 208 208-93.6 208-208h-41.6z'/%3E%3C/svg%3E"); width: 16px; heoght: 16px; fill: #62C67B; } #page-integrations-detail .integrations-detail__actions { -ms-flex: 0 0 192px; flex: 0 0 192px; margin-left: 46px; } #page-integrations-detail .integrations-detail__actions-inner { position: -webkit-sticky; position: sticky; top: 20px; } #page-integrations-detail .integrations-detail__actions-inner h5 { margin-top: 38px; color: #73849A; font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; margin-bottom: 4px; } #page-integrations-detail .integrations-detail__actions-inner ul { list-style-type: none; margin: 0; padding: 0; } #page-integrations-detail .integrations-detail__actions-inner li + li { margin-top: 4px; } #page-integrations-detail .integrations-detail__actions-inner li a { transition: 0.3s all; border-bottom: 1px solid #B2CEFF; } #page-integrations-detail .integrations-detail__actions-inner li a:hover { border-bottom: 1px solid #5b768e; } #page-integrations-detail .integrations-detail__cta { background: #F3F7FF; border-radius: 8px; text-align: center; padding: 16px; } #page-integrations-detail .integrations-detail__cta span { font-size: 13px; line-height: 1.3; display: block; margin-bottom: 12px; color: #637696; } #page-integrations-detail .integrations-detail__cta .btn { display: block; width: 100%; font-weight: 700; font-size: 15px; } #page-integrations-detail .integrations-detail__cta-secondary { border-top: 1px solid #EDF2F7; padding-top: 26px; margin-top: 26px; } #page-integrations-detail .integrations-detail__cta-secondary p { font-weight: 500; line-height: 17px; font-size: 13px; color: #637696; } #page-integrations-detail .integrations-detail__cta-secondary .btn { font-size: 13px; font-weight: 700; padding: 8px 13px 7px; } #page-integrations-detail .integrations-detail__form { border-top: 1px solid #EDF2F7; padding-top: 60px; margin-top: 38px; } #page-integrations-detail .integrations-detail__form h1 { margin: 0 0 4px; font-size: 26px; font-weight: 600; text-align: center; } #page-integrations-detail .integrations-detail__form > p { line-height: 28px; font-size: 18px; letter-spacing: -0.02em; color: #637696; max-width: 400px; margin-left: auto; margin-right: auto; margin-bottom: 26px; text-align: center; } #page-integrations-detail .integrations-detail__form .hs_submit { text-align: center; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFlO0lBQ2YsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBRTs7QUFFdEI7RUFDRSw4QkFBOEI7RUFDOUIsa0JBQWtCO0VBQ2xCLGlCQUFpQixFQUFFO0VBQ25CO0lBQ0UsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZUFBZSxFQUFFO0VBQ25CO0lBQ0UsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixzQkFBc0IsRUFBRTs7QUFFNUI7RUFDRSw4QkFBOEI7RUFDOUIsa0JBQWtCO0VBQ2xCLGlCQUFpQixFQUFFO0VBQ25CO0lBQ0UsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsbUJBQW1CLEVBQUU7RUFDdkI7SUFDRSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4QixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLG1CQUFtQixFQUFFO0VBQ3ZCO0lBQ0UsbUJBQW1CLEVBQUUiLCJmaWxlIjoicGFnZXMvaW50ZWdyYXRpb25zLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5pbnRlZ3JhdGlvbnMtY2FyZCB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDAgY2FsYygyNSUgLSAxNnB4KTtcbiAgbWFyZ2luOiAwIDhweDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMCAzcHggMTNweCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDsgfVxuICAuaW50ZWdyYXRpb25zLWNhcmQgaDIge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5pbnRlZ3JhdGlvbnMtY2FyZDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7IH1cbiAgLmludGVncmF0aW9ucy1jYXJkLS1wcmVtaWVyOmFmdGVyIHtcbiAgICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHdpZHRoPSc1MicgaGVpZ2h0PSc1MCcgdmlld0JveD0nMCAwIDUyIDUwJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBkPSdNNTIgNDNMNSAwSDQ0QzQ4LjQxODMgMCA1MiAzLjU4MTcyIDUyIDhWNDNaJyBmaWxsPSclMjM4N0IxRjcnLyUzZSUzY3BhdGggZD0nTTQxIDEzLjY0NjRMNDQuOTAwOSAxNkw0My44NjkgMTEuNTYwNEw0Ny4zMTI1IDguNTc1MjhMNDIuNzcyOSA4LjE4NTQ0TDQxIDRMMzkuMjI2OCA4LjE4NTQ0TDM0LjY4NzUgOC41NzUyOEwzOC4xMzEgMTEuNTYwNEwzNy4wOTg4IDE2TDQxIDEzLjY0NjRaJyBmaWxsPSd3aGl0ZScvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5pbnRlZ3JhdGlvbnMtY2FyZC0tZmVhdHVyZWQge1xuICAgIGZsZXg6IDAgMCBjYWxjKDMzJSAtIDEwcHgpO1xuICAgIHBhZGRpbmc6IDI0cHg7IH1cbiAgICAuaW50ZWdyYXRpb25zLWNhcmQtLWZlYXR1cmVkIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG4gICAgLmludGVncmF0aW9ucy1jYXJkLS1mZWF0dXJlZCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgY29sb3I6ICM2Mzc2OTY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmludGVncmF0aW9ucy1jYXJkLS1mZWF0dXJlZCB1bCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjZweDtcbiAgICAgIHJpZ2h0OiAyNnB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuaW50ZWdyYXRpb25zLWNhcmQtLWZlYXR1cmVkIC5pbnRlZ3JhdGlvbnMtdGFnIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDsgfVxuICAgIC5pbnRlZ3JhdGlvbnMtY2FyZC0tZmVhdHVyZWQgLmludGVncmF0aW9ucy1jYXJkX19pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5pbnRlZ3JhdGlvbnMtY2FyZC0tZmVhdHVyZWQgLmludGVncmF0aW9ucy1jYXJkX19pbWFnZSBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4OyB9XG4gIC5pbnRlZ3JhdGlvbnMtY2FyZC0tc21hbGwgaDIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAxNHB4IDE4cHg7IH1cbiAgLmludGVncmF0aW9ucy1jYXJkLS1zbWFsbCAuaW50ZWdyYXRpb25zLWNhcmRfX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDExNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VDRjBGNTsgfVxuICAgIC5pbnRlZ3JhdGlvbnMtY2FyZC0tc21hbGwgLmludGVncmF0aW9ucy1jYXJkX19pbWFnZSBpbWcge1xuICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgIG1heC13aWR0aDogMTQwcHg7IH1cblxuLmludGVncmF0aW9ucy10YWcge1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjOUZBQkJFO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTJFOUYzO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgcGFkZGluZzogM3B4IDZweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmludGVncmF0aW9ucy10YWctLXByZW1pZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4N0IxRjc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7IH1cbiAgICAuaW50ZWdyYXRpb25zLXRhZy0tcHJlbWllciBpb24taWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGxlZnQ6IDZweDtcbiAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgZmlsbDogI2ZmZjsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiNwYWdlLWludGVncmF0aW9ucy5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1oZXJvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDEwMHB4IDA7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtaGVybyBoMSB7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWhlcm8gcCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjMzk0RDcxOyB9XG5cbiNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWZlYXR1cmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWxlZnQ6IC04cHg7IH1cblxuI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMTAwcHggMCAxNDBweDsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19maWx0ZXIge1xuICBmbGV4OiAwIDAgMjAwcHg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fZmlsdGVyIGg0IHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM5MkEwQjk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1zZWFyY2hib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtc2VhcmNoYm94IGlvbi1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtc2VhcmNoYm94IGlvbi1pY29uW25hbWU9XCJzZWFyY2hcIl0ge1xuICAgICAgY29sb3I6ICMzODgwRkY7XG4gICAgICBsZWZ0OiAxMXB4OyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtc2VhcmNoYm94IGlvbi1pY29uW25hbWU9XCJjbG9zZVwiXSB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICByaWdodDogMTFweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29sb3I6IHJnYmEoNjksIDg4LCAxMjEsIDAuNzUpO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1zZWFyY2hib3ggaW5wdXQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNGNUY4RkM7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDhweCAzMHB4O1xuICAgIGNvbG9yOiAjNDU1ODc5OyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtc2VhcmNoYm94IGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogIzhFOUZCQzsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1zZWFyY2hib3guYWN0aXZlIGlvbi1pY29uW25hbWU9XCJjbG9zZVwiXSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1jYXRlZ29yeS1maWx0ZXIgYSxcbiNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWNoZWNrX19sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjMkMzQjU1OyB9XG5cbiNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLXRvZ2dsZXMge1xuICBtYXJnaW46IDM2cHggMDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy10b2dnbGVzIC5pbnRlZ3JhdGlvbnMtY2hlY2ssXG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLXRvZ2dsZXMgLmludGVncmF0aW9ucy1jaGVja19fbGFiZWwsXG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLXRvZ2dsZXMgLmludGVncmF0aW9ucy1jaGVja19faW5wdXQge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy10b2dnbGVzIC5pbnRlZ3JhdGlvbnMtY2hlY2sgKyAuaW50ZWdyYXRpb25zLWNoZWNrIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtdG9nZ2xlcyAuaW50ZWdyYXRpb25zLWNoZWNrX19sYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDZweDsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1jYXRlZ29yeS1maWx0ZXIge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWNhdGVnb3J5LWZpbHRlciBsaSBhIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1jYXRlZ29yeS1maWx0ZXIgbGkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzM4ODBGRjsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1jYXRlZ29yeS1maWx0ZXIgbGkgKyBsaSB7XG4gICAgbWFyZ2luLXRvcDogMTJweDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1jYXRlZ29yeS1maWx0ZXI6bm90KC5kaXNhYmxlKSBsaS5hY3RpdmUgYSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29sb3I6ICMzODgwRkY7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCByZ2JhKDU2LCAxMjgsIDI1NSwgMC40KTsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1jYXRlZ29yeS1maWx0ZXIuZGlzYWJsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1jYXRlZ29yeS1maWx0ZXIuZGlzYWJsZSBhIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMge1xuICBtYXJnaW4tbGVmdDogODBweDtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cy1jYXRlZ29yeTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IDY0cHg7IH1cblxuI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cy1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtaGVhZGVyIGg0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLWhlYWRlciBhIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cy1oZWFkZXIgYSBpb24taWNvbiB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDFweCk7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLWhlYWRlciBhOmhvdmVyIGlvbi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDJweCwgMXB4KTsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiAtOHB4OyB9XG5cbiNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gIG1hcmdpbi1yaWdodDogLThweDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLWdyaWQgLmludGVncmF0aW9ucy1jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbiNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX2VtcHR5LXJvdyB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLWZvcm0ge1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kOiAjRjZGOEZCO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMzJweDtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMgLmludGVncmF0aW9ucy1saXN0X19yZXN1bHRzLWZvcm0gaDMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtZm9ybS5zaG93IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX3Jlc3VsdHMtZm9ybSAuaHNfc3VibWl0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuI3BhZ2UtaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbnMtbGlzdF9fcmVzdWx0cy1zZWFyY2gge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX2VtcHR5LW1lc3NhZ2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gICNwYWdlLWludGVncmF0aW9ucyAuaW50ZWdyYXRpb25zLWxpc3RfX2VtcHR5LW1lc3NhZ2UgYiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19uYXYge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX25hdiBhIHtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX25hdiBhIGlvbi1pY29uIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19uYXYgYTpob3ZlciBpb24taWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnB4LCAtMnB4KTsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX193cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiA3NDhweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMTQwcHg7IH1cblxuI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9faGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDM4cHg7XG4gIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRURGMkY3O1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2hlYWRlciBoMSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2hlYWRlciBwIHtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6ICM2Mzc2OTY7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBwYWRkaW5nOiA1cHggMCA2cHg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9faGVhZGVyIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19oZWFkZXIgLmludGVncmF0aW9ucy10YWcge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBwYWRkaW5nOiAzcHggN3B4IDRweDsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2hlYWRlciAuaW50ZWdyYXRpb25zLXRhZyArIC5pbnRlZ3JhdGlvbnMtdGFnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19oZWFkZXIgLmludGVncmF0aW9ucy10YWctLXByZW1pZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMnB4OyB9XG5cbiNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2xvZ28ge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwcHggM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDE4MHB4O1xuICBmbGV4OiAwIDAgMjAwcHg7XG4gIG1hcmdpbi1yaWdodDogMzhweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fbG9nbyBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDcwcHg7XG4gICAgbWF4LXdpZHRoOiAxNDBweDsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19sb2dvICsgZGl2IHtcbiAgZmxleDogMSAwIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbiNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2JvZHkge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbiNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2NvbnRlbnQge1xuICBmbGV4OiAxIDAgMDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IGgxLFxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IGgyLFxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IGgzLFxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IGg0LFxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IGg1LFxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IGg2IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IHAsXG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2NvbnRlbnQgdWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjNjM3Njk2O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IHA6bGFzdC1jaGlsZCxcbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IHVsOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2NvbnRlbnQgdWwgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4OyB9XG4gICAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fY29udGVudCB1bCBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDEycHg7IH1cbiAgICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jb250ZW50IHVsIGxpOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDNweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE2cHgnIGhlaWdodD0nMTZweCcgZmlsbD0nJTIzNjJDNjdCJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM0UlM0NwYXRoIGQ9J00xNzAuNzE4IDIxNi40ODJMMTQxLjYgMjQ1LjZsOTMuNiA5My42IDIwOC0yMDgtMjkuMTE4LTI5LjExOEwyMzUuMiAyNzkuOTE4bC02NC40ODItNjMuNDM2ek00MjIuNCAyNTZjMCA5MS41MTgtNzQuODgzIDE2Ni40LTE2Ni40IDE2Ni40Uzg5LjYgMzQ3LjUxOCA4OS42IDI1NiAxNjQuNDgyIDg5LjYgMjU2IDg5LjZjMTUuNiAwIDMxLjIgMi4wODIgNDUuNzY0IDYuMjQxTDMzNCA2My42QzMxMC4wODIgNTMuMiAyODQuMDgyIDQ4IDI1NiA0OCAxNDEuNiA0OCA0OCAxNDEuNiA0OCAyNTZzOTMuNiAyMDggMjA4IDIwOCAyMDgtOTMuNiAyMDgtMjA4aC00MS42eicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVvZ2h0OiAxNnB4O1xuICAgICAgZmlsbDogIzYyQzY3QjsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19hY3Rpb25zIHtcbiAgZmxleDogMCAwIDE5MnB4O1xuICBtYXJnaW4tbGVmdDogNDZweDsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19hY3Rpb25zLWlubmVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAyMHB4OyB9XG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2FjdGlvbnMtaW5uZXIgaDUge1xuICAgIG1hcmdpbi10b3A6IDM4cHg7XG4gICAgY29sb3I6ICM3Mzg0OUE7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19hY3Rpb25zLWlubmVyIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fYWN0aW9ucy1pbm5lciBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fYWN0aW9ucy1pbm5lciBsaSBhIHtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0IyQ0VGRjsgfVxuICAgICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2FjdGlvbnMtaW5uZXIgbGkgYTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzViNzY4ZTsgfVxuXG4jcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jdGEge1xuICBiYWNrZ3JvdW5kOiAjRjNGN0ZGO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTZweDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jdGEgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBjb2xvcjogIzYzNzY5NjsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jdGEgLmJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cblxuI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fY3RhLXNlY29uZGFyeSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRURGMkY3O1xuICBwYWRkaW5nLXRvcDogMjZweDtcbiAgbWFyZ2luLXRvcDogMjZweDsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19jdGEtc2Vjb25kYXJ5IHAge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNjM3Njk2OyB9XG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2N0YS1zZWNvbmRhcnkgLmJ0biB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogOHB4IDEzcHggN3B4OyB9XG5cbiNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2Zvcm0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0VERjJGNztcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIG1hcmdpbi10b3A6IDM4cHg7IH1cbiAgI3BhZ2UtaW50ZWdyYXRpb25zLWRldGFpbCAuaW50ZWdyYXRpb25zLWRldGFpbF9fZm9ybSBoMSB7XG4gICAgbWFyZ2luOiAwIDAgNHB4O1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjcGFnZS1pbnRlZ3JhdGlvbnMtZGV0YWlsIC5pbnRlZ3JhdGlvbnMtZGV0YWlsX19mb3JtID4gcCB7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjNjM3Njk2O1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNwYWdlLWludGVncmF0aW9ucy1kZXRhaWwgLmludGVncmF0aW9ucy1kZXRhaWxfX2Zvcm0gLmhzX3N1Ym1pdCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4iXX0= */ ================================================ FILE: content/css/pages/jobs.css ================================================ #page-jobs .navbar + .banner { background: #26708a no-repeat center top; background-image: url("/img/jobs/jobs-cta-bg.jpg"), linear-gradient(to right, #1e4e8b 0%, #298776 100%); background-size: cover; height: 360px; } #page-jobs .what-we { padding-top: 100px; } #page-jobs .what-we .content { padding: 95px 50px 75px; } #page-jobs .what-we .graphics { width: 100%; } #page-jobs .what-we .col { width: 49.9%; padding-right: 35px; float: left; } #page-jobs .what-we .col + .col { padding-right: 0; padding-left: 35px; } #page-jobs .what-we .col p { font-size: 18px; line-height: 32px; font-weight: 400; } @media (max-width: 767px) { #page-jobs .what-we .col, #page-jobs .what-we .col + .col { width: 100%; padding: 0 0 50px; } } #page-jobs .why.hero.top { padding-top: 0; } #page-jobs .why.hero.top .content { max-width: 675px; margin: 95px auto 55px; } #page-jobs .why.hero.top .content p { color: #5d636c; font-size: 18px; line-height: 28px; font-weight: 400; } #page-jobs .why.hero.top .graphics { width: 100%; } #page-jobs .reasons { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; } #page-jobs .reasons .reason { padding-left: 72px; padding-right: 10px; padding-bottom: 70px; -ms-flex: 1 0 290px; flex: 1 0 290px; max-width: 350px; position: relative; margin: 0 auto; } #page-jobs .reasons .reason:before { background: no-repeat center top url("/img/jobs/jobs-perks-icons.png"); background-size: 48px; height: 48px; width: 48px; content: ''; position: absolute; left: 0; top: 0; } #page-jobs .reasons .reason:nth-child(2):before { background-position: center -48px; } #page-jobs .reasons .reason:nth-child(3):before { background-position: center -96px; } #page-jobs .reasons .reason:nth-child(4):before { background-position: center -144px; } #page-jobs .reasons .reason:nth-child(5):before { background-position: center -192px; } #page-jobs .reasons .reason:nth-child(6):before { background-position: center -240px; } #page-jobs .reasons .reason h4 { font-size: 16px; line-height: 24px; } #page-jobs .reasons .reason p { font-size: 14px; line-height: 24px; } #page-jobs .bennefits { background: #2466d2; background: linear-gradient(to right, #4688f4 0%, #1e60cc 100%); position: relative; overflow: hidden; } #page-jobs .bennefits .content { padding-top: 90px; padding-bottom: 72px; } #page-jobs .bennefits .content:before { background: no-repeat left top url("/img/jobs/ionic-photos-3.jpg"); background-size: cover; width: 1000px; content: ''; position: absolute; bottom: 0; top: 0; display: block; left: 45%; } @media (max-width: 991px) { #page-jobs .bennefits .content:before { left: 60%; background-position: left -340px; } } @media (max-width: 767px) { #page-jobs .bennefits .content:before { display: none; } } @media (min-width: 1820px) { #page-jobs .bennefits .content:before { width: 924px; height: 700px; left: auto; right: 0; } } #page-jobs .bennefits h3 { color: white; padding-left: 72px; position: relative; } #page-jobs .bennefits h3:before { background: no-repeat center -288px url("/img/jobs/jobs-perks-icons.png"); background-size: 48px; height: 48px; width: 48px; content: ''; position: absolute; left: 0; top: 0; } #page-jobs .bennefits ul { list-style: none; padding-left: 72px; } #page-jobs .bennefits ul li { color: white; opacity: .8; position: relative; line-height: 1em; padding: 15px 0 15px 23px; font-weight: 400; font-size: 16px; } #page-jobs .bennefits ul li:before { background: no-repeat center center url("/img/jobs/job-perks-checkmark.png"); background-size: 12px; height: 12px; width: 12px; content: ''; position: absolute; left: 0; top: 16px; } #page-jobs .open-positions { max-width: 690px; margin: 0 auto; } #page-jobs .open-positions hgroup { padding: 90px 25px 70px; } #page-jobs .open-positions hgroup p { color: #5d636c; font-size: 18px; line-height: 28px; font-weight: 400; } #page-jobs .open-positions ul, #page-jobs .open-positions .rbox-opening-list { padding: 0; } #page-jobs .open-positions ul li, #page-jobs .open-positions ul .rbox-opening-li, #page-jobs .open-positions .rbox-opening-list li, #page-jobs .open-positions .rbox-opening-list .rbox-opening-li { list-style: none; padding: 29px 0 5px; border-top: 1px solid #ebeef2; position: relative; } #page-jobs .open-positions ul li:last-child, #page-jobs .open-positions ul .rbox-opening-li:last-child, #page-jobs .open-positions .rbox-opening-list li:last-child, #page-jobs .open-positions .rbox-opening-list .rbox-opening-li:last-child { border-bottom: 1px solid #ebeef2; } #page-jobs .open-positions ul li strong, #page-jobs .open-positions ul li .rbox-opening-li-title, #page-jobs .open-positions ul .rbox-opening-li strong, #page-jobs .open-positions ul .rbox-opening-li .rbox-opening-li-title, #page-jobs .open-positions .rbox-opening-list li strong, #page-jobs .open-positions .rbox-opening-list li .rbox-opening-li-title, #page-jobs .open-positions .rbox-opening-list .rbox-opening-li strong, #page-jobs .open-positions .rbox-opening-list .rbox-opening-li .rbox-opening-li-title { font-size: 18px; line-height: 1.4em; color: #4C555A; } #page-jobs .open-positions ul li .location, #page-jobs .open-positions ul li .rbox-job-shortdesc, #page-jobs .open-positions ul .rbox-opening-li .location, #page-jobs .open-positions ul .rbox-opening-li .rbox-job-shortdesc, #page-jobs .open-positions .rbox-opening-list li .location, #page-jobs .open-positions .rbox-opening-list li .rbox-job-shortdesc, #page-jobs .open-positions .rbox-opening-list .rbox-opening-li .location, #page-jobs .open-positions .rbox-opening-list .rbox-opening-li .rbox-job-shortdesc { font-weight: 400; font-size: 16px; } #page-jobs .open-positions ul li .learn-more, #page-jobs .open-positions ul .rbox-opening-li .learn-more, #page-jobs .open-positions .rbox-opening-list li .learn-more, #page-jobs .open-positions .rbox-opening-list .rbox-opening-li .learn-more { float: right; margin-top: 18px; font-weight: 500; cursor: pointer; } #page-jobs .open-positions ul li .rbox-opening-position-info, #page-jobs .open-positions ul .rbox-opening-li .rbox-opening-position-info, #page-jobs .open-positions .rbox-opening-list li .rbox-opening-position-info, #page-jobs .open-positions .rbox-opening-list .rbox-opening-li .rbox-opening-position-info { position: absolute; right: 0; top: 20px; } #page-jobs .open-positions ul li.active .details, #page-jobs .open-positions ul .rbox-opening-li.active .details, #page-jobs .open-positions .rbox-opening-list li.active .details, #page-jobs .open-positions .rbox-opening-list .rbox-opening-li.active .details { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); max-height: 800px; opacity: 1; } #page-jobs .open-positions ul .rbox-opening-li, #page-jobs .open-positions .rbox-opening-list .rbox-opening-li { padding-bottom: 29px; } #page-jobs .open-positions .details { -webkit-transform: scale3d(1, 0, 1); transform: scale3d(1, 0, 1); max-height: 0; opacity: 0; -webkit-transform-origin: top; transform-origin: top; transition: opacity 0.5s, max-height 0.5s, -webkit-transform 0.5s cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: opacity 0.5s, max-height 0.5s, transform 0.5s cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: opacity 0.5s, max-height 0.5s, transform 0.5s cubic-bezier(0.155, 1.105, 0.295, 1.12), -webkit-transform 0.5s cubic-bezier(0.155, 1.105, 0.295, 1.12); } #page-jobs .open-positions .rbox-application-form input { float: none; width: 100%; } #page-jobs .open-positions .rbox-application-form input[type='file'] { border: 0; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QixpQkFBaUIsRUFBRTtFQUNyQjs7SUFFRSxXQUFXLEVBQUU7SUFDYjs7OztNQUlFLGlCQUFpQjtNQUNqQixvQkFBb0I7TUFDcEIsOEJBQThCO01BQzlCLG1CQUFtQixFQUFFO01BQ3JCOzs7O1FBSUUsaUNBQWlDLEVBQUU7TUFDckM7Ozs7Ozs7O1FBUUUsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixlQUFlLEVBQUU7TUFDbkI7Ozs7Ozs7O1FBUUUsaUJBQWlCO1FBQ2pCLGdCQUFnQixFQUFFO01BQ3BCOzs7O1FBSUUsYUFBYTtRQUNiLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsZ0JBQWdCLEVBQUU7TUFDcEI7Ozs7UUFJRSxtQkFBbUI7UUFDbkIsU0FBUztRQUNULFVBQVUsRUFBRTtNQUNkOzs7O1FBSUUsb0NBQTRCO2dCQUE1Qiw0QkFBNEI7UUFDNUIsa0JBQWtCO1FBQ2xCLFdBQVcsRUFBRTtJQUNqQjs7TUFFRSxxQkFBcUIsRUFBRTtFQUMzQjtJQUNFLG9DQUE0QjtZQUE1Qiw0QkFBNEI7SUFDNUIsY0FBYztJQUNkLFdBQVc7SUFDWCw4QkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLDBHQUFrRztJQUFsRyxrR0FBa0c7SUFBbEcsa0tBQWtHLEVBQUU7RUFDdEc7SUFDRSxZQUFZO0lBQ1osWUFBWSxFQUFFO0lBQ2Q7TUFDRSxVQUFVLEVBQUUiLCJmaWxlIjoicGFnZXMvam9icy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcGFnZS1qb2JzIC5uYXZiYXIgKyAuYmFubmVyIHtcbiAgYmFja2dyb3VuZDogIzI2NzA4YSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9qb2JzL2pvYnMtY3RhLWJnLmpwZ1wiKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMWU0ZThiIDAlLCAjMjk4Nzc2IDEwMCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBoZWlnaHQ6IDM2MHB4OyB9XG5cbiNwYWdlLWpvYnMgLndoYXQtd2Uge1xuICBwYWRkaW5nLXRvcDogMTAwcHg7IH1cbiAgI3BhZ2Utam9icyAud2hhdC13ZSAuY29udGVudCB7XG4gICAgcGFkZGluZzogOTVweCA1MHB4IDc1cHg7IH1cbiAgI3BhZ2Utam9icyAud2hhdC13ZSAuZ3JhcGhpY3Mge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICNwYWdlLWpvYnMgLndoYXQtd2UgLmNvbCB7XG4gICAgd2lkdGg6IDQ5LjklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAjcGFnZS1qb2JzIC53aGF0LXdlIC5jb2wgKyAuY29sIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH1cbiAgICAjcGFnZS1qb2JzIC53aGF0LXdlIC5jb2wgcCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2Utam9icyAud2hhdC13ZSAuY29sLFxuICAgICNwYWdlLWpvYnMgLndoYXQtd2UgLmNvbCArIC5jb2wge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwIDAgNTBweDsgfSB9XG5cbiNwYWdlLWpvYnMgLndoeS5oZXJvLnRvcCB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG4gICNwYWdlLWpvYnMgLndoeS5oZXJvLnRvcCAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA2NzVweDtcbiAgICBtYXJnaW46IDk1cHggYXV0byA1NXB4OyB9XG4gICAgI3BhZ2Utam9icyAud2h5Lmhlcm8udG9wIC5jb250ZW50IHAge1xuICAgICAgY29sb3I6ICM1ZDYzNmM7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgI3BhZ2Utam9icyAud2h5Lmhlcm8udG9wIC5ncmFwaGljcyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuI3BhZ2Utam9icyAucmVhc29ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICNwYWdlLWpvYnMgLnJlYXNvbnMgLnJlYXNvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gICAgZmxleDogMSAwIDI5MHB4O1xuICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgI3BhZ2Utam9icyAucmVhc29ucyAucmVhc29uOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIHRvcCB1cmwoXCIvaW1nL2pvYnMvam9icy1wZXJrcy1pY29ucy5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHg7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICB3aWR0aDogNDhweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDsgfVxuICAgICNwYWdlLWpvYnMgLnJlYXNvbnMgLnJlYXNvbjpudGgtY2hpbGQoMik6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtNDhweDsgfVxuICAgICNwYWdlLWpvYnMgLnJlYXNvbnMgLnJlYXNvbjpudGgtY2hpbGQoMyk6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtOTZweDsgfVxuICAgICNwYWdlLWpvYnMgLnJlYXNvbnMgLnJlYXNvbjpudGgtY2hpbGQoNCk6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMTQ0cHg7IH1cbiAgICAjcGFnZS1qb2JzIC5yZWFzb25zIC5yZWFzb246bnRoLWNoaWxkKDUpOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTE5MnB4OyB9XG4gICAgI3BhZ2Utam9icyAucmVhc29ucyAucmVhc29uOm50aC1jaGlsZCg2KTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0yNDBweDsgfVxuICAgICNwYWdlLWpvYnMgLnJlYXNvbnMgLnJlYXNvbiBoNCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDsgfVxuICAgICNwYWdlLWpvYnMgLnJlYXNvbnMgLnJlYXNvbiBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG5cbiNwYWdlLWpvYnMgLmJlbm5lZml0cyB7XG4gIGJhY2tncm91bmQ6ICMyNDY2ZDI7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzQ2ODhmNCAwJSwgIzFlNjBjYyAxMDAlKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICNwYWdlLWpvYnMgLmJlbm5lZml0cyAuY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDkwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDcycHg7IH1cbiAgICAjcGFnZS1qb2JzIC5iZW5uZWZpdHMgLmNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBsZWZ0IHRvcCB1cmwoXCIvaW1nL2pvYnMvaW9uaWMtcGhvdG9zLTMuanBnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIHdpZHRoOiAxMDAwcHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogNDUlOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgI3BhZ2Utam9icyAuYmVubmVmaXRzIC5jb250ZW50OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogNjAlO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgLTM0MHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAjcGFnZS1qb2JzIC5iZW5uZWZpdHMgLmNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxODIwcHgpIHtcbiAgICAgICAgI3BhZ2Utam9icyAuYmVubmVmaXRzIC5jb250ZW50OmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDkyNHB4O1xuICAgICAgICAgIGhlaWdodDogNzAwcHg7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMDsgfSB9XG4gICNwYWdlLWpvYnMgLmJlbm5lZml0cyBoMyB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctbGVmdDogNzJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjcGFnZS1qb2JzIC5iZW5uZWZpdHMgaDM6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgLTI4OHB4IHVybChcIi9pbWcvam9icy9qb2JzLXBlcmtzLWljb25zLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDhweDtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwOyB9XG4gICNwYWdlLWpvYnMgLmJlbm5lZml0cyB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDcycHg7IH1cbiAgICAjcGFnZS1qb2JzIC5iZW5uZWZpdHMgdWwgbGkge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgb3BhY2l0eTogLjg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgcGFkZGluZzogMTVweCAwIDE1cHggMjNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAgICNwYWdlLWpvYnMgLmJlbm5lZml0cyB1bCBsaTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlciB1cmwoXCIvaW1nL2pvYnMvam9iLXBlcmtzLWNoZWNrbWFyay5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAxNnB4OyB9XG5cbiNwYWdlLWpvYnMgLm9wZW4tcG9zaXRpb25zIHtcbiAgbWF4LXdpZHRoOiA2OTBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgaGdyb3VwIHtcbiAgICBwYWRkaW5nOiA5MHB4IDI1cHggNzBweDsgfVxuICAjcGFnZS1qb2JzIC5vcGVuLXBvc2l0aW9ucyBoZ3JvdXAgcCB7XG4gICAgY29sb3I6ICM1ZDYzNmM7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgdWwsXG4gICNwYWdlLWpvYnMgLm9wZW4tcG9zaXRpb25zIC5yYm94LW9wZW5pbmctbGlzdCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgICNwYWdlLWpvYnMgLm9wZW4tcG9zaXRpb25zIHVsIGxpLFxuICAgICNwYWdlLWpvYnMgLm9wZW4tcG9zaXRpb25zIHVsIC5yYm94LW9wZW5pbmctbGksXG4gICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgLnJib3gtb3BlbmluZy1saXN0IGxpLFxuICAgICNwYWdlLWpvYnMgLm9wZW4tcG9zaXRpb25zIC5yYm94LW9wZW5pbmctbGlzdCAucmJveC1vcGVuaW5nLWxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAyOXB4IDAgNXB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYmVlZjI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNwYWdlLWpvYnMgLm9wZW4tcG9zaXRpb25zIHVsIGxpOmxhc3QtY2hpbGQsXG4gICAgICAjcGFnZS1qb2JzIC5vcGVuLXBvc2l0aW9ucyB1bCAucmJveC1vcGVuaW5nLWxpOmxhc3QtY2hpbGQsXG4gICAgICAjcGFnZS1qb2JzIC5vcGVuLXBvc2l0aW9ucyAucmJveC1vcGVuaW5nLWxpc3QgbGk6bGFzdC1jaGlsZCxcbiAgICAgICNwYWdlLWpvYnMgLm9wZW4tcG9zaXRpb25zIC5yYm94LW9wZW5pbmctbGlzdCAucmJveC1vcGVuaW5nLWxpOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWVmMjsgfVxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgdWwgbGkgc3Ryb25nLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgdWwgbGkgLnJib3gtb3BlbmluZy1saS10aXRsZSxcbiAgICAgICNwYWdlLWpvYnMgLm9wZW4tcG9zaXRpb25zIHVsIC5yYm94LW9wZW5pbmctbGkgc3Ryb25nLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgdWwgLnJib3gtb3BlbmluZy1saSAucmJveC1vcGVuaW5nLWxpLXRpdGxlLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgLnJib3gtb3BlbmluZy1saXN0IGxpIHN0cm9uZyxcbiAgICAgICNwYWdlLWpvYnMgLm9wZW4tcG9zaXRpb25zIC5yYm94LW9wZW5pbmctbGlzdCBsaSAucmJveC1vcGVuaW5nLWxpLXRpdGxlLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgLnJib3gtb3BlbmluZy1saXN0IC5yYm94LW9wZW5pbmctbGkgc3Ryb25nLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgLnJib3gtb3BlbmluZy1saXN0IC5yYm94LW9wZW5pbmctbGkgLnJib3gtb3BlbmluZy1saS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgICAgICBjb2xvcjogIzRDNTU1QTsgfVxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgdWwgbGkgLmxvY2F0aW9uLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgdWwgbGkgLnJib3gtam9iLXNob3J0ZGVzYyxcbiAgICAgICNwYWdlLWpvYnMgLm9wZW4tcG9zaXRpb25zIHVsIC5yYm94LW9wZW5pbmctbGkgLmxvY2F0aW9uLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgdWwgLnJib3gtb3BlbmluZy1saSAucmJveC1qb2Itc2hvcnRkZXNjLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgLnJib3gtb3BlbmluZy1saXN0IGxpIC5sb2NhdGlvbixcbiAgICAgICNwYWdlLWpvYnMgLm9wZW4tcG9zaXRpb25zIC5yYm94LW9wZW5pbmctbGlzdCBsaSAucmJveC1qb2Itc2hvcnRkZXNjLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgLnJib3gtb3BlbmluZy1saXN0IC5yYm94LW9wZW5pbmctbGkgLmxvY2F0aW9uLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgLnJib3gtb3BlbmluZy1saXN0IC5yYm94LW9wZW5pbmctbGkgLnJib3gtam9iLXNob3J0ZGVzYyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgdWwgbGkgLmxlYXJuLW1vcmUsXG4gICAgICAjcGFnZS1qb2JzIC5vcGVuLXBvc2l0aW9ucyB1bCAucmJveC1vcGVuaW5nLWxpIC5sZWFybi1tb3JlLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgLnJib3gtb3BlbmluZy1saXN0IGxpIC5sZWFybi1tb3JlLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgLnJib3gtb3BlbmluZy1saXN0IC5yYm94LW9wZW5pbmctbGkgLmxlYXJuLW1vcmUge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgdWwgbGkgLnJib3gtb3BlbmluZy1wb3NpdGlvbi1pbmZvLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgdWwgLnJib3gtb3BlbmluZy1saSAucmJveC1vcGVuaW5nLXBvc2l0aW9uLWluZm8sXG4gICAgICAjcGFnZS1qb2JzIC5vcGVuLXBvc2l0aW9ucyAucmJveC1vcGVuaW5nLWxpc3QgbGkgLnJib3gtb3BlbmluZy1wb3NpdGlvbi1pbmZvLFxuICAgICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgLnJib3gtb3BlbmluZy1saXN0IC5yYm94LW9wZW5pbmctbGkgLnJib3gtb3BlbmluZy1wb3NpdGlvbi1pbmZvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAyMHB4OyB9XG4gICAgICAjcGFnZS1qb2JzIC5vcGVuLXBvc2l0aW9ucyB1bCBsaS5hY3RpdmUgLmRldGFpbHMsXG4gICAgICAjcGFnZS1qb2JzIC5vcGVuLXBvc2l0aW9ucyB1bCAucmJveC1vcGVuaW5nLWxpLmFjdGl2ZSAuZGV0YWlscyxcbiAgICAgICNwYWdlLWpvYnMgLm9wZW4tcG9zaXRpb25zIC5yYm94LW9wZW5pbmctbGlzdCBsaS5hY3RpdmUgLmRldGFpbHMsXG4gICAgICAjcGFnZS1qb2JzIC5vcGVuLXBvc2l0aW9ucyAucmJveC1vcGVuaW5nLWxpc3QgLnJib3gtb3BlbmluZy1saS5hY3RpdmUgLmRldGFpbHMge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDgwMHB4O1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgI3BhZ2Utam9icyAub3Blbi1wb3NpdGlvbnMgdWwgLnJib3gtb3BlbmluZy1saSxcbiAgICAjcGFnZS1qb2JzIC5vcGVuLXBvc2l0aW9ucyAucmJveC1vcGVuaW5nLWxpc3QgLnJib3gtb3BlbmluZy1saSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjlweDsgfVxuICAjcGFnZS1qb2JzIC5vcGVuLXBvc2l0aW9ucyAuZGV0YWlscyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDAsIDEpO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCBtYXgtaGVpZ2h0IDAuNXMsIHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjE1NSwgMS4xMDUsIDAuMjk1LCAxLjEyKTsgfVxuICAjcGFnZS1qb2JzIC5vcGVuLXBvc2l0aW9ucyAucmJveC1hcHBsaWNhdGlvbi1mb3JtIGlucHV0IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNwYWdlLWpvYnMgLm9wZW4tcG9zaXRpb25zIC5yYm94LWFwcGxpY2F0aW9uLWZvcm0gaW5wdXRbdHlwZT0nZmlsZSddIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuIl19 */ ================================================ FILE: content/css/pages/press/index.css ================================================ #page-press .navbar + .banner { background: #182949 no-repeat center top; background-image: url("/img/press/press-cta-bg.jpg"), linear-gradient(to right, #1f3253 0%, #39485d 100%); background-size: cover, 100%; } #page-press .navbar + .banner hgroup { text-align: left; max-width: 100%; padding-top: 16px; padding-left: 99px; padding-bottom: 98px; position: relative; } #page-press .navbar + .banner hgroup::before { background: url("/img/press/press-hero-icon.png") 0 0 no-repeat; background-size: 64px; width: 64px; height: 64px; content: ''; position: absolute; left: 14px; top: 36px; } @media (max-width: 767px) { #page-press .navbar + .banner hgroup { margin-top: 100px; } } #page-press .navbar + .banner h1 { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-weight: 700; font-size: 33px; margin-bottom: 4px; letter-spacing: -.037em; } #page-press .navbar + .banner a { color: white; text-decoration: none; } #page-press .navbar + .banner p { font-size: 17px; letter-spacing: -.005em; } #page-press .cards { margin-top: -41px; list-style: none; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; padding-right: 0; padding-left: 0; } @media (max-width: 767px) { #page-press .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: center; justify-content: center; } } #page-press .cards li { background-color: #fff; border-radius: 6px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.1); padding: 82px 24px 38px; -ms-flex: 0 1 370px; flex: 0 1 370px; text-align: center; position: relative; margin-bottom: 32px; } #page-press .cards li::before { background: url("/img/press/brand-asset-icons.png") 0 0 no-repeat; background-size: 114px; width: 114px; height: 114px; position: absolute; content: ''; top: -31px; left: calc(50% - 57px); } #page-press .cards li.primary-logo::before { background-position: 0 0; } #page-press .cards li.light-logo::before { background-position: 0 -114px; } #page-press .cards li.all::before { background-position: 0 -224px; } @media (max-width: 1219px) { #page-press .cards li { -ms-flex-preferred-size: 300px; flex-basis: 300px; } } @media (max-width: 991px) { #page-press .cards li { -ms-flex-preferred-size: 230px; flex-basis: 230px; } } @media (max-width: 767px) { #page-press .cards li { -ms-flex-preferred-size: 90%; flex-basis: 90%; } } #page-press .cards h3 { font-size: 16px; text-transform: uppercase; font-weight: 700; margin-bottom: 12px; letter-spacing: .1em; color: #272a2f; } #page-press .cards p { font-size: 15px; } #page-press .cards .btn { padding: 12px 16px 9px; font-size: 14px; margin-top: 16px; } #page-press .tabs { margin-top: 47px; padding-top: 8px; margin-bottom: 50px; position: relative; display: -ms-flexbox; display: flex; } #page-press .tabs .tab-menu { -ms-flex: 0 1 237px; flex: 0 1 237px; min-width: 140px; } #page-press .tabs .nav-stacked h4 { font-size: 14px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; margin-top: 13px; } #page-press .tabs .nav-stacked a { font-weight: 500; color: #4C555A; font-size: 15px; padding: 0 0 0 8px; margin: 19px 0 19px -10px; border-left: 2px solid transparent; background: transparent !important; transition: color .2s, border-color .2s; } #page-press .tabs .nav-stacked li.active a, #page-press .tabs .nav-stacked li a:hover, #page-press .tabs .nav-stacked li a:active { color: #4a8bfc; border-color: rgba(74, 139, 252, 0.6); } #page-press .tabs .tab-content { -ms-flex: 1 0 300px; flex: 1 0 300px; padding-left: 87px; } #page-press .tabs .tab-content ul { padding-left: 0; } #page-press .tabs .tab-content li { list-style: none; } #page-press .tabs .tab-content li a { position: relative; display: block; padding-left: 102px; margin-top: 12px; margin-bottom: 43px; } #page-press .tabs .tab-content li a::before, #page-press .tabs .tab-content li a::after { background: url("/img/press/press-thumbnail.png") 0 0 no-repeat; background-size: 72px; width: 72px; height: 72px; content: ''; position: absolute; left: 0; top: 0; transition: .3s opacity; } #page-press .tabs .tab-content li a::after { opacity: 0; background-position: 0 -72px; } #page-press .tabs .tab-content li a:hover::after { opacity: 1; } #page-press .tabs .tab-content li a:hover strong { color: #4a8bfc; } #page-press .tabs .tab-content li a strong { color: #272a2f; font-size: 16px; font-weight: 700; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; transition: .3s color; } #page-press .tabs .tab-content li a time { color: #727a87; display: block; line-height: 24px; letter-spacing: -.03em; font-weight: 500; transition: .3s color; } #page-press .tabs .tab-content li a span { color: #727a87; display: block; font-size: 15px; font-weight: 400; line-height: 28px; letter-spacing: -.004em; transition: .3s color; } @media (max-width: 767px) { #page-press .tabs { -ms-flex-direction: column; flex-direction: column; } #page-press .tabs .tab-menu { -ms-flex-preferred-size: 32px; flex-basis: 32px; } #page-press .tabs .tab-menu .nav-stacked { display: -ms-flexbox; display: flex; -ms-flex-pack: distribute; justify-content: space-around; } #page-press .tabs .tab-menu .nav-stacked h4 { margin-top: 25px; } #page-press .tabs .tab-menu .nav-stacked li.active a, #page-press .tabs .tab-menu .nav-stacked li a:hover, #page-press .tabs .tab-menu .nav-stacked li a:active { border-right-color: transparent; border-bottom: 2px solid #4a8bfc; } #page-press .tabs .tab-content { padding-left: 32px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHlDQUF5QztFQUN6QywwR0FBMEc7RUFDMUcsNkJBQTZCLEVBQUU7RUFDL0I7SUFDRSxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLG1CQUFtQixFQUFFO0lBQ3JCO01BQ0UsZ0VBQWdFO01BQ2hFLHNCQUFzQjtNQUN0QixZQUFZO01BQ1osYUFBYTtNQUNiLFlBQVk7TUFDWixtQkFBbUI7TUFDbkIsV0FBVztNQUNYLFVBQVUsRUFBRTtJQUNkO01BQ0U7UUFDRSxrQkFBa0IsRUFBRSxFQUFFO0VBQzVCO0lBQ0UsNkRBQTZEO0lBQzdELGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLHdCQUF3QixFQUFFO0VBQzVCO0lBQ0UsYUFBYTtJQUNiLHNCQUFzQixFQUFFO0VBQzFCO0lBQ0UsZ0JBQWdCO0lBQ2hCLHdCQUF3QixFQUFFOztBQUU5QjtFQUNFLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIscUJBQWM7RUFBZCxjQUFjO0VBQ2QsdUJBQStCO01BQS9CLCtCQUErQjtFQUMvQixpQkFBaUI7RUFDakIsZ0JBQWdCLEVBQUU7RUFDbEI7SUFDRTtNQUNFLG9CQUFnQjtVQUFoQixnQkFBZ0I7TUFDaEIsc0JBQXdCO1VBQXhCLHdCQUF3QixFQUFFLEVBQUU7RUFDaEM7SUFDRSx1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLHdFQUF3RTtJQUN4RSx3QkFBd0I7SUFDeEIsb0JBQWdCO1FBQWhCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG9CQUFvQixFQUFFO0lBQ3RCO01BQ0Usa0VBQWtFO01BQ2xFLHVCQUF1QjtNQUN2QixhQUFhO01BQ2IsY0FBYztNQUNkLG1CQUFtQjtNQUNuQixZQUFZO01BQ1osV0FBVztNQUNYLHVCQUF1QixFQUFFO0lBQzNCO01BQ0UseUJBQXlCLEVBQUU7SUFDN0I7TUFDRSw4QkFBOEIsRUFBRTtJQUNsQztNQUNFLDhCQUE4QixFQUFFO0lBQ2xDO01BQ0U7UUFDRSwrQkFBa0I7WUFBbEIsa0JBQWtCLEVBQUUsRUFBRTtJQUMxQjtNQUNFO1FBQ0UsK0JBQWtCO1lBQWxCLGtCQUFrQixFQUFFLEVBQUU7SUFDMUI7TUFDRTtRQUNFLDZCQUFnQjtZQUFoQixnQkFBZ0IsRUFBRSxFQUFFO0VBQzFCO0lBQ0UsZ0JBQWdCO0lBQ2hCLDBCQUEwQjtJQUMxQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQixlQUFlLEVBQUU7RUFDbkI7SUFDRSxnQkFBZ0IsRUFBRTtFQUNwQjtJQUNFLHVCQUF1QjtJQUN2QixnQkFBZ0I7SUFDaEIsaUJBQWlCLEVBQUU7O0FBRXZCO0VBQ0UsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLHFCQUFjO0VBQWQsY0FBYyxFQUFFO0VBQ2hCO0lBQ0Usb0JBQWdCO1FBQWhCLGdCQUFnQjtJQUNoQixpQkFBaUIsRUFBRTtFQUNyQjtJQUNFLGdCQUFnQjtJQUNoQiwwQkFBMEI7SUFDMUIsc0JBQXNCO0lBQ3RCLGlCQUFpQjtJQUNqQixpQkFBaUIsRUFBRTtFQUNyQjtJQUNFLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQiwwQkFBMEI7SUFDMUIsbUNBQW1DO0lBQ25DLG1DQUFtQztJQUNuQyx3Q0FBd0MsRUFBRTtFQUM1Qzs7O0lBR0UsZUFBZTtJQUNmLHNDQUFzQyxFQUFFO0VBQzFDO0lBQ0Usb0JBQWdCO1FBQWhCLGdCQUFnQjtJQUNoQixtQkFBbUIsRUFBRTtJQUNyQjtNQUNFLGdCQUFnQixFQUFFO0lBQ3BCO01BQ0UsaUJBQWlCLEVBQUU7TUFDbkI7UUFDRSxtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixpQkFBaUI7UUFDakIsb0JBQW9CLEVBQUU7UUFDdEI7VUFDRSxnRUFBZ0U7VUFDaEUsc0JBQXNCO1VBQ3RCLFlBQVk7VUFDWixhQUFhO1VBQ2IsWUFBWTtVQUNaLG1CQUFtQjtVQUNuQixRQUFRO1VBQ1IsT0FBTztVQUNQLHdCQUF3QixFQUFFO1FBQzVCO1VBQ0UsV0FBVztVQUNYLDZCQUE2QixFQUFFO1FBQ2pDO1VBQ0UsV0FBVyxFQUFFO1FBQ2Y7VUFDRSxlQUFlLEVBQUU7UUFDbkI7VUFDRSxlQUFlO1VBQ2YsZ0JBQWdCO1VBQ2hCLGlCQUFpQjtVQUNqQiw2REFBNkQ7VUFDN0Qsc0JBQXNCLEVBQUU7UUFDMUI7VUFDRSxlQUFlO1VBQ2YsZUFBZTtVQUNmLGtCQUFrQjtVQUNsQix1QkFBdUI7VUFDdkIsaUJBQWlCO1VBQ2pCLHNCQUFzQixFQUFFO1FBQzFCO1VBQ0UsZUFBZTtVQUNmLGVBQWU7VUFDZixnQkFBZ0I7VUFDaEIsaUJBQWlCO1VBQ2pCLGtCQUFrQjtVQUNsQix3QkFBd0I7VUFDeEIsc0JBQXNCLEVBQUU7RUFDaEM7SUFDRTtNQUNFLDJCQUF1QjtVQUF2Qix1QkFBdUIsRUFBRTtNQUN6QjtRQUNFLDhCQUFpQjtZQUFqQixpQkFBaUIsRUFBRTtRQUNuQjtVQUNFLHFCQUFjO1VBQWQsY0FBYztVQUNkLDBCQUE4QjtjQUE5Qiw4QkFBOEIsRUFBRTtVQUNoQztZQUNFLGlCQUFpQixFQUFFO1VBQ3JCOzs7WUFHRSxnQ0FBZ0M7WUFDaEMsaUNBQWlDLEVBQUU7TUFDekM7UUFDRSxtQkFBbUIsRUFBRSxFQUFFIiwiZmlsZSI6InBhZ2VzL3ByZXNzL2luZGV4LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNwYWdlLXByZXNzIC5uYXZiYXIgKyAuYmFubmVyIHtcbiAgYmFja2dyb3VuZDogIzE4Mjk0OSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcmVzcy9wcmVzcy1jdGEtYmcuanBnXCIpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMxZjMyNTMgMCUsICMzOTQ4NWQgMTAwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXIsIDEwMCU7IH1cbiAgI3BhZ2UtcHJlc3MgLm5hdmJhciArIC5iYW5uZXIgaGdyb3VwIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDk5cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDk4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI3BhZ2UtcHJlc3MgLm5hdmJhciArIC5iYW5uZXIgaGdyb3VwOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9wcmVzcy9wcmVzcy1oZXJvLWljb24ucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDY0cHg7XG4gICAgICB3aWR0aDogNjRweDtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMTRweDtcbiAgICAgIHRvcDogMzZweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtcHJlc3MgLm5hdmJhciArIC5iYW5uZXIgaGdyb3VwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7IH0gfVxuICAjcGFnZS1wcmVzcyAubmF2YmFyICsgLmJhbm5lciBoMSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMzNweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDM3ZW07IH1cbiAgI3BhZ2UtcHJlc3MgLm5hdmJhciArIC5iYW5uZXIgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAjcGFnZS1wcmVzcyAubmF2YmFyICsgLmJhbm5lciBwIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDA1ZW07IH1cblxuI3BhZ2UtcHJlc3MgLmNhcmRzIHtcbiAgbWFyZ2luLXRvcDogLTQxcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLXByZXNzIC5jYXJkcyB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICNwYWdlLXByZXNzIC5jYXJkcyBsaSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgcGFkZGluZzogODJweCAyNHB4IDM4cHg7XG4gICAgZmxleDogMCAxIDM3MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgICNwYWdlLXByZXNzIC5jYXJkcyBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvcHJlc3MvYnJhbmQtYXNzZXQtaWNvbnMucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDExNHB4O1xuICAgICAgd2lkdGg6IDExNHB4O1xuICAgICAgaGVpZ2h0OiAxMTRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdG9wOiAtMzFweDtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gNTdweCk7IH1cbiAgICAjcGFnZS1wcmVzcyAuY2FyZHMgbGkucHJpbWFyeS1sb2dvOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgI3BhZ2UtcHJlc3MgLmNhcmRzIGxpLmxpZ2h0LWxvZ286OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTRweDsgfVxuICAgICNwYWdlLXByZXNzIC5jYXJkcyBsaS5hbGw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLXByZXNzIC5jYXJkcyBsaSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDMwMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXByZXNzIC5jYXJkcyBsaSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDIzMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNwYWdlLXByZXNzIC5jYXJkcyBsaSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDkwJTsgfSB9XG4gICNwYWdlLXByZXNzIC5jYXJkcyBoMyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICAgIGNvbG9yOiAjMjcyYTJmOyB9XG4gICNwYWdlLXByZXNzIC5jYXJkcyBwIHtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgI3BhZ2UtcHJlc3MgLmNhcmRzIC5idG4ge1xuICAgIHBhZGRpbmc6IDEycHggMTZweCA5cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7IH1cblxuI3BhZ2UtcHJlc3MgLnRhYnMge1xuICBtYXJnaW4tdG9wOiA0N3B4O1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgI3BhZ2UtcHJlc3MgLnRhYnMgLnRhYi1tZW51IHtcbiAgICBmbGV4OiAwIDEgMjM3cHg7XG4gICAgbWluLXdpZHRoOiAxNDBweDsgfVxuICAjcGFnZS1wcmVzcyAudGFicyAubmF2LXN0YWNrZWQgaDQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDhlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi10b3A6IDEzcHg7IH1cbiAgI3BhZ2UtcHJlc3MgLnRhYnMgLm5hdi1zdGFja2VkIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICM0QzU1NUE7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDhweDtcbiAgICBtYXJnaW46IDE5cHggMCAxOXB4IC0xMHB4O1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnMsIGJvcmRlci1jb2xvciAuMnM7IH1cbiAgI3BhZ2UtcHJlc3MgLnRhYnMgLm5hdi1zdGFja2VkIGxpLmFjdGl2ZSBhLFxuICAjcGFnZS1wcmVzcyAudGFicyAubmF2LXN0YWNrZWQgbGkgYTpob3ZlcixcbiAgI3BhZ2UtcHJlc3MgLnRhYnMgLm5hdi1zdGFja2VkIGxpIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogIzRhOGJmYztcbiAgICBib3JkZXItY29sb3I6IHJnYmEoNzQsIDEzOSwgMjUyLCAwLjYpOyB9XG4gICNwYWdlLXByZXNzIC50YWJzIC50YWItY29udGVudCB7XG4gICAgZmxleDogMSAwIDMwMHB4O1xuICAgIHBhZGRpbmctbGVmdDogODdweDsgfVxuICAgICNwYWdlLXByZXNzIC50YWJzIC50YWItY29udGVudCB1bCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAjcGFnZS1wcmVzcyAudGFicyAudGFiLWNvbnRlbnQgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgI3BhZ2UtcHJlc3MgLnRhYnMgLnRhYi1jb250ZW50IGxpIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0M3B4OyB9XG4gICAgICAgICNwYWdlLXByZXNzIC50YWJzIC50YWItY29udGVudCBsaSBhOjpiZWZvcmUsICNwYWdlLXByZXNzIC50YWJzIC50YWItY29udGVudCBsaSBhOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9wcmVzcy9wcmVzcy10aHVtYm5haWwucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3MnB4O1xuICAgICAgICAgIHdpZHRoOiA3MnB4O1xuICAgICAgICAgIGhlaWdodDogNzJweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogLjNzIG9wYWNpdHk7IH1cbiAgICAgICAgI3BhZ2UtcHJlc3MgLnRhYnMgLnRhYi1jb250ZW50IGxpIGE6OmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTcycHg7IH1cbiAgICAgICAgI3BhZ2UtcHJlc3MgLnRhYnMgLnRhYi1jb250ZW50IGxpIGE6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgICNwYWdlLXByZXNzIC50YWJzIC50YWItY29udGVudCBsaSBhOmhvdmVyIHN0cm9uZyB7XG4gICAgICAgICAgY29sb3I6ICM0YThiZmM7IH1cbiAgICAgICAgI3BhZ2UtcHJlc3MgLnRhYnMgLnRhYi1jb250ZW50IGxpIGEgc3Ryb25nIHtcbiAgICAgICAgICBjb2xvcjogIzI3MmEyZjtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIHRyYW5zaXRpb246IC4zcyBjb2xvcjsgfVxuICAgICAgICAjcGFnZS1wcmVzcyAudGFicyAudGFiLWNvbnRlbnQgbGkgYSB0aW1lIHtcbiAgICAgICAgICBjb2xvcjogIzcyN2E4NztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogLjNzIGNvbG9yOyB9XG4gICAgICAgICNwYWdlLXByZXNzIC50YWJzIC50YWItY29udGVudCBsaSBhIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAjNzI3YTg3O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAwNGVtO1xuICAgICAgICAgIHRyYW5zaXRpb246IC4zcyBjb2xvcjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcGFnZS1wcmVzcyAudGFicyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAjcGFnZS1wcmVzcyAudGFicyAudGFiLW1lbnUge1xuICAgICAgICBmbGV4LWJhc2lzOiAzMnB4OyB9XG4gICAgICAgICNwYWdlLXByZXNzIC50YWJzIC50YWItbWVudSAubmF2LXN0YWNrZWQge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgICAgICAgICAjcGFnZS1wcmVzcyAudGFicyAudGFiLW1lbnUgLm5hdi1zdGFja2VkIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgICAgICAgICAjcGFnZS1wcmVzcyAudGFicyAudGFiLW1lbnUgLm5hdi1zdGFja2VkIGxpLmFjdGl2ZSBhLFxuICAgICAgICAgICNwYWdlLXByZXNzIC50YWJzIC50YWItbWVudSAubmF2LXN0YWNrZWQgbGkgYTpob3ZlcixcbiAgICAgICAgICAjcGFnZS1wcmVzcyAudGFicyAudGFiLW1lbnUgLm5hdi1zdGFja2VkIGxpIGE6YWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzRhOGJmYzsgfVxuICAgICAgI3BhZ2UtcHJlc3MgLnRhYnMgLnRhYi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/pricing/index.css ================================================ .feature-lists { display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; } .feature-lists::before, .feature-lists::after { display: none; } .feature-lists__product { -ms-flex: 0 1 380px; flex: 0 1 380px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; } .feature-lists__heading { text-align: left; margin-bottom: 48px; padding-right: 15px; } .feature-lists__heading h2 { font-size: 26px; line-height: 36px; letter-spacing: -0.03em; color: #1A232F; } .feature-lists__heading p { font-size: 20px; line-height: 24px; letter-spacing: -0.03em; color: #616E7E; } .feature-lists__heading p span { color: #d0d5db; } .feature-lists__features { list-style: none; padding: 0 0 24px; } .feature-lists__features li { font-size: 14px; line-height: 23px; letter-spacing: -0.02em; color: #414D5C; position: relative; padding: 18px 0 18px 22px; border-bottom: 1px solid #E9EDF3; } .feature-lists__features li:last-child { border-bottom: none; } .feature-lists__features li::before { content: url('data:image/svg+xml,\a \a \a '); position: absolute; left: 0; top: calc(50% - 11px); height: 11px; width: 14px; opacity: .5; fill: #73849A; } .feature-lists__features li a { margin-left: 3px; text-decoration: underline; } .feature-lists__cta { -ms-flex-item-align: start; -ms-grid-row-align: start; align-self: start; margin-top: auto; } #page-pricing .plan-cards { display: -ms-flexbox; display: flex; } #page-pricing .plan-cards .plan-card:not(.plan-card--emphasize) { margin: 20px 0; } @media (max-width: 768px) { #page-pricing .plan-cards .plan-card:not(.plan-card--emphasize) { margin: 0; } } #page-pricing .plan-cards .plan-card + .plan-card { margin-left: 26px; } @media (max-width: 1220px) { #page-pricing .plan-cards .plan-card + .plan-card { margin-left: 14px; } } @media (max-width: 768px) { #page-pricing .plan-cards { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } #page-pricing .plan-cards .plan-card { width: 100%; max-width: 500px; } #page-pricing .plan-cards .plan-card + .plan-card { margin-left: 0; margin-top: 20px; } } #page-pricing .plan-card { -ms-flex: 1; flex: 1; border-radius: 12px; background: white; box-shadow: 0px 2px 8px rgba(2, 8, 20, 0.08), 0px 8px 16px rgba(0, 0, 0, 0.1); display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: justify; justify-content: space-between; } #page-pricing .plan-card + .plan-card { border-left: 1px solid #eee; } #page-pricing .plan-card .plan-card-header, #page-pricing .plan-card .plan-card-body { padding: 32px 28px; } #page-pricing .plan-card .plan-card-body { padding-bottom: 6px; } #page-pricing .plan-card .plan-card-header { letter-spacing: -0.02em; } #page-pricing .plan-card .plan-card-header h3 { margin-top: 0; margin-bottom: 26px; font-size: 24px; color: #020814; } #page-pricing .plan-card .plan-card-header .price { color: #2E4C73; font-size: 20px; line-height: 1; margin-bottom: 2px; } #page-pricing .plan-card .plan-card-header .price strong { font-size: 48px; color: #020814; font-weight: 400; margin-right: -4px; } #page-pricing .plan-card .plan-card-header .price strong, #page-pricing .plan-card .plan-card-header .price span { display: inline-block; } #page-pricing .plan-card .plan-card-header .price h6 { text-transform: uppercase; letter-spacing: 0.08em; font-size: 11px; } #page-pricing .plan-card .plan-card-header .type { font-size: 14px; letter-spacing: -0.01em; color: #73849A; } #page-pricing .plan-card .plan-card-header--double { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; } #page-pricing .plan-card .plan-card-header--double h3, #page-pricing .plan-card .plan-card-header--double h4 { margin-bottom: 0; } #page-pricing .plan-card .plan-card-header--double h3 { margin-top: 10px; } #page-pricing .plan-card .plan-card-header--double h4 { margin-top: 0; font-size: 16px; letter-spacing: -0.01em; font-weight: 700; color: #92A1B3; } #page-pricing .plan-card .plan-card-header--double .right { display: -ms-flexbox; display: flex; -ms-flex-align: end; align-items: flex-end; } #page-pricing .plan-card .plan-card-header--double .price { font-size: 22px; letter-spacing: -0.02em; font-weight: 400; color: #5B708B; } @media (max-width: 768px) { #page-pricing .plan-card .plan-card-header--double { -ms-flex-direction: column; flex-direction: column; } #page-pricing .plan-card .plan-card-header--double .right { margin-top: 8px; } } #page-pricing .plan-card .plan-card-body { border-top: 2px solid #F3F5F9; } #page-pricing .plan-card .plan-card-body ul { margin: 0; padding: 0; list-style-type: none; } #page-pricing .plan-card .plan-card-body h4 { font-weight: 600; line-height: 1; font-size: 14px; letter-spacing: -0.01em; color: #020814; margin-bottom: 12px; margin-top: 0; } #page-pricing .plan-card .addon { transition: 0.2s background, 0.2s border; display: block; border: 1px solid #DEE3EA; border-radius: 6px; padding: 16px; margin-top: 32px; cursor: pointer; } #page-pricing .plan-card .addon li { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; color: #73849A; font-weight: 400; font-familt: "Inter", "Inter UI", Helvetica, Arial, sans-serif; } #page-pricing .plan-card .addon li + li { margin-top: 6px; } #page-pricing .plan-card .addon li::before { content: ''; display: block; background-image: url("/img/checkmark.svg"); background-repeat: no-repeat; background-size: 100%; width: 10px; height: 8px; -ms-flex: 0 0 10px; flex: 0 0 10px; margin-right: 8px; opacity: 0.5; } #page-pricing .plan-card .addon.selected { background-color: #F0F6FF; border: 1px solid #CDDFFF; } #page-pricing .plan-card .addon-header { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 8px; } #page-pricing .plan-card .checkbox-group { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: #27323F; font-weight: 700; } #page-pricing .plan-card .checkbox-group input { margin-right: 8px; } #page-pricing .plan-card .price--small { font-size: 12px; letter-spacing: -0.01em; color: #92A1B3; } #page-pricing .plan-card .price--small strong { font-size: 16px; font-weight: 600; letter-spacing: -0.01em; color: #2F3A48; } #page-pricing .plan-card .plan-card-clause { padding: 0 28px 28px; color: #73849a; font-size: 13px; letter-spacing: -.01em; margin-top: 20px; } #page-pricing .plan-card .plan-card-clause h5 { font-size: 13px; font-weight: 600; margin-bottom: 2px; margin-top: 0; } #page-pricing .plan-card .plan-card-clause p { margin: 0; } #page-pricing .plan-card .plan-card-clause.highlight { margin-top: 0px; } #page-pricing .plan-card .plan-card-clause.highlight .plan-card-clause__inner { background: #FFF8E2; color: #977300; padding: 17px 18px 14px; border-radius: 8px; } #page-pricing .plan-card--dark .plan-card-clause { color: #ced6e0; } #page-pricing .plan-card .plan-card-btn { transition: background 0.2s; display: block; width: 100%; text-align: center; font-size: 12px; text-align: center; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; border-radius: 0px 0px 12px 12px; padding: 24px 0; background-color: #F3F6FC; color: #4D8DFF; } #page-pricing .plan-card .plan-card-btn:hover { background: #e7edf9; } #page-pricing .plan-card .plan-card-btn--primary { color: #fff; background: #3880FF; } #page-pricing .plan-card .plan-card-btn--primary:hover { background: #5290ff; } #page-pricing .plan-card .plan-card-btn--dark { color: #CDDFFF; background: #3D5275; } #page-pricing .plan-card .plan-card-btn--dark:hover { background: #465e86; } #page-pricing .plan-card .addon-cta-toggle { display: none; } #page-pricing .plan-card .addon-cta-toggle--active { display: block; } #page-pricing .plan-card .plan-card-highlight { background: #FFE5DC; border-radius: 8px 8px 0px 0px; font-size: 10px; text-align: center; letter-spacing: 0.16em; text-transform: uppercase; color: #FF9982; font-weight: 700; padding: 4px 0; } #page-pricing .plan-card--dark { background: linear-gradient(180deg, #2B3C5A 0%, #1B2A45 100%); color: #f6f8fb; } #page-pricing .plan-card--dark .plan-card-header h3 { color: #fff; } #page-pricing .plan-card--dark .plan-card-header .price strong, #page-pricing .plan-card--dark .plan-card-body h4 { color: #f6f8fb; } #page-pricing .plan-card--dark .plan-card-header .price { color: #bac9d6; } #page-pricing .plan-card--dark .plan-card-body .features li { color: #E9EDF3; } #page-pricing .plan-card--dark .plan-card-header .type { color: #CED6E0; } #page-pricing .plan-card--dark .plan-card-body .features li::before { background-image: url("/img/checkmark-dark-gray.svg"); } #page-pricing .plan-card--dark .plan-card-body { border-top-color: #334666; } #page-pricing .plan-cards--studio { max-width: 976px; margin-left: auto; margin-right: auto; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; } #page-pricing .plan-cards--studio .plan-card h2 { margin-bottom: 0; margin-top: 0; font-size: 28px; line-height: 34px; letter-spacing: -0.02em; color: #020814; font-weight: 600; } #page-pricing .plan-cards--studio .plan-card h4 { color: #020814; } #page-pricing .plan-cards--studio .plan-card p { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 24px; letter-spacing: -0.01em; color: #73849A; margin-bottom: 20px; } #page-pricing .plan-cards--studio .plan-card .price { color: #E9EDF3; } #page-pricing .plan-cards--studio .plan-card .plan-card-header { padding-top: 42px; padding-left: 42px; padding-right: 42px; } #page-pricing .plan-cards--studio .plan-card .plan-card-body { padding: 42px 42px 0; } #page-pricing .plan-cards--studio .plan-card .plan-card-body li a { transition: 0.2s opacity; font-weight: 600; color: #fff; } #page-pricing .plan-cards--studio .plan-card .plan-card-body li a:hover { opacity: .8; } #page-pricing .plan-cards--studio .plan-card .plan-card-cta { padding: 42px; text-align: center; } #page-pricing .plan-cards--studio .plan-card .plan-card-cta .btn { transition: 0.2s background; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; font-size: 16px; box-shadow: none; border-radius: 8px; padding: 22px 34px 20px; } #page-pricing .plan-cards--studio .plan-card--dark { background: linear-gradient(180deg, #2B3C5A 0%, #1B2A45 100%); } #page-pricing .plan-cards--studio .plan-card--dark h4 { color: #C3D0E0; font-weight: 600; } #page-pricing .plan-cards--studio .plan-card--dark .pill { margin-left: 6px; position: relative; top: -2px; } #page-pricing .plan-cards--studio .plan-card { max-width: 848px; } #page-pricing .plan-cards--studio .plan-card .plan-card-header, #page-pricing .plan-cards--studio .plan-card .plan-card-body { display: -ms-flexbox; display: flex; } #page-pricing .plan-cards--studio .plan-card .plan-card-body ul { -ms-flex: 1; flex: 1; } #page-pricing .plan-cards--studio .plan-card .plan-card-body ul + ul { margin-left: 34px; } #page-pricing .plan-cards--studio .plan-card .plan-card-cta .btn { background: #293D5E; border: 2px solid rgba(152, 172, 207, 0.3); box-shadow: 0px 2px 4px rgba(2, 8, 20, 0.1), 0px 1px 2px rgba(2, 8, 20, 0.08); color: #fff; } #page-pricing .plan-cards--studio .plan-card .plan-card-cta .btn:hover { background: #2e4469; } @media (max-width: 991px) { #page-pricing .plan-cards--studio { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } #page-pricing .plan-cards--studio .plan-card { width: 100%; max-width: 660px !important; } #page-pricing .plan-cards--studio .plan-card:first-child { margin: 0 0 16px; border-top-right-radius: 12px; border-bottom-right-radius: 12px; } #page-pricing .plan-cards--studio .plan-card-cta .btn { display: block; width: 100%; } } @media (max-width: 768px) { #page-pricing .plan-cards--studio .plan-card { max-width: 500px !important; } #page-pricing .plan-cards--studio .plan-card:last-child .plan-card-body { -ms-flex-direction: column; flex-direction: column; } #page-pricing .plan-cards--studio .plan-card:last-child .plan-card-body ul + ul { margin-left: 0; margin-top: 12px; } #page-pricing .plan-cards--studio .plan-card .plan-card-header, #page-pricing .plan-cards--studio .plan-card .plan-card-cta { padding: 32px 28px; } #page-pricing .plan-cards--studio .plan-card .plan-card-body { padding: 32px 28px 0; } } #page-pricing .plan-card--enterprise, #page-pricing .plan-card--community, #page-pricing .plan-cards-addons .plan-card > div:first-child { position: relative; overflow: hidden; } #page-pricing .plan-card--enterprise::before, #page-pricing .plan-card--community::before, #page-pricing .plan-cards-addons .plan-card > div:first-child::before { content: ''; display: block; width: 100%; height: 8px; top: 0; left: 0; } #page-pricing .plan-card--community .plan-card-cta { margin-top: 21px; } #page-pricing .plan-card--community::before { background-color: #4B80F7; } #page-pricing .plan-card--enterprise::before { background-color: #FF9982; } #page-pricing .plan-card--enterprise .plan-card-header, #page-pricing .plan-card--enterprise .plan-card-body, #page-pricing .plan-card--community .plan-card-header, #page-pricing .plan-card--community .plan-card-body { padding: 36px 54px; } #page-pricing .plan-card--enterprise .plan-card-body, #page-pricing .plan-card--community .plan-card-body { display: -ms-flexbox; display: flex; } #page-pricing .plan-card--enterprise .plan-card-body ul, #page-pricing .plan-card--community .plan-card-body ul { -ms-flex: 1; flex: 1; } #page-pricing .plan-card--enterprise .plan-card-body ul + ul, #page-pricing .plan-card--community .plan-card-body ul + ul { margin-left: 76px; position: relative; } #page-pricing .plan-card--enterprise .plan-card-body ul + ul::before, #page-pricing .plan-card--community .plan-card-body ul + ul::before { content: ''; display: block; position: absolute; top: 40px; left: -39px; width: 2px; height: 336px; background: linear-gradient(270deg, rgba(233, 237, 243, 0) 0%, rgba(233, 237, 243, 0) 0%, rgba(233, 237, 243, 0.8) 51.93%, rgba(233, 237, 243, 0) 100%); opacity: 0.8; } #page-pricing .plan-card--enterprise .plan-card-body ul h5, #page-pricing .plan-card--community .plan-card-body ul h5 { color: #020814; } #page-pricing .plan-card--enterprise .plan-card-cta, #page-pricing .plan-card--community .plan-card-cta { text-align: center; padding-bottom: 46px; padding-top: 12px; } #page-pricing .plan-card--enterprise .btn, #page-pricing .plan-card--community .btn { text-transform: uppercase; font-size: 16px; letter-spacing: 0.08em; font-weight: 700; padding: 22px 32px 20px; border-radius: 8px; } @media (max-width: 768px) { #page-pricing .plan-card--enterprise, #page-pricing .plan-card--community { max-width: 500px; margin-left: auto; margin-right: auto; } #page-pricing .plan-card--enterprise .plan-card-body ul + ul, #page-pricing .plan-card--community .plan-card-body ul + ul { margin-left: 0; margin-top: 24px; } #page-pricing .plan-card--enterprise .plan-card-body ul + ul::before, #page-pricing .plan-card--community .plan-card-body ul + ul::before { display: none; } #page-pricing .plan-card--enterprise .plan-card-header, #page-pricing .plan-card--enterprise .plan-card-cta, #page-pricing .plan-card--community .plan-card-header, #page-pricing .plan-card--community .plan-card-cta { padding: 32px 28px; } #page-pricing .plan-card--enterprise .plan-card-body, #page-pricing .plan-card--community .plan-card-body { -ms-flex-direction: column; flex-direction: column; padding: 32px 28px 0; } #page-pricing .plan-card--enterprise .btn, #page-pricing .plan-card--community .btn { display: block; width: 100%; } } #page-pricing .addons-header { margin: 160px 0 54px; } #page-pricing .addons-header h2 { font-weight: 600; font-size: 28px; letter-spacing: -0.01em; } @media (max-width: 768px) { #page-pricing .addons-header { margin: 80px 0 36px; } } #page-pricing .plan-cards-addons { margin-bottom: 180px; display: -ms-flexbox; display: flex; } #page-pricing .plan-cards-addons .plan-card { overflow: hidden; border-radius: 12px; -ms-flex: 1; flex: 1; -ms-flex-align: start; align-items: flex-start; -ms-flex-pack: justify; justify-content: space-between; } #page-pricing .plan-cards-addons .plan-card-header { display: -ms-flexbox; display: flex; } #page-pricing .plan-cards-addons .plan-card-header div { -ms-flex-pack: justify; justify-content: space-between; } #page-pricing .plan-cards-addons .plan-card-header div:first-child { max-width: 316px; } #page-pricing .plan-cards-addons .plan-card-header div + div { margin-left: 72px; -ms-flex: 0 0 auto; flex: 0 0 auto; } #page-pricing .plan-cards-addons .plan-card-header h3 { margin-bottom: 12px; } #page-pricing .plan-cards-addons .plan-card-header h5 { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: #92A1B3; } #page-pricing .plan-cards-addons .plan-card-header p { line-height: 25px; font-size: 16px; letter-spacing: -0.01em; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; color: #414D5C; } #page-pricing .plan-cards-addons .plan-card-header .price { font-size: 10px; font-weight: 600; color: #92A1B3; } #page-pricing .plan-cards-addons .plan-card-header .price b { font-size: 20px; letter-spacing: -0.02em; color: #020814; font-weight: 600; } #page-pricing .plan-cards-addons .plan-card-body h6 { font-size: 14px; font-weight: 600; letter-spacing: -0.01em; color: #020814; } #page-pricing .plan-cards-addons .plan-card-cta { text-align: center; padding: 12px 32px 46px; width: 100%; } #page-pricing .plan-cards-addons .btn { text-transform: uppercase; font-size: 12px; letter-spacing: 0.1em; font-weight: 700; padding: 16px 22px 14px; border-radius: 8px; } #page-pricing .plan-cards-addons .plan-card + .plan-card { margin-left: 40px; } #page-pricing .plan-cards-addons .plan-card:first-child > div::before { background-color: #7E87E9; } #page-pricing .plan-cards-addons .plan-card:last-child > div::before { background-color: #88D99E; } @media (max-width: 992px) { #page-pricing .plan-cards-addons .plan-card-header { -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: start; justify-content: flex-start; } #page-pricing .plan-cards-addons .plan-card-header > div + div { margin-left: 0; } #page-pricing .plan-cards-addons .plan-card + .plan-card { margin-left: 20px; } } @media (max-width: 768px) { #page-pricing .plan-cards-addons { margin-bottom: 80px; -ms-flex-direction: column; flex-direction: column; } #page-pricing .plan-cards-addons .plan-card { max-width: 500px; width: 100%; margin-left: auto !important; margin-right: auto !important; } #page-pricing .plan-cards-addons .plan-card + .plan-card { margin-left: 0px; margin-top: 20px; } #page-pricing .plan-cards-addons .plan-card-cta { padding: 12px 32px 32px; } #page-pricing .plan-cards-addons .plan-card .btn { display: block; width: 100%; } } #page-pricing table, #page-pricing .table { margin-bottom: 0; min-width: 800px; } #page-pricing thead tr td:first-child, #page-pricing thead tr th:first-child, #page-pricing tbody tr td:first-child, #page-pricing tbody tr th:first-child { padding-left: 36px; } #page-pricing thead tr td:last-child, #page-pricing thead tr th:last-child, #page-pricing tbody tr td:last-child, #page-pricing tbody tr th:last-child { padding-right: 36px; } #page-pricing thead th, #page-pricing tbody td { width: 20%; } #page-pricing thead th, #page-pricing thead td { background: #fff; border-bottom: 1px solid rgba(232, 235, 241, 0.6); padding-top: 32px; padding-bottom: 30px; vertical-align: bottom; } #page-pricing thead th { text-align: center; } #page-pricing thead th h2 { margin-bottom: 3px; } #page-pricing thead .eyebrow { font-size: 10px; color: #94a0b7; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 700; margin-bottom: 4px; display: inline-block; } #page-pricing thead h2 { font-size: 20px; font-weight: 700; margin: 0; letter-spacing: -0.01em; color: #020814; } #page-pricing thead .price { font-weight: 600; font-size: 12px; line-height: 20px; color: #5B708B; } #page-pricing thead .price strong { font-size: 16px; font-weight: 600; } #page-pricing thead .btn { margin-top: 8px; } #page-pricing thead .btn--primary { background: #3880FF; color: #fff; } #page-pricing thead .btn--primary:hover { background: #478aff; } #page-pricing thead .btn--dark { background: #213049; color: #CDDFFF; border: 0; } #page-pricing thead .btn--dark:hover { background: #31476c; } #page-pricing thead .plan-wrap { display: inline-block; text-align: left; border: 0; } #page-pricing tbody th, #page-pricing tbody td { padding-top: 14px; padding-bottom: 14px; padding-left: 16px; padding-right: 16px; } #page-pricing tbody .pill { margin-top: -2px; margin-left: 2px; background: none; } #page-pricing tbody .pill--blue { margin-left: 8px; } #page-pricing tbody tr.combined th, #page-pricing tbody tr.combined td { padding-top: 45px; padding-bottom: 22px; } #page-pricing tbody tr.combined th { font-size: 16px; line-height: 22px; font-weight: 700; color: #333; } #page-pricing tbody th { font-weight: 400; vertical-align: middle; border: 0; } #page-pricing tbody th[colspan="4"] span { display: inline-block; font-size: 16px; line-height: 22px; font-weight: 600; color: #020814; border-top: none; padding-top: 30px; padding-bottom: 8px; } #page-pricing tbody th:not([colspan="4"]) { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; color: #4E5B6A; } #page-pricing tbody th strong { font-size: 14px; font-weight: 600; display: block; color: #565c67; } #page-pricing tbody th strong b { font-weight: 600; color: #171a20; } #page-pricing tbody th strong b a { transition: border 0.3s; display: inline-block; color: #171a20; border-bottom: 1px solid rgba(23, 26, 32, 0.2); line-height: 1; } #page-pricing tbody th strong b a:hover { border-bottom: 1px solid rgba(23, 26, 32, 0.7); } #page-pricing tbody th a { display: block; font-weight: 600; } #page-pricing tbody th span { font-size: 12px; font-weight: 500; color: #999; } #page-pricing tbody td, #page-pricing tbody th { background: #fff; } #page-pricing tbody .stripe td, #page-pricing tbody .stripe th { background: #f8f9fb; } #page-pricing tbody .small td, #page-pricing tbody .small th { border-bottom: 1px solid #E9EDF3; padding-top: 6px; padding-bottom: 6px; } #page-pricing tbody .small th:first-child { color: #73849A; position: relative; } #page-pricing tbody .small .check:before { font-size: 12px; } #page-pricing tbody td { vertical-align: middle; text-align: center; font-weight: 400; border: 0; font-size: 13px; color: #4E5B6A; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; } #page-pricing tbody .dash:before { content: '\2014'; color: #c3ccdb; } #page-pricing tbody .check:before { font-family: 'Ionicons'; content: "\f2bc"; color: #00d287; font-size: 16px; line-height: 1em; } #page-pricing tbody tr:last-child td { padding-top: 36px; padding-bottom: 36px; } #page-pricing tbody .btn { width: 100%; } #page-pricing tbody .btn.sm { font-size: 12px; letter-spacing: 0.1em; } #page-pricing tbody .btn.dark { background-color: #213049; color: #CDDFFF; } #page-pricing tbody .btn.dark:hover { background-color: #293c5b; } #page-pricing .btn-secondary { background-color: #e1efff; color: #3880ff; box-shadow: none; } #page-pricing .btn-secondary:hover { background-color: #eaf3fd; } #page-pricing .btn-secondary:active, #page-pricing .btn-secondary:active:focus, #page-pricing .btn-secondary:active:hover { background-color: #d8eafe; } #page-pricing .pinned table { padding-top: 140px; display: block; } #page-pricing .pinned thead { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; } #page-pricing .pinned thead tr { display: -ms-flexbox; display: flex; width: 100%; max-width: 1110px; margin: 0 auto; padding: 0 15px; position: relative; } #page-pricing .pinned thead td { -ms-flex: 1 0 auto; flex: 1 0 auto; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: end; justify-content: flex-end; } #page-pricing .pinned tbody { display: block; } #page-pricing .pinned tbody tr { display: -ms-flexbox; display: flex; width: 100%; } #page-pricing .pinned tbody th { -ms-flex: 1 0 auto; flex: 1 0 auto; } #page-pricing .pinned-at-point thead { position: absolute; } #page-pricing .pinned-at-point thead tr { padding: 0; } @media (max-width: 830px) { #page-pricing thead tr td:first-child, #page-pricing thead tr th:first-child, #page-pricing tbody tr td:first-child, #page-pricing tbody tr th:first-child { padding-left: 16px; } #page-pricing thead tr td:last-child, #page-pricing thead tr th:last-child, #page-pricing tbody tr td:last-child, #page-pricing tbody tr th:last-child { padding-right: 16px; } #page-pricing .btn.sm { font-size: 12px; } #page-pricing thead th, #page-pricing thead td { padding-top: 24px; padding-bottom: 18px; } #page-pricing tbody th[colspan="4"] span { padding-top: 8px; padding-bottom: 0; } #page-pricing .box, #page-pricing .table-wrap, #page-pricing table, #page-pricing .table { overflow: hidden; } #page-pricing thead { position: relative; display: block; /*seperates the header from the body allowing it to be positioned*/ width: 800px; overflow: visible; } #page-pricing thead td, #page-pricing thead th { height: 118px; padding-left: 16px; padding-right: 16px; } #page-pricing thead td { /*first cell in the header*/ position: relative; display: block; /*seperates the first cell in the header from the header*/ display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: end; justify-content: flex-end; } #page-pricing tbody { height: calc(100vh - 100px - 118px); position: relative; display: block; /*seperates the tbody from the header*/ width: calc(100vw); overflow: scroll; -webkit-overflow-scrolling: touch; } #page-pricing thead tr, #page-pricing tbody tr { display: -ms-flexbox; display: flex; } #page-pricing thead th, #page-pricing tbody td { -ms-flex: 0 0 204px; flex: 0 0 204px; } #page-pricing thead td, #page-pricing tbody th { -ms-flex: 0 0 120px; flex: 0 0 120px; border-right: 1px solid rgba(232, 235, 241, 0.6); } #page-pricing tbody th[colspan="4"] span, #page-pricing tbody th strong, #page-pricing tbody tr.combined th { font-size: 13px; line-height: 18px; } #page-pricing tbody tr.combined th, #page-pricing tbody tr.combined td { padding-top: 22px; padding-bottom: 14px; } #page-pricing tbody tr th { /*the first cell in each tr*/ position: relative; display: block; /*seperates the first column from the tbody*/ } #page-pricing tbody tr:last-child th { height: 110px; } } #page-pricing { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; padding-top: 0; } #page-pricing .navbar { position: relative; } #page-pricing main { padding: 30px 0; } #page-pricing .promo-simple { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; padding-top: 64px; padding-bottom: 64px; background-color: #f3f5f9; position: relative; text-align: center; } #page-pricing .promo-simple .container ionic-quick-signup { margin: auto; width: 480px; } #page-pricing .cta { background-color: #F6F8FB; box-shadow: inset 0px -2px 9px rgba(0, 0, 0, 0.02); } #page-pricing .cta .container { padding-bottom: 15px; } #page-pricing .cta hgroup { padding-top: 54px; max-width: 720px; } #page-pricing .cta h5 { line-height: 25px; font-size: 12px; font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; color: #92A1B3; text-transform: uppercase; letter-spacing: 0.14em; margin-bottom: 28px; } #page-pricing .cta h1 { font-size: 56px; font-weight: 700; color: #171a20; margin-bottom: 8px; letter-spacing: -0.02em; } #page-pricing .cta p { line-height: 32px; font-size: 22px; color: #5B708B; font-weight: 400; letter-spacing: -0.01em; margin-bottom: 64px; } #page-pricing .cta p b { font-weight: 700; color: #272a2f; } #page-pricing .rounded-tabs { -ms-flex-pack: center; justify-content: center; } #page-pricing .rounded-tabs .rounded-tabs__tab-inner { color: #92A1B3; transition: color 0.2s; } #page-pricing .rounded-tabs .rounded-tabs__tab:hover .rounded-tabs__tab-inner { color: #2E4C73; } #page-pricing .rounded-tabs .rounded-tabs__tab--active .rounded-tabs__tab-inner { color: #4D8DFF; } @media (max-width: 767px) { #page-pricing .rounded-tabs__tab--active { border-bottom-color: rgba(46, 76, 115, 0.6); } } #page-pricing .section-header { font-size: 26px; line-height: 38px; text-align: center; letter-spacing: -0.01em; font-weight: 400; color: #5B708B; text-align: center; margin: 74px 0 74px; } @media (max-width: 768px) { #page-pricing .section-header { margin: 60px auto 60px; max-width: 500px; } } #page-pricing .section-header a { color: #4D8DFF; transition: border 0.3s; border-bottom: 1px solid transparent; } #page-pricing .section-header a:hover { color: #4D8DFF; border-bottom: 1px solid rgba(77, 141, 255, 0.5); } #page-pricing .container { max-width: 1110px; width: 100% !important; } #page-pricing main { padding-bottom: 170px; } @media (max-width: 768px) { #page-pricing main { padding-bottom: 90px; } } #page-pricing main .toggle { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; padding-bottom: 40px; } #page-pricing main .toggle span { transition: color 0.3s, background 0.3s; font-size: 10px; text-transform: uppercase; color: #97a4ba; background-color: #fff; letter-spacing: 0.08em; font-weight: 700; border-radius: 30px; padding: 5px 13px; display: inline-block; text-align: center; } #page-pricing main .toggle span:hover { cursor: pointer; background-color: #ecf1fb; color: #7398d8; } #page-pricing main .toggle span + span { margin-left: 6px; } #page-pricing main .toggle span b { opacity: 0.5; } #page-pricing main .toggle .active, #page-pricing main .toggle .active:hover { cursor: default; background-color: #fff; box-shadow: 0px 2px 4px rgba(2, 8, 20, 0.1), 0px 0px 3px rgba(2, 8, 20, 0.08); color: #639CFF; } #page-pricing .logos { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: center; align-items: center; margin-top: 60px; } #page-pricing .logos [class^="logo"] { background-image: url("/img/pricing/enterprise-logos-v3.png"); background-size: 76px 198px; background-repeat: no-repeat; -ms-flex: 0 0 auto; flex: 0 0 auto; } #page-pricing .logos .logo--ge { background-position: -1px -1px; width: 34px; height: 34px; } #page-pricing .logos .logo--verizon { background-position: 0 -37px; width: 74px; height: 16px; } #page-pricing .logos .logo--comcast { background-position: 0 -55px; width: 76px; height: 20px; } #page-pricing .logos .logo--panera { background-position: 0 -77px; width: 76px; height: 26px; } #page-pricing .logos .logo--mastercard { background-position: 0 -105px; width: 52px; height: 30px; } #page-pricing .logos .logo--usaa { background-position: 0 -137px; width: 30px; height: 34px; } #page-pricing .logos .logo--amtrak { background-position: 0 -173px; width: 62px; height: 25px; } @media (max-width: 768px) { #page-pricing .logos { -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 40px; margin-bottom: -20px; } #page-pricing .logos [class^="logo"] { margin: 20px; } } #page-pricing .soon { margin-bottom: 6px; text-align: center; border-bottom: 1px solid #eee; padding-top: 0; } #page-pricing .soon .badge { position: relative; display: inline-block; bottom: -14px; } #page-pricing .pill { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-weight: 600; border: 1px solid #DEE3EA; border-radius: 24px; font-size: 8px !important; text-align: center; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 5px 3px; background: #FAFBFD; color: #B2BECD; } #page-pricing .pill--indigo { background: none; color: #7CABFF; border: 1px solid #B2CEFF; padding: 4px 7px 3px; } #page-pricing .pill--aqua { background: none; color: #ACD8FB; border: 1px solid #78B8F8; padding: 4px 7px 3px; } #page-pricing .badge { background: #4a8bfc; color: white; font-size: 80%; font-weight: 600; padding-top: 5px; vertical-align: 2px; } #page-pricing .box { margin-top: 30px; border-radius: 16px; background-color: white; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; overflow: hidden; } #page-pricing .table-wrap { position: relative; overflow-x: auto; } #page-pricing .table-wrap tippy .tip.right { top: -60px; } #page-pricing .features h5 { font-weight: bold; font-size: 14px; letter-spacing: 0.1em; text-transform: uppercase; color: #FFFFFF; } #page-pricing .features li { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-size: 16px; letter-spacing: -0.01em; color: #414D5C; padding: 10px 0; } #page-pricing .features li:before { content: ''; display: inline-block; background-image: url("/img/checkmark-light-gray.svg"); background-repeat: no-repeat; background-size: 100%; width: 24px; height: 24px; margin-right: 12px; margin-bottom: -6px; } @media (max-width: 992px) { #page-pricing .features li::before { position: relative; top: 2px; width: 18px; height: 18px; -ms-flex: 0 0 18px; flex: 0 0 18px; } } #page-pricing main hgroup:not(.feature-lists__heading) { text-align: center; } #page-pricing main hgroup:not(.feature-lists__heading) h4 { text-transform: uppercase; font-weight: 700; font-size: 16px; letter-spacing: .1em; margin-top: 32px; color: #999; } #page-pricing main hgroup:not(.feature-lists__heading) h3 { font-weight: 600; max-width: 975px; margin: 32px auto 16px; font-size: 24px; line-height: 1.8em; } #page-pricing .btn.sm { text-transform: uppercase; font-size: 13px; letter-spacing: 0.05em; font-weight: 700; } #page-pricing .comparison { padding-top: 115px; } @media (max-width: 768px) { #page-pricing .comparison { padding-top: 100px; } } @media (max-width: 830px) { #page-pricing .comparison { padding-left: 0; padding-right: 0; } #page-pricing .comparison h3 { padding: 0 16px; } } #page-pricing .faq .container > h3, #page-pricing .comparison > h3 { font-weight: 600; letter-spacing: -0.03em; font-size: 28px; } #page-pricing .also .container > h3 { font-weight: 600; letter-spacing: -0.03em; font-size: 36px; } #page-pricing .offwhite-bg { background: linear-gradient(180deg, #F6F8FB 0%, #FFFFFF 100%); } #page-pricing .also h4, #page-pricing .faq h4, #page-pricing .benefits h4 { font-weight: 600; line-height: 28px; font-size: 20px; letter-spacing: -0.01em; margin-bottom: 8px; color: #000000; } #page-pricing .also p, #page-pricing .faq p, #page-pricing .benefits p { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; line-height: 26px; font-size: 16px; letter-spacing: -0.01em; color: #73849A; font-weight: 400; } #page-pricing .also p strong, #page-pricing .faq p strong, #page-pricing .benefits p strong { color: #24282e; } #page-pricing .also p code, #page-pricing .faq p code, #page-pricing .benefits p code { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; background: none; color: #8582FB; padding: 0; font-size: 14px; border-radius: 0; font-weight: 700; } #page-pricing .also { border-left: 0; border-right: 0; padding: 0 0 200px; } #page-pricing .also ul { padding: 0; list-style-type: none; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 48px -48px -48px; } #page-pricing .also li { -ms-flex: 0 0 33%; flex: 0 0 33%; padding: 0 48px 48px; } #page-pricing .also .pill { position: relative; top: -3px; margin-left: 5px; } @media (max-width: 992px) { #page-pricing .also { padding-bottom: 100px; } #page-pricing .also li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 768px) { #page-pricing .also ul { margin: 24px -24px -24px; } #page-pricing .also li { padding: 0 24px 24px; } } @media (max-width: 480px) { #page-pricing .also li { -ms-flex: 0 0 100%; flex: 0 0 100%; } } #page-pricing .faq { padding-top: 200px; padding-bottom: 200px; } #page-pricing .faq .items { display: -ms-flexbox; display: flex; } #page-pricing .faq ul { -ms-flex: 1; flex: 1; margin: 0 auto; padding-top: 49px; padding-left: 0; } #page-pricing .faq ul + ul { padding-left: 100px; } #page-pricing .faq li { display: block; list-style: none; } #page-pricing .faq li + li { padding-top: 40px; } #page-pricing .faq h4 { line-height: 28px; } #page-pricing .faq p { line-height: 28px; } @media (max-width: 992px) { #page-pricing .faq { padding-top: 100px; padding-bottom: 100px; } } @media (max-width: 768px) { #page-pricing .faq li + li { padding-top: 40px; } } @media (max-width: 768px) { #page-pricing .faq .items { -ms-flex-direction: column; flex-direction: column; } #page-pricing .faq ul + ul { padding-left: 0; } #page-pricing .faq ul, #page-pricing .faq li + li { padding-top: 24px; } } #page-pricing .benefits { margin: 100px 0 160px; } #page-pricing .benefits ul { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; } #page-pricing .benefits li { -ms-flex: 1; flex: 1; } #page-pricing .benefits li + li { margin-left: 76px; } #page-pricing .benefits svg { margin-bottom: 8px; } @media (max-width: 768px) { #page-pricing .benefits { margin: 80px 0 80px; } #page-pricing .benefits ul { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } #page-pricing .benefits li { text-align: center; max-width: 540px; } #page-pricing .benefits li + li { margin-left: 0; margin-top: 36px; } } #page-pricing .form-wrapper.offwhite-bg { padding-top: 160px; } #page-pricing .form-wrapper .container { max-width: 756px; } #page-pricing .form-wrapper hgroup { margin-bottom: 20px; } #page-pricing .form-wrapper hgroup h2 { font-weight: 600; line-height: 1.2; font-size: 28px; letter-spacing: -0.01em; color: #000000; margin-bottom: 0; } #page-pricing .form-wrapper hgroup p { margin-top: 6px; line-height: 28px; font-size: 22px; text-align: center; letter-spacing: -0.01em; font-weight: 400; color: #5B708B; } @media (max-width: 768px) { #page-pricing .form-wrapper.offwhite-bg { padding-top: 80px; } } #page-pricing .modal hgroup { padding-top: 18px; padding-bottom: 32px; } #page-pricing .modal h3 { font-size: 29px; font-weight: 600; color: #171a20; margin: 18px 0 8px; letter-spacing: -0.03em; } #page-pricing .modal p { font-size: 18px; line-height: 28px; color: #4c576c; max-width: 400px; margin: 0 auto; } #page-pricing .modal form { max-width: 100%; padding: 0 15px 15px; } #page-pricing .modal .hs_submit { text-align: center; font-weight: 600; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFrQjtNQUNsQixnQkFBZ0I7TUFDaEIsbUJBQW1CO01BQ25CLHdCQUF3QjtNQUN4QixpQkFBaUI7TUFDakIsZUFBZSxFQUFFO0VBQ3JCO0lBQ0U7TUFDRSxrQkFBa0IsRUFBRSxFQUFFO0VBQzFCO0lBQ0Usa0JBQWtCO0lBQ2xCLHFCQUFxQixFQUFFO0VBQ3pCO0lBQ0UsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLHdCQUF3QixFQUFFO0VBQzVCO0lBQ0UsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGVBQWUsRUFBRTtFQUNuQjtJQUNFLGdCQUFnQjtJQUNoQixxQkFBcUIsRUFBRTtFQUN6QjtJQUNFLG1CQUFtQjtJQUNuQixpQkFBaUIsRUFBRSIsImZpbGUiOiJwYWdlcy9wcmljaW5nL2luZGV4LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mZWF0dXJlLWxpc3RzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZmVhdHVyZS1saXN0czo6YmVmb3JlLCAuZmVhdHVyZS1saXN0czo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZlYXR1cmUtbGlzdHNfX3Byb2R1Y3Qge1xuICAgIGZsZXg6IDAgMSAzODBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmZlYXR1cmUtbGlzdHNfX2hlYWRpbmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gICAgLmZlYXR1cmUtbGlzdHNfX2hlYWRpbmcgaDIge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGOyB9XG4gICAgLmZlYXR1cmUtbGlzdHNfX2hlYWRpbmcgcCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgY29sb3I6ICM2MTZFN0U7IH1cbiAgICAgIC5mZWF0dXJlLWxpc3RzX19oZWFkaW5nIHAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjZDBkNWRiOyB9XG4gIC5mZWF0dXJlLWxpc3RzX19mZWF0dXJlcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDAgMjRweDsgfVxuICAgIC5mZWF0dXJlLWxpc3RzX19mZWF0dXJlcyBsaSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICM0MTRENUM7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAxOHB4IDAgMThweCAyMnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFOUVERjM7IH1cbiAgICAgIC5mZWF0dXJlLWxpc3RzX19mZWF0dXJlcyBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgLmZlYXR1cmUtbGlzdHNfX2ZlYXR1cmVzIGxpOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCxcXGEgICAgICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAxNCAxMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cXGEgICAgICAgICAgICAgPHBhdGggZD1cIk00LjQ1ODg5IDguNjYwMzVMMS4xNjY2NyA1LjI1MzY3TDAgNi40MDI5TDQuNDU4ODkgMTFMMTQgMS4xNDkyTDEyLjgzMzMgMEw0LjQ1ODg5IDguNjYwMzVaXCIvPlxcYSAgICAgICAgICAgPC9zdmc+Jyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDExcHgpO1xuICAgICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgZmlsbDogIzczODQ5QTsgfVxuICAgICAgLmZlYXR1cmUtbGlzdHNfX2ZlYXR1cmVzIGxpIGEge1xuICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuZmVhdHVyZS1saXN0c19fY3RhIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG5cbiNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMgLnBsYW4tY2FyZDpub3QoLnBsYW4tY2FyZC0tZW1waGFzaXplKSB7XG4gICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMgLnBsYW4tY2FyZDpub3QoLnBsYW4tY2FyZC0tZW1waGFzaXplKSB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMgLnBsYW4tY2FyZCArIC5wbGFuLWNhcmQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzIC5wbGFuLWNhcmQgKyAucGxhbi1jYXJkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcyAucGxhbi1jYXJkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7IH1cbiAgICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMgLnBsYW4tY2FyZCArIC5wbGFuLWNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG5cbiNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCB7XG4gIGZsZXg6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDhweCByZ2JhKDIsIDgsIDIwLCAwLjA4KSwgMHB4IDhweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCArIC5wbGFuLWNhcmQge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2VlZTsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLnBsYW4tY2FyZC1oZWFkZXIsXG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IDMycHggMjhweDsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLnBsYW4tY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNnB4OyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWhlYWRlciB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLnBsYW4tY2FyZC1oZWFkZXIgaDMge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogIzAyMDgxNDsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWhlYWRlciAucHJpY2Uge1xuICAgICAgY29sb3I6ICMyRTRDNzM7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWhlYWRlciAucHJpY2Ugc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgIGNvbG9yOiAjMDIwODE0O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTRweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWhlYWRlciAucHJpY2Ugc3Ryb25nLFxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWhlYWRlciAucHJpY2Ugc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLnBsYW4tY2FyZC1oZWFkZXIgLnByaWNlIGg2IHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgICAgZm9udC1zaXplOiAxMXB4OyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtaGVhZGVyIC50eXBlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgICAgY29sb3I6ICM3Mzg0OUE7IH1cbiAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtaGVhZGVyLS1kb3VibGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtaGVhZGVyLS1kb3VibGUgaDMsXG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtaGVhZGVyLS1kb3VibGUgaDQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWhlYWRlci0tZG91YmxlIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLnBsYW4tY2FyZC1oZWFkZXItLWRvdWJsZSBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICM5MkExQjM7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLnBsYW4tY2FyZC1oZWFkZXItLWRvdWJsZSAucmlnaHQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWhlYWRlci0tZG91YmxlIC5wcmljZSB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzVCNzA4QjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtaGVhZGVyLS1kb3VibGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWhlYWRlci0tZG91YmxlIC5yaWdodCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cbiAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtYm9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNGM0Y1Rjk7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLnBsYW4tY2FyZC1ib2R5IHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLnBsYW4tY2FyZC1ib2R5IGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLmFkZG9uIHtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQsIDAuMnMgYm9yZGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNERUUzRUE7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLmFkZG9uIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6ICM3Mzg0OUE7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1mYW1pbHQ6IFwiSW50ZXJcIiwgXCJJbnRlciBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gICAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLmFkZG9uIGxpICsgbGkge1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAuYWRkb24gbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9jaGVja21hcmsuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgZmxleDogMCAwIDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLmFkZG9uLnNlbGVjdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGMEY2RkY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0RERkZGOyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAuYWRkb24taGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5jaGVja2JveC1ncm91cCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzI3MzIzRjtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5jaGVja2JveC1ncm91cCBpbnB1dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLnByaWNlLS1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGNvbG9yOiAjOTJBMUIzOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5wcmljZS0tc21hbGwgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICAgIGNvbG9yOiAjMkYzQTQ4OyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWNsYXVzZSB7XG4gICAgcGFkZGluZzogMCAyOHB4IDI4cHg7XG4gICAgY29sb3I6ICM3Mzg0OWE7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWNsYXVzZSBoNSB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWNsYXVzZSBwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWNsYXVzZS5oaWdobGlnaHQge1xuICAgICAgbWFyZ2luLXRvcDogMHB4OyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtY2xhdXNlLmhpZ2hsaWdodCAucGxhbi1jYXJkLWNsYXVzZV9faW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRjhFMjtcbiAgICAgIGNvbG9yOiAjOTc3MzAwO1xuICAgICAgcGFkZGluZzogMTdweCAxOHB4IDE0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7IH1cbiAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1kYXJrIC5wbGFuLWNhcmQtY2xhdXNlIHtcbiAgICBjb2xvcjogI2NlZDZlMDsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLnBsYW4tY2FyZC1idG4ge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMTJweCAxMnB4O1xuICAgIHBhZGRpbmc6IDI0cHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGNkZDO1xuICAgIGNvbG9yOiAjNEQ4REZGOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtYnRuOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlN2VkZjk7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLnBsYW4tY2FyZC1idG4tLXByaW1hcnkge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzg4MEZGOyB9XG4gICAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLnBsYW4tY2FyZC1idG4tLXByaW1hcnk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNTI5MGZmOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtYnRuLS1kYXJrIHtcbiAgICAgIGNvbG9yOiAjQ0RERkZGO1xuICAgICAgYmFja2dyb3VuZDogIzNENTI3NTsgfVxuICAgICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtYnRuLS1kYXJrOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzQ2NWU4NjsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQgLmFkZG9uLWN0YS10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkIC5hZGRvbi1jdGEtdG9nZ2xlLS1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZCAucGxhbi1jYXJkLWhpZ2hsaWdodCB7XG4gICAgYmFja2dyb3VuZDogI0ZGRTVEQztcbiAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDBweCAwcHg7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICNGRjk5ODI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWRhcmsge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMyQjNDNUEgMCUsICMxQjJBNDUgMTAwJSk7XG4gICAgY29sb3I6ICNmNmY4ZmI7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWRhcmsgLnBsYW4tY2FyZC1oZWFkZXIgaDMge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWRhcmsgLnBsYW4tY2FyZC1oZWFkZXIgLnByaWNlIHN0cm9uZyxcbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWRhcmsgLnBsYW4tY2FyZC1ib2R5IGg0IHtcbiAgICAgIGNvbG9yOiAjZjZmOGZiOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1kYXJrIC5wbGFuLWNhcmQtaGVhZGVyIC5wcmljZSB7XG4gICAgICBjb2xvcjogI2JhYzlkNjsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZC0tZGFyayAucGxhbi1jYXJkLWJvZHkgLmZlYXR1cmVzIGxpIHtcbiAgICAgIGNvbG9yOiAjRTlFREYzOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1kYXJrIC5wbGFuLWNhcmQtaGVhZGVyIC50eXBlIHtcbiAgICAgIGNvbG9yOiAjQ0VENkUwOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1kYXJrIC5wbGFuLWNhcmQtYm9keSAuZmVhdHVyZXMgbGk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2NoZWNrbWFyay1kYXJrLWdyYXkuc3ZnXCIpOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1kYXJrIC5wbGFuLWNhcmQtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMzM0NjY2OyB9XG5cbiNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtLXN0dWRpbyB7XG4gIG1heC13aWR0aDogOTc2cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtLXN0dWRpbyAucGxhbi1jYXJkIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjMDIwODE0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy0tc3R1ZGlvIC5wbGFuLWNhcmQgaDQge1xuICAgIGNvbG9yOiAjMDIwODE0OyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtLXN0dWRpbyAucGxhbi1jYXJkIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgY29sb3I6ICM3Mzg0OUE7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLS1zdHVkaW8gLnBsYW4tY2FyZCAucHJpY2Uge1xuICAgIGNvbG9yOiAjRTlFREYzOyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtLXN0dWRpbyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNDJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gICAgcGFkZGluZy1yaWdodDogNDJweDsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLS1zdHVkaW8gLnBsYW4tY2FyZCAucGxhbi1jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IDQycHggNDJweCAwOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy0tc3R1ZGlvIC5wbGFuLWNhcmQgLnBsYW4tY2FyZC1ib2R5IGxpIGEge1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBvcGFjaXR5O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLS1zdHVkaW8gLnBsYW4tY2FyZCAucGxhbi1jYXJkLWJvZHkgbGkgYTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC44OyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtLXN0dWRpbyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtY3RhIHtcbiAgICBwYWRkaW5nOiA0MnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLS1zdHVkaW8gLnBsYW4tY2FyZCAucGxhbi1jYXJkLWN0YSAuYnRuIHtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDIycHggMzRweCAyMHB4OyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtLXN0dWRpbyAucGxhbi1jYXJkLS1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMkIzQzVBIDAlLCAjMUIyQTQ1IDEwMCUpOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy0tc3R1ZGlvIC5wbGFuLWNhcmQtLWRhcmsgaDQge1xuICAgICAgY29sb3I6ICNDM0QwRTA7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy0tc3R1ZGlvIC5wbGFuLWNhcmQtLWRhcmsgLnBpbGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTJweDsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLS1zdHVkaW8gLnBsYW4tY2FyZCB7XG4gICAgbWF4LXdpZHRoOiA4NDhweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtLXN0dWRpbyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtaGVhZGVyLFxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtLXN0dWRpbyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtYm9keSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy0tc3R1ZGlvIC5wbGFuLWNhcmQgLnBsYW4tY2FyZC1ib2R5IHVsIHtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLS1zdHVkaW8gLnBsYW4tY2FyZCAucGxhbi1jYXJkLWJvZHkgdWwgKyB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzRweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtLXN0dWRpbyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtY3RhIC5idG4ge1xuICAgICAgYmFja2dyb3VuZDogIzI5M0Q1RTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTUyLCAxNzIsIDIwNywgMC4zKTtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoMiwgOCwgMjAsIDAuMSksIDBweCAxcHggMnB4IHJnYmEoMiwgOCwgMjAsIDAuMDgpO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtLXN0dWRpbyAucGxhbi1jYXJkIC5wbGFuLWNhcmQtY3RhIC5idG46aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMmU0NDY5OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtLXN0dWRpbyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy0tc3R1ZGlvIC5wbGFuLWNhcmQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA2NjBweCAhaW1wb3J0YW50OyB9XG4gICAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLS1zdHVkaW8gLnBsYW4tY2FyZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMnB4O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTJweDsgfVxuICAgICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy0tc3R1ZGlvIC5wbGFuLWNhcmQtY3RhIC5idG4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLS1zdHVkaW8gLnBsYW4tY2FyZCB7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLS1zdHVkaW8gLnBsYW4tY2FyZDpsYXN0LWNoaWxkIC5wbGFuLWNhcmQtYm9keSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLS1zdHVkaW8gLnBsYW4tY2FyZDpsYXN0LWNoaWxkIC5wbGFuLWNhcmQtYm9keSB1bCArIHVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLS1zdHVkaW8gLnBsYW4tY2FyZCAucGxhbi1jYXJkLWhlYWRlcixcbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLS1zdHVkaW8gLnBsYW4tY2FyZCAucGxhbi1jYXJkLWN0YSB7XG4gICAgICBwYWRkaW5nOiAzMnB4IDI4cHg7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLS1zdHVkaW8gLnBsYW4tY2FyZCAucGxhbi1jYXJkLWJvZHkge1xuICAgICAgcGFkZGluZzogMzJweCAyOHB4IDA7IH0gfVxuXG4jcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWVudGVycHJpc2UsXG4jcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWNvbW11bml0eSxcbiNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtYWRkb25zIC5wbGFuLWNhcmQgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1lbnRlcnByaXNlOjpiZWZvcmUsXG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZC0tY29tbXVuaXR5OjpiZWZvcmUsXG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtYWRkb25zIC5wbGFuLWNhcmQgPiBkaXY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1jb21tdW5pdHkgLnBsYW4tY2FyZC1jdGEge1xuICBtYXJnaW4tdG9wOiAyMXB4OyB9XG5cbiNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZC0tY29tbXVuaXR5OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEI4MEY3OyB9XG5cbiNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZC0tZW50ZXJwcmlzZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOTk4MjsgfVxuXG4jcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWVudGVycHJpc2UgLnBsYW4tY2FyZC1oZWFkZXIsXG4jcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWVudGVycHJpc2UgLnBsYW4tY2FyZC1ib2R5LCAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWNvbW11bml0eSAucGxhbi1jYXJkLWhlYWRlcixcbiNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZC0tY29tbXVuaXR5IC5wbGFuLWNhcmQtYm9keSB7XG4gIHBhZGRpbmc6IDM2cHggNTRweDsgfVxuXG4jcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWVudGVycHJpc2UgLnBsYW4tY2FyZC1ib2R5LCAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWNvbW11bml0eSAucGxhbi1jYXJkLWJvZHkge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbiNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZC0tZW50ZXJwcmlzZSAucGxhbi1jYXJkLWJvZHkgdWwsICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZC0tY29tbXVuaXR5IC5wbGFuLWNhcmQtYm9keSB1bCB7XG4gIGZsZXg6IDE7IH1cbiAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1lbnRlcnByaXNlIC5wbGFuLWNhcmQtYm9keSB1bCArIHVsLCAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWNvbW11bml0eSAucGxhbi1jYXJkLWJvZHkgdWwgKyB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDc2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZC0tZW50ZXJwcmlzZSAucGxhbi1jYXJkLWJvZHkgdWwgKyB1bDo6YmVmb3JlLCAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWNvbW11bml0eSAucGxhbi1jYXJkLWJvZHkgdWwgKyB1bDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MHB4O1xuICAgIGxlZnQ6IC0zOXB4O1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiAzMzZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKDIzMywgMjM3LCAyNDMsIDApIDAlLCByZ2JhKDIzMywgMjM3LCAyNDMsIDApIDAlLCByZ2JhKDIzMywgMjM3LCAyNDMsIDAuOCkgNTEuOTMlLCByZ2JhKDIzMywgMjM3LCAyNDMsIDApIDEwMCUpO1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWVudGVycHJpc2UgLnBsYW4tY2FyZC1ib2R5IHVsIGg1LCAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWNvbW11bml0eSAucGxhbi1jYXJkLWJvZHkgdWwgaDUge1xuICAgIGNvbG9yOiAjMDIwODE0OyB9XG5cbiNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZC0tZW50ZXJwcmlzZSAucGxhbi1jYXJkLWN0YSwgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1jb21tdW5pdHkgLnBsYW4tY2FyZC1jdGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiA0NnB4O1xuICBwYWRkaW5nLXRvcDogMTJweDsgfVxuXG4jcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWVudGVycHJpc2UgLmJ0biwgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1jb21tdW5pdHkgLmJ0biB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMjJweCAzMnB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1lbnRlcnByaXNlLCAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWNvbW11bml0eSB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWVudGVycHJpc2UgLnBsYW4tY2FyZC1ib2R5IHVsICsgdWwsICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZC0tY29tbXVuaXR5IC5wbGFuLWNhcmQtYm9keSB1bCArIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMjRweDsgfVxuICAgICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1lbnRlcnByaXNlIC5wbGFuLWNhcmQtYm9keSB1bCArIHVsOjpiZWZvcmUsICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZC0tY29tbXVuaXR5IC5wbGFuLWNhcmQtYm9keSB1bCArIHVsOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1lbnRlcnByaXNlIC5wbGFuLWNhcmQtaGVhZGVyLFxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZC0tZW50ZXJwcmlzZSAucGxhbi1jYXJkLWN0YSwgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1jb21tdW5pdHkgLnBsYW4tY2FyZC1oZWFkZXIsXG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1jb21tdW5pdHkgLnBsYW4tY2FyZC1jdGEge1xuICAgICAgcGFkZGluZzogMzJweCAyOHB4OyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1lbnRlcnByaXNlIC5wbGFuLWNhcmQtYm9keSwgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkLS1jb21tdW5pdHkgLnBsYW4tY2FyZC1ib2R5IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nOiAzMnB4IDI4cHggMDsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZC0tZW50ZXJwcmlzZSAuYnRuLCAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmQtLWNvbW11bml0eSAuYnRuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4jcGFnZS1wcmljaW5nIC5hZGRvbnMtaGVhZGVyIHtcbiAgbWFyZ2luOiAxNjBweCAwIDU0cHg7IH1cbiAgI3BhZ2UtcHJpY2luZyAuYWRkb25zLWhlYWRlciBoMiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtcHJpY2luZyAuYWRkb25zLWhlYWRlciB7XG4gICAgICBtYXJnaW46IDgwcHggMCAzNnB4OyB9IH1cblxuI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy1hZGRvbnMge1xuICBtYXJnaW4tYm90dG9tOiAxODBweDtcbiAgZGlzcGxheTogZmxleDsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLWFkZG9ucyAucGxhbi1jYXJkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgZmxleDogMTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy1hZGRvbnMgLnBsYW4tY2FyZC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLWFkZG9ucyAucGxhbi1jYXJkLWhlYWRlciBkaXYge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy1hZGRvbnMgLnBsYW4tY2FyZC1oZWFkZXIgZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIG1heC13aWR0aDogMzE2cHg7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLWFkZG9ucyAucGxhbi1jYXJkLWhlYWRlciBkaXYgKyBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDcycHg7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtYWRkb25zIC5wbGFuLWNhcmQtaGVhZGVyIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLWFkZG9ucyAucGxhbi1jYXJkLWhlYWRlciBoNSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICM5MkExQjM7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLWFkZG9ucyAucGxhbi1jYXJkLWhlYWRlciBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBjb2xvcjogIzQxNEQ1QzsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtYWRkb25zIC5wbGFuLWNhcmQtaGVhZGVyIC5wcmljZSB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICM5MkExQjM7IH1cbiAgICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtYWRkb25zIC5wbGFuLWNhcmQtaGVhZGVyIC5wcmljZSBiIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy1hZGRvbnMgLnBsYW4tY2FyZC1ib2R5IGg2IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBjb2xvcjogIzAyMDgxNDsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLWFkZG9ucyAucGxhbi1jYXJkLWN0YSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEycHggMzJweCA0NnB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtYWRkb25zIC5idG4ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDE2cHggMjJweCAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDsgfVxuICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLWFkZG9ucyAucGxhbi1jYXJkICsgLnBsYW4tY2FyZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7IH1cbiAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy1hZGRvbnMgLnBsYW4tY2FyZDpmaXJzdC1jaGlsZCA+IGRpdjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0U4N0U5OyB9XG4gICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtYWRkb25zIC5wbGFuLWNhcmQ6bGFzdC1jaGlsZCA+IGRpdjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODhEOTlFOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtYWRkb25zIC5wbGFuLWNhcmQtaGVhZGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5wbGFuLWNhcmRzLWFkZG9ucyAucGxhbi1jYXJkLWhlYWRlciA+IGRpdiArIGRpdiB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtYWRkb25zIC5wbGFuLWNhcmQgKyAucGxhbi1jYXJkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy1hZGRvbnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtYWRkb25zIC5wbGFuLWNhcmQge1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAgICNwYWdlLXByaWNpbmcgLnBsYW4tY2FyZHMtYWRkb25zIC5wbGFuLWNhcmQgKyAucGxhbi1jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy1hZGRvbnMgLnBsYW4tY2FyZC1jdGEge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDMycHggMzJweDsgfVxuICAgICAgI3BhZ2UtcHJpY2luZyAucGxhbi1jYXJkcy1hZGRvbnMgLnBsYW4tY2FyZCAuYnRuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuI3BhZ2UtcHJpY2luZyB0YWJsZSxcbiNwYWdlLXByaWNpbmcgLnRhYmxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWluLXdpZHRoOiA4MDBweDsgfVxuXG4jcGFnZS1wcmljaW5nIHRoZWFkIHRyIHRkOmZpcnN0LWNoaWxkLFxuI3BhZ2UtcHJpY2luZyB0aGVhZCB0ciB0aDpmaXJzdC1jaGlsZCxcbiNwYWdlLXByaWNpbmcgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQsXG4jcGFnZS1wcmljaW5nIHRib2R5IHRyIHRoOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAzNnB4OyB9XG5cbiNwYWdlLXByaWNpbmcgdGhlYWQgdHIgdGQ6bGFzdC1jaGlsZCxcbiNwYWdlLXByaWNpbmcgdGhlYWQgdHIgdGg6bGFzdC1jaGlsZCxcbiNwYWdlLXByaWNpbmcgdGJvZHkgdHIgdGQ6bGFzdC1jaGlsZCxcbiNwYWdlLXByaWNpbmcgdGJvZHkgdHIgdGg6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cblxuI3BhZ2UtcHJpY2luZyB0aGVhZCB0aCxcbiNwYWdlLXByaWNpbmcgdGJvZHkgdGQge1xuICB3aWR0aDogMjAlOyB9XG5cbiNwYWdlLXByaWNpbmcgdGhlYWQgdGgsICNwYWdlLXByaWNpbmcgdGhlYWQgdGQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMzIsIDIzNSwgMjQxLCAwLjYpO1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuI3BhZ2UtcHJpY2luZyB0aGVhZCB0aCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjcGFnZS1wcmljaW5nIHRoZWFkIHRoIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7IH1cblxuI3BhZ2UtcHJpY2luZyB0aGVhZCAuZXllYnJvdyB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgY29sb3I6ICM5NGEwYjc7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiNwYWdlLXByaWNpbmcgdGhlYWQgaDIge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIGNvbG9yOiAjMDIwODE0OyB9XG5cbiNwYWdlLXByaWNpbmcgdGhlYWQgLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6ICM1QjcwOEI7IH1cbiAgI3BhZ2UtcHJpY2luZyB0aGVhZCAucHJpY2Ugc3Ryb25nIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4jcGFnZS1wcmljaW5nIHRoZWFkIC5idG4ge1xuICBtYXJnaW4tdG9wOiA4cHg7IH1cblxuI3BhZ2UtcHJpY2luZyB0aGVhZCAuYnRuLS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzM4ODBGRjtcbiAgY29sb3I6ICNmZmY7IH1cbiAgI3BhZ2UtcHJpY2luZyB0aGVhZCAuYnRuLS1wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDc4YWZmOyB9XG5cbiNwYWdlLXByaWNpbmcgdGhlYWQgLmJ0bi0tZGFyayB7XG4gIGJhY2tncm91bmQ6ICMyMTMwNDk7XG4gIGNvbG9yOiAjQ0RERkZGO1xuICBib3JkZXI6IDA7IH1cbiAgI3BhZ2UtcHJpY2luZyB0aGVhZCAuYnRuLS1kYXJrOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzE0NzZjOyB9XG5cbiNwYWdlLXByaWNpbmcgdGhlYWQgLnBsYW4td3JhcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyOiAwOyB9XG5cbiNwYWdlLXByaWNpbmcgdGJvZHkgdGgsXG4jcGFnZS1wcmljaW5nIHRib2R5IHRkIHtcbiAgcGFkZGluZy10b3A6IDE0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNHB4O1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cblxuI3BhZ2UtcHJpY2luZyB0Ym9keSAucGlsbCB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgI3BhZ2UtcHJpY2luZyB0Ym9keSAucGlsbC0tYmx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuXG4jcGFnZS1wcmljaW5nIHRib2R5IHRyLmNvbWJpbmVkIHRoLCAjcGFnZS1wcmljaW5nIHRib2R5IHRyLmNvbWJpbmVkIHRkIHtcbiAgcGFkZGluZy10b3A6IDQ1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMnB4OyB9XG5cbiNwYWdlLXByaWNpbmcgdGJvZHkgdHIuY29tYmluZWQgdGgge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzMzMzsgfVxuXG4jcGFnZS1wcmljaW5nIHRib2R5IHRoIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAwOyB9XG4gICNwYWdlLXByaWNpbmcgdGJvZHkgdGhbY29sc3Bhbj1cIjRcIl0gc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDIwODE0O1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxuICAjcGFnZS1wcmljaW5nIHRib2R5IHRoOm5vdChbY29sc3Bhbj1cIjRcIl0pIHtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICM0RTVCNkE7IH1cbiAgI3BhZ2UtcHJpY2luZyB0Ym9keSB0aCBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjNTY1YzY3OyB9XG4gICAgI3BhZ2UtcHJpY2luZyB0Ym9keSB0aCBzdHJvbmcgYiB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICMxNzFhMjA7IH1cbiAgICAjcGFnZS1wcmljaW5nIHRib2R5IHRoIHN0cm9uZyBiIGEge1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuM3M7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogIzE3MWEyMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIzLCAyNiwgMzIsIDAuMik7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICNwYWdlLXByaWNpbmcgdGJvZHkgdGggc3Ryb25nIGIgYTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMywgMjYsIDMyLCAwLjcpOyB9XG4gICNwYWdlLXByaWNpbmcgdGJvZHkgdGggYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAjcGFnZS1wcmljaW5nIHRib2R5IHRoIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjOTk5OyB9XG5cbiNwYWdlLXByaWNpbmcgdGJvZHkgdGQsXG4jcGFnZS1wcmljaW5nIHRib2R5IHRoIHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4jcGFnZS1wcmljaW5nIHRib2R5IC5zdHJpcGUgdGQsXG4jcGFnZS1wcmljaW5nIHRib2R5IC5zdHJpcGUgdGgge1xuICBiYWNrZ3JvdW5kOiAjZjhmOWZiOyB9XG5cbiNwYWdlLXByaWNpbmcgdGJvZHkgLnNtYWxsIHRkLFxuI3BhZ2UtcHJpY2luZyB0Ym9keSAuc21hbGwgdGgge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U5RURGMztcbiAgcGFkZGluZy10b3A6IDZweDtcbiAgcGFkZGluZy1ib3R0b206IDZweDsgfVxuXG4jcGFnZS1wcmljaW5nIHRib2R5IC5zbWFsbCB0aDpmaXJzdC1jaGlsZCB7XG4gIGNvbG9yOiAjNzM4NDlBO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI3BhZ2UtcHJpY2luZyB0Ym9keSAuc21hbGwgLmNoZWNrOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4jcGFnZS1wcmljaW5nIHRib2R5IHRkIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNDAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM0RTVCNkE7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4jcGFnZS1wcmljaW5nIHRib2R5IC5kYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDIwMTQnO1xuICBjb2xvcjogI2MzY2NkYjsgfVxuXG4jcGFnZS1wcmljaW5nIHRib2R5IC5jaGVjazpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgY29udGVudDogXCJcXGYyYmNcIjtcbiAgY29sb3I6ICMwMGQyODc7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuXG4jcGFnZS1wcmljaW5nIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICBwYWRkaW5nLXRvcDogMzZweDtcbiAgcGFkZGluZy1ib3R0b206IDM2cHg7IH1cblxuI3BhZ2UtcHJpY2luZyB0Ym9keSAuYnRuIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI3BhZ2UtcHJpY2luZyB0Ym9keSAuYnRuLnNtIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07IH1cblxuI3BhZ2UtcHJpY2luZyB0Ym9keSAuYnRuLmRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEzMDQ5O1xuICBjb2xvcjogI0NEREZGRjsgfVxuICAjcGFnZS1wcmljaW5nIHRib2R5IC5idG4uZGFyazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI5M2M1YjsgfVxuXG4jcGFnZS1wcmljaW5nIC5idG4tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxZWZmZjtcbiAgY29sb3I6ICMzODgwZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgI3BhZ2UtcHJpY2luZyAuYnRuLXNlY29uZGFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZjNmZDsgfVxuICAjcGFnZS1wcmljaW5nIC5idG4tc2Vjb25kYXJ5OmFjdGl2ZSwgI3BhZ2UtcHJpY2luZyAuYnRuLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsICNwYWdlLXByaWNpbmcgLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhlYWZlOyB9XG5cbiNwYWdlLXByaWNpbmcgLnBpbm5lZCB0YWJsZSB7XG4gIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI3BhZ2UtcHJpY2luZyAucGlubmVkIHRoZWFkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDAwOyB9XG4gICNwYWdlLXByaWNpbmcgLnBpbm5lZCB0aGVhZCB0ciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDExMTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNwYWdlLXByaWNpbmcgLnBpbm5lZCB0aGVhZCB0ZCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuI3BhZ2UtcHJpY2luZyAucGlubmVkIHRib2R5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgI3BhZ2UtcHJpY2luZyAucGlubmVkIHRib2R5IHRyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICNwYWdlLXByaWNpbmcgLnBpbm5lZCB0Ym9keSB0aCB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cblxuI3BhZ2UtcHJpY2luZyAucGlubmVkLWF0LXBvaW50IHRoZWFkIHtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICNwYWdlLXByaWNpbmcgLnBpbm5lZC1hdC1wb2ludCB0aGVhZCB0ciB7XG4gICAgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogODMwcHgpIHtcbiAgI3BhZ2UtcHJpY2luZyB0aGVhZCB0ciB0ZDpmaXJzdC1jaGlsZCxcbiAgI3BhZ2UtcHJpY2luZyB0aGVhZCB0ciB0aDpmaXJzdC1jaGlsZCxcbiAgI3BhZ2UtcHJpY2luZyB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCxcbiAgI3BhZ2UtcHJpY2luZyB0Ym9keSB0ciB0aDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9XG4gICNwYWdlLXByaWNpbmcgdGhlYWQgdHIgdGQ6bGFzdC1jaGlsZCxcbiAgI3BhZ2UtcHJpY2luZyB0aGVhZCB0ciB0aDpsYXN0LWNoaWxkLFxuICAjcGFnZS1wcmljaW5nIHRib2R5IHRyIHRkOmxhc3QtY2hpbGQsXG4gICNwYWdlLXByaWNpbmcgdGJvZHkgdHIgdGg6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuICAjcGFnZS1wcmljaW5nIC5idG4uc20ge1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAjcGFnZS1wcmljaW5nIHRoZWFkIHRoLFxuICAjcGFnZS1wcmljaW5nIHRoZWFkIHRkIHtcbiAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMThweDsgfVxuICAjcGFnZS1wcmljaW5nIHRib2R5IHRoW2NvbHNwYW49XCI0XCJdIHNwYW4ge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgI3BhZ2UtcHJpY2luZyAuYm94LFxuICAjcGFnZS1wcmljaW5nIC50YWJsZS13cmFwLFxuICAjcGFnZS1wcmljaW5nIHRhYmxlLFxuICAjcGFnZS1wcmljaW5nIC50YWJsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjcGFnZS1wcmljaW5nIHRoZWFkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLypzZXBlcmF0ZXMgdGhlIGhlYWRlciBmcm9tIHRoZSBib2R5IGFsbG93aW5nIGl0IHRvIGJlIHBvc2l0aW9uZWQqL1xuICAgIHdpZHRoOiA4MDBweDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICNwYWdlLXByaWNpbmcgdGhlYWQgdGQsXG4gICAgI3BhZ2UtcHJpY2luZyB0aGVhZCB0aCB7XG4gICAgICBoZWlnaHQ6IDExOHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuICAgICNwYWdlLXByaWNpbmcgdGhlYWQgdGQge1xuICAgICAgLypmaXJzdCBjZWxsIGluIHRoZSBoZWFkZXIqL1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAvKnNlcGVyYXRlcyB0aGUgZmlyc3QgY2VsbCBpbiB0aGUgaGVhZGVyIGZyb20gdGhlIGhlYWRlciovXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgI3BhZ2UtcHJpY2luZyB0Ym9keSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTAwcHggLSAxMThweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qc2VwZXJhdGVzIHRoZSB0Ym9keSBmcm9tIHRoZSBoZWFkZXIqL1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3KTtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuICAjcGFnZS1wcmljaW5nIHRoZWFkIHRyLFxuICAjcGFnZS1wcmljaW5nIHRib2R5IHRyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICNwYWdlLXByaWNpbmcgdGhlYWQgdGgsXG4gICNwYWdlLXByaWNpbmcgdGJvZHkgdGQge1xuICAgIGZsZXg6IDAgMCAyMDRweDsgfVxuICAjcGFnZS1wcmljaW5nIHRoZWFkIHRkLFxuICAjcGFnZS1wcmljaW5nIHRib2R5IHRoIHtcbiAgICBmbGV4OiAwIDAgMTIwcHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyMzIsIDIzNSwgMjQxLCAwLjYpOyB9XG4gICNwYWdlLXByaWNpbmcgdGJvZHkgdGhbY29sc3Bhbj1cIjRcIl0gc3BhbixcbiAgI3BhZ2UtcHJpY2luZyB0Ym9keSB0aCBzdHJvbmcsXG4gICNwYWdlLXByaWNpbmcgdGJvZHkgdHIuY29tYmluZWQgdGgge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMThweDsgfVxuICAjcGFnZS1wcmljaW5nIHRib2R5IHRyLmNvbWJpbmVkIHRoLCAjcGFnZS1wcmljaW5nIHRib2R5IHRyLmNvbWJpbmVkIHRkIHtcbiAgICBwYWRkaW5nLXRvcDogMjJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTRweDsgfVxuICAjcGFnZS1wcmljaW5nIHRib2R5IHRyIHRoIHtcbiAgICAvKnRoZSBmaXJzdCBjZWxsIGluIGVhY2ggdHIqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKnNlcGVyYXRlcyB0aGUgZmlyc3QgY29sdW1uIGZyb20gdGhlIHRib2R5Ki8gfVxuICAjcGFnZS1wcmljaW5nIHRib2R5IHRyOmxhc3QtY2hpbGQgdGgge1xuICAgIGhlaWdodDogMTEwcHg7IH0gfVxuXG4jcGFnZS1wcmljaW5nIHtcbiAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgI3BhZ2UtcHJpY2luZyAubmF2YmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI3BhZ2UtcHJpY2luZyBtYWluIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7IH1cbiAgI3BhZ2UtcHJpY2luZyAucHJvbW8tc2ltcGxlIHtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2Y1Zjk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICNwYWdlLXByaWNpbmcgLnByb21vLXNpbXBsZSAuY29udGFpbmVyIGlvbmljLXF1aWNrLXNpZ251cCB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogNDgwcHg7IH1cbiAgI3BhZ2UtcHJpY2luZyAuY3RhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGOEZCO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtMnB4IDlweCByZ2JhKDAsIDAsIDAsIDAuMDIpOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAuY3RhIC5jb250YWluZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5jdGEgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1NHB4O1xuICAgICAgbWF4LXdpZHRoOiA3MjBweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLmN0YSBoNSB7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICAgIGNvbG9yOiAjOTJBMUIzO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOHB4OyB9XG4gICAgI3BhZ2UtcHJpY2luZyAuY3RhIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzE3MWEyMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAuY3RhIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBjb2xvcjogIzVCNzA4QjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5jdGEgcCBiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzI3MmEyZjsgfVxuICAjcGFnZS1wcmljaW5nIC5yb3VuZGVkLXRhYnMge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucm91bmRlZC10YWJzIC5yb3VuZGVkLXRhYnNfX3RhYi1pbm5lciB7XG4gICAgICBjb2xvcjogIzkyQTFCMztcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5yb3VuZGVkLXRhYnMgLnJvdW5kZWQtdGFic19fdGFiOmhvdmVyIC5yb3VuZGVkLXRhYnNfX3RhYi1pbm5lciB7XG4gICAgICBjb2xvcjogIzJFNEM3MzsgfVxuICAgICNwYWdlLXByaWNpbmcgLnJvdW5kZWQtdGFicyAucm91bmRlZC10YWJzX190YWItLWFjdGl2ZSAucm91bmRlZC10YWJzX190YWItaW5uZXIge1xuICAgICAgY29sb3I6ICM0RDhERkY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2UtcHJpY2luZyAucm91bmRlZC10YWJzX190YWItLWFjdGl2ZSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDQ2LCA3NiwgMTE1LCAwLjYpOyB9IH1cbiAgI3BhZ2UtcHJpY2luZyAuc2VjdGlvbi1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzVCNzA4QjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA3NHB4IDAgNzRweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJpY2luZyAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBtYXJnaW46IDYwcHggYXV0byA2MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4OyB9IH1cbiAgICAjcGFnZS1wcmljaW5nIC5zZWN0aW9uLWhlYWRlciBhIHtcbiAgICAgIGNvbG9yOiAjNEQ4REZGO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuM3M7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5zZWN0aW9uLWhlYWRlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNEQ4REZGO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNzcsIDE0MSwgMjU1LCAwLjUpOyB9XG4gICNwYWdlLXByaWNpbmcgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTEwcHg7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAjcGFnZS1wcmljaW5nIG1haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNzBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJpY2luZyBtYWluIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDkwcHg7IH0gfVxuICAgICNwYWdlLXByaWNpbmcgbWFpbiAudG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAgICAgI3BhZ2UtcHJpY2luZyBtYWluIC50b2dnbGUgc3BhbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MsIGJhY2tncm91bmQgMC4zcztcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogIzk3YTRiYTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgcGFkZGluZzogNXB4IDEzcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAjcGFnZS1wcmljaW5nIG1haW4gLnRvZ2dsZSBzcGFuOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNmMWZiO1xuICAgICAgICBjb2xvcjogIzczOThkODsgfVxuICAgICAgI3BhZ2UtcHJpY2luZyBtYWluIC50b2dnbGUgc3BhbiArIHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogNnB4OyB9XG4gICAgICAjcGFnZS1wcmljaW5nIG1haW4gLnRvZ2dsZSBzcGFuIGIge1xuICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAgICNwYWdlLXByaWNpbmcgbWFpbiAudG9nZ2xlIC5hY3RpdmUsXG4gICAgICAjcGFnZS1wcmljaW5nIG1haW4gLnRvZ2dsZSAuYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKDIsIDgsIDIwLCAwLjEpLCAwcHggMHB4IDNweCByZ2JhKDIsIDgsIDIwLCAwLjA4KTtcbiAgICAgICAgY29sb3I6ICM2MzlDRkY7IH1cbiAgI3BhZ2UtcHJpY2luZyAubG9nb3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLmxvZ29zIFtjbGFzc149XCJsb2dvXCJdIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJpY2luZy9lbnRlcnByaXNlLWxvZ29zLXYzLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNzZweCAxOThweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgICNwYWdlLXByaWNpbmcgLmxvZ29zIC5sb2dvLS1nZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMXB4IC0xcHg7XG4gICAgICB3aWR0aDogMzRweDtcbiAgICAgIGhlaWdodDogMzRweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLmxvZ29zIC5sb2dvLS12ZXJpem9uIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM3cHg7XG4gICAgICB3aWR0aDogNzRweDtcbiAgICAgIGhlaWdodDogMTZweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLmxvZ29zIC5sb2dvLS1jb21jYXN0IHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTU1cHg7XG4gICAgICB3aWR0aDogNzZweDtcbiAgICAgIGhlaWdodDogMjBweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLmxvZ29zIC5sb2dvLS1wYW5lcmEge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzdweDtcbiAgICAgIHdpZHRoOiA3NnB4O1xuICAgICAgaGVpZ2h0OiAyNnB4OyB9XG4gICAgI3BhZ2UtcHJpY2luZyAubG9nb3MgLmxvZ28tLW1hc3RlcmNhcmQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTA1cHg7XG4gICAgICB3aWR0aDogNTJweDtcbiAgICAgIGhlaWdodDogMzBweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLmxvZ29zIC5sb2dvLS11c2FhIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEzN3B4O1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDM0cHg7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5sb2dvcyAubG9nby0tYW10cmFrIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE3M3B4O1xuICAgICAgd2lkdGg6IDYycHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICNwYWdlLXByaWNpbmcgLmxvZ29zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTIwcHg7IH1cbiAgICAgICAgI3BhZ2UtcHJpY2luZyAubG9nb3MgW2NsYXNzXj1cImxvZ29cIl0ge1xuICAgICAgICAgIG1hcmdpbjogMjBweDsgfSB9XG4gICNwYWdlLXByaWNpbmcgLnNvb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5zb29uIC5iYWRnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3R0b206IC0xNHB4OyB9XG4gICNwYWdlLXByaWNpbmcgLnBpbGwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNERUUzRUE7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICBmb250LXNpemU6IDhweCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiA0cHggNXB4IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkFGQkZEO1xuICAgIGNvbG9yOiAjQjJCRUNEOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAucGlsbC0taW5kaWdvIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogIzdDQUJGRjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNCMkNFRkY7XG4gICAgICBwYWRkaW5nOiA0cHggN3B4IDNweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLnBpbGwtLWFxdWEge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiAjQUNEOEZCO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc4QjhGODtcbiAgICAgIHBhZGRpbmc6IDRweCA3cHggM3B4OyB9XG4gICNwYWdlLXByaWNpbmcgLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNGE4YmZjO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgdmVydGljYWwtYWxpZ246IDJweDsgfVxuICAjcGFnZS1wcmljaW5nIC5ib3gge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI3BhZ2UtcHJpY2luZyAudGFibGUtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAjcGFnZS1wcmljaW5nIC50YWJsZS13cmFwIHRpcHB5IC50aXAucmlnaHQge1xuICAgICAgdG9wOiAtNjBweDsgfVxuICAjcGFnZS1wcmljaW5nIC5mZWF0dXJlcyBoNSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICNwYWdlLXByaWNpbmcgLmZlYXR1cmVzIGxpIHtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGNvbG9yOiAjNDE0RDVDO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgICNwYWdlLXByaWNpbmcgLmZlYXR1cmVzIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvY2hlY2ttYXJrLWxpZ2h0LWdyYXkuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTZweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICAgI3BhZ2UtcHJpY2luZyAuZmVhdHVyZXMgbGk6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGZsZXg6IDAgMCAxOHB4OyB9IH1cbiAgI3BhZ2UtcHJpY2luZyBtYWluIGhncm91cDpub3QoLmZlYXR1cmUtbGlzdHNfX2hlYWRpbmcpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjcGFnZS1wcmljaW5nIG1haW4gaGdyb3VwOm5vdCguZmVhdHVyZS1saXN0c19faGVhZGluZykgaDQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgICBjb2xvcjogIzk5OTsgfVxuICAgICNwYWdlLXByaWNpbmcgbWFpbiBoZ3JvdXA6bm90KC5mZWF0dXJlLWxpc3RzX19oZWFkaW5nKSBoMyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWF4LXdpZHRoOiA5NzVweDtcbiAgICAgIG1hcmdpbjogMzJweCBhdXRvIDE2cHg7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07IH1cbiAgI3BhZ2UtcHJpY2luZyAuYnRuLnNtIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgI3BhZ2UtcHJpY2luZyAuY29tcGFyaXNvbiB7XG4gICAgcGFkZGluZy10b3A6IDExNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAjcGFnZS1wcmljaW5nIC5jb21wYXJpc29uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODMwcHgpIHtcbiAgICAgICNwYWdlLXByaWNpbmcgLmNvbXBhcmlzb24ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgICAgI3BhZ2UtcHJpY2luZyAuY29tcGFyaXNvbiBoMyB7XG4gICAgICAgICAgcGFkZGluZzogMCAxNnB4OyB9IH1cbiAgI3BhZ2UtcHJpY2luZyAuZmFxIC5jb250YWluZXIgPiBoMyxcbiAgI3BhZ2UtcHJpY2luZyAuY29tcGFyaXNvbiA+IGgzIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIGZvbnQtc2l6ZTogMjhweDsgfVxuICAjcGFnZS1wcmljaW5nIC5hbHNvIC5jb250YWluZXIgPiBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBmb250LXNpemU6IDM2cHg7IH1cbiAgI3BhZ2UtcHJpY2luZyAub2Zmd2hpdGUtYmcge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGNkY4RkIgMCUsICNGRkZGRkYgMTAwJSk7IH1cbiAgI3BhZ2UtcHJpY2luZyAuYWxzbyBoNCxcbiAgI3BhZ2UtcHJpY2luZyAuZmFxIGg0LFxuICAjcGFnZS1wcmljaW5nIC5iZW5lZml0cyBoNCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICNwYWdlLXByaWNpbmcgLmFsc28gcCxcbiAgI3BhZ2UtcHJpY2luZyAuZmFxIHAsXG4gICNwYWdlLXByaWNpbmcgLmJlbmVmaXRzIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgY29sb3I6ICM3Mzg0OUE7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICNwYWdlLXByaWNpbmcgLmFsc28gcCBzdHJvbmcsXG4gICAgI3BhZ2UtcHJpY2luZyAuZmFxIHAgc3Ryb25nLFxuICAgICNwYWdlLXByaWNpbmcgLmJlbmVmaXRzIHAgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAjMjQyODJlOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAuYWxzbyBwIGNvZGUsXG4gICAgI3BhZ2UtcHJpY2luZyAuZmFxIHAgY29kZSxcbiAgICAjcGFnZS1wcmljaW5nIC5iZW5lZml0cyBwIGNvZGUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiAjODU4MkZCO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICNwYWdlLXByaWNpbmcgLmFsc28ge1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBwYWRkaW5nOiAwIDAgMjAwcHg7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5hbHNvIHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiA0OHB4IC00OHB4IC00OHB4OyB9XG4gICAgI3BhZ2UtcHJpY2luZyAuYWxzbyBsaSB7XG4gICAgICBmbGV4OiAwIDAgMzMlO1xuICAgICAgcGFkZGluZzogMCA0OHB4IDQ4cHg7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5hbHNvIC5waWxsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTNweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgICNwYWdlLXByaWNpbmcgLmFsc28ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cbiAgICAgICAgI3BhZ2UtcHJpY2luZyAuYWxzbyBsaSB7XG4gICAgICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAjcGFnZS1wcmljaW5nIC5hbHNvIHVsIHtcbiAgICAgICAgbWFyZ2luOiAyNHB4IC0yNHB4IC0yNHB4OyB9XG4gICAgICAjcGFnZS1wcmljaW5nIC5hbHNvIGxpIHtcbiAgICAgICAgcGFkZGluZzogMCAyNHB4IDI0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgI3BhZ2UtcHJpY2luZyAuYWxzbyBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlOyB9IH1cbiAgI3BhZ2UtcHJpY2luZyAuZmFxIHtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwMHB4OyB9XG4gICAgI3BhZ2UtcHJpY2luZyAuZmFxIC5pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgI3BhZ2UtcHJpY2luZyAuZmFxIHVsIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmctdG9wOiA0OXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAuZmFxIHVsICsgdWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMDBweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLmZhcSBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5mYXEgbGkgKyBsaSB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLmZhcSBoNCB7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAgICNwYWdlLXByaWNpbmcgLmZhcSBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgICAjcGFnZS1wcmljaW5nIC5mYXEge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAjcGFnZS1wcmljaW5nIC5mYXEgbGkgKyBsaSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICNwYWdlLXByaWNpbmcgLmZhcSAuaXRlbXMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAjcGFnZS1wcmljaW5nIC5mYXEgdWwgKyB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgI3BhZ2UtcHJpY2luZyAuZmFxIHVsLFxuICAgICAgI3BhZ2UtcHJpY2luZyAuZmFxIGxpICsgbGkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjRweDsgfSB9XG4gICNwYWdlLXByaWNpbmcgLmJlbmVmaXRzIHtcbiAgICBtYXJnaW46IDEwMHB4IDAgMTYwcHg7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5iZW5lZml0cyB1bCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICNwYWdlLXByaWNpbmcgLmJlbmVmaXRzIGxpIHtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAjcGFnZS1wcmljaW5nIC5iZW5lZml0cyBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NnB4OyB9XG4gICAgI3BhZ2UtcHJpY2luZyAuYmVuZWZpdHMgc3ZnIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJpY2luZyAuYmVuZWZpdHMge1xuICAgICAgICBtYXJnaW46IDgwcHggMCA4MHB4OyB9XG4gICAgICAgICNwYWdlLXByaWNpbmcgLmJlbmVmaXRzIHVsIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgI3BhZ2UtcHJpY2luZyAuYmVuZWZpdHMgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXgtd2lkdGg6IDU0MHB4OyB9XG4gICAgICAgICNwYWdlLXByaWNpbmcgLmJlbmVmaXRzIGxpICsgbGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDM2cHg7IH0gfVxuICAjcGFnZS1wcmljaW5nIC5mb3JtLXdyYXBwZXIub2Zmd2hpdGUtYmcge1xuICAgIHBhZGRpbmctdG9wOiAxNjBweDsgfVxuICAjcGFnZS1wcmljaW5nIC5mb3JtLXdyYXBwZXIgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA3NTZweDsgfVxuICAjcGFnZS1wcmljaW5nIC5mb3JtLXdyYXBwZXIgaGdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgI3BhZ2UtcHJpY2luZyAuZm9ybS13cmFwcGVyIGhncm91cCBoMiB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgI3BhZ2UtcHJpY2luZyAuZm9ybS13cmFwcGVyIGhncm91cCBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICM1QjcwOEI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtcHJpY2luZyAuZm9ybS13cmFwcGVyLm9mZndoaXRlLWJnIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4MHB4OyB9IH1cbiAgI3BhZ2UtcHJpY2luZyAubW9kYWwgaGdyb3VwIHtcbiAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDsgfVxuICAjcGFnZS1wcmljaW5nIC5tb2RhbCBoMyB7XG4gICAgZm9udC1zaXplOiAyOXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMxNzFhMjA7XG4gICAgbWFyZ2luOiAxOHB4IDAgOHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtOyB9XG4gICNwYWdlLXByaWNpbmcgLm1vZGFsIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBjb2xvcjogIzRjNTc2YztcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICNwYWdlLXByaWNpbmcgLm1vZGFsIGZvcm0ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDE1cHggMTVweDsgfVxuICAjcGFnZS1wcmljaW5nIC5tb2RhbCAuaHNfc3VibWl0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuIl19 */ ================================================ FILE: content/css/pages/pro/index.css ================================================ #page-products { background-color: #fff; } #page-products .pre-header { margin-bottom: 0px; } #page-products .cta, #page-products .pro-nav, #page-products .pro-video, #page-products .sub-header, #page-products main { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-products .sub-header > .container { -ms-flex-align: center; align-items: center; } #page-products .sub-header > .container:before { border-top-color: rgba(255, 255, 255, 0.1); } #page-products > .cta { position: relative; background-image: linear-gradient(90deg, #6521fc 0%, #389fff 100%); margin-top: -140px; padding-top: 140px; } #page-products > .cta .cta__background { content: ''; background-position: center center; background-size: cover; display: block; width: 100%; height: 100%; position: absolute; z-index: 0; top: -4px; left: 0; background-image: linear-gradient(90deg, #6030fc 0%, #5fa2fe 100%); background-size: cover; opacity: 0.5; overflow: hidden; } #page-products > .cta .cta__background > div { width: 100%; height: 100%; position: absolute; background-image: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 75%); -webkit-transform: translate(-20px, 0) rotate(-3deg) skew(16deg, 0deg) scale(1, 1.5); transform: translate(-20px, 0) rotate(-3deg) skew(16deg, 0deg) scale(1, 1.5); -webkit-transform-origin: top; transform-origin: top; } #page-products > .cta .cta__background > div:nth-child(1) { opacity: 0.05; top: 75%; left: 0%; } #page-products > .cta .cta__background > div:nth-child(2) { opacity: 0.10; top: 50%; left: 15.3846153846%; } #page-products > .cta .cta__background > div:nth-child(3) { opacity: 0.09; top: 25%; left: 30.7692307692%; } #page-products > .cta .cta__background > div:nth-child(4) { opacity: 0.15; top: 0%; left: 46.1538461538%; } #page-products > .cta .cta__background > div:nth-child(5) { opacity: 0.16; top: -25%; left: 61.5384615385%; } #page-products > .cta .cta__background > div:nth-child(6) { opacity: 0.08; top: -50%; left: 76.9230769231%; } @media (max-width: 768px) { #page-products > .cta .cta__background > div:nth-child(1) { opacity: 0.05; top: 60%; left: 0%; } #page-products > .cta .cta__background > div:nth-child(2) { opacity: 0.10; top: 45%; left: 25%; } #page-products > .cta .cta__background > div:nth-child(3) { opacity: 0.09; top: 30%; left: 50%; } #page-products > .cta .cta__background > div:nth-child(4) { opacity: 0.15; top: 15%; left: 75%; } #page-products > .cta .cta__background > div:nth-child(5) { opacity: 0.16; top: 0%; left: 100%; } #page-products > .cta .cta__background > div:nth-child(6) { opacity: 0.08; top: -15%; left: 125%; } } #page-products > .cta hgroup { text-align: center; position: relative; max-width: 830px; padding-bottom: 354px; padding-top: 54px; } #page-products > .cta hgroup h3 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; text-transform: uppercase; letter-spacing: 0.18em; font-size: 12px; line-height: 18px; font-weight: 600; color: #e3e6ff; } #page-products > .cta hgroup h1 { margin-top: 36px; font-size: 56px; line-height: 60px; font-weight: 700; letter-spacing: -.038em; margin-bottom: 264x; } #page-products > .cta hgroup p { letter-spacing: -.03em; max-width: 724px; line-height: 1.8em; margin: 0 auto; font-size: 22px; font-weight: 400; color: #fff; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; } #page-products > .cta hgroup .cta-buttons { margin-top: 30px; padding-left: 24px; padding-right: 24px; color: white; letter-spacing: -.02em; } #page-products > .cta hgroup .cta-buttons > .btn { -ms-flex-align: center; align-items: center; background-color: #7898ff; border-radius: 2em; display: -ms-inline-flexbox; display: inline-flex; font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.10em; padding: 14px 26px; } #page-products > .cta hgroup .cta-buttons > .btn:not(:hover) { box-shadow: none; } #page-products > .cta hgroup .cta-buttons > .btn--primary { background-color: #fff; color: #4a68ff; } #page-products > .cta hgroup .cta-buttons > .btn--primary:after { transition: -webkit-transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; content: '\f287'; font-family: 'Ionicons'; font-size: 15px; margin-left: 8px; } #page-products > .cta hgroup .cta-buttons > .btn--primary:hover:after { -webkit-transform: translateX(2px); transform: translateX(2px); } #page-products > .cta hgroup .cta-buttons .sales { color: rgba(255, 255, 255, 0.5); margin-top: 6px; display: inline-block; text-decoration: underline; transition: .2s color; } #page-products > .cta hgroup .cta-buttons .sales:hover { color: rgba(255, 255, 255, 0.8); } @media (max-width: 768px) { #page-products > .cta hgroup { padding-bottom: 140px; } } @media (max-width: 480px) { #page-products > .cta hgroup { padding-top: 14px; } #page-products > .cta hgroup h1 { font-size: 40px; line-height: 46px; } #page-products > .cta hgroup h3 { max-width: 246px; margin-left: auto; margin-right: auto; } #page-products > .cta hgroup p { font-size: 18px; line-height: 1.6em; } #page-products > .cta hgroup .btn { width: 100%; margin-right: 0; -ms-flex-pack: center; justify-content: center; margin-bottom: 8px; } } #page-products .cta-overlay { margin-top: -239px; position: relative; z-index: 1; overflow: hidden; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; width: 100%; padding: 0 20px; } #page-products .cta-overlay .app-screenshot { overflow: hidden; width: 100%; max-width: 960px; background-color: #fff; background-repeat: no-repeat; background-size: cover; border-radius: 16px; box-shadow: 0 8px 16px rgba(0, 14, 41, 0.08), 0 30px 60px rgba(0, 11, 34, 0.15); } #page-products .cta-overlay .app-screenshot img { width: 100%; } @media (max-width: 768px) { #page-products .cta-overlay { margin-top: -76px; } } #page-products .customer-logos { padding: 0; width: 100%; max-width: 1024px; margin-top: 30px; 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; } #page-products .customer-logos [class^="customer-logo"] { background-image: url("/img/pro/pro-customer-sprite.png"); background-repeat: no-repeat; background-size: 121px 256px; margin: 34px 42px; } @media (max-width: 991px) { #page-products .customer-logos { -ms-flex-pack: center; justify-content: center; } #page-products .customer-logos [class^="customer-logo"] { margin: 22px 34px; } } @media (max-width: 768px) { #page-products .customer-logos { padding: 8px; } #page-products .customer-logos [class^="customer-logo"] { margin: 16px 18px; } } #page-products .customer-logos .customer-logo--lendingclub { width: 121px; height: 18px; background-position: 0 0; } #page-products .customer-logos .customer-logo--mcdonalds { background-position: 0 -19px; width: 24px; height: 20px; } #page-products .customer-logos .customer-logo--study { background-position: 0 -40px; width: 118px; height: 18px; } #page-products .customer-logos .customer-logo--cat { background-position: 0 -59px; width: 34px; height: 20px; } #page-products .customer-logos .customer-logo--ge { background-position: 0 -80px; width: 24px; height: 24px; } #page-products .customer-logos .customer-logo--comcast { background-position: 0 -105px; width: 73px; height: 20px; } #page-products .customer-logos .customer-logo--amtrak { background-position: 0 -126px; width: 47px; height: 20px; } #page-products .customer-logos .customer-logo--airbus { background-position: 0 -147px; width: 107px; height: 20px; } #page-products .customer-logos .customer-logo--aaa { background-position: 0 -168px; width: 45px; height: 27px; } #page-products .customer-logos .customer-logo--deloitte { background-position: 0 -195px; width: 87px; height: 16px; } #page-products .customer-logos .customer-logo--usaa { background-position: 0 -212px; width: 21px; height: 24px; } #page-products .customer-logos .customer-logo--ing { background-position: 0 -237px; width: 73px; height: 19px; } #page-products .pro-video { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; position: relative; z-index: 1; } #page-products .pro-video:before { content: ""; display: block; height: 50%; left: 0; position: absolute; top: 0; width: 100%; z-index: 1; } #page-products .pro-video .video-player { max-width: 900px; width: 100%; position: relative; z-index: 2; } #page-products .pro-video .video-player:hover { cursor: pointer; } #page-products .pro-video .video-player:not(.is-playing):hover .video-player-frame { -webkit-transform: scale(0.99); transform: scale(0.99); } #page-products .pro-video .video-player:not(.is-playing):hover .video-player-button { -webkit-transform: translate(-50%, -50%) scale(1.05); transform: translate(-50%, -50%) scale(1.05); } #page-products .pro-video .video-player.is-ready .video-player-button { display: block; } #page-products .pro-video .video-player.is-playing .video-player-button { display: none; } #page-products .pro-video .video-player-button { display: none; left: 50%; position: absolute; top: 50%; -webkit-transform: translate(-50%, -50%) scale(1); transform: translate(-50%, -50%) scale(1); transition: -webkit-transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275); transition: transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275); transition: transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275); width: 80px; z-index: 1; } #page-products .pro-video .video-player-frame { background-image: url("/img/pro/pro-dash-video-screenshot.png"); background-position: center center; background-repeat: no-repeat; background-size: contain; border-radius: 8px; height: 0; overflow: hidden; padding-bottom: 64.67%; position: relative; -webkit-transform: scale(1); transform: scale(1); transition: -webkit-transform 400ms cubic-bezier(0.19, 1, 0.22, 1); transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1); transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 400ms cubic-bezier(0.19, 1, 0.22, 1); } #page-products .pro-video .video-player-frame > iframe { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } #page-products .pro-benefits { padding-left: 60px; } #page-products .pro-benefits ul { list-style-type: none; margin: 0; padding: 0; } #page-products .pro-benefits li { position: relative; padding-left: 40px; } #page-products .pro-benefits li + li { margin-top: 22px; } #page-products .pro-benefits li::before { display: block; content: ''; width: 24px; height: 24px; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAwCAYAAAC4wJK5AAAD/ElEQVRogc3a24tVZRzG8c9ac9jOOOjIMGoMSXQxRBc16UWS4YVikBKKUGTEUF35BwjhX5BCF0EXRhcVU0QUCBYR5AESJIkwu4kYL4JA85A56dC4Z2xWF+8a3TOzD2vtw5oeWOzN3uv9/Z4v73G974qSJHHwY+1QH7ZhK0bTaxAD6f/TmMJkep3HOcy0mri7xfJ92Itx7EApQ5mnK76XcQYTOKFJoGYhBnEQhzDUZAwC9PPpdRNv4z2hxjIrzpk0wutCc3hLawBLNZTGnExzRFkL5oHYiJP4AMN53OXUcJrjZJqzobJCbMdF7GzOV1Pamebc3ujG+Oc/Ggbbj2+xoWVb+bUhzb2/3k2NamI/vpBt1OmUSqmHmiD1ILbj0wb3FKVY8FK1adUyuBGfW9kaWKqS4GlZZ68GEeETK9MHGmmD4G3R8FsN4jXFjkJ5tVPweF9LIQZxtCg3Leio4BXLIQ7q7ETWLg0LXrEYok9YC62IhtewOt8wckjwvAhir/auhTJrZB37trB3Sy6QIcHzIojxNnvLpJF17B6ju4u1/ex5ilL2tfU4DyD6hOeBQlUJsKD+XnqzQ+xAXwxx5FkFT2zVAGZm+fICd+5mDlPCtlATkWfa7LGu6gH8NZ073NYYIh5rm8MG2jjYVgAYjREl4aG+41q/hj3tBWABImJd6xbra/0aXti8uNO2AQAGQ00kVuct2V8KE1QWdRAABkJNRNkfygkT0r4t4RppUIcdBkA6T0RR9v2evt4ws67tD21791htkCIAMB0jiSN3spboiuiq6Ji1QAoCgKkYSXfst6wlpsuc+DF8LmgpSIEAMBkj6epyKU+p2zO1QZ7YVCgACxCrenyft2QtkG2jhQLA+RgeXe9MFJnLW7oaSKXuznUcoIxzMWx+xFRvtx+aiVILZPYeX//UUQDCjvpMDMdO+bfUbaLZSPdB0tVneY6vLnD9dluM1tMERBevJI6d4vERa3+94vf5RMZ5eLlKPWwa4vIt/qnRxNqom3jYQk3AL5f9XerxbitRy3NculoIAOEsY4Ylux0Dq7wTR24VYqE13RAOY7AE4sZtf3Z3OVy4pfx6U8Vp0rIdwNl73o8j3xVqKZ9O46PKH6ptYybziZdxvQhHOXUNryKp/LHWrvhVvChMJv8XlfGS4G2R6p09nMUrmO+QqTyaF7ycrfZnowOU41a+Rsqph+O1bshyCnQczwntsWhdS3PXBCD7UdZZjAkjQ1E6neas2oQqFT/5UOagV7ELbwiTTad0I82xS5VOXE15DxUTfCjsUx0W1i/t0s005miaI6l/+wM1ezI6hSPCAuwAvtFc5y+nZQ+ksY7I+V4Hrb9lM4PP0mvFXhX6D3mVKTX2fENsAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-size: 100%; position: absolute; top: 0; left: 0; } #page-products .pro-benefits li h4 { margin: 0; font-weight: 600; font-size: 16px; line-height: 20px; } #page-products .pro-benefits li p { color: #545c6a; font-size: 15px; line-height: 24px; } #page-products .hero { background: no-repeat center center; background-size: cover; overflow: hidden; padding-top: 0; padding-bottom: 0; } #page-products .hero .content { width: 39%; text-align: left; padding-top: 200px; padding-bottom: 220px; color: #070f1a; min-height: 724px; position: relative; } #page-products .hero .content.dark { color: rgba(255, 255, 255, 0.8); } #page-products .hero .content.dark h2, #page-products .hero .content.dark .hero__cta { color: #151d2b; } #page-products .hero .content.dark p { color: #596a89; } #page-products .hero .content h2 { font-size: 36px; letter-spacing: -0.03em; font-weight: 600; margin-bottom: 12px; } #page-products .hero .content p { font-size: 20px; line-height: 32px; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-weight: 400; } #page-products .hero .content h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; padding-top: 100px; position: relative; color: #808fa7; } #page-products .hero .content h4::before { background: url("/img/pro/product-header-icons.png") 0 0 no-repeat; background-size: 64px; width: 64px; height: 64px; content: ''; position: absolute; top: 0; } #page-products .hero__cta-bar { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } #page-products .hero__cta-bar a + a { margin-left: 20px; } #page-products .hero__cta-bar-secondary { margin-left: 30px; } @media (max-width: 767px) { #page-products .hero__cta-bar { -ms-flex-direction: column; flex-direction: column; } #page-products .hero__cta-bar-secondary { margin-left: 0; margin-top: 24px; } } #page-products .hero__cta { border-bottom-style: solid; border-bottom-width: 2px; color: inherit; font-size: 18px; font-weight: 700; padding-bottom: 4px; transition: border-bottom-color 100ms ease-in-out; } #page-products .hero__cta:after { content: '\f287'; font-family: 'Ionicons'; font-size: 16px; margin-left: 5px; } #page-products .hero__cta:hover { border-bottom-color: transparent; } #page-products .hero__icon-link { transition: opacity 0.3s; display: inline-block; opacity: 0.7; } #page-products .hero__icon-link i { font-size: 30px; color: #fff; } #page-products .hero__icon-link:hover { opacity: 1; } #page-products .hero .container { position: relative; } #page-products .hero .container::before { background-repeat: no-repeat; background-position: right 0; background-size: contain; top: 0; right: 0; left: 0; bottom: 0; content: ''; display: block; position: absolute; opacity: 0; transition: .2s opacity; } #page-products .hero.active .container::before { opacity: 1; } #page-products .hero h4 { font-size: 11px; font-weight: 700; letter-spacing: 0.2em; color: #272a2f; text-transform: uppercase; margin-bottom: 30px; } #page-products .hero h3 { font-size: 36px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 30px; } #page-products .hero h2 { color: #272a2f; font-size: 36px; margin-bottom: 23px; margin-top: 14px; font-weight: 700; letter-spacing: -.015em; } #page-products .hero p { font-size: 16px; font-weight: 600; letter-spacing: -.026em; line-height: 1.8em; margin-bottom: 30px; color: #5e6777; } #page-products .hero p strong { color: #272a2f; font-weight: 700; } #page-products .hero p a:hover { color: #4a8bfc; } #page-products .hero .btn { padding: 13px 15px; font-size: 14px; font-weight: 600; } #page-products .hero .btn strong { font-weight: 700; } #page-products .hero .btn::after { font-family: 'Ionicons'; content: '\f287'; font-size: 15px; line-height: 10px; vertical-align: -1px; margin-left: 8px; font-weight: 600; display: inline-block; transition: .2s transform; } #page-products .hero .btn:hover::after { -webkit-transform: translate3d(2px, 0, 0); transform: translate3d(2px, 0, 0); } @media (max-width: 480px) { #page-products .hero .content h2 { font-size: 30px; } #page-products .hero .content p { font-size: 18px; line-height: 1.6em; } } #page-products #overview { background-color: #fff; color: #272a2f; padding-bottom: 180px; padding-top: 140px; } #page-products #overview hgroup { max-width: 740px; margin: 0 auto 68px; } #page-products #overview hgroup h3 { font-weight: 600; color: #070f1a; margin-bottom: 14px; } #page-products #overview hgroup p { font-size: 22px; line-height: 36px; color: #43546f; font-weight: 400; } #page-products #overview .features { padding: 0; list-style: none; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; max-width: 960px; margin: 0 auto; } #page-products #overview .features h4 { font-size: 20px; text-transform: none; letter-spacing: -.02em; margin-top: 5px; margin-bottom: 13px; font-weight: 600; } #page-products #overview .features p { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 28px; color: #687e99; letter-spacing: -.015em; font-weight: 400; } #page-products #overview li { padding-top: 68px; -ms-flex: 0 1 320px; flex: 0 1 320px; position: relative; } #page-products #overview li::before { background: url("/img/pro/pro-feature-icons.png") 0 0 no-repeat; background-size: 48px; height: 48px; width: 48px; content: ''; position: absolute; top: 0; } #page-products #overview li.faster::before { background-position: 0 -48px; } #page-products #overview li.happier::before { background-position: 0 -96px; } #page-products #overview li + li { margin-left: 24px; } @media (max-width: 520px) { #page-products #overview .features { display: block; } #page-products #overview li { text-align: center; } #page-products #overview li::before { left: calc( 50% - 24px); } #page-products #overview li + li { margin-left: 0; } } @media (max-width: 768px) { #page-products #overview { padding-bottom: 68px; padding-top: 102px; } } @media (max-width: 480px) { #page-products #overview { padding-bottom: 48px; padding-top: 72px; } #page-products #overview hgroup { margin-bottom: 42px; } #page-products #overview hgroup h3 { font-size: 30px; } #page-products #overview hgroup p { font-size: 18px; line-height: 1.6em; } } #page-products #updates { background-image: linear-gradient(0deg, white 0%, #f6f8fb 100%); background-size: 100%; } #page-products #updates h4::before { background-position: 0 0; } #page-products #updates .content { padding-top: 179px; position: relative; z-index: 10; } @media (max-width: 1219px) { #page-products #updates .content { padding-top: 148px; } } #page-products #updates .anim-updates { position: absolute; z-index: 4; top: 0; bottom: 0; left: 50%; -webkit-transform: translateX(-100px); transform: translateX(-100px); display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } #page-products #updates .anim-updates__root { width: 726px; height: 437px; position: relative; } #page-products #updates .anim-updates__foreground, #page-products #updates .anim-updates__background { width: 100%; height: 100%; position: absolute; top: 0; left: 0; } #page-products #updates .anim-updates__foreground { z-index: 10; -webkit-transform: translateZ(1000px); transform: translateZ(1000px); } #page-products #updates .anim-updates__background { z-index: 1; -webkit-transform: translateZ(100px); transform: translateZ(100px); } #page-products #updates .anim-updates__device { width: 726px; height: 437px; background-image: url("/img/pro/updates-illustration-device.png"); background-repeat: no-repeat; background-size: 726px 437px; position: absolute; top: 0; left: 0; z-index: 5; -webkit-transform: translateZ(500px); transform: translateZ(500px); } #page-products #updates .anim-updates__screen { width: 308px; height: 554px; background: #5d37ff; position: absolute; top: 28px; left: 406px; -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotateX(60deg) rotateY(0.7deg) rotateZ(36.5deg) skew(2deg, -1.5deg); transform: rotateX(60deg) rotateY(0.7deg) rotateZ(36.5deg) skew(2deg, -1.5deg); } @media (max-width: 991px) { #page-products #updates .anim-updates { display: none; } #page-products #updates .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #updates .content h4::before { left: calc(50% - 32px); } } #page-products #build { background-image: linear-gradient(0deg, white 0%, #f6f8fb 100%); padding: 100px 0; } #page-products #build h4::before { background-position: 0 -64px; } #page-products #build .anim-build { position: absolute; left: 0; top: 0; bottom: 0; width: 39%; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; } #page-products #build .anim-build__text { fill: #5d37ff; text-transform: uppercase; font-size: 12px; font-weight: 700; letter-spacing: 0.05em; } #page-products #build .content { padding-top: 140px; } @media (max-width: 991px) { #page-products #build .container::before { background-size: 40%; top: 128px; bottom: 128px; } #page-products #build .content { padding-top: 64px; min-height: 0; width: 40%; } } @media (max-width: 767px) { #page-products #build { background-image: none; padding: 0; } #page-products #build .anim-build { display: none; } #page-products #build .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #build .content h4::before { left: calc(50% - 32px); } } #page-products #reporting { background: #081b17; padding: 50px 0; } #page-products #reporting h4, #page-products #reporting .btn { color: #607d79; } #page-products #reporting h4::before, #page-products #reporting .btn::before { background-position: 0 -256px; } #page-products #reporting .anim-reporting { width: 1084px; height: 100%; display: -ms-flexbox; display: flex; overflow: hidden; position: absolute; top: 0; left: 50%; -webkit-transform: translateX(-240px); transform: translateX(-240px); bottom: 0; z-index: 1; } #page-products #reporting #anim-reporting__svg { width: 100%; height: 100%; } #page-products #reporting .anim-reporting__bg { fill: #0d2b25; } #page-products #reporting .anim-reporting__scan { -webkit-animation-name: cycle-fade; animation-name: cycle-fade; -webkit-animation-duration: 2s; animation-duration: 2s; -webkit-animation-direction: alternate; animation-direction: alternate; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-timing-function: ease; animation-timing-function: ease; } @-webkit-keyframes cycle-fade { from { opacity: 0.4; } to { opacity: 1; } } @keyframes cycle-fade { from { opacity: 0.4; } to { opacity: 1; } } #page-products #reporting .anim-reporting__bug { fill: #ff3267; -webkit-transform-origin: center center; transform-origin: center center; } #page-products #reporting .content { padding-top: 172px; width: 40%; z-index: 5; } @media (max-width: 991px) { #page-products #reporting .content { min-height: 0; padding-top: 64px; width: 100%; } #page-products #reporting .anim-reporting { opacity: 0.7; } #page-products #reporting .anim-reporting__clipped { -webkit-transform: scale(0.8); transform: scale(0.8); } } @media (max-width: 991px) { #page-products #reporting { padding: 0; } #page-products #reporting .anim-reporting { display: none; } #page-products #reporting .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #reporting .content h4::before { left: calc(50% - 32px); } } #page-products #push { background: #ffbc2a no-repeat center bottom; background-image: linear-gradient(to right, #ffce39 0%, #ffad20 100%); background-size: 100%; } #page-products #push h4 { color: #d26d00; } #page-products #push h4::before { background-position: 0 -320px; } #page-products #push .container::before { background-image: url("/img/pro/product-push-img.png"); background-position: left 0; top: 80px; bottom: 80px; } @media (max-width: 1219px) { #page-products #push .container::before { top: 130px; bottom: 130px; } } #page-products #push .content { padding-top: 172px; width: 35%; } @media (max-width: 991px) { #page-products #push .container::before { display: none; } #page-products #push .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #push .content h4::before { left: calc(50% - 32px); } } #page-products #automate { background-color: #f9fafc; background-image: linear-gradient(0deg, white 0%, #f6f8fb 100%); background-size: 100%; position: relative; padding-bottom: 160px; } #page-products #automate h4::before { background-position: 0 -128px; } #page-products #automate .anim-automate { position: absolute; top: 220px; left: 50%; margin-left: -400px; } #page-products #automate .anim-automate svg .connector { opacity: 0; stroke-dasharray: 80px; } #page-products #automate .anim-automate svg rect.four { opacity: 0.6; } #page-products #automate .anim-automate svg #top, #page-products #automate .anim-automate svg #bottom { position: relative; } #page-products #automate .anim-automate svg #bottom { z-index: 1; } #page-products #automate .anim-automate svg #top { z-index: 2; } #page-products #automate .anim-automate svg > g { -webkit-transform: translateY(50px); transform: translateY(50px); } @media (max-width: 1219px) { #page-products #automate { padding-bottom: 390px; } #page-products #automate .content { width: 100%; max-width: 500px; text-align: center; margin-left: auto; margin-right: auto; } #page-products #automate .content h4::before { left: calc(50% - 32px); } #page-products #automate .anim-automate { -webkit-transform: scale(0.8); transform: scale(0.8); top: 470px; margin-left: -670px; } } @media (max-width: 768px) { #page-products #automate { padding: 0; } #page-products #automate .anim-automate { display: none; } #page-products #automate .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #automate .content h4::before { left: calc(50% - 32px); } } #page-products #automate .anim-automate_ui { position: absolute; width: 100%; height: 100%; } #page-products #automate .anim-automate_ui > div { position: absolute; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); max-width: 114px; text-align: center; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; opacity: 0; } #page-products #automate .anim-automate_ui > div p { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; margin: 0; color: #fff; font-size: 13px; line-height: 17px; } #page-products #automate .anim-automate_ui > div span { display: block; opacity: 0.6; font-family: 12px; } #page-products #automate .anim-automate_ui > div:before { content: ''; display: block; width: 20px; height: 50px; margin-bottom: 12px; background-repeat: no-repeat; background-size: 100%; } #page-products #automate .anim-automate_ui .master:before { background-image: url("/img/pro/pro-automate-animation/master.png"); width: 100px; height: 30px; background-size: 100px 30px; } #page-products #automate .anim-automate_ui .staging:before { background-image: url("/img/pro/pro-automate-animation/staging.png"); width: 110px; height: 30px; background-size: 110px 30px; } #page-products #automate .anim-automate_ui .qa:before { background-image: url("/img/pro/pro-automate-animation/qa.png"); width: 61px; height: 30px; background-size: 61px 30px; } #page-products #automate .anim-automate_ui .android:before, #page-products #automate .anim-automate_ui .ios:before, #page-products #automate .anim-automate_ui .web:before { width: 62px; height: 62px; background-size: 62px 62px; } #page-products #automate .anim-automate_ui .android:before { background-image: url("/img/pro/pro-automate-animation/android.png"); } #page-products #automate .anim-automate_ui .ios:before { background-image: url("/img/pro/pro-automate-animation/ios.png"); } #page-products #automate .anim-automate_ui .web:before { background-image: url("/img/pro/pro-automate-animation/js.png"); } #page-products #automate .anim-automate_ui .testflight:before { background-image: url("/img/pro/pro-automate-animation/testflight.png"); width: 53px; height: 53px; background-size: 53px 53px; } #page-products #automate .anim-automate_ui .playstore:before { background-image: url("/img/pro/pro-automate-animation/playstore.png"); width: 50px; height: 55px; background-size: 50px 55px; } #page-products #automate .anim-automate_ui .webhook:before { background-image: url("/img/pro/pro-automate-animation/webhook.png"); width: 58px; height: 54px; background-size: 58px 54px; } #page-products #automate .anim-automate_ui .master, #page-products #automate .anim-automate_ui .staging, #page-products #automate .anim-automate_ui .qa { left: 50%; top: 195px; } #page-products #automate .anim-automate_ui .android, #page-products #automate .anim-automate_ui .ios, #page-products #automate .anim-automate_ui .web { left: 50%; top: 368px; } #page-products #automate .anim-automate_ui .android, #page-products #automate .anim-automate_ui .web { margin-left: 174px; } #page-products #automate .anim-automate_ui .ios { margin-left: -178px; } #page-products #automate .anim-automate_ui .testflight, #page-products #automate .anim-automate_ui .playstore, #page-products #automate .anim-automate_ui .webhook { left: 50%; top: 540px; } #page-products #automate .anim-automate_ui .testflight { margin-left: -352px; } #page-products #automate .anim-automate_ui .playstore { margin-left: 352px; } #page-products .pro-features { padding: 196px 0; background-color: #394072; } #page-products .pro-features hgroup { text-align: center; max-width: 560px; margin-left: auto; margin-right: auto; } #page-products .pro-features hgroup h3 { color: #fff; font-size: 36px; font-weight: 600; line-height: 40px; margin-top: 0; } #page-products .pro-features hgroup p { color: #d7d9eb; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-size: 20px; line-height: 32px; } #page-products .pro-features ul { margin: 0 -24px 0; padding: 0; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; list-style-type: none; } #page-products .pro-features li { -ms-flex: 0 0 25%; flex: 0 0 25%; margin-top: 86px; padding: 0 24px; } #page-products .pro-features li h5 { color: #fff; font-size: 20px; font-weight: 600; margin-bottom: 18px; margin-top: 0; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } #page-products .pro-features li p { color: #b9bcd8; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 28px; } #page-products .pro-features [class^="pro-feature--"] h5::before { display: block; content: ''; width: 24px; height: 24px; background-image: url("/img/pro/pro-feature-sprite.png"); background-repeat: no-repeat; background-size: 24px 192px; margin-right: 12px; } #page-products .pro-features .pro-feature--app-dashboard h5::before { background-position: 0 0; } #page-products .pro-features .pro-feature--configurable h5::before { background-position: 0 calc(-1 * 24px); } #page-products .pro-features .pro-feature--clean-builds h5::before { background-position: 0 calc(-2 * 24px); } #page-products .pro-features .pro-feature--mobile-ci-cd h5::before { background-position: 0 calc(-3 * 24px); } #page-products .pro-features .pro-feature--git-integrations h5::before { background-position: 0 calc(-4 * 24px); } #page-products .pro-features .pro-feature--connected-services h5::before { background-position: 0 calc(-5 * 24px); } #page-products .pro-features .pro-feature--live-app-updating h5::before { background-position: 0 calc(-6 * 24px); } #page-products .pro-features .pro-feature--role-based-controls h5::before { background-position: 0 calc(-7 * 24px); } @media (max-width: 1219px) { #page-products .pro-features li { -ms-flex: 0 0 33%; flex: 0 0 33%; } } @media (max-width: 991px) { #page-products .pro-features { padding: 90px 0; text-align: center; } #page-products .pro-features h5 { -ms-flex-pack: center; justify-content: center; } #page-products .pro-features li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 767px) { #page-products .pro-features hgroup h3 { font-size: 30px; } #page-products .pro-features li { -ms-flex: 0 0 100%; flex: 0 0 100%; margin-top: 36px; } } #page-products .get-started { background: linear-gradient(45deg, #1b1f3a 0%, #292f52 100%); overflow: auto; } #page-products .get-started .container { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; margin-bottom: 120px; margin-top: 120px; } #page-products .get-started hgroup { letter-spacing: -.025em; -ms-flex-positive: 1; flex-grow: 1; } #page-products .get-started h2 { color: #e0e3f6; font-size: 28px; line-height: 36px; font-weight: 400; letter-spacing: -0.02em; margin: 0; max-width: 680px; } #page-products .get-started h2 strong { font-weight: 600; color: #fff; } #page-products .get-started h3 { color: #8aa6ff; font-size: 24px; line-height: 36px; font-weight: 400; margin: 0; } #page-products .get-started .btn { font-size: 15px; text-transform: uppercase; letter-spacing: 0.10em; font-weight: 700; border-radius: 100px; background-color: #5fa3ff; padding: 16px 28px 14px; } #page-products .get-started .btn:hover { background-color: #4895fc; } @media (max-width: 991px) { #page-products .get-started .container { display: block; text-align: center; } #page-products .get-started hgroup { padding-bottom: 16px; } #page-products .get-started .btn-group { padding-bottom: 96px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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LEVBQUUsRUFBRTtJQUN4QjtNQUNFO1FBQ0UsZ0JBQWdCLEVBQUU7TUFDcEI7UUFDRSxtQkFBZTtZQUFmLGVBQWU7UUFDZixpQkFBaUIsRUFBRSxFQUFFO0VBQzNCO0lBQ0UsNkRBQTZEO0lBQzdELGVBQWUsRUFBRTtJQUNqQjtNQUNFLHVCQUFvQjtVQUFwQixvQkFBb0I7TUFDcEIscUJBQWM7TUFBZCxjQUFjO01BQ2QscUJBQXFCO01BQ3JCLGtCQUFrQixFQUFFO0lBQ3RCO01BQ0Usd0JBQXdCO01BQ3hCLHFCQUFhO1VBQWIsYUFBYSxFQUFFO0lBQ2pCO01BQ0UsZUFBZTtNQUNmLGdCQUFnQjtNQUNoQixrQkFBa0I7TUFDbEIsaUJBQWlCO01BQ2pCLHdCQUF3QjtNQUN4QixVQUFVO01BQ1YsaUJBQWlCLEVBQUU7TUFDbkI7UUFDRSxpQkFBaUI7UUFDakIsWUFBWSxFQUFFO0lBQ2xCO01BQ0UsZUFBZTtNQUNmLGdCQUFnQjtNQUNoQixrQkFBa0I7TUFDbEIsaUJBQWlCO01BQ2pCLFVBQVUsRUFBRTtJQUNkO01BQ0UsZ0JBQWdCO01BQ2hCLDBCQUEwQjtNQUMxQix1QkFBdUI7TUFDdkIsaUJBQWlCO01BQ2pCLHFCQUFxQjtNQUNyQiwwQkFBMEI7TUFDMUIsd0JBQXdCLEVBQUU7TUFDMUI7UUFDRSwwQkFBMEIsRUFBRTtJQUNoQztNQUNFO1FBQ0UsZUFBZTtRQUNmLG1CQUFtQixFQUFFO01BQ3ZCO1FBQ0UscUJBQXFCLEVBQUU7TUFDekI7UUFDRSxxQkFBcUIsRUFBRSxFQUFFIiwiZmlsZSI6InBhZ2VzL3Byby9pbmRleC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcGFnZS1wcm9kdWN0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgI3BhZ2UtcHJvZHVjdHMgLnByZS1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICAjcGFnZS1wcm9kdWN0cyAuY3RhLFxuICAjcGFnZS1wcm9kdWN0cyAucHJvLW5hdixcbiAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyxcbiAgI3BhZ2UtcHJvZHVjdHMgLnN1Yi1oZWFkZXIsXG4gICNwYWdlLXByb2R1Y3RzIG1haW4ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH1cbiAgI3BhZ2UtcHJvZHVjdHMgLnN1Yi1oZWFkZXIgPiAuY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnN1Yi1oZWFkZXIgPiAuY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cbiAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNjUyMWZjIDAlLCAjMzg5ZmZmIDEwMCUpO1xuICAgIG1hcmdpbi10b3A6IC0xNDBweDtcbiAgICBwYWRkaW5nLXRvcDogMTQwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICB0b3A6IC00cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNjAzMGZjIDAlLCAjNWZhMmZlIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNzUlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIDApIHJvdGF0ZSgtM2RlZykgc2tldygxNmRlZywgMGRlZykgc2NhbGUoMSwgMS41KTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2Om50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgb3BhY2l0eTogMC4wNTtcbiAgICAgICAgICB0b3A6IDc1JTtcbiAgICAgICAgICBsZWZ0OiAwJTsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCA+IGRpdjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIG9wYWNpdHk6IDAuMTA7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogMTUuMzg0NjE1Mzg0NiU7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIC5jdGFfX2JhY2tncm91bmQgPiBkaXY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjA5O1xuICAgICAgICAgIHRvcDogMjUlO1xuICAgICAgICAgIGxlZnQ6IDMwLjc2OTIzMDc2OTIlOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2Om50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgb3BhY2l0eTogMC4xNTtcbiAgICAgICAgICB0b3A6IDAlO1xuICAgICAgICAgIGxlZnQ6IDQ2LjE1Mzg0NjE1MzglOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2Om50aC1jaGlsZCg1KSB7XG4gICAgICAgICAgb3BhY2l0eTogMC4xNjtcbiAgICAgICAgICB0b3A6IC0yNSU7XG4gICAgICAgICAgbGVmdDogNjEuNTM4NDYxNTM4NSU7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIC5jdGFfX2JhY2tncm91bmQgPiBkaXY6bnRoLWNoaWxkKDYpIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjA4O1xuICAgICAgICAgIHRvcDogLTUwJTtcbiAgICAgICAgICBsZWZ0OiA3Ni45MjMwNzY5MjMxJTsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCA+IGRpdjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4wNTtcbiAgICAgICAgICAgIHRvcDogNjAlO1xuICAgICAgICAgICAgbGVmdDogMCU7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCA+IGRpdjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xMDtcbiAgICAgICAgICAgIHRvcDogNDUlO1xuICAgICAgICAgICAgbGVmdDogMjUlOyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIC5jdGFfX2JhY2tncm91bmQgPiBkaXY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMDk7XG4gICAgICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2Om50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjE1O1xuICAgICAgICAgICAgdG9wOiAxNSU7XG4gICAgICAgICAgICBsZWZ0OiA3NSU7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCA+IGRpdjpudGgtY2hpbGQoNSkge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xNjtcbiAgICAgICAgICAgIHRvcDogMCU7XG4gICAgICAgICAgICBsZWZ0OiAxMDAlOyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIC5jdGFfX2JhY2tncm91bmQgPiBkaXY6bnRoLWNoaWxkKDYpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMDg7XG4gICAgICAgICAgICB0b3A6IC0xNSU7XG4gICAgICAgICAgICBsZWZ0OiAxMjUlOyB9IH1cbiAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC13aWR0aDogODMwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzU0cHg7XG4gICAgICBwYWRkaW5nLXRvcDogNTRweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCBoMyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICNlM2U2ZmY7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgaDEge1xuICAgICAgICBtYXJnaW4tdG9wOiAzNnB4O1xuICAgICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMzhlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjY0eDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCBwIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA3MjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgXCJJbnRlciBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIC5jdGEtYnV0dG9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgLmN0YS1idXR0b25zID4gLmJ0biB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzg5OGZmO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEwZW07XG4gICAgICAgICAgcGFkZGluZzogMTRweCAyNnB4OyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCAuY3RhLWJ1dHRvbnMgPiAuYnRuOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCAuY3RhLWJ1dHRvbnMgPiAuYnRuLS1wcmltYXJ5IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgIGNvbG9yOiAjNGE2OGZmOyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCAuY3RhLWJ1dHRvbnMgPiAuYnRuLS1wcmltYXJ5OmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjI4Nyc7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIC5jdGEtYnV0dG9ucyA+IC5idG4tLXByaW1hcnk6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCAuY3RhLWJ1dHRvbnMgLnNhbGVzIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogLjJzIGNvbG9yOyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCAuY3RhLWJ1dHRvbnMgLnNhbGVzOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxNHB4OyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDZweDsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgaDMge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDZweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgLmJ0biB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMgLmN0YS1vdmVybGF5IHtcbiAgICBtYXJnaW4tdG9wOiAtMjM5cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuY3RhLW92ZXJsYXkgLmFwcC1zY3JlZW5zaG90IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgYm94LXNoYWRvdzogMCA4cHggMTZweCByZ2JhKDAsIDE0LCA0MSwgMC4wOCksIDAgMzBweCA2MHB4IHJnYmEoMCwgMTEsIDM0LCAwLjE1KTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmN0YS1vdmVybGF5IC5hcHAtc2NyZWVuc2hvdCBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmN0YS1vdmVybGF5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTc2cHg7IH0gfVxuICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3Mge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDI0cHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyBbY2xhc3NePVwiY3VzdG9tZXItbG9nb1wiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tY3VzdG9tZXItc3ByaXRlLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyMXB4IDI1NnB4O1xuICAgICAgbWFyZ2luOiAzNHB4IDQycHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyBbY2xhc3NePVwiY3VzdG9tZXItbG9nb1wiXSB7XG4gICAgICAgICAgbWFyZ2luOiAyMnB4IDM0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIHtcbiAgICAgICAgcGFkZGluZzogOHB4OyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyBbY2xhc3NePVwiY3VzdG9tZXItbG9nb1wiXSB7XG4gICAgICAgICAgbWFyZ2luOiAxNnB4IDE4cHg7IH0gfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0tbGVuZGluZ2NsdWIge1xuICAgICAgd2lkdGg6IDEyMXB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1tY2RvbmFsZHMge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTlweDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1zdHVkeSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4O1xuICAgICAgd2lkdGg6IDExOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1jYXQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTlweDtcbiAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1nZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MHB4O1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3MgLmN1c3RvbWVyLWxvZ28tLWNvbWNhc3Qge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTA1cHg7XG4gICAgICB3aWR0aDogNzNweDtcbiAgICAgIGhlaWdodDogMjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0tYW10cmFrIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyNnB4O1xuICAgICAgd2lkdGg6IDQ3cHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3MgLmN1c3RvbWVyLWxvZ28tLWFpcmJ1cyB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDdweDtcbiAgICAgIHdpZHRoOiAxMDdweDtcbiAgICAgIGhlaWdodDogMjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0tYWFhIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2OHB4O1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDI3cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3MgLmN1c3RvbWVyLWxvZ28tLWRlbG9pdHRlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5NXB4O1xuICAgICAgd2lkdGg6IDg3cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3MgLmN1c3RvbWVyLWxvZ28tLXVzYWEge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjEycHg7XG4gICAgICB3aWR0aDogMjFweDtcbiAgICAgIGhlaWdodDogMjRweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0taW5nIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIzN3B4O1xuICAgICAgd2lkdGg6IDczcHg7XG4gICAgICBoZWlnaHQ6IDE5cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbzpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyAudmlkZW8tcGxheWVyIHtcbiAgICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tdmlkZW8gLnZpZGVvLXBsYXllcjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyAudmlkZW8tcGxheWVyOm5vdCguaXMtcGxheWluZyk6aG92ZXIgLnZpZGVvLXBsYXllci1mcmFtZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OSk7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tdmlkZW8gLnZpZGVvLXBsYXllcjpub3QoLmlzLXBsYXlpbmcpOmhvdmVyIC52aWRlby1wbGF5ZXItYnV0dG9uIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4wNSk7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tdmlkZW8gLnZpZGVvLXBsYXllci5pcy1yZWFkeSAudmlkZW8tcGxheWVyLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLXZpZGVvIC52aWRlby1wbGF5ZXIuaXMtcGxheWluZyAudmlkZW8tcGxheWVyLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLXZpZGVvIC52aWRlby1wbGF5ZXItYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tdmlkZW8gLnZpZGVvLXBsYXllci1mcmFtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tZGFzaC12aWRlby1zY3JlZW5zaG90LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2NC42NyU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyAudmlkZW8tcGxheWVyLWZyYW1lID4gaWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgI3BhZ2UtcHJvZHVjdHMgLnByby1iZW5lZml0cyB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1iZW5lZml0cyB1bCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1iZW5lZml0cyBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tYmVuZWZpdHMgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIycHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tYmVuZWZpdHMgbGk6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFERUFBQUF3Q0FZQUFBQzR3Sks1QUFBRC9FbEVRVlJvZ2MzYTI0dFZaUnpHOGM5YWM5ak9PT2pJTUdvTVNYUXhSQmMxNlVXUzRZVmlrQktLVUdURVVGMzVCd2poWDVCQ0YwRVhSaGNWVTBRVUNCWVI1QUVTSklrd3U0a1lMNEpBODVBNTZkQzRaMnhXRis4YTNUT3pEMnZ0dzVvZVdPek4zdXY5L1o0djczRzk3NHFTSkhId1krMVFIN1poSzBiVGF4QUQ2Zi9UbU1Ka2VwM0hPY3kwbXJpN3hmSjkySXR4N0VBcFE1bW5LNzZYY1FZVE9LRkpvR1loQm5FUWh6RFVaQXdDOVBQcGRSTnY0ejJoeGpJcnpwazB3dXRDYzNoTGF3QkxOWlRHbkV4elJGa0w1b0hZaUpQNEFNTjUzT1hVY0pyalpKcXpvYkpDYk1kRjdHek9WMVBhbWViYzN1akcrT2MvR2diYmoyK3hvV1ZiK2JVaHpiMi8zazJOYW1JL3ZwQnQxT21VU3FtSG1pRDFJTGJqMHdiM0ZLVlk4RksxYWRVeXVCR2ZXOWthV0txUzRHbFpaNjhHRWVFVEs5TUhHbW1ENEczUjhGc040alhGamtKNXRWUHdlRjlMSVFaeHRDZzNMZWlvNEJYTElRN3E3RVRXTGcwTFhyRVlvazlZQzYySWh0ZXdPdDh3Y2tqd3ZBaGlyL2F1aFRKclpCMzd0ckIzU3k2UUljSHpJb2p4Tm52THBKRjE3QjZqdTR1MS9leDVpbEwydGZVNER5RDZoT2VCUWxVSnNLRCtYbnF6USt4QVh3eHg1RmtGVDJ6VkFHWm0rZklDZCs1bURsUEN0bEFUa1dmYTdMR3U2Z0g4TlowNzNOWVlJaDVybThNRzJqallWZ0FZalJFbDRhRys0MXEvaGozdEJXQUJJbUpkNnhicmEvMGFYdGk4dU5PMkFRQUdRMDBrVnVjdDJWOEtFMVFXZFJBQUJrSk5STmtmeWdrVDByNHQ0UnBwVUljZEJrQTZUMFJSOXYyZXZ0NHdzNjd0RDIxNzkxaHRrQ0lBTUIwamlTTjNzcGJvaXVpcTZKaTFRQW9DZ0trWVNYZnN0NndscHN1YytERjhMbWdwU0lFQU1Ca2o2ZXB5S1UrcDJ6TzFRWjdZVkNnQUN4Q3JlbnlmdDJRdGtHMmpoUUxBK1JnZVhlOU1GSm5MVzdvYVNLWHV6blVjb0l4ek1XeCt4RlJ2dHgrYWlWSUxaUFllWC8vVVVRRENqdnBNRE1kTytiZlViYUxaU1BkQjB0Vm5lWTZ2TG5EOWRsdU0xdE1FUkJldkpJNmQ0dkVSYTMrOTR2ZjVSTVo1ZUxsS1BXd2E0dkl0L3FuUnhOcW9tM2pZUWszQUw1ZjlYZXJ4Yml0UnkzTmN1bG9JQU9Fc1k0WWx1eDBEcTd3VFIyNFZZcUUxM1JBT1k3QUU0c1p0ZjNaM09WeTRwZng2VThWcDBySWR3Tmw3M284ajN4VnFLWjlPNDZQS0g2cHRZeWJ6aVpkeHZRaEhPWFVOcnlLcC9MSFdydmhWdkNoTUp2OFhsZkdTNEcyUjZwMDluTVVybU8rUXFUeWFGN3ljcmZabm93T1U0MWErUnNxcGgrTzFic2h5Q25RY3p3bnRzV2hkUzNQWEJDRDdVZFpaakFralExRTZuZWFzMm9RcUZULzVVT2FnVjdFTGJ3aVRUYWQwSTgyeFM1Vk9YRTE1RHhVVGZDanNVeDBXMWkvdDBzMDA1bWlhSTZsLyt3TTFlekk2aFNQQ0F1d0F2dEZjNXkrblpRK2tzWTdJK1Y0SHJiOWxNNFBQMG12RlhoWDZEM21WS1RYMmZFTnNBQUFBQUVsRlRrU3VRbUNDXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWJlbmVmaXRzIGxpIGg0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWJlbmVmaXRzIGxpIHAge1xuICAgICAgICBjb2xvcjogIzU0NWM2YTtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDsgfVxuICAjcGFnZS1wcm9kdWN0cyAuaGVybyB7XG4gICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDM5JTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjIwcHg7XG4gICAgICBjb2xvcjogIzA3MGYxYTtcbiAgICAgIG1pbi1oZWlnaHQ6IDcyNHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuY29udGVudC5kYXJrIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuY29udGVudC5kYXJrIGgyLFxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuY29udGVudC5kYXJrIC5oZXJvX19jdGEge1xuICAgICAgICAgIGNvbG9yOiAjMTUxZDJiOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250ZW50LmRhcmsgcCB7XG4gICAgICAgICAgY29sb3I6ICM1OTZhODk7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250ZW50IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmNvbnRlbnQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmNvbnRlbnQgaDQge1xuICAgICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogIzgwOGZhNzsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuY29udGVudCBoNDo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3Byby9wcm9kdWN0LWhlYWRlci1pY29ucy5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDY0cHg7XG4gICAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuaGVyb19fY3RhLWJhciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm9fX2N0YS1iYXIgYSArIGEge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvX19jdGEtYmFyLXNlY29uZGFyeSB7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm9fX2N0YS1iYXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVyb19fY3RhLWJhci1zZWNvbmRhcnkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsgfSB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm9fX2N0YSB7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLWNvbG9yIDEwMG1zIGVhc2UtaW4tb3V0OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVyb19fY3RhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1xcZjI4Nyc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvX19jdGE6aG92ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvX19pY29uLWxpbmsge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVyb19faWNvbi1saW5rIGkge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVyb19faWNvbi1saW5rOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBvcGFjaXR5OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8uYWN0aXZlIC5jb250YWluZXI6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gaDQge1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICAgIGNvbG9yOiAjMjcyYTJmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyBoMyB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyBoMiB7XG4gICAgICBjb2xvcjogIzI3MmEyZjtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxNWVtOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gcCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDI2ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgY29sb3I6ICM1ZTY3Nzc7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIHAgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICMyNzJhMmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIHAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmJ0biB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDE1cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuYnRuIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5idG46OmFmdGVyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYyODcnO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTFweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuYnRuOmhvdmVyOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMnB4LCAwLCAwKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmNvbnRlbnQgaDIge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250ZW50IHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfSB9XG4gICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzI3MmEyZjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7XG4gICAgcGFkZGluZy10b3A6IDE0MHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGhncm91cCB7XG4gICAgICBtYXgtd2lkdGg6IDc0MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNjhweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGhncm91cCBoMyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjMDcwZjFhO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgaGdyb3VwIHAge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgICBjb2xvcjogIzQzNTQ2ZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyAuZmVhdHVyZXMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgLmZlYXR1cmVzIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgLmZlYXR1cmVzIHAge1xuICAgICAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGNvbG9yOiAjNjg3ZTk5O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMTVlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyBsaSB7XG4gICAgICBwYWRkaW5nLXRvcDogNjhweDtcbiAgICAgIGZsZXg6IDAgMSAzMjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGxpOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3Byby9wcm8tZmVhdHVyZS1pY29ucy5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyBsaS5mYXN0ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ4cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyBsaS5oYXBwaWVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgLmZlYXR1cmVzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogY2FsYyggNTAlIC0gMjRweCk7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGxpICsgbGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2OHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAycHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3MnB4OyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyBoZ3JvdXAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQycHg7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgaGdyb3VwIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyBoZ3JvdXAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07IH0gfVxuICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsIHdoaXRlIDAlLCAjZjZmOGZiIDEwMCUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuICAgICNwYWdlLXByb2R1Y3RzICN1cGRhdGVzIGg0OjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3VwZGF0ZXMgLmNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDE3OXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI3VwZGF0ZXMgLmNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxNDhweDsgfSB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3VwZGF0ZXMgLmFuaW0tdXBkYXRlcyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICNwYWdlLXByb2R1Y3RzICN1cGRhdGVzIC5hbmltLXVwZGF0ZXNfX3Jvb3Qge1xuICAgICAgd2lkdGg6IDcyNnB4O1xuICAgICAgaGVpZ2h0OiA0MzdweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNwYWdlLXByb2R1Y3RzICN1cGRhdGVzIC5hbmltLXVwZGF0ZXNfX2ZvcmVncm91bmQsXG4gICAgI3BhZ2UtcHJvZHVjdHMgI3VwZGF0ZXMgLmFuaW0tdXBkYXRlc19fYmFja2dyb3VuZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuYW5pbS11cGRhdGVzX19mb3JlZ3JvdW5kIHtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDEwMDBweCk7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuYW5pbS11cGRhdGVzX19iYWNrZ3JvdW5kIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMTAwcHgpOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3VwZGF0ZXMgLmFuaW0tdXBkYXRlc19fZGV2aWNlIHtcbiAgICAgIHdpZHRoOiA3MjZweDtcbiAgICAgIGhlaWdodDogNDM3cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby91cGRhdGVzLWlsbHVzdHJhdGlvbi1kZXZpY2UucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNzI2cHggNDM3cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWig1MDBweCk7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuYW5pbS11cGRhdGVzX19zY3JlZW4ge1xuICAgICAgd2lkdGg6IDMwOHB4O1xuICAgICAgaGVpZ2h0OiA1NTRweDtcbiAgICAgIGJhY2tncm91bmQ6ICM1ZDM3ZmY7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDI4cHg7XG4gICAgICBsZWZ0OiA0MDZweDtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDYwZGVnKSByb3RhdGVZKDAuN2RlZykgcm90YXRlWigzNi41ZGVnKSBza2V3KDJkZWcsIC0xLjVkZWcpOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuYW5pbS11cGRhdGVzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3VwZGF0ZXMgLmNvbnRlbnQge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogNjRweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI3VwZGF0ZXMgLmNvbnRlbnQgaDQ6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTsgfSB9XG4gICNwYWdlLXByb2R1Y3RzICNidWlsZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsIHdoaXRlIDAlLCAjZjZmOGZiIDEwMCUpO1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjYnVpbGQgaDQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02NHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI2J1aWxkIC5hbmltLWJ1aWxkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMzklO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNidWlsZCAuYW5pbS1idWlsZF9fdGV4dCB7XG4gICAgICBmaWxsOiAjNWQzN2ZmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI2J1aWxkIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNDBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2J1aWxkIC5jb250YWluZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDAlO1xuICAgICAgICB0b3A6IDEyOHB4O1xuICAgICAgICBib3R0b206IDEyOHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYnVpbGQgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNjRweDtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYnVpbGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNidWlsZCAuYW5pbS1idWlsZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYnVpbGQgLmNvbnRlbnQge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDY0cHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI2J1aWxkIC5jb250ZW50IGg0OjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTsgfSB9XG4gICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcge1xuICAgIGJhY2tncm91bmQ6ICMwODFiMTc7XG4gICAgcGFkZGluZzogNTBweCAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyBoNCxcbiAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5idG4ge1xuICAgICAgY29sb3I6ICM2MDdkNzk7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgaDQ6OmJlZm9yZSxcbiAgICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgLmJ0bjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjU2cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5hbmltLXJlcG9ydGluZyB7XG4gICAgICB3aWR0aDogMTA4NHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI0MHB4KTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nICNhbmltLXJlcG9ydGluZ19fc3ZnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyAuYW5pbS1yZXBvcnRpbmdfX2JnIHtcbiAgICAgIGZpbGw6ICMwZDJiMjU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5hbmltLXJlcG9ydGluZ19fc2NhbiB7XG4gICAgICBhbmltYXRpb24tbmFtZTogY3ljbGUtZmFkZTtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7IH1cblxuQGtleWZyYW1lcyBjeWNsZS1mYWRlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMC40OyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5hbmltLXJlcG9ydGluZ19fYnVnIHtcbiAgICAgIGZpbGw6ICNmZjMyNjc7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyAuY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTcycHg7XG4gICAgICB3aWR0aDogNDAlO1xuICAgICAgei1pbmRleDogNTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyAuY29udGVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyAuYW5pbS1yZXBvcnRpbmcge1xuICAgICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgLmFuaW0tcmVwb3J0aW5nX19jbGlwcGVkIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgLmFuaW0tcmVwb3J0aW5nIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgLmNvbnRlbnQge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDY0cHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyAuY29udGVudCBoNDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMzJweCk7IH0gfVxuICAjcGFnZS1wcm9kdWN0cyAjcHVzaCB7XG4gICAgYmFja2dyb3VuZDogI2ZmYmMyYSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmNlMzkgMCUsICNmZmFkMjAgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3B1c2ggaDQge1xuICAgICAgY29sb3I6ICNkMjZkMDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNwdXNoIGg0OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNwdXNoIC5jb250YWluZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm9kdWN0LXB1c2gtaW1nLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMDtcbiAgICAgIHRvcDogODBweDtcbiAgICAgIGJvdHRvbTogODBweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjcHVzaCAuY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMTMwcHg7XG4gICAgICAgICAgYm90dG9tOiAxMzBweDsgfSB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3B1c2ggLmNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDE3MnB4O1xuICAgICAgd2lkdGg6IDM1JTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3B1c2ggLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3B1c2ggLmNvbnRlbnQge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogNjRweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI3B1c2ggLmNvbnRlbnQgaDQ6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTsgfSB9XG4gICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZmFmYztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgd2hpdGUgMCUsICNmNmY4ZmIgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTYwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgaDQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDIyMHB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MDBweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlIHN2ZyAuY29ubmVjdG9yIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgc3Ryb2tlLWRhc2hhcnJheTogODBweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlIHN2ZyByZWN0LmZvdXIge1xuICAgICAgICBvcGFjaXR5OiAwLjY7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZSBzdmcgI3RvcCxcbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZSBzdmcgI2JvdHRvbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlIHN2ZyAjYm90dG9tIHtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlIHN2ZyAjdG9wIHtcbiAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlIHN2ZyA+IGcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzkwcHg7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5jb250ZW50IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5jb250ZW50IGg0OjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMzJweCk7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICAgICAgdG9wOiA0NzBweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTY3MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuY29udGVudCB7XG4gICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNjRweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmNvbnRlbnQgaDQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDMycHgpOyB9IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSA+IGRpdiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIG1heC13aWR0aDogMTE0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgPiBkaXYgcCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgXCJJbnRlciBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpID4gZGl2IHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICBmb250LWZhbWlseTogMTJweDsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgPiBkaXY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5tYXN0ZXI6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vcHJvLWF1dG9tYXRlLWFuaW1hdGlvbi9tYXN0ZXIucG5nXCIpO1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAzMHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLnN0YWdpbmc6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vcHJvLWF1dG9tYXRlLWFuaW1hdGlvbi9zdGFnaW5nLnBuZ1wiKTtcbiAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTEwcHggMzBweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5xYTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tYXV0b21hdGUtYW5pbWF0aW9uL3FhLnBuZ1wiKTtcbiAgICAgICAgd2lkdGg6IDYxcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2MXB4IDMwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAuYW5kcm9pZDpiZWZvcmUsXG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLmlvczpiZWZvcmUsXG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLndlYjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogNjJweDtcbiAgICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYycHggNjJweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5hbmRyb2lkOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3Byby1hdXRvbWF0ZS1hbmltYXRpb24vYW5kcm9pZC5wbmdcIik7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAuaW9zOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3Byby1hdXRvbWF0ZS1hbmltYXRpb24vaW9zLnBuZ1wiKTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC53ZWI6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vcHJvLWF1dG9tYXRlLWFuaW1hdGlvbi9qcy5wbmdcIik7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAudGVzdGZsaWdodDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tYXV0b21hdGUtYW5pbWF0aW9uL3Rlc3RmbGlnaHQucG5nXCIpO1xuICAgICAgICB3aWR0aDogNTNweDtcbiAgICAgICAgaGVpZ2h0OiA1M3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUzcHggNTNweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5wbGF5c3RvcmU6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vcHJvLWF1dG9tYXRlLWFuaW1hdGlvbi9wbGF5c3RvcmUucG5nXCIpO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwcHggNTVweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC53ZWJob29rOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3Byby1hdXRvbWF0ZS1hbmltYXRpb24vd2ViaG9vay5wbmdcIik7XG4gICAgICAgIHdpZHRoOiA1OHB4O1xuICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNThweCA1NHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLm1hc3RlcixcbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAuc3RhZ2luZyxcbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAucWEge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMTk1cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAuYW5kcm9pZCxcbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAuaW9zLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC53ZWIge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMzY4cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAuYW5kcm9pZCxcbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAud2ViIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE3NHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLmlvcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc4cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAudGVzdGZsaWdodCxcbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAucGxheXN0b3JlLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC53ZWJob29rIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDU0MHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLnRlc3RmbGlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTM1MnB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLnBsYXlzdG9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzNTJweDsgfVxuICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIHtcbiAgICBwYWRkaW5nOiAxOTZweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOTQwNzI7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIGhncm91cCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgaGdyb3VwIGgzIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgaGdyb3VwIHAge1xuICAgICAgICBjb2xvcjogI2Q3ZDllYjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgXCJJbnRlciBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyB1bCB7XG4gICAgICBtYXJnaW46IDAgLTI0cHggMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBsaSB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWFyZ2luLXRvcDogODZweDtcbiAgICAgIHBhZGRpbmc6IDAgMjRweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBsaSBoNSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgbGkgcCB7XG4gICAgICAgIGNvbG9yOiAjYjliY2Q4O1xuICAgICAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIFtjbGFzc149XCJwcm8tZmVhdHVyZS0tXCJdIGg1OjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vcHJvLWZlYXR1cmUtc3ByaXRlLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMTkycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIC5wcm8tZmVhdHVyZS0tYXBwLWRhc2hib2FyZCBoNTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgLnByby1mZWF0dXJlLS1jb25maWd1cmFibGUgaDU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNhbGMoLTEgKiAyNHB4KTsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgLnByby1mZWF0dXJlLS1jbGVhbi1idWlsZHMgaDU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNhbGMoLTIgKiAyNHB4KTsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgLnByby1mZWF0dXJlLS1tb2JpbGUtY2ktY2QgaDU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNhbGMoLTMgKiAyNHB4KTsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgLnByby1mZWF0dXJlLS1naXQtaW50ZWdyYXRpb25zIGg1OjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCBjYWxjKC00ICogMjRweCk7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIC5wcm8tZmVhdHVyZS0tY29ubmVjdGVkLXNlcnZpY2VzIGg1OjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCBjYWxjKC01ICogMjRweCk7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIC5wcm8tZmVhdHVyZS0tbGl2ZS1hcHAtdXBkYXRpbmcgaDU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNhbGMoLTYgKiAyNHB4KTsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgLnByby1mZWF0dXJlLS1yb2xlLWJhc2VkLWNvbnRyb2xzIGg1OjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCBjYWxjKC03ICogMjRweCk7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIGxpIHtcbiAgICAgICAgZmxleDogMCAwIDMzJTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIHtcbiAgICAgICAgcGFkZGluZzogOTBweCAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBoNSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBsaSB7XG4gICAgICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIGhncm91cCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAzNnB4OyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMgLmdldC1zdGFydGVkIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICMxYjFmM2EgMCUsICMyOTJmNTIgMTAwJSk7XG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQgLmNvbnRhaW5lciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTIwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQgaGdyb3VwIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyNWVtO1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmdldC1zdGFydGVkIGgyIHtcbiAgICAgIGNvbG9yOiAjZTBlM2Y2O1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IDY4MHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQgaDIgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQgaDMge1xuICAgICAgY29sb3I6ICM4YWE2ZmY7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQgLmJ0biB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTBlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZmEzZmY7XG4gICAgICBwYWRkaW5nOiAxNnB4IDI4cHggMTRweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmdldC1zdGFydGVkIC5idG46aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg5NWZjOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQgLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5nZXQtc3RhcnRlZCBoZ3JvdXAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTZweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmdldC1zdGFydGVkIC5idG4tZ3JvdXAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTZweDsgfSB9XG4iXX0= */ ================================================ FILE: content/css/pages/products/advisory.css ================================================ #page-products-advisory .top { text-align: center; background-color: #171E2A; margin-top: -148px; padding-top: 235px; padding-bottom: 140px; background-image: url("/img/products/advisory/advisory-hero-bg.png"); background-repeat: no-repeat; background-size: cover; background-position: center center; } #page-products-advisory .top hgroup { color: #fff; } #page-products-advisory .top hgroup h4 { line-height: 25px; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #B2BECD; font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; margin-bottom: 0; } #page-products-advisory .top hgroup h1, #page-products-advisory .top hgroup p { margin-left: auto; margin-right: auto; } #page-products-advisory .top hgroup h1 { line-height: 63px; font-size: 56px; letter-spacing: -0.02em; margin-top: 14px; max-width: 600px; } #page-products-advisory .top hgroup p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 22px; line-height: 30px; max-width: 540px; color: #DEE3EA; } #page-products-advisory .top hgroup .btn { margin-top: 24px; font-weight: 700; font-size: 14px; letter-spacing: 0.06em; } @media (max-width: 768px) { #page-products-advisory .top hgroup h1 { font-size: 48px; line-height: 54px; } } @media (max-width: 480px) { #page-products-advisory .top hgroup h1 { font-size: 40px; line-height: 44px; } #page-products-advisory .top hgroup p { line-height: 28px; font-size: 18px; } } @media (max-width: 768px) { #page-products-advisory .top { margin-top: 0; padding-top: 54px; padding-bottom: 78px; } } #page-products-advisory main section { padding: 72px 0; } #page-products-advisory main section h2 { font-size: 32px; line-height: 42px; letter-spacing: -0.03em; color: #1A232F; margin-bottom: 20px; } #page-products-advisory main section h4 { font-weight: 600; font-size: 18px; line-height: 24px; letter-spacing: -0.02em; color: #1A232F; margin-top: 16px; margin-bottom: 6px; } #page-products-advisory main section p { color: #4E5B6A; line-height: 26px; font-size: 16px; letter-spacing: -0.01em; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; } #page-products-advisory main section p.large { color: #27323F; line-height: 39px; font-size: 22px; letter-spacing: -0.02em; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; margin-bottom: 24px; } #page-products-advisory main section p.small { line-height: 22px; font-size: 14px; letter-spacing: -0.02em; color: #5B708B; } #page-products-advisory main section .btn { color: #fff; background: #3880FF; box-shadow: 0px 0px 2px rgba(0, 20, 56, 0.14), 0px 2px 3px rgba(0, 20, 56, 0.08); border-radius: 84px; font-weight: 700; font-size: 14px; letter-spacing: 0.06em; padding: 19px 25px 19px; height: 52px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } #page-products-advisory main section .btn ion-icon { font-size: 18px; margin-left: 4px; -webkit-transform: translate(0, -1px); transform: translate(0, -1px); } #page-products-advisory main section .btn:hover { background-color: #4287ff; } #page-products-advisory main section .btn:hover ion-icon { -webkit-transform: translate(1px, -1px); transform: translate(1px, -1px); } @media (max-width: 768px) { #page-products-advisory main section { padding: 60px 0; } } @media (max-width: 480px) { #page-products-advisory main section { padding: 40px 0; } } #page-products-advisory .flex { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; } #page-products-advisory .measure { max-width: 560px; } #page-products-advisory .measure-lg { max-width: 720px; } #page-products-advisory .customer-logos { padding: 0; } #page-products-advisory .customer-logos ul { padding: 32px 0; list-style-type: none; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: center; align-items: center; } #page-products-advisory .customer-logos [class^='customer-logo'] { display: block; background-image: url("/img/products/advisory/advisory-logo-sprite.png"); background-repeat: no-repeat; background-size: 176px 193px; } #page-products-advisory .customer-logos .customer-logo--aaa { width: 72px; height: 42px; background-position: 0 0; } #page-products-advisory .customer-logos .customer-logo--amtrak { width: 176px; height: 20px; background-position: 0 -43px; } #page-products-advisory .customer-logos .customer-logo--panera { width: 112px; height: 39px; background-position: 0 -64px; } #page-products-advisory .customer-logos .customer-logo--ge { width: 48px; height: 49px; background-position: 0 -103px; } #page-products-advisory .customer-logos .customer-logo--rbi { width: 62px; height: 41px; background-position: 0 -152px; } #page-products-advisory .customer-logos img { height: 48px; margin-left: auto; margin-right: auto; } @media (max-width: 992px) { #page-products-advisory .customer-logos [class^='customer-logo'] { -webkit-transform: scale(0.75); transform: scale(0.75); } } @media (max-width: 768px) { #page-products-advisory .customer-logos ul { padding-bottom: 0; padding-bottom: 0; } } @media (max-width: 480px) { #page-products-advisory .customer-logos ul { -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: -10px auto; max-width: 460px; } #page-products-advisory .customer-logos [class^='customer-logo'] { -webkit-transform: scale(0.7); transform: scale(0.7); margin: 3px; } } @media (max-width: 992px) { #page-products-advisory .goals .flex { -ms-flex-direction: column; flex-direction: column; } #page-products-advisory .goals .checkmark-list--large { padding-left: 0; padding-top: 24px; max-width: 460px; } } #page-products-advisory .lifecycle .flex { width: 100%; } #page-products-advisory .lifecycle .illustration, #page-products-advisory .lifecycle hgroup { -ms-flex: 0 0 50%; flex: 0 0 50%; } #page-products-advisory .lifecycle .illustration img { width: 100%; max-width: 430px; margin-top: 44px; } #page-products-advisory .lifecycle ul { list-style: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } #page-products-advisory .lifecycle li { -ms-flex: 0 0 50%; flex: 0 0 50%; padding-right: 50px; margin-bottom: 12px; } #page-products-advisory .lifecycle h5 { text-transform: uppercase; letter-spacing: 0.08em; font-size: 13px; } #page-products-advisory .lifecycle h5.blue { color: #3880FF; } #page-products-advisory .lifecycle h5.purple { color: #6030FF; } #page-products-advisory .lifecycle h5.green { color: #43C465; } #page-products-advisory .lifecycle h5.gray { color: #5B708B; } @media (max-width: 992px) { #page-products-advisory .lifecycle .flex { -ms-flex-direction: column; flex-direction: column; } #page-products-advisory .lifecycle .illustration { text-align: center; } #page-products-advisory .lifecycle .illustration img { margin-top: 0; margin-bottom: 44px; } #page-products-advisory .lifecycle h2, #page-products-advisory .lifecycle hgroup > p { text-align: center; } } @media (max-width: 480px) { #page-products-advisory .lifecycle li { -ms-flex: 0 0 100%; flex: 0 0 100%; } #page-products-advisory .lifecycle h2, #page-products-advisory .lifecycle hgroup > p { text-align: left; } } #page-products-advisory .book-a-session .well { padding: 54px 54px 48px; border-radius: 8px; background-color: #F4F6FC; display: -ms-flexbox; display: flex; -ms-flex-align: end; align-items: flex-end; -ms-flex-pack: justify; justify-content: space-between; } #page-products-advisory .book-a-session h3 { margin-top: 0; font-size: 26px; letter-spacing: -0.02em; color: #020814; font-weight: 600; } #page-products-advisory .book-a-session p.large { line-height: 32px; font-size: 20px; letter-spacing: -0.02em; color: #73849A; margin-bottom: 0; } #page-products-advisory .book-a-session p.large strong { font-weight: 400; color: #020814; } #page-products-advisory .book-a-session .btn { margin-left: 40px; } @media (max-width: 1220px) { #page-products-advisory .book-a-session p.large { font-size: 18px; line-height: 30px; letter-spacing: -0.01em; } } @media (max-width: 992px) { #page-products-advisory .book-a-session .well { -ms-flex-direction: column; flex-direction: column; text-align: center; -ms-flex-align: center; align-items: center; } #page-products-advisory .book-a-session .btn { margin-left: 0px; margin-top: 18px; } } @media (max-width: 480px) { #page-products-advisory .book-a-session .well { padding: 32px; } } #page-products-advisory .what-you-get .checkmark-list--large { max-width: 100%; padding: 0; margin: 38px 0 0; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } #page-products-advisory .what-you-get .checkmark-list--large li { -ms-flex-direction: column; flex-direction: column; -ms-flex: 0 0 25%; flex: 0 0 25%; padding-right: 24px; margin-bottom: 24px; } #page-products-advisory .what-you-get .checkmark-list--large li + li { margin-top: 0; } @media (max-width: 992px) { #page-products-advisory .what-you-get .checkmark-list--large li { -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; } } @media (max-width: 768px) { #page-products-advisory .what-you-get .checkmark-list--large li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { #page-products-advisory .what-you-get .checkmark-list--large li { -ms-flex: 0 0 100%; flex: 0 0 100%; } } #page-products-advisory .use-cases hgroup h2 { margin-bottom: 4px; } #page-products-advisory .use-cases hgroup p.large { margin-bottom: 28px; } #page-products-advisory .use-cases .row-list { list-style-type: none; margin: 0; padding: 0; } #page-products-advisory .use-cases .row-list > li { display: block; border-top: 1px solid #DEE3EA; display: -ms-flexbox; display: flex; padding-top: 32px; } #page-products-advisory .use-cases .row-list h4 { margin-top: 4px; font-size: 20px; } #page-products-advisory .use-cases .row-list h5 { margin-top: 7px; font-size: 16px; font-weight: 600; } #page-products-advisory .use-cases .row-list > li + li { margin-top: 32px; } #page-products-advisory .use-cases .row-list .col { -ms-flex: 0 0 50%; flex: 0 0 50%; } #page-products-advisory .use-cases .row-list .measure { max-width: 440px; } #page-products-advisory .use-cases .row-list hgroup { margin-right: 60px; } @media (max-width: 768px) { #page-products-advisory .use-cases .row-list > li { -ms-flex-direction: column; flex-direction: column; } #page-products-advisory .use-cases .row-list hgroup { margin-right: 0; margin-bottom: 20px; } #page-products-advisory .use-cases .row-list .measure { max-width: 580px; } } #page-products-advisory .resources { padding-bottom: 120px; } @media (max-width: 768px) { #page-products-advisory .resources { padding-bottom: 60px; } } #page-products-advisory .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } #page-products-advisory .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } #page-products-advisory .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } #page-products-advisory .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } #page-products-advisory .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } #page-products-advisory .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } #page-products-advisory .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } #page-products-advisory .resources .cards li a { display: block; width: 100%; } #page-products-advisory .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } #page-products-advisory .resources .cards li img { width: 100%; } #page-products-advisory .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } #page-products-advisory .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } #page-products-advisory .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { #page-products-advisory .resources .cards { margin-left: -12px; margin-right: -12px; } #page-products-advisory .resources .cards li { padding: 12px; } } @media (max-width: 768px) { #page-products-advisory .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } #page-products-advisory .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { #page-products-advisory .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } #page-products-advisory .resources h5 { display: none; } } #page-products-advisory .modal form { max-width: 100%; } #page-products-advisory .modal-body { padding: 32px 48px 48px; } #page-products-advisory .call-to-action { background-color: #F6F8FB; padding-top: 140px; padding-bottom: 100px; } #page-products-advisory .call-to-action .container { max-width: 768px; } #page-products-advisory .call-to-action hgroup { text-align: center; margin-bottom: 40px; } #page-products-advisory .call-to-action hgroup h3 { font-size: 28px; font-weight: 600; text-align: center; letter-spacing: -0.02em; color: #616E7E; margin-bottom: 4px; } #page-products-advisory .call-to-action hgroup h3 em { font-style: normal; color: #1A232F; } #page-products-advisory .call-to-action hgroup p { line-height: 32px; font-size: 18px; text-align: center; letter-spacing: -0.01em; color: #5B708B; } #page-products-advisory .call-to-action hgroup p b { font-weight: 500; } @media (max-width: 768px) { #page-products-advisory .call-to-action { padding-top: 80px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFkdmlzb3J5LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQixzQkFBc0I7RUFDdEIscUVBQXFFO0VBQ3JFLDZCQUE2QjtFQUM3Qix1QkFBdUI7RUFDdkIsbUNBQW1DLEVBQUU7RUFDckM7SUFDRSxZQUFZLEVBQUU7SUFDZDtNQUNFLGtCQUFrQjtNQUNsQixnQkFBZ0I7TUFDaEIsdUJBQXVCO01BQ3ZCLDBCQUEwQjtNQUMxQixlQUFlO01BQ2YsOEVBQThFO01BQzlFLGlCQUFpQixFQUFFO0lBQ3JCOztNQUVFLGtCQUFrQjtNQUNsQixtQkFBbUIsRUFBRTtJQUN2QjtNQUNFLGtCQUFrQjtNQUNsQixnQkFBZ0I7TUFDaEIsd0JBQXdCO01BQ3hCLGlCQUFpQjtNQUNqQixpQkFBaUIsRUFBRTtJQUNyQjtNQUNFLDZEQUE2RDtNQUM3RCxnQkFBZ0I7TUFDaEIsa0JBQWtCO01BQ2xCLGlCQUFpQjtNQUNqQixlQUFlLEVBQUU7SUFDbkI7TUFDRSxpQkFBaUI7TUFDakIsaUJBQWlCO01BQ2pCLGdCQUFnQjtNQUNoQix1QkFBdUIsRUFBRTtJQUMzQjtNQUNFO1FBQ0UsZ0JBQWdCO1FBQ2hCLGtCQUFrQixFQUFFLEVBQUU7SUFDMUI7TUFDRTtRQUNFLGdCQUFnQjtRQUNoQixrQkFBa0IsRUFBRTtNQUN0QjtRQUNFLGtCQUFrQjtRQUNsQixnQkFBZ0IsRUFBRSxFQUFFO0VBQzFCO0lBQ0U7TUFDRSxjQUFjO01BQ2Qsa0JBQWtCO01BQ2xCLHFCQUFxQixFQUFFLEVBQUU7O0FBRS9CO0VBQ0UsZ0JBQWdCLEVBQUU7RUFDbEI7SUFDRSxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLHdCQUF3QjtJQUN4QixlQUFlO0lBQ2Ysb0JBQW9CLEVBQUU7RUFDeEI7SUFDRSxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQix3QkFBd0I7SUFDeEIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixtQkFBbUIsRUFBRTtFQUN2QjtJQUNFLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4QiwrREFBK0QsRUFBRTtFQUNuRTtJQUNFLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4Qiw2REFBNkQ7SUFDN0Qsb0JBQW9CLEVBQUU7RUFDeEI7SUFDRSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4QixlQUFlLEVBQUU7RUFDbkI7SUFDRSxZQUFZO0lBQ1osb0JBQW9CO0lBQ3BCLGlGQUFpRjtJQUNqRixvQkFBb0I7SUFDcEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLGFBQWE7SUFDYixxQkFBYztJQUFkLGNBQWM7SUFDZCx1QkFBb0I7UUFBcEIsb0JBQW9CLEVBQUU7SUFDdEI7TUFDRSxnQkFBZ0I7TUFDaEIsaUJBQWlCO01BQ2pCLHNDQUE4QjtjQUE5Qiw4QkFBOEIsRUFBRTtJQUNsQztNQUNFLDBCQUEwQixFQUFFO01BQzVCO1FBQ0Usd0NBQWdDO2dCQUFoQyxnQ0FBZ0MsRUFBRTtFQUN4QztJQUNFO01BQ0UsZ0JBQWdCLEVBQUUsRUFBRTtFQUN4QjtJQUNFO01BQ0UsZ0JBQWdCLEVBQUUsRUFBRTs7QUFFMUI7RUFDRSxxQkFBYztFQUFkLGNBQWM7RUFDZCx1QkFBK0I7TUFBL0IsK0JBQStCLEVBQUU7O0FBRW5DO0VBQ0UsaUJBQWlCLEVBQUU7RUFDbkI7SUFDRSxpQkFBaUIsRUFBRTs7QUFFdkI7RUFDRSxXQUFXLEVBQUU7RUFDYjtJQUNFLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIscUJBQWM7SUFBZCxjQUFjO0lBQ2QsdUJBQStCO1FBQS9CLCtCQUErQjtJQUMvQix1QkFBb0I7UUFBcEIsb0JBQW9CLEVBQUU7RUFDeEI7SUFDRSxlQUFlO0lBQ2YseUVBQXlFO0lBQ3pFLDZCQUE2QjtJQUM3Qiw2QkFBNkIsRUFBRTtFQUNqQztJQUNFLFlBQVk7SUFDWixhQUFhO0lBQ2IseUJBQXlCLEVBQUU7RUFDN0I7SUFDRSxhQUFhO0lBQ2IsYUFBYTtJQUNiLDZCQUE2QixFQUFFO0VBQ2pDO0lBQ0UsYUFBYTtJQUNiLGFBQWE7SUFDYiw2QkFBNkIsRUFBRTtFQUNqQztJQUNFLFlBQVk7SUFDWixhQUFhO0lBQ2IsOEJBQThCLEVBQUU7RUFDbEM7SUFDRSxZQUFZO0lBQ1osYUFBYTtJQUNiLDhCQUE4QixFQUFFO0VBQ2xDO0lBQ0UsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixtQkFBbUIsRUFBRTtFQUN2QjtJQUNFO01BQ0UsK0JBQXVCO2NBQXZCLHVCQUF1QixFQUFFLEVBQUU7RUFDL0I7SUFDRTtNQUNFLGtCQUFrQjtNQUNsQixrQkFBa0IsRUFBRSxFQUFFO0VBQzFCO0lBQ0U7TUFDRSxzQkFBd0I7VUFBeEIsd0JBQXdCO01BQ3hCLG9CQUFnQjtVQUFoQixnQkFBZ0I7TUFDaEIsbUJBQW1CO01BQ25CLGlCQUFpQixFQUFFO0lBQ3JCO01BQ0UsOEJBQXNCO2NBQXRCLHNCQUFzQjtNQUN0QixZQUFZLEVBQUUsRUFBRTs7QUFFdEI7RUFDRTtJQUNFLDJCQUF1QjtRQUF2Qix1QkFBdUIsRUFBRTtFQUMzQjtJQUNFLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUUsRUFBRTs7QUFFekI7RUFDRSxZQUFZLEVBQUU7O0FBRWhCOztFQUVFLGtCQUFjO01BQWQsY0FBYyxFQUFFOztBQUVsQjtFQUNFLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsaUJBQWlCLEVBQUU7O0FBRXJCO0VBQ0UsaUJBQWlCO0VBQ2pCLFVBQVU7RUFDVixXQUFXO0VBQ1gscUJBQWM7RUFBZCxjQUFjO0VBQ2Qsb0JBQWdCO01BQWhCLGdCQUFnQixFQUFFOztBQUVwQjtFQUNFLGtCQUFjO01BQWQsY0FBYztFQUNkLG9CQUFvQjtFQUNwQixvQkFBb0IsRUFBRTs7QUFFeEI7RUFDRSwwQkFBMEI7RUFDMUIsdUJBQXVCO0VBQ3ZCLGdCQUFnQixFQUFFO0VBQ2xCO0lBQ0UsZUFBZSxFQUFFO0VBQ25CO0lBQ0UsZUFBZSxFQUFFO0VBQ25CO0lBQ0UsZUFBZSxFQUFFO0VBQ25CO0lBQ0UsZUFBZSxFQUFFOztBQUVyQjtFQUNFO0lBQ0UsMkJBQXVCO1FBQXZCLHVCQUF1QixFQUFFO0VBQzNCO0lBQ0UsbUJBQW1CLEVBQUU7RUFDdkI7SUFDRSxjQUFjO0lBQ2Qsb0JBQW9CLEVBQUU7RUFDeEI7O0lBRUUsbUJBQW1CLEVBQUUsRUFBRTs7QUFFM0I7RUFDRTtJQUNFLG1CQUFlO1FBQWYsZUFBZSxFQUFFO0VBQ25COztJQUVFLGlCQUFpQixFQUFFLEVBQUU7O0FBRXpCO0VBQ0Usd0JBQXdCO0VBQ3hCLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIscUJBQWM7RUFBZCxjQUFjO0VBQ2Qsb0JBQXNCO01BQXRCLHNCQUFzQjtFQUN0Qix1QkFBK0I7TUFBL0IsK0JBQStCLEVBQUU7O0FBRW5DO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtFQUNoQix3QkFBd0I7RUFDeEIsZUFBZTtFQUNmLGlCQUFpQixFQUFFOztBQUVyQjtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsd0JBQXdCO0VBQ3hCLGVBQWU7RUFDZixpQkFBaUIsRUFBRTtFQUNuQjtJQUNFLGlCQUFpQjtJQUNqQixlQUFlLEVBQUU7O0FBRXJCO0VBQ0Usa0JBQWtCLEVBQUU7O0FBRXRCO0VBQ0U7SUFDRSxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLHdCQUF3QixFQUFFLEVBQUU7O0FBRWhDO0VBQ0U7SUFDRSwyQkFBdUI7UUFBdkIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQix1QkFBb0I7UUFBcEIsb0JBQW9CLEVBQUU7RUFDeEI7SUFDRSxpQkFBaUI7SUFDakIsaUJBQWlCLEVBQUUsRUFBRTs7QUFFekI7RUFDRTtJQUNFLGNBQWMsRUFBRSxFQUFFOztBQUV0QjtFQUNFLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLHFCQUFjO0VBQWQsY0FBYztFQUNkLG9CQUFnQjtNQUFoQixnQkFBZ0IsRUFBRTs7QUFFcEI7RUFDRSwyQkFBdUI7TUFBdkIsdUJBQXVCO0VBQ3ZCLGtCQUFjO01BQWQsY0FBYztFQUNkLG9CQUFvQjtFQUNwQixvQkFBb0IsRUFBRTtFQUN0QjtJQUNFLGNBQWMsRUFBRTs7QUFFcEI7RUFDRTtJQUNFLHFCQUFpQjtRQUFqQixpQkFBaUIsRUFBRSxFQUFFOztBQUV6QjtFQUNFO0lBQ0Usa0JBQWM7UUFBZCxjQUFjLEVBQUUsRUFBRTs7QUFFdEI7RUFDRTtJQUNFLG1CQUFlO1FBQWYsZUFBZSxFQUFFLEVBQUU7O0FBRXZCO0VBQ0UsbUJBQW1CLEVBQUU7O0FBRXZCO0VBQ0Usb0JBQW9CLEVBQUU7O0FBRXhCO0VBQ0Usc0JBQXNCO0VBQ3RCLFVBQVU7RUFDVixXQUFXLEVBQUU7RUFDYjtJQUNFLGVBQWU7SUFDZiw4QkFBOEI7SUFDOUIscUJBQWM7SUFBZCxjQUFjO0lBQ2Qsa0JBQWtCLEVBQUU7RUFDdEI7SUFDRSxnQkFBZ0I7SUFDaEIsZ0JBQWdCLEVBQUU7RUFDcEI7SUFDRSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFFO0VBQ3JCO0lBQ0UsaUJBQWlCLEVBQUU7RUFDckI7SUFDRSxrQkFBYztRQUFkLGNBQWMsRUFBRTtFQUNsQjtJQUNFLGlCQUFpQixFQUFFO0VBQ3JCO0lBQ0UsbUJBQW1CLEVBQUU7O0FBRXpCO0VBQ0U7SUFDRSwyQkFBdUI7UUFBdkIsdUJBQXVCLEVBQUU7RUFDM0I7SUFDRSxnQkFBZ0I7SUFDaEIsb0JBQW9CLEVBQUU7RUFDeEI7SUFDRSxpQkFBaUIsRUFBRSxFQUFFOztBQUV6QjtFQUNFLHNCQUFzQixFQUFFO0VBQ3hCO0lBQ0U7TUFDRSxxQkFBcUIsRUFBRSxFQUFFO0VBQzdCO0lBQ0Usc0JBQXNCO0lBQ3RCLFVBQVU7SUFDVixXQUFXO0lBQ1gscUJBQWM7SUFBZCxjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLG9CQUFvQixFQUFFO0VBQ3hCO0lBQ0UscUJBQWM7SUFBZCxjQUFjO0lBQ2QsdUJBQStCO1FBQS9CLCtCQUErQjtJQUMvQix5QkFBc0I7UUFBdEIsc0JBQXNCLEVBQUU7SUFDeEI7TUFDRSxpQkFBaUI7TUFDakIsb0JBQW9CO01BQ3BCLGdCQUFnQjtNQUNoQix3QkFBd0I7TUFDeEIsZUFBZTtNQUNmLGlCQUFpQixFQUFFO0lBQ3JCO01BQ0UsaUJBQWlCO01BQ2pCLGdCQUFnQjtNQUNoQixvQkFBb0I7TUFDcEIsd0JBQXdCO01BQ3hCLGVBQWUsRUFBRTtJQUNuQjtNQUNFLGlCQUFpQjtNQUNqQixlQUFlO01BQ2YsZ0JBQWdCO01BQ2hCLHVCQUF1QjtNQUN2QixlQUFlO01BQ2YsMEJBQTBCLEVBQUU7SUFDOUI7TUFDRSxtQ0FBMkI7Y0FBM0IsMkJBQTJCLEVBQUU7RUFDakM7SUFDRSxlQUFlO0lBQ2YscUJBQWlCO1FBQWpCLGlCQUFpQjtJQUNqQixjQUFjLEVBQUU7SUFDaEI7TUFDRSxlQUFlO01BQ2YsWUFBWSxFQUFFO0lBQ2hCO01BQ0UsaUJBQWlCO01BQ2pCLG1CQUFtQixFQUFFO0lBQ3ZCO01BQ0UsWUFBWSxFQUFFO0lBQ2hCO01BQ0Usa0JBQWtCO01BQ2xCLGdCQUFnQjtNQUNoQix1QkFBdUI7TUFDdkIsMEJBQTBCO01BQzFCLGVBQWU7TUFDZixpQkFBaUI7TUFDakIsaUJBQWlCLEVBQUU7SUFDckI7TUFDRSxnQkFBZ0I7TUFDaEIsaUJBQWlCO01BQ2pCLGVBQWU7TUFDZixpQkFBaUIsRUFBRTtJQUNyQjtNQUNFLGVBQWU7TUFDZixrQkFBa0I7TUFDbEIsZ0JBQWdCO01BQ2hCLHdCQUF3QixFQUFFO0VBQzlCO0lBQ0U7TUFDRSxtQkFBbUI7TUFDbkIsb0JBQW9CLEVBQUU7SUFDeEI7TUFDRSxjQUFjLEVBQUUsRUFBRTtFQUN0QjtJQUNFO01BQ0Usb0JBQWdCO1VBQWhCLGdCQUFnQixFQUFFO0lBQ3BCO01BQ0Usa0JBQWM7VUFBZCxjQUFjLEVBQUUsRUFBRTtFQUN0QjtJQUNFO01BQ0UsbUJBQWU7VUFBZixlQUFlLEVBQUU7SUFDbkI7TUFDRSxjQUFjLEVBQUUsRUFBRTs7QUFFeEI7RUFDRSxnQkFBZ0IsRUFBRTs7QUFFcEI7RUFDRSx3QkFBd0IsRUFBRTs7QUFFNUI7RUFDRSwwQkFBMEI7RUFDMUIsbUJBQW1CO0VBQ25CLHNCQUFzQixFQUFFO0VBQ3hCO0lBQ0UsaUJBQWlCLEVBQUU7RUFDckI7SUFDRSxtQkFBbUI7SUFDbkIsb0JBQW9CLEVBQUU7SUFDdEI7TUFDRSxnQkFBZ0I7TUFDaEIsaUJBQWlCO01BQ2pCLG1CQUFtQjtNQUNuQix3QkFBd0I7TUFDeEIsZUFBZTtNQUNmLG1CQUFtQixFQUFFO01BQ3JCO1FBQ0UsbUJBQW1CO1FBQ25CLGVBQWUsRUFBRTtJQUNyQjtNQUNFLGtCQUFrQjtNQUNsQixnQkFBZ0I7TUFDaEIsbUJBQW1CO01BQ25CLHdCQUF3QjtNQUN4QixlQUFlLEVBQUU7TUFDakI7UUFDRSxpQkFBaUIsRUFBRTtFQUN6QjtJQUNFO01BQ0Usa0JBQWtCLEVBQUUsRUFBRSIsImZpbGUiOiJwYWdlcy9wcm9kdWN0cy9hZHZpc29yeS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAudG9wIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxRTJBO1xuICBtYXJnaW4tdG9wOiAtMTQ4cHg7XG4gIHBhZGRpbmctdG9wOiAyMzVweDtcbiAgcGFkZGluZy1ib3R0b206IDE0MHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byb2R1Y3RzL2Fkdmlzb3J5L2Fkdmlzb3J5LWhlcm8tYmcucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC50b3AgaGdyb3VwIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC50b3AgaGdyb3VwIGg0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI0IyQkVDRDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAudG9wIGhncm91cCBoMSxcbiAgICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAudG9wIGhncm91cCBwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnRvcCBoZ3JvdXAgaDEge1xuICAgICAgbGluZS1oZWlnaHQ6IDYzcHg7XG4gICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnRvcCBoZ3JvdXAgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICAgICAgY29sb3I6ICNERUUzRUE7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAudG9wIGhncm91cCAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnRvcCBoZ3JvdXAgaDEge1xuICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC50b3AgaGdyb3VwIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDRweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnRvcCBoZ3JvdXAgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAudG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogNTRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3OHB4OyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgbWFpbiBzZWN0aW9uIHtcbiAgcGFkZGluZzogNzJweCAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IG1haW4gc2VjdGlvbiBoMiB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgbWFpbiBzZWN0aW9uIGg0IHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogIzFBMjMyRjtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDZweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSBtYWluIHNlY3Rpb24gcCB7XG4gICAgY29sb3I6ICM0RTVCNkE7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSBtYWluIHNlY3Rpb24gcC5sYXJnZSB7XG4gICAgY29sb3I6ICMyNzMyM0Y7XG4gICAgbGluZS1oZWlnaHQ6IDM5cHg7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSBtYWluIHNlY3Rpb24gcC5zbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjNUI3MDhCOyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IG1haW4gc2VjdGlvbiAuYnRuIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjMzg4MEZGO1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMnB4IHJnYmEoMCwgMjAsIDU2LCAwLjE0KSwgMHB4IDJweCAzcHggcmdiYSgwLCAyMCwgNTYsIDAuMDgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDg0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICBwYWRkaW5nOiAxOXB4IDI1cHggMTlweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgbWFpbiBzZWN0aW9uIC5idG4gaW9uLWljb24ge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xcHgpOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgbWFpbiBzZWN0aW9uIC5idG46aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQyODdmZjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgbWFpbiBzZWN0aW9uIC5idG46aG92ZXIgaW9uLWljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IG1haW4gc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSBtYWluIHNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogNDBweCAwOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLm1lYXN1cmUge1xuICBtYXgtd2lkdGg6IDU2MHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5tZWFzdXJlLWxnIHtcbiAgICBtYXgtd2lkdGg6IDcyMHB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5jdXN0b21lci1sb2dvcyB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmN1c3RvbWVyLWxvZ29zIHVsIHtcbiAgICBwYWRkaW5nOiAzMnB4IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmN1c3RvbWVyLWxvZ29zIFtjbGFzc149J2N1c3RvbWVyLWxvZ28nXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm9kdWN0cy9hZHZpc29yeS9hZHZpc29yeS1sb2dvLXNwcml0ZS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE3NnB4IDE5M3B4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0tYWFhIHtcbiAgICB3aWR0aDogNzJweDtcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0tYW10cmFrIHtcbiAgICB3aWR0aDogMTc2cHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQzcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1wYW5lcmEge1xuICAgIHdpZHRoOiAxMTJweDtcbiAgICBoZWlnaHQ6IDM5cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjRweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAuY3VzdG9tZXItbG9nb3MgLmN1c3RvbWVyLWxvZ28tLWdlIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ5cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTAzcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1yYmkge1xuICAgIHdpZHRoOiA2MnB4O1xuICAgIGhlaWdodDogNDFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNTJweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAuY3VzdG9tZXItbG9nb3MgaW1nIHtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5jdXN0b21lci1sb2dvcyBbY2xhc3NePSdjdXN0b21lci1sb2dvJ10ge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5jdXN0b21lci1sb2dvcyB1bCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmN1c3RvbWVyLWxvZ29zIHVsIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAtMTBweCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA0NjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5jdXN0b21lci1sb2dvcyBbY2xhc3NePSdjdXN0b21lci1sb2dvJ10ge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAgICAgbWFyZ2luOiAzcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmdvYWxzIC5mbGV4IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5nb2FscyAuY2hlY2ttYXJrLWxpc3QtLWxhcmdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgbWF4LXdpZHRoOiA0NjBweDsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5saWZlY3ljbGUgLmZsZXgge1xuICB3aWR0aDogMTAwJTsgfVxuXG4jcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAubGlmZWN5Y2xlIC5pbGx1c3RyYXRpb24sXG4jcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAubGlmZWN5Y2xlIGhncm91cCB7XG4gIGZsZXg6IDAgMCA1MCU7IH1cblxuI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmxpZmVjeWNsZSAuaWxsdXN0cmF0aW9uIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQzMHB4O1xuICBtYXJnaW4tdG9wOiA0NHB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5saWZlY3ljbGUgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAubGlmZWN5Y2xlIGxpIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAubGlmZWN5Y2xlIGg1IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgZm9udC1zaXplOiAxM3B4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5saWZlY3ljbGUgaDUuYmx1ZSB7XG4gICAgY29sb3I6ICMzODgwRkY7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmxpZmVjeWNsZSBoNS5wdXJwbGUge1xuICAgIGNvbG9yOiAjNjAzMEZGOyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5saWZlY3ljbGUgaDUuZ3JlZW4ge1xuICAgIGNvbG9yOiAjNDNDNDY1OyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5saWZlY3ljbGUgaDUuZ3JheSB7XG4gICAgY29sb3I6ICM1QjcwOEI7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5saWZlY3ljbGUgLmZsZXgge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmxpZmVjeWNsZSAuaWxsdXN0cmF0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmxpZmVjeWNsZSAuaWxsdXN0cmF0aW9uIGltZyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA0NHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5saWZlY3ljbGUgaDIsXG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5saWZlY3ljbGUgaGdyb3VwID4gcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5saWZlY3ljbGUgbGkge1xuICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5saWZlY3ljbGUgaDIsXG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5saWZlY3ljbGUgaGdyb3VwID4gcCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5ib29rLWEtc2Vzc2lvbiAud2VsbCB7XG4gIHBhZGRpbmc6IDU0cHggNTRweCA0OHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEY2RkM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5ib29rLWEtc2Vzc2lvbiBoMyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGNvbG9yOiAjMDIwODE0O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5ib29rLWEtc2Vzc2lvbiBwLmxhcmdlIHtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGNvbG9yOiAjNzM4NDlBO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5ib29rLWEtc2Vzc2lvbiBwLmxhcmdlIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzAyMDgxNDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAuYm9vay1hLXNlc3Npb24gLmJ0biB7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmJvb2stYS1zZXNzaW9uIHAubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAuYm9vay1hLXNlc3Npb24gLndlbGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmJvb2stYS1zZXNzaW9uIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXRvcDogMThweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAuYm9vay1hLXNlc3Npb24gLndlbGwge1xuICAgIHBhZGRpbmc6IDMycHg7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAud2hhdC15b3UtZ2V0IC5jaGVja21hcmstbGlzdC0tbGFyZ2Uge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMzhweCAwIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAud2hhdC15b3UtZ2V0IC5jaGVja21hcmstbGlzdC0tbGFyZ2UgbGkge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAwIDAgMjUlO1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC53aGF0LXlvdS1nZXQgLmNoZWNrbWFyay1saXN0LS1sYXJnZSBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAud2hhdC15b3UtZ2V0IC5jaGVja21hcmstbGlzdC0tbGFyZ2UgbGkge1xuICAgIGZsZXg6IDAgMCAzMy4zMyU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLndoYXQteW91LWdldCAuY2hlY2ttYXJrLWxpc3QtLWxhcmdlIGxpIHtcbiAgICBmbGV4OiAwIDAgNTAlOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC53aGF0LXlvdS1nZXQgLmNoZWNrbWFyay1saXN0LS1sYXJnZSBsaSB7XG4gICAgZmxleDogMCAwIDEwMCU7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAudXNlLWNhc2VzIGhncm91cCBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDRweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAudXNlLWNhc2VzIGhncm91cCBwLmxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjhweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAudXNlLWNhc2VzIC5yb3ctbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC51c2UtY2FzZXMgLnJvdy1saXN0ID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjREVFM0VBO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy10b3A6IDMycHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnVzZS1jYXNlcyAucm93LWxpc3QgaDQge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnVzZS1jYXNlcyAucm93LWxpc3QgaDUge1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAudXNlLWNhc2VzIC5yb3ctbGlzdCA+IGxpICsgbGkge1xuICAgIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnVzZS1jYXNlcyAucm93LWxpc3QgLmNvbCB7XG4gICAgZmxleDogMCAwIDUwJTsgfVxuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAudXNlLWNhc2VzIC5yb3ctbGlzdCAubWVhc3VyZSB7XG4gICAgbWF4LXdpZHRoOiA0NDBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAudXNlLWNhc2VzIC5yb3ctbGlzdCBoZ3JvdXAge1xuICAgIG1hcmdpbi1yaWdodDogNjBweDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnVzZS1jYXNlcyAucm93LWxpc3QgPiBsaSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAudXNlLWNhc2VzIC5yb3ctbGlzdCBoZ3JvdXAge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC51c2UtY2FzZXMgLnJvdy1saXN0IC5tZWFzdXJlIHtcbiAgICBtYXgtd2lkdGg6IDU4MHB4OyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnJlc291cmNlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAucmVzb3VyY2VzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnJlc291cmNlcyAuY2FyZHMge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5yZXNvdXJjZXMgaGdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAucmVzb3VyY2VzIGhncm91cCBoMyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICMxQTIzMkY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnJlc291cmNlcyBoZ3JvdXAgaDQge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnJlc291cmNlcyBoZ3JvdXAgaDUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgIGNvbG9yOiAjMzg4MEZGO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5yZXNvdXJjZXMgaGdyb3VwIGlvbi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOyB9XG4gICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAwIDAgMzMuMzMlO1xuICAgIHBhZGRpbmc6IDI0cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAucmVzb3VyY2VzIC5jYXJkcyBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAucmVzb3VyY2VzIC5jYXJkcyBsaSAuaW1nLXdyYXBwZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5yZXNvdXJjZXMgLmNhcmRzIGxpIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg2IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI0IyQkVDRDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnJlc291cmNlcyAuY2FyZHMgbGkgaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5yZXNvdXJjZXMgLmNhcmRzIGxpIHAge1xuICAgICAgY29sb3I6ICM1QjcwOEI7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEycHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBwYWRkaW5nOiAxMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnJlc291cmNlcyAuY2FyZHMge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLnJlc291cmNlcyBoNSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLm1vZGFsIGZvcm0ge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLm1vZGFsLWJvZHkge1xuICBwYWRkaW5nOiAzMnB4IDQ4cHggNDhweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAuY2FsbC10by1hY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGOEZCO1xuICBwYWRkaW5nLXRvcDogMTQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAuY2FsbC10by1hY3Rpb24gLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA3NjhweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1hZHZpc29yeSAuY2FsbC10by1hY3Rpb24gaGdyb3VwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5jYWxsLXRvLWFjdGlvbiBoZ3JvdXAgaDMge1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICM2MTZFN0U7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5jYWxsLXRvLWFjdGlvbiBoZ3JvdXAgaDMgZW0ge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjMUEyMzJGOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmNhbGwtdG8tYWN0aW9uIGhncm91cCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgICBjb2xvcjogIzVCNzA4QjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtYWR2aXNvcnkgLmNhbGwtdG8tYWN0aW9uIGhncm91cCBwIGIge1xuICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWFkdmlzb3J5IC5jYWxsLXRvLWFjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDsgfSB9XG4iXX0= */ ================================================ FILE: content/css/pages/products/appflow.css ================================================ #page-products { background-color: #fff; height: auto !important; min-height: auto; } #page-products .pre-header { margin-bottom: 0px; } #page-products .cta, #page-products .pro-nav, #page-products .pro-video, #page-products .sub-header, #page-products main { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-products .sub-header > .container { -ms-flex-align: center; align-items: center; } #page-products .sub-header > .container:before { border-top-color: rgba(255, 255, 255, 0.1); } #page-products > .cta { position: relative; background-image: linear-gradient(90deg, #6521fc 0%, #389fff 100%); margin-top: -140px; padding-top: 140px; } #page-products > .cta .cta__background { content: ''; background-position: center center; background-size: cover; display: block; width: 100%; height: 100%; position: absolute; z-index: 0; top: -4px; left: 0; background-image: linear-gradient(90deg, #6030fc 0%, #5fa2fe 100%); background-size: cover; opacity: 0.5; overflow: hidden; } #page-products > .cta .cta__background > div { width: 100%; height: 100%; position: absolute; background-image: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 75%); -webkit-transform: translate(-20px, 0) rotate(-3deg) skew(16deg, 0deg) scale(1, 1.5); transform: translate(-20px, 0) rotate(-3deg) skew(16deg, 0deg) scale(1, 1.5); -webkit-transform-origin: top; transform-origin: top; } #page-products > .cta .cta__background > div:nth-child(1) { opacity: 0.05; top: 75%; left: 0%; } #page-products > .cta .cta__background > div:nth-child(2) { opacity: 0.10; top: 50%; left: 15.3846153846%; } #page-products > .cta .cta__background > div:nth-child(3) { opacity: 0.09; top: 25%; left: 30.7692307692%; } #page-products > .cta .cta__background > div:nth-child(4) { opacity: 0.15; top: 0%; left: 46.1538461538%; } #page-products > .cta .cta__background > div:nth-child(5) { opacity: 0.16; top: -25%; left: 61.5384615385%; } #page-products > .cta .cta__background > div:nth-child(6) { opacity: 0.08; top: -50%; left: 76.9230769231%; } @media (max-width: 768px) { #page-products > .cta .cta__background > div:nth-child(1) { opacity: 0.05; top: 60%; left: 0%; } #page-products > .cta .cta__background > div:nth-child(2) { opacity: 0.10; top: 45%; left: 25%; } #page-products > .cta .cta__background > div:nth-child(3) { opacity: 0.09; top: 30%; left: 50%; } #page-products > .cta .cta__background > div:nth-child(4) { opacity: 0.15; top: 15%; left: 75%; } #page-products > .cta .cta__background > div:nth-child(5) { opacity: 0.16; top: 0%; left: 100%; } #page-products > .cta .cta__background > div:nth-child(6) { opacity: 0.08; top: -15%; left: 125%; } } #page-products > .cta hgroup { text-align: center; position: relative; max-width: 830px; padding-bottom: 376px; padding-top: 54px; } #page-products > .cta hgroup h3 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; text-transform: uppercase; letter-spacing: 0.18em; font-size: 12px; line-height: 18px; font-weight: 600; color: #e3e6ff; } #page-products > .cta hgroup h1 { margin-top: 36px; font-size: 56px; line-height: 60px; font-weight: 700; letter-spacing: -.038em; margin-bottom: 264x; } #page-products > .cta hgroup p { letter-spacing: -.03em; max-width: 724px; line-height: 1.8em; margin: 0 auto; font-size: 22px; font-weight: 400; color: #fff; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-products > .cta hgroup .cta-buttons { margin-top: 30px; padding-left: 24px; padding-right: 24px; color: white; letter-spacing: -.02em; } #page-products > .cta hgroup .cta-buttons > .btn { -ms-flex-align: center; align-items: center; background-color: #7898ff; border-radius: 2em; display: -ms-inline-flexbox; display: inline-flex; font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.10em; padding: 14px 26px; } #page-products > .cta hgroup .cta-buttons > .btn:not(:hover) { box-shadow: none; } #page-products > .cta hgroup .cta-buttons > .btn--primary { background-color: #fff; color: #4a68ff; } #page-products > .cta hgroup .cta-buttons > .btn--primary:after { transition: -webkit-transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; content: '\f287'; font-family: 'Ionicons'; font-size: 15px; margin-left: 8px; } #page-products > .cta hgroup .cta-buttons > .btn--primary:hover:after { -webkit-transform: translateX(2px); transform: translateX(2px); } #page-products > .cta hgroup .cta-buttons .sales { color: rgba(255, 255, 255, 0.5); margin-top: 6px; display: inline-block; text-decoration: underline; transition: .2s color; } #page-products > .cta hgroup .cta-buttons .sales:hover { color: rgba(255, 255, 255, 0.8); } @media (max-width: 768px) { #page-products > .cta hgroup { padding-bottom: 140px; } } @media (max-width: 480px) { #page-products > .cta hgroup { padding-top: 14px; } #page-products > .cta hgroup h1 { font-size: 40px; line-height: 46px; } #page-products > .cta hgroup h3 { max-width: 246px; margin-left: auto; margin-right: auto; } #page-products > .cta hgroup p { font-size: 18px; line-height: 1.6em; } #page-products > .cta hgroup .btn { width: 100%; margin-right: 0; -ms-flex-pack: center; justify-content: center; margin-bottom: 8px; } } #page-products > .cta hgroup h3, #page-products > .cta hgroup h1, #page-products > .cta hgroup p, #page-products > .cta hgroup .cta-buttons .btn { -webkit-animation: 1s fadeInUp forwards; animation: 1s fadeInUp forwards; opacity: 0; } #page-products > .cta hgroup h3 { -webkit-animation-delay: .4s; animation-delay: .4s; } #page-products > .cta hgroup h1 { -webkit-animation-delay: .6s; animation-delay: .6s; } #page-products > .cta hgroup p { -webkit-animation-delay: .9s; animation-delay: .9s; } #page-products > .cta hgroup .cta-buttons .btn { -webkit-animation-delay: 1.1s; animation-delay: 1.1s; } #page-products > .cta hgroup .cta-buttons .btn:last-child { -webkit-animation-delay: 1.2s; animation-delay: 1.2s; } #page-products ionic-appflow-activator { position: -webkit-sticky; position: sticky; top: -247px; z-index: 1000; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; width: 100%; background: white; } #page-products ionic-appflow-activator .app-screenshot { position: relative; background: white; height: 507px; width: 960px; margin-top: -300px; border-radius: 12px; opacity: 0; -webkit-animation: fadeIn 1s 1.8s forwards; animation: fadeIn 1s 1.8s forwards; } #page-products ionic-appflow-activator .app-screenshot img { width: 100%; border-radius: 12px; box-shadow: 0 8px 16px rgba(0, 14, 41, 0.08), 0 30px 60px rgba(0, 11, 34, 0.15); } @media (max-width: 992px) { #page-products ionic-appflow-activator .app-screenshot { height: 338px; width: 640px; } } @media (max-width: 768px) { #page-products ionic-appflow-activator .app-screenshot { height: 169px; width: 320px; margin-top: -84px; } } @media (max-width: 992px) { #page-products ionic-appflow-activator { top: -84px; } } @media (max-width: 768px) { #page-products ionic-appflow-activator { position: relative; z-index: 1; top: 0; } } #page-products .customer-logos { padding: 0; width: 100%; max-width: 1024px; margin: 64px auto 0; 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; } #page-products .customer-logos [class^="customer-logo"] { background-image: url("/img/pro/pro-customer-sprite.png"); background-repeat: no-repeat; background-size: 121px 256px; margin: 34px 42px; } @media (max-width: 991px) { #page-products .customer-logos { -ms-flex-pack: center; justify-content: center; } #page-products .customer-logos [class^="customer-logo"] { margin: 22px 34px; } } @media (max-width: 768px) { #page-products .customer-logos { padding: 8px; } #page-products .customer-logos [class^="customer-logo"] { margin: 16px 18px; } } #page-products .customer-logos .customer-logo--lendingclub { width: 121px; height: 18px; background-position: 0 0; } #page-products .customer-logos .customer-logo--mcdonalds { background-position: 0 -19px; width: 24px; height: 20px; } #page-products .customer-logos .customer-logo--study { background-position: 0 -40px; width: 118px; height: 18px; } #page-products .customer-logos .customer-logo--cat { background-position: 0 -59px; width: 34px; height: 20px; } #page-products .customer-logos .customer-logo--ge { background-position: 0 -80px; width: 24px; height: 24px; } #page-products .customer-logos .customer-logo--comcast { background-position: 0 -105px; width: 73px; height: 20px; } #page-products .customer-logos .customer-logo--amtrak { background-position: 0 -126px; width: 47px; height: 20px; } #page-products .customer-logos .customer-logo--airbus { background-position: 0 -147px; width: 107px; height: 20px; } #page-products .customer-logos .customer-logo--aaa { background-position: 0 -168px; width: 45px; height: 27px; } #page-products .customer-logos .customer-logo--deloitte { background-position: 0 -195px; width: 87px; height: 16px; } #page-products .customer-logos .customer-logo--usaa { background-position: 0 -212px; width: 21px; height: 24px; } #page-products .customer-logos .customer-logo--ing { background-position: 0 -237px; width: 73px; height: 19px; } #page-products .pro-video { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; position: relative; z-index: 1; } #page-products .pro-video:before { content: ""; display: block; height: 50%; left: 0; position: absolute; top: 0; width: 100%; z-index: 1; } #page-products .pro-video .video-player { max-width: 900px; width: 100%; position: relative; z-index: 2; } #page-products .pro-video .video-player:hover { cursor: pointer; } #page-products .pro-video .video-player:not(.is-playing):hover .video-player-frame { -webkit-transform: scale(0.99); transform: scale(0.99); } #page-products .pro-video .video-player:not(.is-playing):hover .video-player-button { -webkit-transform: translate(-50%, -50%) scale(1.05); transform: translate(-50%, -50%) scale(1.05); } #page-products .pro-video .video-player.is-ready .video-player-button { display: block; } #page-products .pro-video .video-player.is-playing .video-player-button { display: none; } #page-products .pro-video .video-player-button { display: none; left: 50%; position: absolute; top: 50%; -webkit-transform: translate(-50%, -50%) scale(1); transform: translate(-50%, -50%) scale(1); transition: -webkit-transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275); transition: transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275); transition: transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275); width: 80px; z-index: 1; } #page-products .pro-video .video-player-frame { background-image: url("/img/pro/pro-dash-video-screenshot.png"); background-position: center center; background-repeat: no-repeat; background-size: contain; border-radius: 8px; height: 0; overflow: hidden; padding-bottom: 64.67%; position: relative; -webkit-transform: scale(1); transform: scale(1); transition: -webkit-transform 400ms cubic-bezier(0.19, 1, 0.22, 1); transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1); transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 400ms cubic-bezier(0.19, 1, 0.22, 1); } #page-products .pro-video .video-player-frame > iframe { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } #page-products .pro-benefits { padding-left: 60px; } #page-products .pro-benefits ul { list-style-type: none; margin: 0; padding: 0; } #page-products .pro-benefits li { position: relative; padding-left: 40px; } #page-products .pro-benefits li + li { margin-top: 22px; } #page-products .pro-benefits li::before { display: block; content: ''; width: 24px; height: 24px; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAwCAYAAAC4wJK5AAAD/ElEQVRogc3a24tVZRzG8c9ac9jOOOjIMGoMSXQxRBc16UWS4YVikBKKUGTEUF35BwjhX5BCF0EXRhcVU0QUCBYR5AESJIkwu4kYL4JA85A56dC4Z2xWF+8a3TOzD2vtw5oeWOzN3uv9/Z4v73G974qSJHHwY+1QH7ZhK0bTaxAD6f/TmMJkep3HOcy0mri7xfJ92Itx7EApQ5mnK76XcQYTOKFJoGYhBnEQhzDUZAwC9PPpdRNv4z2hxjIrzpk0wutCc3hLawBLNZTGnExzRFkL5oHYiJP4AMN53OXUcJrjZJqzobJCbMdF7GzOV1Pamebc3ujG+Oc/Ggbbj2+xoWVb+bUhzb2/3k2NamI/vpBt1OmUSqmHmiD1ILbj0wb3FKVY8FK1adUyuBGfW9kaWKqS4GlZZ68GEeETK9MHGmmD4G3R8FsN4jXFjkJ5tVPweF9LIQZxtCg3Leio4BXLIQ7q7ETWLg0LXrEYok9YC62IhtewOt8wckjwvAhir/auhTJrZB37trB3Sy6QIcHzIojxNnvLpJF17B6ju4u1/ex5ilL2tfU4DyD6hOeBQlUJsKD+XnqzQ+xAXwxx5FkFT2zVAGZm+fICd+5mDlPCtlATkWfa7LGu6gH8NZ073NYYIh5rm8MG2jjYVgAYjREl4aG+41q/hj3tBWABImJd6xbra/0aXti8uNO2AQAGQ00kVuct2V8KE1QWdRAABkJNRNkfygkT0r4t4RppUIcdBkA6T0RR9v2evt4ws67tD21791htkCIAMB0jiSN3spboiuiq6Ji1QAoCgKkYSXfst6wlpsuc+DF8LmgpSIEAMBkj6epyKU+p2zO1QZ7YVCgACxCrenyft2QtkG2jhQLA+RgeXe9MFJnLW7oaSKXuznUcoIxzMWx+xFRvtx+aiVILZPYeX//UUQDCjvpMDMdO+bfUbaLZSPdB0tVneY6vLnD9dluM1tMERBevJI6d4vERa3+94vf5RMZ5eLlKPWwa4vIt/qnRxNqom3jYQk3AL5f9XerxbitRy3NculoIAOEsY4Ylux0Dq7wTR24VYqE13RAOY7AE4sZtf3Z3OVy4pfx6U8Vp0rIdwNl73o8j3xVqKZ9O46PKH6ptYybziZdxvQhHOXUNryKp/LHWrvhVvChMJv8XlfGS4G2R6p09nMUrmO+QqTyaF7ycrfZnowOU41a+Rsqph+O1bshyCnQczwntsWhdS3PXBCD7UdZZjAkjQ1E6neas2oQqFT/5UOagV7ELbwiTTad0I82xS5VOXE15DxUTfCjsUx0W1i/t0s005miaI6l/+wM1ezI6hSPCAuwAvtFc5y+nZQ+ksY7I+V4Hrb9lM4PP0mvFXhX6D3mVKTX2fENsAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-size: 100%; position: absolute; top: 0; left: 0; } #page-products .pro-benefits li h4 { margin: 0; font-weight: 600; font-size: 16px; line-height: 20px; } #page-products .pro-benefits li p { color: #545c6a; font-size: 15px; line-height: 24px; } #page-products .hero { background: no-repeat center center; background-size: cover; overflow: hidden; padding-top: 0; padding-bottom: 0; } #page-products .hero .content { width: 39%; text-align: left; padding-top: 200px; padding-bottom: 220px; color: #070f1a; min-height: 724px; position: relative; } #page-products .hero .content.dark { color: rgba(255, 255, 255, 0.8); } #page-products .hero .content.dark h2, #page-products .hero .content.dark .hero__cta { color: #151d2b; } #page-products .hero .content.dark p { color: #596a89; } #page-products .hero .content h2 { font-size: 36px; letter-spacing: -0.03em; font-weight: 600; margin-bottom: 12px; } #page-products .hero .content p { font-size: 20px; line-height: 32px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-weight: 400; } #page-products .hero .content h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; padding-top: 100px; position: relative; color: #808fa7; } #page-products .hero .content h4::before { background: url("/img/pro/product-header-icons.png") 0 0 no-repeat; background-size: 64px; width: 64px; height: 64px; content: ''; position: absolute; top: 0; } #page-products .hero__cta-bar { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } #page-products .hero__cta-bar a + a { margin-left: 20px; } #page-products .hero__cta-bar-secondary { margin-left: 30px; } @media (max-width: 767px) { #page-products .hero__cta-bar { -ms-flex-direction: column; flex-direction: column; } #page-products .hero__cta-bar-secondary { margin-left: 0; margin-top: 24px; } } #page-products .hero__cta { border-bottom-style: solid; border-bottom-width: 2px; color: inherit; font-size: 18px; font-weight: 700; padding-bottom: 4px; transition: border-bottom-color 100ms ease-in-out; } #page-products .hero__cta:after { content: '\f287'; font-family: 'Ionicons'; font-size: 16px; margin-left: 5px; } #page-products .hero__cta:hover { border-bottom-color: transparent; } #page-products .hero__icon-link { transition: opacity 0.3s; display: inline-block; opacity: 0.7; } #page-products .hero__icon-link i { font-size: 30px; color: #fff; } #page-products .hero__icon-link:hover { opacity: 1; } #page-products .hero .container { position: relative; } #page-products .hero .container::before { background-repeat: no-repeat; background-position: right 0; background-size: contain; top: 0; right: 0; left: 0; bottom: 0; content: ''; display: block; position: absolute; opacity: 0; transition: .2s opacity; } #page-products .hero.active .container::before { opacity: 1; } #page-products .hero h4 { font-size: 11px; font-weight: 700; letter-spacing: 0.2em; color: #272a2f; text-transform: uppercase; margin-bottom: 30px; } #page-products .hero h3 { font-size: 36px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 30px; } #page-products .hero h2 { color: #272a2f; font-size: 36px; margin-bottom: 23px; margin-top: 14px; font-weight: 700; letter-spacing: -.015em; } #page-products .hero p { font-size: 16px; font-weight: 600; letter-spacing: -.026em; line-height: 1.8em; margin-bottom: 30px; color: #5e6777; } #page-products .hero p strong { color: #272a2f; font-weight: 700; } #page-products .hero p a:hover { color: #4a8bfc; } #page-products .hero .btn { padding: 13px 15px; font-size: 14px; font-weight: 600; } #page-products .hero .btn strong { font-weight: 700; } #page-products .hero .btn::after { font-family: 'Ionicons'; content: '\f287'; font-size: 15px; line-height: 10px; vertical-align: -1px; margin-left: 8px; font-weight: 600; display: inline-block; transition: .2s transform; } #page-products .hero .btn:hover::after { -webkit-transform: translate3d(2px, 0, 0); transform: translate3d(2px, 0, 0); } @media (max-width: 480px) { #page-products .hero .content h2 { font-size: 30px; } #page-products .hero .content p { font-size: 18px; line-height: 1.6em; } } #page-products #overview { background-color: #fff; color: #272a2f; padding-bottom: 180px; padding-top: 140px; } #page-products #overview hgroup { max-width: 740px; margin: 0 auto 68px; } #page-products #overview hgroup h3 { font-weight: 600; color: #070f1a; margin-bottom: 14px; } #page-products #overview hgroup p { font-size: 22px; line-height: 36px; color: #43546f; font-weight: 400; } #page-products #overview .features { padding: 0; list-style: none; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; margin: 0 auto; } #page-products #overview .features h4 { font-size: 20px; text-transform: none; letter-spacing: -.02em; margin-top: 5px; margin-bottom: 13px; font-weight: 600; } #page-products #overview .features p { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 28px; color: #687e99; letter-spacing: -.015em; font-weight: 400; } #page-products #overview li { padding-top: 68px; -ms-flex: 0 1 340px; flex: 0 1 340px; position: relative; } #page-products #overview li::before { background: url("/img/pro/pro-feature-icons.png") 0 0 no-repeat; background-size: 48px; height: 48px; width: 48px; content: ''; position: absolute; top: 0; } #page-products #overview li.faster::before { background-position: 0 -48px; } #page-products #overview li.happier::before { background-position: 0 -96px; } #page-products #overview li + li { margin-left: 24px; } @media (max-width: 520px) { #page-products #overview .features { display: block; } #page-products #overview li { text-align: center; } #page-products #overview li::before { left: calc( 50% - 24px); } #page-products #overview li + li { margin-left: 0; } } @media (max-width: 768px) { #page-products #overview { padding-bottom: 68px; padding-top: 102px; } } @media (max-width: 480px) { #page-products #overview { padding-bottom: 48px; padding-top: 72px; } #page-products #overview hgroup { margin-bottom: 42px; } #page-products #overview hgroup h3 { font-size: 30px; } #page-products #overview hgroup p { font-size: 18px; line-height: 1.6em; } } #page-products #updates { background-image: linear-gradient(0deg, white 0%, #f6f8fb 100%); background-size: 100%; } #page-products #updates h4::before { background-position: 0 0; } #page-products #updates .content { padding-top: 179px; position: relative; z-index: 10; } @media (max-width: 1219px) { #page-products #updates .content { padding-top: 148px; } } #page-products #updates .anim-updates { position: absolute; z-index: 4; top: 0; bottom: 0; left: 50%; -webkit-transform: translateX(-100px); transform: translateX(-100px); display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } #page-products #updates .anim-updates__root { width: 726px; height: 437px; position: relative; } #page-products #updates .anim-updates__foreground, #page-products #updates .anim-updates__background { width: 100%; height: 100%; position: absolute; top: 0; left: 0; } #page-products #updates .anim-updates__foreground { z-index: 10; -webkit-transform: translateZ(1000px); transform: translateZ(1000px); } #page-products #updates .anim-updates__background { z-index: 1; -webkit-transform: translateZ(100px); transform: translateZ(100px); } #page-products #updates .anim-updates__device { width: 726px; height: 437px; background-image: url("/img/pro/updates-illustration-device.png"); background-repeat: no-repeat; background-size: 726px 437px; position: absolute; top: 0; left: 0; z-index: 5; -webkit-transform: translateZ(500px); transform: translateZ(500px); } #page-products #updates .anim-updates__screen { width: 308px; height: 554px; background: #5d37ff; position: absolute; top: 28px; left: 406px; -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotateX(60deg) rotateY(0.7deg) rotateZ(36.5deg) skew(2deg, -1.5deg); transform: rotateX(60deg) rotateY(0.7deg) rotateZ(36.5deg) skew(2deg, -1.5deg); } @media (max-width: 991px) { #page-products #updates .anim-updates { display: none; } #page-products #updates .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #updates .content h4::before { left: calc(50% - 32px); } } #page-products #build { background-image: linear-gradient(0deg, white 0%, #f6f8fb 100%); padding: 100px 0; } #page-products #build h4::before { background-position: 0 -64px; } #page-products #build .anim-build { position: absolute; left: 0; top: 0; bottom: 0; width: 39%; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; } #page-products #build .anim-build__text { fill: #5d37ff; text-transform: uppercase; font-size: 12px; font-weight: 700; letter-spacing: 0.05em; } #page-products #build .content { padding-top: 140px; } @media (max-width: 991px) { #page-products #build .container::before { background-size: 40%; top: 128px; bottom: 128px; } #page-products #build .content { padding-top: 64px; min-height: 0; width: 40%; } } @media (max-width: 767px) { #page-products #build { background-image: none; padding: 0; } #page-products #build .anim-build { display: none; } #page-products #build .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #build .content h4::before { left: calc(50% - 32px); } } #page-products #reporting { background: #081b17; padding: 50px 0; } #page-products #reporting h4, #page-products #reporting .btn { color: #607d79; } #page-products #reporting h4::before, #page-products #reporting .btn::before { background-position: 0 -256px; } #page-products #reporting .anim-reporting { width: 1084px; height: 100%; display: -ms-flexbox; display: flex; overflow: hidden; position: absolute; top: 0; left: 50%; -webkit-transform: translateX(-240px); transform: translateX(-240px); bottom: 0; z-index: 1; } #page-products #reporting #anim-reporting__svg { width: 100%; height: 100%; } #page-products #reporting .anim-reporting__bg { fill: #0d2b25; } #page-products #reporting .anim-reporting__scan { -webkit-animation-name: cycle-fade; animation-name: cycle-fade; -webkit-animation-duration: 2s; animation-duration: 2s; -webkit-animation-direction: alternate; animation-direction: alternate; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-timing-function: ease; animation-timing-function: ease; } @-webkit-keyframes cycle-fade { from { opacity: 0.4; } to { opacity: 1; } } @keyframes cycle-fade { from { opacity: 0.4; } to { opacity: 1; } } #page-products #reporting .anim-reporting__bug { fill: #ff3267; -webkit-transform-origin: center center; transform-origin: center center; } #page-products #reporting .content { padding-top: 172px; width: 40%; z-index: 5; } @media (max-width: 991px) { #page-products #reporting .content { min-height: 0; padding-top: 64px; width: 100%; } #page-products #reporting .anim-reporting { opacity: 0.7; } #page-products #reporting .anim-reporting__clipped { -webkit-transform: scale(0.8); transform: scale(0.8); } } @media (max-width: 991px) { #page-products #reporting { padding: 0; } #page-products #reporting .anim-reporting { display: none; } #page-products #reporting .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #reporting .content h4::before { left: calc(50% - 32px); } } #page-products #push { background: #ffbc2a no-repeat center bottom; background-image: linear-gradient(to right, #ffce39 0%, #ffad20 100%); background-size: 100%; } #page-products #push h4 { color: #d26d00; } #page-products #push h4::before { background-position: 0 -320px; } #page-products #push .container::before { background-image: url("/img/pro/product-push-img.png"); background-position: left 0; top: 80px; bottom: 80px; } @media (max-width: 1219px) { #page-products #push .container::before { top: 130px; bottom: 130px; } } #page-products #push .content { padding-top: 172px; width: 35%; } @media (max-width: 991px) { #page-products #push .container::before { display: none; } #page-products #push .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #push .content h4::before { left: calc(50% - 32px); } } #page-products #automate { background-color: #f9fafc; background-image: linear-gradient(0deg, white 0%, #f6f8fb 100%); background-size: 100%; position: relative; padding-bottom: 160px; } #page-products #automate h4::before { background-position: 0 -128px; } #page-products #automate .anim-automate { position: absolute; top: 220px; left: 50%; margin-left: -400px; } #page-products #automate .anim-automate svg .connector { opacity: 0; stroke-dasharray: 80px; } #page-products #automate .anim-automate svg rect.four { opacity: 0.6; } #page-products #automate .anim-automate svg #top, #page-products #automate .anim-automate svg #bottom { position: relative; } #page-products #automate .anim-automate svg #bottom { z-index: 1; } #page-products #automate .anim-automate svg #top { z-index: 2; } #page-products #automate .anim-automate svg > g { -webkit-transform: translateY(50px); transform: translateY(50px); } @media (max-width: 1219px) { #page-products #automate { padding-bottom: 390px; } #page-products #automate .content { width: 100%; max-width: 500px; text-align: center; margin-left: auto; margin-right: auto; } #page-products #automate .content h4::before { left: calc(50% - 32px); } #page-products #automate .anim-automate { -webkit-transform: scale(0.8); transform: scale(0.8); top: 470px; margin-left: -670px; } } @media (max-width: 768px) { #page-products #automate { padding: 0; } #page-products #automate .anim-automate { display: none; } #page-products #automate .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #automate .content h4::before { left: calc(50% - 32px); } } #page-products #automate .anim-automate_ui { position: absolute; width: 100%; height: 100%; } #page-products #automate .anim-automate_ui > div { position: absolute; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); max-width: 114px; text-align: center; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; opacity: 0; } #page-products #automate .anim-automate_ui > div p { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; margin: 0; color: #fff; font-size: 13px; line-height: 17px; } #page-products #automate .anim-automate_ui > div span { display: block; opacity: 0.6; font-family: 12px; } #page-products #automate .anim-automate_ui > div:before { content: ''; display: block; width: 20px; height: 50px; margin-bottom: 12px; background-repeat: no-repeat; background-size: 100%; } #page-products #automate .anim-automate_ui .master:before { background-image: url("/img/pro/pro-automate-animation/master.png"); width: 100px; height: 30px; background-size: 100px 30px; } #page-products #automate .anim-automate_ui .staging:before { background-image: url("/img/pro/pro-automate-animation/staging.png"); width: 110px; height: 30px; background-size: 110px 30px; } #page-products #automate .anim-automate_ui .qa:before { background-image: url("/img/pro/pro-automate-animation/qa.png"); width: 61px; height: 30px; background-size: 61px 30px; } #page-products #automate .anim-automate_ui .android:before, #page-products #automate .anim-automate_ui .ios:before, #page-products #automate .anim-automate_ui .web:before { width: 62px; height: 62px; background-size: 62px 62px; } #page-products #automate .anim-automate_ui .android:before { background-image: url("/img/pro/pro-automate-animation/android.png"); } #page-products #automate .anim-automate_ui .ios:before { background-image: url("/img/pro/pro-automate-animation/ios.png"); } #page-products #automate .anim-automate_ui .web:before { background-image: url("/img/pro/pro-automate-animation/js.png"); } #page-products #automate .anim-automate_ui .testflight:before { background-image: url("/img/pro/pro-automate-animation/testflight.png"); width: 53px; height: 53px; background-size: 53px 53px; } #page-products #automate .anim-automate_ui .playstore:before { background-image: url("/img/pro/pro-automate-animation/playstore.png"); width: 50px; height: 55px; background-size: 50px 55px; } #page-products #automate .anim-automate_ui .webhook:before { background-image: url("/img/pro/pro-automate-animation/webhook.png"); width: 58px; height: 54px; background-size: 58px 54px; } #page-products #automate .anim-automate_ui .master, #page-products #automate .anim-automate_ui .staging, #page-products #automate .anim-automate_ui .qa { left: 50%; top: 195px; } #page-products #automate .anim-automate_ui .android, #page-products #automate .anim-automate_ui .ios, #page-products #automate .anim-automate_ui .web { left: 50%; top: 368px; } #page-products #automate .anim-automate_ui .android, #page-products #automate .anim-automate_ui .web { margin-left: 174px; } #page-products #automate .anim-automate_ui .ios { margin-left: -178px; } #page-products #automate .anim-automate_ui .testflight, #page-products #automate .anim-automate_ui .playstore, #page-products #automate .anim-automate_ui .webhook { left: 50%; top: 540px; } #page-products #automate .anim-automate_ui .testflight { margin-left: -352px; } #page-products #automate .anim-automate_ui .playstore { margin-left: 352px; } #page-products .pro-features { padding: 196px 0; background-color: #394072; } #page-products .pro-features hgroup { text-align: center; max-width: 560px; margin-left: auto; margin-right: auto; } #page-products .pro-features hgroup h3 { color: #fff; font-size: 36px; font-weight: 600; line-height: 40px; margin-top: 0; } #page-products .pro-features hgroup p { color: #d7d9eb; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-size: 20px; line-height: 32px; } #page-products .pro-features ul { margin: 0 -24px 0; padding: 0; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; list-style-type: none; } #page-products .pro-features li { -ms-flex: 0 0 25%; flex: 0 0 25%; margin-top: 86px; padding: 0 24px; } #page-products .pro-features li h5 { color: #fff; font-size: 20px; font-weight: 600; margin-bottom: 18px; margin-top: 0; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } #page-products .pro-features li p { color: #b9bcd8; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 28px; } #page-products .pro-features li:nth-child(2) { transition-delay: .1s !important; } #page-products .pro-features li:nth-child(3) { transition-delay: .2s !important; } #page-products .pro-features li:nth-child(4) { transition-delay: .3s !important; } #page-products .pro-features li:nth-child(5) { transition-delay: .4s !important; } #page-products .pro-features li:nth-child(6) { transition-delay: .5s !important; } #page-products .pro-features li:nth-child(7) { transition-delay: .6s !important; } #page-products .pro-features li:nth-child(8) { transition-delay: .7s !important; } #page-products .pro-features [class^="pro-feature--"] h5::before { display: block; content: ''; width: 24px; height: 24px; background-image: url("/img/pro/pro-feature-sprite.png"); background-repeat: no-repeat; background-size: 24px 192px; margin-right: 12px; } #page-products .pro-features .pro-feature--app-dashboard h5::before { background-position: 0 0; } #page-products .pro-features .pro-feature--configurable h5::before { background-position: 0 calc(-1 * 24px); } #page-products .pro-features .pro-feature--clean-builds h5::before { background-position: 0 calc(-2 * 24px); } #page-products .pro-features .pro-feature--mobile-ci-cd h5::before { background-position: 0 calc(-3 * 24px); } #page-products .pro-features .pro-feature--git-integrations h5::before { background-position: 0 calc(-4 * 24px); } #page-products .pro-features .pro-feature--connected-services h5::before { background-position: 0 calc(-5 * 24px); } #page-products .pro-features .pro-feature--live-app-updating h5::before { background-position: 0 calc(-6 * 24px); } #page-products .pro-features .pro-feature--role-based-controls h5::before { background-position: 0 calc(-7 * 24px); } @media (max-width: 1219px) { #page-products .pro-features li { -ms-flex: 0 0 33%; flex: 0 0 33%; } } @media (max-width: 991px) { #page-products .pro-features { padding: 90px 0; text-align: center; } #page-products .pro-features h5 { -ms-flex-pack: center; justify-content: center; } #page-products .pro-features li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 767px) { #page-products .pro-features hgroup h3 { font-size: 30px; } #page-products .pro-features li { -ms-flex: 0 0 100%; flex: 0 0 100%; margin-top: 36px; } } #page-products .get-started { background: linear-gradient(45deg, #1b1f3a 0%, #292f52 100%); overflow: auto; } #page-products .get-started .container { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; margin-bottom: 120px; margin-top: 120px; } #page-products .get-started hgroup { letter-spacing: -.025em; -ms-flex-positive: 1; flex-grow: 1; } #page-products .get-started h2 { color: #e0e3f6; font-size: 28px; line-height: 36px; font-weight: 400; letter-spacing: -0.02em; margin: 0; max-width: 680px; } #page-products .get-started h2 strong { font-weight: 600; color: #fff; } #page-products .get-started h3 { color: #8aa6ff; font-size: 24px; line-height: 36px; font-weight: 400; margin: 0; } #page-products .get-started .btn { font-size: 15px; text-transform: uppercase; letter-spacing: 0.10em; font-weight: 700; border-radius: 100px; background-color: #5fa3ff; padding: 16px 28px 14px; } #page-products .get-started .btn:hover { background-color: #4895fc; } @media (max-width: 991px) { #page-products .get-started .container { display: block; text-align: center; } #page-products .get-started hgroup { padding-bottom: 16px; } #page-products .get-started .btn-group { padding-bottom: 96px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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d0I7TUFDeEIsVUFBVTtNQUNWLGlCQUFpQixFQUFFO01BQ25CO1FBQ0UsaUJBQWlCO1FBQ2pCLFlBQVksRUFBRTtJQUNsQjtNQUNFLGVBQWU7TUFDZixnQkFBZ0I7TUFDaEIsa0JBQWtCO01BQ2xCLGlCQUFpQjtNQUNqQixVQUFVLEVBQUU7SUFDZDtNQUNFLGdCQUFnQjtNQUNoQiwwQkFBMEI7TUFDMUIsdUJBQXVCO01BQ3ZCLGlCQUFpQjtNQUNqQixxQkFBcUI7TUFDckIsMEJBQTBCO01BQzFCLHdCQUF3QixFQUFFO01BQzFCO1FBQ0UsMEJBQTBCLEVBQUU7SUFDaEM7TUFDRTtRQUNFLGVBQWU7UUFDZixtQkFBbUIsRUFBRTtNQUN2QjtRQUNFLHFCQUFxQixFQUFFO01BQ3pCO1FBQ0UscUJBQXFCLEVBQUUsRUFBRSIsImZpbGUiOiJwYWdlcy9wcm9kdWN0cy9hcHBmbG93LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNwYWdlLXByb2R1Y3RzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IGF1dG87IH1cbiAgI3BhZ2UtcHJvZHVjdHMgLnByZS1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICAjcGFnZS1wcm9kdWN0cyAuY3RhLFxuICAjcGFnZS1wcm9kdWN0cyAucHJvLW5hdixcbiAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyxcbiAgI3BhZ2UtcHJvZHVjdHMgLnN1Yi1oZWFkZXIsXG4gICNwYWdlLXByb2R1Y3RzIG1haW4ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH1cbiAgI3BhZ2UtcHJvZHVjdHMgLnN1Yi1oZWFkZXIgPiAuY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnN1Yi1oZWFkZXIgPiAuY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cbiAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNjUyMWZjIDAlLCAjMzg5ZmZmIDEwMCUpO1xuICAgIG1hcmdpbi10b3A6IC0xNDBweDtcbiAgICBwYWRkaW5nLXRvcDogMTQwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICB0b3A6IC00cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNjAzMGZjIDAlLCAjNWZhMmZlIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNzUlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIDApIHJvdGF0ZSgtM2RlZykgc2tldygxNmRlZywgMGRlZykgc2NhbGUoMSwgMS41KTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2Om50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgb3BhY2l0eTogMC4wNTtcbiAgICAgICAgICB0b3A6IDc1JTtcbiAgICAgICAgICBsZWZ0OiAwJTsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCA+IGRpdjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIG9wYWNpdHk6IDAuMTA7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogMTUuMzg0NjE1Mzg0NiU7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIC5jdGFfX2JhY2tncm91bmQgPiBkaXY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjA5O1xuICAgICAgICAgIHRvcDogMjUlO1xuICAgICAgICAgIGxlZnQ6IDMwLjc2OTIzMDc2OTIlOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2Om50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgb3BhY2l0eTogMC4xNTtcbiAgICAgICAgICB0b3A6IDAlO1xuICAgICAgICAgIGxlZnQ6IDQ2LjE1Mzg0NjE1MzglOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2Om50aC1jaGlsZCg1KSB7XG4gICAgICAgICAgb3BhY2l0eTogMC4xNjtcbiAgICAgICAgICB0b3A6IC0yNSU7XG4gICAgICAgICAgbGVmdDogNjEuNTM4NDYxNTM4NSU7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIC5jdGFfX2JhY2tncm91bmQgPiBkaXY6bnRoLWNoaWxkKDYpIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjA4O1xuICAgICAgICAgIHRvcDogLTUwJTtcbiAgICAgICAgICBsZWZ0OiA3Ni45MjMwNzY5MjMxJTsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCA+IGRpdjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4wNTtcbiAgICAgICAgICAgIHRvcDogNjAlO1xuICAgICAgICAgICAgbGVmdDogMCU7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCA+IGRpdjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xMDtcbiAgICAgICAgICAgIHRvcDogNDUlO1xuICAgICAgICAgICAgbGVmdDogMjUlOyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIC5jdGFfX2JhY2tncm91bmQgPiBkaXY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMDk7XG4gICAgICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2Om50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjE1O1xuICAgICAgICAgICAgdG9wOiAxNSU7XG4gICAgICAgICAgICBsZWZ0OiA3NSU7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCA+IGRpdjpudGgtY2hpbGQoNSkge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xNjtcbiAgICAgICAgICAgIHRvcDogMCU7XG4gICAgICAgICAgICBsZWZ0OiAxMDAlOyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIC5jdGFfX2JhY2tncm91bmQgPiBkaXY6bnRoLWNoaWxkKDYpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMDg7XG4gICAgICAgICAgICB0b3A6IC0xNSU7XG4gICAgICAgICAgICBsZWZ0OiAxMjUlOyB9IH1cbiAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC13aWR0aDogODMwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzc2cHg7XG4gICAgICBwYWRkaW5nLXRvcDogNTRweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCBoMyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICNlM2U2ZmY7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgaDEge1xuICAgICAgICBtYXJnaW4tdG9wOiAzNnB4O1xuICAgICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMzhlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjY0eDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCBwIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA3MjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCAuY3RhLWJ1dHRvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIC5jdGEtYnV0dG9ucyA+IC5idG4ge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc4OThmZjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAyZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xMGVtO1xuICAgICAgICAgIHBhZGRpbmc6IDE0cHggMjZweDsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgLmN0YS1idXR0b25zID4gLmJ0bjpub3QoOmhvdmVyKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgLmN0YS1idXR0b25zID4gLmJ0bi0tcHJpbWFyeSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICBjb2xvcjogIzRhNjhmZjsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgLmN0YS1idXR0b25zID4gLmJ0bi0tcHJpbWFyeTphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYyODcnO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCAuY3RhLWJ1dHRvbnMgPiAuYnRuLS1wcmltYXJ5OmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgLmN0YS1idXR0b25zIC5zYWxlcyB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIHRyYW5zaXRpb246IC4ycyBjb2xvcjsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgLmN0YS1idXR0b25zIC5zYWxlczpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDE0MHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTRweDsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIGgzIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjQ2cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIC5idG4ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfSB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIGgzLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCBoMSxcbiAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgcCxcbiAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgLmN0YS1idXR0b25zIC5idG4ge1xuICAgICAgICBhbmltYXRpb246IDFzIGZhZGVJblVwIGZvcndhcmRzO1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIGgzIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuNHM7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgaDEge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC42czsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCBwIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuOXM7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgLmN0YS1idXR0b25zIC5idG4ge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEuMXM7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgLmN0YS1idXR0b25zIC5idG46bGFzdC1jaGlsZCB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMS4yczsgfVxuICAjcGFnZS1wcm9kdWN0cyBpb25pYy1hcHBmbG93LWFjdGl2YXRvciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IC0yNDdweDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgaW9uaWMtYXBwZmxvdy1hY3RpdmF0b3IgLmFwcC1zY3JlZW5zaG90IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgaGVpZ2h0OiA1MDdweDtcbiAgICAgIHdpZHRoOiA5NjBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0zMDBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gMXMgMS44cyBmb3J3YXJkczsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgaW9uaWMtYXBwZmxvdy1hY3RpdmF0b3IgLmFwcC1zY3JlZW5zaG90IGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IHJnYmEoMCwgMTQsIDQxLCAwLjA4KSwgMCAzMHB4IDYwcHggcmdiYSgwLCAxMSwgMzQsIDAuMTUpOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgaW9uaWMtYXBwZmxvdy1hY3RpdmF0b3IgLmFwcC1zY3JlZW5zaG90IHtcbiAgICAgICAgICBoZWlnaHQ6IDMzOHB4O1xuICAgICAgICAgIHdpZHRoOiA2NDBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgaW9uaWMtYXBwZmxvdy1hY3RpdmF0b3IgLmFwcC1zY3JlZW5zaG90IHtcbiAgICAgICAgICBoZWlnaHQ6IDE2OXB4O1xuICAgICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtODRweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyBpb25pYy1hcHBmbG93LWFjdGl2YXRvciB7XG4gICAgICAgIHRvcDogLTg0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgaW9uaWMtYXBwZmxvdy1hY3RpdmF0b3Ige1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRvcDogMDsgfSB9XG4gICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyB7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMjRweDtcbiAgICBtYXJnaW46IDY0cHggYXV0byAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIFtjbGFzc149XCJjdXN0b21lci1sb2dvXCJdIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3Byby1jdXN0b21lci1zcHJpdGUucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTIxcHggMjU2cHg7XG4gICAgICBtYXJnaW46IDM0cHggNDJweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIFtjbGFzc149XCJjdXN0b21lci1sb2dvXCJdIHtcbiAgICAgICAgICBtYXJnaW46IDIycHggMzRweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3Mge1xuICAgICAgICBwYWRkaW5nOiA4cHg7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIFtjbGFzc149XCJjdXN0b21lci1sb2dvXCJdIHtcbiAgICAgICAgICBtYXJnaW46IDE2cHggMThweDsgfSB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1sZW5kaW5nY2x1YiB7XG4gICAgICB3aWR0aDogMTIxcHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3MgLmN1c3RvbWVyLWxvZ28tLW1jZG9uYWxkcyB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xOXB4O1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3MgLmN1c3RvbWVyLWxvZ28tLXN0dWR5IHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwcHg7XG4gICAgICB3aWR0aDogMTE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3MgLmN1c3RvbWVyLWxvZ28tLWNhdCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC01OXB4O1xuICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3MgLmN1c3RvbWVyLWxvZ28tLWdlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0tY29tY2FzdCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMDVweDtcbiAgICAgIHdpZHRoOiA3M3B4O1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1hbXRyYWsge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTI2cHg7XG4gICAgICB3aWR0aDogNDdweDtcbiAgICAgIGhlaWdodDogMjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0tYWlyYnVzIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0N3B4O1xuICAgICAgd2lkdGg6IDEwN3B4O1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1hYWEge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTY4cHg7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGhlaWdodDogMjdweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0tZGVsb2l0dGUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTk1cHg7XG4gICAgICB3aWR0aDogODdweDtcbiAgICAgIGhlaWdodDogMTZweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0tdXNhYSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMTJweDtcbiAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgaGVpZ2h0OiAyNHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1pbmcge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjM3cHg7XG4gICAgICB3aWR0aDogNzNweDtcbiAgICAgIGhlaWdodDogMTlweDsgfVxuICAjcGFnZS1wcm9kdWN0cyAucHJvLXZpZGVvIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLXZpZGVvOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLXZpZGVvIC52aWRlby1wbGF5ZXIge1xuICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyAudmlkZW8tcGxheWVyOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLXZpZGVvIC52aWRlby1wbGF5ZXI6bm90KC5pcy1wbGF5aW5nKTpob3ZlciAudmlkZW8tcGxheWVyLWZyYW1lIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyAudmlkZW8tcGxheWVyOm5vdCguaXMtcGxheWluZyk6aG92ZXIgLnZpZGVvLXBsYXllci1idXR0b24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjA1KTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyAudmlkZW8tcGxheWVyLmlzLXJlYWR5IC52aWRlby1wbGF5ZXItYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tdmlkZW8gLnZpZGVvLXBsYXllci5pcy1wbGF5aW5nIC52aWRlby1wbGF5ZXItYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tdmlkZW8gLnZpZGVvLXBsYXllci1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpO1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyAudmlkZW8tcGxheWVyLWZyYW1lIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3Byby1kYXNoLXZpZGVvLXNjcmVlbnNob3QucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZy1ib3R0b206IDY0LjY3JTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLXZpZGVvIC52aWRlby1wbGF5ZXItZnJhbWUgPiBpZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAjcGFnZS1wcm9kdWN0cyAucHJvLWJlbmVmaXRzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWJlbmVmaXRzIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWJlbmVmaXRzIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1iZW5lZml0cyBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjJweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1iZW5lZml0cyBsaTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURFQUFBQXdDQVlBQUFDNHdKSzVBQUFEL0VsRVFWUm9nYzNhMjR0VlpSekc4YzlhYzlqT09PaklNR29NU1hReFJCYzE2VVdTNFlWaWtCS0tVR1RFVUYzNUJ3amhYNUJDRjBFWFJoY1ZVMFFVQ0JZUjVBRVNKSWt3dTRrWUw0SkE4NUE1NmRDNFoyeFdGKzhhM1RPekQydnR3NW9lV096TjN1djkvWjR2NzNHOTc0cVNKSEh3WSsxUUg3WmhLMGJUYXhBRDZmL1RtTUprZXAzSE9jeTBtcmk3eGZKOTJJdHg3RUFwUTVtbks3NlhjUVlUT0tGSm9HWWhCbkVRaHpEVVpBd0M5UFBwZFJOdjR6Mmh4aklyenBrMHd1dENjM2hMYXdCTE5aVEduRXh6UkZrTDVvSFlpSlA0QU1ONTNPWFVjSnJqWkpxem9iSkNiTWRGN0d6T1YxUGFtZWJjM3VqRytPYy9HZ2JiajIreG9XVmIrYlVoemIyLzNrMk5hbUkvdnBCdDFPbVVTcW1IbWlEMUlMYmowd2IzRktWWThGSzFhZFV5dUJHZlc5a2FXS3FTNEdsWlo2OEdFZUVUSzlNSEdtbUQ0RzNSOEZzTjRqWEZqa0o1dFZQd2VGOUxJUVp4dENnM0xlaW80QlhMSVE3cTdFVFdMZzBMWHJFWW9rOVlDNjJJaHRld090OHdja2p3dkFoaXIvYXVoVEpyWkIzN3RyQjNTeTZRSWNIeklvanhObnZMcEpGMTdCNmp1NHUxL2V4NWlsTDJ0ZlU0RHlENmhPZUJRbFVKc0tEK1hucXpRK3hBWHd4eDVGa0ZUMnpWQUdabStmSUNkKzVtRGxQQ3RsQVRrV2ZhN0xHdTZnSDhOWjA3M05ZWUloNXJtOE1HMmpqWVZnQVlqUkVsNGFHKzQxcS9oajN0QldBQkltSmQ2eGJyYS8wYVh0aTh1Tk8yQVFBR1EwMGtWdWN0MlY4S0UxUVdkUkFBQmtKTlJOa2Z5Z2tUMHI0dDRScHBVSWNkQmtBNlQwUlI5djJldnQ0d3M2N3REMjE3OTFodGtDSUFNQjBqaVNOM3NwYm9pdWlxNkppMVFBb0NnS2tZU1hmc3Q2d2xwc3VjK0RGOExtZ3BTSUVBTUJrajZlcHlLVStwMnpPMVFaN1lWQ2dBQ3hDcmVueWZ0MlF0a0cyamhRTEErUmdlWGU5TUZKbkxXN29hU0tYdXpuVWNvSXh6TVd4K3hGUnZ0eCthaVZJTFpQWWVYLy9VVVFEQ2p2cE1ETWRPK2JmVWJhTFpTUGRCMHRWbmVZNnZMbkQ5ZGx1TTF0TUVSQmV2Skk2ZDR2RVJhMys5NHZmNVJNWjVlTGxLUFd3YTR2SXQvcW5SeE5xb20zallRazNBTDVmOVhlcnhiaXRSeTNOY3Vsb0lBT0VzWTRZbHV4MERxN3dUUjI0VllxRTEzUkFPWTdBRTRzWnRmM1ozT1Z5NHBmeDZVOFZwMHJJZHdObDczbzhqM3hWcUtaOU80NlBLSDZwdFl5YnppWmR4dlFoSE9YVU5yeUtwL0xIV3J2aFZ2Q2hNSnY4WGxmR1M0RzJSNnAwOW5NVXJtTytRcVR5YUY3eWNyZlpub3dPVTQxYStSc3FwaCtPMWJzaHlDblFjendudHNXaGRTM1BYQkNEN1VkWlpqQWtqUTFFNm5lYXMyb1FxRlQvNVVPYWdWN0VMYndpVFRhZDBJODJ4UzVWT1hFMTVEeFVUZkNqc1V4MFcxaS90MHMwMDVtaWFJNmwvK3dNMWV6STZoU1BDQXV3QXZ0RmM1eStuWlEra3NZN0krVjRIcmI5bE00UFAwbXZGWGhYNkQzbVZLVFgyZkVOc0FBQUFBRWxGVGtTdVFtQ0NcIik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tYmVuZWZpdHMgbGkgaDQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tYmVuZWZpdHMgbGkgcCB7XG4gICAgICAgIGNvbG9yOiAjNTQ1YzZhO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzIC5oZXJvIHtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuY29udGVudCB7XG4gICAgICB3aWR0aDogMzklO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMjBweDtcbiAgICAgIGNvbG9yOiAjMDcwZjFhO1xuICAgICAgbWluLWhlaWdodDogNzI0cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250ZW50LmRhcmsge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250ZW50LmRhcmsgaDIsXG4gICAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250ZW50LmRhcmsgLmhlcm9fX2N0YSB7XG4gICAgICAgICAgY29sb3I6ICMxNTFkMmI7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmNvbnRlbnQuZGFyayBwIHtcbiAgICAgICAgICBjb2xvcjogIzU5NmE4OTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmNvbnRlbnQgaDIge1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuY29udGVudCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmNvbnRlbnQgaDQge1xuICAgICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogIzgwOGZhNzsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuY29udGVudCBoNDo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3Byby9wcm9kdWN0LWhlYWRlci1pY29ucy5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDY0cHg7XG4gICAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuaGVyb19fY3RhLWJhciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm9fX2N0YS1iYXIgYSArIGEge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvX19jdGEtYmFyLXNlY29uZGFyeSB7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm9fX2N0YS1iYXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVyb19fY3RhLWJhci1zZWNvbmRhcnkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsgfSB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm9fX2N0YSB7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tLWNvbG9yIDEwMG1zIGVhc2UtaW4tb3V0OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVyb19fY3RhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1xcZjI4Nyc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvX19jdGE6aG92ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvX19pY29uLWxpbmsge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVyb19faWNvbi1saW5rIGkge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVyb19faWNvbi1saW5rOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBvcGFjaXR5OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8uYWN0aXZlIC5jb250YWluZXI6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gaDQge1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICAgIGNvbG9yOiAjMjcyYTJmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyBoMyB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyBoMiB7XG4gICAgICBjb2xvcjogIzI3MmEyZjtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxNWVtOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gcCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDI2ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgY29sb3I6ICM1ZTY3Nzc7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIHAgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICMyNzJhMmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIHAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmJ0biB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDE1cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuYnRuIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5idG46OmFmdGVyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYyODcnO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTFweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuYnRuOmhvdmVyOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMnB4LCAwLCAwKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmNvbnRlbnQgaDIge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250ZW50IHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfSB9XG4gICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzI3MmEyZjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7XG4gICAgcGFkZGluZy10b3A6IDE0MHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGhncm91cCB7XG4gICAgICBtYXgtd2lkdGg6IDc0MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNjhweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGhncm91cCBoMyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjMDcwZjFhO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgaGdyb3VwIHAge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgICBjb2xvcjogIzQzNTQ2ZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyAuZmVhdHVyZXMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyAuZmVhdHVyZXMgaDQge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyAuZmVhdHVyZXMgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgY29sb3I6ICM2ODdlOTk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxNWVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGxpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2OHB4O1xuICAgICAgZmxleDogMCAxIDM0MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgbGk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvcHJvL3Byby1mZWF0dXJlLWljb25zLnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGxpLmZhc3Rlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGxpLmhhcHBpZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk2cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyAuZmVhdHVyZXMge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyBsaTo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiBjYWxjKCA1MCUgLSAyNHB4KTsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgbGkgKyBsaSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY4cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDJweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDcycHg7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGhncm91cCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDJweDsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyBoZ3JvdXAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGhncm91cCBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfSB9XG4gICNwYWdlLXByb2R1Y3RzICN1cGRhdGVzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgd2hpdGUgMCUsICNmNmY4ZmIgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3VwZGF0ZXMgaDQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTc5cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDE0OHB4OyB9IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuYW5pbS11cGRhdGVzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3VwZGF0ZXMgLmFuaW0tdXBkYXRlc19fcm9vdCB7XG4gICAgICB3aWR0aDogNzI2cHg7XG4gICAgICBoZWlnaHQ6IDQzN3B4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3VwZGF0ZXMgLmFuaW0tdXBkYXRlc19fZm9yZWdyb3VuZCxcbiAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuYW5pbS11cGRhdGVzX19iYWNrZ3JvdW5kIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzICN1cGRhdGVzIC5hbmltLXVwZGF0ZXNfX2ZvcmVncm91bmQge1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMTAwMHB4KTsgfVxuICAgICNwYWdlLXByb2R1Y3RzICN1cGRhdGVzIC5hbmltLXVwZGF0ZXNfX2JhY2tncm91bmQge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigxMDBweCk7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuYW5pbS11cGRhdGVzX19kZXZpY2Uge1xuICAgICAgd2lkdGg6IDcyNnB4O1xuICAgICAgaGVpZ2h0OiA0MzdweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3VwZGF0ZXMtaWxsdXN0cmF0aW9uLWRldmljZS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA3MjZweCA0MzdweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDUwMHB4KTsgfVxuICAgICNwYWdlLXByb2R1Y3RzICN1cGRhdGVzIC5hbmltLXVwZGF0ZXNfX3NjcmVlbiB7XG4gICAgICB3aWR0aDogMzA4cHg7XG4gICAgICBoZWlnaHQ6IDU1NHB4O1xuICAgICAgYmFja2dyb3VuZDogIzVkMzdmZjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjhweDtcbiAgICAgIGxlZnQ6IDQwNnB4O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNjBkZWcpIHJvdGF0ZVkoMC43ZGVnKSByb3RhdGVaKDM2LjVkZWcpIHNrZXcoMmRlZywgLTEuNWRlZyk7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzICN1cGRhdGVzIC5hbmltLXVwZGF0ZXMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuY29udGVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuY29udGVudCBoNDo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDMycHgpOyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMgI2J1aWxkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgd2hpdGUgMCUsICNmNmY4ZmIgMTAwJSk7XG4gICAgcGFkZGluZzogMTAwcHggMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNidWlsZCBoNDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjYnVpbGQgLmFuaW0tYnVpbGQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAzOSU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI2J1aWxkIC5hbmltLWJ1aWxkX190ZXh0IHtcbiAgICAgIGZpbGw6ICM1ZDM3ZmY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjYnVpbGQgLmNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDE0MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYnVpbGQgLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0MCU7XG4gICAgICAgIHRvcDogMTI4cHg7XG4gICAgICAgIGJvdHRvbTogMTI4cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNidWlsZCAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogNDAlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzICNidWlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI2J1aWxkIC5hbmltLWJ1aWxkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNidWlsZCAuY29udGVudCB7XG4gICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNjRweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYnVpbGQgLmNvbnRlbnQgaDQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDMycHgpOyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyB7XG4gICAgYmFja2dyb3VuZDogIzA4MWIxNztcbiAgICBwYWRkaW5nOiA1MHB4IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIGg0LFxuICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgLmJ0biB7XG4gICAgICBjb2xvcjogIzYwN2Q3OTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyBoNDo6YmVmb3JlLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyAuYnRuOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNTZweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgLmFuaW0tcmVwb3J0aW5nIHtcbiAgICAgIHdpZHRoOiAxMDg0cHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjQwcHgpO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgI2FuaW0tcmVwb3J0aW5nX19zdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5hbmltLXJlcG9ydGluZ19fYmcge1xuICAgICAgZmlsbDogIzBkMmIyNTsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgLmFuaW0tcmVwb3J0aW5nX19zY2FuIHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBjeWNsZS1mYWRlO1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsgfVxuXG5Aa2V5ZnJhbWVzIGN5Y2xlLWZhZGUge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgLmFuaW0tcmVwb3J0aW5nX19idWcge1xuICAgICAgZmlsbDogI2ZmMzI2NztcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNzJweDtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICB6LWluZGV4OiA1OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5jb250ZW50IHtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDY0cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5hbmltLXJlcG9ydGluZyB7XG4gICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyAuYW5pbS1yZXBvcnRpbmdfX2NsaXBwZWQge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyAuYW5pbS1yZXBvcnRpbmcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyAuY29udGVudCB7XG4gICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNjRweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5jb250ZW50IGg0OjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTsgfSB9XG4gICNwYWdlLXByb2R1Y3RzICNwdXNoIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZiYzJhIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmY2UzOSAwJSwgI2ZmYWQyMCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcHVzaCBoNCB7XG4gICAgICBjb2xvcjogI2QyNmQwMDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3B1c2ggaDQ6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMyMHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3B1c2ggLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3Byb2R1Y3QtcHVzaC1pbWcucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAwO1xuICAgICAgdG9wOiA4MHB4O1xuICAgICAgYm90dG9tOiA4MHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNwdXNoIC5jb250YWluZXI6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAxMzBweDtcbiAgICAgICAgICBib3R0b206IDEzMHB4OyB9IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcHVzaCAuY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTcycHg7XG4gICAgICB3aWR0aDogMzUlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjcHVzaCAuY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjcHVzaCAuY29udGVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjcHVzaCAuY29udGVudCBoNDo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDMycHgpOyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmYWZjO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB3aGl0ZSAwJSwgI2Y2ZjhmYiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSBoNDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjIwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwMHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUgc3ZnIC5jb25uZWN0b3Ige1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBzdHJva2UtZGFzaGFycmF5OiA4MHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUgc3ZnIHJlY3QuZm91ciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlIHN2ZyAjdG9wLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlIHN2ZyAjYm90dG9tIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUgc3ZnICNib3R0b20ge1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUgc3ZnICN0b3Age1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUgc3ZnID4gZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzOTBweDsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmNvbnRlbnQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmNvbnRlbnQgaDQ6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgICAgICB0b3A6IDQ3MHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNjcwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5jb250ZW50IHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuY29udGVudCBoNDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMzJweCk7IH0gfVxuICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpID4gZGl2IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSA+IGRpdiBwIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTdweDsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgPiBkaXYgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAxMnB4OyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSA+IGRpdjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLm1hc3RlcjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tYXV0b21hdGUtYW5pbWF0aW9uL21hc3Rlci5wbmdcIik7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDMwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAuc3RhZ2luZzpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tYXV0b21hdGUtYW5pbWF0aW9uL3N0YWdpbmcucG5nXCIpO1xuICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMTBweCAzMHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLnFhOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3Byby1hdXRvbWF0ZS1hbmltYXRpb24vcWEucG5nXCIpO1xuICAgICAgICB3aWR0aDogNjFweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYxcHggMzBweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5hbmRyb2lkOmJlZm9yZSxcbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAuaW9zOmJlZm9yZSxcbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAud2ViOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiA2MnB4O1xuICAgICAgICBoZWlnaHQ6IDYycHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjJweCA2MnB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLmFuZHJvaWQ6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vcHJvLWF1dG9tYXRlLWFuaW1hdGlvbi9hbmRyb2lkLnBuZ1wiKTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5pb3M6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vcHJvLWF1dG9tYXRlLWFuaW1hdGlvbi9pb3MucG5nXCIpOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLndlYjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tYXV0b21hdGUtYW5pbWF0aW9uL2pzLnBuZ1wiKTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC50ZXN0ZmxpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3Byby1hdXRvbWF0ZS1hbmltYXRpb24vdGVzdGZsaWdodC5wbmdcIik7XG4gICAgICAgIHdpZHRoOiA1M3B4O1xuICAgICAgICBoZWlnaHQ6IDUzcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTNweCA1M3B4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLnBsYXlzdG9yZTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tYXV0b21hdGUtYW5pbWF0aW9uL3BsYXlzdG9yZS5wbmdcIik7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTBweCA1NXB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLndlYmhvb2s6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vcHJvLWF1dG9tYXRlLWFuaW1hdGlvbi93ZWJob29rLnBuZ1wiKTtcbiAgICAgICAgd2lkdGg6IDU4cHg7XG4gICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1OHB4IDU0cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAubWFzdGVyLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5zdGFnaW5nLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5xYSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAxOTVweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5hbmRyb2lkLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5pb3MsXG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLndlYiB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAzNjhweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5hbmRyb2lkLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC53ZWIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTc0cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAuaW9zIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzhweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC50ZXN0ZmxpZ2h0LFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5wbGF5c3RvcmUsXG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLndlYmhvb2sge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTQwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAudGVzdGZsaWdodCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMzUycHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAucGxheXN0b3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDM1MnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMge1xuICAgIHBhZGRpbmc6IDE5NnB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM5NDA3MjsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgaGdyb3VwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBoZ3JvdXAgaDMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBoZ3JvdXAgcCB7XG4gICAgICAgIGNvbG9yOiAjZDdkOWViO1xuICAgICAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIHVsIHtcbiAgICAgIG1hcmdpbjogMCAtMjRweCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXJnaW4tdG9wOiA4NnB4O1xuICAgICAgcGFkZGluZzogMCAyNHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIGxpIGg1IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBsaSBwIHtcbiAgICAgICAgY29sb3I6ICNiOWJjZDg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMXMgIWltcG9ydGFudDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBsaTpudGgtY2hpbGQoMykge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMnMgIWltcG9ydGFudDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBsaTpudGgtY2hpbGQoNCkge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuM3MgIWltcG9ydGFudDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBsaTpudGgtY2hpbGQoNSkge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNHMgIWltcG9ydGFudDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBsaTpudGgtY2hpbGQoNikge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNXMgIWltcG9ydGFudDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBsaTpudGgtY2hpbGQoNykge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNnMgIWltcG9ydGFudDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBsaTpudGgtY2hpbGQoOCkge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuN3MgIWltcG9ydGFudDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgW2NsYXNzXj1cInByby1mZWF0dXJlLS1cIl0gaDU6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tZmVhdHVyZS1zcHJpdGUucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAxOTJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgLnByby1mZWF0dXJlLS1hcHAtZGFzaGJvYXJkIGg1OjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyAucHJvLWZlYXR1cmUtLWNvbmZpZ3VyYWJsZSBoNTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgY2FsYygtMSAqIDI0cHgpOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyAucHJvLWZlYXR1cmUtLWNsZWFuLWJ1aWxkcyBoNTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgY2FsYygtMiAqIDI0cHgpOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyAucHJvLWZlYXR1cmUtLW1vYmlsZS1jaS1jZCBoNTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgY2FsYygtMyAqIDI0cHgpOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyAucHJvLWZlYXR1cmUtLWdpdC1pbnRlZ3JhdGlvbnMgaDU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNhbGMoLTQgKiAyNHB4KTsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgLnByby1mZWF0dXJlLS1jb25uZWN0ZWQtc2VydmljZXMgaDU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNhbGMoLTUgKiAyNHB4KTsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgLnByby1mZWF0dXJlLS1saXZlLWFwcC11cGRhdGluZyBoNTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgY2FsYygtNiAqIDI0cHgpOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyAucHJvLWZlYXR1cmUtLXJvbGUtYmFzZWQtY29udHJvbHMgaDU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNhbGMoLTcgKiAyNHB4KTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgbGkge1xuICAgICAgICBmbGV4OiAwIDAgMzMlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMge1xuICAgICAgICBwYWRkaW5nOiA5MHB4IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIGg1IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIGxpIHtcbiAgICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgaGdyb3VwIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDM2cHg7IH0gfVxuICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgIzFiMWYzYSAwJSwgIzI5MmY1MiAxMDAlKTtcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5nZXQtc3RhcnRlZCAuY29udGFpbmVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5nZXQtc3RhcnRlZCBoZ3JvdXAge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDI1ZW07XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQgaDIge1xuICAgICAgY29sb3I6ICNlMGUzZjY7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDogNjgwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5nZXQtc3RhcnRlZCBoMiBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5nZXQtc3RhcnRlZCBoMyB7XG4gICAgICBjb2xvcjogIzhhYTZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5nZXQtc3RhcnRlZCAuYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xMGVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVmYTNmZjtcbiAgICAgIHBhZGRpbmc6IDE2cHggMjhweCAxNHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQgLmJ0bjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODk1ZmM7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzIC5nZXQtc3RhcnRlZCAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmdldC1zdGFydGVkIGhncm91cCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQgLmJ0bi1ncm91cCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA5NnB4OyB9IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/products/enterprise-core.css ================================================ #page-products-enterprise-core .sub-header .btn { color: #1A232F; background-color: #FF9982; font-weight: bold; line-height: normal; font-size: 11px; text-align: center; letter-spacing: 0.08em; text-transform: uppercase; padding-left: 15px; padding-right: 15px; } #page-products-enterprise-core .sub-header .btn:hover { background-color: #ffbaab; } #page-products-enterprise-core h3, #page-products-enterprise-core h2, #page-products-enterprise-core p.large { letter-spacing: -0.01em; } #page-products-enterprise-core p { font-weight: 400; } #page-products-enterprise-core p:not(.large) { font-family: "Graphik", "Avenir Next", "Helvetica Neue", Helvetica, sans-serif; } #page-products-enterprise-core main ul { list-style-type: none; margin: 0; padding: 0; } #page-products-enterprise-core .top { margin-top: -148px; padding-top: 260px; padding-bottom: 180px; background: #182434; position: relative; z-index: 0; } #page-products-enterprise-core .top:before { content: ''; display: block; background-image: url("/img/products/enterprise-core/enterprise-core-hero-bg.png"); background-repeat: no-repeat; background-size: 1096px 760px; width: 1096px; height: 760px; position: absolute; bottom: 0; right: 50%; margin-right: -820px; z-index: 1; } #page-products-enterprise-core .top hgroup { position: relative; z-index: 2; color: #fff; max-width: 624px; } #page-products-enterprise-core .top hgroup h4 { line-height: 25px; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #CED6E0; font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; } #page-products-enterprise-core .top hgroup h1 { font-size: 48px; letter-spacing: -0.03em; } #page-products-enterprise-core .top hgroup p { line-height: 39px; font-size: 22px; color: #CED6E0; } @media (max-width: 768px) { #page-products-enterprise-core .top hgroup { text-align: center; margin-left: auto; margin-right: auto; } } @media (max-width: 480px) { #page-products-enterprise-core .top hgroup h1 { font-size: 40px; } #page-products-enterprise-core .top hgroup p { line-height: 30px; font-size: 20px; } } @media (max-width: 768px) { #page-products-enterprise-core .top { padding-top: 190px; padding-bottom: 94px; } } #page-products-enterprise-core main section { padding-top: 200px; padding-bottom: 200px; } #page-products-enterprise-core main section:first-child { padding-bottom: 50px; } #page-products-enterprise-core main section.offwhite { background-color: #F6F8FB; } #page-products-enterprise-core main .container { position: relative; } #page-products-enterprise-core main .container + .container { margin-top: 260px; } #page-products-enterprise-core main hgroup { margin-bottom: 100px; } #page-products-enterprise-core main .measure { max-width: 600px; } #page-products-enterprise-core main .center { text-align: center; } #page-products-enterprise-core main h3 { color: #FF9982; font-size: 32px; margin-bottom: 0; margin-top: 0; font-weight: 600; } #page-products-enterprise-core main h2 { color: #020814; font-size: 36px; margin-top: 10px; margin-bottom: 16px; font-weight: 700; } #page-products-enterprise-core main p.large { line-height: 39px; font-size: 22px; color: #5B708B; } #page-products-enterprise-core main p.large em { font-style: normal; color: #2F3A48; } @media (max-width: 992px) { #page-products-enterprise-core main section { padding-top: 112px; padding-bottom: 130px; } #page-products-enterprise-core main hgroup { margin-bottom: 0; } #page-products-enterprise-core main h3 { font-size: 28px; } #page-products-enterprise-core main h2 { font-size: 32px; } #page-products-enterprise-core main .container + .container { margin-top: 200px; } } @media (max-width: 768px) { #page-products-enterprise-core main hgroup { text-align: center; margin-left: auto; margin-right: auto; } #page-products-enterprise-core main .container + .container { margin-top: 144px; } } @media (max-width: 480px) { #page-products-enterprise-core main section { padding-top: 82px; padding-bottom: 90px; } } #page-products-enterprise-core .feature-table { width: 100%; } #page-products-enterprise-core .feature-table tr td { border-top: 2px solid #F2F5FA; } #page-products-enterprise-core .feature-table tr:first-child td { border-top: 0; } #page-products-enterprise-core .feature-table tr td:nth-child(1) { font-size: 20px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; display: -ms-flexbox; display: flex; } #page-products-enterprise-core .feature-table tr td:nth-child(1) svg { margin-right: 16px; } #page-products-enterprise-core .feature-table tr td:nth-child(2) { font-size: 18px; color: #5B708B; } #page-products-enterprise-core .feature-table tr td:nth-child(3) { color: #5B708B; } #page-products-enterprise-core .feature-table tr td { padding: 32px 48px; } #page-products-enterprise-core .feature-table tr td:first-child { padding-left: 0; } #page-products-enterprise-core .feature-table tr td:last-child { padding-right: 0; } @media (max-width: 992px) { #page-products-enterprise-core .feature-table tr { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-bottom: 18px; } #page-products-enterprise-core .feature-table tr td:first-child { -ms-flex: 0 0 100%; flex: 0 0 100%; padding-top: 48px; } #page-products-enterprise-core .feature-table tr td:not(:first-child) { -ms-flex: 0 0 100%; flex: 0 0 100%; border-top: 0; padding-top: 0; padding-left: 0; max-width: 420px; } } @media (max-width: 768px) { #page-products-enterprise-core .feature-table tr { max-width: 420px; margin-left: auto; margin-right: auto; } } #page-products-enterprise-core .checkmark-list { margin-bottom: -26px; } #page-products-enterprise-core .checkmark-list li { position: relative; display: -ms-flexbox; display: flex; } #page-products-enterprise-core .checkmark-list li:before { position: relative; display: block; content: ''; } #page-products-enterprise-core .checkmark-list > li { margin-bottom: 26px; } #page-products-enterprise-core .checkmark-list > li:before { background-image: url("/img/checkmark-salmon.svg"); background-size: 20px 20px; height: 20px; width: 20px; -ms-flex: 0 0 20px; flex: 0 0 20px; margin-right: 16px; } #page-products-enterprise-core .checkmark-list li ul { margin-top: 20px; } #page-products-enterprise-core .checkmark-list li ul > li { line-height: 17px; font-size: 12px; position: relative; } #page-products-enterprise-core .checkmark-list li ul > li:before { background-image: url("/img/checkmark.svg"); background-size: 10px 8px; height: 8px; width: 10px; -ms-flex: 0 0 10px; flex: 0 0 10px; top: 2px; margin-right: 8px; } #page-products-enterprise-core .checkmark-list li ul > li + li { margin-top: 14px; } #page-products-enterprise-core .checkmark-list.large { line-height: 33px; font-size: 20px; color: #5B708B; } #page-products-enterprise-core .checkmark-list.large li:before { top: 4px; } #page-products-enterprise-core .checkmark-list--large li:before { width: 24px; height: 24px; -ms-flex: 0 0 24px; flex: 0 0 24px; background-size: 24px 24px; margin-right: 20px; } #page-products-enterprise-core .checkmark-list.two-col { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: -30px; margin-right: -30px; } #page-products-enterprise-core .checkmark-list.two-col li { -ms-flex: 0 0 50%; flex: 0 0 50%; padding-left: 30px; padding-right: 30px; } #page-products-enterprise-core .checkmark-list hgroup { margin: 0 0 16px; } #page-products-enterprise-core .checkmark-list hgroup h5 { margin: 0; font-weight: 600; line-height: 20px; font-size: 16px; color: #3C536F; } #page-products-enterprise-core .checkmark-list hgroup p { line-height: 23px; font-size: 14px; color: #92A1B3; } @media (max-width: 992px) { #page-products-enterprise-core .checkmark-list.large { line-height: 30px; font-size: 18px; margin-top: 60px; } } @media (max-width: 768px) { #page-products-enterprise-core .checkmark-list.two-col { max-width: 420px; margin-left: auto; margin-right: auto; } #page-products-enterprise-core .checkmark-list.two-col li { -ms-flex: 0 0 100%; flex: 0 0 100%; } #page-products-enterprise-core .checkmark-list hgroup { text-align: left; margin-bottom: 0; } #page-products-enterprise-core .checkmark-list hgroup p { margin-bottom: 0; } } #page-products-enterprise-core .two-col { display: -ms-flexbox; display: flex; } #page-products-enterprise-core .two-col > div { -ms-flex: 0 0 50%; flex: 0 0 50%; } #page-products-enterprise-core .two-col .feature-list { -ms-flex: 0 0 55%; flex: 0 0 55%; padding-right: 50px; } #page-products-enterprise-core .two-col .checkmark-list { -ms-flex: 0 0 45%; flex: 0 0 45%; padding-left: 50px; } @media (max-width: 992px) { #page-products-enterprise-core .two-col .checkmark-list { margin-top: 40px; } } @media (max-width: 768px) { #page-products-enterprise-core .two-col .feature-list { padding-right: 0; } #page-products-enterprise-core .two-col .checkmark-list { padding-left: 0; max-width: 480px; margin-left: auto; margin-right: auto; } } @media (max-width: 992px) { #page-products-enterprise-core .two-col:not(.checkmark-list) { -ms-flex-direction: column; flex-direction: column; } #page-products-enterprise-core .two-col:not(.checkmark-list) > div { -ms-flex: 0 0 100%; flex: 0 0 100%; } } #page-products-enterprise-core .feature-list li { display: -ms-flexbox; display: flex; } #page-products-enterprise-core .feature-list svg { -ms-flex: 0 0 48px; flex: 0 0 48px; margin-right: 36px; } #page-products-enterprise-core .feature-list hgroup { margin: 0; } #page-products-enterprise-core .feature-list h4 { font-size: 24px; line-height: 1.2; font-weight: 600; margin-bottom: 18px; } #page-products-enterprise-core .feature-list p { margin: 0 0 6px; line-height: 32px; font-size: 18px; color: #5B708B; } #page-products-enterprise-core .feature-list li + li { margin-top: 68px; } @media (max-width: 992px) { #page-products-enterprise-core .feature-list { margin-top: 60px; } #page-products-enterprise-core .feature-list li + li { margin-top: 50px; } } @media (max-width: 768px) { #page-products-enterprise-core .feature-list { padding-right: 0; margin-top: 30px; max-width: 480px; margin-left: auto; margin-right: auto; } #page-products-enterprise-core .feature-list svg { margin-right: 0; margin-bottom: 15px; } #page-products-enterprise-core .feature-list li { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; } } @media (max-width: 480px) { #page-products-enterprise-core .feature-list h4 { font-size: 20px; } #page-products-enterprise-core .feature-list p { line-height: 28px; font-size: 16px; } } #page-products-enterprise-core .feature-list--small li { -ms-flex-direction: column; flex-direction: column; } #page-products-enterprise-core .feature-list--small svg { margin-bottom: 20px; } #page-products-enterprise-core .feature-list--small h4 { font-size: 20px; color: #020814; } #page-products-enterprise-core .feature-list--small p { line-height: 26px; font-size: 16px; color: #5B708B; } #page-products-enterprise-core .three-col { display: -ms-flexbox; display: flex; } #page-products-enterprise-core .three-col li { -ms-flex: 0 0 33%; flex: 0 0 33%; margin: 0; padding: 0 32px; } #page-products-enterprise-core .three-col li + li { margin-top: 0; } #page-products-enterprise-core .three-col li:first-child { padding-left: 0; } #page-products-enterprise-core .three-col li:last-child { padding-right: 0; } @media (max-width: 768px) { #page-products-enterprise-core .three-col { -ms-flex-direction: column; flex-direction: column; } #page-products-enterprise-core .three-col li { -ms-flex: 0 0 100%; flex: 0 0 100%; padding: 0; } #page-products-enterprise-core .three-col li + li { margin-top: 30px; } } #page-products-enterprise-core .integrations { position: relative; } #page-products-enterprise-core .integrations__identity-vault, #page-products-enterprise-core .integrations__aws-amplify, #page-products-enterprise-core .integrations__couchbase, #page-products-enterprise-core .integrations__active-directory { position: absolute; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; font-size: 13px; text-align: center; font-weight: 600; color: #5B708B; } #page-products-enterprise-core .integrations__identity-vault i, #page-products-enterprise-core .integrations__aws-amplify i, #page-products-enterprise-core .integrations__couchbase i, #page-products-enterprise-core .integrations__active-directory i { border-radius: 999px; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; box-shadow: 0px 2px 8px rgba(2, 8, 20, 0.1), 0px 8px 16px rgba(2, 8, 20, 0.08); background-color: #fff; margin-bottom: 14px; } #page-products-enterprise-core .integrations__identity-vault i::before, #page-products-enterprise-core .integrations__aws-amplify i::before, #page-products-enterprise-core .integrations__couchbase i::before, #page-products-enterprise-core .integrations__active-directory i::before { content: ''; display: block; background-image: url("/img/products/enterprise-core/enterprise-core-integrations-sprite.png"); background-repeat: no-repeat; background-size: 112px 294px; background-position: center center; } #page-products-enterprise-core .integrations__identity-vault { top: 0; left: 242px; } #page-products-enterprise-core .integrations__identity-vault i { width: 124px; height: 124px; } #page-products-enterprise-core .integrations__identity-vault i::before { width: 56px; height: 56px; background-position: 0 -151px; } #page-products-enterprise-core .integrations__aws-amplify { top: 172px; left: 0; } #page-products-enterprise-core .integrations__aws-amplify i { width: 192px; height: 192px; } #page-products-enterprise-core .integrations__aws-amplify i::before { width: 112px; height: 84px; background-position: 0 0; } #page-products-enterprise-core .integrations__couchbase { top: 290px; left: 354px; } #page-products-enterprise-core .integrations__couchbase i { width: 124px; height: 124px; } #page-products-enterprise-core .integrations__couchbase i::before { width: 64px; height: 65px; background-position: 0 -85px; } #page-products-enterprise-core .integrations__active-directory { top: 500px; left: 172px; } #page-products-enterprise-core .integrations__active-directory i { width: 160px; height: 160px; } #page-products-enterprise-core .integrations__active-directory i::before { width: 83px; height: 84px; background-position: 0 -210px; } @media (max-width: 1220px) { #page-products-enterprise-core .integrations__identity-vault { left: 212px; } #page-products-enterprise-core .integrations__couchbase { left: 284px; } #page-products-enterprise-core .integrations__active-directory { left: 119px; } } @media (max-width: 992px) { #page-products-enterprise-core .integrations { -ms-flex: none; flex: none; height: 362px; width: 586px; margin-bottom: 40px; } #page-products-enterprise-core .integrations__identity-vault { left: 232px; } #page-products-enterprise-core .integrations__aws-amplify { top: 82px; } #page-products-enterprise-core .integrations__couchbase { left: 251px; top: 188px; } #page-products-enterprise-core .integrations__active-directory { left: 416px; top: 70px; } } @media (max-width: 768px) { #page-products-enterprise-core .integrations { position: absolute; top: -70px; left: 50%; -webkit-transform-origin: center center; transform-origin: center center; -webkit-transform: translateX(-50%) scale(0.8); transform: translateX(-50%) scale(0.8); } #page-products-enterprise-core .integrations + div { margin-top: 300px; } } @media (max-width: 768px) { #page-products-enterprise-core .integrations { top: -90px; -webkit-transform: translateX(-50%) scale(0.6); transform: translateX(-50%) scale(0.6); } #page-products-enterprise-core .integrations + div { margin-top: 260px; } } #page-products-enterprise-core .call-to-action { padding-top: 140px; } #page-products-enterprise-core .call-to-action .container { max-width: 748px; } #page-products-enterprise-core .call-to-action hgroup { margin: 0; padding: 0; } #page-products-enterprise-core .call-to-action hgroup p { font-weight: 400; font-size: 28px; text-align: center; color: #5B708B; } #page-products-enterprise-core .call-to-action hgroup strong { color: #2F3A48; font-weight: 600; } #page-products-enterprise-core .call-to-action hgroup h4 { font-weight: 600; font-size: 24px; color: #FF9982; margin: 60px 0; } @media (max-width: 768px) { #page-products-enterprise-core .call-to-action hgroup p { font-size: 24px; } } @media (max-width: 480px) { #page-products-enterprise-core .call-to-action { padding-top: 82px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QWMsRUFBRTtFQUNsQjtJQUNFLFlBQVk7SUFDWixhQUFhO0lBQ2IsOEJBQThCLEVBQUU7O0FBRXBDO0VBQ0U7SUFDRSxZQUFZLEVBQUU7RUFDaEI7SUFDRSxZQUFZLEVBQUU7RUFDaEI7SUFDRSxZQUFZLEVBQUUsRUFBRTs7QUFFcEI7RUFDRTtJQUNFLGVBQVc7UUFBWCxXQUFXO0lBQ1gsY0FBYztJQUNkLGFBQWE7SUFDYixvQkFBb0IsRUFBRTtFQUN4QjtJQUNFLFlBQVksRUFBRTtFQUNoQjtJQUNFLFVBQVUsRUFBRTtFQUNkO0lBQ0UsWUFBWTtJQUNaLFdBQVcsRUFBRTtFQUNmO0lBQ0UsWUFBWTtJQUNaLFVBQVUsRUFBRSxFQUFFOztBQUVsQjtFQUNFO0lBQ0UsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxVQUFVO0lBQ1Ysd0NBQWdDO1lBQWhDLGdDQUFnQztJQUNoQywrQ0FBdUM7WUFBdkMsdUNBQXVDLEVBQUU7RUFDM0M7SUFDRSxrQkFBa0IsRUFBRSxFQUFFOztBQUUxQjtFQUNFO0lBQ0UsV0FBVztJQUNYLCtDQUF1QztZQUF2Qyx1Q0FBdUMsRUFBRTtFQUMzQztJQUNFLGtCQUFrQixFQUFFLEVBQUU7O0FBRTFCO0VBQ0UsbUJBQW1CLEVBQUU7RUFDckI7SUFDRSxpQkFBaUIsRUFBRTtFQUNyQjtJQUNFLFVBQVU7SUFDVixXQUFXLEVBQUU7SUFDYjtNQUNFLGlCQUFpQjtNQUNqQixnQkFBZ0I7TUFDaEIsbUJBQW1CO01BQ25CLGVBQWUsRUFBRTtJQUNuQjtNQUNFLGVBQWU7TUFDZixpQkFBaUIsRUFBRTtJQUNyQjtNQUNFLGlCQUFpQjtNQUNqQixnQkFBZ0I7TUFDaEIsZUFBZTtNQUNmLGVBQWUsRUFBRTtFQUNyQjtJQUNFO01BQ0UsZ0JBQWdCLEVBQUUsRUFBRTtFQUN4QjtJQUNFO01BQ0Usa0JBQWtCLEVBQUUsRUFBRSIsImZpbGUiOiJwYWdlcy9wcm9kdWN0cy9lbnRlcnByaXNlLWNvcmUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5zdWItaGVhZGVyIC5idG4ge1xuICBjb2xvcjogIzFBMjMyRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOTk4MjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5zdWItaGVhZGVyIC5idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhYWI7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIGgzLFxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIGgyLFxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIHAubGFyZ2Uge1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgcCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIHA6bm90KC5sYXJnZSkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdyYXBoaWtcIiwgXCJBdmVuaXIgTmV4dFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgbWFpbiB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAudG9wIHtcbiAgbWFyZ2luLXRvcDogLTE0OHB4O1xuICBwYWRkaW5nLXRvcDogMjYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxODBweDtcbiAgYmFja2dyb3VuZDogIzE4MjQzNDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAudG9wOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm9kdWN0cy9lbnRlcnByaXNlLWNvcmUvZW50ZXJwcmlzZS1jb3JlLWhlcm8tYmcucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDk2cHggNzYwcHg7XG4gICAgd2lkdGg6IDEwOTZweDtcbiAgICBoZWlnaHQ6IDc2MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC04MjBweDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAudG9wIGhncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWF4LXdpZHRoOiA2MjRweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAudG9wIGhncm91cCBoNCB7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNDRUQ2RTA7XG4gICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnRvcCBoZ3JvdXAgaDEge1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnRvcCBoZ3JvdXAgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMzlweDtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGNvbG9yOiAjQ0VENkUwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnRvcCBoZ3JvdXAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC50b3AgaGdyb3VwIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnRvcCBoZ3JvdXAgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnRvcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTkwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTRweDsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSBtYWluIHNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMDBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgbWFpbiBzZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgbWFpbiBzZWN0aW9uLm9mZndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGOEZCOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSBtYWluIC5jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIG1haW4gLmNvbnRhaW5lciArIC5jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAyNjBweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgbWFpbiBoZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgbWFpbiAubWVhc3VyZSB7XG4gIG1heC13aWR0aDogNjAwcHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIG1haW4gLmNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgbWFpbiBoMyB7XG4gIGNvbG9yOiAjRkY5OTgyO1xuICBmb250LXNpemU6IDMycHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIG1haW4gaDIge1xuICBjb2xvcjogIzAyMDgxNDtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSBtYWluIHAubGFyZ2Uge1xuICBsaW5lLWhlaWdodDogMzlweDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogIzVCNzA4QjsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgbWFpbiBwLmxhcmdlIGVtIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICMyRjNBNDg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSBtYWluIHNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiAxMTJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTMwcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIG1haW4gaGdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSBtYWluIGgzIHtcbiAgICBmb250LXNpemU6IDI4cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIG1haW4gaDIge1xuICAgIGZvbnQtc2l6ZTogMzJweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgbWFpbiAuY29udGFpbmVyICsgLmNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIG1haW4gaGdyb3VwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSBtYWluIC5jb250YWluZXIgKyAuY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNDRweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgbWFpbiBzZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogODJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTBweDsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS10YWJsZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS10YWJsZSB0ciB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNGMkY1RkE7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5mZWF0dXJlLXRhYmxlIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS10YWJsZSB0ciB0ZDpudGgtY2hpbGQoMSkge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5mZWF0dXJlLXRhYmxlIHRyIHRkOm50aC1jaGlsZCgxKSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS10YWJsZSB0ciB0ZDpudGgtY2hpbGQoMikge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogIzVCNzA4QjsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmZlYXR1cmUtdGFibGUgdHIgdGQ6bnRoLWNoaWxkKDMpIHtcbiAgICBjb2xvcjogIzVCNzA4QjsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmZlYXR1cmUtdGFibGUgdHIgdGQge1xuICAgIHBhZGRpbmc6IDMycHggNDhweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS10YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmZlYXR1cmUtdGFibGUgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS10YWJsZSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE4cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmZlYXR1cmUtdGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogNDhweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS10YWJsZSB0ciB0ZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmZlYXR1cmUtdGFibGUgdHIge1xuICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5jaGVja21hcmstbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IC0yNnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2hlY2ttYXJrLWxpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2hlY2ttYXJrLWxpc3QgbGk6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5jaGVja21hcmstbGlzdCA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2hlY2ttYXJrLWxpc3QgPiBsaTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvY2hlY2ttYXJrLXNhbG1vbi5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGZsZXg6IDAgMCAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTZweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmNoZWNrbWFyay1saXN0IGxpIHVsIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2hlY2ttYXJrLWxpc3QgbGkgdWwgPiBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2hlY2ttYXJrLWxpc3QgbGkgdWwgPiBsaTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9jaGVja21hcmsuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDhweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBmbGV4OiAwIDAgMTBweDtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmNoZWNrbWFyay1saXN0IGxpIHVsID4gbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2hlY2ttYXJrLWxpc3QubGFyZ2Uge1xuICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogIzVCNzA4QjsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmNoZWNrbWFyay1saXN0LmxhcmdlIGxpOmJlZm9yZSB7XG4gICAgdG9wOiA0cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5jaGVja21hcmstbGlzdC0tbGFyZ2UgbGk6YmVmb3JlIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgZmxleDogMCAwIDI0cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2hlY2ttYXJrLWxpc3QudHdvLWNvbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTMwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmNoZWNrbWFyay1saXN0LnR3by1jb2wgbGkge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5jaGVja21hcmstbGlzdCBoZ3JvdXAge1xuICAgIG1hcmdpbjogMCAwIDE2cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmNoZWNrbWFyay1saXN0IGhncm91cCBoNSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogIzNDNTM2RjsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2hlY2ttYXJrLWxpc3QgaGdyb3VwIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzkyQTFCMzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmNoZWNrbWFyay1saXN0LmxhcmdlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLXRvcDogNjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2hlY2ttYXJrLWxpc3QudHdvLWNvbCB7XG4gICAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2hlY2ttYXJrLWxpc3QudHdvLWNvbCBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5jaGVja21hcmstbGlzdCBoZ3JvdXAge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2hlY2ttYXJrLWxpc3QgaGdyb3VwIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC50d28tY29sIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnR3by1jb2wgPiBkaXYge1xuICAgIGZsZXg6IDAgMCA1MCU7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC50d28tY29sIC5mZWF0dXJlLWxpc3Qge1xuICAgIGZsZXg6IDAgMCA1NSU7XG4gICAgcGFkZGluZy1yaWdodDogNTBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnR3by1jb2wgLmNoZWNrbWFyay1saXN0IHtcbiAgICBmbGV4OiAwIDAgNDUlO1xuICAgIHBhZGRpbmctbGVmdDogNTBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnR3by1jb2wgLmNoZWNrbWFyay1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnR3by1jb2wgLmZlYXR1cmUtbGlzdCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC50d28tY29sIC5jaGVja21hcmstbGlzdCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC50d28tY29sOm5vdCguY2hlY2ttYXJrLWxpc3QpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC50d28tY29sOm5vdCguY2hlY2ttYXJrLWxpc3QpID4gZGl2IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5mZWF0dXJlLWxpc3QgbGkge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS1saXN0IHN2ZyB7XG4gIGZsZXg6IDAgMCA0OHB4O1xuICBtYXJnaW4tcmlnaHQ6IDM2cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5mZWF0dXJlLWxpc3QgaGdyb3VwIHtcbiAgbWFyZ2luOiAwOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS1saXN0IGg0IHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS1saXN0IHAge1xuICBtYXJnaW46IDAgMCA2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjNUI3MDhCOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS1saXN0IGxpICsgbGkge1xuICBtYXJnaW4tdG9wOiA2OHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmZlYXR1cmUtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS1saXN0IGxpICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmZlYXR1cmUtbGlzdCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5mZWF0dXJlLWxpc3Qgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmZlYXR1cmUtbGlzdCBsaSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5mZWF0dXJlLWxpc3QgaDQge1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmZlYXR1cmUtbGlzdCBwIHtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmZlYXR1cmUtbGlzdC0tc21hbGwgbGkge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS1saXN0LS1zbWFsbCBzdmcge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuZmVhdHVyZS1saXN0LS1zbWFsbCBoNCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgY29sb3I6ICMwMjA4MTQ7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5mZWF0dXJlLWxpc3QtLXNtYWxsIHAge1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzVCNzA4QjsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnRocmVlLWNvbCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC50aHJlZS1jb2wgbGkge1xuICAgIGZsZXg6IDAgMCAzMyU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMzJweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnRocmVlLWNvbCBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAudGhyZWUtY29sIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC50aHJlZS1jb2wgbGk6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnRocmVlLWNvbCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnRocmVlLWNvbCBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLnRocmVlLWNvbCBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuaW50ZWdyYXRpb25zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuaW50ZWdyYXRpb25zX19pZGVudGl0eS12YXVsdCxcbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuaW50ZWdyYXRpb25zX19hd3MtYW1wbGlmeSxcbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuaW50ZWdyYXRpb25zX19jb3VjaGJhc2UsXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmludGVncmF0aW9uc19fYWN0aXZlLWRpcmVjdG9yeSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNUI3MDhCOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuaW50ZWdyYXRpb25zX19pZGVudGl0eS12YXVsdCBpLFxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmludGVncmF0aW9uc19fYXdzLWFtcGxpZnkgaSxcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5pbnRlZ3JhdGlvbnNfX2NvdWNoYmFzZSBpLFxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmludGVncmF0aW9uc19fYWN0aXZlLWRpcmVjdG9yeSBpIHtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggOHB4IHJnYmEoMiwgOCwgMjAsIDAuMSksIDBweCA4cHggMTZweCByZ2JhKDIsIDgsIDIwLCAwLjA4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5pbnRlZ3JhdGlvbnNfX2lkZW50aXR5LXZhdWx0IGk6OmJlZm9yZSxcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5pbnRlZ3JhdGlvbnNfX2F3cy1hbXBsaWZ5IGk6OmJlZm9yZSxcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5pbnRlZ3JhdGlvbnNfX2NvdWNoYmFzZSBpOjpiZWZvcmUsXG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuaW50ZWdyYXRpb25zX19hY3RpdmUtZGlyZWN0b3J5IGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm9kdWN0cy9lbnRlcnByaXNlLWNvcmUvZW50ZXJwcmlzZS1jb3JlLWludGVncmF0aW9ucy1zcHJpdGUucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMTJweCAyOTRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuaW50ZWdyYXRpb25zX19pZGVudGl0eS12YXVsdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMjQycHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5pbnRlZ3JhdGlvbnNfX2lkZW50aXR5LXZhdWx0IGkge1xuICAgIHdpZHRoOiAxMjRweDtcbiAgICBoZWlnaHQ6IDEyNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuaW50ZWdyYXRpb25zX19pZGVudGl0eS12YXVsdCBpOjpiZWZvcmUge1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNTFweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmludGVncmF0aW9uc19fYXdzLWFtcGxpZnkge1xuICB0b3A6IDE3MnB4O1xuICBsZWZ0OiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuaW50ZWdyYXRpb25zX19hd3MtYW1wbGlmeSBpIHtcbiAgICB3aWR0aDogMTkycHg7XG4gICAgaGVpZ2h0OiAxOTJweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmludGVncmF0aW9uc19fYXdzLWFtcGxpZnkgaTo6YmVmb3JlIHtcbiAgICB3aWR0aDogMTEycHg7XG4gICAgaGVpZ2h0OiA4NHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmludGVncmF0aW9uc19fY291Y2hiYXNlIHtcbiAgdG9wOiAyOTBweDtcbiAgbGVmdDogMzU0cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5pbnRlZ3JhdGlvbnNfX2NvdWNoYmFzZSBpIHtcbiAgICB3aWR0aDogMTI0cHg7XG4gICAgaGVpZ2h0OiAxMjRweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmludGVncmF0aW9uc19fY291Y2hiYXNlIGk6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTg1cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5pbnRlZ3JhdGlvbnNfX2FjdGl2ZS1kaXJlY3Rvcnkge1xuICB0b3A6IDUwMHB4O1xuICBsZWZ0OiAxNzJweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmludGVncmF0aW9uc19fYWN0aXZlLWRpcmVjdG9yeSBpIHtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgaGVpZ2h0OiAxNjBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmludGVncmF0aW9uc19fYWN0aXZlLWRpcmVjdG9yeSBpOjpiZWZvcmUge1xuICAgIHdpZHRoOiA4M3B4O1xuICAgIGhlaWdodDogODRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMTBweDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuaW50ZWdyYXRpb25zX19pZGVudGl0eS12YXVsdCB7XG4gICAgbGVmdDogMjEycHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5pbnRlZ3JhdGlvbnNfX2NvdWNoYmFzZSB7XG4gICAgbGVmdDogMjg0cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5pbnRlZ3JhdGlvbnNfX2FjdGl2ZS1kaXJlY3Rvcnkge1xuICAgIGxlZnQ6IDExOXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuaW50ZWdyYXRpb25zIHtcbiAgICBmbGV4OiBub25lO1xuICAgIGhlaWdodDogMzYycHg7XG4gICAgd2lkdGg6IDU4NnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5pbnRlZ3JhdGlvbnNfX2lkZW50aXR5LXZhdWx0IHtcbiAgICBsZWZ0OiAyMzJweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmludGVncmF0aW9uc19fYXdzLWFtcGxpZnkge1xuICAgIHRvcDogODJweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmludGVncmF0aW9uc19fY291Y2hiYXNlIHtcbiAgICBsZWZ0OiAyNTFweDtcbiAgICB0b3A6IDE4OHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuaW50ZWdyYXRpb25zX19hY3RpdmUtZGlyZWN0b3J5IHtcbiAgICBsZWZ0OiA0MTZweDtcbiAgICB0b3A6IDcwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1jb3JlIC5pbnRlZ3JhdGlvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC03MHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjgpOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuaW50ZWdyYXRpb25zICsgZGl2IHtcbiAgICBtYXJnaW4tdG9wOiAzMDBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmludGVncmF0aW9ucyB7XG4gICAgdG9wOiAtOTBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC42KTsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmludGVncmF0aW9ucyArIGRpdiB7XG4gICAgbWFyZ2luLXRvcDogMjYwcHg7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmNhbGwtdG8tYWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDE0MHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2FsbC10by1hY3Rpb24gLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA3NDhweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmNhbGwtdG8tYWN0aW9uIGhncm91cCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmNhbGwtdG8tYWN0aW9uIGhncm91cCBwIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzVCNzA4QjsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2FsbC10by1hY3Rpb24gaGdyb3VwIHN0cm9uZyB7XG4gICAgICBjb2xvcjogIzJGM0E0ODtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmNhbGwtdG8tYWN0aW9uIGhncm91cCBoNCB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICNGRjk5ODI7XG4gICAgICBtYXJnaW46IDYwcHggMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWNvcmUgLmNhbGwtdG8tYWN0aW9uIGhncm91cCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtY29yZSAuY2FsbC10by1hY3Rpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDgycHg7IH0gfVxuIl19 */ ================================================ FILE: content/css/pages/products/enterprise-edition.css ================================================ #page-products-enterprise-engine .sub-header .btn { color: #1A232F; background-color: #FF9982; font-weight: bold; line-height: normal; font-size: 11px; text-align: center; letter-spacing: 0.08em; text-transform: uppercase; padding-left: 15px; padding-right: 15px; } #page-products-enterprise-engine .sub-header .btn:hover { background-color: #ffbaab; } #page-products-enterprise-engine h3, #page-products-enterprise-engine h2, #page-products-enterprise-engine p.large { letter-spacing: -0.01em; } #page-products-enterprise-engine p { font-weight: 400; } #page-products-enterprise-engine p:not(.large) { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; } #page-products-enterprise-engine main { overflow: visible; } #page-products-enterprise-engine main ul { list-style-type: none; margin: 0; padding: 0; } #page-products-enterprise-engine .page-nav { display: -ms-flexbox; display: flex; top: 0; position: -webkit-sticky; position: sticky; display: flex; -ms-flex-pack: center; justify-content: center; margin-top: -40px; padding-top: 8px; z-index: 29; } #page-products-enterprise-engine .page-nav__inner { background: #fff; box-shadow: 0px 8px 16px rgba(2, 8, 20, 0.1), 0px 8px 32px rgba(2, 8, 20, 0.08); border-radius: 8px; max-width: 1000px; width: 100%; overflow: hidden; } #page-products-enterprise-engine .page-nav__inner ul { display: -ms-flexbox; display: flex; } #page-products-enterprise-engine .page-nav__inner li { -ms-flex: 1; flex: 1; display: inline-block; } #page-products-enterprise-engine .page-nav__inner li + li { border-left: 1px solid #E9EDF3; } #page-products-enterprise-engine .page-nav__inner a { transition: 0.3s border; width: 100%; height: 100%; transition: color 0.2s; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; padding: 20px 40px 16px; color: #4E5B6A; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 600; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; text-decoration: none; border-bottom: 2px solid transparent; outline: none; } #page-products-enterprise-engine .page-nav__inner a:hover, #page-products-enterprise-engine .page-nav__inner a.active { color: #000; } #page-products-enterprise-engine .page-nav__inner a.active { border-bottom: 2px solid #FF9982; } #page-products-enterprise-engine .page-nav.active .page-nav__inner a:not(.active) { opacity: 0.7; } #page-products-enterprise-engine .page-nav.active .page-nav__inner a:not(.active):hover { opacity: 1; } @media (max-width: 1000px) { #page-products-enterprise-engine .page-nav { padding-top: 0; } #page-products-enterprise-engine .page-nav__inner { border-radius: 0; } } @media (max-width: 992px) { #page-products-enterprise-engine .page-nav__inner a { padding: 14px 20px 12px; font-size: 11px; } } @media (max-width: 768px) { #page-products-enterprise-engine .page-nav { display: none; } } #page-products-enterprise-engine .page-nav__icon { display: -ms-inline-flexbox; display: inline-flex; } #page-products-enterprise-engine .page-nav__icon::before { content: ''; display: block; -ms-flex: 0 0 29px; flex: 0 0 29px; height: 29px; background-image: url("/img/products/enterprise-engine/enterprise-engine-nav-sprite.png"); background-repeat: no-repeat; background-size: 29px 116px; margin-right: 16px; position: relative; top: -3px; } #page-products-enterprise-engine .page-nav__icon--framework::before { background-position: 0 0; } #page-products-enterprise-engine .page-nav__icon--native::before { background-position: 0 -29px; } #page-products-enterprise-engine .page-nav__icon--solutions::before { background-position: 0 -58px; } #page-products-enterprise-engine .page-nav__icon--services::before { background-position: 0 -87px; } #page-products-enterprise-engine .top { margin-top: -218px; padding-top: 280px; padding-bottom: 152px; background: #F8FAFD; position: relative; z-index: 0; background-image: url("/img/products/enterprise-engine/enterprise-edition-hero-bg.png"); background-repeat: no-repeat; background-size: cover; background-position: center bottom; } #page-products-enterprise-engine .top hgroup { position: relative; z-index: 2; text-align: center; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } #page-products-enterprise-engine .top hgroup h4 { line-height: 25px; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #5B708B; font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; margin-bottom: 0; } #page-products-enterprise-engine .top hgroup h1 { line-height: 63px; font-size: 56px; letter-spacing: -0.02em; color: #000000; max-width: 420px; margin-top: 14px; } #page-products-enterprise-engine .top hgroup p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 22px; color: #5B708B; line-height: 30px; margin: 0; max-width: 572px; } #page-products-enterprise-engine .top hgroup .btn { margin-top: 24px; color: #fff; background: #3880FF; box-shadow: 0px 0px 2px rgba(0, 20, 56, 0.14), 0px 2px 3px rgba(0, 20, 56, 0.08); border-radius: 84px; font-weight: 700; font-size: 14px; letter-spacing: 0.06em; padding: 19px 25px 16px; } #page-products-enterprise-engine .top hgroup .btn:hover { background-color: #4287ff; } @media (max-width: 480px) { #page-products-enterprise-engine .top hgroup h1 { font-size: 40px; line-height: 44px; } #page-products-enterprise-engine .top hgroup p { line-height: 30px; font-size: 20px; } } @media (max-width: 768px) { #page-products-enterprise-engine .top { padding-top: 264px; padding-bottom: 78px; } } #page-products-enterprise-engine main section { padding-top: 100px; padding-bottom: 140px; } #page-products-enterprise-engine main section.divider { border-top: 1px solid #E9EDF3; padding-top: 140px; } #page-products-enterprise-engine main .container { position: relative; } #page-products-enterprise-engine main .two-col { display: -ms-flexbox; display: flex; } #page-products-enterprise-engine main .two-col > * { -ms-flex: 0 0 50%; flex: 0 0 50%; } #page-products-enterprise-engine main .measure { max-width: 558px; } #page-products-enterprise-engine main h3 { color: #616E7E; font-size: 20px; line-height: 1; margin-bottom: 28px; margin-top: 0; font-weight: 600; } #page-products-enterprise-engine main h2 { color: #020814; line-height: 63px; font-size: 56px; margin-top: 0; margin-bottom: 30px; font-weight: 600; letter-spacing: -0.04em; } #page-products-enterprise-engine main h3.large { font-size: 32px; color: #1A232F; letter-spacing: -0.03em; margin-bottom: 38px; } #page-products-enterprise-engine main p.large { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; line-height: 33px; font-size: 20px; letter-spacing: -0.01em; color: #020814; } #page-products-enterprise-engine main p.large em { font-style: normal; color: #2F3A48; } @media (max-width: 992px) { #page-products-enterprise-engine main h2 { line-height: 52px; font-size: 48px; } } @media (max-width: 768px) { #page-products-enterprise-engine main section { padding-top: 80px; padding-bottom: 80px; } #page-products-enterprise-engine main h3, #page-products-enterprise-engine main h2, #page-products-enterprise-engine main p.large { text-align: center; margin-left: auto; margin-right: auto; } #page-products-enterprise-engine main h3 { margin-bottom: 16px; } #page-products-enterprise-engine main h3.large { font-size: 28px; line-height: 34px; } #page-products-enterprise-engine main h2 { line-height: 48px; font-size: 42px; max-width: 100% !important; margin-bottom: 16px; } #page-products-enterprise-engine main .two-col { -ms-flex-direction: column; flex-direction: column; } #page-products-enterprise-engine main .two-col > * { -ms-flex: 0 0 100%; flex: 0 0 100%; } } @media (max-width: 480px) { #page-products-enterprise-engine main h3.large { font-size: 24px; line-height: 30px; } } #page-products-enterprise-engine .overview .container { display: -ms-flexbox; display: flex; } #page-products-enterprise-engine .overview .container h3 { line-height: 40px; font-size: 28px; letter-spacing: -0.02em; color: #616E7E; } #page-products-enterprise-engine .overview .container h3 em { font-style: normal; color: #020814; } #page-products-enterprise-engine .overview .container img { width: 100%; height: auto; margin-top: 40px; max-width: 420px; } #page-products-enterprise-engine .overview .container > div:first-child { -ms-flex: 0 0 50%; flex: 0 0 50%; padding-right: 90px; } #page-products-enterprise-engine .overview .container > div:last-child { -ms-flex: 0 0 50%; flex: 0 0 50%; } @media (max-width: 992px) { #page-products-enterprise-engine .overview .container { -ms-flex-direction: column; flex-direction: column; } #page-products-enterprise-engine .overview .container > div { max-width: 624px; margin-left: auto; margin-right: auto; } #page-products-enterprise-engine .overview .container > div:first-child { -ms-flex: 0 0 100%; flex: 0 0 100%; padding-right: 0px; text-align: center; } #page-products-enterprise-engine .overview .container > div:first-child img { max-width: 400px; margin-left: auto; margin-right: auto; } #page-products-enterprise-engine .overview .container > div:last-child { margin-top: 40px; -ms-flex: 0 0 100%; flex: 0 0 100%; } } #page-products-enterprise-engine .chart { margin-top: -8px; } #page-products-enterprise-engine .chart h5 { text-align: center; font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; color: #020814; line-height: 25px; font-size: 12px; text-align: center; letter-spacing: 0.14em; text-transform: uppercase; position: relative; } #page-products-enterprise-engine .chart h5 span { z-index: 2; position: relative; background: #fff; padding: 0 12px; display: inline-block; } #page-products-enterprise-engine .chart h5:before { width: 100%; height: 12px; display: block; content: ''; border-top: 1px solid #D2DBE6; border-left: 1px solid #D2DBE6; border-right: 1px solid #D2DBE6; border-top-left-radius: 8px; border-top-right-radius: 8px; position: absolute; top: 50%; left: 0; z-index: 1; } #page-products-enterprise-engine .chart h6 { font-weight: 600; margin-top: 18px; font-size: 13px; color: #414D5C; } #page-products-enterprise-engine .chart .checkmark-list { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%; margin-bottom: -8px; } #page-products-enterprise-engine .chart .checkmark-list li { -ms-flex: 0 0 33%; flex: 0 0 33%; margin-bottom: 8px; } @media (max-width: 1220px) { #page-products-enterprise-engine .chart .checkmark-list li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 1220px) { #page-products-enterprise-engine .chart h5 { font-size: 11px; } } #page-products-enterprise-engine .chart__box { padding: 20px; border: 1px solid #D2DBE6; border-radius: 8px; margin-top: 16px; margin-bottom: 32px; } #page-products-enterprise-engine .chart__card-list { display: -ms-flexbox; display: flex; margin-left: -8px; margin-right: -8px; margin-top: -8px; } @media (max-width: 480px) { #page-products-enterprise-engine .chart__card-list { -ms-flex-direction: column; flex-direction: column; } } #page-products-enterprise-engine .chart__card { -ms-flex: 1; flex: 1; min-height: 140px; margin: 8px; padding: 20px 16px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; text-align: center; background: #FFFFFF; box-shadow: 0px 3px 8px rgba(2, 8, 20, 0.06), 0px 0px 2px rgba(2, 8, 20, 0.08); border-radius: 8px; color: #020814; font-weight: 600; line-height: 17px; font-size: 14px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } @media (max-width: 480px) { #page-products-enterprise-engine .chart__card { min-height: 0; } } #page-products-enterprise-engine .platform-list { display: -ms-flexbox; display: flex; -ms-flex-direction: row; flex-direction: row; -ms-flex-pack: justify; justify-content: space-between; padding: 0 16px; } #page-products-enterprise-engine .platform-list li { font-weight: 500; line-height: normal; font-size: 9px; text-align: center; letter-spacing: 0.08em; text-transform: uppercase; color: #92A1B3; } #page-products-enterprise-engine .platform-list .platform { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } #page-products-enterprise-engine .platform-list .platform::before { display: inline-block; content: ''; height: 32px; width: 32px; background-image: url("/img/products/enterprise-engine/enterprise-engine-platform-sprite.png"); background-repeat: no-repeat; background-size: 32px 160px; margin-bottom: 4px; } #page-products-enterprise-engine .platform-list .platform--ios::before { background-position: 0 0; } #page-products-enterprise-engine .platform-list .platform--android::before { background-position: 0 -32px; } #page-products-enterprise-engine .platform-list .platform--electron::before { background-position: 0 -64px; } #page-products-enterprise-engine .platform-list .platform--pwa::before { background-position: 0 -96px; } #page-products-enterprise-engine .platform-list .platform--browser::before { background-position: 0 -128px; } #page-products-enterprise-engine .checkmark-list--large { margin-top: 48px; } #page-products-enterprise-engine .graphics--framework { position: relative; top: 0; right: -40px; height: 500px; z-index: 0; } #page-products-enterprise-engine .graphics--framework.active::before, #page-products-enterprise-engine .graphics--framework.active::after { -webkit-animation: fadeInUp 1s .8s ease forwards; animation: fadeInUp 1s .8s ease forwards; } #page-products-enterprise-engine .graphics--framework.active::after { -webkit-animation-delay: .4s; animation-delay: .4s; } #page-products-enterprise-engine .graphics--framework.active .shadow { -webkit-animation: fadeIn 2s .2s ease forwards; animation: fadeIn 2s .2s ease forwards; } #page-products-enterprise-engine .graphics--framework::before, #page-products-enterprise-engine .graphics--framework::after, #page-products-enterprise-engine .graphics--framework .shadow { position: absolute; content: ''; opacity: 0; background: url("/img/homepage/framework-device-android.jpg") 0 0 no-repeat; background-size: 100%; top: 78px; right: 99px; width: 470px; height: 624px; } #page-products-enterprise-engine .graphics--framework::after { background-image: url("/img/homepage/framework-device-iphone.png"); background-size: 100%; width: 490px; height: 790px; top: 0px; right: 0px; } #page-products-enterprise-engine .graphics--framework .shadow { background-image: url("/img/homepage/framework-devices-shadow.png"); background-size: 100%; width: 1266px; height: 214px; top: 654px; right: -200px; } @media (max-width: 1220px) { #page-products-enterprise-engine .graphics--framework { -webkit-transform: scale(0.75, 0.75); transform: scale(0.75, 0.75); top: -60px; right: -80px; } } @media (max-width: 992px) { #page-products-enterprise-engine .graphics--framework { -webkit-transform: scale(0.6, 0.6); transform: scale(0.6, 0.6); right: -100px; } } @media (max-width: 768px) { #page-products-enterprise-engine .graphics--framework { height: 440px; -webkit-transform: scale(0.4, 0.4); transform: scale(0.4, 0.4); right: -40px; top: -90px; } } @media (max-width: 768px) { #page-products-enterprise-engine #front-end-framework { padding-top: 0; } #page-products-enterprise-engine #front-end-framework .two-col { -ms-flex-direction: column-reverse; flex-direction: column-reverse; } #page-products-enterprise-engine #front-end-framework .checkmark-list { margin-left: auto; margin-right: auto; } } #page-products-enterprise-engine #native-device-features hgroup.two-col { margin-bottom: 100px; } #page-products-enterprise-engine #native-device-features hgroup h2 { max-width: 382px; } @media (max-width: 768px) { #page-products-enterprise-engine #native-device-features hgroup.two-col { margin-bottom: 60px; } } #page-products-enterprise-engine .feature-list { display: -ms-flexbox; display: flex; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: -16px; margin-right: -16px; } #page-products-enterprise-engine .feature-list li { -ms-flex: 0 0 25%; flex: 0 0 25%; padding: 16px; } #page-products-enterprise-engine .feature-list h4 { font-size: 20px; line-height: 1.4; letter-spacing: -0.02em; color: #2F3A48; font-weight: 600; margin-bottom: 4px; padding-right: 28px; } #page-products-enterprise-engine .feature-list p { font-size: 14px; line-height: 25px; letter-spacing: -0.02em; color: #5B708B; } #page-products-enterprise-engine .feature-list--large { -ms-flex-direction: column; flex-direction: column; margin: 0; } #page-products-enterprise-engine .feature-list--large li { display: -ms-flexbox; display: flex; -ms-flex: none; flex: none; padding: 0; } #page-products-enterprise-engine .feature-list--large li + li { margin-top: 24px; } #page-products-enterprise-engine .feature-list--large h4 { margin-top: 0; } #page-products-enterprise-engine .feature-list--large p { line-height: 29px; font-size: 16px; letter-spacing: -0.02em; color: #5B708B; } #page-products-enterprise-engine .feature-list--large i { margin-right: 24px; margin-bottom: 18px; } @media (max-width: 992px) { #page-products-enterprise-engine .feature-list li { -ms-flex: 0 0 33%; flex: 0 0 33%; } #page-products-enterprise-engine .feature-list--large li { -ms-flex: none; flex: none; } } @media (max-width: 768px) { #page-products-enterprise-engine .feature-list li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { #page-products-enterprise-engine .feature-list li { -ms-flex: 0 0 100%; flex: 0 0 100%; } #page-products-enterprise-engine .feature-list li, #page-products-enterprise-engine .feature-list li hgroup { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; text-align: center; } #page-products-enterprise-engine .feature-list--large i { margin-right: 0; } #page-products-enterprise-engine .feature-list h4 { padding-right: 0; } } #page-products-enterprise-engine .feature-icon::before { display: block; content: ''; height: 32px; width: 32px; background-image: url("/img/products/enterprise-engine/enterprise-engine-native-feature-sprite.png"); background-repeat: no-repeat; background-size: 32px 256px; margin-bottom: 14px; } #page-products-enterprise-engine .feature-icon--updates::before { background-position: 0 0; } #page-products-enterprise-engine .feature-icon--sla::before { background-position: 0 -32px; } #page-products-enterprise-engine .feature-icon--advisory::before { background-position: 0 -64px; } #page-products-enterprise-engine .feature-icon--security::before { background-position: 0 -96px; } #page-products-enterprise-engine .feature-icon--issues::before { background-position: 0 -128px; } #page-products-enterprise-engine .feature-icon--guaranteed::before { background-position: 0 -160px; } #page-products-enterprise-engine .feature-icon--discussions::before { background-position: 0 -192px; } #page-products-enterprise-engine .feature-icon--protection::before { background-position: 0 -224px; } #page-products-enterprise-engine .feature-list--large .feature-icon::before { height: 48px; width: 48px; background-image: url("/img/products/enterprise-engine/enterprise-engine-partner-icon-sprite.png"); background-size: 48px 96px; margin-bottom: 0; } #page-products-enterprise-engine .feature-list--large .feature-icon--training::before { background-position: 0 0; } #page-products-enterprise-engine .feature-list--large .feature-icon--advisory::before { background-position: 0 -48px; } #page-products-enterprise-engine #pre-built-solutions h2 { max-width: 500px; } #page-products-enterprise-engine #pre-built-solutions .checkmark-list { max-width: none; -webkit-columns: 2 auto; -moz-columns: 2 auto; columns: 2 auto; -webkit-column-gap: 8px; -moz-column-gap: 8px; column-gap: 8px; width: 108%; } @media (max-width: 992px) { #page-products-enterprise-engine #pre-built-solutions .two-col { display: block; } } @media (max-width: 480px) { #page-products-enterprise-engine #pre-built-solutions .checkmark-list { max-width: none; -webkit-columns: 1 auto; -moz-columns: 1 auto; columns: 1 auto; -webkit-column-gap: 8px; -moz-column-gap: 8px; column-gap: 8px; width: 100%; } } #page-products-enterprise-engine .integrations { position: relative; height: 660px; } #page-products-enterprise-engine .integrations__identity-vault, #page-products-enterprise-engine .integrations__aws-amplify, #page-products-enterprise-engine .integrations__couchbase, #page-products-enterprise-engine .integrations__active-directory { position: absolute; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; font-size: 13px; text-align: center; font-weight: 500; color: #5B708B; } #page-products-enterprise-engine .integrations__identity-vault i, #page-products-enterprise-engine .integrations__aws-amplify i, #page-products-enterprise-engine .integrations__couchbase i, #page-products-enterprise-engine .integrations__active-directory i { border-radius: 999px; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; box-shadow: 0px 2px 8px rgba(2, 8, 20, 0.1), 0px 8px 16px rgba(2, 8, 20, 0.08); background-color: #fff; margin-bottom: 14px; } #page-products-enterprise-engine .integrations__identity-vault i::before, #page-products-enterprise-engine .integrations__aws-amplify i::before, #page-products-enterprise-engine .integrations__couchbase i::before, #page-products-enterprise-engine .integrations__active-directory i::before { content: ''; display: block; background-image: url("/img/products/enterprise-engine/enterprise-engine-integrations-sprite.png"); background-repeat: no-repeat; background-size: 112px 294px; background-position: center center; } #page-products-enterprise-engine .integrations__identity-vault { top: 0; left: 242px; } #page-products-enterprise-engine .integrations__identity-vault i { width: 124px; height: 124px; } #page-products-enterprise-engine .integrations__identity-vault i::before { width: 56px; height: 56px; background-position: 0 -151px; } #page-products-enterprise-engine .integrations__aws-amplify { top: 172px; left: 0; } #page-products-enterprise-engine .integrations__aws-amplify i { width: 192px; height: 192px; } #page-products-enterprise-engine .integrations__aws-amplify i::before { width: 112px; height: 84px; background-position: 0 0; } #page-products-enterprise-engine .integrations__couchbase { top: 260px; left: 324px; } #page-products-enterprise-engine .integrations__couchbase i { width: 124px; height: 124px; } #page-products-enterprise-engine .integrations__couchbase i::before { width: 64px; height: 65px; background-position: 0 -85px; } #page-products-enterprise-engine .integrations__active-directory { top: 460px; left: 172px; } #page-products-enterprise-engine .integrations__active-directory i { width: 160px; height: 160px; } #page-products-enterprise-engine .integrations__active-directory i::before { width: 83px; height: 84px; background-position: 0 -210px; } @media (max-width: 1220px) { #page-products-enterprise-engine .integrations__identity-vault { left: 212px; } #page-products-enterprise-engine .integrations__couchbase { left: 284px; } #page-products-enterprise-engine .integrations__active-directory { left: 119px; } } @media (max-width: 992px) { #page-products-enterprise-engine .integrations { -ms-flex: none; flex: none; height: 362px; width: 586px; margin-bottom: 40px; } #page-products-enterprise-engine .integrations__identity-vault { left: 232px; } #page-products-enterprise-engine .integrations__aws-amplify { top: 82px; } #page-products-enterprise-engine .integrations__couchbase { left: 251px; top: 188px; } #page-products-enterprise-engine .integrations__active-directory { left: 416px; top: 70px; } } @media (max-width: 768px) { #page-products-enterprise-engine .integrations { position: absolute; top: -90px; left: 50%; -webkit-transform-origin: center center; transform-origin: center center; -webkit-transform: translateX(-50%) scale(0.7); transform: translateX(-50%) scale(0.7); } #page-products-enterprise-engine .integrations + div { margin-top: 260px; } } @media (max-width: 480px) { #page-products-enterprise-engine .integrations { -webkit-transform: translateX(-50%) scale(0.6); transform: translateX(-50%) scale(0.6); } } #page-products-enterprise-engine #expert-services hgroup + .two-col { margin-top: 80px; } #page-products-enterprise-engine #expert-services .checkmark-list--large { max-width: none; padding-left: 116px; margin-top: 0; } @media (max-width: 768px) { #page-products-enterprise-engine #expert-services .feature-list, #page-products-enterprise-engine #expert-services .checkmark-list { margin-left: auto; margin-right: auto; max-width: 420px; } #page-products-enterprise-engine #expert-services .checkmark-list--large { padding-left: 0; margin-top: 30px; } } #page-products-enterprise-engine #comparison-table { margin-top: 8px; } #page-products-enterprise-engine #comparison-table .container { max-width: 960px; } #page-products-enterprise-engine #comparison-table hgroup { max-width: 540px; margin-bottom: 60px; } #page-products-enterprise-engine #comparison-table hgroup h2 { color: #616E7E; } #page-products-enterprise-engine #comparison-table hgroup h2 em { font-style: normal; color: #020814; } @media (max-width: 768px) { #page-products-enterprise-engine #comparison-table { padding-top: 100px; } #page-products-enterprise-engine #comparison-table hgroup { margin-bottom: 30px; } #page-products-enterprise-engine #comparison-table h2 { text-align: left; } } @media (max-width: 480px) { #page-products-enterprise-engine #comparison-table h2 { line-height: 38px; font-size: 32px; } } #page-products-enterprise-engine .comp-table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-right: -15px; padding-right: 15px; } #page-products-enterprise-engine .comp-table { min-width: 546px; } #page-products-enterprise-engine .comp-table th, #page-products-enterprise-engine .comp-table td { width: 33%; } #page-products-enterprise-engine .comp-table th:not(:first-child), #page-products-enterprise-engine .comp-table td:not(:first-child) { text-align: center; vertical-align: middle; } #page-products-enterprise-engine .comp-table th:first-child, #page-products-enterprise-engine .comp-table td:first-child { width: 40%; } #page-products-enterprise-engine .comp-table th:last-child, #page-products-enterprise-engine .comp-table td:last-child { background: #FFF7F5; } #page-products-enterprise-engine .comp-table th { padding: 20px; border-bottom: 0; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 16px; color: #5B708B; font-weight: 600; } #page-products-enterprise-engine .comp-table th:last-child { border-top-right-radius: 8px; border-top-left-radius: 8px; color: #FF7B5E; } #page-products-enterprise-engine .comp-table td { font-size: 13px; letter-spacing: -0.01em; color: #73849A; padding: 14px 20px; border: 0; } #page-products-enterprise-engine .comp-table td:first-child { font-size: 14px; color: #4E5B6A; } #page-products-enterprise-engine .comp-table td ion-icon[name="checkmark"] { font-size: 18px; color: #5B708B; } #page-products-enterprise-engine .comp-table td:last-child ion-icon[name="checkmark"] { color: #FF7B5E; } #page-products-enterprise-engine .comp-table td .dash { width: 10px; height: 2px; background: #CED6E0; display: inline-block; -webkit-transform: translateY(-2px); transform: translateY(-2px); } #page-products-enterprise-engine .comp-table td .pill { display: inline-block; line-height: 1.2; font-size: 8px; text-align: center; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; font-weight: 600; background: #FF9982; border-radius: 20px; padding: 5px 10px; } #page-products-enterprise-engine .comp-table .stripe td { background: #F6F8FB; } #page-products-enterprise-engine .comp-table .stripe td:last-child { background: #FCE8E1; } #page-products-enterprise-engine .comp-table__section td { padding: 20px 20px 12px; border-top: 1px solid #E9EDF3; } #page-products-enterprise-engine .comp-table__section td:first-child { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 16px; color: #020814; font-weight: 600; } #page-products-enterprise-engine .comp-table__section td:last-child { border-top-color: #EEDCD6; } #page-products-enterprise-engine .comp-table__section--pad td { padding-bottom: 20px; } #page-products-enterprise-engine .comp-table tr:last-child td:last-child { border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; } #page-products-enterprise-engine .call-to-action { background-color: #F6F8FB; padding-top: 140px; padding-bottom: 100px; } #page-products-enterprise-engine .call-to-action .container { max-width: 768px; } #page-products-enterprise-engine .call-to-action hgroup { margin-bottom: 40px; } #page-products-enterprise-engine .call-to-action hgroup h3 { font-size: 28px; text-align: center; letter-spacing: -0.01em; color: #1A232F; margin-bottom: 4px; } #page-products-enterprise-engine .call-to-action hgroup p { line-height: 32px; font-size: 18px; text-align: center; letter-spacing: -0.01em; color: #5B708B; } #page-products-enterprise-engine .call-to-action hgroup p b { font-weight: 500; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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NUIsNEJBQTRCLEVBQUU7SUFDaEM7TUFDRSxzQkFBc0I7TUFDdEIsaUJBQWlCO01BQ2pCLGVBQWU7TUFDZixtQkFBbUI7TUFDbkIsc0JBQXNCO01BQ3RCLDBCQUEwQjtNQUMxQixZQUFZO01BQ1osaUJBQWlCO01BQ2pCLG9CQUFvQjtNQUNwQixvQkFBb0I7TUFDcEIsa0JBQWtCLEVBQUU7RUFDeEI7SUFDRSxvQkFBb0IsRUFBRTtJQUN0QjtNQUNFLG9CQUFvQixFQUFFO0VBQzFCO0lBQ0Usd0JBQXdCO0lBQ3hCLDhCQUE4QixFQUFFO0lBQ2hDO01BQ0UsNkRBQTZEO01BQzdELGdCQUFnQjtNQUNoQixlQUFlO01BQ2YsaUJBQWlCLEVBQUU7RUFDdkI7SUFDRSwwQkFBMEIsRUFBRTtFQUM5QjtJQUNFLHFCQUFxQixFQUFFO0VBQ3pCO0lBQ0UsZ0NBQWdDO0lBQ2hDLCtCQUErQixFQUFFOztBQUVyQztFQUNFLDBCQUEwQjtFQUMxQixtQkFBbUI7RUFDbkIsc0JBQXNCLEVBQUU7RUFDeEI7SUFDRSxpQkFBaUIsRUFBRTtFQUNyQjtJQUNFLG9CQUFvQixFQUFFO0lBQ3RCO01BQ0UsZ0JBQWdCO01BQ2hCLG1CQUFtQjtNQUNuQix3QkFBd0I7TUFDeEIsZUFBZTtNQUNmLG1CQUFtQixFQUFFO0lBQ3ZCO01BQ0Usa0JBQWtCO01BQ2xCLGdCQUFnQjtNQUNoQixtQkFBbUI7TUFDbkIsd0JBQXdCO01BQ3hCLGVBQWUsRUFBRTtNQUNqQjtRQUNFLGlCQUFpQixFQUFFIiwiZmlsZSI6InBhZ2VzL3Byb2R1Y3RzL2VudGVycHJpc2UtZWRpdGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuc3ViLWhlYWRlciAuYnRuIHtcbiAgY29sb3I6ICMxQTIzMkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjk5ODI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDExcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5zdWItaGVhZGVyIC5idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhYWI7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgaDMsXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBoMixcbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIHAubGFyZ2Uge1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBwOm5vdCgubGFyZ2UpIHtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgbWFpbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAucGFnZS1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICB0b3A6IDA7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgei1pbmRleDogMjk7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnBhZ2UtbmF2X19pbm5lciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwcHggOHB4IDE2cHggcmdiYSgyLCA4LCAyMCwgMC4xKSwgMHB4IDhweCAzMnB4IHJnYmEoMiwgOCwgMjAsIDAuMDgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnBhZ2UtbmF2X19pbm5lciB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnBhZ2UtbmF2X19pbm5lciBsaSB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnBhZ2UtbmF2X19pbm5lciBsaSArIGxpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0U5RURGMzsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5wYWdlLW5hdl9faW5uZXIgYSB7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGJvcmRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogMjBweCA0MHB4IDE2cHg7XG4gICAgICBjb2xvcjogIzRFNUI2QTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnBhZ2UtbmF2X19pbm5lciBhOmhvdmVyLFxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5wYWdlLW5hdl9faW5uZXIgYS5hY3RpdmUge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAucGFnZS1uYXZfX2lubmVyIGEuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjRkY5OTgyOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5wYWdlLW5hdi5hY3RpdmUgLnBhZ2UtbmF2X19pbm5lciBhOm5vdCguYWN0aXZlKSB7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnBhZ2UtbmF2LmFjdGl2ZSAucGFnZS1uYXZfX2lubmVyIGE6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5wYWdlLW5hdiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnBhZ2UtbmF2X19pbm5lciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAucGFnZS1uYXZfX2lubmVyIGEge1xuICAgICAgcGFkZGluZzogMTRweCAyMHB4IDEycHg7XG4gICAgICBmb250LXNpemU6IDExcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAucGFnZS1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5wYWdlLW5hdl9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5wYWdlLW5hdl9faWNvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAwIDAgMjlweDtcbiAgICBoZWlnaHQ6IDI5cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm9kdWN0cy9lbnRlcnByaXNlLWVuZ2luZS9lbnRlcnByaXNlLWVuZ2luZS1uYXYtc3ByaXRlLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjlweCAxMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTNweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAucGFnZS1uYXZfX2ljb24tLWZyYW1ld29yazo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnBhZ2UtbmF2X19pY29uLS1uYXRpdmU6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjlweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAucGFnZS1uYXZfX2ljb24tLXNvbHV0aW9uczo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC01OHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5wYWdlLW5hdl9faWNvbi0tc2VydmljZXM6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODdweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudG9wIHtcbiAgbWFyZ2luLXRvcDogLTIxOHB4O1xuICBwYWRkaW5nLXRvcDogMjgwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNTJweDtcbiAgYmFja2dyb3VuZDogI0Y4RkFGRDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byb2R1Y3RzL2VudGVycHJpc2UtZW5naW5lL2VudGVycHJpc2UtZWRpdGlvbi1oZXJvLWJnLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudG9wIGhncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnRvcCBoZ3JvdXAgaDQge1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC50b3AgaGdyb3VwIGgxIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2M3B4O1xuICAgICAgZm9udC1zaXplOiA1NnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxNHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnRvcCBoZ3JvdXAgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgY29sb3I6ICM1QjcwOEI7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDogNTcycHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudG9wIGhncm91cCAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6ICMzODgwRkY7XG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDJweCByZ2JhKDAsIDIwLCA1NiwgMC4xNCksIDBweCAycHggM3B4IHJnYmEoMCwgMjAsIDU2LCAwLjA4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDg0cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICAgIHBhZGRpbmc6IDE5cHggMjVweCAxNnB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudG9wIGhncm91cCAuYnRuOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQyODdmZjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnRvcCBoZ3JvdXAgaDEge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudG9wIGhncm91cCBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC50b3Age1xuICAgICAgcGFkZGluZy10b3A6IDI2NHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDc4cHg7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIHNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNDBweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIHNlY3Rpb24uZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTlFREYzO1xuICBwYWRkaW5nLXRvcDogMTQwcHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgbWFpbiAuY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gLnR3by1jb2wge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gLnR3by1jb2wgPiAqIHtcbiAgICBmbGV4OiAwIDAgNTAlOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gLm1lYXN1cmUge1xuICBtYXgtd2lkdGg6IDU1OHB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gaDMge1xuICBjb2xvcjogIzYxNkU3RTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIGgyIHtcbiAgY29sb3I6ICMwMjA4MTQ7XG4gIGxpbmUtaGVpZ2h0OiA2M3B4O1xuICBmb250LXNpemU6IDU2cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gaDMubGFyZ2Uge1xuICBmb250LXNpemU6IDMycHg7XG4gIGNvbG9yOiAjMUEyMzJGO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgbWFyZ2luLWJvdHRvbTogMzhweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIHAubGFyZ2Uge1xuICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMzNweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgY29sb3I6ICMwMjA4MTQ7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgbWFpbiBwLmxhcmdlIGVtIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICMyRjNBNDg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gaDIge1xuICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICAgIGZvbnQtc2l6ZTogNDhweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIHNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gaDMsXG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gaDIsXG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gcC5sYXJnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gaDMubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMzRweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIGgyIHtcbiAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIC50d28tY29sIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgbWFpbiAudHdvLWNvbCA+ICoge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgbWFpbiBoMy5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLm92ZXJ2aWV3IC5jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5vdmVydmlldyAuY29udGFpbmVyIGgzIHtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6ICM2MTZFN0U7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAub3ZlcnZpZXcgLmNvbnRhaW5lciBoMyBlbSB7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzAyMDgxNDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAub3ZlcnZpZXcgLmNvbnRhaW5lciBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIG1heC13aWR0aDogNDIwcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLm92ZXJ2aWV3IC5jb250YWluZXIgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogOTBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAub3ZlcnZpZXcgLmNvbnRhaW5lciA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICBmbGV4OiAwIDAgNTAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5vdmVydmlldyAuY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5vdmVydmlldyAuY29udGFpbmVyID4gZGl2IHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MjRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLm92ZXJ2aWV3IC5jb250YWluZXIgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLm92ZXJ2aWV3IC5jb250YWluZXIgPiBkaXY6Zmlyc3QtY2hpbGQgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLm92ZXJ2aWV3IC5jb250YWluZXIgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNoYXJ0IHtcbiAgbWFyZ2luLXRvcDogLThweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY2hhcnQgaDUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNoYXJ0IGg1IHNwYW4ge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY2hhcnQgaDU6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRDJEQkU2O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRDJEQkU2O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0QyREJFNjtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGFydCBoNiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzQxNEQ1QzsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY2hhcnQgLmNoZWNrbWFyay1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAtOHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNoYXJ0IC5jaGVja21hcmstbGlzdCBsaSB7XG4gICAgICBmbGV4OiAwIDAgMzMlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY2hhcnQgLmNoZWNrbWFyay1saXN0IGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNoYXJ0IGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGFydF9fYm94IHtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0QyREJFNjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGFydF9fY2FyZC1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gIG1hcmdpbi1yaWdodDogLThweDtcbiAgbWFyZ2luLXRvcDogLThweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY2hhcnRfX2NhcmQtbGlzdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNoYXJ0X19jYXJkIHtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMTQwcHg7XG4gIG1hcmdpbjogOHB4O1xuICBwYWRkaW5nOiAyMHB4IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggOHB4IHJnYmEoMiwgOCwgMjAsIDAuMDYpLCAwcHggMHB4IDJweCByZ2JhKDIsIDgsIDIwLCAwLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjb2xvcjogIzAyMDgxNDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY2hhcnRfX2NhcmQge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5wbGF0Zm9ybS1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDE2cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnBsYXRmb3JtLWxpc3QgbGkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDlweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOTJBMUIzOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5wbGF0Zm9ybS1saXN0IC5wbGF0Zm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAucGxhdGZvcm0tbGlzdCAucGxhdGZvcm06OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm9kdWN0cy9lbnRlcnByaXNlLWVuZ2luZS9lbnRlcnByaXNlLWVuZ2luZS1wbGF0Zm9ybS1zcHJpdGUucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMzJweCAxNjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5wbGF0Zm9ybS1saXN0IC5wbGF0Zm9ybS0taW9zOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnBsYXRmb3JtLWxpc3QgLnBsYXRmb3JtLS1hbmRyb2lkOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzJweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5wbGF0Zm9ybS1saXN0IC5wbGF0Zm9ybS0tZWxlY3Ryb246OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02NHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnBsYXRmb3JtLWxpc3QgLnBsYXRmb3JtLS1wd2E6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnBsYXRmb3JtLWxpc3QgLnBsYXRmb3JtLS1icm93c2VyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTI4cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNoZWNrbWFyay1saXN0LS1sYXJnZSB7XG4gIG1hcmdpbi10b3A6IDQ4cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmdyYXBoaWNzLS1mcmFtZXdvcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IC00MHB4O1xuICBoZWlnaHQ6IDUwMHB4O1xuICB6LWluZGV4OiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5ncmFwaGljcy0tZnJhbWV3b3JrLmFjdGl2ZTo6YmVmb3JlLCAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZ3JhcGhpY3MtLWZyYW1ld29yay5hY3RpdmU6OmFmdGVyIHtcbiAgICBhbmltYXRpb246IGZhZGVJblVwIDFzIC44cyBlYXNlIGZvcndhcmRzOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5ncmFwaGljcy0tZnJhbWV3b3JrLmFjdGl2ZTo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLjRzOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5ncmFwaGljcy0tZnJhbWV3b3JrLmFjdGl2ZSAuc2hhZG93IHtcbiAgICBhbmltYXRpb246IGZhZGVJbiAycyAuMnMgZWFzZSBmb3J3YXJkczsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZ3JhcGhpY3MtLWZyYW1ld29yazo6YmVmb3JlLCAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZ3JhcGhpY3MtLWZyYW1ld29yazo6YWZ0ZXIsXG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5ncmFwaGljcy0tZnJhbWV3b3JrIC5zaGFkb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2UvZnJhbWV3b3JrLWRldmljZS1hbmRyb2lkLmpwZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB0b3A6IDc4cHg7XG4gICAgcmlnaHQ6IDk5cHg7XG4gICAgd2lkdGg6IDQ3MHB4O1xuICAgIGhlaWdodDogNjI0cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmdyYXBoaWNzLS1mcmFtZXdvcms6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2hvbWVwYWdlL2ZyYW1ld29yay1kZXZpY2UtaXBob25lLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgd2lkdGg6IDQ5MHB4O1xuICAgIGhlaWdodDogNzkwcHg7XG4gICAgdG9wOiAwcHg7XG4gICAgcmlnaHQ6IDBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZ3JhcGhpY3MtLWZyYW1ld29yayAuc2hhZG93IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2hvbWVwYWdlL2ZyYW1ld29yay1kZXZpY2VzLXNoYWRvdy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHdpZHRoOiAxMjY2cHg7XG4gICAgaGVpZ2h0OiAyMTRweDtcbiAgICB0b3A6IDY1NHB4O1xuICAgIHJpZ2h0OiAtMjAwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMjBweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5ncmFwaGljcy0tZnJhbWV3b3JrIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSwgMC43NSk7XG4gICAgICB0b3A6IC02MHB4O1xuICAgICAgcmlnaHQ6IC04MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmdyYXBoaWNzLS1mcmFtZXdvcmsge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYsIDAuNik7XG4gICAgICByaWdodDogLTEwMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmdyYXBoaWNzLS1mcmFtZXdvcmsge1xuICAgICAgaGVpZ2h0OiA0NDBweDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC40LCAwLjQpO1xuICAgICAgcmlnaHQ6IC00MHB4O1xuICAgICAgdG9wOiAtOTBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAjZnJvbnQtZW5kLWZyYW1ld29yayB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAjZnJvbnQtZW5kLWZyYW1ld29yayAudHdvLWNvbCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAjZnJvbnQtZW5kLWZyYW1ld29yayAuY2hlY2ttYXJrLWxpc3Qge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAjbmF0aXZlLWRldmljZS1mZWF0dXJlcyBoZ3JvdXAudHdvLWNvbCB7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lICNuYXRpdmUtZGV2aWNlLWZlYXR1cmVzIGhncm91cCBoMiB7XG4gIG1heC13aWR0aDogMzgycHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lICNuYXRpdmUtZGV2aWNlLWZlYXR1cmVzIGhncm91cC50d28tY29sIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWxpc3QgbGkge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgcGFkZGluZzogMTZweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1saXN0IGg0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogIzJGM0E0ODtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyOHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWxpc3QgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjNUI3MDhCOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWxpc3QtLWxhcmdlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWxpc3QtLWxhcmdlIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWxpc3QtLWxhcmdlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMjRweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWxpc3QtLWxhcmdlIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1saXN0LS1sYXJnZSBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzVCNzA4QjsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWxpc3QtLWxhcmdlIGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1saXN0IGxpIHtcbiAgICAgIGZsZXg6IDAgMCAzMyU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1saXN0LS1sYXJnZSBsaSB7XG4gICAgICBmbGV4OiBub25lOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdCBsaSB7XG4gICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdCBsaSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWxpc3QgbGksXG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdCBsaSBoZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdC0tbGFyZ2UgaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1saXN0IGg0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1pY29uOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDMycHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvZHVjdHMvZW50ZXJwcmlzZS1lbmdpbmUvZW50ZXJwcmlzZS1lbmdpbmUtbmF0aXZlLWZlYXR1cmUtc3ByaXRlLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAzMnB4IDI1NnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWljb24tLXVwZGF0ZXM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1pY29uLS1zbGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMycHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtaWNvbi0tYWR2aXNvcnk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtaWNvbi0tc2VjdXJpdHk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk2cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtaWNvbi0taXNzdWVzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1pY29uLS1ndWFyYW50ZWVkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1pY29uLS1kaXNjdXNzaW9uczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtaWNvbi0tcHJvdGVjdGlvbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjI0cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdC0tbGFyZ2UgLmZlYXR1cmUtaWNvbjo6YmVmb3JlIHtcbiAgaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogNDhweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm9kdWN0cy9lbnRlcnByaXNlLWVuZ2luZS9lbnRlcnByaXNlLWVuZ2luZS1wYXJ0bmVyLWljb24tc3ByaXRlLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA0OHB4IDk2cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdC0tbGFyZ2UgLmZlYXR1cmUtaWNvbi0tdHJhaW5pbmc6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1saXN0LS1sYXJnZSAuZmVhdHVyZS1pY29uLS1hZHZpc29yeTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAjcHJlLWJ1aWx0LXNvbHV0aW9ucyBoMiB7XG4gIG1heC13aWR0aDogNTAwcHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgI3ByZS1idWlsdC1zb2x1dGlvbnMgLmNoZWNrbWFyay1saXN0IHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBjb2x1bW5zOiAyIGF1dG87XG4gIGNvbHVtbi1nYXA6IDhweDtcbiAgd2lkdGg6IDEwOCU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lICNwcmUtYnVpbHQtc29sdXRpb25zIC50d28tY29sIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAjcHJlLWJ1aWx0LXNvbHV0aW9ucyAuY2hlY2ttYXJrLWxpc3Qge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBjb2x1bW5zOiAxIGF1dG87XG4gICAgY29sdW1uLWdhcDogOHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA2NjBweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19pZGVudGl0eS12YXVsdCxcbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2F3cy1hbXBsaWZ5LFxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fY291Y2hiYXNlLFxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fYWN0aXZlLWRpcmVjdG9yeSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjNUI3MDhCOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2lkZW50aXR5LXZhdWx0IGksXG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2F3cy1hbXBsaWZ5IGksXG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2NvdWNoYmFzZSBpLFxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19hY3RpdmUtZGlyZWN0b3J5IGkge1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA4cHggcmdiYSgyLCA4LCAyMCwgMC4xKSwgMHB4IDhweCAxNnB4IHJnYmEoMiwgOCwgMjAsIDAuMDgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19pZGVudGl0eS12YXVsdCBpOjpiZWZvcmUsXG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2F3cy1hbXBsaWZ5IGk6OmJlZm9yZSxcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fY291Y2hiYXNlIGk6OmJlZm9yZSxcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fYWN0aXZlLWRpcmVjdG9yeSBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvZHVjdHMvZW50ZXJwcmlzZS1lbmdpbmUvZW50ZXJwcmlzZS1lbmdpbmUtaW50ZWdyYXRpb25zLXNwcml0ZS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDExMnB4IDI5NHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19faWRlbnRpdHktdmF1bHQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDI0MnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2lkZW50aXR5LXZhdWx0IGkge1xuICAgIHdpZHRoOiAxMjRweDtcbiAgICBoZWlnaHQ6IDEyNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2lkZW50aXR5LXZhdWx0IGk6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDU2cHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE1MXB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2F3cy1hbXBsaWZ5IHtcbiAgdG9wOiAxNzJweDtcbiAgbGVmdDogMDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19hd3MtYW1wbGlmeSBpIHtcbiAgICB3aWR0aDogMTkycHg7XG4gICAgaGVpZ2h0OiAxOTJweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19hd3MtYW1wbGlmeSBpOjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMTJweDtcbiAgICBoZWlnaHQ6IDg0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2NvdWNoYmFzZSB7XG4gIHRvcDogMjYwcHg7XG4gIGxlZnQ6IDMyNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2NvdWNoYmFzZSBpIHtcbiAgICB3aWR0aDogMTI0cHg7XG4gICAgaGVpZ2h0OiAxMjRweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19jb3VjaGJhc2UgaTo6YmVmb3JlIHtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODVweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19hY3RpdmUtZGlyZWN0b3J5IHtcbiAgdG9wOiA0NjBweDtcbiAgbGVmdDogMTcycHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fYWN0aXZlLWRpcmVjdG9yeSBpIHtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgaGVpZ2h0OiAxNjBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19hY3RpdmUtZGlyZWN0b3J5IGk6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDgzcHg7XG4gICAgaGVpZ2h0OiA4NHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIxMHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19faWRlbnRpdHktdmF1bHQge1xuICAgIGxlZnQ6IDIxMnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2NvdWNoYmFzZSB7XG4gICAgbGVmdDogMjg0cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fYWN0aXZlLWRpcmVjdG9yeSB7XG4gICAgbGVmdDogMTE5cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9ucyB7XG4gICAgZmxleDogbm9uZTtcbiAgICBoZWlnaHQ6IDM2MnB4O1xuICAgIHdpZHRoOiA1ODZweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2lkZW50aXR5LXZhdWx0IHtcbiAgICBsZWZ0OiAyMzJweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19hd3MtYW1wbGlmeSB7XG4gICAgdG9wOiA4MnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2NvdWNoYmFzZSB7XG4gICAgbGVmdDogMjUxcHg7XG4gICAgdG9wOiAxODhweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19hY3RpdmUtZGlyZWN0b3J5IHtcbiAgICBsZWZ0OiA0MTZweDtcbiAgICB0b3A6IDcwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTkwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuNyk7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9ucyArIGRpdiB7XG4gICAgbWFyZ2luLXRvcDogMjYwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9ucyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuNik7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAjZXhwZXJ0LXNlcnZpY2VzIGhncm91cCArIC50d28tY29sIHtcbiAgbWFyZ2luLXRvcDogODBweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAjZXhwZXJ0LXNlcnZpY2VzIC5jaGVja21hcmstbGlzdC0tbGFyZ2Uge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMTE2cHg7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lICNleHBlcnQtc2VydmljZXMgLmZlYXR1cmUtbGlzdCxcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgI2V4cGVydC1zZXJ2aWNlcyAuY2hlY2ttYXJrLWxpc3Qge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDQyMHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lICNleHBlcnQtc2VydmljZXMgLmNoZWNrbWFyay1saXN0LS1sYXJnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAjY29tcGFyaXNvbi10YWJsZSB7XG4gIG1hcmdpbi10b3A6IDhweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAjY29tcGFyaXNvbi10YWJsZSAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lICNjb21wYXJpc29uLXRhYmxlIGhncm91cCB7XG4gICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgI2NvbXBhcmlzb24tdGFibGUgaGdyb3VwIGgyIHtcbiAgICAgIGNvbG9yOiAjNjE2RTdFOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAjY29tcGFyaXNvbi10YWJsZSBoZ3JvdXAgaDIgZW0ge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjMDIwODE0OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lICNjb21wYXJpc29uLXRhYmxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgI2NvbXBhcmlzb24tdGFibGUgaGdyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgI2NvbXBhcmlzb24tdGFibGUgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgI2NvbXBhcmlzb24tdGFibGUgaDIge1xuICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICBmb250LXNpemU6IDMycHg7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY29tcC10YWJsZS13cmFwcGVyIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jb21wLXRhYmxlIHtcbiAgbWluLXdpZHRoOiA1NDZweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY29tcC10YWJsZSB0aCwgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNvbXAtdGFibGUgdGQge1xuICAgIHdpZHRoOiAzMyU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY29tcC10YWJsZSB0aDpub3QoOmZpcnN0LWNoaWxkKSwgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNvbXAtdGFibGUgdGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jb21wLXRhYmxlIHRoOmZpcnN0LWNoaWxkLCAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY29tcC10YWJsZSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogNDAlOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNvbXAtdGFibGUgdGg6bGFzdC1jaGlsZCwgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNvbXAtdGFibGUgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGN0Y1OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jb21wLXRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICM1QjcwOEI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jb21wLXRhYmxlIHRoOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgIGNvbG9yOiAjRkY3QjVFOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jb21wLXRhYmxlIHRkIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgY29sb3I6ICM3Mzg0OUE7XG4gICAgcGFkZGluZzogMTRweCAyMHB4O1xuICAgIGJvcmRlcjogMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jb21wLXRhYmxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjNEU1QjZBOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNvbXAtdGFibGUgdGQgaW9uLWljb25bbmFtZT1cImNoZWNrbWFya1wiXSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBjb2xvcjogIzVCNzA4QjsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jb21wLXRhYmxlIHRkOmxhc3QtY2hpbGQgaW9uLWljb25bbmFtZT1cImNoZWNrbWFya1wiXSB7XG4gICAgICBjb2xvcjogI0ZGN0I1RTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jb21wLXRhYmxlIHRkIC5kYXNoIHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjQ0VENkUwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNvbXAtdGFibGUgdGQgLnBpbGwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJhY2tncm91bmQ6ICNGRjk5ODI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNvbXAtdGFibGUgLnN0cmlwZSB0ZCB7XG4gICAgYmFja2dyb3VuZDogI0Y2RjhGQjsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jb21wLXRhYmxlIC5zdHJpcGUgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkNFOEUxOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jb21wLXRhYmxlX19zZWN0aW9uIHRkIHtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMTJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0U5RURGMzsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jb21wLXRhYmxlX19zZWN0aW9uIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogIzAyMDgxNDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNvbXAtdGFibGVfX3NlY3Rpb24gdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0VFRENENjsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY29tcC10YWJsZV9fc2VjdGlvbi0tcGFkIHRkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY29tcC10YWJsZSB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOHB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jYWxsLXRvLWFjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNkY4RkI7XG4gIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jYWxsLXRvLWFjdGlvbiAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDc2OHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jYWxsLXRvLWFjdGlvbiBoZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY2FsbC10by1hY3Rpb24gaGdyb3VwIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgICAgY29sb3I6ICMxQTIzMkY7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY2FsbC10by1hY3Rpb24gaGdyb3VwIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICAgIGNvbG9yOiAjNUI3MDhCOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY2FsbC10by1hY3Rpb24gaGdyb3VwIHAgYiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/products/enterprise-engine.css ================================================ #page-products-enterprise-engine .sub-header .btn { color: #1A232F; background-color: #FF9982; font-weight: bold; line-height: normal; font-size: 11px; text-align: center; letter-spacing: 0.08em; text-transform: uppercase; padding-left: 15px; padding-right: 15px; } #page-products-enterprise-engine .sub-header .btn:hover { background-color: #ffbaab; } #page-products-enterprise-engine h3, #page-products-enterprise-engine h2, #page-products-enterprise-engine p.large { letter-spacing: -0.01em; } #page-products-enterprise-engine p { font-weight: 400; } #page-products-enterprise-engine p:not(.large) { font-family: "Graphik", "Avenir Next", "Helvetica Neue", Helvetica, sans-serif; } #page-products-enterprise-engine main ul { list-style-type: none; margin: 0; padding: 0; } #page-products-enterprise-engine .top { margin-top: -148px; padding-top: 260px; padding-bottom: 180px; background: #182434; position: relative; z-index: 0; } #page-products-enterprise-engine .top:before { content: ''; display: block; background-image: url("/img/products/enterprise-engine/enterprise-engine-hero-bg.png"); background-repeat: no-repeat; background-size: 1096px 760px; width: 1096px; height: 760px; position: absolute; bottom: 0; right: 50%; margin-right: -820px; z-index: 1; } #page-products-enterprise-engine .top hgroup { position: relative; z-index: 2; color: #fff; max-width: 624px; } #page-products-enterprise-engine .top hgroup h4 { line-height: 25px; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #CED6E0; font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; } #page-products-enterprise-engine .top hgroup h1 { font-size: 48px; letter-spacing: -0.03em; } #page-products-enterprise-engine .top hgroup p { line-height: 39px; font-size: 22px; color: #CED6E0; } #page-products-enterprise-engine .top hgroup .btn { margin-top: 24px; color: #182434; background-color: #FF9982; font-weight: 700; font-size: 16px; letter-spacing: 0.06em; padding: 19px 25px 16px; } #page-products-enterprise-engine .top hgroup .btn:hover { background-color: #ffbaab; } @media (max-width: 768px) { #page-products-enterprise-engine .top hgroup { text-align: center; margin-left: auto; margin-right: auto; overflow: hidden; } } @media (max-width: 480px) { #page-products-enterprise-engine .top hgroup h1 { font-size: 40px; } #page-products-enterprise-engine .top hgroup p { line-height: 30px; font-size: 20px; } } @media (max-width: 768px) { #page-products-enterprise-engine .top { padding-top: 190px; padding-bottom: 94px; } } #page-products-enterprise-engine main section { padding-top: 180px; padding-bottom: 180px; } #page-products-enterprise-engine main section:nth-child(1) { border-bottom: 2px solid #EEF2F7; } #page-products-enterprise-engine main section.offwhite { background-color: #F6F8FB; } #page-products-enterprise-engine main .container { position: relative; } #page-products-enterprise-engine main .container + .container { margin-top: 240px; } #page-products-enterprise-engine main hgroup { margin-bottom: 100px; } #page-products-enterprise-engine main .measure { max-width: 612px; } #page-products-enterprise-engine main .center { text-align: center; } #page-products-enterprise-engine main h3 { color: #92A1B3; font-size: 24px; margin-bottom: 0; margin-top: 0; font-weight: 600; } #page-products-enterprise-engine main h2 { color: #020814; font-size: 36px; margin-top: 10px; margin-bottom: 16px; font-weight: 700; } #page-products-enterprise-engine main p.large { line-height: 39px; font-size: 22px; color: #5B708B; } #page-products-enterprise-engine main p.large em { font-style: normal; color: #2F3A48; } @media (max-width: 992px) { #page-products-enterprise-engine main section { padding-top: 112px; padding-bottom: 130px; } #page-products-enterprise-engine main hgroup { margin-bottom: 0; } #page-products-enterprise-engine main h3 { font-size: 28px; } #page-products-enterprise-engine main h2 { font-size: 32px; } #page-products-enterprise-engine main .container + .container { margin-top: 200px; } } @media (max-width: 768px) { #page-products-enterprise-engine main hgroup { text-align: center; margin-left: auto; margin-right: auto; } #page-products-enterprise-engine main .container + .container { margin-top: 144px; } } @media (max-width: 480px) { #page-products-enterprise-engine main section { padding-top: 82px; padding-bottom: 90px; } } #page-products-enterprise-engine .feature-table { width: 100%; } #page-products-enterprise-engine .feature-table tr td { border-top: 2px solid #F2F5FA; } #page-products-enterprise-engine .feature-table tr:first-child td { border-top: 0; } #page-products-enterprise-engine .feature-table tr td:nth-child(1) { font-size: 20px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; display: -ms-flexbox; display: flex; } #page-products-enterprise-engine .feature-table tr td:nth-child(1) svg { margin-right: 16px; } #page-products-enterprise-engine .feature-table tr td:nth-child(2) { font-size: 18px; color: #5B708B; } #page-products-enterprise-engine .feature-table tr td:nth-child(3) { color: #5B708B; } #page-products-enterprise-engine .feature-table tr td { padding: 32px 48px; } #page-products-enterprise-engine .feature-table tr td:first-child { padding-left: 0; } #page-products-enterprise-engine .feature-table tr td:last-child { padding-right: 0; } @media (max-width: 992px) { #page-products-enterprise-engine .feature-table tr { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-bottom: 18px; } #page-products-enterprise-engine .feature-table tr td:first-child { -ms-flex: 0 0 100%; flex: 0 0 100%; padding-top: 48px; } #page-products-enterprise-engine .feature-table tr td:not(:first-child) { -ms-flex: 0 0 100%; flex: 0 0 100%; border-top: 0; padding-top: 0; padding-left: 0; max-width: 420px; } } @media (max-width: 768px) { #page-products-enterprise-engine .feature-table tr { max-width: 420px; margin-left: auto; margin-right: auto; } } #page-products-enterprise-engine .checkmark-list { margin-bottom: -26px; } #page-products-enterprise-engine .checkmark-list li { position: relative; display: -ms-flexbox; display: flex; } #page-products-enterprise-engine .checkmark-list li:before { position: relative; display: block; content: ''; } #page-products-enterprise-engine .checkmark-list > li { margin-bottom: 26px; } #page-products-enterprise-engine .checkmark-list > li:before { background-image: url("/img/checkmark-medium-gray.svg"); background-size: 20px 20px; height: 20px; width: 20px; -ms-flex: 0 0 20px; flex: 0 0 20px; margin-right: 16px; } #page-products-enterprise-engine .checkmark-list li ul { margin-top: 20px; } #page-products-enterprise-engine .checkmark-list li ul > li { line-height: 17px; font-size: 12px; position: relative; } #page-products-enterprise-engine .checkmark-list li ul > li:before { background-image: url("/img/checkmark.svg"); background-size: 10px 8px; height: 8px; width: 10px; -ms-flex: 0 0 10px; flex: 0 0 10px; top: 2px; margin-right: 8px; opacity: 0.6; } #page-products-enterprise-engine .checkmark-list li ul > li + li { margin-top: 14px; } #page-products-enterprise-engine .checkmark-list.large { line-height: 33px; font-size: 20px; color: #5B708B; } #page-products-enterprise-engine .checkmark-list.large li:before { top: 4px; } #page-products-enterprise-engine .checkmark-list--large li:before { width: 24px; height: 24px; -ms-flex: 0 0 24px; flex: 0 0 24px; background-size: 24px 24px; margin-right: 20px; } #page-products-enterprise-engine .checkmark-list.two-col { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: -30px; margin-right: -30px; } #page-products-enterprise-engine .checkmark-list.two-col li { -ms-flex: 0 0 50%; flex: 0 0 50%; padding-left: 30px; padding-right: 30px; } #page-products-enterprise-engine .checkmark-list hgroup { margin: 0 0 16px; } #page-products-enterprise-engine .checkmark-list hgroup h5 { margin: 0; font-weight: 600; line-height: 20px; font-size: 16px; color: #3C536F; } #page-products-enterprise-engine .checkmark-list hgroup p { line-height: 23px; font-size: 14px; color: #92A1B3; } @media (max-width: 992px) { #page-products-enterprise-engine .checkmark-list.large { line-height: 30px; font-size: 18px; margin-top: 60px; } } @media (max-width: 768px) { #page-products-enterprise-engine .checkmark-list.two-col { max-width: 420px; margin-left: auto; margin-right: auto; } #page-products-enterprise-engine .checkmark-list.two-col li { -ms-flex: 0 0 100%; flex: 0 0 100%; } #page-products-enterprise-engine .checkmark-list hgroup { text-align: left; margin-bottom: 0; } #page-products-enterprise-engine .checkmark-list hgroup p { margin-bottom: 0; } } #page-products-enterprise-engine .two-col { display: -ms-flexbox; display: flex; } #page-products-enterprise-engine .two-col > div { -ms-flex: 0 0 50%; flex: 0 0 50%; } #page-products-enterprise-engine .two-col .feature-list { -ms-flex: 0 0 55%; flex: 0 0 55%; padding-right: 50px; } #page-products-enterprise-engine .two-col .checkmark-list { -ms-flex: 0 0 45%; flex: 0 0 45%; padding-left: 50px; } @media (max-width: 992px) { #page-products-enterprise-engine .two-col .checkmark-list { margin-top: 40px; } } @media (max-width: 768px) { #page-products-enterprise-engine .two-col .feature-list { padding-right: 0; } #page-products-enterprise-engine .two-col .checkmark-list { padding-left: 0; max-width: 480px; margin-left: auto; margin-right: auto; } } @media (max-width: 992px) { #page-products-enterprise-engine .two-col:not(.checkmark-list) { -ms-flex-direction: column; flex-direction: column; } #page-products-enterprise-engine .two-col:not(.checkmark-list) > div { -ms-flex: 0 0 100%; flex: 0 0 100%; } } #page-products-enterprise-engine .feature-list li { display: -ms-flexbox; display: flex; } #page-products-enterprise-engine .feature-list .feature-icon { -ms-flex: 0 0 48px; flex: 0 0 48px; margin-right: 36px; } #page-products-enterprise-engine .feature-list hgroup { margin: 0; } #page-products-enterprise-engine .feature-list h4 { font-size: 24px; line-height: 1.2; font-weight: 600; margin-bottom: 18px; } #page-products-enterprise-engine .feature-list p { margin: 0 0 6px; line-height: 32px; font-size: 18px; color: #5B708B; } #page-products-enterprise-engine .feature-list li + li { margin-top: 68px; } @media (max-width: 992px) { #page-products-enterprise-engine .feature-list { margin-top: 60px; } #page-products-enterprise-engine .feature-list li + li { margin-top: 50px; } } @media (max-width: 768px) { #page-products-enterprise-engine .feature-list { padding-right: 0; margin-top: 30px; max-width: 480px; margin-left: auto; margin-right: auto; } #page-products-enterprise-engine .feature-list .feature-icon { margin-right: 0; margin-bottom: 15px; } #page-products-enterprise-engine .feature-list li { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; } } @media (max-width: 480px) { #page-products-enterprise-engine .feature-list h4 { font-size: 20px; } #page-products-enterprise-engine .feature-list p { line-height: 28px; font-size: 16px; } } #page-products-enterprise-engine .feature-list--small li { -ms-flex-direction: column; flex-direction: column; } #page-products-enterprise-engine .feature-list--small .feature-icon { margin-bottom: 20px; } #page-products-enterprise-engine .feature-list--small h4 { font-size: 20px; color: #020814; } #page-products-enterprise-engine .feature-list--small p { line-height: 26px; font-size: 16px; color: #5B708B; } #page-products-enterprise-engine .three-col { display: -ms-flexbox; display: flex; } #page-products-enterprise-engine .three-col li { -ms-flex: 0 0 33%; flex: 0 0 33%; margin: 0; padding: 0 32px; } #page-products-enterprise-engine .three-col li + li { margin-top: 0; } #page-products-enterprise-engine .three-col li:first-child { padding-left: 0; } #page-products-enterprise-engine .three-col li:last-child { padding-right: 0; } @media (max-width: 768px) { #page-products-enterprise-engine .three-col { -ms-flex-direction: column; flex-direction: column; } #page-products-enterprise-engine .three-col li { -ms-flex: 0 0 100%; flex: 0 0 100%; padding: 0; } #page-products-enterprise-engine .three-col li + li { margin-top: 30px; } } #page-products-enterprise-engine .integrations { position: relative; height: 660px; } #page-products-enterprise-engine .integrations__identity-vault, #page-products-enterprise-engine .integrations__aws-amplify, #page-products-enterprise-engine .integrations__couchbase, #page-products-enterprise-engine .integrations__active-directory { position: absolute; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; font-size: 13px; text-align: center; font-weight: 600; color: #5B708B; } #page-products-enterprise-engine .integrations__identity-vault i, #page-products-enterprise-engine .integrations__aws-amplify i, #page-products-enterprise-engine .integrations__couchbase i, #page-products-enterprise-engine .integrations__active-directory i { border-radius: 999px; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; box-shadow: 0px 2px 8px rgba(2, 8, 20, 0.1), 0px 8px 16px rgba(2, 8, 20, 0.08); background-color: #fff; margin-bottom: 14px; } #page-products-enterprise-engine .integrations__identity-vault i::before, #page-products-enterprise-engine .integrations__aws-amplify i::before, #page-products-enterprise-engine .integrations__couchbase i::before, #page-products-enterprise-engine .integrations__active-directory i::before { content: ''; display: block; background-image: url("/img/products/enterprise-engine/enterprise-engine-integrations-sprite.png"); background-repeat: no-repeat; background-size: 112px 294px; background-position: center center; } #page-products-enterprise-engine .integrations__identity-vault { top: 0; left: 242px; } #page-products-enterprise-engine .integrations__identity-vault i { width: 124px; height: 124px; } #page-products-enterprise-engine .integrations__identity-vault i::before { width: 56px; height: 56px; background-position: 0 -151px; } #page-products-enterprise-engine .integrations__aws-amplify { top: 172px; left: 0; } #page-products-enterprise-engine .integrations__aws-amplify i { width: 192px; height: 192px; } #page-products-enterprise-engine .integrations__aws-amplify i::before { width: 112px; height: 84px; background-position: 0 0; } #page-products-enterprise-engine .integrations__couchbase { top: 290px; left: 354px; } #page-products-enterprise-engine .integrations__couchbase i { width: 124px; height: 124px; } #page-products-enterprise-engine .integrations__couchbase i::before { width: 64px; height: 65px; background-position: 0 -85px; } #page-products-enterprise-engine .integrations__active-directory { top: 500px; left: 172px; } #page-products-enterprise-engine .integrations__active-directory i { width: 160px; height: 160px; } #page-products-enterprise-engine .integrations__active-directory i::before { width: 83px; height: 84px; background-position: 0 -210px; } @media (max-width: 1220px) { #page-products-enterprise-engine .integrations__identity-vault { left: 212px; } #page-products-enterprise-engine .integrations__couchbase { left: 284px; } #page-products-enterprise-engine .integrations__active-directory { left: 119px; } } @media (max-width: 992px) { #page-products-enterprise-engine .integrations { -ms-flex: none; flex: none; height: 362px; width: 586px; margin-bottom: 40px; } #page-products-enterprise-engine .integrations__identity-vault { left: 232px; } #page-products-enterprise-engine .integrations__aws-amplify { top: 82px; } #page-products-enterprise-engine .integrations__couchbase { left: 251px; top: 188px; } #page-products-enterprise-engine .integrations__active-directory { left: 416px; top: 70px; } } @media (max-width: 768px) { #page-products-enterprise-engine .integrations { position: absolute; top: -70px; left: 50%; -webkit-transform-origin: center center; transform-origin: center center; -webkit-transform: translateX(-50%) scale(0.8); transform: translateX(-50%) scale(0.8); } #page-products-enterprise-engine .integrations + div { margin-top: 300px; } } @media (max-width: 768px) { #page-products-enterprise-engine .integrations { top: -90px; -webkit-transform: translateX(-50%) scale(0.6); transform: translateX(-50%) scale(0.6); } #page-products-enterprise-engine .integrations + div { margin-top: 260px; } } #page-products-enterprise-engine .call-to-action { padding-top: 140px; } #page-products-enterprise-engine .call-to-action .container { max-width: 748px; } #page-products-enterprise-engine .call-to-action hgroup { margin: 0; padding: 0; } #page-products-enterprise-engine .call-to-action hgroup p { font-weight: 400; font-size: 28px; text-align: center; color: #5B708B; } #page-products-enterprise-engine .call-to-action hgroup strong { color: #2F3A48; font-weight: 600; } #page-products-enterprise-engine .call-to-action hgroup h4 { font-weight: 600; font-size: 24px; color: #FF9982; margin: 60px 0; } @media (max-width: 768px) { #page-products-enterprise-engine .call-to-action hgroup p { font-size: 24px; } } @media (max-width: 480px) { #page-products-enterprise-engine .call-to-action { padding-top: 82px; } } #page-products-enterprise-engine .feature-icon { width: 48px; height: 48px; display: block; background-image: url("/img/products/enterprise-engine/enterprise-engine-icon-sprite.png"); background-repeat: no-repeat; background-size: 48px 480px; } #page-products-enterprise-engine .feature-icon--go-to-market { background-position: 0 0; } #page-products-enterprise-engine .feature-icon--cross-platform { background-position: 0 -48px; } #page-products-enterprise-engine .feature-icon--future-proofed { background-position: 0 -96px; } #page-products-enterprise-engine .feature-icon--native-power { background-position: 0 -144px; } #page-products-enterprise-engine .feature-icon--integrations { background-position: 0 -192px; } #page-products-enterprise-engine .feature-icon--advisory { background-position: 0 -240px; } #page-products-enterprise-engine .feature-icon--training { background-position: 0 -288px; } #page-products-enterprise-engine .feature-icon--stability { background-position: 0 -336px; } #page-products-enterprise-engine .feature-icon--complete-native { background-position: 0 -384px; } #page-products-enterprise-engine .feature-icon--help { background-position: 0 -432px; } #page-products-enterprise-engine .logos { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: center; align-items: center; margin-top: 160px; margin-left: -24px; margin-right: -24px; } #page-products-enterprise-engine .logos .logo { -ms-flex: 0 0 auto; flex: 0 0 auto; margin: 0 24px 30px; background-image: url("/img/products/enterprise-engine/enterprise-engine-logo-sprite.png"); background-repeat: no-repeat; background-size: 176px 168px; } #page-products-enterprise-engine .logos .logo--aaa { background-position: 0 0; width: 72px; height: 42px; } #page-products-enterprise-engine .logos .logo--amtrak { background-position: 0 -44px; width: 176px; height: 20px; } #page-products-enterprise-engine .logos .logo--ge { background-position: 0 -66px; width: 48px; height: 48px; } #page-products-enterprise-engine .logos .logo--worldpay { background-position: 0 -116px; width: 132px; height: 30px; } #page-products-enterprise-engine .logos .logo--mapfre { background-position: 0 -148px; width: 136px; height: 20px; } @media (max-width: 768px) { #page-products-enterprise-engine .logos { margin-top: 80px; max-width: 570px; margin-left: auto; margin-right: auto; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: center; justify-content: center; } } @media (max-width: 480px) { #page-products-enterprise-engine .logos { -ms-flex-direction: column; flex-direction: column; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QXhCLHdCQUF3QixFQUFFLEVBQUU7RUFDaEM7SUFDRTtNQUNFLDJCQUF1QjtVQUF2Qix1QkFBdUIsRUFBRSxFQUFFIiwiZmlsZSI6InBhZ2VzL3Byb2R1Y3RzL2VudGVycHJpc2UtZW5naW5lLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5zdWItaGVhZGVyIC5idG4ge1xuICBjb2xvcjogIzFBMjMyRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOTk4MjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnN1Yi1oZWFkZXIgLmJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmFhYjsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBoMyxcbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIGgyLFxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgcC5sYXJnZSB7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIHAge1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIHA6bm90KC5sYXJnZSkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdyYXBoaWtcIiwgXCJBdmVuaXIgTmV4dFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnRvcCB7XG4gIG1hcmdpbi10b3A6IC0xNDhweDtcbiAgcGFkZGluZy10b3A6IDI2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7XG4gIGJhY2tncm91bmQ6ICMxODI0MzQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudG9wOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm9kdWN0cy9lbnRlcnByaXNlLWVuZ2luZS9lbnRlcnByaXNlLWVuZ2luZS1oZXJvLWJnLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTA5NnB4IDc2MHB4O1xuICAgIHdpZHRoOiAxMDk2cHg7XG4gICAgaGVpZ2h0OiA3NjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtODIwcHg7XG4gICAgei1pbmRleDogMTsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudG9wIGhncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWF4LXdpZHRoOiA2MjRweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC50b3AgaGdyb3VwIGg0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI0NFRDZFMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC50b3AgaGdyb3VwIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnRvcCBoZ3JvdXAgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMzlweDtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGNvbG9yOiAjQ0VENkUwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnRvcCBoZ3JvdXAgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgY29sb3I6ICMxODI0MzQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY5OTgyO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG4gICAgICBwYWRkaW5nOiAxOXB4IDI1cHggMTZweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnRvcCBoZ3JvdXAgLmJ0bjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhYWI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC50b3AgaGdyb3VwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC50b3AgaGdyb3VwIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudG9wIGhncm91cCBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC50b3Age1xuICAgICAgcGFkZGluZy10b3A6IDE5MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDk0cHg7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIHNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMTgwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxODBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIHNlY3Rpb246bnRoLWNoaWxkKDEpIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI0VFRjJGNzsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIHNlY3Rpb24ub2Zmd2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNkY4RkI7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgbWFpbiAuY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gLmNvbnRhaW5lciArIC5jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAyNDBweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIGhncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gLm1lYXN1cmUge1xuICBtYXgtd2lkdGg6IDYxMnB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gLmNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIGgzIHtcbiAgY29sb3I6ICM5MkExQjM7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIGgyIHtcbiAgY29sb3I6ICMwMjA4MTQ7XG4gIGZvbnQtc2l6ZTogMzZweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIHAubGFyZ2Uge1xuICBsaW5lLWhlaWdodDogMzlweDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogIzVCNzA4QjsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIHAubGFyZ2UgZW0ge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzJGM0E0ODsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgbWFpbiBzZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMTEycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEzMHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gaGdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIG1haW4gaDMge1xuICAgIGZvbnQtc2l6ZTogMjhweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSBtYWluIGgyIHtcbiAgICBmb250LXNpemU6IDMycHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgbWFpbiAuY29udGFpbmVyICsgLmNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgbWFpbiBoZ3JvdXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgbWFpbiAuY29udGFpbmVyICsgLmNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTQ0cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgbWFpbiBzZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogODJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTBweDsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtdGFibGUgdHIgdGQge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjRjJGNUZBOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLXRhYmxlIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLXRhYmxlIHRyIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS10YWJsZSB0ciB0ZDpudGgtY2hpbGQoMSkgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTZweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS10YWJsZSB0ciB0ZDpudGgtY2hpbGQoMikge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogIzVCNzA4QjsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS10YWJsZSB0ciB0ZDpudGgtY2hpbGQoMykge1xuICAgIGNvbG9yOiAjNUI3MDhCOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLXRhYmxlIHRyIHRkIHtcbiAgICBwYWRkaW5nOiAzMnB4IDQ4cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS10YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS10YWJsZSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtdGFibGUgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxOHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtdGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogNDhweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLXRhYmxlIHRyIHRkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWF4LXdpZHRoOiA0MjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLXRhYmxlIHRyIHtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IC0yNnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNoZWNrbWFyay1saXN0IGxpOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdCA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdCA+IGxpOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9jaGVja21hcmstbWVkaXVtLWdyYXkuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBmbGV4OiAwIDAgMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNoZWNrbWFyay1saXN0IGxpIHVsIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdCBsaSB1bCA+IGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNoZWNrbWFyay1saXN0IGxpIHVsID4gbGk6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvY2hlY2ttYXJrLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCA4cHg7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgZmxleDogMCAwIDEwcHg7XG4gICAgICB0b3A6IDJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgb3BhY2l0eTogMC42OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNoZWNrbWFyay1saXN0IGxpIHVsID4gbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdC5sYXJnZSB7XG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjNUI3MDhCOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdC5sYXJnZSBsaTpiZWZvcmUge1xuICAgIHRvcDogNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdC0tbGFyZ2UgbGk6YmVmb3JlIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgZmxleDogMCAwIDI0cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdC50d28tY29sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMzBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdC50d28tY29sIGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdCBoZ3JvdXAge1xuICAgIG1hcmdpbjogMCAwIDE2cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuY2hlY2ttYXJrLWxpc3QgaGdyb3VwIGg1IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGNvbG9yOiAjM0M1MzZGOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNoZWNrbWFyay1saXN0IGhncm91cCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICM5MkExQjM7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNoZWNrbWFyay1saXN0LmxhcmdlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLXRvcDogNjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdC50d28tY29sIHtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNoZWNrbWFyay1saXN0LnR3by1jb2wgbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdCBoZ3JvdXAge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jaGVja21hcmstbGlzdCBoZ3JvdXAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudHdvLWNvbCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnR3by1jb2wgPiBkaXYge1xuICAgIGZsZXg6IDAgMCA1MCU7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnR3by1jb2wgLmZlYXR1cmUtbGlzdCB7XG4gICAgZmxleDogMCAwIDU1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC50d28tY29sIC5jaGVja21hcmstbGlzdCB7XG4gICAgZmxleDogMCAwIDQ1JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnR3by1jb2wgLmNoZWNrbWFyay1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudHdvLWNvbCAuZmVhdHVyZS1saXN0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudHdvLWNvbCAuY2hlY2ttYXJrLWxpc3Qge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC50d28tY29sOm5vdCguY2hlY2ttYXJrLWxpc3QpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnR3by1jb2w6bm90KC5jaGVja21hcmstbGlzdCkgPiBkaXYge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1saXN0IGxpIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1saXN0IC5mZWF0dXJlLWljb24ge1xuICBmbGV4OiAwIDAgNDhweDtcbiAgbWFyZ2luLXJpZ2h0OiAzNnB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWxpc3QgaGdyb3VwIHtcbiAgbWFyZ2luOiAwOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWxpc3QgaDQge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdCBwIHtcbiAgbWFyZ2luOiAwIDAgNnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzVCNzA4QjsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1saXN0IGxpICsgbGkge1xuICBtYXJnaW4tdG9wOiA2OHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdCBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdCAuZmVhdHVyZS1pY29uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1saXN0IGxpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1saXN0IGg0IHtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdCBwIHtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1saXN0LS1zbWFsbCBsaSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdC0tc21hbGwgLmZlYXR1cmUtaWNvbiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtbGlzdC0tc21hbGwgaDQge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiAjMDIwODE0OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWxpc3QtLXNtYWxsIHAge1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzVCNzA4QjsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudGhyZWUtY29sIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudGhyZWUtY29sIGxpIHtcbiAgICBmbGV4OiAwIDAgMzMlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDMycHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnRocmVlLWNvbCBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC50aHJlZS1jb2wgbGk6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudGhyZWUtY29sIGxpOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLnRocmVlLWNvbCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAudGhyZWUtY29sIGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC50aHJlZS1jb2wgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDY2MHB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2lkZW50aXR5LXZhdWx0LFxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fYXdzLWFtcGxpZnksXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19jb3VjaGJhc2UsXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19hY3RpdmUtZGlyZWN0b3J5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM1QjcwOEI7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19faWRlbnRpdHktdmF1bHQgaSxcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fYXdzLWFtcGxpZnkgaSxcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fY291Y2hiYXNlIGksXG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2FjdGl2ZS1kaXJlY3RvcnkgaSB7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDhweCByZ2JhKDIsIDgsIDIwLCAwLjEpLCAwcHggOHB4IDE2cHggcmdiYSgyLCA4LCAyMCwgMC4wOCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2lkZW50aXR5LXZhdWx0IGk6OmJlZm9yZSxcbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fYXdzLWFtcGxpZnkgaTo6YmVmb3JlLFxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19jb3VjaGJhc2UgaTo6YmVmb3JlLFxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19hY3RpdmUtZGlyZWN0b3J5IGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm9kdWN0cy9lbnRlcnByaXNlLWVuZ2luZS9lbnRlcnByaXNlLWVuZ2luZS1pbnRlZ3JhdGlvbnMtc3ByaXRlLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTEycHggMjk0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuXG4jcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19pZGVudGl0eS12YXVsdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMjQycHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19faWRlbnRpdHktdmF1bHQgaSB7XG4gICAgd2lkdGg6IDEyNHB4O1xuICAgIGhlaWdodDogMTI0cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19faWRlbnRpdHktdmF1bHQgaTo6YmVmb3JlIHtcbiAgICB3aWR0aDogNTZweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTUxcHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fYXdzLWFtcGxpZnkge1xuICB0b3A6IDE3MnB4O1xuICBsZWZ0OiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2F3cy1hbXBsaWZ5IGkge1xuICAgIHdpZHRoOiAxOTJweDtcbiAgICBoZWlnaHQ6IDE5MnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2F3cy1hbXBsaWZ5IGk6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDExMnB4O1xuICAgIGhlaWdodDogODRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fY291Y2hiYXNlIHtcbiAgdG9wOiAyOTBweDtcbiAgbGVmdDogMzU0cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fY291Y2hiYXNlIGkge1xuICAgIHdpZHRoOiAxMjRweDtcbiAgICBoZWlnaHQ6IDEyNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2NvdWNoYmFzZSBpOjpiZWZvcmUge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04NXB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2FjdGl2ZS1kaXJlY3Rvcnkge1xuICB0b3A6IDUwMHB4O1xuICBsZWZ0OiAxNzJweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19hY3RpdmUtZGlyZWN0b3J5IGkge1xuICAgIHdpZHRoOiAxNjBweDtcbiAgICBoZWlnaHQ6IDE2MHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2FjdGl2ZS1kaXJlY3RvcnkgaTo6YmVmb3JlIHtcbiAgICB3aWR0aDogODNweDtcbiAgICBoZWlnaHQ6IDg0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjEwcHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMjBweCkge1xuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19pZGVudGl0eS12YXVsdCB7XG4gICAgbGVmdDogMjEycHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fY291Y2hiYXNlIHtcbiAgICBsZWZ0OiAyODRweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zX19hY3RpdmUtZGlyZWN0b3J5IHtcbiAgICBsZWZ0OiAxMTlweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zIHtcbiAgICBmbGV4OiBub25lO1xuICAgIGhlaWdodDogMzYycHg7XG4gICAgd2lkdGg6IDU4NnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19faWRlbnRpdHktdmF1bHQge1xuICAgIGxlZnQ6IDIzMnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2F3cy1hbXBsaWZ5IHtcbiAgICB0b3A6IDgycHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmludGVncmF0aW9uc19fY291Y2hiYXNlIHtcbiAgICBsZWZ0OiAyNTFweDtcbiAgICB0b3A6IDE4OHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnNfX2FjdGl2ZS1kaXJlY3Rvcnkge1xuICAgIGxlZnQ6IDQxNnB4O1xuICAgIHRvcDogNzBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNzBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC44KTsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zICsgZGl2IHtcbiAgICBtYXJnaW4tdG9wOiAzMDBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuaW50ZWdyYXRpb25zIHtcbiAgICB0b3A6IC05MHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjYpOyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5pbnRlZ3JhdGlvbnMgKyBkaXYge1xuICAgIG1hcmdpbi10b3A6IDI2MHB4OyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNhbGwtdG8tYWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDE0MHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jYWxsLXRvLWFjdGlvbiAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDc0OHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jYWxsLXRvLWFjdGlvbiBoZ3JvdXAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNhbGwtdG8tYWN0aW9uIGhncm91cCBwIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzVCNzA4QjsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jYWxsLXRvLWFjdGlvbiBoZ3JvdXAgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAjMkYzQTQ4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jYWxsLXRvLWFjdGlvbiBoZ3JvdXAgaDQge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiAjRkY5OTgyO1xuICAgICAgbWFyZ2luOiA2MHB4IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmNhbGwtdG8tYWN0aW9uIGhncm91cCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5jYWxsLXRvLWFjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogODJweDsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWljb24ge1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm9kdWN0cy9lbnRlcnByaXNlLWVuZ2luZS9lbnRlcnByaXNlLWVuZ2luZS1pY29uLXNwcml0ZS5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNDhweCA0ODBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1pY29uLS1nby10by1tYXJrZXQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1pY29uLS1jcm9zcy1wbGF0Zm9ybSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1pY29uLS1mdXR1cmUtcHJvb2ZlZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1pY29uLS1uYXRpdmUtcG93ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0NHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWljb24tLWludGVncmF0aW9ucyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtaWNvbi0tYWR2aXNvcnkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI0MHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWljb24tLXRyYWluaW5nIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yODhweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAuZmVhdHVyZS1pY29uLS1zdGFiaWxpdHkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMzNnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5mZWF0dXJlLWljb24tLWNvbXBsZXRlLW5hdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzg0cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmZlYXR1cmUtaWNvbi0taGVscCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDMycHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmxvZ29zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxNjBweDtcbiAgbWFyZ2luLWxlZnQ6IC0yNHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0yNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5sb2dvcyAubG9nbyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luOiAwIDI0cHggMzBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byb2R1Y3RzL2VudGVycHJpc2UtZW5naW5lL2VudGVycHJpc2UtZW5naW5lLWxvZ28tc3ByaXRlLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTc2cHggMTY4cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAubG9nb3MgLmxvZ28tLWFhYSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICB3aWR0aDogNzJweDtcbiAgICAgIGhlaWdodDogNDJweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5sb2dvcyAubG9nby0tYW10cmFrIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ0cHg7XG4gICAgICB3aWR0aDogMTc2cHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAubG9nb3MgLmxvZ28tLWdlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY2cHg7XG4gICAgICB3aWR0aDogNDhweDtcbiAgICAgIGhlaWdodDogNDhweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWVudGVycHJpc2UtZW5naW5lIC5sb2dvcyAubG9nby0td29ybGRwYXkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTE2cHg7XG4gICAgICB3aWR0aDogMTMycHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAubG9nb3MgLmxvZ28tLW1hcGZyZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDhweDtcbiAgICAgIHdpZHRoOiAxMzZweDtcbiAgICAgIGhlaWdodDogMjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1lbnRlcnByaXNlLWVuZ2luZSAubG9nb3Mge1xuICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgIG1heC13aWR0aDogNTcwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZW50ZXJwcmlzZS1lbmdpbmUgLmxvZ29zIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuIl19 */ ================================================ FILE: content/css/pages/products/index.css ================================================ #page-products { background-color: #fff; } #page-products .pre-header { margin-bottom: 0px; } #page-products .cta, #page-products .pro-nav, #page-products .pro-video, #page-products .sub-header, #page-products main { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-products .sub-header > .container { -ms-flex-align: center; align-items: center; } #page-products .sub-header > .container:before { border-top-color: rgba(255, 255, 255, 0.1); } #page-products > .cta { position: relative; background-image: linear-gradient(90deg, #6521fc 0%, #389fff 100%); margin-top: -140px; padding-top: 140px; } #page-products > .cta .cta__background { content: ''; background-position: center center; background-size: cover; display: block; width: 100%; height: 100%; position: absolute; z-index: 0; top: -4px; left: 0; background-image: linear-gradient(90deg, #6030fc 0%, #5fa2fe 100%); background-size: cover; opacity: 0.5; overflow: hidden; } #page-products > .cta .cta__background > div { width: 100%; height: 100%; position: absolute; background-image: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 75%); -webkit-transform: translate(-20px, 0) rotate(-3deg) skew(16deg, 0deg) scale(1, 1.5); transform: translate(-20px, 0) rotate(-3deg) skew(16deg, 0deg) scale(1, 1.5); -webkit-transform-origin: top; transform-origin: top; } #page-products > .cta .cta__background > div:nth-child(1) { opacity: 0.05; top: 75%; left: 0%; } #page-products > .cta .cta__background > div:nth-child(2) { opacity: 0.10; top: 50%; left: 15.3846153846%; } #page-products > .cta .cta__background > div:nth-child(3) { opacity: 0.09; top: 25%; left: 30.7692307692%; } #page-products > .cta .cta__background > div:nth-child(4) { opacity: 0.15; top: 0%; left: 46.1538461538%; } #page-products > .cta .cta__background > div:nth-child(5) { opacity: 0.16; top: -25%; left: 61.5384615385%; } #page-products > .cta .cta__background > div:nth-child(6) { opacity: 0.08; top: -50%; left: 76.9230769231%; } @media (max-width: 768px) { #page-products > .cta .cta__background > div:nth-child(1) { opacity: 0.05; top: 60%; left: 0%; } #page-products > .cta .cta__background > div:nth-child(2) { opacity: 0.10; top: 45%; left: 25%; } #page-products > .cta .cta__background > div:nth-child(3) { opacity: 0.09; top: 30%; left: 50%; } #page-products > .cta .cta__background > div:nth-child(4) { opacity: 0.15; top: 15%; left: 75%; } #page-products > .cta .cta__background > div:nth-child(5) { opacity: 0.16; top: 0%; left: 100%; } #page-products > .cta .cta__background > div:nth-child(6) { opacity: 0.08; top: -15%; left: 125%; } } #page-products > .cta hgroup { text-align: center; position: relative; max-width: 830px; padding-bottom: 354px; padding-top: 54px; } #page-products > .cta hgroup h3 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; text-transform: uppercase; letter-spacing: 0.18em; font-size: 12px; line-height: 18px; font-weight: 600; color: #e3e6ff; } #page-products > .cta hgroup h1 { margin-top: 36px; font-size: 56px; line-height: 60px; font-weight: 700; letter-spacing: -.038em; margin-bottom: 264x; } #page-products > .cta hgroup p { letter-spacing: -.03em; max-width: 724px; line-height: 1.8em; margin: 0 auto; font-size: 22px; font-weight: 400; color: #fff; font-family: "Graphik", "Avenir Next", "Helvetica Neue", Helvetica, sans-serif; } #page-products > .cta hgroup .cta-buttons { margin-top: 30px; padding-left: 24px; padding-right: 24px; color: white; letter-spacing: -.02em; } #page-products > .cta hgroup .cta-buttons > .btn { -ms-flex-align: center; align-items: center; background-color: #7898ff; border-radius: 2em; display: -ms-inline-flexbox; display: inline-flex; font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.10em; padding: 14px 26px; } #page-products > .cta hgroup .cta-buttons > .btn:not(:hover) { box-shadow: none; } #page-products > .cta hgroup .cta-buttons > .btn--primary { background-color: #fff; color: #4a68ff; } #page-products > .cta hgroup .cta-buttons > .btn--primary:after { transition: -webkit-transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; content: '\f287'; font-family: 'Ionicons'; font-size: 15px; margin-left: 8px; } #page-products > .cta hgroup .cta-buttons > .btn--primary:hover:after { -webkit-transform: translateX(2px); transform: translateX(2px); } #page-products > .cta hgroup .cta-buttons .sales { color: rgba(255, 255, 255, 0.5); margin-top: 6px; display: inline-block; text-decoration: underline; transition: .2s color; } #page-products > .cta hgroup .cta-buttons .sales:hover { color: rgba(255, 255, 255, 0.8); } @media (max-width: 768px) { #page-products > .cta hgroup { padding-bottom: 140px; } } @media (max-width: 480px) { #page-products > .cta hgroup { padding-top: 14px; } #page-products > .cta hgroup h1 { font-size: 40px; line-height: 46px; } #page-products > .cta hgroup h3 { max-width: 246px; margin-left: auto; margin-right: auto; } #page-products > .cta hgroup p { font-size: 18px; line-height: 1.6em; } #page-products > .cta hgroup .btn { width: 100%; margin-right: 0; -ms-flex-pack: center; justify-content: center; margin-bottom: 8px; } } #page-products .cta-overlay { margin-top: -239px; position: relative; z-index: 1; overflow: hidden; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; width: 100%; padding: 0 20px; } #page-products .cta-overlay .app-screenshot { overflow: hidden; width: 100%; max-width: 960px; background-color: #fff; background-repeat: no-repeat; background-size: cover; border-radius: 16px; box-shadow: 0 8px 16px rgba(0, 14, 41, 0.08), 0 30px 60px rgba(0, 11, 34, 0.15); } #page-products .cta-overlay .app-screenshot img { width: 100%; } @media (max-width: 768px) { #page-products .cta-overlay { margin-top: -76px; } } #page-products .customer-logos { padding: 0; width: 100%; max-width: 1024px; margin-top: 30px; 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; } #page-products .customer-logos [class^="customer-logo"] { background-image: url("/img/pro/pro-customer-sprite.png"); background-repeat: no-repeat; background-size: 121px 256px; margin: 34px 42px; } @media (max-width: 991px) { #page-products .customer-logos { -ms-flex-pack: center; justify-content: center; } #page-products .customer-logos [class^="customer-logo"] { margin: 22px 34px; } } @media (max-width: 768px) { #page-products .customer-logos { padding: 8px; } #page-products .customer-logos [class^="customer-logo"] { margin: 16px 18px; } } #page-products .customer-logos .customer-logo--lendingclub { width: 121px; height: 18px; background-position: 0 0; } #page-products .customer-logos .customer-logo--mcdonalds { background-position: 0 -19px; width: 24px; height: 20px; } #page-products .customer-logos .customer-logo--study { background-position: 0 -40px; width: 118px; height: 18px; } #page-products .customer-logos .customer-logo--cat { background-position: 0 -59px; width: 34px; height: 20px; } #page-products .customer-logos .customer-logo--ge { background-position: 0 -80px; width: 24px; height: 24px; } #page-products .customer-logos .customer-logo--comcast { background-position: 0 -105px; width: 73px; height: 20px; } #page-products .customer-logos .customer-logo--amtrak { background-position: 0 -126px; width: 47px; height: 20px; } #page-products .customer-logos .customer-logo--airbus { background-position: 0 -147px; width: 107px; height: 20px; } #page-products .customer-logos .customer-logo--aaa { background-position: 0 -168px; width: 45px; height: 27px; } #page-products .customer-logos .customer-logo--deloitte { background-position: 0 -195px; width: 87px; height: 16px; } #page-products .customer-logos .customer-logo--usaa { background-position: 0 -212px; width: 21px; height: 24px; } #page-products .customer-logos .customer-logo--ing { background-position: 0 -237px; width: 73px; height: 19px; } #page-products .pro-video { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; position: relative; z-index: 1; } #page-products .pro-video:before { content: ""; display: block; height: 50%; left: 0; position: absolute; top: 0; width: 100%; z-index: 1; } #page-products .pro-video .video-player { max-width: 900px; width: 100%; position: relative; z-index: 2; } #page-products .pro-video .video-player:hover { cursor: pointer; } #page-products .pro-video .video-player:not(.is-playing):hover .video-player-frame { -webkit-transform: scale(0.99); transform: scale(0.99); } #page-products .pro-video .video-player:not(.is-playing):hover .video-player-button { -webkit-transform: translate(-50%, -50%) scale(1.05); transform: translate(-50%, -50%) scale(1.05); } #page-products .pro-video .video-player.is-ready .video-player-button { display: block; } #page-products .pro-video .video-player.is-playing .video-player-button { display: none; } #page-products .pro-video .video-player-button { display: none; left: 50%; position: absolute; top: 50%; -webkit-transform: translate(-50%, -50%) scale(1); transform: translate(-50%, -50%) scale(1); transition: -webkit-transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275); transition: transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275); transition: transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275); width: 80px; z-index: 1; } #page-products .pro-video .video-player-frame { background-image: url("/img/pro/pro-dash-video-screenshot.png"); background-position: center center; background-repeat: no-repeat; background-size: contain; border-radius: 8px; height: 0; overflow: hidden; padding-bottom: 64.67%; position: relative; -webkit-transform: scale(1); transform: scale(1); transition: -webkit-transform 400ms cubic-bezier(0.19, 1, 0.22, 1); transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1); transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 400ms cubic-bezier(0.19, 1, 0.22, 1); } #page-products .pro-video .video-player-frame > iframe { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } #page-products .pro-benefits { padding-left: 60px; } #page-products .pro-benefits ul { list-style-type: none; margin: 0; padding: 0; } #page-products .pro-benefits li { position: relative; padding-left: 40px; } #page-products .pro-benefits li + li { margin-top: 22px; } #page-products .pro-benefits li::before { display: block; content: ''; width: 24px; height: 24px; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAwCAYAAAC4wJK5AAAD/ElEQVRogc3a24tVZRzG8c9ac9jOOOjIMGoMSXQxRBc16UWS4YVikBKKUGTEUF35BwjhX5BCF0EXRhcVU0QUCBYR5AESJIkwu4kYL4JA85A56dC4Z2xWF+8a3TOzD2vtw5oeWOzN3uv9/Z4v73G974qSJHHwY+1QH7ZhK0bTaxAD6f/TmMJkep3HOcy0mri7xfJ92Itx7EApQ5mnK76XcQYTOKFJoGYhBnEQhzDUZAwC9PPpdRNv4z2hxjIrzpk0wutCc3hLawBLNZTGnExzRFkL5oHYiJP4AMN53OXUcJrjZJqzobJCbMdF7GzOV1Pamebc3ujG+Oc/Ggbbj2+xoWVb+bUhzb2/3k2NamI/vpBt1OmUSqmHmiD1ILbj0wb3FKVY8FK1adUyuBGfW9kaWKqS4GlZZ68GEeETK9MHGmmD4G3R8FsN4jXFjkJ5tVPweF9LIQZxtCg3Leio4BXLIQ7q7ETWLg0LXrEYok9YC62IhtewOt8wckjwvAhir/auhTJrZB37trB3Sy6QIcHzIojxNnvLpJF17B6ju4u1/ex5ilL2tfU4DyD6hOeBQlUJsKD+XnqzQ+xAXwxx5FkFT2zVAGZm+fICd+5mDlPCtlATkWfa7LGu6gH8NZ073NYYIh5rm8MG2jjYVgAYjREl4aG+41q/hj3tBWABImJd6xbra/0aXti8uNO2AQAGQ00kVuct2V8KE1QWdRAABkJNRNkfygkT0r4t4RppUIcdBkA6T0RR9v2evt4ws67tD21791htkCIAMB0jiSN3spboiuiq6Ji1QAoCgKkYSXfst6wlpsuc+DF8LmgpSIEAMBkj6epyKU+p2zO1QZ7YVCgACxCrenyft2QtkG2jhQLA+RgeXe9MFJnLW7oaSKXuznUcoIxzMWx+xFRvtx+aiVILZPYeX//UUQDCjvpMDMdO+bfUbaLZSPdB0tVneY6vLnD9dluM1tMERBevJI6d4vERa3+94vf5RMZ5eLlKPWwa4vIt/qnRxNqom3jYQk3AL5f9XerxbitRy3NculoIAOEsY4Ylux0Dq7wTR24VYqE13RAOY7AE4sZtf3Z3OVy4pfx6U8Vp0rIdwNl73o8j3xVqKZ9O46PKH6ptYybziZdxvQhHOXUNryKp/LHWrvhVvChMJv8XlfGS4G2R6p09nMUrmO+QqTyaF7ycrfZnowOU41a+Rsqph+O1bshyCnQczwntsWhdS3PXBCD7UdZZjAkjQ1E6neas2oQqFT/5UOagV7ELbwiTTad0I82xS5VOXE15DxUTfCjsUx0W1i/t0s005miaI6l/+wM1ezI6hSPCAuwAvtFc5y+nZQ+ksY7I+V4Hrb9lM4PP0mvFXhX6D3mVKTX2fENsAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-size: 100%; position: absolute; top: 0; left: 0; } #page-products .pro-benefits li h4 { margin: 0; font-weight: 600; font-size: 16px; line-height: 20px; } #page-products .pro-benefits li p { color: #545c6a; font-size: 15px; line-height: 24px; } #page-products .hero { background: no-repeat center center; background-size: cover; overflow: hidden; padding-top: 0; padding-bottom: 0; } #page-products .hero .content { width: 39%; text-align: left; padding-top: 200px; padding-bottom: 220px; color: #070f1a; min-height: 724px; position: relative; } #page-products .hero .content.dark { color: rgba(255, 255, 255, 0.8); } #page-products .hero .content.dark h2, #page-products .hero .content.dark .hero__cta { color: #151d2b; } #page-products .hero .content.dark p { color: #596a89; } #page-products .hero .content h2 { font-size: 36px; letter-spacing: -0.03em; font-weight: 600; margin-bottom: 12px; } #page-products .hero .content p { font-size: 20px; line-height: 32px; font-family: "Graphik", "Avenir Next", "Helvetica Neue", Helvetica, sans-serif; font-weight: 400; } #page-products .hero .content h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; padding-top: 100px; position: relative; color: #808fa7; } #page-products .hero .content h4::before { background: url("/img/pro/product-header-icons.png") 0 0 no-repeat; background-size: 64px; width: 64px; height: 64px; content: ''; position: absolute; top: 0; } #page-products .hero__cta-bar { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } #page-products .hero__cta-bar a + a { margin-left: 20px; } #page-products .hero__cta-bar-secondary { margin-left: 30px; } @media (max-width: 767px) { #page-products .hero__cta-bar { -ms-flex-direction: column; flex-direction: column; } #page-products .hero__cta-bar-secondary { margin-left: 0; margin-top: 24px; } } #page-products .hero__cta { border-bottom-style: solid; border-bottom-width: 2px; color: inherit; font-size: 18px; font-weight: 700; padding-bottom: 4px; transition: border-bottom-color 100ms ease-in-out; } #page-products .hero__cta:after { content: '\f287'; font-family: 'Ionicons'; font-size: 16px; margin-left: 5px; } #page-products .hero__cta:hover { border-bottom-color: transparent; } #page-products .hero__icon-link { transition: opacity 0.3s; display: inline-block; opacity: 0.7; } #page-products .hero__icon-link i { font-size: 30px; color: #fff; } #page-products .hero__icon-link:hover { opacity: 1; } #page-products .hero .container { position: relative; } #page-products .hero .container::before { background-repeat: no-repeat; background-position: right 0; background-size: contain; top: 0; right: 0; left: 0; bottom: 0; content: ''; display: block; position: absolute; opacity: 0; transition: .2s opacity; } #page-products .hero.active .container::before { opacity: 1; } #page-products .hero h4 { font-size: 11px; font-weight: 700; letter-spacing: 0.2em; color: #272a2f; text-transform: uppercase; margin-bottom: 30px; } #page-products .hero h3 { font-size: 36px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 30px; } #page-products .hero h2 { color: #272a2f; font-size: 36px; margin-bottom: 23px; margin-top: 14px; font-weight: 700; letter-spacing: -.015em; } #page-products .hero p { font-size: 16px; font-weight: 600; letter-spacing: -.026em; line-height: 1.8em; margin-bottom: 30px; color: #5e6777; } #page-products .hero p strong { color: #272a2f; font-weight: 700; } #page-products .hero p a:hover { color: #4a8bfc; } #page-products .hero .btn { padding: 13px 15px; font-size: 14px; font-weight: 600; } #page-products .hero .btn strong { font-weight: 700; } #page-products .hero .btn::after { font-family: 'Ionicons'; content: '\f287'; font-size: 15px; line-height: 10px; vertical-align: -1px; margin-left: 8px; font-weight: 600; display: inline-block; transition: .2s transform; } #page-products .hero .btn:hover::after { -webkit-transform: translate3d(2px, 0, 0); transform: translate3d(2px, 0, 0); } @media (max-width: 480px) { #page-products .hero .content h2 { font-size: 30px; } #page-products .hero .content p { font-size: 18px; line-height: 1.6em; } } #page-products #overview { background-color: #fff; color: #272a2f; padding-bottom: 180px; padding-top: 140px; } #page-products #overview hgroup { max-width: 740px; margin: 0 auto 68px; } #page-products #overview hgroup h3 { font-weight: 600; color: #070f1a; margin-bottom: 14px; } #page-products #overview hgroup p { font-size: 22px; line-height: 36px; color: #43546f; font-weight: 400; } #page-products #overview .features { padding: 0; list-style: none; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; max-width: 960px; margin: 0 auto; } #page-products #overview .features h4 { font-size: 20px; text-transform: none; letter-spacing: -.02em; margin-top: 5px; margin-bottom: 13px; font-weight: 600; } #page-products #overview .features p { font-family: "Graphik", "Avenir Next", "Helvetica Neue", Helvetica, sans-serif; font-size: 16px; line-height: 28px; color: #687e99; letter-spacing: -.015em; font-weight: 400; } #page-products #overview li { padding-top: 68px; -ms-flex: 0 1 320px; flex: 0 1 320px; position: relative; } #page-products #overview li::before { background: url("/img/pro/pro-feature-icons.png") 0 0 no-repeat; background-size: 48px; height: 48px; width: 48px; content: ''; position: absolute; top: 0; } #page-products #overview li.faster::before { background-position: 0 -48px; } #page-products #overview li.happier::before { background-position: 0 -96px; } #page-products #overview li + li { margin-left: 24px; } @media (max-width: 520px) { #page-products #overview .features { display: block; } #page-products #overview li { text-align: center; } #page-products #overview li::before { left: calc( 50% - 24px); } #page-products #overview li + li { margin-left: 0; } } @media (max-width: 768px) { #page-products #overview { padding-bottom: 68px; padding-top: 102px; } } @media (max-width: 480px) { #page-products #overview { padding-bottom: 48px; padding-top: 72px; } #page-products #overview hgroup { margin-bottom: 42px; } #page-products #overview hgroup h3 { font-size: 30px; } #page-products #overview hgroup p { font-size: 18px; line-height: 1.6em; } } #page-products #updates { background-image: linear-gradient(0deg, white 0%, #f6f8fb 100%); background-size: 100%; } #page-products #updates h4::before { background-position: 0 0; } #page-products #updates .content { padding-top: 179px; position: relative; z-index: 10; } @media (max-width: 1219px) { #page-products #updates .content { padding-top: 148px; } } #page-products #updates .anim-updates { position: absolute; z-index: 4; top: 0; bottom: 0; left: 50%; -webkit-transform: translateX(-100px); transform: translateX(-100px); display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } #page-products #updates .anim-updates__root { width: 726px; height: 437px; position: relative; } #page-products #updates .anim-updates__foreground, #page-products #updates .anim-updates__background { width: 100%; height: 100%; position: absolute; top: 0; left: 0; } #page-products #updates .anim-updates__foreground { z-index: 10; -webkit-transform: translateZ(1000px); transform: translateZ(1000px); } #page-products #updates .anim-updates__background { z-index: 1; -webkit-transform: translateZ(100px); transform: translateZ(100px); } #page-products #updates .anim-updates__device { width: 726px; height: 437px; background-image: url("/img/pro/updates-illustration-device.png"); background-repeat: no-repeat; background-size: 726px 437px; position: absolute; top: 0; left: 0; z-index: 5; -webkit-transform: translateZ(500px); transform: translateZ(500px); } #page-products #updates .anim-updates__screen { width: 308px; height: 554px; background: #5d37ff; position: absolute; top: 28px; left: 406px; -webkit-transform-origin: top left; transform-origin: top left; -webkit-transform: rotateX(60deg) rotateY(0.7deg) rotateZ(36.5deg) skew(2deg, -1.5deg); transform: rotateX(60deg) rotateY(0.7deg) rotateZ(36.5deg) skew(2deg, -1.5deg); } @media (max-width: 991px) { #page-products #updates .anim-updates { display: none; } #page-products #updates .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #updates .content h4::before { left: calc(50% - 32px); } } #page-products #build { background-image: linear-gradient(0deg, white 0%, #f6f8fb 100%); padding: 100px 0; } #page-products #build h4::before { background-position: 0 -64px; } #page-products #build .anim-build { position: absolute; left: 0; top: 0; bottom: 0; width: 39%; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; } #page-products #build .anim-build__text { fill: #5d37ff; text-transform: uppercase; font-size: 12px; font-weight: 700; letter-spacing: 0.05em; } #page-products #build .content { padding-top: 140px; } @media (max-width: 991px) { #page-products #build .container::before { background-size: 40%; top: 128px; bottom: 128px; } #page-products #build .content { padding-top: 64px; min-height: 0; width: 40%; } } @media (max-width: 767px) { #page-products #build { background-image: none; padding: 0; } #page-products #build .anim-build { display: none; } #page-products #build .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #build .content h4::before { left: calc(50% - 32px); } } #page-products #reporting { background: #081b17; padding: 50px 0; } #page-products #reporting h4, #page-products #reporting .btn { color: #607d79; } #page-products #reporting h4::before, #page-products #reporting .btn::before { background-position: 0 -256px; } #page-products #reporting .anim-reporting { width: 1084px; height: 100%; display: -ms-flexbox; display: flex; overflow: hidden; position: absolute; top: 0; left: 50%; -webkit-transform: translateX(-240px); transform: translateX(-240px); bottom: 0; z-index: 1; } #page-products #reporting #anim-reporting__svg { width: 100%; height: 100%; } #page-products #reporting .anim-reporting__bg { fill: #0d2b25; } #page-products #reporting .anim-reporting__scan { -webkit-animation-name: cycle-fade; animation-name: cycle-fade; -webkit-animation-duration: 2s; animation-duration: 2s; -webkit-animation-direction: alternate; animation-direction: alternate; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-timing-function: ease; animation-timing-function: ease; } @-webkit-keyframes cycle-fade { from { opacity: 0.4; } to { opacity: 1; } } @keyframes cycle-fade { from { opacity: 0.4; } to { opacity: 1; } } #page-products #reporting .anim-reporting__bug { fill: #ff3267; -webkit-transform-origin: center center; transform-origin: center center; } #page-products #reporting .content { padding-top: 172px; width: 40%; z-index: 5; } @media (max-width: 991px) { #page-products #reporting .content { min-height: 0; padding-top: 64px; width: 100%; } #page-products #reporting .anim-reporting { opacity: 0.7; } #page-products #reporting .anim-reporting__clipped { -webkit-transform: scale(0.8); transform: scale(0.8); } } @media (max-width: 991px) { #page-products #reporting { padding: 0; } #page-products #reporting .anim-reporting { display: none; } #page-products #reporting .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #reporting .content h4::before { left: calc(50% - 32px); } } #page-products #push { background: #ffbc2a no-repeat center bottom; background-image: linear-gradient(to right, #ffce39 0%, #ffad20 100%); background-size: 100%; } #page-products #push h4 { color: #d26d00; } #page-products #push h4::before { background-position: 0 -320px; } #page-products #push .container::before { background-image: url("/img/pro/product-push-img.png"); background-position: left 0; top: 80px; bottom: 80px; } @media (max-width: 1219px) { #page-products #push .container::before { top: 130px; bottom: 130px; } } #page-products #push .content { padding-top: 172px; width: 35%; } @media (max-width: 991px) { #page-products #push .container::before { display: none; } #page-products #push .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #push .content h4::before { left: calc(50% - 32px); } } #page-products #automate { background-color: #f9fafc; background-image: linear-gradient(0deg, white 0%, #f6f8fb 100%); background-size: 100%; position: relative; padding-bottom: 160px; } #page-products #automate h4::before { background-position: 0 -128px; } #page-products #automate .anim-automate { position: absolute; top: 220px; left: 50%; margin-left: -400px; } #page-products #automate .anim-automate svg .connector { opacity: 0; stroke-dasharray: 80px; } #page-products #automate .anim-automate svg rect.four { opacity: 0.6; } #page-products #automate .anim-automate svg #top, #page-products #automate .anim-automate svg #bottom { position: relative; } #page-products #automate .anim-automate svg #bottom { z-index: 1; } #page-products #automate .anim-automate svg #top { z-index: 2; } #page-products #automate .anim-automate svg > g { -webkit-transform: translateY(50px); transform: translateY(50px); } @media (max-width: 1219px) { #page-products #automate { padding-bottom: 390px; } #page-products #automate .content { width: 100%; max-width: 500px; text-align: center; margin-left: auto; margin-right: auto; } #page-products #automate .content h4::before { left: calc(50% - 32px); } #page-products #automate .anim-automate { -webkit-transform: scale(0.8); transform: scale(0.8); top: 470px; margin-left: -670px; } } @media (max-width: 768px) { #page-products #automate { padding: 0; } #page-products #automate .anim-automate { display: none; } #page-products #automate .content { min-height: 0; padding-top: 64px; padding-bottom: 64px; width: 100%; text-align: center; } #page-products #automate .content h4::before { left: calc(50% - 32px); } } #page-products #automate .anim-automate_ui { position: absolute; width: 100%; height: 100%; } #page-products #automate .anim-automate_ui > div { position: absolute; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); max-width: 114px; text-align: center; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; opacity: 0; } #page-products #automate .anim-automate_ui > div p { font-family: "Graphik", "Avenir Next", "Helvetica Neue", Helvetica, sans-serif; margin: 0; color: #fff; font-size: 13px; line-height: 17px; } #page-products #automate .anim-automate_ui > div span { display: block; opacity: 0.6; font-family: 12px; } #page-products #automate .anim-automate_ui > div:before { content: ''; display: block; width: 20px; height: 50px; margin-bottom: 12px; background-repeat: no-repeat; background-size: 100%; } #page-products #automate .anim-automate_ui .master:before { background-image: url("/img/pro/pro-automate-animation/master.png"); width: 100px; height: 30px; background-size: 100px 30px; } #page-products #automate .anim-automate_ui .staging:before { background-image: url("/img/pro/pro-automate-animation/staging.png"); width: 110px; height: 30px; background-size: 110px 30px; } #page-products #automate .anim-automate_ui .qa:before { background-image: url("/img/pro/pro-automate-animation/qa.png"); width: 61px; height: 30px; background-size: 61px 30px; } #page-products #automate .anim-automate_ui .android:before, #page-products #automate .anim-automate_ui .ios:before, #page-products #automate .anim-automate_ui .web:before { width: 62px; height: 62px; background-size: 62px 62px; } #page-products #automate .anim-automate_ui .android:before { background-image: url("/img/pro/pro-automate-animation/android.png"); } #page-products #automate .anim-automate_ui .ios:before { background-image: url("/img/pro/pro-automate-animation/ios.png"); } #page-products #automate .anim-automate_ui .web:before { background-image: url("/img/pro/pro-automate-animation/js.png"); } #page-products #automate .anim-automate_ui .testflight:before { background-image: url("/img/pro/pro-automate-animation/testflight.png"); width: 53px; height: 53px; background-size: 53px 53px; } #page-products #automate .anim-automate_ui .playstore:before { background-image: url("/img/pro/pro-automate-animation/playstore.png"); width: 50px; height: 55px; background-size: 50px 55px; } #page-products #automate .anim-automate_ui .webhook:before { background-image: url("/img/pro/pro-automate-animation/webhook.png"); width: 58px; height: 54px; background-size: 58px 54px; } #page-products #automate .anim-automate_ui .master, #page-products #automate .anim-automate_ui .staging, #page-products #automate .anim-automate_ui .qa { left: 50%; top: 195px; } #page-products #automate .anim-automate_ui .android, #page-products #automate .anim-automate_ui .ios, #page-products #automate .anim-automate_ui .web { left: 50%; top: 368px; } #page-products #automate .anim-automate_ui .android, #page-products #automate .anim-automate_ui .web { margin-left: 174px; } #page-products #automate .anim-automate_ui .ios { margin-left: -178px; } #page-products #automate .anim-automate_ui .testflight, #page-products #automate .anim-automate_ui .playstore, #page-products #automate .anim-automate_ui .webhook { left: 50%; top: 540px; } #page-products #automate .anim-automate_ui .testflight { margin-left: -352px; } #page-products #automate .anim-automate_ui .playstore { margin-left: 352px; } #page-products .pro-features { padding: 196px 0; background-color: #394072; } #page-products .pro-features hgroup { text-align: center; max-width: 560px; margin-left: auto; margin-right: auto; } #page-products .pro-features hgroup h3 { color: #fff; font-size: 36px; font-weight: 600; line-height: 40px; margin-top: 0; } #page-products .pro-features hgroup p { color: #d7d9eb; font-family: "Graphik", "Avenir Next", "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; line-height: 32px; } #page-products .pro-features ul { margin: 0 -24px 0; padding: 0; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; list-style-type: none; } #page-products .pro-features li { -ms-flex: 0 0 25%; flex: 0 0 25%; margin-top: 86px; padding: 0 24px; } #page-products .pro-features li h5 { color: #fff; font-size: 20px; font-weight: 600; margin-bottom: 18px; margin-top: 0; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } #page-products .pro-features li p { color: #b9bcd8; font-family: "Graphik", "Avenir Next", "Helvetica Neue", Helvetica, sans-serif; font-size: 16px; line-height: 28px; } #page-products .pro-features [class^="pro-feature--"] h5::before { display: block; content: ''; width: 24px; height: 24px; background-image: url("/img/pro/pro-feature-sprite.png"); background-repeat: no-repeat; background-size: 24px 192px; margin-right: 12px; } #page-products .pro-features .pro-feature--app-dashboard h5::before { background-position: 0 0; } #page-products .pro-features .pro-feature--configurable h5::before { background-position: 0 calc(-1 * 24px); } #page-products .pro-features .pro-feature--clean-builds h5::before { background-position: 0 calc(-2 * 24px); } #page-products .pro-features .pro-feature--mobile-ci-cd h5::before { background-position: 0 calc(-3 * 24px); } #page-products .pro-features .pro-feature--git-integrations h5::before { background-position: 0 calc(-4 * 24px); } #page-products .pro-features .pro-feature--connected-services h5::before { background-position: 0 calc(-5 * 24px); } #page-products .pro-features .pro-feature--live-app-updating h5::before { background-position: 0 calc(-6 * 24px); } #page-products .pro-features .pro-feature--role-based-controls h5::before { background-position: 0 calc(-7 * 24px); } @media (max-width: 1219px) { #page-products .pro-features li { -ms-flex: 0 0 33%; flex: 0 0 33%; } } @media (max-width: 991px) { #page-products .pro-features { padding: 90px 0; text-align: center; } #page-products .pro-features h5 { -ms-flex-pack: center; justify-content: center; } #page-products .pro-features li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 767px) { #page-products .pro-features hgroup h3 { font-size: 30px; } #page-products .pro-features li { -ms-flex: 0 0 100%; flex: 0 0 100%; margin-top: 36px; } } #page-products .get-started { background: linear-gradient(45deg, #1b1f3a 0%, #292f52 100%); overflow: auto; } #page-products .get-started .container { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; margin-bottom: 120px; margin-top: 120px; } #page-products .get-started hgroup { letter-spacing: -.025em; -ms-flex-positive: 1; flex-grow: 1; } #page-products .get-started h2 { color: #e0e3f6; font-size: 28px; line-height: 36px; font-weight: 400; letter-spacing: -0.02em; margin: 0; max-width: 680px; } #page-products .get-started h2 strong { font-weight: 600; color: #fff; } #page-products .get-started h3 { color: #8aa6ff; font-size: 24px; line-height: 36px; font-weight: 400; margin: 0; } #page-products .get-started .btn { font-size: 15px; text-transform: uppercase; letter-spacing: 0.10em; font-weight: 700; border-radius: 100px; background-color: #5fa3ff; padding: 16px 28px 14px; } #page-products .get-started .btn:hover { background-color: #4895fc; } @media (max-width: 991px) { #page-products .get-started .container { display: block; text-align: center; } #page-products .get-started hgroup { padding-bottom: 16px; } #page-products .get-started .btn-group { padding-bottom: 96px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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LEVBQUUsRUFBRTtJQUN4QjtNQUNFO1FBQ0UsZ0JBQWdCLEVBQUU7TUFDcEI7UUFDRSxtQkFBZTtZQUFmLGVBQWU7UUFDZixpQkFBaUIsRUFBRSxFQUFFO0VBQzNCO0lBQ0UsNkRBQTZEO0lBQzdELGVBQWUsRUFBRTtJQUNqQjtNQUNFLHVCQUFvQjtVQUFwQixvQkFBb0I7TUFDcEIscUJBQWM7TUFBZCxjQUFjO01BQ2QscUJBQXFCO01BQ3JCLGtCQUFrQixFQUFFO0lBQ3RCO01BQ0Usd0JBQXdCO01BQ3hCLHFCQUFhO1VBQWIsYUFBYSxFQUFFO0lBQ2pCO01BQ0UsZUFBZTtNQUNmLGdCQUFnQjtNQUNoQixrQkFBa0I7TUFDbEIsaUJBQWlCO01BQ2pCLHdCQUF3QjtNQUN4QixVQUFVO01BQ1YsaUJBQWlCLEVBQUU7TUFDbkI7UUFDRSxpQkFBaUI7UUFDakIsWUFBWSxFQUFFO0lBQ2xCO01BQ0UsZUFBZTtNQUNmLGdCQUFnQjtNQUNoQixrQkFBa0I7TUFDbEIsaUJBQWlCO01BQ2pCLFVBQVUsRUFBRTtJQUNkO01BQ0UsZ0JBQWdCO01BQ2hCLDBCQUEwQjtNQUMxQix1QkFBdUI7TUFDdkIsaUJBQWlCO01BQ2pCLHFCQUFxQjtNQUNyQiwwQkFBMEI7TUFDMUIsd0JBQXdCLEVBQUU7TUFDMUI7UUFDRSwwQkFBMEIsRUFBRTtJQUNoQztNQUNFO1FBQ0UsZUFBZTtRQUNmLG1CQUFtQixFQUFFO01BQ3ZCO1FBQ0UscUJBQXFCLEVBQUU7TUFDekI7UUFDRSxxQkFBcUIsRUFBRSxFQUFFIiwiZmlsZSI6InBhZ2VzL3Byb2R1Y3RzL2luZGV4LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNwYWdlLXByb2R1Y3RzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAjcGFnZS1wcm9kdWN0cyAucHJlLWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzIC5jdGEsXG4gICNwYWdlLXByb2R1Y3RzIC5wcm8tbmF2LFxuICAjcGFnZS1wcm9kdWN0cyAucHJvLXZpZGVvLFxuICAjcGFnZS1wcm9kdWN0cyAuc3ViLWhlYWRlcixcbiAgI3BhZ2UtcHJvZHVjdHMgbWFpbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICAjcGFnZS1wcm9kdWN0cyAuc3ViLWhlYWRlciA+IC5jb250YWluZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuc3ViLWhlYWRlciA+IC5jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM2NTIxZmMgMCUsICMzODlmZmYgMTAwJSk7XG4gICAgbWFyZ2luLXRvcDogLTE0MHB4O1xuICAgIHBhZGRpbmctdG9wOiAxNDBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHRvcDogLTRweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM2MDMwZmMgMCUsICM1ZmEyZmUgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIC5jdGFfX2JhY2tncm91bmQgPiBkaXYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2ZmZiAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA3NSUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgMCkgcm90YXRlKC0zZGVnKSBza2V3KDE2ZGVnLCAwZGVnKSBzY2FsZSgxLCAxLjUpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIC5jdGFfX2JhY2tncm91bmQgPiBkaXY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjA1O1xuICAgICAgICAgIHRvcDogNzUlO1xuICAgICAgICAgIGxlZnQ6IDAlOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2Om50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgb3BhY2l0eTogMC4xMDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiAxNS4zODQ2MTUzODQ2JTsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCA+IGRpdjpudGgtY2hpbGQoMykge1xuICAgICAgICAgIG9wYWNpdHk6IDAuMDk7XG4gICAgICAgICAgdG9wOiAyNSU7XG4gICAgICAgICAgbGVmdDogMzAuNzY5MjMwNzY5MiU7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIC5jdGFfX2JhY2tncm91bmQgPiBkaXY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjE1O1xuICAgICAgICAgIHRvcDogMCU7XG4gICAgICAgICAgbGVmdDogNDYuMTUzODQ2MTUzOCU7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIC5jdGFfX2JhY2tncm91bmQgPiBkaXY6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjE2O1xuICAgICAgICAgIHRvcDogLTI1JTtcbiAgICAgICAgICBsZWZ0OiA2MS41Mzg0NjE1Mzg1JTsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCA+IGRpdjpudGgtY2hpbGQoNikge1xuICAgICAgICAgIG9wYWNpdHk6IDAuMDg7XG4gICAgICAgICAgdG9wOiAtNTAlO1xuICAgICAgICAgIGxlZnQ6IDc2LjkyMzA3NjkyMzElOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2Om50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjA1O1xuICAgICAgICAgICAgdG9wOiA2MCU7XG4gICAgICAgICAgICBsZWZ0OiAwJTsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2Om50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjEwO1xuICAgICAgICAgICAgdG9wOiA0NSU7XG4gICAgICAgICAgICBsZWZ0OiAyNSU7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCA+IGRpdjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4wOTtcbiAgICAgICAgICAgIHRvcDogMzAlO1xuICAgICAgICAgICAgbGVmdDogNTAlOyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIC5jdGFfX2JhY2tncm91bmQgPiBkaXY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMTU7XG4gICAgICAgICAgICB0b3A6IDE1JTtcbiAgICAgICAgICAgIGxlZnQ6IDc1JTsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSAuY3RhX19iYWNrZ3JvdW5kID4gZGl2Om50aC1jaGlsZCg1KSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjE2O1xuICAgICAgICAgICAgdG9wOiAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgLmN0YV9fYmFja2dyb3VuZCA+IGRpdjpudGgtY2hpbGQoNikge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4wODtcbiAgICAgICAgICAgIHRvcDogLTE1JTtcbiAgICAgICAgICAgIGxlZnQ6IDEyNSU7IH0gfVxuICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LXdpZHRoOiA4MzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzNTRweDtcbiAgICAgIHBhZGRpbmctdG9wOiA1NHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIGgzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xOGVtO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogI2UzZTZmZjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCBoMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAzOGVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNjR4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIHAge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgICAgICBtYXgtd2lkdGg6IDcyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LWZhbWlseTogXCJHcmFwaGlrXCIsIFwiQXZlbmlyIE5leHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgLmN0YS1idXR0b25zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCAuY3RhLWJ1dHRvbnMgPiAuYnRuIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3ODk4ZmY7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTBlbTtcbiAgICAgICAgICBwYWRkaW5nOiAxNHB4IDI2cHg7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIC5jdGEtYnV0dG9ucyA+IC5idG46bm90KDpob3Zlcikge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIC5jdGEtYnV0dG9ucyA+IC5idG4tLXByaW1hcnkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgY29sb3I6ICM0YTY4ZmY7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIC5jdGEtYnV0dG9ucyA+IC5idG4tLXByaW1hcnk6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMjg3JztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAgLmN0YS1idXR0b25zID4gLmJ0bi0tcHJpbWFyeTpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIC5jdGEtYnV0dG9ucyAuc2FsZXMge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAuMnMgY29sb3I7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIC5jdGEtYnV0dG9ucyAuc2FsZXM6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICNwYWdlLXByb2R1Y3RzID4gLmN0YSBoZ3JvdXAge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDE0cHg7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4OyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCBoMyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI0NnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyA+IC5jdGEgaGdyb3VwIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtOyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgPiAuY3RhIGhncm91cCAuYnRuIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH0gfVxuICAjcGFnZS1wcm9kdWN0cyAuY3RhLW92ZXJsYXkge1xuICAgIG1hcmdpbi10b3A6IC0yMzlweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdGEtb3ZlcmxheSAuYXBwLXNjcmVlbnNob3Qge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IHJnYmEoMCwgMTQsIDQxLCAwLjA4KSwgMCAzMHB4IDYwcHggcmdiYSgwLCAxMSwgMzQsIDAuMTUpOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuY3RhLW92ZXJsYXkgLmFwcC1zY3JlZW5zaG90IGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuY3RhLW92ZXJsYXkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNzZweDsgfSB9XG4gICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyB7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMjRweDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIFtjbGFzc149XCJjdXN0b21lci1sb2dvXCJdIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3Byby1jdXN0b21lci1zcHJpdGUucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTIxcHggMjU2cHg7XG4gICAgICBtYXJnaW46IDM0cHggNDJweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIFtjbGFzc149XCJjdXN0b21lci1sb2dvXCJdIHtcbiAgICAgICAgICBtYXJnaW46IDIycHggMzRweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3Mge1xuICAgICAgICBwYWRkaW5nOiA4cHg7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIFtjbGFzc149XCJjdXN0b21lci1sb2dvXCJdIHtcbiAgICAgICAgICBtYXJnaW46IDE2cHggMThweDsgfSB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1sZW5kaW5nY2x1YiB7XG4gICAgICB3aWR0aDogMTIxcHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3MgLmN1c3RvbWVyLWxvZ28tLW1jZG9uYWxkcyB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xOXB4O1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3MgLmN1c3RvbWVyLWxvZ28tLXN0dWR5IHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwcHg7XG4gICAgICB3aWR0aDogMTE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3MgLmN1c3RvbWVyLWxvZ28tLWNhdCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC01OXB4O1xuICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuY3VzdG9tZXItbG9nb3MgLmN1c3RvbWVyLWxvZ28tLWdlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0tY29tY2FzdCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMDVweDtcbiAgICAgIHdpZHRoOiA3M3B4O1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1hbXRyYWsge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTI2cHg7XG4gICAgICB3aWR0aDogNDdweDtcbiAgICAgIGhlaWdodDogMjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0tYWlyYnVzIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0N3B4O1xuICAgICAgd2lkdGg6IDEwN3B4O1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1hYWEge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTY4cHg7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGhlaWdodDogMjdweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0tZGVsb2l0dGUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTk1cHg7XG4gICAgICB3aWR0aDogODdweDtcbiAgICAgIGhlaWdodDogMTZweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5jdXN0b21lci1sb2dvcyAuY3VzdG9tZXItbG9nby0tdXNhYSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMTJweDtcbiAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgaGVpZ2h0OiAyNHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmN1c3RvbWVyLWxvZ29zIC5jdXN0b21lci1sb2dvLS1pbmcge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjM3cHg7XG4gICAgICB3aWR0aDogNzNweDtcbiAgICAgIGhlaWdodDogMTlweDsgfVxuICAjcGFnZS1wcm9kdWN0cyAucHJvLXZpZGVvIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLXZpZGVvOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLXZpZGVvIC52aWRlby1wbGF5ZXIge1xuICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyAudmlkZW8tcGxheWVyOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLXZpZGVvIC52aWRlby1wbGF5ZXI6bm90KC5pcy1wbGF5aW5nKTpob3ZlciAudmlkZW8tcGxheWVyLWZyYW1lIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyAudmlkZW8tcGxheWVyOm5vdCguaXMtcGxheWluZyk6aG92ZXIgLnZpZGVvLXBsYXllci1idXR0b24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjA1KTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyAudmlkZW8tcGxheWVyLmlzLXJlYWR5IC52aWRlby1wbGF5ZXItYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tdmlkZW8gLnZpZGVvLXBsYXllci5pcy1wbGF5aW5nIC52aWRlby1wbGF5ZXItYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tdmlkZW8gLnZpZGVvLXBsYXllci1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpO1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby12aWRlbyAudmlkZW8tcGxheWVyLWZyYW1lIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3Byby1kYXNoLXZpZGVvLXNjcmVlbnNob3QucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZy1ib3R0b206IDY0LjY3JTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLXZpZGVvIC52aWRlby1wbGF5ZXItZnJhbWUgPiBpZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAjcGFnZS1wcm9kdWN0cyAucHJvLWJlbmVmaXRzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWJlbmVmaXRzIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWJlbmVmaXRzIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1iZW5lZml0cyBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjJweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1iZW5lZml0cyBsaTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURFQUFBQXdDQVlBQUFDNHdKSzVBQUFEL0VsRVFWUm9nYzNhMjR0VlpSekc4YzlhYzlqT09PaklNR29NU1hReFJCYzE2VVdTNFlWaWtCS0tVR1RFVUYzNUJ3amhYNUJDRjBFWFJoY1ZVMFFVQ0JZUjVBRVNKSWt3dTRrWUw0SkE4NUE1NmRDNFoyeFdGKzhhM1RPekQydnR3NW9lV096TjN1djkvWjR2NzNHOTc0cVNKSEh3WSsxUUg3WmhLMGJUYXhBRDZmL1RtTUprZXAzSE9jeTBtcmk3eGZKOTJJdHg3RUFwUTVtbks3NlhjUVlUT0tGSm9HWWhCbkVRaHpEVVpBd0M5UFBwZFJOdjR6Mmh4aklyenBrMHd1dENjM2hMYXdCTE5aVEduRXh6UkZrTDVvSFlpSlA0QU1ONTNPWFVjSnJqWkpxem9iSkNiTWRGN0d6T1YxUGFtZWJjM3VqRytPYy9HZ2JiajIreG9XVmIrYlVoemIyLzNrMk5hbUkvdnBCdDFPbVVTcW1IbWlEMUlMYmowd2IzRktWWThGSzFhZFV5dUJHZlc5a2FXS3FTNEdsWlo2OEdFZUVUSzlNSEdtbUQ0RzNSOEZzTjRqWEZqa0o1dFZQd2VGOUxJUVp4dENnM0xlaW80QlhMSVE3cTdFVFdMZzBMWHJFWW9rOVlDNjJJaHRld090OHdja2p3dkFoaXIvYXVoVEpyWkIzN3RyQjNTeTZRSWNIeklvanhObnZMcEpGMTdCNmp1NHUxL2V4NWlsTDJ0ZlU0RHlENmhPZUJRbFVKc0tEK1hucXpRK3hBWHd4eDVGa0ZUMnpWQUdabStmSUNkKzVtRGxQQ3RsQVRrV2ZhN0xHdTZnSDhOWjA3M05ZWUloNXJtOE1HMmpqWVZnQVlqUkVsNGFHKzQxcS9oajN0QldBQkltSmQ2eGJyYS8wYVh0aTh1Tk8yQVFBR1EwMGtWdWN0MlY4S0UxUVdkUkFBQmtKTlJOa2Z5Z2tUMHI0dDRScHBVSWNkQmtBNlQwUlI5djJldnQ0d3M2N3REMjE3OTFodGtDSUFNQjBqaVNOM3NwYm9pdWlxNkppMVFBb0NnS2tZU1hmc3Q2d2xwc3VjK0RGOExtZ3BTSUVBTUJrajZlcHlLVStwMnpPMVFaN1lWQ2dBQ3hDcmVueWZ0MlF0a0cyamhRTEErUmdlWGU5TUZKbkxXN29hU0tYdXpuVWNvSXh6TVd4K3hGUnZ0eCthaVZJTFpQWWVYLy9VVVFEQ2p2cE1ETWRPK2JmVWJhTFpTUGRCMHRWbmVZNnZMbkQ5ZGx1TTF0TUVSQmV2Skk2ZDR2RVJhMys5NHZmNVJNWjVlTGxLUFd3YTR2SXQvcW5SeE5xb20zallRazNBTDVmOVhlcnhiaXRSeTNOY3Vsb0lBT0VzWTRZbHV4MERxN3dUUjI0VllxRTEzUkFPWTdBRTRzWnRmM1ozT1Z5NHBmeDZVOFZwMHJJZHdObDczbzhqM3hWcUtaOU80NlBLSDZwdFl5YnppWmR4dlFoSE9YVU5yeUtwL0xIV3J2aFZ2Q2hNSnY4WGxmR1M0RzJSNnAwOW5NVXJtTytRcVR5YUY3eWNyZlpub3dPVTQxYStSc3FwaCtPMWJzaHlDblFjendudHNXaGRTM1BYQkNEN1VkWlpqQWtqUTFFNm5lYXMyb1FxRlQvNVVPYWdWN0VMYndpVFRhZDBJODJ4UzVWT1hFMTVEeFVUZkNqc1V4MFcxaS90MHMwMDVtaWFJNmwvK3dNMWV6STZoU1BDQXV3QXZ0RmM1eStuWlEra3NZN0krVjRIcmI5bE00UFAwbXZGWGhYNkQzbVZLVFgyZkVOc0FBQUFBRWxGVGtTdVFtQ0NcIik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tYmVuZWZpdHMgbGkgaDQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tYmVuZWZpdHMgbGkgcCB7XG4gICAgICAgIGNvbG9yOiAjNTQ1YzZhO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzIC5oZXJvIHtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuY29udGVudCB7XG4gICAgICB3aWR0aDogMzklO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMjBweDtcbiAgICAgIGNvbG9yOiAjMDcwZjFhO1xuICAgICAgbWluLWhlaWdodDogNzI0cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250ZW50LmRhcmsge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250ZW50LmRhcmsgaDIsXG4gICAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250ZW50LmRhcmsgLmhlcm9fX2N0YSB7XG4gICAgICAgICAgY29sb3I6ICMxNTFkMmI7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmNvbnRlbnQuZGFyayBwIHtcbiAgICAgICAgICBjb2xvcjogIzU5NmE4OTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmNvbnRlbnQgaDIge1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuY29udGVudCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR3JhcGhpa1wiLCBcIkF2ZW5pciBOZXh0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuY29udGVudCBoNCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAjODA4ZmE3OyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250ZW50IGg0OjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvcHJvL3Byb2R1Y3QtaGVhZGVyLWljb25zLnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjRweDtcbiAgICAgICAgICB3aWR0aDogNjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvX19jdGEtYmFyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVyb19fY3RhLWJhciBhICsgYSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm9fX2N0YS1iYXItc2Vjb25kYXJ5IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVyb19fY3RhLWJhciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvX19jdGEtYmFyLXNlY29uZGFyeSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuaGVyb19fY3RhIHtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20tY29sb3IgMTAwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvX19jdGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnXFxmMjg3JztcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm9fX2N0YTpob3ZlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm9fX2ljb24tbGluayB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvX19pY29uLWxpbmsgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvX19pY29uLWxpbms6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5jb250YWluZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIG9wYWNpdHk7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuaGVyby5hY3RpdmUgLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyBoNCB7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICAgICAgY29sb3I6ICMyNzJhMmY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIGgyIHtcbiAgICAgIGNvbG9yOiAjMjcyYTJmO1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMjZlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBjb2xvcjogIzVlNjc3NzsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gcCBzdHJvbmcge1xuICAgICAgICBjb2xvcjogIzI3MmEyZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gcCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM0YThiZmM7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5idG4gc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmJ0bjo6YWZ0ZXIge1xuICAgICAgICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgICAgICAgY29udGVudDogJ1xcZjI4Nyc7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IC4ycyB0cmFuc2Zvcm07IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5oZXJvIC5idG46aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgycHgsIDAsIDApOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuaGVybyAuY29udGVudCBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmhlcm8gLmNvbnRlbnQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtOyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMjcyYTJmO1xuICAgIHBhZGRpbmctYm90dG9tOiAxODBweDtcbiAgICBwYWRkaW5nLXRvcDogMTQwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgaGdyb3VwIHtcbiAgICAgIG1heC13aWR0aDogNzQwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0byA2OHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgaGdyb3VwIGgzIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICMwNzBmMWE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyBoZ3JvdXAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgIGNvbG9yOiAjNDM1NDZmO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IC5mZWF0dXJlcyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyAuZmVhdHVyZXMgaDQge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyAuZmVhdHVyZXMgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdyYXBoaWtcIiwgXCJBdmVuaXIgTmV4dFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgY29sb3I6ICM2ODdlOTk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxNWVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGxpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2OHB4O1xuICAgICAgZmxleDogMCAxIDMyMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgbGk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvcHJvL3Byby1mZWF0dXJlLWljb25zLnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGxpLmZhc3Rlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGxpLmhhcHBpZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk2cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyAuZmVhdHVyZXMge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyBsaTo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiBjYWxjKCA1MCUgLSAyNHB4KTsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcgbGkgKyBsaSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY4cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDJweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjb3ZlcnZpZXcge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDcycHg7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGhncm91cCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDJweDsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzICNvdmVydmlldyBoZ3JvdXAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9XG4gICAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI292ZXJ2aWV3IGhncm91cCBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfSB9XG4gICNwYWdlLXByb2R1Y3RzICN1cGRhdGVzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgd2hpdGUgMCUsICNmNmY4ZmIgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3VwZGF0ZXMgaDQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTc5cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDE0OHB4OyB9IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuYW5pbS11cGRhdGVzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3VwZGF0ZXMgLmFuaW0tdXBkYXRlc19fcm9vdCB7XG4gICAgICB3aWR0aDogNzI2cHg7XG4gICAgICBoZWlnaHQ6IDQzN3B4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3VwZGF0ZXMgLmFuaW0tdXBkYXRlc19fZm9yZWdyb3VuZCxcbiAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuYW5pbS11cGRhdGVzX19iYWNrZ3JvdW5kIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzICN1cGRhdGVzIC5hbmltLXVwZGF0ZXNfX2ZvcmVncm91bmQge1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMTAwMHB4KTsgfVxuICAgICNwYWdlLXByb2R1Y3RzICN1cGRhdGVzIC5hbmltLXVwZGF0ZXNfX2JhY2tncm91bmQge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigxMDBweCk7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuYW5pbS11cGRhdGVzX19kZXZpY2Uge1xuICAgICAgd2lkdGg6IDcyNnB4O1xuICAgICAgaGVpZ2h0OiA0MzdweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3VwZGF0ZXMtaWxsdXN0cmF0aW9uLWRldmljZS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA3MjZweCA0MzdweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDUwMHB4KTsgfVxuICAgICNwYWdlLXByb2R1Y3RzICN1cGRhdGVzIC5hbmltLXVwZGF0ZXNfX3NjcmVlbiB7XG4gICAgICB3aWR0aDogMzA4cHg7XG4gICAgICBoZWlnaHQ6IDU1NHB4O1xuICAgICAgYmFja2dyb3VuZDogIzVkMzdmZjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjhweDtcbiAgICAgIGxlZnQ6IDQwNnB4O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNjBkZWcpIHJvdGF0ZVkoMC43ZGVnKSByb3RhdGVaKDM2LjVkZWcpIHNrZXcoMmRlZywgLTEuNWRlZyk7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzICN1cGRhdGVzIC5hbmltLXVwZGF0ZXMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuY29udGVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjdXBkYXRlcyAuY29udGVudCBoNDo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDMycHgpOyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMgI2J1aWxkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgd2hpdGUgMCUsICNmNmY4ZmIgMTAwJSk7XG4gICAgcGFkZGluZzogMTAwcHggMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNidWlsZCBoNDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjYnVpbGQgLmFuaW0tYnVpbGQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAzOSU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI2J1aWxkIC5hbmltLWJ1aWxkX190ZXh0IHtcbiAgICAgIGZpbGw6ICM1ZDM3ZmY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjYnVpbGQgLmNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDE0MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYnVpbGQgLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0MCU7XG4gICAgICAgIHRvcDogMTI4cHg7XG4gICAgICAgIGJvdHRvbTogMTI4cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNidWlsZCAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogNDAlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzICNidWlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI2J1aWxkIC5hbmltLWJ1aWxkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNidWlsZCAuY29udGVudCB7XG4gICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNjRweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYnVpbGQgLmNvbnRlbnQgaDQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDMycHgpOyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyB7XG4gICAgYmFja2dyb3VuZDogIzA4MWIxNztcbiAgICBwYWRkaW5nOiA1MHB4IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIGg0LFxuICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgLmJ0biB7XG4gICAgICBjb2xvcjogIzYwN2Q3OTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyBoNDo6YmVmb3JlLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyAuYnRuOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNTZweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgLmFuaW0tcmVwb3J0aW5nIHtcbiAgICAgIHdpZHRoOiAxMDg0cHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjQwcHgpO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgI2FuaW0tcmVwb3J0aW5nX19zdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5hbmltLXJlcG9ydGluZ19fYmcge1xuICAgICAgZmlsbDogIzBkMmIyNTsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgLmFuaW0tcmVwb3J0aW5nX19zY2FuIHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBjeWNsZS1mYWRlO1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsgfVxuXG5Aa2V5ZnJhbWVzIGN5Y2xlLWZhZGUge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgICNwYWdlLXByb2R1Y3RzICNyZXBvcnRpbmcgLmFuaW0tcmVwb3J0aW5nX19idWcge1xuICAgICAgZmlsbDogI2ZmMzI2NztcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNzJweDtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICB6LWluZGV4OiA1OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5jb250ZW50IHtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDY0cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5hbmltLXJlcG9ydGluZyB7XG4gICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyAuYW5pbS1yZXBvcnRpbmdfX2NsaXBwZWQge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyAuYW5pbS1yZXBvcnRpbmcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI3JlcG9ydGluZyAuY29udGVudCB7XG4gICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNjRweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAjcGFnZS1wcm9kdWN0cyAjcmVwb3J0aW5nIC5jb250ZW50IGg0OjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTsgfSB9XG4gICNwYWdlLXByb2R1Y3RzICNwdXNoIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZiYzJhIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmY2UzOSAwJSwgI2ZmYWQyMCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcHVzaCBoNCB7XG4gICAgICBjb2xvcjogI2QyNmQwMDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI3B1c2ggaDQ6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMyMHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI3B1c2ggLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3Byb2R1Y3QtcHVzaC1pbWcucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAwO1xuICAgICAgdG9wOiA4MHB4O1xuICAgICAgYm90dG9tOiA4MHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNwdXNoIC5jb250YWluZXI6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAxMzBweDtcbiAgICAgICAgICBib3R0b206IDEzMHB4OyB9IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAjcHVzaCAuY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTcycHg7XG4gICAgICB3aWR0aDogMzUlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjcHVzaCAuY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjcHVzaCAuY29udGVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjcHVzaCAuY29udGVudCBoNDo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDMycHgpOyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmYWZjO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB3aGl0ZSAwJSwgI2Y2ZjhmYiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSBoNDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjIwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwMHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUgc3ZnIC5jb25uZWN0b3Ige1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBzdHJva2UtZGFzaGFycmF5OiA4MHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUgc3ZnIHJlY3QuZm91ciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlIHN2ZyAjdG9wLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlIHN2ZyAjYm90dG9tIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUgc3ZnICNib3R0b20ge1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUgc3ZnICN0b3Age1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUgc3ZnID4gZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzOTBweDsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmNvbnRlbnQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmNvbnRlbnQgaDQ6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgICAgICB0b3A6IDQ3MHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNjcwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5jb250ZW50IHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA2NHB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuY29udGVudCBoNDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMzJweCk7IH0gfVxuICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpID4gZGl2IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSA+IGRpdiBwIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJHcmFwaGlrXCIsIFwiQXZlbmlyIE5leHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTdweDsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgPiBkaXYgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAxMnB4OyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSA+IGRpdjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLm1hc3RlcjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tYXV0b21hdGUtYW5pbWF0aW9uL21hc3Rlci5wbmdcIik7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDMwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAuc3RhZ2luZzpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tYXV0b21hdGUtYW5pbWF0aW9uL3N0YWdpbmcucG5nXCIpO1xuICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMTBweCAzMHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLnFhOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3Byby1hdXRvbWF0ZS1hbmltYXRpb24vcWEucG5nXCIpO1xuICAgICAgICB3aWR0aDogNjFweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYxcHggMzBweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5hbmRyb2lkOmJlZm9yZSxcbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAuaW9zOmJlZm9yZSxcbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAud2ViOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiA2MnB4O1xuICAgICAgICBoZWlnaHQ6IDYycHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjJweCA2MnB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLmFuZHJvaWQ6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vcHJvLWF1dG9tYXRlLWFuaW1hdGlvbi9hbmRyb2lkLnBuZ1wiKTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5pb3M6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vcHJvLWF1dG9tYXRlLWFuaW1hdGlvbi9pb3MucG5nXCIpOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLndlYjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tYXV0b21hdGUtYW5pbWF0aW9uL2pzLnBuZ1wiKTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC50ZXN0ZmxpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3Byby1hdXRvbWF0ZS1hbmltYXRpb24vdGVzdGZsaWdodC5wbmdcIik7XG4gICAgICAgIHdpZHRoOiA1M3B4O1xuICAgICAgICBoZWlnaHQ6IDUzcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTNweCA1M3B4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLnBsYXlzdG9yZTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tYXV0b21hdGUtYW5pbWF0aW9uL3BsYXlzdG9yZS5wbmdcIik7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTBweCA1NXB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLndlYmhvb2s6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vcHJvLWF1dG9tYXRlLWFuaW1hdGlvbi93ZWJob29rLnBuZ1wiKTtcbiAgICAgICAgd2lkdGg6IDU4cHg7XG4gICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1OHB4IDU0cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAubWFzdGVyLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5zdGFnaW5nLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5xYSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAxOTVweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5hbmRyb2lkLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5pb3MsXG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLndlYiB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAzNjhweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5hbmRyb2lkLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC53ZWIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTc0cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAuaW9zIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzhweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC50ZXN0ZmxpZ2h0LFxuICAgICAgI3BhZ2UtcHJvZHVjdHMgI2F1dG9tYXRlIC5hbmltLWF1dG9tYXRlX3VpIC5wbGF5c3RvcmUsXG4gICAgICAjcGFnZS1wcm9kdWN0cyAjYXV0b21hdGUgLmFuaW0tYXV0b21hdGVfdWkgLndlYmhvb2sge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTQwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAudGVzdGZsaWdodCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMzUycHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzICNhdXRvbWF0ZSAuYW5pbS1hdXRvbWF0ZV91aSAucGxheXN0b3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDM1MnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMge1xuICAgIHBhZGRpbmc6IDE5NnB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM5NDA3MjsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgaGdyb3VwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBoZ3JvdXAgaDMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBoZ3JvdXAgcCB7XG4gICAgICAgIGNvbG9yOiAjZDdkOWViO1xuICAgICAgICBmb250LWZhbWlseTogXCJHcmFwaGlrXCIsIFwiQXZlbmlyIE5leHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIHVsIHtcbiAgICAgIG1hcmdpbjogMCAtMjRweCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXJnaW4tdG9wOiA4NnB4O1xuICAgICAgcGFkZGluZzogMCAyNHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIGxpIGg1IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyBsaSBwIHtcbiAgICAgICAgY29sb3I6ICNiOWJjZDg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdyYXBoaWtcIiwgXCJBdmVuaXIgTmV4dFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgW2NsYXNzXj1cInByby1mZWF0dXJlLS1cIl0gaDU6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wcm8tZmVhdHVyZS1zcHJpdGUucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAxOTJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgLnByby1mZWF0dXJlLS1hcHAtZGFzaGJvYXJkIGg1OjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyAucHJvLWZlYXR1cmUtLWNvbmZpZ3VyYWJsZSBoNTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgY2FsYygtMSAqIDI0cHgpOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyAucHJvLWZlYXR1cmUtLWNsZWFuLWJ1aWxkcyBoNTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgY2FsYygtMiAqIDI0cHgpOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyAucHJvLWZlYXR1cmUtLW1vYmlsZS1jaS1jZCBoNTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgY2FsYygtMyAqIDI0cHgpOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyAucHJvLWZlYXR1cmUtLWdpdC1pbnRlZ3JhdGlvbnMgaDU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNhbGMoLTQgKiAyNHB4KTsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgLnByby1mZWF0dXJlLS1jb25uZWN0ZWQtc2VydmljZXMgaDU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNhbGMoLTUgKiAyNHB4KTsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgLnByby1mZWF0dXJlLS1saXZlLWFwcC11cGRhdGluZyBoNTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgY2FsYygtNiAqIDI0cHgpOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMgLnByby1mZWF0dXJlcyAucHJvLWZlYXR1cmUtLXJvbGUtYmFzZWQtY29udHJvbHMgaDU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNhbGMoLTcgKiAyNHB4KTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgbGkge1xuICAgICAgICBmbGV4OiAwIDAgMzMlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMge1xuICAgICAgICBwYWRkaW5nOiA5MHB4IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIGg1IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIGxpIHtcbiAgICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzIC5wcm8tZmVhdHVyZXMgaGdyb3VwIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAucHJvLWZlYXR1cmVzIGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDM2cHg7IH0gfVxuICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgIzFiMWYzYSAwJSwgIzI5MmY1MiAxMDAlKTtcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5nZXQtc3RhcnRlZCAuY29udGFpbmVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5nZXQtc3RhcnRlZCBoZ3JvdXAge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDI1ZW07XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQgaDIge1xuICAgICAgY29sb3I6ICNlMGUzZjY7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDogNjgwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzIC5nZXQtc3RhcnRlZCBoMiBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5nZXQtc3RhcnRlZCBoMyB7XG4gICAgICBjb2xvcjogIzhhYTZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzIC5nZXQtc3RhcnRlZCAuYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xMGVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVmYTNmZjtcbiAgICAgIHBhZGRpbmc6IDE2cHggMjhweCAxNHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQgLmJ0bjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODk1ZmM7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzIC5nZXQtc3RhcnRlZCAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMgLmdldC1zdGFydGVkIGhncm91cCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cyAuZ2V0LXN0YXJ0ZWQgLmJ0bi1ncm91cCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA5NnB4OyB9IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/products/studio.css ================================================ #page-products-studio .sub-header a.btn { padding: 6px 8px 5px; font-size: 11px; font-weight: 600; vertical-align: 0; letter-spacing: .04em; margin-right: 3px; margin-left: 9px; transition: .2s box-shadow,.2s background; } #page-products-studio .sub-header a.btn:hover, #page-products-studio .sub-header a.btn:focus { color: white; border-color: #5995fc; background: rgba(74, 139, 252, 0.1); } #page-products-studio .top { margin-top: -148px; padding-top: 235px; text-align: center; background: linear-gradient(180deg, #121417 0%, #06090D 100%); } #page-products-studio .top h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; line-height: 23px; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; } #page-products-studio .top h1, #page-products-studio .top h3, #page-products-studio .top hgroup p { color: #fff; letter-spacing: -0.01em; } #page-products-studio .top h1 { font-size: 56px; margin-top: 41px; margin-bottom: 22px; letter-spacing: -0.02em; } #page-products-studio .top hgroup { max-width: 872px; margin-bottom: 27px; } #page-products-studio .top hgroup h3 { font-size: 36px; letter-spacing: -0.01em; } #page-products-studio .top hgroup p { line-height: 38px; font-size: 22px; font-weight: 400; margin-bottom: 40px; color: #b2becd; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-products-studio .top hgroup p strong { font-weight: 600; margin-bottom: 0 !important; } #page-products-studio .top .btns .btn { padding: 16px 20px 14px; font-size: 15px; margin-right: 6px; letter-spacing: .1em; border-width: 2px; } @media (max-width: 768px) { #page-products-studio .top .btns .btn { margin-bottom: 16px; } } #page-products-studio .top .btns ion-icon { vertical-align: -3px; height: 15px; width: 15px; display: inline-block; } #page-products-studio .top .btns ion-icon svg { width: 18px; height: 18px; } #page-products-studio .top .btns:last-child { margin-right: 0; } #page-products-studio .top section video { box-shadow: 0px 16px 64px black; } #page-products-studio .top section video, #page-products-studio .top section .screenshot, #page-products-studio .top section .screenshot-group { border-radius: 8px; margin: 96px -78px 128px; max-width: calc(100% + 155px); } #page-products-studio .top section .screenshot-group { position: relative; } #page-products-studio .top section .screenshot-group img { max-width: 100%; } #page-products-studio .top section .screenshot-group img:not(:first-child) { position: absolute; top: 0; left: 0; -webkit-animation: 10s crossFadeInOut infinite; animation: 10s crossFadeInOut infinite; } #page-products-studio .top hgroup h4, #page-products-studio .top hgroup h1, #page-products-studio .top hgroup p, #page-products-studio .top hgroup .btn { -webkit-animation: .2s fadeInUp ease-out forwards; animation: .2s fadeInUp ease-out forwards; opacity: 0; } #page-products-studio .top hgroup h4 { -webkit-animation-delay: .3s; animation-delay: .3s; } #page-products-studio .top hgroup h1 { -webkit-animation-delay: 0.4s; animation-delay: 0.4s; } #page-products-studio .top hgroup p { -webkit-animation-delay: 0.5s; animation-delay: 0.5s; } #page-products-studio .top hgroup .btn { -webkit-animation-delay: .6s; animation-delay: .6s; } #page-products-studio .top hgroup .btn:last-child { -webkit-animation-delay: .7s; animation-delay: .7s; } #page-products-studio .top p a { color: white; } #page-products-studio .top video, #page-products-studio .top .screenshot { -webkit-animation: .5s fadeIn forwards 1s; animation: .5s fadeIn forwards 1s; opacity: 0; } #page-products-studio main section { padding-top: 178px; letter-spacing: -0.01em; } #page-products-studio main section.solid { background: #14171C; } #page-products-studio main section hgroup { max-width: 786px; } #page-products-studio main section hgroup h2 { line-height: normal; font-size: 48px; letter-spacing: -0.03em; margin-bottom: 22px; } #page-products-studio main section hgroup p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 22px; line-height: 39px; } #page-products-studio main section hgroup p strong { padding-left: 0; margin-bottom: 0; } #page-products-studio main section hgroup.centered { text-align: center; margin: 0 auto 92px; max-width: 800px; } #page-products-studio main section hgroup.centered hgroup { max-width: 814px; } #page-products-studio main section hgroup.centered hgroup p { line-height: 26px; margin-top: 32px; } #page-products-studio main section video { box-shadow: 0px 16px 64px black; } #page-products-studio main section video, #page-products-studio main section .screenshot { max-width: 100%; margin: 72px auto 140px; border-radius: 8px; } #page-products-studio main section h2 { color: #fff; } #page-products-studio main section, #page-products-studio .top section { margin-top: -1px; } #page-products-studio main section h3, #page-products-studio .top section h3 { line-height: normal; font-size: 36px; letter-spacing: -0.014em; color: #fff; margin-bottom: 80px; } #page-products-studio main section ul, #page-products-studio .top section ul { display: -ms-flexbox; display: flex; list-style: none; padding: 0; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 182px; } @media (max-width: 768px) { #page-products-studio main section ul, #page-products-studio .top section ul { -ms-flex-direction: column; flex-direction: column; } } #page-products-studio main section ul.quatro li, #page-products-studio .top section ul.quatro li { -ms-flex: 0 1 244px; flex: 0 1 244px; } @media (max-width: 1220px) { #page-products-studio main section ul.quatro li, #page-products-studio .top section ul.quatro li { -ms-flex: 0 0 210px; flex: 0 0 210px; } } #page-products-studio main section ul.quatro strong, #page-products-studio .top section ul.quatro strong { padding: 0; padding-top: 51px; } #page-products-studio main section ul.quatro p, #page-products-studio .top section ul.quatro p { margin-top: 0; line-height: 29px; } #page-products-studio main section strong, #page-products-studio .top section strong { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; color: #fff; font-weight: 600; margin-bottom: 12px; display: inline-block; padding-left: 39px; } #page-products-studio main section li, #page-products-studio .top section li { position: relative; padding-top: 0; text-align: left; -ms-flex: 0 0 326px; flex: 0 0 326px; } #page-products-studio main section li.ui strong::before, #page-products-studio .top section li.ui strong::before { background-position: 0 0px; } #page-products-studio main section li.no-docs strong::before, #page-products-studio .top section li.no-docs strong::before { background-position: 0 -26px; } #page-products-studio main section li.secure strong::before, #page-products-studio .top section li.secure strong::before { background-position: 0 -52px; } #page-products-studio main section li.drag strong::before, #page-products-studio .top section li.drag strong::before { background-position: 0 -78px; } #page-products-studio main section li.properties strong::before, #page-products-studio .top section li.properties strong::before { background-position: 0 -104px; } #page-products-studio main section li.backend strong::before, #page-products-studio .top section li.backend strong::before { background-position: 0 -130px; } #page-products-studio main section li.live strong::before, #page-products-studio .top section li.live strong::before { background-position: 0 -156px; } #page-products-studio main section li.native strong::before, #page-products-studio .top section li.native strong::before { background-position: 0 -182px; } #page-products-studio main section li.device strong::before, #page-products-studio .top section li.device strong::before { background-position: 0 -208px; } #page-products-studio main section li.assets strong::before, #page-products-studio .top section li.assets strong::before { background-position: 0 -234px; } #page-products-studio main section li.theme strong::before, #page-products-studio .top section li.theme strong::before { background-position: 0 -260px; } #page-products-studio main section li.cordova strong::before, #page-products-studio .top section li.cordova strong::before { background-position: 0 -286px; } #page-products-studio main section li.ci strong::before, #page-products-studio .top section li.ci strong::before { background-position: 0 -312px; } @media (max-width: 1220px) { #page-products-studio main section li, #page-products-studio .top section li { -ms-flex-preferred-size: calc(33% - 24px); flex-basis: calc(33% - 24px); } } @media (max-width: 768px) { #page-products-studio main section li, #page-products-studio .top section li { -ms-flex-preferred-size: 100%; flex-basis: 100%; margin-bottom: 32px; } } #page-products-studio main section li strong::before, #page-products-studio .top section li strong::before { background: url("/img/products/studio/ico-features-sm.png") no-repeat 0 0; background-size: 26px; width: 26px; height: 26px; content: ''; position: absolute; top: 0; left: 0; } #page-products-studio main section li .pill, #page-products-studio .top section li .pill { color: #4a8bfc; position: absolute; top: 1px; left: 36px; display: block; border: 2px solid #4a8bfc; padding: 2px 5px 1px; text-transform: uppercase; font-weight: 800; letter-spacing: .1em; border-radius: 12px; font-size: 11px; } #page-products-studio main section p, #page-products-studio .top section p { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; line-height: 29px; font-size: 16px; color: #B2BECD; font-weight: 400; } #page-products-studio .top section li { position: relative; } #page-products-studio .top section li strong { padding-top: 75px; padding-left: 0; } #page-products-studio .top section li strong::before { background: url("/img/products/studio/ico-features-lg.png") no-repeat 0 0; background-size: 48px; width: 48px; height: 48px; content: ''; position: absolute; top: 0; left: 0; } #page-products-studio .top section li.create strong::before { background-position: 0 0px; } #page-products-studio .top section li.tackle strong::before { background-position: 0 -48px; } #page-products-studio .top section li.ship strong::before { background-position: 0 -96px; } #page-products-studio .video-container { position: relative; } #page-products-studio .video-container .preview { position: absolute; top: 40px; right: 0; max-width: 40%; width: 420px; opacity: 0; transition: 0.5s opacity ease-in 0.5s, 0.8s -webkit-transform cubic-bezier(0.5, 0, 0, 1) 0.5s; transition: 0.5s opacity ease-in 0.5s, 0.8s transform cubic-bezier(0.5, 0, 0, 1) 0.5s; transition: 0.5s opacity ease-in 0.5s, 0.8s transform cubic-bezier(0.5, 0, 0, 1) 0.5s, 0.8s -webkit-transform cubic-bezier(0.5, 0, 0, 1) 0.5s; -webkit-transform: translateY(25px); transform: translateY(25px); } #page-products-studio .video-container video, #page-products-studio .video-container .screenshot { -webkit-transform-origin: 0 50%; transform-origin: 0 50%; transition: 1s opacity, 1s box-shadow, 1s -webkit-filter ease, 1s -webkit-transform cubic-bezier(0.5, 0, 0, 1); transition: 1s filter ease, 1s transform cubic-bezier(0.5, 0, 0, 1), 1s opacity, 1s box-shadow; transition: 1s filter ease, 1s transform cubic-bezier(0.5, 0, 0, 1), 1s opacity, 1s box-shadow, 1s -webkit-filter ease, 1s -webkit-transform cubic-bezier(0.5, 0, 0, 1); } #page-products-studio .video-container.finished .preview { opacity: 1; -webkit-transform: none; transform: none; } #page-products-studio .video-container.finished video { box-shadow: 0px 16px 64px rgba(0, 0, 0, 0); } #page-products-studio .video-container.finished video, #page-products-studio .video-container.finished .screenshot { -webkit-filter: blur(3px); filter: blur(3px); opacity: .5; -webkit-transform: scale3d(0.9, 0.9, 1); transform: scale3d(0.9, 0.9, 1); } #page-products-studio main section { background: linear-gradient(180deg, #121417 0%, #06090D 100%); } #page-products-studio .modal hgroup { padding-top: 18px; padding-bottom: 32px; } #page-products-studio .modal h3 { font-size: 29px; font-weight: 600; color: #171a20; margin: 18px 0 8px; letter-spacing: -0.03em; } #page-products-studio .modal p { font-size: 18px; line-height: 28px; color: #4c576c; max-width: 400px; margin: 0 auto; } #page-products-studio .modal p.sm { font-size: 13px; line-height: 22px; color: #6f7786; } #page-products-studio .modal form { max-width: 100%; padding: 0 15px 15px; } #page-products-studio .modal .hs_submit { text-align: center; font-weight: 600; } #page-products-studio .modal .hs_submit input { margin-top: 15px; } #page-products-studio .promo-studio { background: #1D232C; } #page-products-studio .promo-studio h2 { color: white; font-weight: 400; max-width: 680px; margin-bottom: 16px; } #page-products-studio .promo-studio h2 strong { font-weight: 600; } #page-products-studio .promo-studio p { color: #4D8DFF; } #page-products-studio .promo-studio .btn { background: transparent; border: 2px solid rgba(81, 167, 255, 0.7); } #page-products-studio .promo-studio .btns { padding-left: 24px; margin-left: auto; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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O0lBQ1gsd0JBQWdCO1lBQWhCLGdCQUFnQixFQUFFO0VBQ3BCO0lBQ0UsMkNBQTJDLEVBQUU7RUFDL0M7O0lBRUUsMEJBQWtCO1lBQWxCLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osd0NBQWdDO1lBQWhDLGdDQUFnQyxFQUFFOztBQUV0QztFQUNFLDhEQUE4RCxFQUFFOztBQUVsRTtFQUNFLGtCQUFrQjtFQUNsQixxQkFBcUIsRUFBRTs7QUFFekI7RUFDRSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsd0JBQXdCLEVBQUU7O0FBRTVCO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGVBQWUsRUFBRTtFQUNqQjtJQUNFLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZUFBZSxFQUFFOztBQUVyQjtFQUNFLGdCQUFnQjtFQUNoQixxQkFBcUIsRUFBRTs7QUFFekI7RUFDRSxtQkFBbUI7RUFDbkIsaUJBQWlCLEVBQUU7RUFDbkI7SUFDRSxpQkFBaUIsRUFBRTs7QUFFdkI7RUFDRSxvQkFBb0IsRUFBRTtFQUN0QjtJQUNFLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLG9CQUFvQixFQUFFO0lBQ3RCO01BQ0UsaUJBQWlCLEVBQUU7RUFDdkI7SUFDRSxlQUFlLEVBQUU7RUFDbkI7SUFDRSx3QkFBd0I7SUFDeEIsMENBQTBDLEVBQUU7RUFDOUM7SUFDRSxtQkFBbUI7SUFDbkIsa0JBQWtCLEVBQUUiLCJmaWxlIjoicGFnZXMvcHJvZHVjdHMvc3R1ZGlvLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNwYWdlLXByb2R1Y3RzLXN0dWRpbyAuc3ViLWhlYWRlciBhLmJ0biB7XG4gIHBhZGRpbmc6IDZweCA4cHggNXB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xuICBsZXR0ZXItc3BhY2luZzogLjA0ZW07XG4gIG1hcmdpbi1yaWdodDogM3B4O1xuICBtYXJnaW4tbGVmdDogOXB4O1xuICB0cmFuc2l0aW9uOiAuMnMgYm94LXNoYWRvdywuMnMgYmFja2dyb3VuZDsgfVxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnN1Yi1oZWFkZXIgYS5idG46aG92ZXIsICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAuc3ViLWhlYWRlciBhLmJ0bjpmb2N1cyB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogIzU5OTVmYztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDc0LCAxMzksIDI1MiwgMC4xKTsgfVxuXG4jcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCB7XG4gIG1hcmdpbi10b3A6IC0xNDhweDtcbiAgcGFkZGluZy10b3A6IDIzNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMxMjE0MTcgMCUsICMwNjA5MEQgMTAwJSk7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3AgaDQge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOTJBMUIzOyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIGgxLFxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBoMyxcbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3AgaGdyb3VwIHAge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIGgxIHtcbiAgICBmb250LXNpemU6IDU2cHg7XG4gICAgbWFyZ2luLXRvcDogNDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIGhncm91cCB7XG4gICAgbWF4LXdpZHRoOiA4NzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyN3B4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3AgaGdyb3VwIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3AgaGdyb3VwIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIGNvbG9yOiAjYjJiZWNkO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3AgaGdyb3VwIHAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIC5idG5zIC5idG4ge1xuICAgIHBhZGRpbmc6IDE2cHggMjBweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgICBib3JkZXItd2lkdGg6IDJweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3AgLmJ0bnMgLmJ0biB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH0gfVxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCAuYnRucyBpb24taWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IC0zcHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIC5idG5zIGlvbi1pY29uIHN2ZyB7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCAuYnRuczpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiB2aWRlbyB7XG4gICAgYm94LXNoYWRvdzogMHB4IDE2cHggNjRweCBibGFjazsgfVxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBzZWN0aW9uIHZpZGVvLFxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBzZWN0aW9uIC5zY3JlZW5zaG90LFxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBzZWN0aW9uIC5zY3JlZW5zaG90LWdyb3VwIHtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luOiA5NnB4IC03OHB4IDEyOHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgMTU1cHgpOyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIHNlY3Rpb24gLnNjcmVlbnNob3QtZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIHNlY3Rpb24gLnNjcmVlbnNob3QtZ3JvdXAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIHNlY3Rpb24gLnNjcmVlbnNob3QtZ3JvdXAgaW1nOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBhbmltYXRpb246IDEwcyBjcm9zc0ZhZGVJbk91dCBpbmZpbml0ZTsgfVxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBoZ3JvdXAgaDQsXG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIGhncm91cCBoMSxcbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3AgaGdyb3VwIHAsXG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIGhncm91cCAuYnRuIHtcbiAgICBhbmltYXRpb246IC4ycyBmYWRlSW5VcCBlYXNlLW91dCBmb3J3YXJkcztcbiAgICBvcGFjaXR5OiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIGhncm91cCBoNCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuM3M7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3AgaGdyb3VwIGgxIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNHM7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3AgaGdyb3VwIHAge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC41czsgfVxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBoZ3JvdXAgLmJ0biB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuNnM7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3AgaGdyb3VwIC5idG46bGFzdC1jaGlsZCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuN3M7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3AgcCBhIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3AgdmlkZW8sXG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIC5zY3JlZW5zaG90IHtcbiAgICBhbmltYXRpb246IC41cyBmYWRlSW4gZm9yd2FyZHMgMXM7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDE3OHB4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsgfVxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uLnNvbGlkIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTQxNzFDOyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyBtYWluIHNlY3Rpb24gaGdyb3VwIHtcbiAgICBtYXgtd2lkdGg6IDc4NnB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiBoZ3JvdXAgaDIge1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyBtYWluIHNlY3Rpb24gaGdyb3VwIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOXB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uIGhncm91cCBwIHN0cm9uZyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyBtYWluIHNlY3Rpb24gaGdyb3VwLmNlbnRlcmVkIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDkycHg7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uIGhncm91cC5jZW50ZXJlZCBoZ3JvdXAge1xuICAgICAgICBtYXgtd2lkdGg6IDgxNHB4OyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyBtYWluIHNlY3Rpb24gaGdyb3VwLmNlbnRlcmVkIGhncm91cCBwIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyBtYWluIHNlY3Rpb24gdmlkZW8ge1xuICAgIGJveC1zaGFkb3c6IDBweCAxNnB4IDY0cHggYmxhY2s7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiB2aWRlbyxcbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiAuc2NyZWVuc2hvdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogNzJweCBhdXRvIDE0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uIGgyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4jcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uLFxuI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiBoMyxcbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiBoMyB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNGVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiB1bCxcbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IDE4MnB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uIHVsLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiB1bCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyBtYWluIHNlY3Rpb24gdWwucXVhdHJvIGxpLFxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIHNlY3Rpb24gdWwucXVhdHJvIGxpIHtcbiAgICAgIGZsZXg6IDAgMSAyNDRweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMjBweCkge1xuICAgICAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uIHVsLnF1YXRybyBsaSxcbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiB1bC5xdWF0cm8gbGkge1xuICAgICAgICAgIGZsZXg6IDAgMCAyMTBweDsgfSB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiB1bC5xdWF0cm8gc3Ryb25nLFxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIHNlY3Rpb24gdWwucXVhdHJvIHN0cm9uZyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDUxcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uIHVsLnF1YXRybyBwLFxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIHNlY3Rpb24gdWwucXVhdHJvIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyBtYWluIHNlY3Rpb24gc3Ryb25nLFxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBzZWN0aW9uIHN0cm9uZyB7XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDM5cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiBsaSxcbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZmxleDogMCAwIDMyNnB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiBsaS51aSBzdHJvbmc6OmJlZm9yZSxcbiAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBzZWN0aW9uIGxpLnVpIHN0cm9uZzo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiBsaS5uby1kb2NzIHN0cm9uZzo6YmVmb3JlLFxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIHNlY3Rpb24gbGkubm8tZG9jcyBzdHJvbmc6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNnB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiBsaS5zZWN1cmUgc3Ryb25nOjpiZWZvcmUsXG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiBsaS5zZWN1cmUgc3Ryb25nOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTJweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyBtYWluIHNlY3Rpb24gbGkuZHJhZyBzdHJvbmc6OmJlZm9yZSxcbiAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBzZWN0aW9uIGxpLmRyYWcgc3Ryb25nOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzhweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyBtYWluIHNlY3Rpb24gbGkucHJvcGVydGllcyBzdHJvbmc6OmJlZm9yZSxcbiAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBzZWN0aW9uIGxpLnByb3BlcnRpZXMgc3Ryb25nOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTA0cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uIGxpLmJhY2tlbmQgc3Ryb25nOjpiZWZvcmUsXG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiBsaS5iYWNrZW5kIHN0cm9uZzo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEzMHB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiBsaS5saXZlIHN0cm9uZzo6YmVmb3JlLFxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIHNlY3Rpb24gbGkubGl2ZSBzdHJvbmc6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNTZweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyBtYWluIHNlY3Rpb24gbGkubmF0aXZlIHN0cm9uZzo6YmVmb3JlLFxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIHNlY3Rpb24gbGkubmF0aXZlIHN0cm9uZzo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE4MnB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiBsaS5kZXZpY2Ugc3Ryb25nOjpiZWZvcmUsXG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiBsaS5kZXZpY2Ugc3Ryb25nOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjA4cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uIGxpLmFzc2V0cyBzdHJvbmc6OmJlZm9yZSxcbiAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBzZWN0aW9uIGxpLmFzc2V0cyBzdHJvbmc6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMzRweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyBtYWluIHNlY3Rpb24gbGkudGhlbWUgc3Ryb25nOjpiZWZvcmUsXG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiBsaS50aGVtZSBzdHJvbmc6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNjBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyBtYWluIHNlY3Rpb24gbGkuY29yZG92YSBzdHJvbmc6OmJlZm9yZSxcbiAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBzZWN0aW9uIGxpLmNvcmRvdmEgc3Ryb25nOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjg2cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uIGxpLmNpIHN0cm9uZzo6YmVmb3JlLFxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIHNlY3Rpb24gbGkuY2kgc3Ryb25nOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzEycHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uIGxpLFxuICAgICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiBsaSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMlIC0gMjRweCk7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiBsaSxcbiAgICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIHNlY3Rpb24gbGkge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uIGxpIHN0cm9uZzo6YmVmb3JlLFxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIHNlY3Rpb24gbGkgc3Ryb25nOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9wcm9kdWN0cy9zdHVkaW8vaWNvLWZlYXR1cmVzLXNtLnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyNnB4O1xuICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gbWFpbiBzZWN0aW9uIGxpIC5waWxsLFxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudG9wIHNlY3Rpb24gbGkgLnBpbGwge1xuICAgICAgY29sb3I6ICM0YThiZmM7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIGxlZnQ6IDM2cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM0YThiZmM7XG4gICAgICBwYWRkaW5nOiAycHggNXB4IDFweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgZm9udC1zaXplOiAxMXB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyBtYWluIHNlY3Rpb24gcCxcbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiBwIHtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjQjJCRUNEO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBzZWN0aW9uIGxpIHN0cm9uZyB7XG4gICAgcGFkZGluZy10b3A6IDc1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiBsaSBzdHJvbmc6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3Byb2R1Y3RzL3N0dWRpby9pY28tZmVhdHVyZXMtbGcucG5nXCIpIG5vLXJlcGVhdCAwIDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHg7XG4gICAgICB3aWR0aDogNDhweDtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnRvcCBzZWN0aW9uIGxpLmNyZWF0ZSBzdHJvbmc6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwcHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiBsaS50YWNrbGUgc3Ryb25nOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ4cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC50b3Agc2VjdGlvbiBsaS5zaGlwIHN0cm9uZzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudmlkZW8tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudmlkZW8tY29udGFpbmVyIC5wcmV2aWV3IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIG1heC13aWR0aDogNDAlO1xuICAgIHdpZHRoOiA0MjBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IDAuNXMgb3BhY2l0eSBlYXNlLWluIDAuNXMsIDAuOHMgdHJhbnNmb3JtIGN1YmljLWJlemllcigwLjUsIDAsIDAsIDEpIDAuNXM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1cHgpOyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAudmlkZW8tY29udGFpbmVyIHZpZGVvLFxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnZpZGVvLWNvbnRhaW5lciAuc2NyZWVuc2hvdCB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7XG4gICAgdHJhbnNpdGlvbjogMXMgZmlsdGVyIGVhc2UsIDFzIHRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC41LCAwLCAwLCAxKSwgMXMgb3BhY2l0eSwgMXMgYm94LXNoYWRvdzsgfVxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnZpZGVvLWNvbnRhaW5lci5maW5pc2hlZCAucHJldmlldyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC52aWRlby1jb250YWluZXIuZmluaXNoZWQgdmlkZW8ge1xuICAgIGJveC1zaGFkb3c6IDBweCAxNnB4IDY0cHggcmdiYSgwLCAwLCAwLCAwKTsgfVxuICAjcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnZpZGVvLWNvbnRhaW5lci5maW5pc2hlZCB2aWRlbyxcbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC52aWRlby1jb250YWluZXIuZmluaXNoZWQgLnNjcmVlbnNob3Qge1xuICAgIGZpbHRlcjogYmx1cigzcHgpO1xuICAgIG9wYWNpdHk6IC41O1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMSk7IH1cblxuI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIG1haW4gc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMxMjE0MTcgMCUsICMwNjA5MEQgMTAwJSk7IH1cblxuI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC5tb2RhbCBoZ3JvdXAge1xuICBwYWRkaW5nLXRvcDogMThweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC5tb2RhbCBoMyB7XG4gIGZvbnQtc2l6ZTogMjlweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMxNzFhMjA7XG4gIG1hcmdpbjogMThweCAwIDhweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07IH1cblxuI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC5tb2RhbCBwIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgY29sb3I6ICM0YzU3NmM7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAubW9kYWwgcC5zbSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGNvbG9yOiAjNmY3Nzg2OyB9XG5cbiNwYWdlLXByb2R1Y3RzLXN0dWRpbyAubW9kYWwgZm9ybSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxNXB4IDE1cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC5tb2RhbCAuaHNfc3VibWl0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAubW9kYWwgLmhzX3N1Ym1pdCBpbnB1dCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1zdHVkaW8gLnByb21vLXN0dWRpbyB7XG4gIGJhY2tncm91bmQ6ICMxRDIzMkM7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtc3R1ZGlvIC5wcm9tby1zdHVkaW8gaDIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1heC13aWR0aDogNjgwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAucHJvbW8tc3R1ZGlvIGgyIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAucHJvbW8tc3R1ZGlvIHAge1xuICAgIGNvbG9yOiAjNEQ4REZGOyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAucHJvbW8tc3R1ZGlvIC5idG4ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoODEsIDE2NywgMjU1LCAwLjcpOyB9XG4gICNwYWdlLXByb2R1Y3RzLXN0dWRpbyAucHJvbW8tc3R1ZGlvIC5idG5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/resources/case-studies.css ================================================ #page-case-studies .sub-header .download { padding-right: 0; text-transform: uppercase; letter-spacing: .02em; font-size: 12px; } #page-case-studies main hgroup { margin-top: 24px; margin-bottom: 53px; } @media (max-width: 767px) { #page-case-studies main hgroup { margin-bottom: 0; } } #page-case-studies main hgroup strong { text-transform: uppercase; font-size: 11px; font-weight: 600; color: #9cabc4; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-case-studies main hgroup h4 { margin-top: 62px; font-size: 12px; color: #92A1B3; text-transform: uppercase; letter-spacing: .14em; } #page-case-studies main hgroup h1 { font-size: 46px; margin-top: 56px; } #page-case-studies main hgroup p { font-weight: 400; color: #898989; max-width: 750px; margin: 13px auto; font-size: 20px; line-height: 1.8em; letter-spacing: .01em; } #page-case-studies main hgroup .byline { font-style: normal; font-weight: normal; line-height: 29px; font-size: 16px; letter-spacing: -0.02em; color: #92A1B3; margin-bottom: 42px; } #page-case-studies main hgroup .byline .avatar { width: 28px; height: 28px; margin: 0 8px 0 0; border-radius: 50%; display: inline-block; } #page-case-studies main hgroup .byline .tags { padding: 0; margin-left: 4px; list-style: none; vertical-align: 2px; display: inline-block; } #page-case-studies main hgroup .byline .tags li { font-size: 10px; color: #ced6e0; background: transparent; padding: 3px 5px 4px; line-height: 1em; margin-right: 2px; font-weight: 600; text-transform: uppercase; border-radius: 4px; letter-spacing: 0.08em; vertical-align: 1px; display: inline-block; border: 1px solid #E9EDF3; } #page-case-studies main hgroup img { margin: 24px auto; max-width: 100%; } #page-case-studies main { display: -ms-flexbox; display: flex; overflow: visible; padding-bottom: 160px; } @media (max-width: 768px) { #page-case-studies main { padding-bottom: 80px; } } @media (max-width: 767px) { #page-case-studies main { -ms-flex-direction: column; flex-direction: column; } } #page-case-studies .sticky-wrapper { position: -webkit-sticky; position: sticky; top: 128px; } #page-case-studies aside { -ms-flex: 0 1 208px; flex: 0 1 208px; padding-right: 20px; margin-bottom: 0; margin-top: 52px; } #page-case-studies aside h4 { font-size: 10px; text-transform: uppercase; color: #a4b3cc; font-weight: 600; letter-spacing: .16em; } #page-case-studies aside ul { padding: 0; font-size: 14px; margin: 9px 0 30px; list-style: none; line-height: 1.4em; } @media (max-width: 1219px) { #page-case-studies aside ul { font-size: 12px; } } #page-case-studies aside li { margin: 12px 0 13px; } #page-case-studies aside a { color: #52678c; display: block; transition: .2s transform ease, .2s color; } #page-case-studies aside a:hover, #page-case-studies aside a:active, #page-case-studies aside a:focus, #page-case-studies aside a.active { color: #4a8bfc; text-decoration: none; } #page-case-studies aside a.active { -webkit-transform: translateX(8px); transform: translateX(8px); } #page-case-studies aside .btn { margin: 0 0 32px; } #page-case-studies aside .lightblue { background: #e6f0f8; color: #4a8bfc; border-radius: 4px; padding: 9px 16px; display: inline-block; font-size: 11px; text-transform: uppercase; font-weight: 700; letter-spacing: .07em; } #page-case-studies aside .lightblue ion-icon { font-size: 18px; vertical-align: -5px; } #page-case-studies aside .sharing { margin: 0; border-top: 2px solid #f3f5f9; padding-top: 26px; } #page-case-studies aside .sharing li { margin: 0; margin-right: 6px; display: inline-block; } #page-case-studies aside .sharing a { color: #CBD2DD; font-size: 20px; } #page-case-studies aside .sharing a:hover { color: #4a8bfc; } #page-case-studies aside .sharing #web-share { display: none; } @media (max-width: 768px) { #page-case-studies aside { display: none; } } #page-case-studies .main-col { -ms-flex: 1; flex: 1; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } #page-case-studies .main-col__inner { width: 100%; max-width: 663px; margin-left: 40px; } @media (max-width: 1219px) { #page-case-studies .main-col { -ms-flex-align: end; align-items: flex-end; } #page-case-studies .main-col__inner { margin-left: 20px; } } @media (max-width: 768px) { #page-case-studies .main-col { -ms-flex-align: center; align-items: center; } #page-case-studies .main-col__inner { margin-left: 0; } } #page-case-studies article { padding-bottom: 58px; border-bottom: 1px solid #edf0f6; margin-bottom: 37px; } #page-case-studies article h2 { font-size: 30px; margin-top: 2.65em; margin-bottom: 0.8em; font-weight: 600; } #page-case-studies article h2 strong { font-weight: 600; } #page-case-studies article h3 { font-size: 20px; line-height: 1.3; margin-top: 2.3em; margin-bottom: 1.2em; letter-spacing: -.014em; font-weight: 600; } #page-case-studies article h3 strong { font-weight: 600; } #page-case-studies article h4, #page-case-studies article h5, #page-case-studies article h6 { margin: 1em 0; } #page-case-studies article h4 { text-transform: uppercase; letter-spacing: 0.1em; font-size: 14px; } #page-case-studies article h5 { font-size: 15px; } #page-case-studies article h6 { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; } #page-case-studies article p, #page-case-studies article ul, #page-case-studies article ol { font-size: 16px; letter-spacing: -.011em; line-height: 1.75em; margin-bottom: 1.8em; color: #5B708B; } #page-case-studies article ul li + li, #page-case-studies article ol li + li { margin-top: 8px; } #page-case-studies article ul { padding-left: 0; } #page-case-studies article ul li { list-style-type: none; position: relative; padding-left: 18px; } #page-case-studies article ul li:before { content: ''; display: inline-block; width: 6px; height: 6px; background: #B2BECD; position: absolute; top: 12px; left: 0; border-radius: 8px; } #page-case-studies article b, #page-case-studies article strong { font-weight: 500; } #page-case-studies article blockquote { background: #f2f5f8; border-radius: 4px; position: relative; padding: 64px 80px 68px 111px; color: #5e749a; font-family: "Adobe Caslon", Georgia, Times, "Times New Roman", serif; font-style: italic; border: none; margin: 77px -16px 54px; } #page-case-studies article blockquote::before { position: absolute; top: -6px; left: 54px; font-size: 180px; content: '\201C'; color: #e3e7ec; } #page-case-studies article blockquote p { font-size: 18px; position: relative; z-index: 1; letter-spacing: .022em; line-height: 1.8em; } #page-case-studies article blockquote p:last-child { margin-bottom: 0; } #page-case-studies article blockquote cite { font-size: 15px; letter-spacing: .02em; } #page-case-studies article blockquote cite span { color: #9da9bd; margin-left: 8px; } #page-case-studies article img { max-width: 100%; } #page-case-studies article pre, #page-case-studies article code { border: none; background: #f5f7fa; } #page-case-studies article figure { width: 295px; float: right; margin: 8px -20px 16px 74px; } #page-case-studies article figure.left { float: left; margin-right: 74px; margin-left: -20px; } #page-case-studies article figure img { box-shadow: 0 4px 48px rgba(0, 0, 0, 0.2); } #page-case-studies article figure figcaption { color: #a8b0be; font-size: 11px; margin-top: 13px; } @media (max-width: 767px) { #page-case-studies article figure { margin-right: 0; margin-left: 32px; } #page-case-studies article figure.left { margin-left: 0; margin-right: 32px; } } @media (max-width: 480px) { #page-case-studies article figure { width: 100%; } } #page-case-studies article .table-wrap { overflow-x: auto; margin-right: -15px; padding-right: 15px; box-sizing: content-box; font-size: 13px; } #page-case-studies article .table-wrap td, #page-case-studies article .table-wrap th { min-width: 120px; padding-right: 12px; } #page-case-studies article .table-wrap table tbody tr td { border-top-color: #DEE3EA; } #page-case-studies article .table-wrap table > thead > tr > th { border-bottom-color: #E9EDF3; font-weight: 600; } #page-case-studies .resource-list { margin-bottom: 0; } #page-case-studies .resource-list__header .all { float: right; } #page-case-studies .resource-list__header .all ion-icon { display: inline-block; transition: .2s transform ease; } #page-case-studies .resource-list__header .all:hover ion-icon { -webkit-transform: translateX(2px); transform: translateX(2px); } #page-case-studies .resource-list__header h4 { text-transform: uppercase; font-size: 14px; letter-spacing: .12em; } #page-case-studies .resource-list .resource-card-list { margin-left: -10px; margin-right: -10px; } #page-case-studies .resource-list .resource-card-list--third .resource-card { padding: 5px; height: 214px; } #page-case-studies .resource-list .resource-card-list--third .resource-card a .title { font-size: 18px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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Q3BCLHdCQUF3QjtJQUN4QixnQkFBZ0IsRUFBRTtJQUNsQjs7TUFFRSxpQkFBaUI7TUFDakIsb0JBQW9CLEVBQUU7SUFDeEI7TUFDRSwwQkFBMEIsRUFBRTtJQUM5QjtNQUNFLDZCQUE2QjtNQUM3QixpQkFBaUIsRUFBRTs7QUFFekI7RUFDRSxpQkFBaUIsRUFBRTtFQUNuQjtJQUNFLGFBQWEsRUFBRTtJQUNmO01BQ0Usc0JBQXNCO01BQ3RCLCtCQUErQixFQUFFO0lBQ25DO01BQ0UsbUNBQTJCO2NBQTNCLDJCQUEyQixFQUFFO0VBQ2pDO0lBQ0UsMEJBQTBCO0lBQzFCLGdCQUFnQjtJQUNoQixzQkFBc0IsRUFBRTtFQUMxQjtJQUNFLG1CQUFtQjtJQUNuQixvQkFBb0IsRUFBRTtFQUN4QjtJQUNFLGFBQWE7SUFDYixjQUFjLEVBQUU7RUFDbEI7SUFDRSxnQkFBZ0IsRUFBRSIsImZpbGUiOiJwYWdlcy9yZXNvdXJjZXMvY2FzZS1zdHVkaWVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNwYWdlLWNhc2Utc3R1ZGllcyAuc3ViLWhlYWRlciAuZG93bmxvYWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLjAyZW07XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4jcGFnZS1jYXNlLXN0dWRpZXMgbWFpbiBoZ3JvdXAge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiA1M3B4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIGhncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIG1haW4gaGdyb3VwIHN0cm9uZyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzljYWJjNDtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIGhncm91cCBoNCB7XG4gICAgbWFyZ2luLXRvcDogNjJweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICM5MkExQjM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjE0ZW07IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIG1haW4gaGdyb3VwIGgxIHtcbiAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgbWFyZ2luLXRvcDogNTZweDsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgbWFpbiBoZ3JvdXAgcCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzg5ODk4OTtcbiAgICBtYXgtd2lkdGg6IDc1MHB4O1xuICAgIG1hcmdpbjogMTNweCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIGhncm91cCAuYnlsaW5lIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6ICM5MkExQjM7XG4gICAgbWFyZ2luLWJvdHRvbTogNDJweDsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIGhncm91cCAuYnlsaW5lIC5hdmF0YXIge1xuICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICBtYXJnaW46IDAgOHB4IDAgMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIGhncm91cCAuYnlsaW5lIC50YWdzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAycHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIGhncm91cCAuYnlsaW5lIC50YWdzIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBjb2xvcjogI2NlZDZlMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDNweCA1cHggNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogMXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFOUVERjM7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIG1haW4gaGdyb3VwIGltZyB7XG4gICAgbWFyZ2luOiAyNHB4IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbiNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmctYm90dG9tOiAxNjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgbWFpbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBtYWluIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG4jcGFnZS1jYXNlLXN0dWRpZXMgLnN0aWNreS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAxMjhweDsgfVxuXG4jcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUge1xuICBmbGV4OiAwIDEgMjA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDUycHg7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFzaWRlIGg0IHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI2E0YjNjYztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMTZlbTsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogOXB4IDAgMzBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhc2lkZSB1bCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhc2lkZSBsaSB7XG4gICAgbWFyZ2luOiAxMnB4IDAgMTNweDsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgYSB7XG4gICAgY29sb3I6ICM1MjY3OGM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSBlYXNlLCAuMnMgY29sb3I7IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgYTpob3ZlciwgI3BhZ2UtY2FzZS1zdHVkaWVzIGFzaWRlIGE6YWN0aXZlLCAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgYTpmb2N1cywgI3BhZ2UtY2FzZS1zdHVkaWVzIGFzaWRlIGEuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFzaWRlIGEuYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhc2lkZSAuYnRuIHtcbiAgICBtYXJnaW46IDAgMCAzMnB4OyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhc2lkZSAubGlnaHRibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTZmMGY4O1xuICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiA5cHggMTZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA3ZW07IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgLmxpZ2h0Ymx1ZSBpb24taWNvbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTVweDsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgLnNoYXJpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2YzZjVmOTtcbiAgICBwYWRkaW5nLXRvcDogMjZweDsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhc2lkZSAuc2hhcmluZyBsaSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhc2lkZSAuc2hhcmluZyBhIHtcbiAgICAgIGNvbG9yOiAjQ0JEMkREO1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUgLnNoYXJpbmcgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFzaWRlIC5zaGFyaW5nICN3ZWItc2hhcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXNpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNwYWdlLWNhc2Utc3R1ZGllcyAubWFpbi1jb2wge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbiNwYWdlLWNhc2Utc3R1ZGllcyAubWFpbi1jb2xfX2lubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNjYzcHg7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIC5tYWluLWNvbCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyAubWFpbi1jb2xfX2lubmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1jYXNlLXN0dWRpZXMgLm1haW4tY29sIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyAubWFpbi1jb2xfX2lubmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbiNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIHtcbiAgcGFkZGluZy1ib3R0b206IDU4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWRmMGY2O1xuICBtYXJnaW4tYm90dG9tOiAzN3B4OyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGgyIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMi42NWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOGVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBoMiBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBoMyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luLXRvcDogMi4zZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE0ZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGgzIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGg0LCAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBoNSwgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgaDYge1xuICAgIG1hcmdpbjogMWVtIDA7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBoNSB7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGg2IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgcCxcbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgdWwsXG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIG9sIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDExZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjhlbTtcbiAgICBjb2xvcjogIzVCNzA4QjsgfVxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSB1bCBsaSArIGxpLFxuICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBvbCBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIHVsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMThweDsgfVxuICAgICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNCMkJFQ0Q7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgYixcbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGJsb2NrcXVvdGUge1xuICAgIGJhY2tncm91bmQ6ICNmMmY1Zjg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA2NHB4IDgwcHggNjhweCAxMTFweDtcbiAgICBjb2xvcjogIzVlNzQ5YTtcbiAgICBmb250LWZhbWlseTogXCJBZG9iZSBDYXNsb25cIiwgR2VvcmdpYSwgVGltZXMsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiA3N3B4IC0xNnB4IDU0cHg7IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBibG9ja3F1b3RlOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtNnB4O1xuICAgICAgbGVmdDogNTRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTgwcHg7XG4gICAgICBjb250ZW50OiAnXFwyMDFDJztcbiAgICAgIGNvbG9yOiAjZTNlN2VjOyB9XG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgYmxvY2txdW90ZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjAyMmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtOyB9XG4gICAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBibG9ja3F1b3RlIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBibG9ja3F1b3RlIGNpdGUge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMmVtOyB9XG4gICAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBibG9ja3F1b3RlIGNpdGUgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjOWRhOWJkO1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIHByZSxcbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgY29kZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmNWY3ZmE7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgZmlndXJlIHtcbiAgICB3aWR0aDogMjk1cHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogOHB4IC0yMHB4IDE2cHggNzRweDsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGZpZ3VyZS5sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3NHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4OyB9XG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgZmlndXJlIGltZyB7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCA0OHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjYThiMGJlO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbWFyZ2luLXRvcDogMTNweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgZmlndXJlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMzJweDsgfVxuICAgICAgICAjcGFnZS1jYXNlLXN0dWRpZXMgYXJ0aWNsZSBmaWd1cmUubGVmdCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIGZpZ3VyZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgLnRhYmxlLXdyYXAge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIC50YWJsZS13cmFwIHRkLFxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIC50YWJsZS13cmFwIHRoIHtcbiAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIGFydGljbGUgLnRhYmxlLXdyYXAgdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0RFRTNFQTsgfVxuICAgICNwYWdlLWNhc2Utc3R1ZGllcyBhcnRpY2xlIC50YWJsZS13cmFwIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNFOUVERjM7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbiNwYWdlLWNhc2Utc3R1ZGllcyAucmVzb3VyY2UtbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIC5yZXNvdXJjZS1saXN0X19oZWFkZXIgLmFsbCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgI3BhZ2UtY2FzZS1zdHVkaWVzIC5yZXNvdXJjZS1saXN0X19oZWFkZXIgLmFsbCBpb24taWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtIGVhc2U7IH1cbiAgICAjcGFnZS1jYXNlLXN0dWRpZXMgLnJlc291cmNlLWxpc3RfX2hlYWRlciAuYWxsOmhvdmVyIGlvbi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyAucmVzb3VyY2UtbGlzdF9faGVhZGVyIGg0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjEyZW07IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIC5yZXNvdXJjZS1saXN0IC5yZXNvdXJjZS1jYXJkLWxpc3Qge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4OyB9XG4gICNwYWdlLWNhc2Utc3R1ZGllcyAucmVzb3VyY2UtbGlzdCAucmVzb3VyY2UtY2FyZC1saXN0LS10aGlyZCAucmVzb3VyY2UtY2FyZCB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGhlaWdodDogMjE0cHg7IH1cbiAgI3BhZ2UtY2FzZS1zdHVkaWVzIC5yZXNvdXJjZS1saXN0IC5yZXNvdXJjZS1jYXJkLWxpc3QtLXRoaXJkIC5yZXNvdXJjZS1jYXJkIGEgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/resources/webinars.css ================================================ #page-webinars h1, #page-webinars h2, #page-webinars h3, #page-webinars h4, #page-webinars .btn { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-webinars .sub-header.dark .breadcrumbs li::after { color: rgba(255, 255, 255, 0.3); } #page-webinars .cta { background-color: #12223a; background-image: url("/img/resource-center/webinars/bg-header.jpg"), linear-gradient(120deg, #4864ec, #84aff4); background-size: cover, 100%; background-position: 50% 50%; margin-top: -138px; padding-top: 138px; } #page-webinars .cta.podcasts { background-image: url("/img/resource-center/bg-header-podcasts.jpg?3"), linear-gradient(to bottom, #010c29, #02133c); background-size: cover, 100%; background-position: 50% 50%; } #page-webinars .cta.videos { background-image: url("/img/resource-center/bg-header-videos.jpg"), linear-gradient(to bottom, #010c29, #02133c); background-size: cover, 100%; background-position: 50% 50%; } #page-webinars .cta hgroup { padding-top: 76px; max-width: 100%; padding-bottom: 159px; } #page-webinars .cta strong { text-transform: uppercase; font-size: 13px; letter-spacing: .12em; } #page-webinars .cta h1 { font-size: 72px; font-size: 56px; margin-top: 22px; } #page-webinars .cta p { color: #d9e9fe; margin-top: 19px; font-size: 16px; } #page-webinars .cta .btn { text-transform: uppercase; margin-top: 41px; padding: 15px 25px 16px; font-size: 15px; letter-spacing: .1em; } #page-webinars .card { background-color: #fff; border-radius: 6px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.1); border-radius: 14px; margin-top: -32px; display: -ms-flexbox; display: flex; margin-bottom: 128px; } @media (max-width: 991px) { #page-webinars .card { -ms-flex-direction: column; flex-direction: column; } } #page-webinars article { -ms-flex-positive: 1; flex-grow: 1; padding: 42px 53px 66px; color: #596a89; } @media (max-width: 400px) { #page-webinars article { padding-right: 24px; padding-left: 24px; } } #page-webinars article h2 { font-weight: 400; font-size: 32px; color: #5e79ff; } #page-webinars article h4 { font-weight: 400; font-size: 22px; letter-spacing: -.018em; line-height: 1.46em; color: #596a89; } #page-webinars article h4 + h3 { margin-top: 42px; } #page-webinars article h3 { font-weight: 600; font-size: 20px; margin-top: 42px; margin-bottom: 15px; } #page-webinars article strong { font-weight: 600; } #page-webinars article p { font-size: 16px; line-height: 1.8em; letter-spacing: -.008em; } #page-webinars article ul { margin-top: 20px; padding-left: 0; padding-bottom: 6px; } #page-webinars article li { line-height: 1.8em; font-size: 16px; list-style: none; margin-left: 4px; letter-spacing: -.004em; position: relative; margin-left: 0; padding-left: 44px; margin-bottom: 20px; } #page-webinars article li::before { background: url("/img/resource-center/webinars/ico-check.png") no-repeat 0 0; background-size: 24px; width: 24px; height: 24px; content: ''; position: absolute; left: 0; top: 0; } #page-webinars article .btn { margin-top: 30px; text-transform: uppercase; font-size: 15px; padding: 17px 24px 14px; letter-spacing: .1em; } #page-webinars aside { -ms-flex: 0 0 340px; flex: 0 0 340px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; padding: 54px 32px 32px; background: #f6f9fc; } #page-webinars aside h4 { text-transform: uppercase; font-size: 14px; letter-spacing: .1em; } #page-webinars aside .host { margin-top: 16px; margin-bottom: 24px; } #page-webinars aside .host img { border-radius: 50%; float: left; display: block; } #page-webinars aside .host strong { display: block; margin-left: 63px; margin-top: 6px; font-size: 16px; font-weight: 600; color: #151d2b; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-webinars aside .host span { margin-left: 63px; display: block; line-height: 1.2em; color: #6b82ac; } #page-webinars aside .subscribe-cta { margin-top: auto; background-color: #fff; border-radius: 6px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.1); padding: 8px 28px 28px; } @media (min-width: 992px) { #page-webinars aside .subscribe-cta { width: 327px; } } #page-webinars aside .subscribe-cta h3 { font-weight: 600; font-size: 18px; margin-bottom: 1px; letter-spacing: -.01em; } #page-webinars aside .subscribe-cta p { margin-bottom: 16px; line-height: 1.8em; letter-spacing: -.008em; } #page-webinars aside .subscribe-cta .btn { width: 100%; font-size: 16px; background: #d6eeff; color: #3880ff; padding: 15px 10px 11px; } #page-webinars aside ionic-newsletter-signup form { max-width: 100%; } #page-webinars aside ionic-newsletter-signup form input { min-width: 0; } @media (max-width: 991px) { #page-webinars aside { -ms-flex: 0 0 100%; flex: 0 0 100%; } } #page-webinars .resource-list { margin-bottom: 64px; } #page-webinars .resource-list__header h4 { font-size: 24px; margin-bottom: 1px; } #page-webinars .scrollTopLink { float: right; font-size: 15px; font-weight: 600; } #page-webinars .modal-body { padding: 32px 48px; } @media (max-width: 767px) { #page-webinars .modal-body { padding: 16px; } } #page-webinars .modal-body form { max-width: 100%; } #page-webinars #podcast-player { width: 100%; height: 180px; margin: 22px 0 48px; } #page-webinars #youtube-responsive { overflow: hidden; padding-bottom: 56.25%; position: relative; height: 0; margin: 22px 0 48px; } #page-webinars #youtube-responsive iframe { left: 0; top: 0; height: 100%; width: 100%; position: absolute; } #page-webinars #wistia_responsive_padding { padding: 56.25% 0 0 0; position: relative; margin: 22px 0 48px; } #page-webinars #wistia_responsive_padding .wistia_responsive_wrapper { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } #page-webinars #wistia_responsive_padding .wistia_embed { height: 100%; position: relative; width: 100%; } #page-webinars #wistia_responsive_padding .wistia_swatch { height: 100%; left: 0; opacity: 0; overflow: hidden; position: absolute; top: 0; transition: opacity 200ms; width: 100%; } #page-webinars #wistia_responsive_padding .wistia_swatch img { -webkit-filter: blur(5px); filter: blur(5px); height: 100%; object-fit: contain; width: 100%; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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Q0UsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixZQUFZLEVBQUU7RUFDaEI7SUFDRSxhQUFhO0lBQ2IsUUFBUTtJQUNSLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLE9BQU87SUFDUCwwQkFBMEI7SUFDMUIsWUFBWSxFQUFFO0lBQ2Q7TUFDRSwwQkFBa0I7Y0FBbEIsa0JBQWtCO01BQ2xCLGFBQWE7TUFDYixvQkFBb0I7TUFDcEIsWUFBWSxFQUFFIiwiZmlsZSI6InBhZ2VzL3Jlc291cmNlcy93ZWJpbmFycy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcGFnZS13ZWJpbmFycyBoMSxcbiNwYWdlLXdlYmluYXJzIGgyLFxuI3BhZ2Utd2ViaW5hcnMgaDMsXG4jcGFnZS13ZWJpbmFycyBoNCxcbiNwYWdlLXdlYmluYXJzIC5idG4ge1xuICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG5cbiNwYWdlLXdlYmluYXJzIC5zdWItaGVhZGVyLmRhcmsgLmJyZWFkY3J1bWJzIGxpOjphZnRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH1cblxuI3BhZ2Utd2ViaW5hcnMgLmN0YSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjIyM2E7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcmVzb3VyY2UtY2VudGVyL3dlYmluYXJzL2JnLWhlYWRlci5qcGdcIiksIGxpbmVhci1ncmFkaWVudCgxMjBkZWcsICM0ODY0ZWMsICM4NGFmZjQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyLCAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBtYXJnaW4tdG9wOiAtMTM4cHg7XG4gIHBhZGRpbmctdG9wOiAxMzhweDsgfVxuICAjcGFnZS13ZWJpbmFycyAuY3RhLnBvZGNhc3RzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Jlc291cmNlLWNlbnRlci9iZy1oZWFkZXItcG9kY2FzdHMuanBnPzNcIiksIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwMTBjMjksICMwMjEzM2MpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIsIDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuICAjcGFnZS13ZWJpbmFycyAuY3RhLnZpZGVvcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9yZXNvdXJjZS1jZW50ZXIvYmctaGVhZGVyLXZpZGVvcy5qcGdcIiksIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwMTBjMjksICMwMjEzM2MpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIsIDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuICAjcGFnZS13ZWJpbmFycyAuY3RhIGhncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDc2cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNTlweDsgfVxuICAjcGFnZS13ZWJpbmFycyAuY3RhIHN0cm9uZyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB9XG4gICNwYWdlLXdlYmluYXJzIC5jdGEgaDEge1xuICAgIGZvbnQtc2l6ZTogNzJweDtcbiAgICBmb250LXNpemU6IDU2cHg7XG4gICAgbWFyZ2luLXRvcDogMjJweDsgfVxuICAjcGFnZS13ZWJpbmFycyAuY3RhIHAge1xuICAgIGNvbG9yOiAjZDllOWZlO1xuICAgIG1hcmdpbi10b3A6IDE5cHg7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICNwYWdlLXdlYmluYXJzIC5jdGEgLmJ0biB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tdG9wOiA0MXB4O1xuICAgIHBhZGRpbmc6IDE1cHggMjVweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjFlbTsgfVxuXG4jcGFnZS13ZWJpbmFycyAuY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm94LXNoYWRvdzogMCA4cHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIG1hcmdpbi10b3A6IC0zMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxMjhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjcGFnZS13ZWJpbmFycyAuY2FyZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuI3BhZ2Utd2ViaW5hcnMgYXJ0aWNsZSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogNDJweCA1M3B4IDY2cHg7XG4gIGNvbG9yOiAjNTk2YTg5OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICNwYWdlLXdlYmluYXJzIGFydGljbGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjRweDsgfSB9XG4gICNwYWdlLXdlYmluYXJzIGFydGljbGUgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGNvbG9yOiAjNWU3OWZmOyB9XG4gICNwYWdlLXdlYmluYXJzIGFydGljbGUgaDQge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAxOGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ2ZW07XG4gICAgY29sb3I6ICM1OTZhODk7IH1cbiAgICAjcGFnZS13ZWJpbmFycyBhcnRpY2xlIGg0ICsgaDMge1xuICAgICAgbWFyZ2luLXRvcDogNDJweDsgfVxuICAjcGFnZS13ZWJpbmFycyBhcnRpY2xlIGgzIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tdG9wOiA0MnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgI3BhZ2Utd2ViaW5hcnMgYXJ0aWNsZSBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgI3BhZ2Utd2ViaW5hcnMgYXJ0aWNsZSBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAwOGVtOyB9XG4gICNwYWdlLXdlYmluYXJzIGFydGljbGUgdWwge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHg7IH1cbiAgI3BhZ2Utd2ViaW5hcnMgYXJ0aWNsZSBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDA0ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgI3BhZ2Utd2ViaW5hcnMgYXJ0aWNsZSBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvcmVzb3VyY2UtY2VudGVyL3dlYmluYXJzL2ljby1jaGVjay5wbmdcIikgbm8tcmVwZWF0IDAgMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwOyB9XG4gICNwYWdlLXdlYmluYXJzIGFydGljbGUgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBwYWRkaW5nOiAxN3B4IDI0cHggMTRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjFlbTsgfVxuXG4jcGFnZS13ZWJpbmFycyBhc2lkZSB7XG4gIGZsZXg6IDAgMCAzNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogNTRweCAzMnB4IDMycHg7XG4gIGJhY2tncm91bmQ6ICNmNmY5ZmM7IH1cbiAgI3BhZ2Utd2ViaW5hcnMgYXNpZGUgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMWVtOyB9XG4gICNwYWdlLXdlYmluYXJzIGFzaWRlIC5ob3N0IHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgICAjcGFnZS13ZWJpbmFycyBhc2lkZSAuaG9zdCBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNwYWdlLXdlYmluYXJzIGFzaWRlIC5ob3N0IHN0cm9uZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA2M3B4O1xuICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjMTUxZDJiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICAgICNwYWdlLXdlYmluYXJzIGFzaWRlIC5ob3N0IHNwYW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDYzcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIGNvbG9yOiAjNmI4MmFjOyB9XG4gICNwYWdlLXdlYmluYXJzIGFzaWRlIC5zdWJzY3JpYmUtY3RhIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHBhZGRpbmc6IDhweCAyOHB4IDI4cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICNwYWdlLXdlYmluYXJzIGFzaWRlIC5zdWJzY3JpYmUtY3RhIHtcbiAgICAgICAgd2lkdGg6IDMyN3B4OyB9IH1cbiAgICAjcGFnZS13ZWJpbmFycyBhc2lkZSAuc3Vic2NyaWJlLWN0YSBoMyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsgfVxuICAgICNwYWdlLXdlYmluYXJzIGFzaWRlIC5zdWJzY3JpYmUtY3RhIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAwOGVtOyB9XG4gICAgI3BhZ2Utd2ViaW5hcnMgYXNpZGUgLnN1YnNjcmliZS1jdGEgLmJ0biB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGJhY2tncm91bmQ6ICNkNmVlZmY7XG4gICAgICBjb2xvcjogIzM4ODBmZjtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTBweCAxMXB4OyB9XG4gICNwYWdlLXdlYmluYXJzIGFzaWRlIGlvbmljLW5ld3NsZXR0ZXItc2lnbnVwIGZvcm0ge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICNwYWdlLXdlYmluYXJzIGFzaWRlIGlvbmljLW5ld3NsZXR0ZXItc2lnbnVwIGZvcm0gaW5wdXQge1xuICAgICAgbWluLXdpZHRoOiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLXdlYmluYXJzIGFzaWRlIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9IH1cblxuI3BhZ2Utd2ViaW5hcnMgLnJlc291cmNlLWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiA2NHB4OyB9XG4gICNwYWdlLXdlYmluYXJzIC5yZXNvdXJjZS1saXN0X19oZWFkZXIgaDQge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7IH1cblxuI3BhZ2Utd2ViaW5hcnMgLnNjcm9sbFRvcExpbmsge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4jcGFnZS13ZWJpbmFycyAubW9kYWwtYm9keSB7XG4gIHBhZGRpbmc6IDMycHggNDhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcGFnZS13ZWJpbmFycyAubW9kYWwtYm9keSB7XG4gICAgICBwYWRkaW5nOiAxNnB4OyB9IH1cbiAgI3BhZ2Utd2ViaW5hcnMgLm1vZGFsLWJvZHkgZm9ybSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbiNwYWdlLXdlYmluYXJzICNwb2RjYXN0LXBsYXllciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE4MHB4O1xuICBtYXJnaW46IDIycHggMCA0OHB4OyB9XG5cbiNwYWdlLXdlYmluYXJzICN5b3V0dWJlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAyMnB4IDAgNDhweDsgfVxuICAjcGFnZS13ZWJpbmFycyAjeW91dHViZS1yZXNwb25zaXZlIGlmcmFtZSB7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4jcGFnZS13ZWJpbmFycyAjd2lzdGlhX3Jlc3BvbnNpdmVfcGFkZGluZyB7XG4gIHBhZGRpbmc6IDU2LjI1JSAwIDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDIycHggMCA0OHB4OyB9XG4gICNwYWdlLXdlYmluYXJzICN3aXN0aWFfcmVzcG9uc2l2ZV9wYWRkaW5nIC53aXN0aWFfcmVzcG9uc2l2ZV93cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICNwYWdlLXdlYmluYXJzICN3aXN0aWFfcmVzcG9uc2l2ZV9wYWRkaW5nIC53aXN0aWFfZW1iZWQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgI3BhZ2Utd2ViaW5hcnMgI3dpc3RpYV9yZXNwb25zaXZlX3BhZGRpbmcgLndpc3RpYV9zd2F0Y2gge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXM7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAjcGFnZS13ZWJpbmFycyAjd2lzdGlhX3Jlc3BvbnNpdmVfcGFkZGluZyAud2lzdGlhX3N3YXRjaCBpbWcge1xuICAgICAgZmlsdGVyOiBibHVyKDVweCk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/solutions/cross-platform.css ================================================ .cta.banner { background: #F6F8FB; text-align: left; } .cta.banner hgroup { max-width: 480px; margin-top: 86px; margin-bottom: 80px; } .cta.banner .container { position: relative; } .cta.banner h4, .cta.banner h1, .cta.banner p { position: relative; z-index: 1; } .cta.banner h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 14px; line-height: 26px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; margin-bottom: 29px; } .cta.banner h1 { font-size: 64px; line-height: 71px; letter-spacing: -0.03em; color: #020814; margin-bottom: 14px; } .cta.banner p { font-size: 24px; line-height: 36px; letter-spacing: -0.04em; color: #27323F; opacity: 0.9; } #sticky-bar { box-shadow: 0px 1px 0px #E9EDF3, 0px -1px 0px #E9EDF3; background: white; position: -webkit-sticky; position: sticky; top: 0; z-index: 1; } #sticky-bar ul { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; padding-top: 17px; padding-bottom: 17px; -ms-flex-wrap: wrap; flex-wrap: wrap; } @media (max-width: 991px) { #sticky-bar ul { -ms-flex-pack: distribute; justify-content: space-around; } } #sticky-bar ul::before, #sticky-bar ul::after { display: none; } #sticky-bar li { list-style: none; } #sticky-bar li.active a:not(.btn) { color: #4a8bfc; } #sticky-bar a { padding: 10px 0; font-size: 14px; line-height: 22px; text-align: center; letter-spacing: 0.08em; text-transform: uppercase; display: block; } #sticky-bar a:hover, #sticky-bar a:active, #sticky-bar a:focus { background: transparent; text-decoration: none; } #sticky-bar a.btn { padding: 11px 14px 8px; margin-right: 3px; border-radius: 10px; color: white; font-weight: 600; } #sticky-bar a.btn:hover, #sticky-bar a.btn:active, #sticky-bar a.btn:focus { color: white; background: #317bfc; } #sticky-bar .anchor { color: #92A1B3; font-weight: 500; } #sticky-bar .anchor.active, #sticky-bar .anchor:hover { color: #4D8DFF; } main { letter-spacing: -0.028em; color: #2F3A48; } main h2 { font-size: 40px; line-height: 50px; letter-spacing: -0.03em; color: #020814; margin-bottom: 15px; } main h3 { color: #414D5C; font-weight: 600; margin-bottom: 4px; } main h3 + h2 { margin-top: 0; } main p { font-size: 20px; line-height: 31px; margin-bottom: 40px; } main ul { padding-left: 0; } main li { font-size: 16px; line-height: 23px; color: #1A232F; margin-bottom: 32px; position: relative; list-style: none; padding-left: 30px; letter-spacing: -.016em; } main li::before { content: url('data:image/svg+xml,\a \a \a '); position: absolute; left: 0; top: 1px; height: 15px; width: 15px; fill: #1A232F; display: block; } main section { display: -ms-flexbox; display: flex; position: relative; } main section.container::before, main section.container::after { display: none; } main section.right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; } main section.center { -ms-flex-pack: center; justify-content: center; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } main section.center .content { max-width: 798px; text-align: center; } main section.center .content ul { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; } @media (max-width: 991px) { main section.center .content ul { -ms-flex-pack: start; justify-content: flex-start; } } main section.center .content li { max-width: 376px; width: 100%; } main .content { max-width: 482px; margin: 232px 0 184px; } @media (max-width: 991px) { main .content { max-width: 100%; margin: 60px auto; } } main aside { background: #F6F8FB; padding-top: 114px; padding-bottom: 120px; } main aside p { color: #414D5C; } main aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } main .get-started { max-width: 700px; } main .cards { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } main .cards .card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } main .cards .card:last-child { margin-right: 0; } main .cards .card:nth-child(2) { background: #F88D8D; } main .cards .card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } main .cards h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } main .cards p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); } main .cards .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } main .cards .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { main .cards { -ms-flex-direction: column; flex-direction: column; } main .cards .card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; } } .resources { margin-top: 96px; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .cta.banner hgroup::after { background: url("/img/solutions/bg-cross-platform-header.svg"); background-size: cover; width: 850px; height: 431px; position: absolute; right: calc(50% - 796px); top: 138px; content: ''; } #more-than-mobile .content { margin-top: 316px; } #more-than-mobile .content::after { background: url("/img/solutions/apple-devices.png"); background-size: cover; width: 982px; height: 696px; position: absolute; right: calc(50% - 898px); top: 174px; content: ''; } @media (max-width: 991px) { #more-than-mobile .content { margin-bottom: 200px; } #more-than-mobile .content::after { right: calc(100% - 906px); width: 491px; height: 348px; top: auto; bottom: 50px; } } #full-native-power .content { margin-top: 373px; } #full-native-power .content::after { background: url("/img/solutions/iphone-parts.jpg"); background-size: cover; width: 594px; height: 772px; position: absolute; left: -4px; top: 207px; content: ''; } @media (max-width: 1219px) { #full-native-power .content::after { width: 396px; height: 515px; top: 328px; } } @media (max-width: 1219px) { #full-native-power .content { margin-top: 400px; } #full-native-power .content::after { width: 297px; height: 386px; top: 0; left: calc(50% - 150px); } } #future-proof .content { margin-top: 431px; } #future-proof .content::after { background: url("/img/solutions/ionic-platforms.svg"); background-size: cover; width: 606px; height: 672px; position: absolute; right: calc(50% - 632px); top: 282px; content: ''; } @media (max-width: 1219px) { #future-proof .content::after { width: 303px; height: 336px; right: calc(50% - 150px); top: 80px; } } #how-to .content { margin-top: 146px; max-width: 100%; } #how-to .content h2 { text-align: center; } #get-started { margin-top: -225px; padding-top: 134px; } @media (max-width: 1219px) { #get-started { padding-top: 300px; margin-top: -200px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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O0VBQ0Usa0JBQWtCLEVBQUU7RUFDcEI7SUFDRSxzREFBc0Q7SUFDdEQsdUJBQXVCO0lBQ3ZCLGFBQWE7SUFDYixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsWUFBWSxFQUFFO0VBQ2hCO0lBQ0U7TUFDRSxhQUFhO01BQ2IsY0FBYztNQUNkLHlCQUF5QjtNQUN6QixVQUFVLEVBQUUsRUFBRTs7QUFFcEI7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCLEVBQUU7RUFDbEI7SUFDRSxtQkFBbUIsRUFBRTs7QUFFekI7RUFDRSxtQkFBbUI7RUFDbkIsbUJBQW1CLEVBQUU7RUFDckI7SUFDRTtNQUNFLG1CQUFtQjtNQUNuQixtQkFBbUIsRUFBRSxFQUFFIiwiZmlsZSI6InBhZ2VzL3NvbHV0aW9ucy9jcm9zcy1wbGF0Zm9ybS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY3RhLmJhbm5lciB7XG4gIGJhY2tncm91bmQ6ICNGNkY4RkI7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmN0YS5iYW5uZXIgaGdyb3VwIHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgIG1hcmdpbi10b3A6IDg2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDsgfVxuICAuY3RhLmJhbm5lciAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmN0YS5iYW5uZXIgaDQsXG4gIC5jdGEuYmFubmVyIGgxLFxuICAuY3RhLmJhbm5lciBwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAuY3RhLmJhbm5lciBoNCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM5MkExQjM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjlweDsgfVxuICAuY3RhLmJhbm5lciBoMSB7XG4gICAgZm9udC1zaXplOiA2NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA3MXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIGNvbG9yOiAjMDIwODE0O1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7IH1cbiAgLmN0YS5iYW5uZXIgcCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtO1xuICAgIGNvbG9yOiAjMjczMjNGO1xuICAgIG9wYWNpdHk6IDAuOTsgfVxuXG4jc3RpY2t5LWJhciB7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMHB4ICNFOUVERjMsIDBweCAtMXB4IDBweCAjRTlFREYzO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxOyB9XG4gICNzdGlja3ktYmFyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLXRvcDogMTdweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTdweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNzdGlja3ktYmFyIHVsIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH0gfVxuICAgICNzdGlja3ktYmFyIHVsOjpiZWZvcmUsICNzdGlja3ktYmFyIHVsOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICNzdGlja3ktYmFyIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI3N0aWNreS1iYXIgbGkuYWN0aXZlIGE6bm90KC5idG4pIHtcbiAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICNzdGlja3ktYmFyIGEge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNzdGlja3ktYmFyIGE6aG92ZXIsICNzdGlja3ktYmFyIGE6YWN0aXZlLCAjc3RpY2t5LWJhciBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgI3N0aWNreS1iYXIgYS5idG4ge1xuICAgICAgcGFkZGluZzogMTFweCAxNHB4IDhweDtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICNzdGlja3ktYmFyIGEuYnRuOmhvdmVyLCAjc3RpY2t5LWJhciBhLmJ0bjphY3RpdmUsICNzdGlja3ktYmFyIGEuYnRuOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzE3YmZjOyB9XG4gICNzdGlja3ktYmFyIC5hbmNob3Ige1xuICAgIGNvbG9yOiAjOTJBMUIzO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAjc3RpY2t5LWJhciAuYW5jaG9yLmFjdGl2ZSwgI3N0aWNreS1iYXIgLmFuY2hvcjpob3ZlciB7XG4gICAgICBjb2xvcjogIzREOERGRjsgfVxuXG5tYWluIHtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyOGVtO1xuICBjb2xvcjogIzJGM0E0ODsgfVxuICBtYWluIGgyIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBtYWluIGgzIHtcbiAgICBjb2xvcjogIzQxNEQ1QztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgIG1haW4gaDMgKyBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIG1haW4gcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgbWFpbiB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIG1haW4gbGkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICBjb2xvcjogIzFBMjMyRjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMTZlbTsgfVxuICAgIG1haW4gbGk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCxcXGEgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIj5cXGEgICAgICAgICAgIDxwYXRoIGQ9XCJNMTg2LjMwMSAzMzkuODkzTDk2IDI0OS40NjFsLTMyIDMwLjUwN0wxODYuMzAxIDQwMiA0NDggMTQwLjUwNiA0MTYgMTEwelwiLz5cXGEgICAgICAgICA8L3N2Zz4nKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgZmlsbDogIzFBMjMyRjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIG1haW4gc2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBtYWluIHNlY3Rpb24uY29udGFpbmVyOjpiZWZvcmUsIG1haW4gc2VjdGlvbi5jb250YWluZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBtYWluIHNlY3Rpb24ucmlnaHQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgbWFpbiBzZWN0aW9uLmNlbnRlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICBtYWluIHNlY3Rpb24uY2VudGVyIC5jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA3OThweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIG1haW4gc2VjdGlvbi5jZW50ZXIgLmNvbnRlbnQgdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgbWFpbiBzZWN0aW9uLmNlbnRlciAuY29udGVudCB1bCB7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gICAgICAgIG1haW4gc2VjdGlvbi5jZW50ZXIgLmNvbnRlbnQgbGkge1xuICAgICAgICAgIG1heC13aWR0aDogMzc2cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgbWFpbiAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0ODJweDtcbiAgICBtYXJnaW46IDIzMnB4IDAgMTg0cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIG1haW4gLmNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogNjBweCBhdXRvOyB9IH1cbiAgbWFpbiBhc2lkZSB7XG4gICAgYmFja2dyb3VuZDogI0Y2RjhGQjtcbiAgICBwYWRkaW5nLXRvcDogMTE0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9XG4gICAgbWFpbiBhc2lkZSBwIHtcbiAgICAgIGNvbG9yOiAjNDE0RDVDOyB9XG4gICAgbWFpbiBhc2lkZSAuY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDQzMnB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICBtYWluIC5nZXQtc3RhcnRlZCB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDsgfVxuICBtYWluIC5jYXJkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDM4cHg7IH1cbiAgICBtYWluIC5jYXJkcyAuY2FyZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjN0NBQkZGO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgcGFkZGluZzogNDBweCA0MHB4IDM0cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuICAgICAgZmxleDogMCAxIDQ2MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gICAgICBtYWluIC5jYXJkcyAuY2FyZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICBtYWluIC5jYXJkcyAuY2FyZDpudGgtY2hpbGQoMikge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjg4RDhEOyB9XG4gICAgICAgIG1haW4gLmNhcmRzIC5jYXJkOm50aC1jaGlsZCgyKSAuYnRuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NCwgODQsIDg0LCAwLjUpOyB9XG4gICAgbWFpbiAuY2FyZHMgaDMge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIG1haW4gLmNhcmRzIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgICBtYWluIC5jYXJkcyAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA5ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcGFkZGluZzogMTBweCAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTYsIDEyOCwgMjU1LCAwLjUpOyB9XG4gICAgICBtYWluIC5jYXJkcyAuYnRuIGlvbi1pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgbWFpbiAuY2FyZHMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIG1haW4gLmNhcmRzIC5jYXJkIHtcbiAgICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cblxuLnJlc291cmNlcyB7XG4gIG1hcmdpbi10b3A6IDk2cHg7IH1cblxuLnJlc291cmNlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucmVzb3VyY2VzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cbiAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4OyB9XG4gIC5yZXNvdXJjZXMgaGdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBoMyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICMxQTIzMkY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgIGNvbG9yOiAjMzg4MEZGO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGlvbi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOyB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAwIDAgMzMuMzMlO1xuICAgIHBhZGRpbmc6IDI0cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSAuaW1nLXdyYXBwZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg2IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI0IyQkVDRDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHAge1xuICAgICAgY29sb3I6ICM1QjcwOEI7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEycHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBwYWRkaW5nOiAxMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgLnJlc291cmNlcyBoNSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmN0YS5iYW5uZXIgaGdyb3VwOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHVybChcIi9pbWcvc29sdXRpb25zL2JnLWNyb3NzLXBsYXRmb3JtLWhlYWRlci5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHdpZHRoOiA4NTBweDtcbiAgaGVpZ2h0OiA0MzFweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogY2FsYyg1MCUgLSA3OTZweCk7XG4gIHRvcDogMTM4cHg7XG4gIGNvbnRlbnQ6ICcnOyB9XG5cbiNtb3JlLXRoYW4tbW9iaWxlIC5jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMzE2cHg7IH1cbiAgI21vcmUtdGhhbi1tb2JpbGUgLmNvbnRlbnQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3NvbHV0aW9ucy9hcHBsZS1kZXZpY2VzLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHdpZHRoOiA5ODJweDtcbiAgICBoZWlnaHQ6IDY5NnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogY2FsYyg1MCUgLSA4OThweCk7XG4gICAgdG9wOiAxNzRweDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjbW9yZS10aGFuLW1vYmlsZSAuY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMDBweDsgfVxuICAgICAgI21vcmUtdGhhbi1tb2JpbGUgLmNvbnRlbnQ6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtIDkwNnB4KTtcbiAgICAgICAgd2lkdGg6IDQ5MXB4O1xuICAgICAgICBoZWlnaHQ6IDM0OHB4O1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogNTBweDsgfSB9XG5cbiNmdWxsLW5hdGl2ZS1wb3dlciAuY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDM3M3B4OyB9XG4gICNmdWxsLW5hdGl2ZS1wb3dlciAuY29udGVudDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvc29sdXRpb25zL2lwaG9uZS1wYXJ0cy5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB3aWR0aDogNTk0cHg7XG4gICAgaGVpZ2h0OiA3NzJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTRweDtcbiAgICB0b3A6IDIwN3B4O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAjZnVsbC1uYXRpdmUtcG93ZXIgLmNvbnRlbnQ6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiAzOTZweDtcbiAgICAgIGhlaWdodDogNTE1cHg7XG4gICAgICB0b3A6IDMyOHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICNmdWxsLW5hdGl2ZS1wb3dlciAuY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiA0MDBweDsgfVxuICAgICAgI2Z1bGwtbmF0aXZlLXBvd2VyIC5jb250ZW50OjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAyOTdweDtcbiAgICAgICAgaGVpZ2h0OiAzODZweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE1MHB4KTsgfSB9XG5cbiNmdXR1cmUtcHJvb2YgLmNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiA0MzFweDsgfVxuICAjZnV0dXJlLXByb29mIC5jb250ZW50OjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9zb2x1dGlvbnMvaW9uaWMtcGxhdGZvcm1zLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHdpZHRoOiA2MDZweDtcbiAgICBoZWlnaHQ6IDY3MnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogY2FsYyg1MCUgLSA2MzJweCk7XG4gICAgdG9wOiAyODJweDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgI2Z1dHVyZS1wcm9vZiAuY29udGVudDo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDMwM3B4O1xuICAgICAgaGVpZ2h0OiAzMzZweDtcbiAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDE1MHB4KTtcbiAgICAgIHRvcDogODBweDsgfSB9XG5cbiNob3ctdG8gLmNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAxNDZweDtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICNob3ctdG8gLmNvbnRlbnQgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jZ2V0LXN0YXJ0ZWQge1xuICBtYXJnaW4tdG9wOiAtMjI1cHg7XG4gIHBhZGRpbmctdG9wOiAxMzRweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgI2dldC1zdGFydGVkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMDBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0yMDBweDsgfSB9XG4iXX0= */ ================================================ FILE: content/css/pages/solutions/design.css ================================================ .cta.banner { background: #F6F8FB; text-align: left; } .cta.banner hgroup { max-width: 480px; margin-top: 86px; margin-bottom: 80px; } .cta.banner .container { position: relative; } .cta.banner h4, .cta.banner h1, .cta.banner p { position: relative; z-index: 1; } .cta.banner h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 14px; line-height: 26px; letter-spacing: 0.14em; text-transform: uppercase; color: #92A1B3; margin-bottom: 29px; } .cta.banner h1 { font-size: 64px; line-height: 71px; letter-spacing: -0.03em; color: #020814; margin-bottom: 14px; } .cta.banner p { font-size: 24px; line-height: 36px; letter-spacing: -0.04em; color: #27323F; opacity: 0.9; } #sticky-bar { box-shadow: 0px 1px 0px #E9EDF3, 0px -1px 0px #E9EDF3; background: white; position: -webkit-sticky; position: sticky; top: 0; z-index: 1; } #sticky-bar ul { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; padding-top: 17px; padding-bottom: 17px; -ms-flex-wrap: wrap; flex-wrap: wrap; } @media (max-width: 991px) { #sticky-bar ul { -ms-flex-pack: distribute; justify-content: space-around; } } #sticky-bar ul::before, #sticky-bar ul::after { display: none; } #sticky-bar li { list-style: none; } #sticky-bar li.active a:not(.btn) { color: #4a8bfc; } #sticky-bar a { padding: 10px 0; font-size: 14px; line-height: 22px; text-align: center; letter-spacing: 0.08em; text-transform: uppercase; display: block; } #sticky-bar a:hover, #sticky-bar a:active, #sticky-bar a:focus { background: transparent; text-decoration: none; } #sticky-bar a.btn { padding: 11px 14px 8px; margin-right: 3px; border-radius: 10px; color: white; font-weight: 600; } #sticky-bar a.btn:hover, #sticky-bar a.btn:active, #sticky-bar a.btn:focus { color: white; background: #317bfc; } #sticky-bar .anchor { color: #92A1B3; font-weight: 500; } #sticky-bar .anchor.active, #sticky-bar .anchor:hover { color: #4D8DFF; } main { letter-spacing: -0.028em; color: #2F3A48; } main h2 { font-size: 40px; line-height: 50px; letter-spacing: -0.03em; color: #020814; margin-bottom: 15px; } main h3 { color: #414D5C; font-weight: 600; margin-bottom: 4px; } main h3 + h2 { margin-top: 0; } main p { font-size: 20px; line-height: 31px; margin-bottom: 40px; } main ul { padding-left: 0; } main li { font-size: 16px; line-height: 23px; color: #1A232F; margin-bottom: 32px; position: relative; list-style: none; padding-left: 30px; letter-spacing: -.016em; } main li::before { content: url('data:image/svg+xml,\a \a \a '); position: absolute; left: 0; top: 1px; height: 15px; width: 15px; fill: #1A232F; display: block; } main section { display: -ms-flexbox; display: flex; position: relative; } main section.container::before, main section.container::after { display: none; } main section.right { -ms-flex-direction: row-reverse; flex-direction: row-reverse; } main section.center { -ms-flex-pack: center; justify-content: center; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } main section.center .content { max-width: 798px; text-align: center; } main section.center .content ul { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; } @media (max-width: 991px) { main section.center .content ul { -ms-flex-pack: start; justify-content: flex-start; } } main section.center .content li { max-width: 376px; width: 100%; } main .content { max-width: 482px; margin: 232px 0 184px; } @media (max-width: 991px) { main .content { max-width: 100%; margin: 60px auto; } } main aside { background: #F6F8FB; padding-top: 114px; padding-bottom: 120px; } main aside p { color: #414D5C; } main aside .content { max-width: 432px; margin: 0 auto; text-align: center; display: block; } main .get-started { max-width: 700px; } main .cards { display: -ms-flexbox; display: flex; text-align: left; -ms-flex-pack: center; justify-content: center; margin-top: 38px; } main .cards .card { background: #7CABFF; border-radius: 8px; padding: 40px 40px 34px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; margin-right: 24px; -ms-flex: 0 1 460px; flex: 0 1 460px; border-radius: 8px; } main .cards .card:last-child { margin-right: 0; } main .cards .card:nth-child(2) { background: #F88D8D; } main .cards .card:nth-child(2) .btn { background: rgba(244, 84, 84, 0.5); } main .cards h3 { font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: white; margin-top: 0; } main .cards p { font-size: 18px; line-height: 26px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.7); } main .cards .btn { margin-top: auto; font-size: 14px; line-height: 22px; letter-spacing: 0.09em; text-transform: uppercase; padding: 10px 14px; font-weight: 600; border-radius: 8px; background: rgba(56, 128, 255, 0.5); } main .cards .btn ion-icon { display: inline-block; height: 14px; width: 14px; vertical-align: -2px; } @media (max-width: 767px) { main .cards { -ms-flex-direction: column; flex-direction: column; } main .cards .card { -ms-flex: auto; flex: auto; margin-right: 0; margin-top: 20px; } } .resources { margin-top: 96px; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } .cta.banner hgroup::after { background: url("/img/solutions/design-systems-banner.svg"); background-size: cover; width: 755px; height: 593px; position: absolute; right: -72px; top: 74px; content: ''; } #build-and-share .content::after { background: url("/img/solutions/components.png"); background-size: cover; width: 881px; height: 727px; position: absolute; right: calc(50% - 900px); top: 112px; content: ''; } @media (max-width: 991px) { #build-and-share { margin-bottom: 100px; } #build-and-share .content::after { width: 387px; height: 363px; top: auto; right: calc(100% - 870px); bottom: -95px; } } #one-design .content::after { background: url("/img/solutions/everywhere.png"); background-size: cover; width: 762px; height: 512px; position: absolute; left: -182px; top: 214px; content: ''; } @media (max-width: 1219px) { #one-design .content::after { width: 508px; height: 341px; left: -70px; top: 250px; } } @media (max-width: 991px) { #one-design .content { margin-bottom: 250px; } #one-design .content::after { width: 381px; height: 256px; left: calc(50% - 190px); bottom: 0; top: auto; } } #developer-adoption { border-bottom: 1px solid rgba(146, 161, 179, 0.3); position: relative; } #developer-adoption .content { margin-top: 222px; margin-bottom: 198px; position: static; } #developer-adoption .content::after { background: url("/img/solutions/design-system-dashboard.png"); background-size: cover; width: 942px; height: 742px; position: absolute; right: calc(50% - 899px); bottom: 0; content: ''; } @media (max-width: 1219px) { #developer-adoption .content::after { right: calc(50% - 950px); } } @media (max-width: 991px) { #developer-adoption .content { margin-top: 100px; margin-bottom: 180px; } #developer-adoption .content::after { right: calc(50% - 540px); width: 471px; height: 371px; } } @media (max-width: 767px) { #developer-adoption .content::after { right: calc(100% - 920px); } } @media (min-width: 1794px) { #developer-adoption .content::after { right: 0; } } #help .content { text-align: left; } #help h2, #help p { margin-right: 140px; margin-left: 140px; } @media (max-width: 991px) { #help h2, #help p { margin-right: 0; margin-left: 0; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QjtJQUNFLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsaUJBQWlCLEVBQUU7SUFDbkI7TUFDRSw4REFBOEQ7TUFDOUQsdUJBQXVCO01BQ3ZCLGFBQWE7TUFDYixjQUFjO01BQ2QsbUJBQW1CO01BQ25CLHlCQUF5QjtNQUN6QixVQUFVO01BQ1YsWUFBWSxFQUFFO01BQ2Q7UUFDRTtVQUNFLHlCQUF5QixFQUFFLEVBQUU7SUFDbkM7TUFDRTtRQUNFLGtCQUFrQjtRQUNsQixxQkFBcUIsRUFBRTtRQUN2QjtVQUNFLHlCQUF5QjtVQUN6QixhQUFhO1VBQ2IsY0FBYyxFQUFFLEVBQUU7SUFDeEI7TUFDRTtRQUNFLDBCQUEwQixFQUFFLEVBQUU7RUFDcEM7SUFDRTtNQUNFLFNBQVMsRUFBRSxFQUFFOztBQUVuQjtFQUNFLGlCQUFpQixFQUFFOztBQUVyQjs7RUFFRSxvQkFBb0I7RUFDcEIsbUJBQW1CLEVBQUU7RUFDckI7SUFDRTs7TUFFRSxnQkFBZ0I7TUFDaEIsZUFBZSxFQUFFLEVBQUUiLCJmaWxlIjoicGFnZXMvc29sdXRpb25zL2Rlc2lnbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY3RhLmJhbm5lciB7XG4gIGJhY2tncm91bmQ6ICNGNkY4RkI7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmN0YS5iYW5uZXIgaGdyb3VwIHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgIG1hcmdpbi10b3A6IDg2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDsgfVxuICAuY3RhLmJhbm5lciAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmN0YS5iYW5uZXIgaDQsXG4gIC5jdGEuYmFubmVyIGgxLFxuICAuY3RhLmJhbm5lciBwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAuY3RhLmJhbm5lciBoNCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM5MkExQjM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjlweDsgfVxuICAuY3RhLmJhbm5lciBoMSB7XG4gICAgZm9udC1zaXplOiA2NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA3MXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIGNvbG9yOiAjMDIwODE0O1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7IH1cbiAgLmN0YS5iYW5uZXIgcCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtO1xuICAgIGNvbG9yOiAjMjczMjNGO1xuICAgIG9wYWNpdHk6IDAuOTsgfVxuXG4jc3RpY2t5LWJhciB7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMHB4ICNFOUVERjMsIDBweCAtMXB4IDBweCAjRTlFREYzO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxOyB9XG4gICNzdGlja3ktYmFyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLXRvcDogMTdweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTdweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNzdGlja3ktYmFyIHVsIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH0gfVxuICAgICNzdGlja3ktYmFyIHVsOjpiZWZvcmUsICNzdGlja3ktYmFyIHVsOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICNzdGlja3ktYmFyIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI3N0aWNreS1iYXIgbGkuYWN0aXZlIGE6bm90KC5idG4pIHtcbiAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICNzdGlja3ktYmFyIGEge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNzdGlja3ktYmFyIGE6aG92ZXIsICNzdGlja3ktYmFyIGE6YWN0aXZlLCAjc3RpY2t5LWJhciBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgI3N0aWNreS1iYXIgYS5idG4ge1xuICAgICAgcGFkZGluZzogMTFweCAxNHB4IDhweDtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICNzdGlja3ktYmFyIGEuYnRuOmhvdmVyLCAjc3RpY2t5LWJhciBhLmJ0bjphY3RpdmUsICNzdGlja3ktYmFyIGEuYnRuOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzE3YmZjOyB9XG4gICNzdGlja3ktYmFyIC5hbmNob3Ige1xuICAgIGNvbG9yOiAjOTJBMUIzO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAjc3RpY2t5LWJhciAuYW5jaG9yLmFjdGl2ZSwgI3N0aWNreS1iYXIgLmFuY2hvcjpob3ZlciB7XG4gICAgICBjb2xvcjogIzREOERGRjsgfVxuXG5tYWluIHtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyOGVtO1xuICBjb2xvcjogIzJGM0E0ODsgfVxuICBtYWluIGgyIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBtYWluIGgzIHtcbiAgICBjb2xvcjogIzQxNEQ1QztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgIG1haW4gaDMgKyBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIG1haW4gcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgbWFpbiB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIG1haW4gbGkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICBjb2xvcjogIzFBMjMyRjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMTZlbTsgfVxuICAgIG1haW4gbGk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCxcXGEgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIj5cXGEgICAgICAgICAgIDxwYXRoIGQ9XCJNMTg2LjMwMSAzMzkuODkzTDk2IDI0OS40NjFsLTMyIDMwLjUwN0wxODYuMzAxIDQwMiA0NDggMTQwLjUwNiA0MTYgMTEwelwiLz5cXGEgICAgICAgICA8L3N2Zz4nKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgZmlsbDogIzFBMjMyRjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIG1haW4gc2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBtYWluIHNlY3Rpb24uY29udGFpbmVyOjpiZWZvcmUsIG1haW4gc2VjdGlvbi5jb250YWluZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBtYWluIHNlY3Rpb24ucmlnaHQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgbWFpbiBzZWN0aW9uLmNlbnRlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICBtYWluIHNlY3Rpb24uY2VudGVyIC5jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA3OThweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIG1haW4gc2VjdGlvbi5jZW50ZXIgLmNvbnRlbnQgdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgbWFpbiBzZWN0aW9uLmNlbnRlciAuY29udGVudCB1bCB7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gICAgICAgIG1haW4gc2VjdGlvbi5jZW50ZXIgLmNvbnRlbnQgbGkge1xuICAgICAgICAgIG1heC13aWR0aDogMzc2cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgbWFpbiAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0ODJweDtcbiAgICBtYXJnaW46IDIzMnB4IDAgMTg0cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIG1haW4gLmNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogNjBweCBhdXRvOyB9IH1cbiAgbWFpbiBhc2lkZSB7XG4gICAgYmFja2dyb3VuZDogI0Y2RjhGQjtcbiAgICBwYWRkaW5nLXRvcDogMTE0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9XG4gICAgbWFpbiBhc2lkZSBwIHtcbiAgICAgIGNvbG9yOiAjNDE0RDVDOyB9XG4gICAgbWFpbiBhc2lkZSAuY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDQzMnB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICBtYWluIC5nZXQtc3RhcnRlZCB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDsgfVxuICBtYWluIC5jYXJkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDM4cHg7IH1cbiAgICBtYWluIC5jYXJkcyAuY2FyZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjN0NBQkZGO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgcGFkZGluZzogNDBweCA0MHB4IDM0cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuICAgICAgZmxleDogMCAxIDQ2MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gICAgICBtYWluIC5jYXJkcyAuY2FyZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICBtYWluIC5jYXJkcyAuY2FyZDpudGgtY2hpbGQoMikge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjg4RDhEOyB9XG4gICAgICAgIG1haW4gLmNhcmRzIC5jYXJkOm50aC1jaGlsZCgyKSAuYnRuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NCwgODQsIDg0LCAwLjUpOyB9XG4gICAgbWFpbiAuY2FyZHMgaDMge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIG1haW4gLmNhcmRzIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgICBtYWluIC5jYXJkcyAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA5ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcGFkZGluZzogMTBweCAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTYsIDEyOCwgMjU1LCAwLjUpOyB9XG4gICAgICBtYWluIC5jYXJkcyAuYnRuIGlvbi1pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgbWFpbiAuY2FyZHMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIG1haW4gLmNhcmRzIC5jYXJkIHtcbiAgICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cblxuLnJlc291cmNlcyB7XG4gIG1hcmdpbi10b3A6IDk2cHg7IH1cblxuLnJlc291cmNlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucmVzb3VyY2VzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cbiAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4OyB9XG4gIC5yZXNvdXJjZXMgaGdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBoMyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICMxQTIzMkY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgIGNvbG9yOiAjMzg4MEZGO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGlvbi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOyB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAwIDAgMzMuMzMlO1xuICAgIHBhZGRpbmc6IDI0cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSAuaW1nLXdyYXBwZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg2IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI0IyQkVDRDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHAge1xuICAgICAgY29sb3I6ICM1QjcwOEI7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEycHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBwYWRkaW5nOiAxMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgLnJlc291cmNlcyBoNSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmN0YS5iYW5uZXIgaGdyb3VwOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHVybChcIi9pbWcvc29sdXRpb25zL2Rlc2lnbi1zeXN0ZW1zLWJhbm5lci5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHdpZHRoOiA3NTVweDtcbiAgaGVpZ2h0OiA1OTNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTcycHg7XG4gIHRvcDogNzRweDtcbiAgY29udGVudDogJyc7IH1cblxuI2J1aWxkLWFuZC1zaGFyZSAuY29udGVudDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3NvbHV0aW9ucy9jb21wb25lbnRzLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgd2lkdGg6IDg4MXB4O1xuICBoZWlnaHQ6IDcyN3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiBjYWxjKDUwJSAtIDkwMHB4KTtcbiAgdG9wOiAxMTJweDtcbiAgY29udGVudDogJyc7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICNidWlsZC1hbmQtc2hhcmUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG4gICAgI2J1aWxkLWFuZC1zaGFyZSAuY29udGVudDo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDM4N3B4O1xuICAgICAgaGVpZ2h0OiAzNjNweDtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSA4NzBweCk7XG4gICAgICBib3R0b206IC05NXB4OyB9IH1cblxuI29uZS1kZXNpZ24gLmNvbnRlbnQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9zb2x1dGlvbnMvZXZlcnl3aGVyZS5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHdpZHRoOiA3NjJweDtcbiAgaGVpZ2h0OiA1MTJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTgycHg7XG4gIHRvcDogMjE0cHg7XG4gIGNvbnRlbnQ6ICcnOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAjb25lLWRlc2lnbiAuY29udGVudDo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDUwOHB4O1xuICAgICAgaGVpZ2h0OiAzNDFweDtcbiAgICAgIGxlZnQ6IC03MHB4O1xuICAgICAgdG9wOiAyNTBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAjb25lLWRlc2lnbiAuY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAjb25lLWRlc2lnbiAuY29udGVudDo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDM4MXB4O1xuICAgICAgaGVpZ2h0OiAyNTZweDtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTkwcHgpO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdG9wOiBhdXRvOyB9IH1cblxuI2RldmVsb3Blci1hZG9wdGlvbiB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE0NiwgMTYxLCAxNzksIDAuMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjZGV2ZWxvcGVyLWFkb3B0aW9uIC5jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAyMjJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOThweDtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgI2RldmVsb3Blci1hZG9wdGlvbiAuY29udGVudDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9zb2x1dGlvbnMvZGVzaWduLXN5c3RlbS1kYXNoYm9hcmQucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIHdpZHRoOiA5NDJweDtcbiAgICAgIGhlaWdodDogNzQycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogY2FsYyg1MCUgLSA4OTlweCk7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgICAjZGV2ZWxvcGVyLWFkb3B0aW9uIC5jb250ZW50OjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gOTUwcHgpOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNkZXZlbG9wZXItYWRvcHRpb24gLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTgwcHg7IH1cbiAgICAgICAgI2RldmVsb3Blci1hZG9wdGlvbiAuY29udGVudDo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDU0MHB4KTtcbiAgICAgICAgICB3aWR0aDogNDcxcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNzFweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjZGV2ZWxvcGVyLWFkb3B0aW9uIC5jb250ZW50OjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSA5MjBweCk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTc5NHB4KSB7XG4gICAgI2RldmVsb3Blci1hZG9wdGlvbiAuY29udGVudDo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7IH0gfVxuXG4jaGVscCAuY29udGVudCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuI2hlbHAgaDIsXG4jaGVscCBwIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNDBweDtcbiAgbWFyZ2luLWxlZnQ6IDE0MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNoZWxwIGgyLFxuICAgICNoZWxwIHAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuIl19 */ ================================================ FILE: content/css/pages/strategy-session.css ================================================ #page-strategy-session .cta { background-color: #243c54; background-image: url("/img/strategy-session/strategy-session-hero.jpg"); background-size: cover; background-repeat: no-repeat; background-position: center center; } #page-strategy-session .cta hgroup { padding-top: 54px; padding-bottom: 80px; max-width: 510px; } #page-strategy-session .cta hgroup h1 { font-size: 48px; letter-spacing: -0.03em; } #page-strategy-session .cta hgroup p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 22px; line-height: 36px; letter-spacing: -0.02em; color: #F6F8FB; opacity: 0.8; } @media (max-width: 768px) { #page-strategy-session .cta hgroup { text-align: center; margin: 0 auto; padding-top: 46px; padding-bottom: 50px; } #page-strategy-session .cta hgroup h1 { font-size: 40px; } } #page-strategy-session main { overflow: visible; } #page-strategy-session .content-row { display: -ms-flexbox; display: flex; } @media (max-width: 992px) { #page-strategy-session .content-row { -ms-flex-direction: column; flex-direction: column; max-width: 560px; margin: 0 auto; } } #page-strategy-session .content, #page-strategy-session .signup-form { -ms-flex: 0 0 50%; flex: 0 0 50%; } @media (max-width: 992px) { #page-strategy-session .content, #page-strategy-session .signup-form { -ms-flex: 0 0 100%; flex: 0 0 100%; } } #page-strategy-session .content { padding-right: 100px; margin-top: 80px; } #page-strategy-session .content h2 { font-weight: 600; font-size: 26px; line-height: 39px; letter-spacing: -0.02em; color: #1A232F; } #page-strategy-session .content ul { margin: 40px 0 0; padding: 0; max-width: 100% !important; } @media (max-width: 992px) { #page-strategy-session .content { padding-right: 0px; margin-top: 42px; margin-bottom: 84px; } } #page-strategy-session .signup-form { position: relative; z-index: 100; margin-top: -26px; background: #FFFFFF; box-shadow: 0px 2px 8px rgba(2, 8, 20, 0.1), 0px 8px 16px rgba(2, 8, 20, 0.08); border-radius: 8px; padding: 48px 56px 56px; box-sizing: border-box; } #page-strategy-session .signup-form h3 { font-weight: 600; font-size: 20px; line-height: 26px; letter-spacing: -0.02em; color: #020814; margin-top: 0; margin-bottom: 16px; } #page-strategy-session .signup-form .hs_submit input.hs-button { width: 100%; } @media (max-width: 992px) { #page-strategy-session .signup-form { padding: 32px 36px 36px; } #page-strategy-session .signup-form fieldset.form-columns-2 .hs-form-field { width: 100%; float: none; padding: 0; } #page-strategy-session .signup-form fieldset.form-columns-2 .hs-form-field + .hs-form-field { margin-top: 24px; } #page-strategy-session .signup-form .inputs-list.multi-container li:nth-last-child(n+6):first-child, #page-strategy-session .signup-form .inputs-list.multi-container li:nth-last-child(n+6):first-child ~ li { width: 100%; float: none; padding-right: 0; } #page-strategy-session .signup-form .inputs-list.multi-container li:nth-last-child(n+6):first-child ~ li:nth-child(even) { padding-left: 0; } } @media (max-width: 768px) { #page-strategy-session .signup-form { padding: 26px 24px 24px; position: static; z-index: 1; } } #page-strategy-session .testimonial { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; border-bottom: 1px solid #E9EDF3; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-weight: 600; letter-spacing: -0.01em; margin-top: 64px; } #page-strategy-session .testimonial__img, #page-strategy-session .testimonial__caption { -ms-flex: 0 0 45%; flex: 0 0 45%; } #page-strategy-session .testimonial__img { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: end; justify-content: flex-end; } #page-strategy-session .testimonial__img img { width: 100%; } #page-strategy-session .testimonial__caption { position: relative; padding-top: 16px; } #page-strategy-session .testimonial__caption::before { content: ''; display: block; background-image: url("/img/strategy-session/quotes.svg"); width: 32px; height: 24px; position: absolute; left: -46px; top: 20px; } #page-strategy-session .testimonial__quote { font-weight: 500; font-size: 14px; line-height: 20px; color: #5B708B; margin: 0 0 16px; } #page-strategy-session .testimonial__name { font-size: 14px; line-height: 22px; color: #1A232F; margin: 0; } #page-strategy-session .testimonial__title { font-size: 10px; line-height: 17px; letter-spacing: 0.06em; text-transform: uppercase; color: #73849A; margin: 0 0 16px; } @media (max-width: 480px) { #page-strategy-session .testimonial { -ms-flex-direction: column; flex-direction: column; border-bottom: 0; } #page-strategy-session .testimonial__img, #page-strategy-session .testimonial__caption { -ms-flex: 0 0 100%; flex: 0 0 100%; } #page-strategy-session .testimonial__img { -ms-flex-align: center; align-items: center; } #page-strategy-session .testimonial img { max-width: 210px; } #page-strategy-session .testimonial__caption { border-top: 1px solid #E9EDF3; padding-left: 46px; } #page-strategy-session .testimonial__caption::before { left: 0; } } .customer-callout { background: linear-gradient(180deg, #F9FAFB 0%, #FFFFFF 100%); margin-top: 120px; margin-bottom: 140px; padding-top: 140px; } @media (max-width: 768px) { .customer-callout { margin-top: 80px; margin-bottom: 80px; padding-top: 68px; } } .customer-callout hgroup { text-align: center; } .customer-callout hgroup h3 { font-size: 34px; line-height: 40px; text-align: center; letter-spacing: -0.02em; color: #1A232F; } .customer-callout hgroup p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; line-height: 33px; text-align: center; letter-spacing: -0.02em; color: #5B708B; max-width: 860px; margin-left: auto; margin-right: auto; } .customer-callout__logos { display: -ms-flexbox; display: flex; margin: 26px auto 0; padding: 0; -ms-flex-pack: justify; justify-content: space-between; max-width: 780px; width: 100%; } .customer-callout__logos li { background: url("/img/customer-logos.jpg"); background-size: 428px 46px; background-repeat: no-repeat; display: block; height: 46px; } @media (max-width: 768px) { .customer-callout__logos { -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; max-width: 460px; } .customer-callout__logos li { margin: 20px; } } .customer-callout .mastercard { width: 58px; } .customer-callout .nationwide { background-position: -58px 0; width: 33px; } .customer-callout .uniqlo { background-position: -91px 0; width: 65px; } .customer-callout .ibm { background-position: -156px 0; width: 64px; } .customer-callout .ing { background-position: -222px 0; width: 103px; } .customer-callout .sap { background-position: -326px 0; width: 56px; } .customer-callout .nasa { background-position: -380px 0; width: 50px; } .resources { padding-bottom: 120px; } @media (max-width: 768px) { .resources { padding-bottom: 60px; } } .resources .cards { list-style-type: none; margin: 0; padding: 0; display: -ms-flexbox; display: flex; margin-left: -24px; margin-right: -24px; } .resources hgroup { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; } .resources hgroup h3 { font-weight: 600; line-height: normal; font-size: 28px; letter-spacing: -0.02em; color: #1A232F; margin-bottom: 0; } .resources hgroup h4 { font-weight: 600; font-size: 24px; line-height: normal; letter-spacing: -0.02em; color: #1A232F; } .resources hgroup h5 { font-weight: 700; line-height: 1; font-size: 14px; letter-spacing: 0.08em; color: #3880FF; text-transform: uppercase; } .resources hgroup ion-icon { -webkit-transform: translateY(2px); transform: translateY(2px); } .resources .cards li { display: block; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding: 24px; } .resources .cards li a { display: block; width: 100%; } .resources .cards li .img-wrapper { overflow: hidden; border-radius: 6px; } .resources .cards li img { width: 100%; } .resources .cards li h6 { line-height: 23px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #B2BECD; margin-bottom: 0; margin-top: 16px; } .resources .cards li h4 { font-size: 20px; margin-top: 10px; color: #1A232F; font-weight: 600; } .resources .cards li p { color: #5B708B; line-height: 22px; font-size: 14px; letter-spacing: -0.02em; } @media (max-width: 992px) { .resources .cards { margin-left: -12px; margin-right: -12px; } .resources .cards li { padding: 12px; } } @media (max-width: 768px) { .resources .cards { -ms-flex-wrap: wrap; flex-wrap: wrap; } .resources .cards li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 480px) { .resources .cards li { -ms-flex: 0 0 100%; flex: 0 0 100%; } .resources h5 { display: none; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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TUFDbEIsZ0JBQWdCO01BQ2hCLHVCQUF1QjtNQUN2QiwwQkFBMEI7TUFDMUIsZUFBZTtNQUNmLGlCQUFpQjtNQUNqQixpQkFBaUIsRUFBRTtJQUNyQjtNQUNFLGdCQUFnQjtNQUNoQixpQkFBaUI7TUFDakIsZUFBZTtNQUNmLGlCQUFpQixFQUFFO0lBQ3JCO01BQ0UsZUFBZTtNQUNmLGtCQUFrQjtNQUNsQixnQkFBZ0I7TUFDaEIsd0JBQXdCLEVBQUU7RUFDOUI7SUFDRTtNQUNFLG1CQUFtQjtNQUNuQixvQkFBb0IsRUFBRTtJQUN4QjtNQUNFLGNBQWMsRUFBRSxFQUFFO0VBQ3RCO0lBQ0U7TUFDRSxvQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUU7SUFDcEI7TUFDRSxrQkFBYztVQUFkLGNBQWMsRUFBRSxFQUFFO0VBQ3RCO0lBQ0U7TUFDRSxtQkFBZTtVQUFmLGVBQWUsRUFBRTtJQUNuQjtNQUNFLGNBQWMsRUFBRSxFQUFFIiwiZmlsZSI6InBhZ2VzL3N0cmF0ZWd5LXNlc3Npb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuY3RhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0M2M1NDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zdHJhdGVneS1zZXNzaW9uL3N0cmF0ZWd5LXNlc3Npb24taGVyby5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH1cblxuI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuY3RhIGhncm91cCB7XG4gIHBhZGRpbmctdG9wOiA1NHB4O1xuICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgbWF4LXdpZHRoOiA1MTBweDsgfVxuICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5jdGEgaGdyb3VwIGgxIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07IH1cbiAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuY3RhIGhncm91cCBwIHtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogI0Y2RjhGQjtcbiAgICBvcGFjaXR5OiAwLjg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuY3RhIGhncm91cCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmctdG9wOiA0NnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cbiAgICAgICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLmN0YSBoZ3JvdXAgaDEge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7IH0gfVxuXG4jcGFnZS1zdHJhdGVneS1zZXNzaW9uIG1haW4ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4jcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5jb250ZW50LXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuY29udGVudC1yb3cge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbiNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLmNvbnRlbnQsXG4jcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5zaWdudXAtZm9ybSB7XG4gIGZsZXg6IDAgMCA1MCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuY29udGVudCxcbiAgICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5zaWdudXAtZm9ybSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfSB9XG5cbiNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLmNvbnRlbnQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLXRvcDogODBweDsgfVxuICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5jb250ZW50IGgyIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMzlweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogIzFBMjMyRjsgfVxuICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5jb250ZW50IHVsIHtcbiAgICBtYXJnaW46IDQwcHggMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgICBtYXJnaW4tdG9wOiA0MnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogODRweDsgfSB9XG5cbiNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLnNpZ251cC1mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDA7XG4gIG1hcmdpbi10b3A6IC0yNnB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDhweCByZ2JhKDIsIDgsIDIwLCAwLjEpLCAwcHggOHB4IDE2cHggcmdiYSgyLCA4LCAyMCwgMC4wOCk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogNDhweCA1NnB4IDU2cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuc2lnbnVwLWZvcm0gaDMge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjMDIwODE0O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5zaWdudXAtZm9ybSAuaHNfc3VibWl0IGlucHV0LmhzLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuc2lnbnVwLWZvcm0ge1xuICAgICAgcGFkZGluZzogMzJweCAzNnB4IDM2cHg7IH1cbiAgICAgICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLnNpZ251cC1mb3JtIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0yIC5ocy1mb3JtLWZpZWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLnNpZ251cC1mb3JtIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0yIC5ocy1mb3JtLWZpZWxkICsgLmhzLWZvcm0tZmllbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH1cbiAgICAgICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLnNpZ251cC1mb3JtIC5pbnB1dHMtbGlzdC5tdWx0aS1jb250YWluZXIgbGk6bnRoLWxhc3QtY2hpbGQobis2KTpmaXJzdC1jaGlsZCxcbiAgICAgICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLnNpZ251cC1mb3JtIC5pbnB1dHMtbGlzdC5tdWx0aS1jb250YWluZXIgbGk6bnRoLWxhc3QtY2hpbGQobis2KTpmaXJzdC1jaGlsZCB+IGxpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5zaWdudXAtZm9ybSAuaW5wdXRzLWxpc3QubXVsdGktY29udGFpbmVyIGxpOm50aC1sYXN0LWNoaWxkKG4rNik6Zmlyc3QtY2hpbGQgfiBsaTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5zaWdudXAtZm9ybSB7XG4gICAgICBwYWRkaW5nOiAyNnB4IDI0cHggMjRweDtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB6LWluZGV4OiAxOyB9IH1cblxuI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAudGVzdGltb25pYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTlFREYzO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBtYXJnaW4tdG9wOiA2NHB4OyB9XG4gICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLnRlc3RpbW9uaWFsX19pbWcsICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLnRlc3RpbW9uaWFsX19jYXB0aW9uIHtcbiAgICBmbGV4OiAwIDAgNDUlOyB9XG4gICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLnRlc3RpbW9uaWFsX19pbWcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAudGVzdGltb25pYWxfX2ltZyBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAudGVzdGltb25pYWxfX2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMTZweDsgfVxuICAgICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLnRlc3RpbW9uaWFsX19jYXB0aW9uOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc3RyYXRlZ3ktc2Vzc2lvbi9xdW90ZXMuc3ZnXCIpO1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtNDZweDtcbiAgICAgIHRvcDogMjBweDsgfVxuICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC50ZXN0aW1vbmlhbF9fcXVvdGUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7IH1cbiAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAudGVzdGltb25pYWxfX25hbWUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBjb2xvcjogIzFBMjMyRjtcbiAgICBtYXJnaW46IDA7IH1cbiAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAudGVzdGltb25pYWxfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNzM4NDlBO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAudGVzdGltb25pYWwge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAgICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLnRlc3RpbW9uaWFsX19pbWcsICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLnRlc3RpbW9uaWFsX19jYXB0aW9uIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLnRlc3RpbW9uaWFsX19pbWcge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC50ZXN0aW1vbmlhbCBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDIxMHB4OyB9XG4gICAgICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC50ZXN0aW1vbmlhbF9fY2FwdGlvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTlFREYzO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ2cHg7IH1cbiAgICAgICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAudGVzdGltb25pYWxfX2NhcHRpb246OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogMDsgfSB9XG5cbi5jdXN0b21lci1jYWxsb3V0IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0Y5RkFGQiAwJSwgI0ZGRkZGRiAxMDAlKTtcbiAgbWFyZ2luLXRvcDogMTIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE0MHB4O1xuICBwYWRkaW5nLXRvcDogMTQwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmN1c3RvbWVyLWNhbGxvdXQge1xuICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogNjhweDsgfSB9XG4gIC5jdXN0b21lci1jYWxsb3V0IGhncm91cCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmN1c3RvbWVyLWNhbGxvdXQgaGdyb3VwIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzFBMjMyRjsgfVxuICAgIC5jdXN0b21lci1jYWxsb3V0IGhncm91cCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICM1QjcwOEI7XG4gICAgICBtYXgtd2lkdGg6IDg2MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmN1c3RvbWVyLWNhbGxvdXRfX2xvZ29zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMjZweCBhdXRvIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWF4LXdpZHRoOiA3ODBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jdXN0b21lci1jYWxsb3V0X19sb2dvcyBsaSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2N1c3RvbWVyLWxvZ29zLmpwZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDI4cHggNDZweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNDZweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmN1c3RvbWVyLWNhbGxvdXRfX2xvZ29zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWF4LXdpZHRoOiA0NjBweDsgfVxuICAgICAgICAuY3VzdG9tZXItY2FsbG91dF9fbG9nb3MgbGkge1xuICAgICAgICAgIG1hcmdpbjogMjBweDsgfSB9XG4gIC5jdXN0b21lci1jYWxsb3V0IC5tYXN0ZXJjYXJkIHtcbiAgICB3aWR0aDogNThweDsgfVxuICAuY3VzdG9tZXItY2FsbG91dCAubmF0aW9ud2lkZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU4cHggMDtcbiAgICB3aWR0aDogMzNweDsgfVxuICAuY3VzdG9tZXItY2FsbG91dCAudW5pcWxvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTFweCAwO1xuICAgIHdpZHRoOiA2NXB4OyB9XG4gIC5jdXN0b21lci1jYWxsb3V0IC5pYm0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTZweCAwO1xuICAgIHdpZHRoOiA2NHB4OyB9XG4gIC5jdXN0b21lci1jYWxsb3V0IC5pbmcge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjJweCAwO1xuICAgIHdpZHRoOiAxMDNweDsgfVxuICAuY3VzdG9tZXItY2FsbG91dCAuc2FwIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzI2cHggMDtcbiAgICB3aWR0aDogNTZweDsgfVxuICAuY3VzdG9tZXItY2FsbG91dCAubmFzYSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM4MHB4IDA7XG4gICAgd2lkdGg6IDUwcHg7IH1cblxuLnJlc291cmNlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucmVzb3VyY2VzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cbiAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4OyB9XG4gIC5yZXNvdXJjZXMgaGdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgICAucmVzb3VyY2VzIGhncm91cCBoMyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICMxQTIzMkY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDQge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiAjMUEyMzJGOyB9XG4gICAgLnJlc291cmNlcyBoZ3JvdXAgaDUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgIGNvbG9yOiAjMzg4MEZGO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5yZXNvdXJjZXMgaGdyb3VwIGlvbi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOyB9XG4gIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAwIDAgMzMuMzMlO1xuICAgIHBhZGRpbmc6IDI0cHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSAuaW1nLXdyYXBwZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIGg2IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI0IyQkVDRDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkgaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGNvbG9yOiAjMUEyMzJGO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHAge1xuICAgICAgY29sb3I6ICM1QjcwOEI7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEycHg7IH1cbiAgICAucmVzb3VyY2VzIC5jYXJkcyBsaSB7XG4gICAgICBwYWRkaW5nOiAxMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnJlc291cmNlcyAuY2FyZHMge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnJlc291cmNlcyAuY2FyZHMgbGkge1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5yZXNvdXJjZXMgLmNhcmRzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgLnJlc291cmNlcyBoNSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/subscribe.css ================================================ .subscribe { background-color: #fff; border-radius: 6px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.1); max-width: 400px; margin: -64px auto 80px auto; padding: 32px 24px; } .subscribe img { width: 100%; margin-bottom: 32px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN1YnNjcmliZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLHdFQUF3RTtFQUN4RSxpQkFBaUI7RUFDakIsNkJBQTZCO0VBQzdCLG1CQUFtQixFQUFFO0VBQ3JCO0lBQ0UsWUFBWTtJQUNaLG9CQUFvQixFQUFFIiwiZmlsZSI6InBhZ2VzL3N1YnNjcmliZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc3Vic2NyaWJlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luOiAtNjRweCBhdXRvIDgwcHggYXV0bztcbiAgcGFkZGluZzogMzJweCAyNHB4OyB9XG4gIC5zdWJzY3JpYmUgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4iXX0= */ ================================================ FILE: content/css/pages/support.css ================================================ #page-support .cta { background: #4192fe no-repeat center bottom; background-image: url("/img/support/cta-bg.png"); background-size: cover; } #page-support .cta hgroup { max-width: 560px; padding-top: 56px; padding-bottom: 112px; } #page-support .cta hgroup h1 { font-size: 56px; } #page-support .cta hgroup p { font-size: 24px; letter-spacing: -0.03em; color: rgba(255, 255, 255, 0.9); } @media (max-width: 768px) { #page-support .cta hgroup { max-width: 460px; padding-top: 60px; padding-bottom: 80px; } #page-support .cta hgroup h1 { font-size: 40px; line-height: 54px; margin-bottom: 6px; } #page-support .cta hgroup p { line-height: 30px; font-size: 20px; margin-left: auto; max-width: 308px; margin-right: auto; } } #page-support main hgroup h2 { font-size: 22px; margin-top: 30px; } #page-support main hgroup p { font-size: 16px; color: #898989; font-weight: 400; } #page-support main .container { margin-top: 126px; } #page-support main .container + .container, #page-support main .container + .banner { margin-top: 180px; } #page-support main .container__header { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: end; align-items: flex-end; margin-bottom: 58px; } #page-support main .container__header hgroup { -ms-flex: 0 0 50%; flex: 0 0 50%; } #page-support main .container__header h2 { font-size: 40px; letter-spacing: -0.03em; } #page-support main .container__header h4 { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-weight: 600; font-size: 16px; letter-spacing: -0.01em; } #page-support main .container__header p { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-size: 20px; line-height: 30px; color: #616E7E; margin-bottom: 0; letter-spacing: -0.02em; } #page-support main .container__header .btn { box-shadow: 0px 2px 6px rgba(2, 8, 20, 0.08), 0px 1px 2px rgba(2, 8, 20, 0.1); border-radius: 8px; padding: 12px 18px; font-weight: 600; font-size: 14px; letter-spacing: -0.01em; } @media (max-width: 992px) { #page-support main .container__header h2 { font-size: 36px; } #page-support main .container__header p { font-size: 18px; line-height: 28px; } } @media (max-width: 768px) { #page-support main .container { margin-top: 64px; } #page-support main .container + .container, #page-support main .container + .banner { margin-top: 84px; } #page-support main .container__header { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } #page-support main .container__header hgroup { text-align: center; margin-bottom: 16px; max-width: 520px; } #page-support main .container__header h2 { font-size: 32px; } } #page-support .card-list { display: -ms-flexbox; display: flex; list-style-type: none; margin: 0 -29px; padding: 0; } #page-support .card-list__card { padding: 0 29px; -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; } #page-support .card-list__card a { color: inherit; } #page-support .card-list__card a, #page-support .card-list__card a:active { text-decoration: none; } #page-support .card-list__card img { width: 100%; } #page-support .card-list__card h3 { font-weight: 600; font-size: 24px; line-height: 30px; letter-spacing: -0.01em; color: #1A232F; margin-bottom: 10px; margin-top: 20px; } #page-support .card-list__card p { font-size: 16px; line-height: 27px; letter-spacing: -0.01em; color: #616E7E; } #page-support .card-list__card .link-text { transition: 0.2s color; font-size: 16px; line-height: 27px; letter-spacing: -0.01em; color: #3880FF; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-align: center; align-items: center; } #page-support .card-list__card .link-text ion-icon { transition: 0.2s translate; -webkit-transform: translate(1px, 1px); transform: translate(1px, 1px); } #page-support .card-list__card a:hover .link-text { color: #0c59e0; } #page-support .card-list__card a:hover .link-text ion-icon { -webkit-transform: translate(3px, 1px); transform: translate(3px, 1px); } @media (max-width: 992px) { #page-support .card-list { margin: 0 -16px; } #page-support .card-list__card { padding: 0 16px; } #page-support .card-list__card h3 { font-size: 20px; } #page-support .card-list__card p { font-size: 15px; line-height: 25px; } } @media (max-width: 768px) { #page-support .card-list { -ms-flex-direction: column; flex-direction: column; max-width: 400px; margin-left: auto; margin-right: auto; } #page-support .card-list__card { padding: 0; } #page-support .card-list__card + .card-list__card { margin-top: 32px; } } #page-support .link-list { display: -ms-flexbox; display: flex; list-style-type: none; margin: 78px 0 0; padding: 0; -ms-flex-pack: justify; justify-content: space-between; } #page-support .link-list a { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } #page-support .link-list a svg path { transition: 0.2s fill; fill: #414D5C; } #page-support .link-list a:hover svg path { fill: #3880FF; } #page-support .link-list a span { transition: 0.2s color; padding-top: 8px; font-size: 16px; line-height: 25px; text-align: center; letter-spacing: -0.01em; color: #414D5C; } #page-support .link-list a:hover span { color: #3880FF; } @media (max-width: 992px) { #page-support .link-list { margin: 56px 0 0; } #page-support .link-list svg { height: 36px; } } @media (max-width: 768px) { #page-support .link-list { max-width: 440px; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: auto; margin-right: auto; } #page-support .link-list li { -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; margin-bottom: 28px; } #page-support .link-list svg { height: 24px; } #page-support .link-list span { font-size: 12px; } } @media (max-width: 480px) { #page-support .link-list li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } #page-support .items { list-style: none; margin-top: 28px; } @media (max-width: 1219px) { #page-support .items { display: -ms-flexbox; display: flex; -ms-flex-pack: distribute; justify-content: space-around; } } @media (max-width: 991px) { #page-support .items { display: block; } } #page-support .items a { padding: 14px 23px 18px 95px; margin-right: 13px; position: relative; cursor: pointer; display: inline-block; width: 365px; margin-bottom: 30px; vertical-align: top; } #page-support .items a, #page-support .items a:hover, #page-support .items a:active { text-decoration: none; } #page-support .items a:last-child { margin-right: 0; } @media (max-width: 991px) { #page-support .items a { display: block; margin: 18px auto; } #page-support .items a:last-child { margin-right: auto; } } #page-support .items a::before { border-radius: 4px; background: white; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15); position: absolute; top: 0; bottom: 0; left: 0; right: 0; content: ''; display: block; transition: 0.3s box-shadow, 0.3s -webkit-transform cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: 0.3s transform cubic-bezier(0.155, 1.105, 0.295, 1.12), 0.3s box-shadow; transition: 0.3s transform cubic-bezier(0.155, 1.105, 0.295, 1.12), 0.3s box-shadow, 0.3s -webkit-transform cubic-bezier(0.155, 1.105, 0.295, 1.12); } #page-support .items a:hover { text-decoration: none; } #page-support .items a:hover::before { box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); -webkit-transform: scale(1.05); transform: scale(1.05); } @media (max-width: 767px) { #page-support .items a { width: 100%; } #page-support .items a:hover { text-decoration: none; } #page-support .items a:hover::before { -webkit-transform: scale(1); transform: scale(1); } } #page-support .items a::after { background-repeat: no-repeat; background-image: url("/img/support/support-thumbnails.png"); background-size: 48px; width: 48px; height: 48px; content: ''; display: block; position: absolute; left: 29px; top: 34px; transition: 0.3s -webkit-transform cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: 0.3s transform cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: 0.3s transform cubic-bezier(0.155, 1.105, 0.295, 1.12), 0.3s -webkit-transform cubic-bezier(0.155, 1.105, 0.295, 1.12); } #page-support .items a.slack::after { background-position: 0 -48px; } #page-support .items a.so::after { background-position: 0 -96px; } #page-support .items a.account::after { background-position: 0 -144px; } #page-support .items a.bug::after { background-position: 0 -192px; } #page-support .items a.troubleshooting::after { background-position: 0 -240px; } #page-support .items a.resources::after { background-position: 0 -288px; } #page-support .items a.github::after { background-position: 0 -336px; } #page-support .items a.faq::after { background-position: 0 -384px; } #page-support .items a h3 { color: #272a2f; font-size: 16px; position: relative; letter-spacing: -.02em; margin-bottom: 8px; } #page-support .items a p { color: #898989; font-size: 14px; font-weight: 400; position: relative; line-height: 1.4; } #page-support .banner { background: #18263E; background-image: url("/img/support/support-banner-bg.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center; } #page-support .banner .container { margin-top: 0; } #page-support .banner hgroup { margin-top: 0; padding: 86px 0; color: rgba(255, 255, 255, 0.95); text-align: left; max-width: 430px; } #page-support .banner hgroup strong { color: white; font-weight: 600; } #page-support .banner hgroup h1 { font-size: 40px; line-height: 50px; letter-spacing: -0.03em; color: #FFFFFF; } #page-support .banner hgroup p, #page-support .banner hgroup a { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; } #page-support .banner hgroup p { font-size: 20px; line-height: 31px; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.8); } #page-support .banner hgroup a { transition: 0.2s all; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; font-weight: 500; font-size: 19px; line-height: 32px; letter-spacing: -0.02em; color: #639CFF; } #page-support .banner hgroup a ion-icon { -webkit-transform: translate(1px, 1px); transform: translate(1px, 1px); } #page-support .banner hgroup a:hover { color: #70a3fd; } #page-support .banner hgroup a:hover ion-icon { -webkit-transform: translate(3px, 1px); transform: translate(3px, 1px); } @media (max-width: 768px) { #page-support .banner hgroup { margin-left: auto; margin-right: auto; text-align: center; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } } #page-support section.newsletter-signup { background-color: #F6F8FB; } #page-support section.newsletter-signup .container { margin-top: 0; padding-top: 120px; padding-bottom: 120px; } #page-support section.newsletter-signup .flex { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: end; align-items: flex-end; } #page-support section.newsletter-signup hgroup { padding-right: 80px; } #page-support section.newsletter-signup hgroup h1 { font-weight: 500; font-size: 28px; line-height: normal; letter-spacing: -0.03em; color: #3880FF; margin-bottom: 0; } #page-support section.newsletter-signup hgroup p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; line-height: 36px; letter-spacing: -0.02em; color: #73849A; margin-bottom: 0; } #page-support section.newsletter-signup ionic-newsletter-signup { height: 50px; -ms-flex: 1; flex: 1; } #page-support section.newsletter-signup ionic-newsletter-signup input { background: #fff; } @media (max-width: 768px) { #page-support section.newsletter-signup .flex { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; } #page-support section.newsletter-signup hgroup { padding-right: 0; text-align: center; margin-left: auto; margin-right: auto; } #page-support section.newsletter-signup .container { padding-top: 60px; padding-bottom: 98px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QW9CO1VBQXBCLG9CQUFvQixFQUFFLEVBQUU7O0FBRTlCO0VBQ0UsMEJBQTBCLEVBQUU7RUFDNUI7SUFDRSxjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLHNCQUFzQixFQUFFO0VBQzFCO0lBQ0UscUJBQWM7SUFBZCxjQUFjO0lBQ2QsdUJBQStCO1FBQS9CLCtCQUErQjtJQUMvQixvQkFBc0I7UUFBdEIsc0JBQXNCLEVBQUU7RUFDMUI7SUFDRSxvQkFBb0IsRUFBRTtJQUN0QjtNQUNFLGlCQUFpQjtNQUNqQixnQkFBZ0I7TUFDaEIsb0JBQW9CO01BQ3BCLHdCQUF3QjtNQUN4QixlQUFlO01BQ2YsaUJBQWlCLEVBQUU7SUFDckI7TUFDRSw2REFBNkQ7TUFDN0QsZ0JBQWdCO01BQ2hCLGtCQUFrQjtNQUNsQix3QkFBd0I7TUFDeEIsZUFBZTtNQUNmLGlCQUFpQixFQUFFO0VBQ3ZCO0lBQ0UsYUFBYTtJQUNiLFlBQVE7UUFBUixRQUFRLEVBQUU7SUFDVjtNQUNFLGlCQUFpQixFQUFFO0VBQ3ZCO0lBQ0U7TUFDRSwyQkFBdUI7VUFBdkIsdUJBQXVCO01BQ3ZCLHVCQUFvQjtVQUFwQixvQkFBb0IsRUFBRTtJQUN4QjtNQUNFLGlCQUFpQjtNQUNqQixtQkFBbUI7TUFDbkIsa0JBQWtCO01BQ2xCLG1CQUFtQixFQUFFO0lBQ3ZCO01BQ0Usa0JBQWtCO01BQ2xCLHFCQUFxQixFQUFFLEVBQUUiLCJmaWxlIjoicGFnZXMvc3VwcG9ydC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcGFnZS1zdXBwb3J0IC5jdGEge1xuICBiYWNrZ3JvdW5kOiAjNDE5MmZlIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3N1cHBvcnQvY3RhLWJnLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAjcGFnZS1zdXBwb3J0IC5jdGEgaGdyb3VwIHtcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICAgIHBhZGRpbmctdG9wOiA1NnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMTJweDsgfVxuICAgICNwYWdlLXN1cHBvcnQgLmN0YSBoZ3JvdXAgaDEge1xuICAgICAgZm9udC1zaXplOiA1NnB4OyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuY3RhIGhncm91cCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2Utc3VwcG9ydCAuY3RhIGhncm91cCB7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODBweDsgfVxuICAgICAgICAjcGFnZS1zdXBwb3J0IC5jdGEgaGdyb3VwIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG4gICAgICAgICNwYWdlLXN1cHBvcnQgLmN0YSBoZ3JvdXAgcCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogMzA4cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cblxuI3BhZ2Utc3VwcG9ydCBtYWluIGhncm91cCBoMiB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4jcGFnZS1zdXBwb3J0IG1haW4gaGdyb3VwIHAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjODk4OTg5O1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbiNwYWdlLXN1cHBvcnQgbWFpbiAuY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMTI2cHg7IH1cblxuI3BhZ2Utc3VwcG9ydCBtYWluIC5jb250YWluZXIgKyAuY29udGFpbmVyLFxuI3BhZ2Utc3VwcG9ydCBtYWluIC5jb250YWluZXIgKyAuYmFubmVyIHtcbiAgbWFyZ2luLXRvcDogMTgwcHg7IH1cblxuI3BhZ2Utc3VwcG9ydCBtYWluIC5jb250YWluZXJfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBtYXJnaW4tYm90dG9tOiA1OHB4OyB9XG4gICNwYWdlLXN1cHBvcnQgbWFpbiAuY29udGFpbmVyX19oZWFkZXIgaGdyb3VwIHtcbiAgICBmbGV4OiAwIDAgNTAlOyB9XG4gICNwYWdlLXN1cHBvcnQgbWFpbiAuY29udGFpbmVyX19oZWFkZXIgaDIge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTsgfVxuICAjcGFnZS1zdXBwb3J0IG1haW4gLmNvbnRhaW5lcl9faGVhZGVyIGg0IHtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07IH1cbiAgI3BhZ2Utc3VwcG9ydCBtYWluIC5jb250YWluZXJfX2hlYWRlciBwIHtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGNvbG9yOiAjNjE2RTdFO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cbiAgI3BhZ2Utc3VwcG9ydCBtYWluIC5jb250YWluZXJfX2hlYWRlciAuYnRuIHtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDZweCByZ2JhKDIsIDgsIDIwLCAwLjA4KSwgMHB4IDFweCAycHggcmdiYSgyLCA4LCAyMCwgMC4xKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogMTJweCAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAjcGFnZS1zdXBwb3J0IG1haW4gLmNvbnRhaW5lcl9faGVhZGVyIGgyIHtcbiAgICBmb250LXNpemU6IDM2cHg7IH1cbiAgI3BhZ2Utc3VwcG9ydCBtYWluIC5jb250YWluZXJfX2hlYWRlciBwIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3BhZ2Utc3VwcG9ydCBtYWluIC5jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDY0cHg7IH1cbiAgI3BhZ2Utc3VwcG9ydCBtYWluIC5jb250YWluZXIgKyAuY29udGFpbmVyLFxuICAjcGFnZS1zdXBwb3J0IG1haW4gLmNvbnRhaW5lciArIC5iYW5uZXIge1xuICAgIG1hcmdpbi10b3A6IDg0cHg7IH1cbiAgI3BhZ2Utc3VwcG9ydCBtYWluIC5jb250YWluZXJfX2hlYWRlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgI3BhZ2Utc3VwcG9ydCBtYWluIC5jb250YWluZXJfX2hlYWRlciBoZ3JvdXAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIG1heC13aWR0aDogNTIwcHg7IH1cbiAgICAjcGFnZS1zdXBwb3J0IG1haW4gLmNvbnRhaW5lcl9faGVhZGVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDsgfSB9XG5cbiNwYWdlLXN1cHBvcnQgLmNhcmQtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwIC0yOXB4O1xuICBwYWRkaW5nOiAwOyB9XG4gICNwYWdlLXN1cHBvcnQgLmNhcmQtbGlzdF9fY2FyZCB7XG4gICAgcGFkZGluZzogMCAyOXB4O1xuICAgIGZsZXg6IDAgMCAzMy4zMyU7IH1cbiAgICAjcGFnZS1zdXBwb3J0IC5jYXJkLWxpc3RfX2NhcmQgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgICAgI3BhZ2Utc3VwcG9ydCAuY2FyZC1saXN0X19jYXJkIGEsICNwYWdlLXN1cHBvcnQgLmNhcmQtbGlzdF9fY2FyZCBhOmFjdGl2ZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICNwYWdlLXN1cHBvcnQgLmNhcmQtbGlzdF9fY2FyZCBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAjcGFnZS1zdXBwb3J0IC5jYXJkLWxpc3RfX2NhcmQgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgICBjb2xvcjogIzFBMjMyRjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuY2FyZC1saXN0X19jYXJkIHAge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICAgIGNvbG9yOiAjNjE2RTdFOyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuY2FyZC1saXN0X19jYXJkIC5saW5rLXRleHQge1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBjb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICNwYWdlLXN1cHBvcnQgLmNhcmQtbGlzdF9fY2FyZCAubGluay10ZXh0IGlvbi1pY29uIHtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgdHJhbnNsYXRlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAxcHgpOyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuY2FyZC1saXN0X19jYXJkIGE6aG92ZXIgLmxpbmstdGV4dCB7XG4gICAgICBjb2xvcjogIzBjNTllMDsgfVxuICAgICNwYWdlLXN1cHBvcnQgLmNhcmQtbGlzdF9fY2FyZCBhOmhvdmVyIC5saW5rLXRleHQgaW9uLWljb24ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoM3B4LCAxcHgpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICNwYWdlLXN1cHBvcnQgLmNhcmQtbGlzdCB7XG4gICAgICBtYXJnaW46IDAgLTE2cHg7IH1cbiAgICAgICNwYWdlLXN1cHBvcnQgLmNhcmQtbGlzdF9fY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTZweDsgfVxuICAgICAgICAjcGFnZS1zdXBwb3J0IC5jYXJkLWxpc3RfX2NhcmQgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgICAgICAjcGFnZS1zdXBwb3J0IC5jYXJkLWxpc3RfX2NhcmQgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2Utc3VwcG9ydCAuY2FyZC1saXN0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgICNwYWdlLXN1cHBvcnQgLmNhcmQtbGlzdF9fY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICNwYWdlLXN1cHBvcnQgLmNhcmQtbGlzdF9fY2FyZCArIC5jYXJkLWxpc3RfX2NhcmQge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMnB4OyB9IH1cblxuI3BhZ2Utc3VwcG9ydCAubGluay1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDc4cHggMCAwO1xuICBwYWRkaW5nOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgI3BhZ2Utc3VwcG9ydCAubGluay1saXN0IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAubGluay1saXN0IGEgc3ZnIHBhdGgge1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBmaWxsO1xuICAgICAgZmlsbDogIzQxNEQ1QzsgfVxuICAgICNwYWdlLXN1cHBvcnQgLmxpbmstbGlzdCBhOmhvdmVyIHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6ICMzODgwRkY7IH1cbiAgICAjcGFnZS1zdXBwb3J0IC5saW5rLWxpc3QgYSBzcGFuIHtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgY29sb3I7XG4gICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICAgIGNvbG9yOiAjNDE0RDVDOyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAubGluay1saXN0IGE6aG92ZXIgc3BhbiB7XG4gICAgICBjb2xvcjogIzM4ODBGRjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAjcGFnZS1zdXBwb3J0IC5saW5rLWxpc3Qge1xuICAgICAgbWFyZ2luOiA1NnB4IDAgMDsgfVxuICAgICAgI3BhZ2Utc3VwcG9ydCAubGluay1saXN0IHN2ZyB7XG4gICAgICAgIGhlaWdodDogMzZweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXN1cHBvcnQgLmxpbmstbGlzdCB7XG4gICAgICBtYXgtd2lkdGg6IDQ0MHB4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgICNwYWdlLXN1cHBvcnQgLmxpbmstbGlzdCBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMyU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7IH1cbiAgICAgICNwYWdlLXN1cHBvcnQgLmxpbmstbGlzdCBzdmcge1xuICAgICAgICBoZWlnaHQ6IDI0cHg7IH1cbiAgICAgICNwYWdlLXN1cHBvcnQgLmxpbmstbGlzdCBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgI3BhZ2Utc3VwcG9ydCAubGluay1saXN0IGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuXG4jcGFnZS1zdXBwb3J0IC5pdGVtcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDI4cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICNwYWdlLXN1cHBvcnQgLml0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLXN1cHBvcnQgLml0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgI3BhZ2Utc3VwcG9ydCAuaXRlbXMgYSB7XG4gICAgcGFkZGluZzogMTRweCAyM3B4IDE4cHggOTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDM2NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICNwYWdlLXN1cHBvcnQgLml0ZW1zIGEsICNwYWdlLXN1cHBvcnQgLml0ZW1zIGE6aG92ZXIsICNwYWdlLXN1cHBvcnQgLml0ZW1zIGE6YWN0aXZlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICNwYWdlLXN1cHBvcnQgLml0ZW1zIGE6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXN1cHBvcnQgLml0ZW1zIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxOHB4IGF1dG87IH1cbiAgICAgICAgI3BhZ2Utc3VwcG9ydCAuaXRlbXMgYTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICAgICNwYWdlLXN1cHBvcnQgLml0ZW1zIGE6OmJlZm9yZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgdHJhbnNmb3JtIGN1YmljLWJlemllcigwLjE1NSwgMS4xMDUsIDAuMjk1LCAxLjEyKSwgMC4zcyBib3gtc2hhZG93OyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuaXRlbXMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICNwYWdlLXN1cHBvcnQgLml0ZW1zIGE6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2Utc3VwcG9ydCAuaXRlbXMgYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICNwYWdlLXN1cHBvcnQgLml0ZW1zIGE6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAgICNwYWdlLXN1cHBvcnQgLml0ZW1zIGE6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cbiAgICAjcGFnZS1zdXBwb3J0IC5pdGVtcyBhOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zdXBwb3J0L3N1cHBvcnQtdGh1bWJuYWlscy5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHg7XG4gICAgICB3aWR0aDogNDhweDtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAyOXB4O1xuICAgICAgdG9wOiAzNHB4O1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyB0cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDAuMTU1LCAxLjEwNSwgMC4yOTUsIDEuMTIpOyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuaXRlbXMgYS5zbGFjazo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfVxuICAgICNwYWdlLXN1cHBvcnQgLml0ZW1zIGEuc286OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk2cHg7IH1cbiAgICAjcGFnZS1zdXBwb3J0IC5pdGVtcyBhLmFjY291bnQ6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0NHB4OyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuaXRlbXMgYS5idWc6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuaXRlbXMgYS50cm91Ymxlc2hvb3Rpbmc6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI0MHB4OyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuaXRlbXMgYS5yZXNvdXJjZXM6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI4OHB4OyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuaXRlbXMgYS5naXRodWI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMzNnB4OyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuaXRlbXMgYS5mYXE6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM4NHB4OyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuaXRlbXMgYSBoMyB7XG4gICAgICBjb2xvcjogIzI3MmEyZjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICAjcGFnZS1zdXBwb3J0IC5pdGVtcyBhIHAge1xuICAgICAgY29sb3I6ICM4OTg5ODk7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4jcGFnZS1zdXBwb3J0IC5iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjMTgyNjNFO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3N1cHBvcnQvc3VwcG9ydC1iYW5uZXItYmcuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgI3BhZ2Utc3VwcG9ydCAuYmFubmVyIC5jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3BhZ2Utc3VwcG9ydCAuYmFubmVyIGhncm91cCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiA4NnB4IDA7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXgtd2lkdGg6IDQzMHB4OyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuYmFubmVyIGhncm91cCBzdHJvbmcge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICNwYWdlLXN1cHBvcnQgLmJhbm5lciBoZ3JvdXAgaDEge1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgI3BhZ2Utc3VwcG9ydCAuYmFubmVyIGhncm91cCBwLFxuICAgICNwYWdlLXN1cHBvcnQgLmJhbm5lciBoZ3JvdXAgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgICAjcGFnZS1zdXBwb3J0IC5iYW5uZXIgaGdyb3VwIHAge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMxcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cbiAgICAjcGFnZS1zdXBwb3J0IC5iYW5uZXIgaGdyb3VwIGEge1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBhbGw7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICM2MzlDRkY7IH1cbiAgICAgICNwYWdlLXN1cHBvcnQgLmJhbm5lciBoZ3JvdXAgYSBpb24taWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KTsgfVxuICAgICAgI3BhZ2Utc3VwcG9ydCAuYmFubmVyIGhncm91cCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM3MGEzZmQ7IH1cbiAgICAgICAgI3BhZ2Utc3VwcG9ydCAuYmFubmVyIGhncm91cCBhOmhvdmVyIGlvbi1pY29uIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzcHgsIDFweCk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2Utc3VwcG9ydCAuYmFubmVyIGhncm91cCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG5cbiNwYWdlLXN1cHBvcnQgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNkY4RkI7IH1cbiAgI3BhZ2Utc3VwcG9ydCBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC5jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDEyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICAjcGFnZS1zdXBwb3J0IHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLmZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAjcGFnZS1zdXBwb3J0IHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgaGdyb3VwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XG4gICAgI3BhZ2Utc3VwcG9ydCBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIGhncm91cCBoMSB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgY29sb3I6ICMzODgwRkY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgI3BhZ2Utc3VwcG9ydCBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIGhncm91cCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICM3Mzg0OUE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICNwYWdlLXN1cHBvcnQgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCBpb25pYy1uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGZsZXg6IDE7IH1cbiAgICAjcGFnZS1zdXBwb3J0IHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgaW9uaWMtbmV3c2xldHRlci1zaWdudXAgaW5wdXQge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1zdXBwb3J0IHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLmZsZXgge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAjcGFnZS1zdXBwb3J0IHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICNwYWdlLXN1cHBvcnQgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAuY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDk4cHg7IH0gfVxuIl19 */ ================================================ FILE: content/css/pages/survey/2017.css ================================================ .survey-layout .navbar + .banner { background: linear-gradient(to right, #1e6fff 0%, #0499ff 100%); background-size: 100%; position: relative; } .survey-layout .navbar + .banner canvas { position: absolute; top: 0; left: 0; bottom: 0; width: 100%; -webkit-animation: 10s fadeIn; animation: 10s fadeIn; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-animation-delay: 1s; animation-delay: 1s; opacity: 0; } .survey-layout .navbar + .banner hgroup { padding-bottom: 112px; padding-top: 48px; } .survey-layout .navbar + .banner h2 { z-index: 1; position: relative; opacity: 0; -webkit-animation: 1s fadeInUp; animation: 1s fadeInUp; -webkit-animation-delay: 2s; animation-delay: 2s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } .survey-layout .navbar + .banner h2 svg { margin: 23px auto 15px; width: 32px; display: block; } .survey-layout .navbar + .banner h1 { font-size: 62px; margin-top: 27px; margin-bottom: 14px; letter-spacing: -.025em; font-weight: 600; -webkit-animation: 1s fadeInUp; animation: 1s fadeInUp; -webkit-animation-delay: 2.2s; animation-delay: 2.2s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; opacity: 0; } .survey-layout .navbar + .banner p { font-size: 22px; color: rgba(255, 255, 255, 0.8); -webkit-animation: 1s fadeInUp; animation: 1s fadeInUp; -webkit-animation-delay: 2.4s; animation-delay: 2.4s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; letter-spacing: .01em; opacity: 0; } .survey-layout .navbar + .banner .bar { background: #fff; } .survey-layout .navbar + .banner .bar ul li a { padding: 28px 18px 22px; margin: 0 15px -2px; } @media (max-width: 767px) { .survey-layout .navbar + .banner .bar ul li a { padding-left: 0; padding-right: 0; margin-left: 5px; margin-right: 5px; } } @supports ((-webkit-backdrop-filter: blur(30px)) or (backdrop-filter: blur(30px))) { .survey-layout .navbar + .banner .bar { background: rgba(255, 255, 255, 0.8); -webkit-backdrop-filter: blur(30px); backdrop-filter: blur(30px); } } .survey-layout .navbar + .banner .bar:not(.affix) { box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(0, 0, 0, 0.05); position: absolute; } .survey-layout article { padding-top: 64px; } .survey-layout article > hgroup .container { max-width: 680px; margin: 32px auto 49px; } .survey-layout article > hgroup .container p { color: #24282e; font-size: 23px; line-height: 1.75em; margin-bottom: 1.73em; letter-spacing: -.001em; } .survey-layout article > hgroup .container h2 { margin-top: 64px; } .survey-layout article > hgroup .container strong { font-weight: 600; } .survey-layout article h3 { font-weight: 700; letter-spacing: -.04em; margin-top: 64px; margin-bottom: 0; padding: 31px 16px 29px; font-size: 32px; } .survey-layout article h3::before, .survey-layout article h3::after { display: none; } .survey-layout section { padding-bottom: 71px; } .survey-layout section .container { position: relative; max-width: 962px; } .survey-layout section h4 { font-weight: 600; font-size: 20px; letter-spacing: -0.02em; } .survey-layout section p, .survey-layout section h4 { padding: 0 16px; margin: 0 auto 30px; line-height: 1.69em; letter-spacing: -.018em; } .survey-layout section p + h4, .survey-layout section h4 + h4 { margin-top: 48px; } .survey-layout section p { font-size: 18px; line-height: 1.75em; } .survey-layout section .row + .row { padding-top: 32px; } .survey-layout .dark { background: #111925; } .survey-layout .dark h2, .survey-layout .dark h3, .survey-layout .dark h4 { color: rgba(255, 255, 255, 0.95); } .survey-layout .dark p { color: rgba(255, 255, 255, 0.8); } .survey-layout .dark figure strong { color: #ced6e0; } .survey-layout .intro::before { -webkit-animation-delay: 3s; animation-delay: 3s; } .survey-layout .data .container::before { display: none; } .survey-layout .data h4 { margin-bottom: 8px; } .survey-layout .navbar + .banner h2 { font-weight: 700; color: rgba(0, 0, 0, 0.5); font-size: 19px; letter-spacing: .05em; } .survey-layout .navbar + .banner h2 svg { fill-opacity: .5; display: block; } .survey-layout article > hgroup .container::before, .survey-layout article > section .container::before { background: url("/img/survey/header-thumbnails.png"); background-size: 96px; width: 96px; height: 96px; content: ''; display: block; margin: 92px auto 36px; } .survey-layout article > section .container::before { position: absolute; top: -113px; left: 24px; margin: 0; } .survey-layout article > hgroup .container { font-family: "Adobe Caslon", Georgia, Times, "Times New Roman", serif; } #insights .container::before { -webkit-animation: 1s fadeInUp; animation: 1s fadeInUp; -webkit-animation-delay: 3.5s; animation-delay: 3.5s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; opacity: 0; } #insights .container p { -webkit-animation: 1s fadeInUp; animation: 1s fadeInUp; -webkit-animation-delay: 3.75s; animation-delay: 3.75s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; opacity: 0; } #profile .container::before { background-position: 0 -96px; } @media (max-width: 991px) { #profile aside { text-align: center; } } #profile .factoid { width: 200px; background: #e9edf8; border-radius: 32px; display: inline-block; margin: 34px -7px 0px 15px; padding: 33px 19px 12px; } #profile .factoid strong { color: #4a8bfc; font-weight: 500; font-size: 48px; text-align: center; display: block; letter-spacing: -.05em; margin-bottom: -2px; } #profile .factoid p { font-size: 14px; line-height: 1.4em; } #trends { background: #f6f8fc; } #trends .container::before { background-position: 0 -192px; } #trends figure { display: block; margin: 94px auto 33px; padding-left: 35px; } #trends figure:first-child { margin-top: 99px; } #trends figure img { margin-bottom: 8px; } #trends figure strong { font-size: 48px; color: #4a8bfc; font-weight: 400; letter-spacing: -.01em; } #trends figure p { padding-left: 0; padding-right: 0; margin-left: 0; font-size: 14px; font-weight: 500; max-width: 142px; margin-top: -4px; line-height: 1.48em; } #trends figure:last-child img { margin-left: 17px; } @media (max-width: 991px) { #trends aside { text-align: center; } #trends aside figure, #trends aside figure:first-child { display: inline-block; margin-top: 50px; vertical-align: top; } } @media (max-width: 767px) { #trends aside { display: -ms-flexbox; display: flex; -ms-flex-pack: distribute; justify-content: space-around; } #trends aside figure { padding-left: 0; } } #tools { background: #161920; } #tools .container::before { background-position: 0 -288px; } #tools .tools { text-align: center; padding: 0 24px 0 0; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; } #tools .tools li { background: no-repeat url("/img/survey/tools-icons.png"); background-size: 70px; width: 70px; height: 70px; display: inline-block; } #tools .tools li.node { background-position: 0 -70px; } #tools .tools li.analytics { background-position: 0 -140px; } #tools .tools li.vscode { background-position: 0 -210px; } #tools .tools li.aws { background-position: 0 -280px; } @media (max-width: 767px) { #tools .tools { padding-right: 0; } } #habbits { background: #4a8bfc; } #habbits .container::before { background-position: 0 -384px; } #big-picture { background: #f6f8fc; } #big-picture .container::before { background-position: 0 -480px; } #big-picture p { -webkit-animation-delay: 2s; animation-delay: 2s; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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LGlCQUFpQjtNQUNqQixpQkFBaUI7TUFDakIsaUJBQWlCO01BQ2pCLG9CQUFvQixFQUFFO0lBQ3hCO01BQ0Usa0JBQWtCLEVBQUU7RUFDeEI7SUFDRTtNQUNFLG1CQUFtQixFQUFFO01BQ3JCOztRQUVFLHNCQUFzQjtRQUN0QixpQkFBaUI7UUFDakIsb0JBQW9CLEVBQUUsRUFBRTtFQUM5QjtJQUNFO01BQ0UscUJBQWM7TUFBZCxjQUFjO01BQ2QsMEJBQThCO1VBQTlCLDhCQUE4QixFQUFFO01BQ2hDO1FBQ0UsZ0JBQWdCLEVBQUUsRUFBRTs7QUFFNUI7RUFDRSxvQkFBb0IsRUFBRTtFQUN0QjtJQUNFLDhCQUE4QixFQUFFO0VBQ2xDO0lBQ0UsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixxQkFBYztJQUFkLGNBQWM7SUFDZCx1QkFBK0I7UUFBL0IsK0JBQStCLEVBQUU7SUFDakM7TUFDRSx5REFBeUQ7TUFDekQsc0JBQXNCO01BQ3RCLFlBQVk7TUFDWixhQUFhO01BQ2Isc0JBQXNCLEVBQUU7TUFDeEI7UUFDRSw2QkFBNkIsRUFBRTtNQUNqQztRQUNFLDhCQUE4QixFQUFFO01BQ2xDO1FBQ0UsOEJBQThCLEVBQUU7TUFDbEM7UUFDRSw4QkFBOEIsRUFBRTtJQUNwQztNQUNFO1FBQ0UsaUJBQWlCLEVBQUUsRUFBRTs7QUFFN0I7RUFDRSxvQkFBb0IsRUFBRTtFQUN0QjtJQUNFLDhCQUE4QixFQUFFOztBQUVwQztFQUNFLG9CQUFvQixFQUFFO0VBQ3RCO0lBQ0UsOEJBQThCLEVBQUU7RUFDbEM7SUFDRSw0QkFBb0I7WUFBcEIsb0JBQW9CLEVBQUUiLCJmaWxlIjoicGFnZXMvc3VydmV5LzIwMTcuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnN1cnZleS1sYXlvdXQgLm5hdmJhciArIC5iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMxZTZmZmYgMCUsICMwNDk5ZmYgMTAwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zdXJ2ZXktbGF5b3V0IC5uYXZiYXIgKyAuYmFubmVyIGNhbnZhcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhbmltYXRpb246IDEwcyBmYWRlSW47XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5zdXJ2ZXktbGF5b3V0IC5uYXZiYXIgKyAuYmFubmVyIGhncm91cCB7XG4gICAgcGFkZGluZy1ib3R0b206IDExMnB4O1xuICAgIHBhZGRpbmctdG9wOiA0OHB4OyB9XG4gIC5zdXJ2ZXktbGF5b3V0IC5uYXZiYXIgKyAuYmFubmVyIGgyIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbjogMXMgZmFkZUluVXA7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAycztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgfVxuICAgIC5zdXJ2ZXktbGF5b3V0IC5uYXZiYXIgKyAuYmFubmVyIGgyIHN2ZyB7XG4gICAgICBtYXJnaW46IDIzcHggYXV0byAxNXB4O1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc3VydmV5LWxheW91dCAubmF2YmFyICsgLmJhbm5lciBoMSB7XG4gICAgZm9udC1zaXplOiA2MnB4O1xuICAgIG1hcmdpbi10b3A6IDI3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMjVlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGFuaW1hdGlvbjogMXMgZmFkZUluVXA7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyLjJzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLnN1cnZleS1sYXlvdXQgLm5hdmJhciArIC5iYW5uZXIgcCB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgYW5pbWF0aW9uOiAxcyBmYWRlSW5VcDtcbiAgICBhbmltYXRpb24tZGVsYXk6IDIuNHM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLnN1cnZleS1sYXlvdXQgLm5hdmJhciArIC5iYW5uZXIgLmJhciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC5zdXJ2ZXktbGF5b3V0IC5uYXZiYXIgKyAuYmFubmVyIC5iYXIgdWwgbGkgYSB7XG4gICAgICBwYWRkaW5nOiAyOHB4IDE4cHggMjJweDtcbiAgICAgIG1hcmdpbjogMCAxNXB4IC0ycHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAuc3VydmV5LWxheW91dCAubmF2YmFyICsgLmJhbm5lciAuYmFyIHVsIGxpIGEge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH0gfVxuICAgIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDMwcHgpKSB7XG4gICAgICAuc3VydmV5LWxheW91dCAubmF2YmFyICsgLmJhbm5lciAuYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMzBweCk7IH0gfVxuICAgIC5zdXJ2ZXktbGF5b3V0IC5uYXZiYXIgKyAuYmFubmVyIC5iYXI6bm90KC5hZmZpeCkge1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSksIDAgMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc3VydmV5LWxheW91dCBhcnRpY2xlIHtcbiAgcGFkZGluZy10b3A6IDY0cHg7IH1cbiAgLnN1cnZleS1sYXlvdXQgYXJ0aWNsZSA+IGhncm91cCAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDY4MHB4O1xuICAgIG1hcmdpbjogMzJweCBhdXRvIDQ5cHg7IH1cbiAgICAuc3VydmV5LWxheW91dCBhcnRpY2xlID4gaGdyb3VwIC5jb250YWluZXIgcCB7XG4gICAgICBjb2xvcjogIzI0MjgyZTtcbiAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjczZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMDFlbTsgfVxuICAgIC5zdXJ2ZXktbGF5b3V0IGFydGljbGUgPiBoZ3JvdXAgLmNvbnRhaW5lciBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiA2NHB4OyB9XG4gICAgLnN1cnZleS1sYXlvdXQgYXJ0aWNsZSA+IGhncm91cCAuY29udGFpbmVyIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5zdXJ2ZXktbGF5b3V0IGFydGljbGUgaDMge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDRlbTtcbiAgICBtYXJnaW4tdG9wOiA2NHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMzFweCAxNnB4IDI5cHg7XG4gICAgZm9udC1zaXplOiAzMnB4OyB9XG4gICAgLnN1cnZleS1sYXlvdXQgYXJ0aWNsZSBoMzo6YmVmb3JlLCAuc3VydmV5LWxheW91dCBhcnRpY2xlIGgzOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zdXJ2ZXktbGF5b3V0IHNlY3Rpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogNzFweDsgfVxuICAuc3VydmV5LWxheW91dCBzZWN0aW9uIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDk2MnB4OyB9XG4gIC5zdXJ2ZXktbGF5b3V0IHNlY3Rpb24gaDQge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gIC5zdXJ2ZXktbGF5b3V0IHNlY3Rpb24gcCxcbiAgLnN1cnZleS1sYXlvdXQgc2VjdGlvbiBoNCB7XG4gICAgcGFkZGluZzogMCAxNnB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjllbTtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMThlbTsgfVxuICAgIC5zdXJ2ZXktbGF5b3V0IHNlY3Rpb24gcCArIGg0LFxuICAgIC5zdXJ2ZXktbGF5b3V0IHNlY3Rpb24gaDQgKyBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiA0OHB4OyB9XG4gIC5zdXJ2ZXktbGF5b3V0IHNlY3Rpb24gcCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1ZW07IH1cbiAgLnN1cnZleS1sYXlvdXQgc2VjdGlvbiAucm93ICsgLnJvdyB7XG4gICAgcGFkZGluZy10b3A6IDMycHg7IH1cblxuLnN1cnZleS1sYXlvdXQgLmRhcmsge1xuICBiYWNrZ3JvdW5kOiAjMTExOTI1OyB9XG4gIC5zdXJ2ZXktbGF5b3V0IC5kYXJrIGgyLFxuICAuc3VydmV5LWxheW91dCAuZGFyayBoMyxcbiAgLnN1cnZleS1sYXlvdXQgLmRhcmsgaDQge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpOyB9XG4gIC5zdXJ2ZXktbGF5b3V0IC5kYXJrIHAge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cbiAgLnN1cnZleS1sYXlvdXQgLmRhcmsgZmlndXJlIHN0cm9uZyB7XG4gICAgY29sb3I6ICNjZWQ2ZTA7IH1cblxuLnN1cnZleS1sYXlvdXQgLmludHJvOjpiZWZvcmUge1xuICBhbmltYXRpb24tZGVsYXk6IDNzOyB9XG5cbi5zdXJ2ZXktbGF5b3V0IC5kYXRhIC5jb250YWluZXI6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN1cnZleS1sYXlvdXQgLmRhdGEgaDQge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cblxuLnN1cnZleS1sYXlvdXQgLm5hdmJhciArIC5iYW5uZXIgaDIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBmb250LXNpemU6IDE5cHg7XG4gIGxldHRlci1zcGFjaW5nOiAuMDVlbTsgfVxuICAuc3VydmV5LWxheW91dCAubmF2YmFyICsgLmJhbm5lciBoMiBzdmcge1xuICAgIGZpbGwtb3BhY2l0eTogLjU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN1cnZleS1sYXlvdXQgYXJ0aWNsZSA+IGhncm91cCAuY29udGFpbmVyOjpiZWZvcmUsXG4uc3VydmV5LWxheW91dCBhcnRpY2xlID4gc2VjdGlvbiAuY29udGFpbmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3N1cnZleS9oZWFkZXItdGh1bWJuYWlscy5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogOTZweDtcbiAgd2lkdGg6IDk2cHg7XG4gIGhlaWdodDogOTZweDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDkycHggYXV0byAzNnB4OyB9XG5cbi5zdXJ2ZXktbGF5b3V0IGFydGljbGUgPiBzZWN0aW9uIC5jb250YWluZXI6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTEzcHg7XG4gIGxlZnQ6IDI0cHg7XG4gIG1hcmdpbjogMDsgfVxuXG4uc3VydmV5LWxheW91dCBhcnRpY2xlID4gaGdyb3VwIC5jb250YWluZXIge1xuICBmb250LWZhbWlseTogXCJBZG9iZSBDYXNsb25cIiwgR2VvcmdpYSwgVGltZXMsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOyB9XG5cbiNpbnNpZ2h0cyAuY29udGFpbmVyOjpiZWZvcmUge1xuICBhbmltYXRpb246IDFzIGZhZGVJblVwO1xuICBhbmltYXRpb24tZGVsYXk6IDMuNXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICBvcGFjaXR5OiAwOyB9XG5cbiNpbnNpZ2h0cyAuY29udGFpbmVyIHAge1xuICBhbmltYXRpb246IDFzIGZhZGVJblVwO1xuICBhbmltYXRpb24tZGVsYXk6IDMuNzVzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgb3BhY2l0eTogMDsgfVxuXG4jcHJvZmlsZSAuY29udGFpbmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAjcHJvZmlsZSBhc2lkZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuI3Byb2ZpbGUgLmZhY3RvaWQge1xuICB3aWR0aDogMjAwcHg7XG4gIGJhY2tncm91bmQ6ICNlOWVkZjg7XG4gIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAzNHB4IC03cHggMHB4IDE1cHg7XG4gIHBhZGRpbmc6IDMzcHggMTlweCAxMnB4OyB9XG4gICNwcm9maWxlIC5mYWN0b2lkIHN0cm9uZyB7XG4gICAgY29sb3I6ICM0YThiZmM7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjA1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTJweDsgfVxuICAjcHJvZmlsZSAuZmFjdG9pZCBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtOyB9XG5cbiN0cmVuZHMge1xuICBiYWNrZ3JvdW5kOiAjZjZmOGZjOyB9XG4gICN0cmVuZHMgLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xOTJweDsgfVxuICAjdHJlbmRzIGZpZ3VyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA5NHB4IGF1dG8gMzNweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH1cbiAgICAjdHJlbmRzIGZpZ3VyZTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiA5OXB4OyB9XG4gICAgI3RyZW5kcyBmaWd1cmUgaW1nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAgICN0cmVuZHMgZmlndXJlIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICBjb2xvcjogIzRhOGJmYztcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyB9XG4gICAgI3RyZW5kcyBmaWd1cmUgcCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWF4LXdpZHRoOiAxNDJweDtcbiAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS40OGVtOyB9XG4gICAgI3RyZW5kcyBmaWd1cmU6bGFzdC1jaGlsZCBpbWcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE3cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3RyZW5kcyBhc2lkZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICN0cmVuZHMgYXNpZGUgZmlndXJlLFxuICAgICAgI3RyZW5kcyBhc2lkZSBmaWd1cmU6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjdHJlbmRzIGFzaWRlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgICAgI3RyZW5kcyBhc2lkZSBmaWd1cmUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4jdG9vbHMge1xuICBiYWNrZ3JvdW5kOiAjMTYxOTIwOyB9XG4gICN0b29scyAuY29udGFpbmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI4OHB4OyB9XG4gICN0b29scyAudG9vbHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDI0cHggMCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgI3Rvb2xzIC50b29scyBsaSB7XG4gICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgdXJsKFwiL2ltZy9zdXJ2ZXkvdG9vbHMtaWNvbnMucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA3MHB4O1xuICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICN0b29scyAudG9vbHMgbGkubm9kZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTcwcHg7IH1cbiAgICAgICN0b29scyAudG9vbHMgbGkuYW5hbHl0aWNzIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQwcHg7IH1cbiAgICAgICN0b29scyAudG9vbHMgbGkudnNjb2RlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjEwcHg7IH1cbiAgICAgICN0b29scyAudG9vbHMgbGkuYXdzIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjgwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICN0b29scyAudG9vbHMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuI2hhYmJpdHMge1xuICBiYWNrZ3JvdW5kOiAjNGE4YmZjOyB9XG4gICNoYWJiaXRzIC5jb250YWluZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzg0cHg7IH1cblxuI2JpZy1waWN0dXJlIHtcbiAgYmFja2dyb3VuZDogI2Y2ZjhmYzsgfVxuICAjYmlnLXBpY3R1cmUgLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00ODBweDsgfVxuICAjYmlnLXBpY3R1cmUgcCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyczsgfVxuIl19 */ ================================================ FILE: content/css/pages/survey/2018.css ================================================ .survey-layout .navbar + .banner { background: linear-gradient(to right, #1e6fff 0%, #0499ff 100%); background-size: 100%; position: relative; } .survey-layout .navbar + .banner canvas { position: absolute; top: 0; left: 0; bottom: 0; width: 100%; -webkit-animation: 10s fadeIn; animation: 10s fadeIn; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-animation-delay: 1s; animation-delay: 1s; opacity: 0; } .survey-layout .navbar + .banner hgroup { padding-bottom: 112px; padding-top: 48px; } .survey-layout .navbar + .banner h2 { z-index: 1; position: relative; opacity: 0; -webkit-animation: 1s fadeInUp; animation: 1s fadeInUp; -webkit-animation-delay: 2s; animation-delay: 2s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } .survey-layout .navbar + .banner h2 svg { margin: 23px auto 15px; width: 32px; display: block; } .survey-layout .navbar + .banner h1 { font-size: 62px; margin-top: 27px; margin-bottom: 14px; letter-spacing: -.025em; font-weight: 600; -webkit-animation: 1s fadeInUp; animation: 1s fadeInUp; -webkit-animation-delay: 2.2s; animation-delay: 2.2s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; opacity: 0; } .survey-layout .navbar + .banner p { font-size: 22px; color: rgba(255, 255, 255, 0.8); -webkit-animation: 1s fadeInUp; animation: 1s fadeInUp; -webkit-animation-delay: 2.4s; animation-delay: 2.4s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; letter-spacing: .01em; opacity: 0; } .survey-layout .navbar + .banner .bar { background: #fff; } .survey-layout .navbar + .banner .bar ul li a { padding: 28px 18px 22px; margin: 0 15px -2px; } @media (max-width: 767px) { .survey-layout .navbar + .banner .bar ul li a { padding-left: 0; padding-right: 0; margin-left: 5px; margin-right: 5px; } } @supports ((-webkit-backdrop-filter: blur(30px)) or (backdrop-filter: blur(30px))) { .survey-layout .navbar + .banner .bar { background: rgba(255, 255, 255, 0.8); -webkit-backdrop-filter: blur(30px); backdrop-filter: blur(30px); } } .survey-layout .navbar + .banner .bar:not(.affix) { box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(0, 0, 0, 0.05); position: absolute; } .survey-layout article { padding-top: 64px; } .survey-layout article > hgroup .container { max-width: 680px; margin: 32px auto 49px; } .survey-layout article > hgroup .container p { color: #24282e; font-size: 23px; line-height: 1.75em; margin-bottom: 1.73em; letter-spacing: -.001em; } .survey-layout article > hgroup .container h2 { margin-top: 64px; } .survey-layout article > hgroup .container strong { font-weight: 600; } .survey-layout article h3 { font-weight: 700; letter-spacing: -.04em; margin-top: 64px; margin-bottom: 0; padding: 31px 16px 29px; font-size: 32px; } .survey-layout article h3::before, .survey-layout article h3::after { display: none; } .survey-layout section { padding-bottom: 71px; } .survey-layout section .container { position: relative; max-width: 962px; } .survey-layout section h4 { font-weight: 600; font-size: 20px; letter-spacing: -0.02em; } .survey-layout section p, .survey-layout section h4 { padding: 0 16px; margin: 0 auto 30px; line-height: 1.69em; letter-spacing: -.018em; } .survey-layout section p + h4, .survey-layout section h4 + h4 { margin-top: 48px; } .survey-layout section p { font-size: 18px; line-height: 1.75em; } .survey-layout section .row + .row { padding-top: 32px; } .survey-layout .dark { background: #111925; } .survey-layout .dark h2, .survey-layout .dark h3, .survey-layout .dark h4 { color: rgba(255, 255, 255, 0.95); } .survey-layout .dark p { color: rgba(255, 255, 255, 0.8); } .survey-layout .dark figure strong { color: #ced6e0; } .survey-layout .intro::before { -webkit-animation-delay: 3s; animation-delay: 3s; } .survey-layout .data .container::before { display: none; } .survey-layout .data h4 { margin-bottom: 8px; } #page-survey-2018 .navbar + .banner { background: #709df0 no-repeat 50% 50%; background-image: linear-gradient(135deg, #2a67ff 0%, #317ef0 10%, #5bb2e6 30%, #6fb2e4 36%, #996CC7 66%, #95a0fd 100%); background-image: url("/img/survey/2018-bg.jpg"), linear-gradient(135deg, #2a67ff 0%, #317ef0 10%, #5bb2e6 30%, #6fb2e4 36%, #996CC7 66%, #95a0fd 100%); background-size: cover, 100%; } #page-survey-2018 #bars-and-cubes { position: absolute; height: 100%; width: 100%; top: 0; overflow: hidden; } #page-survey-2018 #bars-and-cubes #bars { position: absolute; width: 100%; bottom: -400px; left: 0; } #page-survey-2018 #bars-and-cubes #bars > g { opacity: 0; mix-blend-mode: overlay; -webkit-animation: fadeInUp 1s .5s forwards; animation: fadeInUp 1s .5s forwards; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(16) { -webkit-animation-delay: .6s; animation-delay: .6s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(15) { -webkit-animation-delay: .65s; animation-delay: .65s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(14) { -webkit-animation-delay: .7s; animation-delay: .7s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(13) { -webkit-animation-delay: .75s; animation-delay: .75s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(12) { -webkit-animation-delay: .8s; animation-delay: .8s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(11) { -webkit-animation-delay: .85s; animation-delay: .85s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(10) { -webkit-animation-delay: .9s; animation-delay: .9s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(9) { -webkit-animation-delay: .95s; animation-delay: .95s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(8) { -webkit-animation-delay: 1s; animation-delay: 1s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(7) { -webkit-animation-delay: 1.05s; animation-delay: 1.05s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(6) { -webkit-animation-delay: 1.1s; animation-delay: 1.1s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(5) { -webkit-animation-delay: 1.15s; animation-delay: 1.15s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(4) { -webkit-animation-delay: 1.2s; animation-delay: 1.2s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(3) { -webkit-animation-delay: 1.25s; animation-delay: 1.25s; } #page-survey-2018 #bars-and-cubes #bars > g:nth-child(2) { -webkit-animation-delay: 1.3s; animation-delay: 1.3s; } #page-survey-2018 #bars-and-cubes #cubes { position: absolute; width: 100%; top: -50px; left: 0; opacity: 0; mix-blend-mode: overlay; -webkit-animation: fadeInUp 2s ease 3s forwards; animation: fadeInUp 2s ease 3s forwards; } #page-survey-2018 #bars-and-cubes #cubes g g { -webkit-animation: hoverY 10s infinite; animation: hoverY 10s infinite; } #page-survey-2018 #bars-and-cubes #cubes g g:nth-child(2) { -webkit-animation-duration: 15s; animation-duration: 15s; } #page-survey-2018 #bars-and-cubes #cubes g g:nth-child(3) { -webkit-animation-duration: 8s; animation-duration: 8s; } #page-survey-2018 #bars-and-cubes #cubes g g:nth-child(4) { -webkit-animation-duration: 13s; animation-duration: 13s; } #page-survey-2018 .cta hgroup { max-width: 590px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-survey-2018 .cta hgroup h2 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-weight: bold; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; margin-top: 28px; margin-bottom: 23px; } #page-survey-2018 .cta hgroup h2 svg { margin-bottom: 10px; } #page-survey-2018 .cta hgroup h1 { font-size: 64px; line-height: normal; letter-spacing: -0.03em; margin-top: 22px; margin-bottom: 2px; } #page-survey-2018 .cta hgroup p { margin-bottom: 10px; line-height: 40px; } #page-survey-2018 .bar .nav a { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase; padding: 43px 26px 38px; color: #B2BECD; } #page-survey-2018 .bar .active a, #page-survey-2018 .bar a:hover { color: #639CFF; } #page-survey-2018 .bar .active a { border-color: #639CFF; } @media (max-width: 991px) { #page-survey-2018 .bar .nav a { padding: 24px 9px 24px; } } @media (max-width: 767px) { #page-survey-2018 .bar { overflow-x: auto; } #page-survey-2018 .bar .nav a { padding: 24px 6px 24px; } } #page-survey-2018 article h4, #page-survey-2018 article p { padding-left: 0; padding-right: 0; } #page-survey-2018 article h3 { font-size: 48px; letter-spacing: -0.03em; margin-bottom: 30px; } #page-survey-2018 article h4 { font-size: 20px; letter-spacing: -0.02em; } #page-survey-2018 article blockquote { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; line-height: 34px; font-size: 20px; letter-spacing: -0.02em; color: #7C90F6; border-left: none; padding-left: 0; margin-left: 0; margin-bottom: 13px; padding-top: 0; } #page-survey-2018 article blockquote a { text-decoration: underline; font-weight: 500; } #page-survey-2018 article blockquote.pink { color: #F37BAB; } #page-survey-2018 article blockquote.orange { color: #F5947E; } #page-survey-2018 article section { background: linear-gradient(180deg, #F7F9FC 0%, rgba(247, 249, 252, 0) 100%); padding-top: 106px; padding-bottom: 170px; } #page-survey-2018 article section h3 { margin-left: 19px; } #page-survey-2018 article section .col-md-6 { padding: 0 48px 0 35px; } #page-survey-2018 article section .col-md-6 + .col-md-6 { padding: 0 35px 0 48px; } @media (max-width: 767px) { #page-survey-2018 article section .col-md-6, #page-survey-2018 article section .col-md-6 + .col-md-6 { padding: 0 15px; } } #page-survey-2018 article section p { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; line-height: 29px; font-size: 16px; letter-spacing: -0.01em; margin-bottom: 22px; } #page-survey-2018 article section h4 { margin-top: 0; margin-bottom: 28px; line-height: normal; } #page-survey-2018 article section p + h4 { margin-top: 66px; margin-bottom: 19px; } #page-survey-2018 .factoid { padding: 5px 0 20px; display: inline-block; } #page-survey-2018 .factoid:first-child { margin-right: 56px; } #page-survey-2018 .factoid strong { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; line-height: normal; font-size: 56px; letter-spacing: -0.03em; color: #7C8FF6; } #page-survey-2018 .factoid span { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; line-height: normal; font-size: 16px; letter-spacing: -0.02em; color: #4B537A; display: block; margin-top: -14px; } #page-survey-2018 #introduction { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-survey-2018 #introduction .container { max-width: 622px; margin: 98px auto 158px; } #page-survey-2018 #introduction h3 { font-size: 48px; letter-spacing: -0.03em; color: #0E151F; margin-bottom: 8px; } #page-survey-2018 #introduction p { font-size: 24px; text-align: center; line-height: normal; margin-bottom: 33px; letter-spacing: -0.02em; } #page-survey-2018 #big-three { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0 0 24px; } #page-survey-2018 #big-three li { background: url("/img/survey/frameworks.png") 0 0 no-repeat; height: 96px; width: 96px; list-style: none; background-size: 96px; margin-bottom: 16px; } #page-survey-2018 #big-three li.angular { background-position: 0 0px; } #page-survey-2018 #big-three li.react { background-position: 0 -96px; } #page-survey-2018 #big-three li.vue { background-position: 0 -192px; } #page-survey-2018 .tools { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0 0 24px; } #page-survey-2018 .tools li { background: url("/img/survey/tools.png") 0 0 no-repeat; height: 80px; width: 80px; list-style: none; background-size: 80px; margin-bottom: 16px; margin-right: 15px; } #page-survey-2018 .tools li.ionic { background-position: 0 0px; } #page-survey-2018 .tools li.react { background-position: 0 -80px; } #page-survey-2018 .tools li.xamarin { background-position: 0 -160px; } #page-survey-2018 .tools li.mysql { background-position: 0 -240px; } #page-survey-2018 .tools li.firebase { background-position: 0 -320px; } #page-survey-2018 .tools li.mongodb { background-position: 0 -400px; } #page-survey-2018 .tools li.postgres { background-position: 0 -480px; } #page-survey-2018 img.pull-right { margin: 24px -15px 10px 30px; } #page-survey-2018 #tools .tools { margin: -2px 0 25px -9px; } #page-survey-2018 #habbits aside { display: -ms-flexbox; display: flex; margin-bottom: 52px; } #page-survey-2018 #backend .tools { margin: 39px 0 1px; } #page-survey-2018 #big-picture { background: #18212F; color: white; } #page-survey-2018 #big-picture .container { max-width: 622px; } #page-survey-2018 #big-picture h3 { margin-bottom: 8px; } #page-survey-2018 #big-picture p { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; line-height: normal; font-size: 24px; letter-spacing: -0.02em; margin-bottom: 33px; color: #DEE3EA; } #page-survey-2018 #big-picture p.blue { color: #639CFF; margin-bottom: 40px; } #page-survey-2018 #big-picture p strong { font-weight: 600; color: white; } #page-survey-2018 #results hgroup { max-width: 970px; padding-top: 162px; } #page-survey-2018 #results hgroup h2 { line-height: normal; font-size: 48px; letter-spacing: -0.03em; } #page-survey-2018 #results hgroup p { line-height: normal; font-size: 24px; letter-spacing: -0.02em; color: #DEE3EA; max-width: 640px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-survey-2018 #results section { background: transparent; padding-bottom: 0px; padding-top: 14px; } #page-survey-2018 #results #demographics { padding-top: 105px; } #page-survey-2018 #results #backend { padding-bottom: 105px; } #page-survey-2018 #results h3 { line-height: normal; font-size: 36px; letter-spacing: -0.02em; margin: 33px -0 44px; padding: 0; } #page-survey-2018 #results h4 { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: 500; line-height: normal; font-size: 20px; letter-spacing: -0.04em; margin-bottom: 42px; } #page-survey-2018 #results ionic-bar-chart { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; margin-bottom: 111px; } #page-survey-2018 #results ionic-bar-chart:not(.hydrated) { min-height: 120px; } #page-survey-2018 #results .bar { background: #5b708b linear-gradient(to right, rgba(146, 225, 167, 0.2), rgba(81, 167, 255, 0.2)); } #page-survey-2018 #tools .bar { background: #5b708b linear-gradient(to right, rgba(229, 67, 133, 0.2), rgba(120, 109, 249, 0.2)); } #page-survey-2018 #results-pwas .bar { background: #5b708b linear-gradient(to right, rgba(255, 123, 94, 0.2), rgba(243, 123, 171, 0.2)); } #page-survey-2018 #backend .bar { background: #5b708b linear-gradient(to right, rgba(242, 197, 38, 0.2), rgba(146, 225, 167, 0.2)); } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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Q2pCLDZEQUE2RCxFQUFFOztBQUVuRTtFQUNFLHdCQUF3QjtFQUN4QixvQkFBb0I7RUFDcEIsa0JBQWtCLEVBQUU7O0FBRXRCO0VBQ0UsbUJBQW1CLEVBQUU7O0FBRXZCO0VBQ0Usc0JBQXNCLEVBQUU7O0FBRTFCO0VBQ0Usb0JBQW9CO0VBQ3BCLGdCQUFnQjtFQUNoQix3QkFBd0I7RUFDeEIscUJBQXFCO0VBQ3JCLFdBQVcsRUFBRTs7QUFFZjtFQUNFLDhFQUE4RTtFQUM5RSxtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixnQkFBZ0I7RUFDaEIsd0JBQXdCO0VBQ3hCLG9CQUFvQixFQUFFOztBQUV4QjtFQUNFLDhFQUE4RTtFQUM5RSxxQkFBcUIsRUFBRTtFQUN2QjtJQUNFLGtCQUFrQixFQUFFOztBQUV4QjtFQUNFLGlHQUFpRyxFQUFFOztBQUVyRztFQUNFLGlHQUFpRyxFQUFFOztBQUVyRztFQUNFLGlHQUFpRyxFQUFFOztBQUVyRztFQUNFLGlHQUFpRyxFQUFFIiwiZmlsZSI6InBhZ2VzL3N1cnZleS8yMDE4LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zdXJ2ZXktbGF5b3V0IC5uYXZiYXIgKyAuYmFubmVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMWU2ZmZmIDAlLCAjMDQ5OWZmIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc3VydmV5LWxheW91dCAubmF2YmFyICsgLmJhbm5lciBjYW52YXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYW5pbWF0aW9uOiAxMHMgZmFkZUluO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuc3VydmV5LWxheW91dCAubmF2YmFyICsgLmJhbm5lciBoZ3JvdXAge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMTJweDtcbiAgICBwYWRkaW5nLXRvcDogNDhweDsgfVxuICAuc3VydmV5LWxheW91dCAubmF2YmFyICsgLmJhbm5lciBoMiB7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb246IDFzIGZhZGVJblVwO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMnM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7IH1cbiAgICAuc3VydmV5LWxheW91dCAubmF2YmFyICsgLmJhbm5lciBoMiBzdmcge1xuICAgICAgbWFyZ2luOiAyM3B4IGF1dG8gMTVweDtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnN1cnZleS1sYXlvdXQgLm5hdmJhciArIC5iYW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogNjJweDtcbiAgICBtYXJnaW4tdG9wOiAyN3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDI1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBhbmltYXRpb246IDFzIGZhZGVJblVwO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMi4ycztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5zdXJ2ZXktbGF5b3V0IC5uYXZiYXIgKyAuYmFubmVyIHAge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgIGFuaW1hdGlvbjogMXMgZmFkZUluVXA7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyLjRzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDFlbTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5zdXJ2ZXktbGF5b3V0IC5uYXZiYXIgKyAuYmFubmVyIC5iYXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAuc3VydmV5LWxheW91dCAubmF2YmFyICsgLmJhbm5lciAuYmFyIHVsIGxpIGEge1xuICAgICAgcGFkZGluZzogMjhweCAxOHB4IDIycHg7XG4gICAgICBtYXJnaW46IDAgMTVweCAtMnB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgLnN1cnZleS1sYXlvdXQgLm5hdmJhciArIC5iYW5uZXIgLmJhciB1bCBsaSBhIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9IH1cbiAgICBAc3VwcG9ydHMgKGJhY2tkcm9wLWZpbHRlcjogYmx1cigzMHB4KSkge1xuICAgICAgLnN1cnZleS1sYXlvdXQgLm5hdmJhciArIC5iYW5uZXIgLmJhciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDMwcHgpOyB9IH1cbiAgICAuc3VydmV5LWxheW91dCAubmF2YmFyICsgLmJhbm5lciAuYmFyOm5vdCguYWZmaXgpIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpLCAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnN1cnZleS1sYXlvdXQgYXJ0aWNsZSB7XG4gIHBhZGRpbmctdG9wOiA2NHB4OyB9XG4gIC5zdXJ2ZXktbGF5b3V0IGFydGljbGUgPiBoZ3JvdXAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA2ODBweDtcbiAgICBtYXJnaW46IDMycHggYXV0byA0OXB4OyB9XG4gICAgLnN1cnZleS1sYXlvdXQgYXJ0aWNsZSA+IGhncm91cCAuY29udGFpbmVyIHAge1xuICAgICAgY29sb3I6ICMyNDI4MmU7XG4gICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS43NWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS43M2VtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDAxZW07IH1cbiAgICAuc3VydmV5LWxheW91dCBhcnRpY2xlID4gaGdyb3VwIC5jb250YWluZXIgaDIge1xuICAgICAgbWFyZ2luLXRvcDogNjRweDsgfVxuICAgIC5zdXJ2ZXktbGF5b3V0IGFydGljbGUgPiBoZ3JvdXAgLmNvbnRhaW5lciBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuc3VydmV5LWxheW91dCBhcnRpY2xlIGgzIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gICAgbWFyZ2luLXRvcDogNjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDMxcHggMTZweCAyOXB4O1xuICAgIGZvbnQtc2l6ZTogMzJweDsgfVxuICAgIC5zdXJ2ZXktbGF5b3V0IGFydGljbGUgaDM6OmJlZm9yZSwgLnN1cnZleS1sYXlvdXQgYXJ0aWNsZSBoMzo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3VydmV5LWxheW91dCBzZWN0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDcxcHg7IH1cbiAgLnN1cnZleS1sYXlvdXQgc2VjdGlvbiAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA5NjJweDsgfVxuICAuc3VydmV5LWxheW91dCBzZWN0aW9uIGg0IHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuICAuc3VydmV5LWxheW91dCBzZWN0aW9uIHAsXG4gIC5zdXJ2ZXktbGF5b3V0IHNlY3Rpb24gaDQge1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY5ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE4ZW07IH1cbiAgICAuc3VydmV5LWxheW91dCBzZWN0aW9uIHAgKyBoNCxcbiAgICAuc3VydmV5LWxheW91dCBzZWN0aW9uIGg0ICsgaDQge1xuICAgICAgbWFyZ2luLXRvcDogNDhweDsgfVxuICAuc3VydmV5LWxheW91dCBzZWN0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS43NWVtOyB9XG4gIC5zdXJ2ZXktbGF5b3V0IHNlY3Rpb24gLnJvdyArIC5yb3cge1xuICAgIHBhZGRpbmctdG9wOiAzMnB4OyB9XG5cbi5zdXJ2ZXktbGF5b3V0IC5kYXJrIHtcbiAgYmFja2dyb3VuZDogIzExMTkyNTsgfVxuICAuc3VydmV5LWxheW91dCAuZGFyayBoMixcbiAgLnN1cnZleS1sYXlvdXQgLmRhcmsgaDMsXG4gIC5zdXJ2ZXktbGF5b3V0IC5kYXJrIGg0IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTsgfVxuICAuc3VydmV5LWxheW91dCAuZGFyayBwIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gIC5zdXJ2ZXktbGF5b3V0IC5kYXJrIGZpZ3VyZSBzdHJvbmcge1xuICAgIGNvbG9yOiAjY2VkNmUwOyB9XG5cbi5zdXJ2ZXktbGF5b3V0IC5pbnRybzo6YmVmb3JlIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzczsgfVxuXG4uc3VydmV5LWxheW91dCAuZGF0YSAuY29udGFpbmVyOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zdXJ2ZXktbGF5b3V0IC5kYXRhIGg0IHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbiNwYWdlLXN1cnZleS0yMDE4IC5uYXZiYXIgKyAuYmFubmVyIHtcbiAgYmFja2dyb3VuZDogIzcwOWRmMCBuby1yZXBlYXQgNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzJhNjdmZiAwJSwgIzMxN2VmMCAxMCUsICM1YmIyZTYgMzAlLCAjNmZiMmU0IDM2JSwgIzk5NkNDNyA2NiUsICM5NWEwZmQgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc3VydmV5LzIwMTgtYmcuanBnXCIpLCBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMmE2N2ZmIDAlLCAjMzE3ZWYwIDEwJSwgIzViYjJlNiAzMCUsICM2ZmIyZTQgMzYlLCAjOTk2Q0M3IDY2JSwgIzk1YTBmZCAxMDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciwgMTAwJTsgfVxuXG4jcGFnZS1zdXJ2ZXktMjAxOCAjYmFycy1hbmQtY3ViZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjcGFnZS1zdXJ2ZXktMjAxOCAjYmFycy1hbmQtY3ViZXMgI2JhcnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3R0b206IC00MDBweDtcbiAgICBsZWZ0OiAwOyB9XG4gICAgI3BhZ2Utc3VydmV5LTIwMTggI2JhcnMtYW5kLWN1YmVzICNiYXJzID4gZyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7XG4gICAgICBhbmltYXRpb246IGZhZGVJblVwIDFzIC41cyBmb3J3YXJkczsgfVxuICAgICAgI3BhZ2Utc3VydmV5LTIwMTggI2JhcnMtYW5kLWN1YmVzICNiYXJzID4gZzpudGgtY2hpbGQoMTYpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuNnM7IH1cbiAgICAgICNwYWdlLXN1cnZleS0yMDE4ICNiYXJzLWFuZC1jdWJlcyAjYmFycyA+IGc6bnRoLWNoaWxkKDE1KSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjY1czsgfVxuICAgICAgI3BhZ2Utc3VydmV5LTIwMTggI2JhcnMtYW5kLWN1YmVzICNiYXJzID4gZzpudGgtY2hpbGQoMTQpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuN3M7IH1cbiAgICAgICNwYWdlLXN1cnZleS0yMDE4ICNiYXJzLWFuZC1jdWJlcyAjYmFycyA+IGc6bnRoLWNoaWxkKDEzKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjc1czsgfVxuICAgICAgI3BhZ2Utc3VydmV5LTIwMTggI2JhcnMtYW5kLWN1YmVzICNiYXJzID4gZzpudGgtY2hpbGQoMTIpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuOHM7IH1cbiAgICAgICNwYWdlLXN1cnZleS0yMDE4ICNiYXJzLWFuZC1jdWJlcyAjYmFycyA+IGc6bnRoLWNoaWxkKDExKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjg1czsgfVxuICAgICAgI3BhZ2Utc3VydmV5LTIwMTggI2JhcnMtYW5kLWN1YmVzICNiYXJzID4gZzpudGgtY2hpbGQoMTApIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuOXM7IH1cbiAgICAgICNwYWdlLXN1cnZleS0yMDE4ICNiYXJzLWFuZC1jdWJlcyAjYmFycyA+IGc6bnRoLWNoaWxkKDkpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuOTVzOyB9XG4gICAgICAjcGFnZS1zdXJ2ZXktMjAxOCAjYmFycy1hbmQtY3ViZXMgI2JhcnMgPiBnOm50aC1jaGlsZCg4KSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMXM7IH1cbiAgICAgICNwYWdlLXN1cnZleS0yMDE4ICNiYXJzLWFuZC1jdWJlcyAjYmFycyA+IGc6bnRoLWNoaWxkKDcpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjA1czsgfVxuICAgICAgI3BhZ2Utc3VydmV5LTIwMTggI2JhcnMtYW5kLWN1YmVzICNiYXJzID4gZzpudGgtY2hpbGQoNikge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEuMXM7IH1cbiAgICAgICNwYWdlLXN1cnZleS0yMDE4ICNiYXJzLWFuZC1jdWJlcyAjYmFycyA+IGc6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjE1czsgfVxuICAgICAgI3BhZ2Utc3VydmV5LTIwMTggI2JhcnMtYW5kLWN1YmVzICNiYXJzID4gZzpudGgtY2hpbGQoNCkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEuMnM7IH1cbiAgICAgICNwYWdlLXN1cnZleS0yMDE4ICNiYXJzLWFuZC1jdWJlcyAjYmFycyA+IGc6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjI1czsgfVxuICAgICAgI3BhZ2Utc3VydmV5LTIwMTggI2JhcnMtYW5kLWN1YmVzICNiYXJzID4gZzpudGgtY2hpbGQoMikge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEuM3M7IH1cbiAgI3BhZ2Utc3VydmV5LTIwMTggI2JhcnMtYW5kLWN1YmVzICNjdWJlcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogLTUwcHg7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1peC1ibGVuZC1tb2RlOiBvdmVybGF5O1xuICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMnMgZWFzZSAzcyBmb3J3YXJkczsgfVxuICAgICNwYWdlLXN1cnZleS0yMDE4ICNiYXJzLWFuZC1jdWJlcyAjY3ViZXMgZyBnIHtcbiAgICAgIGFuaW1hdGlvbjogaG92ZXJZIDEwcyBpbmZpbml0ZTsgfVxuICAgICAgI3BhZ2Utc3VydmV5LTIwMTggI2JhcnMtYW5kLWN1YmVzICNjdWJlcyBnIGc6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxNXM7IH1cbiAgICAgICNwYWdlLXN1cnZleS0yMDE4ICNiYXJzLWFuZC1jdWJlcyAjY3ViZXMgZyBnOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogOHM7IH1cbiAgICAgICNwYWdlLXN1cnZleS0yMDE4ICNiYXJzLWFuZC1jdWJlcyAjY3ViZXMgZyBnOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTNzOyB9XG5cbiNwYWdlLXN1cnZleS0yMDE4IC5jdGEgaGdyb3VwIHtcbiAgbWF4LXdpZHRoOiA1OTBweDtcbiAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICAjcGFnZS1zdXJ2ZXktMjAxOCAuY3RhIGhncm91cCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyM3B4OyB9XG4gICAgI3BhZ2Utc3VydmV5LTIwMTggLmN0YSBoZ3JvdXAgaDIgc3ZnIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgI3BhZ2Utc3VydmV5LTIwMTggLmN0YSBoZ3JvdXAgaDEge1xuICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIG1hcmdpbi10b3A6IDIycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4OyB9XG4gICNwYWdlLXN1cnZleS0yMDE4IC5jdGEgaGdyb3VwIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggLmJhciAubmF2IGEge1xuICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDQzcHggMjZweCAzOHB4O1xuICBjb2xvcjogI0IyQkVDRDsgfVxuXG4jcGFnZS1zdXJ2ZXktMjAxOCAuYmFyIC5hY3RpdmUgYSxcbiNwYWdlLXN1cnZleS0yMDE4IC5iYXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjNjM5Q0ZGOyB9XG5cbiNwYWdlLXN1cnZleS0yMDE4IC5iYXIgLmFjdGl2ZSBhIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjM5Q0ZGOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAjcGFnZS1zdXJ2ZXktMjAxOCAuYmFyIC5uYXYgYSB7XG4gICAgcGFkZGluZzogMjRweCA5cHggMjRweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAjcGFnZS1zdXJ2ZXktMjAxOCAuYmFyIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgI3BhZ2Utc3VydmV5LTIwMTggLmJhciAubmF2IGEge1xuICAgICAgcGFkZGluZzogMjRweCA2cHggMjRweDsgfSB9XG5cbiNwYWdlLXN1cnZleS0yMDE4IGFydGljbGUgaDQsXG4jcGFnZS1zdXJ2ZXktMjAxOCBhcnRpY2xlIHAge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggYXJ0aWNsZSBoMyB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggYXJ0aWNsZSBoNCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggYXJ0aWNsZSBibG9ja3F1b3RlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgXCJJbnRlciBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgY29sb3I6ICM3QzkwRjY7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICBwYWRkaW5nLXRvcDogMDsgfVxuICAjcGFnZS1zdXJ2ZXktMjAxOCBhcnRpY2xlIGJsb2NrcXVvdGUgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAjcGFnZS1zdXJ2ZXktMjAxOCBhcnRpY2xlIGJsb2NrcXVvdGUucGluayB7XG4gICAgY29sb3I6ICNGMzdCQUI7IH1cbiAgI3BhZ2Utc3VydmV5LTIwMTggYXJ0aWNsZSBibG9ja3F1b3RlLm9yYW5nZSB7XG4gICAgY29sb3I6ICNGNTk0N0U7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggYXJ0aWNsZSBzZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0Y3RjlGQyAwJSwgcmdiYSgyNDcsIDI0OSwgMjUyLCAwKSAxMDAlKTtcbiAgcGFkZGluZy10b3A6IDEwNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTcwcHg7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggYXJ0aWNsZSBzZWN0aW9uIGgzIHtcbiAgbWFyZ2luLWxlZnQ6IDE5cHg7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggYXJ0aWNsZSBzZWN0aW9uIC5jb2wtbWQtNiB7XG4gIHBhZGRpbmc6IDAgNDhweCAwIDM1cHg7IH1cbiAgI3BhZ2Utc3VydmV5LTIwMTggYXJ0aWNsZSBzZWN0aW9uIC5jb2wtbWQtNiArIC5jb2wtbWQtNiB7XG4gICAgcGFkZGluZzogMCAzNXB4IDAgNDhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcGFnZS1zdXJ2ZXktMjAxOCBhcnRpY2xlIHNlY3Rpb24gLmNvbC1tZC02LFxuICAgICNwYWdlLXN1cnZleS0yMDE4IGFydGljbGUgc2VjdGlvbiAuY29sLW1kLTYgKyAuY29sLW1kLTYge1xuICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggYXJ0aWNsZSBzZWN0aW9uIHAge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG5cbiNwYWdlLXN1cnZleS0yMDE4IGFydGljbGUgc2VjdGlvbiBoNCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggYXJ0aWNsZSBzZWN0aW9uIHAgKyBoNCB7XG4gIG1hcmdpbi10b3A6IDY2cHg7XG4gIG1hcmdpbi1ib3R0b206IDE5cHg7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggLmZhY3RvaWQge1xuICBwYWRkaW5nOiA1cHggMCAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgI3BhZ2Utc3VydmV5LTIwMTggLmZhY3RvaWQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogNTZweDsgfVxuICAjcGFnZS1zdXJ2ZXktMjAxOCAuZmFjdG9pZCBzdHJvbmcge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDU2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgY29sb3I6ICM3QzhGRjY7IH1cbiAgI3BhZ2Utc3VydmV5LTIwMTggLmZhY3RvaWQgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgXCJJbnRlciBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiAjNEI1MzdBO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IC0xNHB4OyB9XG5cbiNwYWdlLXN1cnZleS0yMDE4ICNpbnRyb2R1Y3Rpb24ge1xuICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICNwYWdlLXN1cnZleS0yMDE4ICNpbnRyb2R1Y3Rpb24gLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA2MjJweDtcbiAgICBtYXJnaW46IDk4cHggYXV0byAxNThweDsgfVxuICAjcGFnZS1zdXJ2ZXktMjAxOCAjaW50cm9kdWN0aW9uIGgzIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgY29sb3I6ICMwRTE1MUY7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gICNwYWdlLXN1cnZleS0yMDE4ICNpbnRyb2R1Y3Rpb24gcCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDMzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggI2JpZy10aHJlZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAwIDAgMjRweDsgfVxuICAjcGFnZS1zdXJ2ZXktMjAxOCAjYmlnLXRocmVlIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3N1cnZleS9mcmFtZXdvcmtzLnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgIGhlaWdodDogOTZweDtcbiAgICB3aWR0aDogOTZweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgI3BhZ2Utc3VydmV5LTIwMTggI2JpZy10aHJlZSBsaS5hbmd1bGFyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMHB4OyB9XG4gICAgI3BhZ2Utc3VydmV5LTIwMTggI2JpZy10aHJlZSBsaS5yZWFjdCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9XG4gICAgI3BhZ2Utc3VydmV5LTIwMTggI2JpZy10aHJlZSBsaS52dWUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggLnRvb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAwIDAgMjRweDsgfVxuICAjcGFnZS1zdXJ2ZXktMjAxOCAudG9vbHMgbGkge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvc3VydmV5L3Rvb2xzLnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgIGhlaWdodDogODBweDtcbiAgICB3aWR0aDogODBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgICNwYWdlLXN1cnZleS0yMDE4IC50b29scyBsaS5pb25pYyB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDBweDsgfVxuICAgICNwYWdlLXN1cnZleS0yMDE4IC50b29scyBsaS5yZWFjdCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MHB4OyB9XG4gICAgI3BhZ2Utc3VydmV5LTIwMTggLnRvb2xzIGxpLnhhbWFyaW4ge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTYwcHg7IH1cbiAgICAjcGFnZS1zdXJ2ZXktMjAxOCAudG9vbHMgbGkubXlzcWwge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjQwcHg7IH1cbiAgICAjcGFnZS1zdXJ2ZXktMjAxOCAudG9vbHMgbGkuZmlyZWJhc2Uge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzIwcHg7IH1cbiAgICAjcGFnZS1zdXJ2ZXktMjAxOCAudG9vbHMgbGkubW9uZ29kYiB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MDBweDsgfVxuICAgICNwYWdlLXN1cnZleS0yMDE4IC50b29scyBsaS5wb3N0Z3JlcyB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00ODBweDsgfVxuXG4jcGFnZS1zdXJ2ZXktMjAxOCBpbWcucHVsbC1yaWdodCB7XG4gIG1hcmdpbjogMjRweCAtMTVweCAxMHB4IDMwcHg7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggI3Rvb2xzIC50b29scyB7XG4gIG1hcmdpbjogLTJweCAwIDI1cHggLTlweDsgfVxuXG4jcGFnZS1zdXJ2ZXktMjAxOCAjaGFiYml0cyBhc2lkZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDUycHg7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggI2JhY2tlbmQgLnRvb2xzIHtcbiAgbWFyZ2luOiAzOXB4IDAgMXB4OyB9XG5cbiNwYWdlLXN1cnZleS0yMDE4ICNiaWctcGljdHVyZSB7XG4gIGJhY2tncm91bmQ6ICMxODIxMkY7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICAjcGFnZS1zdXJ2ZXktMjAxOCAjYmlnLXBpY3R1cmUgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA2MjJweDsgfVxuICAjcGFnZS1zdXJ2ZXktMjAxOCAjYmlnLXBpY3R1cmUgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAjcGFnZS1zdXJ2ZXktMjAxOCAjYmlnLXBpY3R1cmUgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzM3B4O1xuICAgIGNvbG9yOiAjREVFM0VBOyB9XG4gICAgI3BhZ2Utc3VydmV5LTIwMTggI2JpZy1waWN0dXJlIHAuYmx1ZSB7XG4gICAgICBjb2xvcjogIzYzOUNGRjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAjcGFnZS1zdXJ2ZXktMjAxOCAjYmlnLXBpY3R1cmUgcCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4jcGFnZS1zdXJ2ZXktMjAxOCAjcmVzdWx0cyBoZ3JvdXAge1xuICBtYXgtd2lkdGg6IDk3MHB4O1xuICBwYWRkaW5nLXRvcDogMTYycHg7IH1cbiAgI3BhZ2Utc3VydmV5LTIwMTggI3Jlc3VsdHMgaGdyb3VwIGgyIHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTsgfVxuICAjcGFnZS1zdXJ2ZXktMjAxOCAjcmVzdWx0cyBoZ3JvdXAgcCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6ICNERUUzRUE7XG4gICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG5cbiNwYWdlLXN1cnZleS0yMDE4ICNyZXN1bHRzIHNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgcGFkZGluZy10b3A6IDE0cHg7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggI3Jlc3VsdHMgI2RlbW9ncmFwaGljcyB7XG4gIHBhZGRpbmctdG9wOiAxMDVweDsgfVxuXG4jcGFnZS1zdXJ2ZXktMjAxOCAjcmVzdWx0cyAjYmFja2VuZCB7XG4gIHBhZGRpbmctYm90dG9tOiAxMDVweDsgfVxuXG4jcGFnZS1zdXJ2ZXktMjAxOCAjcmVzdWx0cyBoMyB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMzZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIG1hcmdpbjogMzNweCAtMCA0NHB4O1xuICBwYWRkaW5nOiAwOyB9XG5cbiNwYWdlLXN1cnZleS0yMDE4ICNyZXN1bHRzIGg0IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG4gIG1hcmdpbi1ib3R0b206IDQycHg7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggI3Jlc3VsdHMgaW9uaWMtYmFyLWNoYXJ0IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICBtYXJnaW4tYm90dG9tOiAxMTFweDsgfVxuICAjcGFnZS1zdXJ2ZXktMjAxOCAjcmVzdWx0cyBpb25pYy1iYXItY2hhcnQ6bm90KC5oeWRyYXRlZCkge1xuICAgIG1pbi1oZWlnaHQ6IDEyMHB4OyB9XG5cbiNwYWdlLXN1cnZleS0yMDE4ICNyZXN1bHRzIC5iYXIge1xuICBiYWNrZ3JvdW5kOiAjNWI3MDhiIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgxNDYsIDIyNSwgMTY3LCAwLjIpLCByZ2JhKDgxLCAxNjcsIDI1NSwgMC4yKSk7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggI3Rvb2xzIC5iYXIge1xuICBiYWNrZ3JvdW5kOiAjNWI3MDhiIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyMjksIDY3LCAxMzMsIDAuMiksIHJnYmEoMTIwLCAxMDksIDI0OSwgMC4yKSk7IH1cblxuI3BhZ2Utc3VydmV5LTIwMTggI3Jlc3VsdHMtcHdhcyAuYmFyIHtcbiAgYmFja2dyb3VuZDogIzViNzA4YiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAxMjMsIDk0LCAwLjIpLCByZ2JhKDI0MywgMTIzLCAxNzEsIDAuMikpOyB9XG5cbiNwYWdlLXN1cnZleS0yMDE4ICNiYWNrZW5kIC5iYXIge1xuICBiYWNrZ3JvdW5kOiAjNWI3MDhiIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNDIsIDE5NywgMzgsIDAuMiksIHJnYmEoMTQ2LCAyMjUsIDE2NywgMC4yKSk7IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/team.css ================================================ #page-team .navbar + .banner { background: #393e49 no-repeat center top; background-image: url("/img/team/team-cta-bg.jpg"), linear-gradient(to right, #1a2538 0%, #1f2b40 100%); background-size: cover, 100%; height: 360px; } #page-team .made-of { max-width: 680px; width: 100%; margin: 80px auto 90px; text-align: center; } #page-team .made-of h3 { margin-bottom: 10px; } #page-team .made-of p { color: #5d636c; font-size: 18px; line-height: 28px; font-weight: 400; } #page-team .cofounders .img { background: #f9f9fa no-repeat center top; background-image: url("/img/team/max-ben.jpg"); background-size: cover; height: 436px; width: 100%; } @media (max-width: 767px) { #page-team .cofounders .img { height: 290px; } } #page-team .cofounders .bar { background: #f9f9fa repeat-y center top; background-image: url("/img/team/max-ben-bar.jpg"); background-size: cover; padding-top: 30px; } #page-team .cofounders .bar h4 { font-size: 18px; margin-bottom: 0; } #page-team .cofounders .bar p { color: #576070; } #page-team .cofounders .max, #page-team .cofounders .ben { width: 49%; float: left; } #page-team .cofounders .max { padding-left: 15%; } @media (max-width: 767px) { #page-team .cofounders .max { padding-left: 0; } } #page-team .cofounders .ben { padding-left: 6%; } #page-team .employees { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: distribute; justify-content: space-around; padding-bottom: 60px; } #page-team .employees .employee { -ms-flex: 0 1 260px; flex: 0 1 260px; padding: 0 50px 50px; position: relative; margin: 0 auto; text-decoration: none; } #page-team .employees .employee .avatar { height: 160px; width: 160px; -webkit-clip-path: circle(80px at center); clip-path: circle(80px at center); transition: -webkit-transform .2s ease; transition: transform .2s ease; transition: transform .2s ease, -webkit-transform .2s ease; } #page-team .employees .employee[href]:hover .avatar { -webkit-transform: scale(1.05, 1.05); transform: scale(1.05, 1.05); } #page-team .employees .employee hgroup { margin-top: 16px; } #page-team .employees .employee hgroup h4 { font-size: 16px; margin-bottom: 4px; font-weight: 600; color: #4C555A; } #page-team .employees .employee hgroup .twitter::before { float: right; color: #4C555A; content: "\f2b0"; font-family: "Ionicons"; transition: .2s color ease; } #page-team .employees .employee hgroup .twitter:hover::before { color: #4a8bfc; } #page-team .employees .employee hgroup p { font-size: 10px; color: #aaa; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; } #page-team .employees .employee hgroup p.blue { color: #4a8bfc; } #page-team .employees .employee .description { position: absolute; width: 250px; height: 260px; top: 0; line-height: 260px; opacity: 0; transition: opacity .5s; } #page-team .employees .employee .description p { display: inline-block; vertical-align: middle; color: #4C555A; font-weight: 400; font-size: 13px; line-height: 22px; } #page-team .hero { background: no-repeat center top url("/img/team/see-openings-bg.jpg"); background-size: cover; height: 260px; padding-top: 65px; } #page-team .hero h3 { color: white; } #page-team .hero .btn.white { text-transform: none; letter-spacing: -0.02em; font-weight: 700; font-size: 14px; border-radius: 3px; padding: 16px 15px 14px; margin-top: 15px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlYW0uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UseUNBQXlDO0VBQ3pDLHdHQUF3RztFQUN4Ryw2QkFBNkI7RUFDN0IsY0FBYyxFQUFFOztBQUVsQjtFQUNFLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osdUJBQXVCO0VBQ3ZCLG1CQUFtQixFQUFFO0VBQ3JCO0lBQ0Usb0JBQW9CLEVBQUU7RUFDeEI7SUFDRSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixpQkFBaUIsRUFBRTs7QUFFdkI7RUFDRSx5Q0FBeUM7RUFDekMsK0NBQStDO0VBQy9DLHVCQUF1QjtFQUN2QixjQUFjO0VBQ2QsWUFBWSxFQUFFO0VBQ2Q7SUFDRTtNQUNFLGNBQWMsRUFBRSxFQUFFOztBQUV4QjtFQUNFLHdDQUF3QztFQUN4QyxtREFBbUQ7RUFDbkQsdUJBQXVCO0VBQ3ZCLGtCQUFrQixFQUFFO0VBQ3BCO0lBQ0UsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFFO0VBQ3JCO0lBQ0UsZUFBZSxFQUFFOztBQUVyQjs7RUFFRSxXQUFXO0VBQ1gsWUFBWSxFQUFFOztBQUVoQjtFQUNFLGtCQUFrQixFQUFFO0VBQ3BCO0lBQ0U7TUFDRSxnQkFBZ0IsRUFBRSxFQUFFOztBQUUxQjtFQUNFLGlCQUFpQixFQUFFOztBQUVyQjtFQUNFLHFCQUFjO0VBQWQsY0FBYztFQUNkLG9CQUFnQjtNQUFoQixnQkFBZ0I7RUFDaEIsMEJBQThCO01BQTlCLDhCQUE4QjtFQUM5QixxQkFBcUIsRUFBRTtFQUN2QjtJQUNFLG9CQUFnQjtRQUFoQixnQkFBZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2Ysc0JBQXNCLEVBQUU7SUFDeEI7TUFDRSxjQUFjO01BQ2QsYUFBYTtNQUNiLDBDQUEwQztNQUMxQyxrQ0FBa0M7TUFDbEMsdUNBQStCO01BQS9CLCtCQUErQjtNQUEvQiwyREFBK0IsRUFBRTtJQUNuQztNQUNFLHFDQUE2QjtjQUE3Qiw2QkFBNkIsRUFBRTtJQUNqQztNQUNFLGlCQUFpQixFQUFFO01BQ25CO1FBQ0UsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsZUFBZSxFQUFFO01BQ25CO1FBQ0UsYUFBYTtRQUNiLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLDJCQUEyQixFQUFFO01BQy9CO1FBQ0UsZUFBZSxFQUFFO01BQ25CO1FBQ0UsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsMEJBQTBCO1FBQzFCLHNCQUFzQixFQUFFO1FBQ3hCO1VBQ0UsZUFBZSxFQUFFO0lBQ3ZCO01BQ0UsbUJBQW1CO01BQ25CLGFBQWE7TUFDYixjQUFjO01BQ2QsT0FBTztNQUNQLG1CQUFtQjtNQUNuQixXQUFXO01BQ1gsd0JBQXdCLEVBQUU7TUFDMUI7UUFDRSxzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLGtCQUFrQixFQUFFOztBQUU1QjtFQUNFLHNFQUFzRTtFQUN0RSx1QkFBdUI7RUFDdkIsY0FBYztFQUNkLGtCQUFrQixFQUFFO0VBQ3BCO0lBQ0UsYUFBYSxFQUFFO0VBQ2pCO0lBQ0UscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4QixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQix3QkFBd0I7SUFDeEIsaUJBQWlCLEVBQUUiLCJmaWxlIjoicGFnZXMvdGVhbS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcGFnZS10ZWFtIC5uYXZiYXIgKyAuYmFubmVyIHtcbiAgYmFja2dyb3VuZDogIzM5M2U0OSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90ZWFtL3RlYW0tY3RhLWJnLmpwZ1wiKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMWEyNTM4IDAlLCAjMWYyYjQwIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyLCAxMDAlO1xuICBoZWlnaHQ6IDM2MHB4OyB9XG5cbiNwYWdlLXRlYW0gLm1hZGUtb2Yge1xuICBtYXgtd2lkdGg6IDY4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA4MHB4IGF1dG8gOTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNwYWdlLXRlYW0gLm1hZGUtb2YgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgI3BhZ2UtdGVhbSAubWFkZS1vZiBwIHtcbiAgICBjb2xvcjogIzVkNjM2YztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4jcGFnZS10ZWFtIC5jb2ZvdW5kZXJzIC5pbWcge1xuICBiYWNrZ3JvdW5kOiAjZjlmOWZhIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RlYW0vbWF4LWJlbi5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGhlaWdodDogNDM2cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLXRlYW0gLmNvZm91bmRlcnMgLmltZyB7XG4gICAgICBoZWlnaHQ6IDI5MHB4OyB9IH1cblxuI3BhZ2UtdGVhbSAuY29mb3VuZGVycyAuYmFyIHtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmYSByZXBlYXQteSBjZW50ZXIgdG9wO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RlYW0vbWF4LWJlbi1iYXIuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nLXRvcDogMzBweDsgfVxuICAjcGFnZS10ZWFtIC5jb2ZvdW5kZXJzIC5iYXIgaDQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICNwYWdlLXRlYW0gLmNvZm91bmRlcnMgLmJhciBwIHtcbiAgICBjb2xvcjogIzU3NjA3MDsgfVxuXG4jcGFnZS10ZWFtIC5jb2ZvdW5kZXJzIC5tYXgsXG4jcGFnZS10ZWFtIC5jb2ZvdW5kZXJzIC5iZW4ge1xuICB3aWR0aDogNDklO1xuICBmbG9hdDogbGVmdDsgfVxuXG4jcGFnZS10ZWFtIC5jb2ZvdW5kZXJzIC5tYXgge1xuICBwYWRkaW5nLWxlZnQ6IDE1JTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcGFnZS10ZWFtIC5jb2ZvdW5kZXJzIC5tYXgge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuI3BhZ2UtdGVhbSAuY29mb3VuZGVycyAuYmVuIHtcbiAgcGFkZGluZy1sZWZ0OiA2JTsgfVxuXG4jcGFnZS10ZWFtIC5lbXBsb3llZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuICAjcGFnZS10ZWFtIC5lbXBsb3llZXMgLmVtcGxveWVlIHtcbiAgICBmbGV4OiAwIDEgMjYwcHg7XG4gICAgcGFkZGluZzogMCA1MHB4IDUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICNwYWdlLXRlYW0gLmVtcGxveWVlcyAuZW1wbG95ZWUgLmF2YXRhciB7XG4gICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgLXdlYmtpdC1jbGlwLXBhdGg6IGNpcmNsZSg4MHB4IGF0IGNlbnRlcik7XG4gICAgICBjbGlwLXBhdGg6IGNpcmNsZSg4MHB4IGF0IGNlbnRlcik7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2U7IH1cbiAgICAjcGFnZS10ZWFtIC5lbXBsb3llZXMgLmVtcGxveWVlW2hyZWZdOmhvdmVyIC5hdmF0YXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1LCAxLjA1KTsgfVxuICAgICNwYWdlLXRlYW0gLmVtcGxveWVlcyAuZW1wbG95ZWUgaGdyb3VwIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgICAgICNwYWdlLXRlYW0gLmVtcGxveWVlcyAuZW1wbG95ZWUgaGdyb3VwIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjNEM1NTVBOyB9XG4gICAgICAjcGFnZS10ZWFtIC5lbXBsb3llZXMgLmVtcGxveWVlIGhncm91cCAudHdpdHRlcjo6YmVmb3JlIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBjb2xvcjogIzRDNTU1QTtcbiAgICAgICAgY29udGVudDogXCJcXGYyYjBcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSW9uaWNvbnNcIjtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIGNvbG9yIGVhc2U7IH1cbiAgICAgICNwYWdlLXRlYW0gLmVtcGxveWVlcyAuZW1wbG95ZWUgaGdyb3VwIC50d2l0dGVyOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzRhOGJmYzsgfVxuICAgICAgI3BhZ2UtdGVhbSAuZW1wbG95ZWVzIC5lbXBsb3llZSBoZ3JvdXAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDNlbTsgfVxuICAgICAgICAjcGFnZS10ZWFtIC5lbXBsb3llZXMgLmVtcGxveWVlIGhncm91cCBwLmJsdWUge1xuICAgICAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICAgI3BhZ2UtdGVhbSAuZW1wbG95ZWVzIC5lbXBsb3llZSAuZGVzY3JpcHRpb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgaGVpZ2h0OiAyNjBweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNjBweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41czsgfVxuICAgICAgI3BhZ2UtdGVhbSAuZW1wbG95ZWVzIC5lbXBsb3llZSAuZGVzY3JpcHRpb24gcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgY29sb3I6ICM0QzU1NUE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cblxuI3BhZ2UtdGVhbSAuaGVybyB7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgdG9wIHVybChcIi9pbWcvdGVhbS9zZWUtb3BlbmluZ3MtYmcuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBoZWlnaHQ6IDI2MHB4O1xuICBwYWRkaW5nLXRvcDogNjVweDsgfVxuICAjcGFnZS10ZWFtIC5oZXJvIGgzIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgI3BhZ2UtdGVhbSAuaGVybyAuYnRuLndoaXRlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogMTZweCAxNXB4IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuIl19 */ ================================================ FILE: content/css/pages/thank-you.css ================================================ #page-thank-you { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; } #page-thank-you h1, #page-thank-you h2, #page-thank-you h3 { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-thank-you main { padding-bottom: 0px; overflow: visible; margin-top: 40px; padding-top: 64px; padding-right: 30px; font-size: 14px; color: #4e545e; letter-spacing: -0.02em; max-width: 526px; } #page-thank-you main::before { background-color: #f6f8fc; border-bottom: 1px solid #e5e7eb; content: ''; position: absolute; top: 0; right: 0; left: 0; height: 450px; display: block; } #page-thank-you main::after { display: none; } #page-thank-you main h1 { color: #24282e; } #page-thank-you main h1 + p { color: #6e7f99; font-size: 18px; line-height: 36px; -webkit-perspective: 600px; perspective: 600px; margin-bottom: 0; } #page-thank-you main p { letter-spacing: -.02em; line-height: 2em; font-size: 16px; margin-bottom: 16px; } #page-thank-you .content { padding: 42px 48px 48px; background: white; box-shadow: 0 8px 48px 0px rgba(0, 0, 0, 0.2); max-width: 536px; border-radius: 10px; position: relative; margin-right: auto; margin-left: auto; text-align: center; word-break: break-word; } #page-thank-you .content h3 { margin-top: 0; margin-bottom: 30px; font-weight: 700; font-size: 28px; line-height: 36px; letter-spacing: -0.03em; } #page-thank-you .content .btn { display: block; font-weight: 600; white-space: normal; } #page-thank-you .company { margin: 128px 0 68px; text-align: center; width: 100%; } #page-thank-you .company h2 { color: #7f8fab; margin: 0 auto; font-size: 28px; max-width: 790px; text-align: center; line-height: 1.4em; letter-spacing: -.04em; font-weight: 600; padding-right: 15px; padding-left: 15px; } #page-thank-you .company strong { color: #131924; font-weight: 700; } #page-thank-you .company .logos { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 51px; -ms-flex-pack: space-evenly; justify-content: space-evenly; } #page-thank-you .company .logos::before, #page-thank-you .company .logos::after { background: url("/img/homepage/enterprise-logos.png") 0 0 no-repeat; background-size: 100%; width: 494px; height: 42px; content: ''; max-width: 100%; margin-bottom: 32px; display: inline-block; } #page-thank-you .company .logos::after { background-position: 0 bottom; } @media (max-width: 991px) { #page-thank-you .banner hgroup { padding-right: 15px; text-align: center; } #page-thank-you h1 { margin-right: auto; margin-left: auto; } #page-thank-you p.lg { margin-right: 24px; } #page-thank-you main { display: block; } #page-thank-you .company { margin-top: 128px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRoYW5rLXlvdS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSwrREFBK0QsRUFBRTtFQUNqRTs7O0lBR0UsNkRBQTZELEVBQUU7RUFDakU7SUFDRSxvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2Ysd0JBQXdCO0lBQ3hCLGlCQUFpQixFQUFFO0lBQ25CO01BQ0UsMEJBQTBCO01BQzFCLGlDQUFpQztNQUNqQyxZQUFZO01BQ1osbUJBQW1CO01BQ25CLE9BQU87TUFDUCxTQUFTO01BQ1QsUUFBUTtNQUNSLGNBQWM7TUFDZCxlQUFlLEVBQUU7SUFDbkI7TUFDRSxjQUFjLEVBQUU7SUFDbEI7TUFDRSxlQUFlLEVBQUU7TUFDakI7UUFDRSxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQiwyQkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQixpQkFBaUIsRUFBRTtJQUN2QjtNQUNFLHVCQUF1QjtNQUN2QixpQkFBaUI7TUFDakIsZ0JBQWdCO01BQ2hCLG9CQUFvQixFQUFFO0VBQzFCO0lBQ0Usd0JBQXdCO0lBQ3hCLGtCQUFrQjtJQUNsQiw4Q0FBOEM7SUFDOUMsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsdUJBQXVCLEVBQUU7SUFDekI7TUFDRSxjQUFjO01BQ2Qsb0JBQW9CO01BQ3BCLGlCQUFpQjtNQUNqQixnQkFBZ0I7TUFDaEIsa0JBQWtCO01BQ2xCLHdCQUF3QixFQUFFO0lBQzVCO01BQ0UsZUFBZTtNQUNmLGlCQUFpQjtNQUNqQixvQkFBb0IsRUFBRTtFQUMxQjtJQUNFLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsWUFBWSxFQUFFO0lBQ2Q7TUFDRSxlQUFlO01BQ2YsZUFBZTtNQUNmLGdCQUFnQjtNQUNoQixpQkFBaUI7TUFDakIsbUJBQW1CO01BQ25CLG1CQUFtQjtNQUNuQix1QkFBdUI7TUFDdkIsaUJBQWlCO01BQ2pCLG9CQUFvQjtNQUNwQixtQkFBbUIsRUFBRTtJQUN2QjtNQUNFLGVBQWU7TUFDZixpQkFBaUIsRUFBRTtJQUNyQjtNQUNFLHFCQUFjO01BQWQsY0FBYztNQUNkLG9CQUFnQjtVQUFoQixnQkFBZ0I7TUFDaEIsaUJBQWlCO01BQ2pCLDRCQUE4QjtVQUE5Qiw4QkFBOEIsRUFBRTtNQUNoQztRQUNFLG9FQUFvRTtRQUNwRSxzQkFBc0I7UUFDdEIsYUFBYTtRQUNiLGFBQWE7UUFDYixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLG9CQUFvQjtRQUNwQixzQkFBc0IsRUFBRTtNQUMxQjtRQUNFLDhCQUE4QixFQUFFO0VBQ3RDO0lBQ0U7TUFDRSxvQkFBb0I7TUFDcEIsbUJBQW1CLEVBQUU7SUFDdkI7TUFDRSxtQkFBbUI7TUFDbkIsa0JBQWtCLEVBQUU7SUFDdEI7TUFDRSxtQkFBbUIsRUFBRTtJQUN2QjtNQUNFLGVBQWUsRUFBRTtJQUNuQjtNQUNFLGtCQUFrQixFQUFFLEVBQUUiLCJmaWxlIjoicGFnZXMvdGhhbmsteW91LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNwYWdlLXRoYW5rLXlvdSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAjcGFnZS10aGFuay15b3UgaDEsXG4gICNwYWdlLXRoYW5rLXlvdSBoMixcbiAgI3BhZ2UtdGhhbmsteW91IGgzIHtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICNwYWdlLXRoYW5rLXlvdSBtYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgcGFkZGluZy10b3A6IDY0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICM0ZTU0NWU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgbWF4LXdpZHRoOiA1MjZweDsgfVxuICAgICNwYWdlLXRoYW5rLXlvdSBtYWluOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjhmYztcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAjcGFnZS10aGFuay15b3UgbWFpbjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNwYWdlLXRoYW5rLXlvdSBtYWluIGgxIHtcbiAgICAgIGNvbG9yOiAjMjQyODJlOyB9XG4gICAgICAjcGFnZS10aGFuay15b3UgbWFpbiBoMSArIHAge1xuICAgICAgICBjb2xvcjogIzZlN2Y5OTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgICAgcGVyc3BlY3RpdmU6IDYwMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgI3BhZ2UtdGhhbmsteW91IG1haW4gcCB7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgI3BhZ2UtdGhhbmsteW91IC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiA0MnB4IDQ4cHggNDhweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDhweCA0OHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbWF4LXdpZHRoOiA1MzZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IH1cbiAgICAjcGFnZS10aGFuay15b3UgLmNvbnRlbnQgaDMge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTsgfVxuICAgICNwYWdlLXRoYW5rLXlvdSAuY29udGVudCAuYnRuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgI3BhZ2UtdGhhbmsteW91IC5jb21wYW55IHtcbiAgICBtYXJnaW46IDEyOHB4IDAgNjhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAjcGFnZS10aGFuay15b3UgLmNvbXBhbnkgaDIge1xuICAgICAgY29sb3I6ICM3ZjhmYWI7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIG1heC13aWR0aDogNzkwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wNGVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAjcGFnZS10aGFuay15b3UgLmNvbXBhbnkgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAjMTMxOTI0O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICNwYWdlLXRoYW5rLXlvdSAuY29tcGFueSAubG9nb3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbi10b3A6IDUxcHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuICAgICAgI3BhZ2UtdGhhbmsteW91IC5jb21wYW55IC5sb2dvczo6YmVmb3JlLCAjcGFnZS10aGFuay15b3UgLmNvbXBhbnkgLmxvZ29zOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2UvZW50ZXJwcmlzZS1sb2dvcy5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogNDk0cHg7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAjcGFnZS10aGFuay15b3UgLmNvbXBhbnkgLmxvZ29zOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgYm90dG9tOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLXRoYW5rLXlvdSAuYmFubmVyIGhncm91cCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI3BhZ2UtdGhhbmsteW91IGgxIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgI3BhZ2UtdGhhbmsteW91IHAubGcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XG4gICAgI3BhZ2UtdGhhbmsteW91IG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAjcGFnZS10aGFuay15b3UgLmNvbXBhbnkge1xuICAgICAgbWFyZ2luLXRvcDogMTI4cHg7IH0gfVxuIl19 */ ================================================ FILE: content/css/pages/translations.css ================================================ main { margin-top: 64px; margin-bottom: 64px; } #join-the-fight { margin: 0 auto; max-width: 600px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyYW5zbGF0aW9ucy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxpQkFBaUI7RUFDakIsb0JBQW9CLEVBQUU7O0FBRXhCO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQixFQUFFIiwiZmlsZSI6InBhZ2VzL3RyYW5zbGF0aW9ucy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJtYWluIHtcbiAgbWFyZ2luLXRvcDogNjRweDtcbiAgbWFyZ2luLWJvdHRvbTogNjRweDsgfVxuXG4jam9pbi10aGUtZmlnaHQge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA2MDBweDsgfVxuIl19 */ ================================================ FILE: content/css/pages/trusted-partners.css ================================================ #page-trusted-partners .navbar .btn { color: #26262e; } #page-trusted-partners .navbar + .banner { background: #2a262c; background: url("/img/trusted-partners/tp-cta-bg.jpg"), linear-gradient(to right, #222530 0%, #35363e 50%, #2a2932 100%); background-size: cover, 100%; } #page-trusted-partners .navbar + .banner hgroup { background: no-repeat center 100px url("/img/trusted-partners/ionic-trusted-partners-badge.png"); background-size: 143px; padding-top: 260px; margin-top: -72px; padding-bottom: 67px; text-align: center; color: rgba(255, 255, 255, 0.9); } #page-trusted-partners .navbar + .banner hgroup strong { color: white; } #page-trusted-partners .navbar + .banner hgroup h1 { font-size: 36px; } #page-trusted-partners .navbar + .banner hgroup p { max-width: 650px; margin: 0 auto; font-size: 18px; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-weight: 400; } #page-trusted-partners .navbar + .banner hgroup p b, #page-trusted-partners .navbar + .banner hgroup p strong { font-weight: 600; } #page-trusted-partners .navbar + .banner hgroup p a { color: rgba(255, 255, 255, 0.9); text-decoration: underline; transition: .2s color; cursor: pointer; } #page-trusted-partners .navbar + .banner hgroup p a:hover { color: white; } #page-trusted-partners .navbar + .banner hgroup p.sm { font-size: 14px; } #page-trusted-partners .navbar + .banner hgroup .btn.white { color: #4a8bfc; margin: 44px auto 5px; font-weight: 700 !important; } #page-trusted-partners .perks { border-bottom: 1px #e9ecf3 solid; background: #f9fafc; padding: 100px 0 20px; margin-bottom: 0; } #page-trusted-partners .perks .item { padding-top: 235px; } #page-trusted-partners .perks .item::before { background: no-repeat top center url("/img/trusted-partners/tp-info-icons.png"); background-size: 180px; position: absolute; top: 0; left: 0; right: 0; height: 180px; content: ''; } #page-trusted-partners .perks .item.quality::before { background-position: center center; } #page-trusted-partners .perks .item.platforms::before { background-position: bottom center; } #page-trusted-partners .list { -ms-flex-pack: justify; justify-content: space-between; padding: 82px 0 0; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } #page-trusted-partners .list .item, #page-trusted-partners .list li { width: 300px; -ms-flex: 0 0 300px; flex: 0 0 300px; position: relative; text-align: center; list-style: none; padding-bottom: 80px; margin: 0 auto; } #page-trusted-partners .list .item h4, #page-trusted-partners .list li h4 { font-size: 22px; } #page-trusted-partners .list .item p, #page-trusted-partners .list li p { line-height: 24px; max-width: 300px; font-size: 14px; margin: 0 auto; } #page-trusted-partners #partner-map { background: #17191c; height: 689px; padding-top: 96px; position: relative; } @media (max-width: 1219px) { #page-trusted-partners #partner-map { height: 600px; } } @media (max-width: 991px) { #page-trusted-partners #partner-map { height: 470px; } } @media (max-width: 991px) { #page-trusted-partners #partner-map { height: 370px; } } #page-trusted-partners #partner-map hgroup { position: relative; z-index: 1; } #page-trusted-partners #partner-map h3 { color: rgba(255, 255, 255, 0.9); } #page-trusted-partners #partner-map h3 strong { color: rgba(255, 255, 255, 0.9); } #page-trusted-partners #partner-map p { color: rgba(255, 255, 255, 0.7); } #page-trusted-partners #partner-map .dots { position: absolute; top: 40px; left: 0; right: 0; bottom: 0; margin-bottom: 0; background: url("/img/trusted-partners/tp-map.jpg") no-repeat top center; background-size: 125%; margin-right: auto; margin-left: auto; width: 1130px; } @media (max-width: 1219px) { #page-trusted-partners #partner-map .dots { width: 970px; } } @media (max-width: 991px) { #page-trusted-partners #partner-map .dots { width: 750px; } } #page-trusted-partners #partner-map .dots li { position: absolute; height: 9px; width: 9px; border-radius: 9px; background: #4a8bfc; display: block; box-shadow: 0 0 4px 2px rgba(23, 25, 28, 0.7); cursor: pointer; } #page-trusted-partners #partner-map .dots li .box { background: white 50% 10px; background-repeat: no-repeat; background-size: 170px; width: 200px; border-radius: 3px; position: relative; z-index: 2; padding: 95px 15px 15px; box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2); text-align: center; display: block; opacity: 0; -webkit-transform: scale(0.01); transform: scale(0.01); -webkit-transform-origin: left top; transform-origin: left top; transition: all 0.3s cubic-bezier(0.155, 1.105, 0.295, 1.12), opacity 0.2s linear; transition-delay: 0s, 0s; } #page-trusted-partners #partner-map .dots li .box.arctic-leaf { background-image: url("/img/trusted-partners/tp-logo-arctic-leaf.png"); } #page-trusted-partners #partner-map .dots li .box.bendyworks { background-image: url("/img/trusted-partners/tp-logo-bendyworks.png"); } #page-trusted-partners #partner-map .dots li .box.byng { background-image: url("/img/trusted-partners/tp-logo-byng.png"); } #page-trusted-partners #partner-map .dots li .box.digitalscientists { background-image: url("/img/trusted-partners/tp-logo-digitalscientists.png"); } #page-trusted-partners #partner-map .dots li .box.elixel { background-image: url("/img/trusted-partners/tp-logo-elixel.png"); } #page-trusted-partners #partner-map .dots li .box.hybapps { background-image: url("/img/trusted-partners/tp-logo-hybapps.png?1"); } #page-trusted-partners #partner-map .dots li .box.hybrid-heroes { background-image: url("/img/trusted-partners/tp-logo-hybrid-heroes.png"); } #page-trusted-partners #partner-map .dots li .box.incentro { background-image: url("/img/trusted-partners/tp-logo-incentro.png"); } #page-trusted-partners #partner-map .dots li .box.inviqa { background-image: url("/img/trusted-partners/tp-logo-inviqa.png"); } #page-trusted-partners #partner-map .dots li .box.jnesis { background-image: url("/img/trusted-partners/tp-logo-jnesis.png"); } #page-trusted-partners #partner-map .dots li .box.keensoft { background-image: url("/img/trusted-partners/tp-logo-keensoft.png"); } #page-trusted-partners #partner-map .dots li .box.kunder { background-image: url("/img/trusted-partners/tp-logo-kunder.png"); } #page-trusted-partners #partner-map .dots li .box.macadamian { background-image: url("/img/trusted-partners/tp-logo-macadamian.png"); } #page-trusted-partners #partner-map .dots li .box.modus-create { background-image: url("/img/trusted-partners/tp-logo-modus.png"); } #page-trusted-partners #partner-map .dots li .box.onetree { background-image: url("/img/trusted-partners/tp-logo-onetree.png"); } #page-trusted-partners #partner-map .dots li .box.openforge { background-image: url("/img/trusted-partners/tp-logo-openforge.png"); } #page-trusted-partners #partner-map .dots li .box.ordina { background-image: url("/img/trusted-partners/tp-logo-ordina.png"); } #page-trusted-partners #partner-map .dots li .box.powergate { background-image: url("/img/trusted-partners/tp-logo-powergate.png"); } #page-trusted-partners #partner-map .dots li .box.rangle { background-image: url("/img/trusted-partners/tp-logo-rangle.png"); } #page-trusted-partners #partner-map .dots li .box.revunit { background-image: url("/img/trusted-partners/tp-logo-revunit.png"); } #page-trusted-partners #partner-map .dots li .box.scaffold { background-image: url("/img/trusted-partners/tp-logo-scaffold.png"); } #page-trusted-partners #partner-map .dots li .box.scopic { background-image: url("/img/trusted-partners/tp-logo-scopic.png"); } #page-trusted-partners #partner-map .dots li .box.spatial-vision { background-image: url("/img/trusted-partners/tp-logo-spatial-vision.png"); } #page-trusted-partners #partner-map .dots li .box.warpdev { background-image: url("/img/trusted-partners/tp-logo-warpdev.png"); } #page-trusted-partners #partner-map .dots li .box.yuxi { background-image: url("/img/trusted-partners/tp-logo-yuxi.png"); } #page-trusted-partners #partner-map .dots li .box .btn { display: block; } #page-trusted-partners #partner-map .dots li .box.left { left: -190px; -webkit-transform-origin: right top; transform-origin: right top; } #page-trusted-partners #partner-map .dots li .box.left.bottom { left: -190px; top: -140px; -webkit-transform-origin: right bottom; transform-origin: right bottom; } #page-trusted-partners #partner-map .dots li .box.bottom { top: -140px; -webkit-transform-origin: left bottom; transform-origin: left bottom; } #page-trusted-partners #partner-map .dots li:hover .box { opacity: 1; -webkit-transform: scale(1); transform: scale(1); transition-delay: .2s, .2s; } @media (max-width: 991px) { #page-trusted-partners #partner-map .dots { background-position: center bottom; } #page-trusted-partners #partner-map .dots li { display: none; } } #page-trusted-partners .partners .list { padding-bottom: 30px; } #page-trusted-partners .partners .list li { padding-top: 130px; padding-bottom: 70px; position: relative; margin-bottom: 120px; background: transparent no-repeat top center; background-size: 250px; } #page-trusted-partners .partners .list li.arctic-leaf { background-image: url("/img/trusted-partners/tp-logo-arctic-leaf.png"); } #page-trusted-partners .partners .list li.bendyworks { background-image: url("/img/trusted-partners/tp-logo-bendyworks.png"); } #page-trusted-partners .partners .list li.byng { background-image: url("/img/trusted-partners/tp-logo-byng.png"); } #page-trusted-partners .partners .list li.digitalscientists { background-image: url("/img/trusted-partners/tp-logo-digitalscientists.png"); } #page-trusted-partners .partners .list li.elixel { background-image: url("/img/trusted-partners/tp-logo-elixel.png"); } #page-trusted-partners .partners .list li.hybapps { background-image: url("/img/trusted-partners/tp-logo-hybapps.png?1"); } #page-trusted-partners .partners .list li.hybrid-heroes { background-image: url("/img/trusted-partners/tp-logo-hybrid-heroes.png"); } #page-trusted-partners .partners .list li.incentro { background-image: url("/img/trusted-partners/tp-logo-incentro.png"); } #page-trusted-partners .partners .list li.inviqa { background-image: url("/img/trusted-partners/tp-logo-inviqa.png"); } #page-trusted-partners .partners .list li.jnesis { background-image: url("/img/trusted-partners/tp-logo-jnesis.png"); } #page-trusted-partners .partners .list li.keensoft { background-image: url("/img/trusted-partners/tp-logo-keensoft.png"); } #page-trusted-partners .partners .list li.kunder { background-image: url("/img/trusted-partners/tp-logo-kunder.png"); } #page-trusted-partners .partners .list li.macadamian { background-image: url("/img/trusted-partners/tp-logo-macadamian.png"); } #page-trusted-partners .partners .list li.modus-create { background-image: url("/img/trusted-partners/tp-logo-modus.png"); } #page-trusted-partners .partners .list li.onetree { background-image: url("/img/trusted-partners/tp-logo-onetree.png"); } #page-trusted-partners .partners .list li.openforge { background-image: url("/img/trusted-partners/tp-logo-openforge.png"); } #page-trusted-partners .partners .list li.ordina { background-image: url("/img/trusted-partners/tp-logo-ordina.png"); } #page-trusted-partners .partners .list li.powergate { background-image: url("/img/trusted-partners/tp-logo-powergate.png"); } #page-trusted-partners .partners .list li.rangle { background-image: url("/img/trusted-partners/tp-logo-rangle.png"); } #page-trusted-partners .partners .list li.revunit { background-image: url("/img/trusted-partners/tp-logo-revunit.png"); } #page-trusted-partners .partners .list li.scaffold { background-image: url("/img/trusted-partners/tp-logo-scaffold.png"); } #page-trusted-partners .partners .list li.scopic { background-image: url("/img/trusted-partners/tp-logo-scopic.png"); } #page-trusted-partners .partners .list li.spatial-vision { background-image: url("/img/trusted-partners/tp-logo-spatial-vision.png"); } #page-trusted-partners .partners .list li.warpdev { background-image: url("/img/trusted-partners/tp-logo-warpdev.png"); } #page-trusted-partners .partners .list li.yuxi { background-image: url("/img/trusted-partners/tp-logo-yuxi.png"); } #page-trusted-partners .partners .list li .btn { left: 0; right: 0; bottom: 0; width: 113px; margin: 0 auto; position: absolute; font-size: 14px; } #page-trusted-partners .partners .list li .modal-info { display: none; } #page-trusted-partners .bar.text-center { background: #6199f5 no-repeat center top url("/img/trusted-partners/apply-prefooter-img.jpg"); background-size: cover; padding: 85px 0 75px; } #page-trusted-partners .bar.text-center h3 { color: white; } #page-trusted-partners .bar.text-center .btn { margin-top: 10px; padding: 14px 20px 13px; border-radius: 3px; } #page-trusted-partners #tp-learn-more .modal-dialog { width: 840px; -webkit-perspective: 1000; perspective: 1000; } #page-trusted-partners #tp-learn-more .modal-dialog.flip { -webkit-transform: rotateY(180deg); transform: rotateY(180deg); } #page-trusted-partners #tp-learn-more .modal-dialog.flip .modal-body.front { -webkit-transform: translateZ(-1px); transform: translateZ(-1px); opacity: 0; } #page-trusted-partners #tp-learn-more .modal-dialog.flip .modal-body.back { -webkit-transform: rotateY(180deg) translateZ(-1px); transform: rotateY(180deg) translateZ(-1px); opacity: 1; } @media (max-width: 767px) { #page-trusted-partners #tp-learn-more .modal-dialog.flip .modal-body.back { -webkit-transform: rotateY(180deg) translateZ(1px); transform: rotateY(180deg) translateZ(1px); } } #page-trusted-partners #tp-learn-more .modal-content { transition: 0.6s; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; position: relative; } #page-trusted-partners #tp-learn-more .modal-body { padding: 46px 50px; min-height: 460px; transition: 0.1s opacity; transition-delay: .3s; height: 845px; } #page-trusted-partners #tp-learn-more .modal-body.front { -webkit-transform: translateZ(0); transform: translateZ(0); } #page-trusted-partners #tp-learn-more .modal-body.back { -webkit-transform: rotateY(180deg) translateZ(1px); transform: rotateY(180deg) translateZ(1px); position: absolute; top: 0; left: 0; right: 0; background: white; opacity: 0; } #page-trusted-partners #tp-learn-more section { width: 445px; } #page-trusted-partners #tp-learn-more aside { float: right; width: 240px; } @media (max-width: 767px) { #page-trusted-partners #tp-learn-more section, #page-trusted-partners #tp-learn-more aside { width: 100%; float: none; } } #page-trusted-partners #tp-learn-more .logo { width: 167px; height: 100px; padding-bottom: 70px; position: relative; background: transparent no-repeat left top; background-size: 167px; } #page-trusted-partners #tp-learn-more .logo.arctic-leaf { background-image: url("/img/trusted-partners/tp-logo-arctic-leaf.png"); } #page-trusted-partners #tp-learn-more .logo.bendyworks { background-image: url("/img/trusted-partners/tp-logo-bendyworks.png"); } #page-trusted-partners #tp-learn-more .logo.byng { background-image: url("/img/trusted-partners/tp-logo-byng.png"); } #page-trusted-partners #tp-learn-more .logo.digitalscientists { background-image: url("/img/trusted-partners/tp-logo-digitalscientists.png"); } #page-trusted-partners #tp-learn-more .logo.elixel { background-image: url("/img/trusted-partners/tp-logo-elixel.png"); } #page-trusted-partners #tp-learn-more .logo.hybapps { background-image: url("/img/trusted-partners/tp-logo-hybapps.png?1"); } #page-trusted-partners #tp-learn-more .logo.hybrid-heroes { background-image: url("/img/trusted-partners/tp-logo-hybrid-heroes.png"); } #page-trusted-partners #tp-learn-more .logo.incentro { background-image: url("/img/trusted-partners/tp-logo-incentro.png"); } #page-trusted-partners #tp-learn-more .logo.inviqa { background-image: url("/img/trusted-partners/tp-logo-inviqa.png"); } #page-trusted-partners #tp-learn-more .logo.jnesis { background-image: url("/img/trusted-partners/tp-logo-jnesis.png"); } #page-trusted-partners #tp-learn-more .logo.keensoft { background-image: url("/img/trusted-partners/tp-logo-keensoft.png"); } #page-trusted-partners #tp-learn-more .logo.kunder { background-image: url("/img/trusted-partners/tp-logo-kunder.png"); } #page-trusted-partners #tp-learn-more .logo.macadamian { background-image: url("/img/trusted-partners/tp-logo-macadamian.png"); } #page-trusted-partners #tp-learn-more .logo.modus-create { background-image: url("/img/trusted-partners/tp-logo-modus.png"); } #page-trusted-partners #tp-learn-more .logo.onetree { background-image: url("/img/trusted-partners/tp-logo-onetree.png"); } #page-trusted-partners #tp-learn-more .logo.openforge { background-image: url("/img/trusted-partners/tp-logo-openforge.png"); } #page-trusted-partners #tp-learn-more .logo.ordina { background-image: url("/img/trusted-partners/tp-logo-ordina.png"); } #page-trusted-partners #tp-learn-more .logo.powergate { background-image: url("/img/trusted-partners/tp-logo-powergate.png"); } #page-trusted-partners #tp-learn-more .logo.rangle { background-image: url("/img/trusted-partners/tp-logo-rangle.png"); } #page-trusted-partners #tp-learn-more .logo.revunit { background-image: url("/img/trusted-partners/tp-logo-revunit.png"); } #page-trusted-partners #tp-learn-more .logo.scaffold { background-image: url("/img/trusted-partners/tp-logo-scaffold.png"); } #page-trusted-partners #tp-learn-more .logo.scopic { background-image: url("/img/trusted-partners/tp-logo-scopic.png"); } #page-trusted-partners #tp-learn-more .logo.spatial-vision { background-image: url("/img/trusted-partners/tp-logo-spatial-vision.png"); } #page-trusted-partners #tp-learn-more .logo.warpdev { background-image: url("/img/trusted-partners/tp-logo-warpdev.png"); } #page-trusted-partners #tp-learn-more .logo.yuxi { background-image: url("/img/trusted-partners/tp-logo-yuxi.png"); } #page-trusted-partners #tp-learn-more p { color: #272b31; font-weight: 400; } #page-trusted-partners #tp-learn-more .tablist { padding: 0; } #page-trusted-partners #tp-learn-more .tablist li { list-style: none; display: inline-block; } #page-trusted-partners #tp-learn-more .tablist li.active a, #page-trusted-partners #tp-learn-more .tablist li:hover a { color: #4a8bfc; } #page-trusted-partners #tp-learn-more .tablist li.active a::before { border-bottom-color: #4a8bfc; } #page-trusted-partners #tp-learn-more .tablist a { color: #69717e; font-size: 14px; margin-right: 35px; font-weight: 500; transition: .2s color; position: relative; } #page-trusted-partners #tp-learn-more .tablist a::before { position: absolute; left: 0; right: 0; bottom: -3px; content: ''; border-bottom: 2px solid transparent; transition: .2s border-color; } #page-trusted-partners #tp-learn-more .tab-content { padding-top: 10px; font-size: 15px; display: block; } #page-trusted-partners #tp-learn-more iframe { box-shadow: inset 0 0 10px 0 rgba(0, 0, 0, 0.1); } #page-trusted-partners #tp-learn-more .btn { letter-spacing: 0; border-radius: 2px; text-transform: none; width: 100%; font-weight: 600; font-size: 16px; margin-top: 34px; padding: 15px 15px 18px; white-space: normal; } #page-trusted-partners #tp-learn-more .back .btn { font-size: 21px; top: -1px; left: -1px; height: 56px; } #page-trusted-partners #tp-learn-more .back .btn::after { content: ''; } #page-trusted-partners #tp-learn-more address { color: #818893; font-size: 12px; padding-top: 35px; } #page-trusted-partners #tp-learn-more address strong { color: black; font-size: 17px; text-transform: uppercase; } #page-trusted-partners #tp-learn-more .features { padding: 0; } #page-trusted-partners #tp-learn-more .features li { font-size: 12px; padding-left: 20px; list-style: none; margin: 7px 0; position: relative; } #page-trusted-partners #tp-learn-more .features li::before { font-family: 'Ionicons'; content: '\f2bc'; position: absolute; left: 0; font-size: 11px; } #page-trusted-partners #tp-learn-more hgroup { padding-bottom: 64px; } @media (max-width: 767px) { #page-trusted-partners #tp-learn-more .modal-dialog { position: fixed; left: 0; right: 0; width: auto; top: 0; bottom: 0; overflow: scroll; } #page-trusted-partners #tp-learn-more .modal-body { height: auto; padding-bottom: 500px; } #page-trusted-partners #tp-learn-more .modal-body aside { position: absolute; bottom: 30px; width: 100%; overflow: hidden; } #page-trusted-partners #tp-learn-more .close { top: 8px; right: 8px; } #page-trusted-partners #tp-learn-more .go-back { top: 8px; left: 8px; } #page-trusted-partners #tp-learn-more form input, #page-trusted-partners #tp-learn-more form .select-wrapper { width: 100%; } #page-trusted-partners #tp-learn-more .front .btn { width: calc(100% - 100px); } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QkFBZ0I7RUFDaEIsVUFBVTtFQUNWLFdBQVc7RUFDWCxhQUFhLEVBQUU7RUFDZjtJQUNFLFlBQVksRUFBRTs7QUFFbEI7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGtCQUFrQixFQUFFO0VBQ3BCO0lBQ0UsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQiwwQkFBMEIsRUFBRTs7QUFFaEM7RUFDRSxXQUFXLEVBQUU7RUFDYjtJQUNFLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxtQkFBbUIsRUFBRTtJQUNyQjtNQUNFLHdCQUF3QjtNQUN4QixpQkFBaUI7TUFDakIsbUJBQW1CO01BQ25CLFFBQVE7TUFDUixnQkFBZ0IsRUFBRTs7QUFFeEI7RUFDRSxxQkFBcUIsRUFBRTs7QUFFekI7RUFDRTtJQUNFLGdCQUFnQjtJQUNoQixRQUFRO0lBQ1IsU0FBUztJQUNULFlBQVk7SUFDWixPQUFPO0lBQ1AsVUFBVTtJQUNWLGlCQUFpQixFQUFFO0VBQ3JCO0lBQ0UsYUFBYTtJQUNiLHNCQUFzQixFQUFFO0lBQ3hCO01BQ0UsbUJBQW1CO01BQ25CLGFBQWE7TUFDYixZQUFZO01BQ1osaUJBQWlCLEVBQUU7RUFDdkI7SUFDRSxTQUFTO0lBQ1QsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxTQUFTO0lBQ1QsVUFBVSxFQUFFO0VBQ2Q7O0lBRUUsWUFBWSxFQUFFO0VBQ2hCO0lBQ0UsMEJBQTBCLEVBQUUsRUFBRSIsImZpbGUiOiJwYWdlcy90cnVzdGVkLXBhcnRuZXJzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLm5hdmJhciAuYnRuIHtcbiAgY29sb3I6ICMyNjI2MmU7IH1cblxuI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAubmF2YmFyICsgLmJhbm5lciB7XG4gIGJhY2tncm91bmQ6ICMyYTI2MmM7XG4gIGJhY2tncm91bmQ6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1jdGEtYmcuanBnXCIpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMyMjI1MzAgMCUsICMzNTM2M2UgNTAlLCAjMmEyOTMyIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyLCAxMDAlOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLm5hdmJhciArIC5iYW5uZXIgaGdyb3VwIHtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIDEwMHB4IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy9pb25pYy10cnVzdGVkLXBhcnRuZXJzLWJhZGdlLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE0M3B4O1xuICAgIHBhZGRpbmctdG9wOiAyNjBweDtcbiAgICBtYXJnaW4tdG9wOiAtNzJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjdweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLm5hdmJhciArIC5iYW5uZXIgaGdyb3VwIHN0cm9uZyB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5uYXZiYXIgKyAuYmFubmVyIGhncm91cCBoMSB7XG4gICAgICBmb250LXNpemU6IDM2cHg7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5uYXZiYXIgKyAuYmFubmVyIGhncm91cCBwIHtcbiAgICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLm5hdmJhciArIC5iYW5uZXIgaGdyb3VwIHAgYiwgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAubmF2YmFyICsgLmJhbm5lciBoZ3JvdXAgcCBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5uYXZiYXIgKyAuYmFubmVyIGhncm91cCBwIGEge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIGNvbG9yO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAubmF2YmFyICsgLmJhbm5lciBoZ3JvdXAgcCBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLm5hdmJhciArIC5iYW5uZXIgaGdyb3VwIHAuc20ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5uYXZiYXIgKyAuYmFubmVyIGhncm91cCAuYnRuLndoaXRlIHtcbiAgICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgICAgbWFyZ2luOiA0NHB4IGF1dG8gNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OyB9XG5cbiNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLnBlcmtzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4ICNlOWVjZjMgc29saWQ7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmM7XG4gIHBhZGRpbmc6IDEwMHB4IDAgMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5wZXJrcyAuaXRlbSB7XG4gICAgcGFkZGluZy10b3A6IDIzNXB4OyB9XG4gICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAucGVya3MgLml0ZW06OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgdG9wIGNlbnRlciB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtaW5mby1pY29ucy5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAucGVya3MgLml0ZW0ucXVhbGl0eTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5wZXJrcyAuaXRlbS5wbGF0Zm9ybXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyOyB9XG5cbiNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLmxpc3Qge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDgycHggMCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAubGlzdCAuaXRlbSxcbiAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAubGlzdCBsaSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGZsZXg6IDAgMCAzMDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5saXN0IC5pdGVtIGg0LFxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLmxpc3QgbGkgaDQge1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAubGlzdCAuaXRlbSBwLFxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLmxpc3QgbGkgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4jcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCB7XG4gIGJhY2tncm91bmQ6ICMxNzE5MWM7XG4gIGhlaWdodDogNjg5cHg7XG4gIHBhZGRpbmctdG9wOiA5NnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIHtcbiAgICAgIGhlaWdodDogNjAwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCB7XG4gICAgICBoZWlnaHQ6IDQ3MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAge1xuICAgICAgaGVpZ2h0OiAzNzBweDsgfSB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIGhncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgaDMge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCBoMyBzdHJvbmcge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCBwIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIC5kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLW1hcC5qcGdcIikgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMjUlO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB3aWR0aDogMTEzMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgLmRvdHMge1xuICAgICAgICB3aWR0aDogOTcwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgLmRvdHMge1xuICAgICAgICB3aWR0aDogNzUwcHg7IH0gfVxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIC5kb3RzIGxpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogOXB4O1xuICAgICAgd2lkdGg6IDlweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgICAgIGJhY2tncm91bmQ6ICM0YThiZmM7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJveC1zaGFkb3c6IDAgMCA0cHggMnB4IHJnYmEoMjMsIDI1LCAyOCwgMC43KTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgLmRvdHMgbGkgLmJveCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlIDUwJSAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3MHB4O1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwYWRkaW5nOiA5NXB4IDE1cHggMTVweDtcbiAgICAgICAgYm94LXNoYWRvdzogMXB4IDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMDEpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTU1LCAxLjEwNSwgMC4yOTUsIDEuMTIpLCBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMHM7IH1cbiAgICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgLmRvdHMgbGkgLmJveC5hcmN0aWMtbGVhZiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tYXJjdGljLWxlYWYucG5nXCIpOyB9XG4gICAgICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIC5kb3RzIGxpIC5ib3guYmVuZHl3b3JrcyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tYmVuZHl3b3Jrcy5wbmdcIik7IH1cbiAgICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgLmRvdHMgbGkgLmJveC5ieW5nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1ieW5nLnBuZ1wiKTsgfVxuICAgICAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCAuZG90cyBsaSAuYm94LmRpZ2l0YWxzY2llbnRpc3RzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1kaWdpdGFsc2NpZW50aXN0cy5wbmdcIik7IH1cbiAgICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgLmRvdHMgbGkgLmJveC5lbGl4ZWwge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLWVsaXhlbC5wbmdcIik7IH1cbiAgICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgLmRvdHMgbGkgLmJveC5oeWJhcHBzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1oeWJhcHBzLnBuZz8xXCIpOyB9XG4gICAgICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIC5kb3RzIGxpIC5ib3guaHlicmlkLWhlcm9lcyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28taHlicmlkLWhlcm9lcy5wbmdcIik7IH1cbiAgICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgLmRvdHMgbGkgLmJveC5pbmNlbnRybyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28taW5jZW50cm8ucG5nXCIpOyB9XG4gICAgICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIC5kb3RzIGxpIC5ib3guaW52aXFhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1pbnZpcWEucG5nXCIpOyB9XG4gICAgICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIC5kb3RzIGxpIC5ib3guam5lc2lzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1qbmVzaXMucG5nXCIpOyB9XG4gICAgICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIC5kb3RzIGxpIC5ib3gua2VlbnNvZnQge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLWtlZW5zb2Z0LnBuZ1wiKTsgfVxuICAgICAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCAuZG90cyBsaSAuYm94Lmt1bmRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28ta3VuZGVyLnBuZ1wiKTsgfVxuICAgICAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCAuZG90cyBsaSAuYm94Lm1hY2FkYW1pYW4ge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLW1hY2FkYW1pYW4ucG5nXCIpOyB9XG4gICAgICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIC5kb3RzIGxpIC5ib3gubW9kdXMtY3JlYXRlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1tb2R1cy5wbmdcIik7IH1cbiAgICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgLmRvdHMgbGkgLmJveC5vbmV0cmVlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1vbmV0cmVlLnBuZ1wiKTsgfVxuICAgICAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCAuZG90cyBsaSAuYm94Lm9wZW5mb3JnZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tb3BlbmZvcmdlLnBuZ1wiKTsgfVxuICAgICAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCAuZG90cyBsaSAuYm94Lm9yZGluYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tb3JkaW5hLnBuZ1wiKTsgfVxuICAgICAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCAuZG90cyBsaSAuYm94LnBvd2VyZ2F0ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tcG93ZXJnYXRlLnBuZ1wiKTsgfVxuICAgICAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCAuZG90cyBsaSAuYm94LnJhbmdsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tcmFuZ2xlLnBuZ1wiKTsgfVxuICAgICAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCAuZG90cyBsaSAuYm94LnJldnVuaXQge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLXJldnVuaXQucG5nXCIpOyB9XG4gICAgICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIC5kb3RzIGxpIC5ib3guc2NhZmZvbGQge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLXNjYWZmb2xkLnBuZ1wiKTsgfVxuICAgICAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCAuZG90cyBsaSAuYm94LnNjb3BpYyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tc2NvcGljLnBuZ1wiKTsgfVxuICAgICAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCAuZG90cyBsaSAuYm94LnNwYXRpYWwtdmlzaW9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1zcGF0aWFsLXZpc2lvbi5wbmdcIik7IH1cbiAgICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgLmRvdHMgbGkgLmJveC53YXJwZGV2IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby13YXJwZGV2LnBuZ1wiKTsgfVxuICAgICAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCAuZG90cyBsaSAuYm94Lnl1eGkge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLXl1eGkucG5nXCIpOyB9XG4gICAgICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIC5kb3RzIGxpIC5ib3ggLmJ0biB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgLmRvdHMgbGkgLmJveC5sZWZ0IHtcbiAgICAgICAgICBsZWZ0OiAtMTkwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOyB9XG4gICAgICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgLmRvdHMgbGkgLmJveC5sZWZ0LmJvdHRvbSB7XG4gICAgICAgICAgICBsZWZ0OiAtMTkwcHg7XG4gICAgICAgICAgICB0b3A6IC0xNDBweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgfVxuICAgICAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICNwYXJ0bmVyLW1hcCAuZG90cyBsaSAuYm94LmJvdHRvbSB7XG4gICAgICAgICAgdG9wOiAtMTQwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IH1cbiAgICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIC5kb3RzIGxpOmhvdmVyIC5ib3gge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMnMsIC4yczsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjcGFydG5lci1tYXAgLmRvdHMge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tOyB9XG4gICAgICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3BhcnRuZXItbWFwIC5kb3RzIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAucGFydG5lcnMgLmxpc3Qge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5wYXJ0bmVycyAubGlzdCBsaSB7XG4gICAgcGFkZGluZy10b3A6IDEzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI1MHB4OyB9XG4gICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAucGFydG5lcnMgLmxpc3QgbGkuYXJjdGljLWxlYWYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tYXJjdGljLWxlYWYucG5nXCIpOyB9XG4gICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAucGFydG5lcnMgLmxpc3QgbGkuYmVuZHl3b3JrcyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1iZW5keXdvcmtzLnBuZ1wiKTsgfVxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLnBhcnRuZXJzIC5saXN0IGxpLmJ5bmcge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tYnluZy5wbmdcIik7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5wYXJ0bmVycyAubGlzdCBsaS5kaWdpdGFsc2NpZW50aXN0cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1kaWdpdGFsc2NpZW50aXN0cy5wbmdcIik7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5wYXJ0bmVycyAubGlzdCBsaS5lbGl4ZWwge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tZWxpeGVsLnBuZ1wiKTsgfVxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLnBhcnRuZXJzIC5saXN0IGxpLmh5YmFwcHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28taHliYXBwcy5wbmc/MVwiKTsgfVxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLnBhcnRuZXJzIC5saXN0IGxpLmh5YnJpZC1oZXJvZXMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28taHlicmlkLWhlcm9lcy5wbmdcIik7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5wYXJ0bmVycyAubGlzdCBsaS5pbmNlbnRybyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1pbmNlbnRyby5wbmdcIik7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5wYXJ0bmVycyAubGlzdCBsaS5pbnZpcWEge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28taW52aXFhLnBuZ1wiKTsgfVxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLnBhcnRuZXJzIC5saXN0IGxpLmpuZXNpcyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1qbmVzaXMucG5nXCIpOyB9XG4gICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAucGFydG5lcnMgLmxpc3QgbGkua2VlbnNvZnQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28ta2VlbnNvZnQucG5nXCIpOyB9XG4gICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAucGFydG5lcnMgLmxpc3QgbGkua3VuZGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLWt1bmRlci5wbmdcIik7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5wYXJ0bmVycyAubGlzdCBsaS5tYWNhZGFtaWFuIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLW1hY2FkYW1pYW4ucG5nXCIpOyB9XG4gICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAucGFydG5lcnMgLmxpc3QgbGkubW9kdXMtY3JlYXRlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLW1vZHVzLnBuZ1wiKTsgfVxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLnBhcnRuZXJzIC5saXN0IGxpLm9uZXRyZWUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tb25ldHJlZS5wbmdcIik7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5wYXJ0bmVycyAubGlzdCBsaS5vcGVuZm9yZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tb3BlbmZvcmdlLnBuZ1wiKTsgfVxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLnBhcnRuZXJzIC5saXN0IGxpLm9yZGluYSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1vcmRpbmEucG5nXCIpOyB9XG4gICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAucGFydG5lcnMgLmxpc3QgbGkucG93ZXJnYXRlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLXBvd2VyZ2F0ZS5wbmdcIik7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5wYXJ0bmVycyAubGlzdCBsaS5yYW5nbGUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tcmFuZ2xlLnBuZ1wiKTsgfVxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLnBhcnRuZXJzIC5saXN0IGxpLnJldnVuaXQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tcmV2dW5pdC5wbmdcIik7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5wYXJ0bmVycyAubGlzdCBsaS5zY2FmZm9sZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1zY2FmZm9sZC5wbmdcIik7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5wYXJ0bmVycyAubGlzdCBsaS5zY29waWMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tc2NvcGljLnBuZ1wiKTsgfVxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLnBhcnRuZXJzIC5saXN0IGxpLnNwYXRpYWwtdmlzaW9uIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLXNwYXRpYWwtdmlzaW9uLnBuZ1wiKTsgfVxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLnBhcnRuZXJzIC5saXN0IGxpLndhcnBkZXYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28td2FycGRldi5wbmdcIik7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzIC5wYXJ0bmVycyAubGlzdCBsaS55dXhpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLXl1eGkucG5nXCIpOyB9XG4gICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAucGFydG5lcnMgLmxpc3QgbGkgLmJ0biB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMTEzcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLnBhcnRuZXJzIC5saXN0IGxpIC5tb2RhbC1pbmZvIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAuYmFyLnRleHQtY2VudGVyIHtcbiAgYmFja2dyb3VuZDogIzYxOTlmNSBuby1yZXBlYXQgY2VudGVyIHRvcCB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvYXBwbHktcHJlZm9vdGVyLWltZy5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBhZGRpbmc6IDg1cHggMCA3NXB4OyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLmJhci50ZXh0LWNlbnRlciBoMyB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgLmJhci50ZXh0LWNlbnRlciAuYnRuIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDE0cHggMjBweCAxM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4jcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5tb2RhbC1kaWFsb2cge1xuICB3aWR0aDogODQwcHg7XG4gIHBlcnNwZWN0aXZlOiAxMDAwOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLm1vZGFsLWRpYWxvZy5mbGlwIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTsgfVxuICAgICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLm1vZGFsLWRpYWxvZy5mbGlwIC5tb2RhbC1ib2R5LmZyb250IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigtMXB4KTtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5tb2RhbC1kaWFsb2cuZmxpcCAubW9kYWwtYm9keS5iYWNrIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpIHRyYW5zbGF0ZVooLTFweCk7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAubW9kYWwtZGlhbG9nLmZsaXAgLm1vZGFsLWJvZHkuYmFjayB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZykgdHJhbnNsYXRlWigxcHgpOyB9IH1cblxuI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAubW9kYWwtY29udGVudCB7XG4gIHRyYW5zaXRpb246IDAuNnM7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5tb2RhbC1ib2R5IHtcbiAgcGFkZGluZzogNDZweCA1MHB4O1xuICBtaW4taGVpZ2h0OiA0NjBweDtcbiAgdHJhbnNpdGlvbjogMC4xcyBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAuM3M7XG4gIGhlaWdodDogODQ1cHg7IH1cbiAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAubW9kYWwtYm9keS5mcm9udCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLm1vZGFsLWJvZHkuYmFjayB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZykgdHJhbnNsYXRlWigxcHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbiNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgc2VjdGlvbiB7XG4gIHdpZHRoOiA0NDVweDsgfVxuXG4jcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIGFzaWRlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMjQwcHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgc2VjdGlvbixcbiAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSBhc2lkZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7IH0gfVxuXG4jcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5sb2dvIHtcbiAgd2lkdGg6IDE2N3B4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgbGVmdCB0b3A7XG4gIGJhY2tncm91bmQtc2l6ZTogMTY3cHg7IH1cbiAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAubG9nby5hcmN0aWMtbGVhZiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tYXJjdGljLWxlYWYucG5nXCIpOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLmxvZ28uYmVuZHl3b3JrcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tYmVuZHl3b3Jrcy5wbmdcIik7IH1cbiAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAubG9nby5ieW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1ieW5nLnBuZ1wiKTsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5sb2dvLmRpZ2l0YWxzY2llbnRpc3RzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1kaWdpdGFsc2NpZW50aXN0cy5wbmdcIik7IH1cbiAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAubG9nby5lbGl4ZWwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLWVsaXhlbC5wbmdcIik7IH1cbiAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAubG9nby5oeWJhcHBzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1oeWJhcHBzLnBuZz8xXCIpOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLmxvZ28uaHlicmlkLWhlcm9lcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28taHlicmlkLWhlcm9lcy5wbmdcIik7IH1cbiAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAubG9nby5pbmNlbnRybyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28taW5jZW50cm8ucG5nXCIpOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLmxvZ28uaW52aXFhIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1pbnZpcWEucG5nXCIpOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLmxvZ28uam5lc2lzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1qbmVzaXMucG5nXCIpOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLmxvZ28ua2VlbnNvZnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLWtlZW5zb2Z0LnBuZ1wiKTsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5sb2dvLmt1bmRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28ta3VuZGVyLnBuZ1wiKTsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5sb2dvLm1hY2FkYW1pYW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLW1hY2FkYW1pYW4ucG5nXCIpOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLmxvZ28ubW9kdXMtY3JlYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1tb2R1cy5wbmdcIik7IH1cbiAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAubG9nby5vbmV0cmVlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1vbmV0cmVlLnBuZ1wiKTsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5sb2dvLm9wZW5mb3JnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tb3BlbmZvcmdlLnBuZ1wiKTsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5sb2dvLm9yZGluYSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tb3JkaW5hLnBuZ1wiKTsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5sb2dvLnBvd2VyZ2F0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tcG93ZXJnYXRlLnBuZ1wiKTsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5sb2dvLnJhbmdsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tcmFuZ2xlLnBuZ1wiKTsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5sb2dvLnJldnVuaXQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLXJldnVuaXQucG5nXCIpOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLmxvZ28uc2NhZmZvbGQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLXNjYWZmb2xkLnBuZ1wiKTsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5sb2dvLnNjb3BpYyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy90cnVzdGVkLXBhcnRuZXJzL3RwLWxvZ28tc2NvcGljLnBuZ1wiKTsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5sb2dvLnNwYXRpYWwtdmlzaW9uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby1zcGF0aWFsLXZpc2lvbi5wbmdcIik7IH1cbiAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAubG9nby53YXJwZGV2IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3RydXN0ZWQtcGFydG5lcnMvdHAtbG9nby13YXJwZGV2LnBuZ1wiKTsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5sb2dvLnl1eGkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvdHJ1c3RlZC1wYXJ0bmVycy90cC1sb2dvLXl1eGkucG5nXCIpOyB9XG5cbiNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgcCB7XG4gIGNvbG9yOiAjMjcyYjMxO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbiNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLnRhYmxpc3Qge1xuICBwYWRkaW5nOiAwOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLnRhYmxpc3QgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAudGFibGlzdCBsaS5hY3RpdmUgYSxcbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC50YWJsaXN0IGxpOmhvdmVyIGEge1xuICAgICAgY29sb3I6ICM0YThiZmM7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC50YWJsaXN0IGxpLmFjdGl2ZSBhOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzRhOGJmYzsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC50YWJsaXN0IGEge1xuICAgIGNvbG9yOiAjNjk3MTdlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0cmFuc2l0aW9uOiAuMnMgY29sb3I7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAudGFibGlzdCBhOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtM3B4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2l0aW9uOiAuMnMgYm9yZGVyLWNvbG9yOyB9XG5cbiNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLnRhYi1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSBpZnJhbWUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4jcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5idG4ge1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luLXRvcDogMzRweDtcbiAgcGFkZGluZzogMTVweCAxNXB4IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxuI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAuYmFjayAuYnRuIHtcbiAgZm9udC1zaXplOiAyMXB4O1xuICB0b3A6IC0xcHg7XG4gIGxlZnQ6IC0xcHg7XG4gIGhlaWdodDogNTZweDsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5iYWNrIC5idG46OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuXG4jcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIGFkZHJlc3Mge1xuICBjb2xvcjogIzgxODg5MztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nLXRvcDogMzVweDsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIGFkZHJlc3Mgc3Ryb25nIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSAuZmVhdHVyZXMge1xuICBwYWRkaW5nOiAwOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLmZlYXR1cmVzIGxpIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiA3cHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5mZWF0dXJlcyBsaTo6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgY29udGVudDogJ1xcZjJiYyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZm9udC1zaXplOiAxMXB4OyB9XG5cbiNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgaGdyb3VwIHtcbiAgcGFkZGluZy1ib3R0b206IDY0cHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLm1vZGFsLWRpYWxvZyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBvdmVyZmxvdzogc2Nyb2xsOyB9XG4gICNwYWdlLXRydXN0ZWQtcGFydG5lcnMgI3RwLWxlYXJuLW1vcmUgLm1vZGFsLWJvZHkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogNTAwcHg7IH1cbiAgICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5tb2RhbC1ib2R5IGFzaWRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5jbG9zZSB7XG4gICAgdG9wOiA4cHg7XG4gICAgcmlnaHQ6IDhweDsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5nby1iYWNrIHtcbiAgICB0b3A6IDhweDtcbiAgICBsZWZ0OiA4cHg7IH1cbiAgI3BhZ2UtdHJ1c3RlZC1wYXJ0bmVycyAjdHAtbGVhcm4tbW9yZSBmb3JtIGlucHV0LFxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIGZvcm0gLnNlbGVjdC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjcGFnZS10cnVzdGVkLXBhcnRuZXJzICN0cC1sZWFybi1tb3JlIC5mcm9udCAuYnRuIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpOyB9IH1cbiJdfQ== */ ================================================ FILE: content/css/pages/values.css ================================================ #page-values .navbar + .banner { background: #181830 no-repeat center top; background-image: url("/img/values/values-cta-bg.jpg"), linear-gradient(to right, #f4f7fb 0%, #d9dfe8 100%); background-size: cover, 100%; height: 360px; } #page-values .navbar + .banner h1 { color: #4C555A; } #page-values .navbar + .banner p { color: #576070; font-weight: 400; } #page-values dl { max-width: 575px; margin: 160px auto 0; padding: 0 40px; } #page-values dl dt { font-size: 24px; font-weight: 700; color: #24282e; position: relative; margin-bottom: 10px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-values dl dt span { font-weight: 700; color: #d2d6db; position: absolute; left: -30px; top: 0px; } #page-values dl dd { color: #5d636c; font-size: 18px; line-height: 28px; font-weight: 400; margin-bottom: 90px; } #page-values .hero { background: no-repeat center top url("/img/values/meet-team.jpg"); background-size: cover; height: 260px; padding-top: 87px; } #page-values .hero h3 { color: white; } #page-values .hero .btn.white { text-transform: none; letter-spacing: .5px; font-weight: 600; font-size: 14px; border-radius: 3px; padding: 16px 15px 14px; margin-top: 15px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZhbHVlcy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx5Q0FBeUM7RUFDekMsNEdBQTRHO0VBQzVHLDZCQUE2QjtFQUM3QixjQUFjLEVBQUU7RUFDaEI7SUFDRSxlQUFlLEVBQUU7RUFDbkI7SUFDRSxlQUFlO0lBQ2YsaUJBQWlCLEVBQUU7O0FBRXZCO0VBQ0UsaUJBQWlCO0VBQ2pCLHFCQUFxQjtFQUNyQixnQkFBZ0IsRUFBRTtFQUNsQjtJQUNFLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsNkRBQTZELEVBQUU7SUFDL0Q7TUFDRSxpQkFBaUI7TUFDakIsZUFBZTtNQUNmLG1CQUFtQjtNQUNuQixZQUFZO01BQ1osU0FBUyxFQUFFO0VBQ2Y7SUFDRSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsb0JBQW9CLEVBQUU7O0FBRTFCO0VBQ0Usa0VBQWtFO0VBQ2xFLHVCQUF1QjtFQUN2QixjQUFjO0VBQ2Qsa0JBQWtCLEVBQUU7RUFDcEI7SUFDRSxhQUFhLEVBQUU7RUFDakI7SUFDRSxxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4QixpQkFBaUIsRUFBRSIsImZpbGUiOiJwYWdlcy92YWx1ZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3BhZ2UtdmFsdWVzIC5uYXZiYXIgKyAuYmFubmVyIHtcbiAgYmFja2dyb3VuZDogIzE4MTgzMCBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy92YWx1ZXMvdmFsdWVzLWN0YS1iZy5qcGdcIiksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2Y0ZjdmYiAwJSwgI2Q5ZGZlOCAxMDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciwgMTAwJTtcbiAgaGVpZ2h0OiAzNjBweDsgfVxuICAjcGFnZS12YWx1ZXMgLm5hdmJhciArIC5iYW5uZXIgaDEge1xuICAgIGNvbG9yOiAjNEM1NTVBOyB9XG4gICNwYWdlLXZhbHVlcyAubmF2YmFyICsgLmJhbm5lciBwIHtcbiAgICBjb2xvcjogIzU3NjA3MDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbiNwYWdlLXZhbHVlcyBkbCB7XG4gIG1heC13aWR0aDogNTc1cHg7XG4gIG1hcmdpbjogMTYwcHggYXV0byAwO1xuICBwYWRkaW5nOiAwIDQwcHg7IH1cbiAgI3BhZ2UtdmFsdWVzIGRsIGR0IHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzI0MjgyZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICAgI3BhZ2UtdmFsdWVzIGRsIGR0IHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjZDJkNmRiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTMwcHg7XG4gICAgICB0b3A6IDBweDsgfVxuICAjcGFnZS12YWx1ZXMgZGwgZGQge1xuICAgIGNvbG9yOiAjNWQ2MzZjO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDkwcHg7IH1cblxuI3BhZ2UtdmFsdWVzIC5oZXJvIHtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciB0b3AgdXJsKFwiL2ltZy92YWx1ZXMvbWVldC10ZWFtLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgaGVpZ2h0OiAyNjBweDtcbiAgcGFkZGluZy10b3A6IDg3cHg7IH1cbiAgI3BhZ2UtdmFsdWVzIC5oZXJvIGgzIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgI3BhZ2UtdmFsdWVzIC5oZXJvIC5idG4ud2hpdGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwYWRkaW5nOiAxNnB4IDE1cHggMTRweDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4iXX0= */ ================================================ FILE: content/css/pages/webinars.css ================================================ #page-webinars h1, #page-webinars h2, #page-webinars h3, #page-webinars h4, #page-webinars .btn { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-webinars .cta { background-color: #12223a; background-image: url("/img/resource-center/webinars/bg-header.jpg"), linear-gradient(120deg, #4864ec, #84aff4); background-size: cover, 100%; background-position: 50% 50%; margin-top: -138px; padding-top: 138px; } #page-webinars .cta hgroup { padding-top: 76px; max-width: 100%; padding-bottom: 159px; } #page-webinars .cta strong { text-transform: uppercase; font-size: 13px; letter-spacing: .12em; } #page-webinars .cta h1 { font-size: 72px; font-size: 56px; margin-top: 22px; } #page-webinars .cta p { color: #d9e9fe; margin-top: 19px; font-size: 16px; } #page-webinars .cta .btn { text-transform: uppercase; margin-top: 41px; padding: 15px 25px 16px; font-size: 15px; letter-spacing: .1em; } #page-webinars .card { background-color: #fff; border-radius: 6px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.1); border-radius: 14px; margin-top: -32px; display: -ms-flexbox; display: flex; margin-bottom: 128px; } @media (max-width: 991px) { #page-webinars .card { -ms-flex-direction: column; flex-direction: column; } } #page-webinars article { -ms-flex-positive: 1; flex-grow: 1; padding: 42px 53px 66px; color: #596a89; } @media (max-width: 400px) { #page-webinars article { padding-right: 24px; padding-left: 24px; } } #page-webinars article h2 { font-weight: 400; font-size: 32px; color: #5e79ff; } #page-webinars article h4 { font-weight: 400; font-size: 22px; letter-spacing: -.018em; line-height: 1.46em; color: #596a89; } #page-webinars article h4 + h3 { margin-top: 42px; } #page-webinars article h3 { font-weight: 600; font-size: 20px; margin-top: 42px; margin-bottom: 15px; } #page-webinars article strong { font-weight: 600; } #page-webinars article p { font-size: 16px; line-height: 1.8em; letter-spacing: -.008em; } #page-webinars article ul { margin-top: 20px; padding-left: 0; padding-bottom: 6px; } #page-webinars article li { line-height: 1.8em; font-size: 16px; list-style: none; margin-left: 4px; letter-spacing: -.004em; position: relative; margin-left: 0; padding-left: 44px; margin-bottom: 20px; } #page-webinars article li::before { background: url("/img/resource-center/webinars/ico-check.png") no-repeat 0 0; background-size: 24px; width: 24px; height: 24px; content: ''; position: absolute; left: 0; top: 0; } #page-webinars article .btn { margin-top: 30px; text-transform: uppercase; font-size: 15px; padding: 17px 24px 14px; letter-spacing: .1em; } #page-webinars aside { -ms-flex: 0 0 340px; flex: 0 0 340px; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; padding: 54px 32px 32px; background: #f6f9fc; } #page-webinars aside h4 { text-transform: uppercase; font-size: 14px; letter-spacing: .1em; } #page-webinars aside .host { margin-top: 16px; margin-bottom: 24px; } #page-webinars aside .host img { border-radius: 50%; float: left; display: block; } #page-webinars aside .host strong { display: block; margin-left: 63px; margin-top: 6px; font-size: 16px; font-weight: 500; color: #151d2b; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-webinars aside .host span { margin-left: 63px; display: block; line-height: 1.2em; color: #6b82ac; } #page-webinars aside .subscribe-cta { margin-top: auto; background-color: #fff; border-radius: 6px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.1); padding: 8px 28px 28px; } #page-webinars aside .subscribe-cta h3 { font-weight: 600; font-size: 18px; margin-bottom: 1px; letter-spacing: -.01em; } #page-webinars aside .subscribe-cta p { margin-bottom: 16px; line-height: 1.8em; letter-spacing: -.008em; } #page-webinars aside .subscribe-cta .btn { width: 100%; font-size: 16px; background: #d6eeff; color: #3880ff; padding: 15px 10px 11px; } #page-webinars aside ionic-newsletter-signup form { max-width: 100%; } #page-webinars aside ionic-newsletter-signup form input { min-width: 0; } @media (max-width: 991px) { #page-webinars aside { -ms-flex: 0 0 100%; flex: 0 0 100%; } } #page-webinars .resource-list { margin-bottom: 64px; } #page-webinars .resource-list__header h4 { font-size: 24px; margin-bottom: 1px; } #page-webinars .scrollTopLink { float: right; font-size: 15px; font-weight: 600; } #page-webinars .modal-body { padding: 32px 48px; } @media (max-width: 767px) { #page-webinars .modal-body { padding: 16px; } } #page-webinars .modal-body form { max-width: 100%; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYmluYXJzLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7RUFLRSw2REFBNkQsRUFBRTs7QUFFakU7RUFDRSwwQkFBMEI7RUFDMUIsZ0hBQWdIO0VBQ2hILDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsbUJBQW1CO0VBQ25CLG1CQUFtQixFQUFFO0VBQ3JCO0lBQ0Usa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixzQkFBc0IsRUFBRTtFQUMxQjtJQUNFLDBCQUEwQjtJQUMxQixnQkFBZ0I7SUFDaEIsc0JBQXNCLEVBQUU7RUFDMUI7SUFDRSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFFO0VBQ3JCO0lBQ0UsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBRTtFQUNwQjtJQUNFLDBCQUEwQjtJQUMxQixpQkFBaUI7SUFDakIsd0JBQXdCO0lBQ3hCLGdCQUFnQjtJQUNoQixxQkFBcUIsRUFBRTs7QUFFM0I7RUFDRSx1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLHdFQUF3RTtFQUN4RSxvQkFBb0I7RUFDcEIsa0JBQWtCO0VBQ2xCLHFCQUFjO0VBQWQsY0FBYztFQUNkLHFCQUFxQixFQUFFO0VBQ3ZCO0lBQ0U7TUFDRSwyQkFBdUI7VUFBdkIsdUJBQXVCLEVBQUUsRUFBRTs7QUFFakM7RUFDRSxxQkFBYTtNQUFiLGFBQWE7RUFDYix3QkFBd0I7RUFDeEIsZUFBZSxFQUFFO0VBQ2pCO0lBQ0U7TUFDRSxvQkFBb0I7TUFDcEIsbUJBQW1CLEVBQUUsRUFBRTtFQUMzQjtJQUNFLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsZUFBZSxFQUFFO0VBQ25CO0lBQ0UsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLGVBQWUsRUFBRTtJQUNqQjtNQUNFLGlCQUFpQixFQUFFO0VBQ3ZCO0lBQ0UsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsb0JBQW9CLEVBQUU7RUFDeEI7SUFDRSxpQkFBaUIsRUFBRTtFQUNyQjtJQUNFLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsd0JBQXdCLEVBQUU7RUFDNUI7SUFDRSxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLG9CQUFvQixFQUFFO0VBQ3hCO0lBQ0UsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLHdCQUF3QjtJQUN4QixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixvQkFBb0IsRUFBRTtJQUN0QjtNQUNFLDZFQUE2RTtNQUM3RSxzQkFBc0I7TUFDdEIsWUFBWTtNQUNaLGFBQWE7TUFDYixZQUFZO01BQ1osbUJBQW1CO01BQ25CLFFBQVE7TUFDUixPQUFPLEVBQUU7RUFDYjtJQUNFLGlCQUFpQjtJQUNqQiwwQkFBMEI7SUFDMUIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4QixxQkFBcUIsRUFBRTs7QUFFM0I7RUFDRSxvQkFBZ0I7TUFBaEIsZ0JBQWdCO0VBQ2hCLHFCQUFjO0VBQWQsY0FBYztFQUNkLDJCQUF1QjtNQUF2Qix1QkFBdUI7RUFDdkIsd0JBQXdCO0VBQ3hCLG9CQUFvQixFQUFFO0VBQ3RCO0lBQ0UsMEJBQTBCO0lBQzFCLGdCQUFnQjtJQUNoQixxQkFBcUIsRUFBRTtFQUN6QjtJQUNFLGlCQUFpQjtJQUNqQixvQkFBb0IsRUFBRTtJQUN0QjtNQUNFLG1CQUFtQjtNQUNuQixZQUFZO01BQ1osZUFBZSxFQUFFO0lBQ25CO01BQ0UsZUFBZTtNQUNmLGtCQUFrQjtNQUNsQixnQkFBZ0I7TUFDaEIsZ0JBQWdCO01BQ2hCLGlCQUFpQjtNQUNqQixlQUFlO01BQ2YsNkRBQTZELEVBQUU7SUFDakU7TUFDRSxrQkFBa0I7TUFDbEIsZUFBZTtNQUNmLG1CQUFtQjtNQUNuQixlQUFlLEVBQUU7RUFDckI7SUFDRSxpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQix3RUFBd0U7SUFDeEUsdUJBQXVCLEVBQUU7SUFDekI7TUFDRSxpQkFBaUI7TUFDakIsZ0JBQWdCO01BQ2hCLG1CQUFtQjtNQUNuQix1QkFBdUIsRUFBRTtJQUMzQjtNQUNFLG9CQUFvQjtNQUNwQixtQkFBbUI7TUFDbkIsd0JBQXdCLEVBQUU7SUFDNUI7TUFDRSxZQUFZO01BQ1osZ0JBQWdCO01BQ2hCLG9CQUFvQjtNQUNwQixlQUFlO01BQ2Ysd0JBQXdCLEVBQUU7RUFDOUI7SUFDRSxnQkFBZ0IsRUFBRTtJQUNsQjtNQUNFLGFBQWEsRUFBRTtFQUNuQjtJQUNFO01BQ0UsbUJBQWU7VUFBZixlQUFlLEVBQUUsRUFBRTs7QUFFekI7RUFDRSxvQkFBb0IsRUFBRTtFQUN0QjtJQUNFLGdCQUFnQjtJQUNoQixtQkFBbUIsRUFBRTs7QUFFekI7RUFDRSxhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUFFOztBQUVyQjtFQUNFLG1CQUFtQixFQUFFO0VBQ3JCO0lBQ0U7TUFDRSxjQUFjLEVBQUUsRUFBRTtFQUN0QjtJQUNFLGdCQUFnQixFQUFFIiwiZmlsZSI6InBhZ2VzL3dlYmluYXJzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNwYWdlLXdlYmluYXJzIGgxLFxuI3BhZ2Utd2ViaW5hcnMgaDIsXG4jcGFnZS13ZWJpbmFycyBoMyxcbiNwYWdlLXdlYmluYXJzIGg0LFxuI3BhZ2Utd2ViaW5hcnMgLmJ0biB7XG4gIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH1cblxuI3BhZ2Utd2ViaW5hcnMgLmN0YSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjIyM2E7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcmVzb3VyY2UtY2VudGVyL3dlYmluYXJzL2JnLWhlYWRlci5qcGdcIiksIGxpbmVhci1ncmFkaWVudCgxMjBkZWcsICM0ODY0ZWMsICM4NGFmZjQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyLCAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBtYXJnaW4tdG9wOiAtMTM4cHg7XG4gIHBhZGRpbmctdG9wOiAxMzhweDsgfVxuICAjcGFnZS13ZWJpbmFycyAuY3RhIGhncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDc2cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNTlweDsgfVxuICAjcGFnZS13ZWJpbmFycyAuY3RhIHN0cm9uZyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4xMmVtOyB9XG4gICNwYWdlLXdlYmluYXJzIC5jdGEgaDEge1xuICAgIGZvbnQtc2l6ZTogNzJweDtcbiAgICBmb250LXNpemU6IDU2cHg7XG4gICAgbWFyZ2luLXRvcDogMjJweDsgfVxuICAjcGFnZS13ZWJpbmFycyAuY3RhIHAge1xuICAgIGNvbG9yOiAjZDllOWZlO1xuICAgIG1hcmdpbi10b3A6IDE5cHg7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICNwYWdlLXdlYmluYXJzIC5jdGEgLmJ0biB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tdG9wOiA0MXB4O1xuICAgIHBhZGRpbmc6IDE1cHggMjVweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjFlbTsgfVxuXG4jcGFnZS13ZWJpbmFycyAuY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm94LXNoYWRvdzogMCA4cHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIG1hcmdpbi10b3A6IC0zMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxMjhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjcGFnZS13ZWJpbmFycyAuY2FyZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuI3BhZ2Utd2ViaW5hcnMgYXJ0aWNsZSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogNDJweCA1M3B4IDY2cHg7XG4gIGNvbG9yOiAjNTk2YTg5OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICNwYWdlLXdlYmluYXJzIGFydGljbGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjRweDsgfSB9XG4gICNwYWdlLXdlYmluYXJzIGFydGljbGUgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGNvbG9yOiAjNWU3OWZmOyB9XG4gICNwYWdlLXdlYmluYXJzIGFydGljbGUgaDQge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAxOGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ2ZW07XG4gICAgY29sb3I6ICM1OTZhODk7IH1cbiAgICAjcGFnZS13ZWJpbmFycyBhcnRpY2xlIGg0ICsgaDMge1xuICAgICAgbWFyZ2luLXRvcDogNDJweDsgfVxuICAjcGFnZS13ZWJpbmFycyBhcnRpY2xlIGgzIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tdG9wOiA0MnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgI3BhZ2Utd2ViaW5hcnMgYXJ0aWNsZSBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgI3BhZ2Utd2ViaW5hcnMgYXJ0aWNsZSBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAwOGVtOyB9XG4gICNwYWdlLXdlYmluYXJzIGFydGljbGUgdWwge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHg7IH1cbiAgI3BhZ2Utd2ViaW5hcnMgYXJ0aWNsZSBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDA0ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgI3BhZ2Utd2ViaW5hcnMgYXJ0aWNsZSBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvcmVzb3VyY2UtY2VudGVyL3dlYmluYXJzL2ljby1jaGVjay5wbmdcIikgbm8tcmVwZWF0IDAgMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwOyB9XG4gICNwYWdlLXdlYmluYXJzIGFydGljbGUgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBwYWRkaW5nOiAxN3B4IDI0cHggMTRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjFlbTsgfVxuXG4jcGFnZS13ZWJpbmFycyBhc2lkZSB7XG4gIGZsZXg6IDAgMCAzNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogNTRweCAzMnB4IDMycHg7XG4gIGJhY2tncm91bmQ6ICNmNmY5ZmM7IH1cbiAgI3BhZ2Utd2ViaW5hcnMgYXNpZGUgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMWVtOyB9XG4gICNwYWdlLXdlYmluYXJzIGFzaWRlIC5ob3N0IHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgICAjcGFnZS13ZWJpbmFycyBhc2lkZSAuaG9zdCBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNwYWdlLXdlYmluYXJzIGFzaWRlIC5ob3N0IHN0cm9uZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA2M3B4O1xuICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjMTUxZDJiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICAgICNwYWdlLXdlYmluYXJzIGFzaWRlIC5ob3N0IHNwYW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDYzcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIGNvbG9yOiAjNmI4MmFjOyB9XG4gICNwYWdlLXdlYmluYXJzIGFzaWRlIC5zdWJzY3JpYmUtY3RhIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHBhZGRpbmc6IDhweCAyOHB4IDI4cHg7IH1cbiAgICAjcGFnZS13ZWJpbmFycyBhc2lkZSAuc3Vic2NyaWJlLWN0YSBoMyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsgfVxuICAgICNwYWdlLXdlYmluYXJzIGFzaWRlIC5zdWJzY3JpYmUtY3RhIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAwOGVtOyB9XG4gICAgI3BhZ2Utd2ViaW5hcnMgYXNpZGUgLnN1YnNjcmliZS1jdGEgLmJ0biB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGJhY2tncm91bmQ6ICNkNmVlZmY7XG4gICAgICBjb2xvcjogIzM4ODBmZjtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTBweCAxMXB4OyB9XG4gICNwYWdlLXdlYmluYXJzIGFzaWRlIGlvbmljLW5ld3NsZXR0ZXItc2lnbnVwIGZvcm0ge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICNwYWdlLXdlYmluYXJzIGFzaWRlIGlvbmljLW5ld3NsZXR0ZXItc2lnbnVwIGZvcm0gaW5wdXQge1xuICAgICAgbWluLXdpZHRoOiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLXdlYmluYXJzIGFzaWRlIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9IH1cblxuI3BhZ2Utd2ViaW5hcnMgLnJlc291cmNlLWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiA2NHB4OyB9XG4gICNwYWdlLXdlYmluYXJzIC5yZXNvdXJjZS1saXN0X19oZWFkZXIgaDQge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7IH1cblxuI3BhZ2Utd2ViaW5hcnMgLnNjcm9sbFRvcExpbmsge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4jcGFnZS13ZWJpbmFycyAubW9kYWwtYm9keSB7XG4gIHBhZGRpbmc6IDMycHggNDhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcGFnZS13ZWJpbmFycyAubW9kYWwtYm9keSB7XG4gICAgICBwYWRkaW5nOiAxNnB4OyB9IH1cbiAgI3BhZ2Utd2ViaW5hcnMgLm1vZGFsLWJvZHkgZm9ybSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4iXX0= */ ================================================ FILE: content/css/pygments/autumn.css ================================================ .highlight .hll { background-color: #ffffcc; } .highlight .c { color: #aaaaaa; font-style: italic; } /* Comment */ .highlight .err { color: #F00000; background-color: #F0A0A0; } /* Error */ .highlight .k { color: #0000aa; } /* Keyword */ .highlight .cm { color: #aaaaaa; font-style: italic; } /* Comment.Multiline */ .highlight .cp { color: #4c8317; } /* Comment.Preproc */ .highlight .c1 { color: #aaaaaa; font-style: italic; } /* Comment.Single */ .highlight .cs { color: #0000aa; font-style: italic; } /* Comment.Special */ .highlight .gd { color: #aa0000; } /* Generic.Deleted */ .highlight .ge { font-style: italic; } /* Generic.Emph */ .highlight .gr { color: #aa0000; } /* Generic.Error */ .highlight .gh { color: #000080; font-weight: bold; } /* Generic.Heading */ .highlight .gi { color: #00aa00; } /* Generic.Inserted */ .highlight .go { color: #888888; } /* Generic.Output */ .highlight .gp { color: #555555; } /* Generic.Prompt */ .highlight .gs { font-weight: bold; } /* Generic.Strong */ .highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */ .highlight .gt { color: #aa0000; } /* Generic.Traceback */ .highlight .kc { color: #0000aa; } /* Keyword.Constant */ .highlight .kd { color: #0000aa; } /* Keyword.Declaration */ .highlight .kn { color: #0000aa; } /* Keyword.Namespace */ .highlight .kp { color: #0000aa; } /* Keyword.Pseudo */ .highlight .kr { color: #0000aa; } /* Keyword.Reserved */ .highlight .kt { color: #00aaaa; } /* Keyword.Type */ .highlight .m { color: #009999; } /* Literal.Number */ .highlight .s { color: #aa5500; } /* Literal.String */ .highlight .na { color: #1e90ff; } /* Name.Attribute */ .highlight .nb { color: #00aaaa; } /* Name.Builtin */ .highlight .nc { color: #00aa00; text-decoration: underline; } /* Name.Class */ .highlight .no { color: #aa0000; } /* Name.Constant */ .highlight .nd { color: #888888; } /* Name.Decorator */ .highlight .ni { color: #800000; font-weight: bold; } /* Name.Entity */ .highlight .nf { color: #00aa00; } /* Name.Function */ .highlight .nn { color: #00aaaa; text-decoration: underline; } /* Name.Namespace */ .highlight .nt { color: #1e90ff; font-weight: bold; } /* Name.Tag */ .highlight .nv { color: #aa0000; } /* Name.Variable */ .highlight .ow { color: #0000aa; } /* Operator.Word */ .highlight .w { color: #bbbbbb; } /* Text.Whitespace */ .highlight .mf { color: #009999; } /* Literal.Number.Float */ .highlight .mh { color: #009999; } /* Literal.Number.Hex */ .highlight .mi { color: #009999; } /* Literal.Number.Integer */ .highlight .mo { color: #009999; } /* Literal.Number.Oct */ .highlight .sb { color: #aa5500; } /* Literal.String.Backtick */ .highlight .sc { color: #aa5500; } /* Literal.String.Char */ .highlight .sd { color: #aa5500; } /* Literal.String.Doc */ .highlight .s2 { color: #aa5500; } /* Literal.String.Double */ .highlight .se { color: #aa5500; } /* Literal.String.Escape */ .highlight .sh { color: #aa5500; } /* Literal.String.Heredoc */ .highlight .si { color: #aa5500; } /* Literal.String.Interpol */ .highlight .sx { color: #aa5500; } /* Literal.String.Other */ .highlight .sr { color: #009999; } /* Literal.String.Regex */ .highlight .s1 { color: #aa5500; } /* Literal.String.Single */ .highlight .ss { color: #0000aa; } /* Literal.String.Symbol */ .highlight .bp { color: #00aaaa; } /* Name.Builtin.Pseudo */ .highlight .vc { color: #aa0000; } /* Name.Variable.Class */ .highlight .vg { color: #aa0000; } /* Name.Variable.Global */ .highlight .vi { color: #aa0000; } /* Name.Variable.Instance */ .highlight .il { color: #009999; } /* Literal.Number.Integer.Long */ /*# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFFOztBQUVuQiwyQkFBMkI7QUFDM0I7RUFDRSxlQUFlLEVBQUU7O0FBRW5CLDRCQUE0QjtBQUM1QjtFQUNFLGVBQWUsRUFBRTs7QUFFbkIsNkJBQTZCO0FBQzdCO0VBQ0UsZUFBZSxFQUFFOztBQUVuQiwwQkFBMEI7QUFDMUI7RUFDRSxlQUFlLEVBQUU7O0FBRW5CLDBCQUEwQjtBQUMxQjtFQUNFLGVBQWUsRUFBRTs7QUFFbkIsMkJBQTJCO0FBQzNCO0VBQ0UsZUFBZSxFQUFFOztBQUVuQiwyQkFBMkI7QUFDM0I7RUFDRSxlQUFlLEVBQUU7O0FBRW5CLHlCQUF5QjtBQUN6QjtFQUNFLGVBQWUsRUFBRTs7QUFFbkIseUJBQXlCO0FBQ3pCO0VBQ0UsZUFBZSxFQUFFOztBQUVuQiwwQkFBMEI7QUFDMUI7RUFDRSxlQUFlLEVBQUU7O0FBRW5CLDRCQUE0QjtBQUM1QjtFQUNFLGVBQWUsRUFBRTs7QUFFbkIsaUNBQWlDIiwiZmlsZSI6InB5Z21lbnRzL2F1dHVtbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaGlnaGxpZ2h0IC5obGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmNjOyB9XG5cbi5oaWdobGlnaHQgLmMge1xuICBjb2xvcjogI2FhYWFhYTtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qIENvbW1lbnQgKi9cbi5oaWdobGlnaHQgLmVyciB7XG4gIGNvbG9yOiAjRjAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBBMEEwOyB9XG5cbi8qIEVycm9yICovXG4uaGlnaGxpZ2h0IC5rIHtcbiAgY29sb3I6ICMwMDAwYWE7IH1cblxuLyogS2V5d29yZCAqL1xuLmhpZ2hsaWdodCAuY20ge1xuICBjb2xvcjogI2FhYWFhYTtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qIENvbW1lbnQuTXVsdGlsaW5lICovXG4uaGlnaGxpZ2h0IC5jcCB7XG4gIGNvbG9yOiAjNGM4MzE3OyB9XG5cbi8qIENvbW1lbnQuUHJlcHJvYyAqL1xuLmhpZ2hsaWdodCAuYzEge1xuICBjb2xvcjogI2FhYWFhYTtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qIENvbW1lbnQuU2luZ2xlICovXG4uaGlnaGxpZ2h0IC5jcyB7XG4gIGNvbG9yOiAjMDAwMGFhO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyogQ29tbWVudC5TcGVjaWFsICovXG4uaGlnaGxpZ2h0IC5nZCB7XG4gIGNvbG9yOiAjYWEwMDAwOyB9XG5cbi8qIEdlbmVyaWMuRGVsZXRlZCAqL1xuLmhpZ2hsaWdodCAuZ2Uge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyogR2VuZXJpYy5FbXBoICovXG4uaGlnaGxpZ2h0IC5nciB7XG4gIGNvbG9yOiAjYWEwMDAwOyB9XG5cbi8qIEdlbmVyaWMuRXJyb3IgKi9cbi5oaWdobGlnaHQgLmdoIHtcbiAgY29sb3I6ICMwMDAwODA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIEdlbmVyaWMuSGVhZGluZyAqL1xuLmhpZ2hsaWdodCAuZ2kge1xuICBjb2xvcjogIzAwYWEwMDsgfVxuXG4vKiBHZW5lcmljLkluc2VydGVkICovXG4uaGlnaGxpZ2h0IC5nbyB7XG4gIGNvbG9yOiAjODg4ODg4OyB9XG5cbi8qIEdlbmVyaWMuT3V0cHV0ICovXG4uaGlnaGxpZ2h0IC5ncCB7XG4gIGNvbG9yOiAjNTU1NTU1OyB9XG5cbi8qIEdlbmVyaWMuUHJvbXB0ICovXG4uaGlnaGxpZ2h0IC5ncyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIEdlbmVyaWMuU3Ryb25nICovXG4uaGlnaGxpZ2h0IC5ndSB7XG4gIGNvbG9yOiAjODAwMDgwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBHZW5lcmljLlN1YmhlYWRpbmcgKi9cbi5oaWdobGlnaHQgLmd0IHtcbiAgY29sb3I6ICNhYTAwMDA7IH1cblxuLyogR2VuZXJpYy5UcmFjZWJhY2sgKi9cbi5oaWdobGlnaHQgLmtjIHtcbiAgY29sb3I6ICMwMDAwYWE7IH1cblxuLyogS2V5d29yZC5Db25zdGFudCAqL1xuLmhpZ2hsaWdodCAua2Qge1xuICBjb2xvcjogIzAwMDBhYTsgfVxuXG4vKiBLZXl3b3JkLkRlY2xhcmF0aW9uICovXG4uaGlnaGxpZ2h0IC5rbiB7XG4gIGNvbG9yOiAjMDAwMGFhOyB9XG5cbi8qIEtleXdvcmQuTmFtZXNwYWNlICovXG4uaGlnaGxpZ2h0IC5rcCB7XG4gIGNvbG9yOiAjMDAwMGFhOyB9XG5cbi8qIEtleXdvcmQuUHNldWRvICovXG4uaGlnaGxpZ2h0IC5rciB7XG4gIGNvbG9yOiAjMDAwMGFhOyB9XG5cbi8qIEtleXdvcmQuUmVzZXJ2ZWQgKi9cbi5oaWdobGlnaHQgLmt0IHtcbiAgY29sb3I6ICMwMGFhYWE7IH1cblxuLyogS2V5d29yZC5UeXBlICovXG4uaGlnaGxpZ2h0IC5tIHtcbiAgY29sb3I6ICMwMDk5OTk7IH1cblxuLyogTGl0ZXJhbC5OdW1iZXIgKi9cbi5oaWdobGlnaHQgLnMge1xuICBjb2xvcjogI2FhNTUwMDsgfVxuXG4vKiBMaXRlcmFsLlN0cmluZyAqL1xuLmhpZ2hsaWdodCAubmEge1xuICBjb2xvcjogIzFlOTBmZjsgfVxuXG4vKiBOYW1lLkF0dHJpYnV0ZSAqL1xuLmhpZ2hsaWdodCAubmIge1xuICBjb2xvcjogIzAwYWFhYTsgfVxuXG4vKiBOYW1lLkJ1aWx0aW4gKi9cbi5oaWdobGlnaHQgLm5jIHtcbiAgY29sb3I6ICMwMGFhMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIE5hbWUuQ2xhc3MgKi9cbi5oaWdobGlnaHQgLm5vIHtcbiAgY29sb3I6ICNhYTAwMDA7IH1cblxuLyogTmFtZS5Db25zdGFudCAqL1xuLmhpZ2hsaWdodCAubmQge1xuICBjb2xvcjogIzg4ODg4ODsgfVxuXG4vKiBOYW1lLkRlY29yYXRvciAqL1xuLmhpZ2hsaWdodCAubmkge1xuICBjb2xvcjogIzgwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogTmFtZS5FbnRpdHkgKi9cbi5oaWdobGlnaHQgLm5mIHtcbiAgY29sb3I6ICMwMGFhMDA7IH1cblxuLyogTmFtZS5GdW5jdGlvbiAqL1xuLmhpZ2hsaWdodCAubm4ge1xuICBjb2xvcjogIzAwYWFhYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogTmFtZS5OYW1lc3BhY2UgKi9cbi5oaWdobGlnaHQgLm50IHtcbiAgY29sb3I6ICMxZTkwZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIE5hbWUuVGFnICovXG4uaGlnaGxpZ2h0IC5udiB7XG4gIGNvbG9yOiAjYWEwMDAwOyB9XG5cbi8qIE5hbWUuVmFyaWFibGUgKi9cbi5oaWdobGlnaHQgLm93IHtcbiAgY29sb3I6ICMwMDAwYWE7IH1cblxuLyogT3BlcmF0b3IuV29yZCAqL1xuLmhpZ2hsaWdodCAudyB7XG4gIGNvbG9yOiAjYmJiYmJiOyB9XG5cbi8qIFRleHQuV2hpdGVzcGFjZSAqL1xuLmhpZ2hsaWdodCAubWYge1xuICBjb2xvcjogIzAwOTk5OTsgfVxuXG4vKiBMaXRlcmFsLk51bWJlci5GbG9hdCAqL1xuLmhpZ2hsaWdodCAubWgge1xuICBjb2xvcjogIzAwOTk5OTsgfVxuXG4vKiBMaXRlcmFsLk51bWJlci5IZXggKi9cbi5oaWdobGlnaHQgLm1pIHtcbiAgY29sb3I6ICMwMDk5OTk7IH1cblxuLyogTGl0ZXJhbC5OdW1iZXIuSW50ZWdlciAqL1xuLmhpZ2hsaWdodCAubW8ge1xuICBjb2xvcjogIzAwOTk5OTsgfVxuXG4vKiBMaXRlcmFsLk51bWJlci5PY3QgKi9cbi5oaWdobGlnaHQgLnNiIHtcbiAgY29sb3I6ICNhYTU1MDA7IH1cblxuLyogTGl0ZXJhbC5TdHJpbmcuQmFja3RpY2sgKi9cbi5oaWdobGlnaHQgLnNjIHtcbiAgY29sb3I6ICNhYTU1MDA7IH1cblxuLyogTGl0ZXJhbC5TdHJpbmcuQ2hhciAqL1xuLmhpZ2hsaWdodCAuc2Qge1xuICBjb2xvcjogI2FhNTUwMDsgfVxuXG4vKiBMaXRlcmFsLlN0cmluZy5Eb2MgKi9cbi5oaWdobGlnaHQgLnMyIHtcbiAgY29sb3I6ICNhYTU1MDA7IH1cblxuLyogTGl0ZXJhbC5TdHJpbmcuRG91YmxlICovXG4uaGlnaGxpZ2h0IC5zZSB7XG4gIGNvbG9yOiAjYWE1NTAwOyB9XG5cbi8qIExpdGVyYWwuU3RyaW5nLkVzY2FwZSAqL1xuLmhpZ2hsaWdodCAuc2gge1xuICBjb2xvcjogI2FhNTUwMDsgfVxuXG4vKiBMaXRlcmFsLlN0cmluZy5IZXJlZG9jICovXG4uaGlnaGxpZ2h0IC5zaSB7XG4gIGNvbG9yOiAjYWE1NTAwOyB9XG5cbi8qIExpdGVyYWwuU3RyaW5nLkludGVycG9sICovXG4uaGlnaGxpZ2h0IC5zeCB7XG4gIGNvbG9yOiAjYWE1NTAwOyB9XG5cbi8qIExpdGVyYWwuU3RyaW5nLk90aGVyICovXG4uaGlnaGxpZ2h0IC5zciB7XG4gIGNvbG9yOiAjMDA5OTk5OyB9XG5cbi8qIExpdGVyYWwuU3RyaW5nLlJlZ2V4ICovXG4uaGlnaGxpZ2h0IC5zMSB7XG4gIGNvbG9yOiAjYWE1NTAwOyB9XG5cbi8qIExpdGVyYWwuU3RyaW5nLlNpbmdsZSAqL1xuLmhpZ2hsaWdodCAuc3Mge1xuICBjb2xvcjogIzAwMDBhYTsgfVxuXG4vKiBMaXRlcmFsLlN0cmluZy5TeW1ib2wgKi9cbi5oaWdobGlnaHQgLmJwIHtcbiAgY29sb3I6ICMwMGFhYWE7IH1cblxuLyogTmFtZS5CdWlsdGluLlBzZXVkbyAqL1xuLmhpZ2hsaWdodCAudmMge1xuICBjb2xvcjogI2FhMDAwMDsgfVxuXG4vKiBOYW1lLlZhcmlhYmxlLkNsYXNzICovXG4uaGlnaGxpZ2h0IC52ZyB7XG4gIGNvbG9yOiAjYWEwMDAwOyB9XG5cbi8qIE5hbWUuVmFyaWFibGUuR2xvYmFsICovXG4uaGlnaGxpZ2h0IC52aSB7XG4gIGNvbG9yOiAjYWEwMDAwOyB9XG5cbi8qIE5hbWUuVmFyaWFibGUuSW5zdGFuY2UgKi9cbi5oaWdobGlnaHQgLmlsIHtcbiAgY29sb3I6ICMwMDk5OTk7IH1cblxuLyogTGl0ZXJhbC5OdW1iZXIuSW50ZWdlci5Mb25nICovXG4iXX0= */ ================================================ FILE: content/css/pygments/ionic.css ================================================ .highlight { background: #ffffff; } .highlight .c { color: #999988; font-style: italic; } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2; } /* Error */ .highlight .k { font-weight: bold; } /* Keyword */ .highlight .o { font-weight: bold; } /* Operator */ .highlight .cm { color: #999988; font-style: italic; } /* Comment.Multiline */ .highlight .cp { color: #999999; font-weight: bold; } /* Comment.Preproc */ .highlight .c1 { color: #999988; font-style: italic; } /* Comment.Single */ .highlight .cs { color: #999999; font-weight: bold; font-style: italic; } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd; } /* Generic.Deleted */ .highlight .gd .x { color: #000000; background-color: #ffaaaa; } /* Generic.Deleted.Specific */ .highlight .ge { font-style: italic; } /* Generic.Emph */ .highlight .gr { color: #aa0000; } /* Generic.Error */ .highlight .gh { color: #999999; } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd; } /* Generic.Inserted */ .highlight .gi .x { color: #000000; background-color: #aaffaa; } /* Generic.Inserted.Specific */ .highlight .go { color: #888888; } /* Generic.Output */ .highlight .gp { color: #555555; } /* Generic.Prompt */ .highlight .gs { font-weight: bold; } /* Generic.Strong */ .highlight .gu { color: #aaaaaa; } /* Generic.Subheading */ .highlight .gt { color: #aa0000; } /* Generic.Traceback */ .highlight .kc { font-weight: bold; } /* Keyword.Constant */ .highlight .kd { font-weight: bold; } /* Keyword.Declaration */ .highlight .kp { font-weight: bold; } /* Keyword.Pseudo */ .highlight .kr { font-weight: bold; } /* Keyword.Reserved */ .highlight .kt { color: #445588; font-weight: bold; } /* Keyword.Type */ .highlight .m { color: #009999; } /* Literal.Number */ .highlight .s { color: #d14; } /* Literal.String */ .highlight .na { color: #008080; } /* Name.Attribute */ .highlight .nb { color: #0086B3; } /* Name.Builtin */ .highlight .nc { color: #445588; font-weight: bold; } /* Name.Class */ .highlight .no { color: #008080; } /* Name.Constant */ .highlight .ni { color: #800080; } /* Name.Entity */ .highlight .ne { color: #990000; font-weight: bold; } /* Name.Exception */ .highlight .nf { color: #990000; font-weight: bold; } /* Name.Function */ .highlight .nn { color: #555555; } /* Name.Namespace */ .highlight .nt { color: #000080; } /* Name.Tag */ .highlight .nv { color: #008080; } /* Name.Variable */ .highlight .ow { font-weight: bold; } /* Operator.Word */ .highlight .w { color: #bbbbbb; } /* Text.Whitespace */ .highlight .mf { color: #009999; } /* Literal.Number.Float */ .highlight .mh { color: #009999; } /* Literal.Number.Hex */ .highlight .mi { color: #009999; } /* Literal.Number.Integer */ .highlight .mo { color: #009999; } /* Literal.Number.Oct */ .highlight .sb { color: #d14; } /* Literal.String.Backtick */ .highlight .sc { color: #d14; } /* Literal.String.Char */ .highlight .sd { color: #d14; } /* Literal.String.Doc */ .highlight .s2 { color: #d14; } /* Literal.String.Double */ .highlight .se { color: #d14; } /* Literal.String.Escape */ .highlight .sh { color: #d14; } /* Literal.String.Heredoc */ .highlight .si { color: #d14; } /* Literal.String.Interpol */ .highlight .sx { color: #d14; } /* Literal.String.Other */ .highlight .sr { color: #009926; } /* Literal.String.Regex */ .highlight .s1 { color: #d14; } /* Literal.String.Single */ .highlight .ss { color: #990073; } /* Literal.String.Symbol */ .highlight .bp { color: #999999; } /* Name.Builtin.Pseudo */ .highlight .vc { color: #008080; } /* Name.Variable.Class */ .highlight .vg { color: #008080; } /* Name.Variable.Global */ .highlight .vi { color: #008080; } /* Name.Variable.Instance */ .highlight .il { color: #009999; } /* Literal.Number.Integer.Long */ /*# sourceMappingURL=data:application/json;charset=utf8;base64,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NkJBQTZCO0FBQzdCO0VBQ0UsWUFBWSxFQUFFOztBQUVoQix5QkFBeUI7QUFDekI7RUFDRSxZQUFZLEVBQUU7O0FBRWhCLHdCQUF3QjtBQUN4QjtFQUNFLFlBQVksRUFBRTs7QUFFaEIsMkJBQTJCO0FBQzNCO0VBQ0UsWUFBWSxFQUFFOztBQUVoQiwyQkFBMkI7QUFDM0I7RUFDRSxZQUFZLEVBQUU7O0FBRWhCLDRCQUE0QjtBQUM1QjtFQUNFLFlBQVksRUFBRTs7QUFFaEIsNkJBQTZCO0FBQzdCO0VBQ0UsWUFBWSxFQUFFOztBQUVoQiwwQkFBMEI7QUFDMUI7RUFDRSxlQUFlLEVBQUU7O0FBRW5CLDBCQUEwQjtBQUMxQjtFQUNFLFlBQVksRUFBRTs7QUFFaEIsMkJBQTJCO0FBQzNCO0VBQ0UsZUFBZSxFQUFFOztBQUVuQiwyQkFBMkI7QUFDM0I7RUFDRSxlQUFlLEVBQUU7O0FBRW5CLHlCQUF5QjtBQUN6QjtFQUNFLGVBQWUsRUFBRTs7QUFFbkIseUJBQXlCO0FBQ3pCO0VBQ0UsZUFBZSxFQUFFOztBQUVuQiwwQkFBMEI7QUFDMUI7RUFDRSxlQUFlLEVBQUU7O0FBRW5CLDRCQUE0QjtBQUM1QjtFQUNFLGVBQWUsRUFBRTs7QUFFbkIsaUNBQWlDIiwiZmlsZSI6InB5Z21lbnRzL2lvbmljLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oaWdobGlnaHQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5oaWdobGlnaHQgLmMge1xuICBjb2xvcjogIzk5OTk4ODtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qIENvbW1lbnQgKi9cbi5oaWdobGlnaHQgLmVyciB7XG4gIGNvbG9yOiAjYTYxNzE3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNkMmQyOyB9XG5cbi8qIEVycm9yICovXG4uaGlnaGxpZ2h0IC5rIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogS2V5d29yZCAqL1xuLmhpZ2hsaWdodCAubyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIE9wZXJhdG9yICovXG4uaGlnaGxpZ2h0IC5jbSB7XG4gIGNvbG9yOiAjOTk5OTg4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyogQ29tbWVudC5NdWx0aWxpbmUgKi9cbi5oaWdobGlnaHQgLmNwIHtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIENvbW1lbnQuUHJlcHJvYyAqL1xuLmhpZ2hsaWdodCAuYzEge1xuICBjb2xvcjogIzk5OTk4ODtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qIENvbW1lbnQuU2luZ2xlICovXG4uaGlnaGxpZ2h0IC5jcyB7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qIENvbW1lbnQuU3BlY2lhbCAqL1xuLmhpZ2hsaWdodCAuZ2Qge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGRkZDsgfVxuXG4vKiBHZW5lcmljLkRlbGV0ZWQgKi9cbi5oaWdobGlnaHQgLmdkIC54IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmFhYWE7IH1cblxuLyogR2VuZXJpYy5EZWxldGVkLlNwZWNpZmljICovXG4uaGlnaGxpZ2h0IC5nZSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiBHZW5lcmljLkVtcGggKi9cbi5oaWdobGlnaHQgLmdyIHtcbiAgY29sb3I6ICNhYTAwMDA7IH1cblxuLyogR2VuZXJpYy5FcnJvciAqL1xuLmhpZ2hsaWdodCAuZ2gge1xuICBjb2xvcjogIzk5OTk5OTsgfVxuXG4vKiBHZW5lcmljLkhlYWRpbmcgKi9cbi5oaWdobGlnaHQgLmdpIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGZmZGQ7IH1cblxuLyogR2VuZXJpYy5JbnNlcnRlZCAqL1xuLmhpZ2hsaWdodCAuZ2kgLngge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhZmZhYTsgfVxuXG4vKiBHZW5lcmljLkluc2VydGVkLlNwZWNpZmljICovXG4uaGlnaGxpZ2h0IC5nbyB7XG4gIGNvbG9yOiAjODg4ODg4OyB9XG5cbi8qIEdlbmVyaWMuT3V0cHV0ICovXG4uaGlnaGxpZ2h0IC5ncCB7XG4gIGNvbG9yOiAjNTU1NTU1OyB9XG5cbi8qIEdlbmVyaWMuUHJvbXB0ICovXG4uaGlnaGxpZ2h0IC5ncyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIEdlbmVyaWMuU3Ryb25nICovXG4uaGlnaGxpZ2h0IC5ndSB7XG4gIGNvbG9yOiAjYWFhYWFhOyB9XG5cbi8qIEdlbmVyaWMuU3ViaGVhZGluZyAqL1xuLmhpZ2hsaWdodCAuZ3Qge1xuICBjb2xvcjogI2FhMDAwMDsgfVxuXG4vKiBHZW5lcmljLlRyYWNlYmFjayAqL1xuLmhpZ2hsaWdodCAua2Mge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBLZXl3b3JkLkNvbnN0YW50ICovXG4uaGlnaGxpZ2h0IC5rZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIEtleXdvcmQuRGVjbGFyYXRpb24gKi9cbi5oaWdobGlnaHQgLmtwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogS2V5d29yZC5Qc2V1ZG8gKi9cbi5oaWdobGlnaHQgLmtyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogS2V5d29yZC5SZXNlcnZlZCAqL1xuLmhpZ2hsaWdodCAua3Qge1xuICBjb2xvcjogIzQ0NTU4ODtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogS2V5d29yZC5UeXBlICovXG4uaGlnaGxpZ2h0IC5tIHtcbiAgY29sb3I6ICMwMDk5OTk7IH1cblxuLyogTGl0ZXJhbC5OdW1iZXIgKi9cbi5oaWdobGlnaHQgLnMge1xuICBjb2xvcjogI2QxNDsgfVxuXG4vKiBMaXRlcmFsLlN0cmluZyAqL1xuLmhpZ2hsaWdodCAubmEge1xuICBjb2xvcjogIzAwODA4MDsgfVxuXG4vKiBOYW1lLkF0dHJpYnV0ZSAqL1xuLmhpZ2hsaWdodCAubmIge1xuICBjb2xvcjogIzAwODZCMzsgfVxuXG4vKiBOYW1lLkJ1aWx0aW4gKi9cbi5oaWdobGlnaHQgLm5jIHtcbiAgY29sb3I6ICM0NDU1ODg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIE5hbWUuQ2xhc3MgKi9cbi5oaWdobGlnaHQgLm5vIHtcbiAgY29sb3I6ICMwMDgwODA7IH1cblxuLyogTmFtZS5Db25zdGFudCAqL1xuLmhpZ2hsaWdodCAubmkge1xuICBjb2xvcjogIzgwMDA4MDsgfVxuXG4vKiBOYW1lLkVudGl0eSAqL1xuLmhpZ2hsaWdodCAubmUge1xuICBjb2xvcjogIzk5MDAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogTmFtZS5FeGNlcHRpb24gKi9cbi5oaWdobGlnaHQgLm5mIHtcbiAgY29sb3I6ICM5OTAwMDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIE5hbWUuRnVuY3Rpb24gKi9cbi5oaWdobGlnaHQgLm5uIHtcbiAgY29sb3I6ICM1NTU1NTU7IH1cblxuLyogTmFtZS5OYW1lc3BhY2UgKi9cbi5oaWdobGlnaHQgLm50IHtcbiAgY29sb3I6ICMwMDAwODA7IH1cblxuLyogTmFtZS5UYWcgKi9cbi5oaWdobGlnaHQgLm52IHtcbiAgY29sb3I6ICMwMDgwODA7IH1cblxuLyogTmFtZS5WYXJpYWJsZSAqL1xuLmhpZ2hsaWdodCAub3cge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBPcGVyYXRvci5Xb3JkICovXG4uaGlnaGxpZ2h0IC53IHtcbiAgY29sb3I6ICNiYmJiYmI7IH1cblxuLyogVGV4dC5XaGl0ZXNwYWNlICovXG4uaGlnaGxpZ2h0IC5tZiB7XG4gIGNvbG9yOiAjMDA5OTk5OyB9XG5cbi8qIExpdGVyYWwuTnVtYmVyLkZsb2F0ICovXG4uaGlnaGxpZ2h0IC5taCB7XG4gIGNvbG9yOiAjMDA5OTk5OyB9XG5cbi8qIExpdGVyYWwuTnVtYmVyLkhleCAqL1xuLmhpZ2hsaWdodCAubWkge1xuICBjb2xvcjogIzAwOTk5OTsgfVxuXG4vKiBMaXRlcmFsLk51bWJlci5JbnRlZ2VyICovXG4uaGlnaGxpZ2h0IC5tbyB7XG4gIGNvbG9yOiAjMDA5OTk5OyB9XG5cbi8qIExpdGVyYWwuTnVtYmVyLk9jdCAqL1xuLmhpZ2hsaWdodCAuc2Ige1xuICBjb2xvcjogI2QxNDsgfVxuXG4vKiBMaXRlcmFsLlN0cmluZy5CYWNrdGljayAqL1xuLmhpZ2hsaWdodCAuc2Mge1xuICBjb2xvcjogI2QxNDsgfVxuXG4vKiBMaXRlcmFsLlN0cmluZy5DaGFyICovXG4uaGlnaGxpZ2h0IC5zZCB7XG4gIGNvbG9yOiAjZDE0OyB9XG5cbi8qIExpdGVyYWwuU3RyaW5nLkRvYyAqL1xuLmhpZ2hsaWdodCAuczIge1xuICBjb2xvcjogI2QxNDsgfVxuXG4vKiBMaXRlcmFsLlN0cmluZy5Eb3VibGUgKi9cbi5oaWdobGlnaHQgLnNlIHtcbiAgY29sb3I6ICNkMTQ7IH1cblxuLyogTGl0ZXJhbC5TdHJpbmcuRXNjYXBlICovXG4uaGlnaGxpZ2h0IC5zaCB7XG4gIGNvbG9yOiAjZDE0OyB9XG5cbi8qIExpdGVyYWwuU3RyaW5nLkhlcmVkb2MgKi9cbi5oaWdobGlnaHQgLnNpIHtcbiAgY29sb3I6ICNkMTQ7IH1cblxuLyogTGl0ZXJhbC5TdHJpbmcuSW50ZXJwb2wgKi9cbi5oaWdobGlnaHQgLnN4IHtcbiAgY29sb3I6ICNkMTQ7IH1cblxuLyogTGl0ZXJhbC5TdHJpbmcuT3RoZXIgKi9cbi5oaWdobGlnaHQgLnNyIHtcbiAgY29sb3I6ICMwMDk5MjY7IH1cblxuLyogTGl0ZXJhbC5TdHJpbmcuUmVnZXggKi9cbi5oaWdobGlnaHQgLnMxIHtcbiAgY29sb3I6ICNkMTQ7IH1cblxuLyogTGl0ZXJhbC5TdHJpbmcuU2luZ2xlICovXG4uaGlnaGxpZ2h0IC5zcyB7XG4gIGNvbG9yOiAjOTkwMDczOyB9XG5cbi8qIExpdGVyYWwuU3RyaW5nLlN5bWJvbCAqL1xuLmhpZ2hsaWdodCAuYnAge1xuICBjb2xvcjogIzk5OTk5OTsgfVxuXG4vKiBOYW1lLkJ1aWx0aW4uUHNldWRvICovXG4uaGlnaGxpZ2h0IC52YyB7XG4gIGNvbG9yOiAjMDA4MDgwOyB9XG5cbi8qIE5hbWUuVmFyaWFibGUuQ2xhc3MgKi9cbi5oaWdobGlnaHQgLnZnIHtcbiAgY29sb3I6ICMwMDgwODA7IH1cblxuLyogTmFtZS5WYXJpYWJsZS5HbG9iYWwgKi9cbi5oaWdobGlnaHQgLnZpIHtcbiAgY29sb3I6ICMwMDgwODA7IH1cblxuLyogTmFtZS5WYXJpYWJsZS5JbnN0YW5jZSAqL1xuLmhpZ2hsaWdodCAuaWwge1xuICBjb2xvcjogIzAwOTk5OTsgfVxuXG4vKiBMaXRlcmFsLk51bWJlci5JbnRlZ2VyLkxvbmcgKi9cbiJdfQ== */ ================================================ FILE: content/css/site.css ================================================ @charset "UTF-8"; /*! * Bootstrap v3.0.0 * * Copyright 2013 Twitter, Inc * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * * Designed and built with all the love in the world by @mdo and @fat. */ /*! normalize.css v2.1.0 | MIT License | git.io/normalize */ article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } audio, canvas, video { display: inline-block; } audio:not([controls]) { display: none; height: 0; } [hidden] { display: none; } html { font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } body { margin: 0; } a:focus { outline: thin dotted; } a:active, a:hover { outline: 0; } h1 { font-size: 2em; margin: 0.67em 0; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } dfn { font-style: italic; } hr { box-sizing: content-box; height: 0; } mark { background: #ff0; color: #000; } code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } pre { white-space: pre-wrap; } q { quotes: "\201C" "\201D" "\2018" "\2019"; } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 0; } fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } legend { border: 0; padding: 0; } button, input, select, textarea { font-family: inherit; font-size: 100%; margin: 0; } button, input { line-height: normal; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; } input[type="search"] { -webkit-appearance: textfield; box-sizing: content-box; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } textarea { overflow: auto; vertical-align: top; } table { border-collapse: collapse; border-spacing: 0; } @media print { * { text-shadow: none !important; color: #000 !important; background: transparent !important; box-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } @page { margin: 2cm .5cm; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } .navbar { display: none; } .table td, .table th { background-color: #fff !important; } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table-bordered th, .table-bordered td { border: 1px solid #ddd !important; } } *, *:before, *:after { box-sizing: border-box; } html { font-size: 62.5%; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 15px; line-height: 1.42857; color: #333; background-color: #fff; } input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } button, input, select[multiple], textarea { background-image: none; } a { color: #4F8EF7; text-decoration: none; } a:hover, a:focus { color: #0b60ef; text-decoration: underline; } a:focus { outline: none; } img { vertical-align: middle; } .img-responsive { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail, .thumbnail { padding: 4px; line-height: 1.42857; background-color: #fff; border: 1px solid #ddd; border-radius: 2px; transition: all 0.2s ease-in-out; display: inline-block; max-width: 100%; height: auto; } .img-circle { border-radius: 50%; } hr { margin-top: 21px; margin-bottom: 21px; border: 0; border-top: 1px solid #eeeeee; } .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; } p { margin: 0 0 10.5px; } .lead { margin-bottom: 21px; font-size: 17.25px; font-weight: 200; line-height: 1.4; } @media (min-width: 768px) { .lead { font-size: 22.5px; } } small { font-size: 85%; } cite { font-style: normal; } .text-muted { color: #999999; } .text-primary { color: #4F8EF7; } .text-warning { color: #c09853; } .text-danger { color: #b94a48; } .text-success { color: #468847; } .text-info { color: #3a87ad; } .text-left { text-align: left; } .text-right { text-align: right; } .text-center { text-align: center; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; font-weight: 500; line-height: 1.1; } h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small { font-weight: normal; line-height: 1; color: #999999; } h1, h2, h3 { margin-top: 21px; margin-bottom: 10.5px; } h4, h5, h6 { margin-top: 10.5px; margin-bottom: 10.5px; } h1, .h1 { font-size: 32px; } h2, .h2 { font-size: 26px; } h3, .h3 { font-size: 22px; } h4, .h4 { font-size: 19px; } h5, .h5 { font-size: 17px; } h6, .h6 { font-size: 15px; } h1 small, .h1 small { font-size: 19px; } h2 small, .h2 small { font-size: 17px; } h3 small, .h3 small, h4 small, .h4 small { font-size: 15px; } .page-header { padding-bottom: 9.5px; margin: 42px 0 21px; border-bottom: 1px solid #eeeeee; } ul, ol { margin-top: 0; margin-bottom: 10.5px; } ul ul, ul ol, ol ul, ol ol { margin-bottom: 0; } .list-unstyled, .list-inline { padding-left: 0; list-style: none; } .list-inline > li { display: inline-block; padding-left: 5px; padding-right: 5px; } dl { margin-bottom: 21px; } dt, dd { line-height: 1.42857; } dt { font-weight: bold; } dd { margin-left: 0; } @media (min-width: 768px) { .dl-horizontal dt { float: left; width: 160px; clear: left; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .dl-horizontal dd { margin-left: 180px; } .dl-horizontal dd:before, .dl-horizontal dd:after { content: " "; /* 1 */ display: table; /* 2 */ } .dl-horizontal dd:after { clear: both; } } abbr[title], abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #999999; } abbr.initialism { font-size: 90%; text-transform: uppercase; } blockquote { padding: 10.5px 21px; margin: 0 0 21px; border-left: 5px solid #eeeeee; } blockquote p { font-size: 18.75px; font-weight: 300; line-height: 1.25; } blockquote p:last-child { margin-bottom: 0; } blockquote small { display: block; line-height: 1.42857; color: #999999; } blockquote small:before { content: '\2014 \00A0'; } blockquote.pull-right { padding-right: 15px; padding-left: 0; border-right: 5px solid #eeeeee; border-left: 0; } blockquote.pull-right p, blockquote.pull-right small { text-align: right; } blockquote.pull-right small:before { content: ''; } blockquote.pull-right small:after { content: '\00A0 \2014'; } q:before, q:after, blockquote:before, blockquote:after { content: ""; } address { display: block; margin-bottom: 21px; font-style: normal; line-height: 1.42857; } code, pre { font-family: Monaco, Menlo, Consolas, "Courier New", monospace; } code { margin-left: 3px; margin-right: 3px; padding: 2px 4px; font-size: 85%; color: #4D8CF4; background-color: whitesmoke; white-space: nowrap; border-radius: 2px; } pre { display: block; padding: 10px; margin: 0 0 10.5px; font-size: 14px; line-height: 1.42857; word-break: break-all; word-wrap: break-word; color: #333333; background-color: transparent; border: 1px solid #eee; border-radius: 2px; } pre.prettyprint { margin-bottom: 21px; } pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap; background-color: transparent; border: 0; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px; } .container:before, .container:after { content: " "; /* 1 */ display: table; /* 2 */ } .container:after { clear: both; } .row { margin-left: -15px; margin-right: -15px; } .row:before, .row:after { content: " "; /* 1 */ display: table; /* 2 */ } .row:after { clear: both; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .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-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-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 { position: relative; min-height: 1px; padding-left: 15px; padding-right: 15px; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11 { float: left; } .col-xs-1 { width: 8.33333%; } .col-xs-2 { width: 16.66667%; } .col-xs-3 { width: 25%; } .col-xs-4 { width: 33.33333%; } .col-xs-5 { width: 41.66667%; } .col-xs-6 { width: 50%; } .col-xs-7 { width: 58.33333%; } .col-xs-8 { width: 66.66667%; } .col-xs-9 { width: 75%; } .col-xs-10 { width: 83.33333%; } .col-xs-11 { width: 91.66667%; } .col-xs-12 { width: 100%; } @media (min-width: 768px) { .container { max-width: 750px; } .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 { float: left; } .col-sm-1 { width: 8.33333%; } .col-sm-2 { width: 16.66667%; } .col-sm-3 { width: 25%; } .col-sm-4 { width: 33.33333%; } .col-sm-5 { width: 41.66667%; } .col-sm-6 { width: 50%; } .col-sm-7 { width: 58.33333%; } .col-sm-8 { width: 66.66667%; } .col-sm-9 { width: 75%; } .col-sm-10 { width: 83.33333%; } .col-sm-11 { width: 91.66667%; } .col-sm-12 { width: 100%; } .col-sm-push-1 { left: 8.33333%; } .col-sm-push-2 { left: 16.66667%; } .col-sm-push-3 { left: 25%; } .col-sm-push-4 { left: 33.33333%; } .col-sm-push-5 { left: 41.66667%; } .col-sm-push-6 { left: 50%; } .col-sm-push-7 { left: 58.33333%; } .col-sm-push-8 { left: 66.66667%; } .col-sm-push-9 { left: 75%; } .col-sm-push-10 { left: 83.33333%; } .col-sm-push-11 { left: 91.66667%; } .col-sm-pull-1 { right: 8.33333%; } .col-sm-pull-2 { right: 16.66667%; } .col-sm-pull-3 { right: 25%; } .col-sm-pull-4 { right: 33.33333%; } .col-sm-pull-5 { right: 41.66667%; } .col-sm-pull-6 { right: 50%; } .col-sm-pull-7 { right: 58.33333%; } .col-sm-pull-8 { right: 66.66667%; } .col-sm-pull-9 { right: 75%; } .col-sm-pull-10 { right: 83.33333%; } .col-sm-pull-11 { right: 91.66667%; } .col-sm-offset-1 { margin-left: 8.33333%; } .col-sm-offset-2 { margin-left: 16.66667%; } .col-sm-offset-3 { margin-left: 25%; } .col-sm-offset-4 { margin-left: 33.33333%; } .col-sm-offset-5 { margin-left: 41.66667%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-7 { margin-left: 58.33333%; } .col-sm-offset-8 { margin-left: 66.66667%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-10 { margin-left: 83.33333%; } .col-sm-offset-11 { margin-left: 91.66667%; } } @media (min-width: 992px) { .container { max-width: 970px; } .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 { float: left; } .col-md-1 { width: 8.33333%; } .col-md-2 { width: 16.66667%; } .col-md-3 { width: 25%; } .col-md-4 { width: 33.33333%; } .col-md-5 { width: 41.66667%; } .col-md-6 { width: 50%; } .col-md-7 { width: 58.33333%; } .col-md-8 { width: 66.66667%; } .col-md-9 { width: 75%; } .col-md-10 { width: 83.33333%; } .col-md-11 { width: 91.66667%; } .col-md-12 { width: 100%; } .col-md-push-0 { left: auto; } .col-md-push-1 { left: 8.33333%; } .col-md-push-2 { left: 16.66667%; } .col-md-push-3 { left: 25%; } .col-md-push-4 { left: 33.33333%; } .col-md-push-5 { left: 41.66667%; } .col-md-push-6 { left: 50%; } .col-md-push-7 { left: 58.33333%; } .col-md-push-8 { left: 66.66667%; } .col-md-push-9 { left: 75%; } .col-md-push-10 { left: 83.33333%; } .col-md-push-11 { left: 91.66667%; } .col-md-pull-0 { right: auto; } .col-md-pull-1 { right: 8.33333%; } .col-md-pull-2 { right: 16.66667%; } .col-md-pull-3 { right: 25%; } .col-md-pull-4 { right: 33.33333%; } .col-md-pull-5 { right: 41.66667%; } .col-md-pull-6 { right: 50%; } .col-md-pull-7 { right: 58.33333%; } .col-md-pull-8 { right: 66.66667%; } .col-md-pull-9 { right: 75%; } .col-md-pull-10 { right: 83.33333%; } .col-md-pull-11 { right: 91.66667%; } .col-md-offset-0 { margin-left: 0; } .col-md-offset-1 { margin-left: 8.33333%; } .col-md-offset-2 { margin-left: 16.66667%; } .col-md-offset-3 { margin-left: 25%; } .col-md-offset-4 { margin-left: 33.33333%; } .col-md-offset-5 { margin-left: 41.66667%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-7 { margin-left: 58.33333%; } .col-md-offset-8 { margin-left: 66.66667%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-10 { margin-left: 83.33333%; } .col-md-offset-11 { margin-left: 91.66667%; } } @media (min-width: 1200px) { .container { max-width: 1170px; } .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 { float: left; } .col-lg-1 { width: 8.33333%; } .col-lg-2 { width: 16.66667%; } .col-lg-3 { width: 25%; } .col-lg-4 { width: 33.33333%; } .col-lg-5 { width: 41.66667%; } .col-lg-6 { width: 50%; } .col-lg-7 { width: 58.33333%; } .col-lg-8 { width: 66.66667%; } .col-lg-9 { width: 75%; } .col-lg-10 { width: 83.33333%; } .col-lg-11 { width: 91.66667%; } .col-lg-12 { width: 100%; } .col-lg-push-0 { left: auto; } .col-lg-push-1 { left: 8.33333%; } .col-lg-push-2 { left: 16.66667%; } .col-lg-push-3 { left: 25%; } .col-lg-push-4 { left: 33.33333%; } .col-lg-push-5 { left: 41.66667%; } .col-lg-push-6 { left: 50%; } .col-lg-push-7 { left: 58.33333%; } .col-lg-push-8 { left: 66.66667%; } .col-lg-push-9 { left: 75%; } .col-lg-push-10 { left: 83.33333%; } .col-lg-push-11 { left: 91.66667%; } .col-lg-pull-0 { right: auto; } .col-lg-pull-1 { right: 8.33333%; } .col-lg-pull-2 { right: 16.66667%; } .col-lg-pull-3 { right: 25%; } .col-lg-pull-4 { right: 33.33333%; } .col-lg-pull-5 { right: 41.66667%; } .col-lg-pull-6 { right: 50%; } .col-lg-pull-7 { right: 58.33333%; } .col-lg-pull-8 { right: 66.66667%; } .col-lg-pull-9 { right: 75%; } .col-lg-pull-10 { right: 83.33333%; } .col-lg-pull-11 { right: 91.66667%; } .col-lg-offset-0 { margin-left: 0; } .col-lg-offset-1 { margin-left: 8.33333%; } .col-lg-offset-2 { margin-left: 16.66667%; } .col-lg-offset-3 { margin-left: 25%; } .col-lg-offset-4 { margin-left: 33.33333%; } .col-lg-offset-5 { margin-left: 41.66667%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-7 { margin-left: 58.33333%; } .col-lg-offset-8 { margin-left: 66.66667%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-10 { margin-left: 83.33333%; } .col-lg-offset-11 { margin-left: 91.66667%; } } table { max-width: 100%; background-color: transparent; } th { text-align: left; } .table { width: 100%; margin-bottom: 21px; } .table thead > tr > th, .table thead > tr > td, .table tbody > tr > th, .table tbody > tr > td, .table tfoot > tr > th, .table tfoot > tr > td { padding: 8px; line-height: 1.42857; vertical-align: top; border-top: 1px solid #ddd; } .table thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #ddd; } .table caption + thead tr:first-child th, .table caption + thead tr:first-child td, .table colgroup + thead tr:first-child th, .table colgroup + thead tr:first-child td, .table thead:first-child tr:first-child th, .table thead:first-child tr:first-child td { border-top: 0; } .table tbody + tbody { border-top: 2px solid #ddd; } .table .table { background-color: #fff; } .table-condensed thead > tr > th, .table-condensed thead > tr > td, .table-condensed tbody > tr > th, .table-condensed tbody > tr > td, .table-condensed tfoot > tr > th, .table-condensed tfoot > tr > td { padding: 5px; } .table-bordered { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > th, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > th, .table-bordered > tfoot > tr > td { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-child(odd) > td, .table-striped > tbody > tr:nth-child(odd) > th { background-color: #f9f9f9; } .table-hover > tbody > tr:hover > td, .table-hover > tbody > tr:hover > th { background-color: #f5f5f5; } table col[class*="col-"] { float: none; display: table-column; } table td[class*="col-"], table th[class*="col-"] { float: none; display: table-cell; } .table > thead > tr > td.active, .table > thead > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr > td.active, .table > tbody > tr > th.active, .table > tbody > tr.active > td, .table > tbody > tr.active > th, .table > tfoot > tr > td.active, .table > tfoot > tr > th.active, .table > tfoot > tr.active > td, .table > tfoot > tr.active > th { background-color: #f5f5f5; } .table > thead > tr > td.success, .table > thead > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr > td.success, .table > tbody > tr > th.success, .table > tbody > tr.success > td, .table > tbody > tr.success > th, .table > tfoot > tr > td.success, .table > tfoot > tr > th.success, .table > tfoot > tr.success > td, .table > tfoot > tr.success > th { background-color: #dff0d8; border-color: #d6e9c6; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td { background-color: #d0e9c6; border-color: #c9e2b3; } .table > thead > tr > td.danger, .table > thead > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr > td.danger, .table > tbody > tr > th.danger, .table > tbody > tr.danger > td, .table > tbody > tr.danger > th, .table > tfoot > tr > td.danger, .table > tfoot > tr > th.danger, .table > tfoot > tr.danger > td, .table > tfoot > tr.danger > th { background-color: #f2dede; border-color: #eed3d7; } .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td { background-color: #ebcccc; border-color: #e6c1c7; } .table > thead > tr > td.warning, .table > thead > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr > td.warning, .table > tbody > tr > th.warning, .table > tbody > tr.warning > td, .table > tbody > tr.warning > th, .table > tfoot > tr > td.warning, .table > tfoot > tr > th.warning, .table > tfoot > tr.warning > td, .table > tfoot > tr.warning > th { background-color: #fcf8e3; border-color: #fbeed5; } .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td { background-color: #faf2cc; border-color: #f8e5be; } @media (max-width: 768px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-y: hidden; overflow-x: scroll; border: 1px solid #ddd; } .table-responsive > .table { margin-bottom: 0; background-color: #fff; } .table-responsive > .table > thead > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } .table-responsive > .table-bordered { border: 0; } .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .table-responsive > .table-bordered > thead > tr:last-child > th, .table-responsive > .table-bordered > thead > tr:last-child > td, .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0; } } fieldset { padding: 0; margin: 0; border: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 21px; font-size: 22.5px; line-height: inherit; color: #333333; border: 0; border-bottom: 1px solid #e5e5e5; } label { display: inline-block; margin-bottom: 5px; font-weight: bold; } input[type="search"] { box-sizing: border-box; } input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; /* IE8-9 */ line-height: normal; } input[type="file"] { display: block; } select[multiple], select[size] { height: auto; } select optgroup { font-size: inherit; font-style: inherit; font-family: inherit; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: none; } input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button { height: auto; } .form-control:-moz-placeholder { color: #999999; } .form-control::-moz-placeholder { color: #999999; } .form-control:-ms-input-placeholder { color: #999999; } .form-control::-webkit-input-placeholder { color: #999999; } .form-control { display: block; width: 100%; height: 35px; padding: 6px 12px; font-size: 15px; line-height: 1.42857; color: #555555; vertical-align: middle; background-color: #fff; border: 1px solid #ccc; border-radius: 2px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } .form-control:focus { border-color: #66afe9; outline: 0; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { cursor: not-allowed; background-color: #eeeeee; } textarea.form-control { height: auto; } .form-group { margin-bottom: 15px; } .radio, .checkbox { display: block; min-height: 21px; margin-top: 10px; margin-bottom: 10px; padding-left: 20px; vertical-align: middle; } .radio label, .checkbox label { display: inline; margin-bottom: 0; font-weight: normal; cursor: pointer; } .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { float: left; margin-left: -20px; } .radio + .radio, .checkbox + .checkbox { margin-top: -5px; } .radio-inline, .checkbox-inline { display: inline-block; padding-left: 20px; margin-bottom: 0; vertical-align: middle; font-weight: normal; cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: 10px; } input[type="radio"][disabled], fieldset[disabled] input[type="radio"], input[type="checkbox"][disabled], fieldset[disabled] input[type="checkbox"], .radio[disabled], fieldset[disabled] .radio, .radio-inline[disabled], fieldset[disabled] .radio-inline, .checkbox[disabled], fieldset[disabled] .checkbox, .checkbox-inline[disabled], fieldset[disabled] .checkbox-inline { cursor: not-allowed; } .input-sm, .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { height: 31px; padding: 5px 10px; font-size: 13px; line-height: 1.5; border-radius: 3px; } select.input-sm, .input-group-sm > select.form-control, .input-group-sm > select.input-group-addon, .input-group-sm > .input-group-btn > select.btn { height: 31px; line-height: 31px; } textarea.input-sm, .input-group-sm > textarea.form-control, .input-group-sm > textarea.input-group-addon, .input-group-sm > .input-group-btn > textarea.btn { height: auto; } .input-lg, .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { height: 47px; padding: 10px 16px; font-size: 19px; line-height: 1.33; border-radius: 6px; } select.input-lg, .input-group-lg > select.form-control, .input-group-lg > select.input-group-addon, .input-group-lg > .input-group-btn > select.btn { height: 47px; line-height: 47px; } textarea.input-lg, .input-group-lg > textarea.form-control, .input-group-lg > textarea.input-group-addon, .input-group-lg > .input-group-btn > textarea.btn { height: auto; } .has-warning .help-block, .has-warning .control-label { color: #c09853; } .has-warning .form-control { border-color: #c09853; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-warning .form-control:focus { border-color: #a47e3c; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; } .has-warning .input-group-addon { color: #c09853; border-color: #c09853; background-color: #fcf8e3; } .has-error .help-block, .has-error .control-label { color: #b94a48; } .has-error .form-control { border-color: #b94a48; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-error .form-control:focus { border-color: #953b39; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; } .has-error .input-group-addon { color: #b94a48; border-color: #b94a48; background-color: #f2dede; } .has-success .help-block, .has-success .control-label { color: #468847; } .has-success .form-control { border-color: #468847; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-success .form-control:focus { border-color: #356635; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; } .has-success .input-group-addon { color: #468847; border-color: #468847; background-color: #dff0d8; } .form-control-static { margin-bottom: 0; padding-top: 7px; } .help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #737373; } @media (min-width: 768px) { .form-inline .form-group, .navbar-form .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .form-inline .form-control, .navbar-form .form-control { display: inline-block; } .form-inline .radio, .navbar-form .radio, .form-inline .checkbox, .navbar-form .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; padding-left: 0; } .form-inline .radio input[type="radio"], .navbar-form .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"], .navbar-form .checkbox input[type="checkbox"] { float: none; margin-left: 0; } } .form-horizontal .control-label, .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { margin-top: 0; margin-bottom: 0; padding-top: 7px; } .form-horizontal .form-group { margin-left: -15px; margin-right: -15px; } .form-horizontal .form-group:before, .form-horizontal .form-group:after { content: " "; /* 1 */ display: table; /* 2 */ } .form-horizontal .form-group:after { clear: both; } @media (min-width: 768px) { .form-horizontal .control-label { text-align: right; } } .btn { display: inline-block; padding: 6px 12px; margin-bottom: 0; font-family: "AvenirNextLTPro-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: normal; font-size: 15px; line-height: 1.42857; text-align: center; vertical-align: middle; cursor: pointer; border: 1px solid transparent; border-radius: 2px; white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; } .btn:focus { outline: none; } .btn:hover, .btn:focus { color: #333; text-decoration: none; } .btn:active, .btn.active { outline: 0; background-image: none; box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; pointer-events: none; opacity: 0.65; filter: alpha(opacity=65); box-shadow: none; } .btn-default { color: #333; background-color: #fff; transition: background-color .1s ease-in-out; } .btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active { color: #333; background-color: #ebebeb; } .open .btn-default.dropdown-toggle { color: #333; background-color: #ebebeb; border-color: #adadad; } .btn-default:active, .btn-default.active { background-image: none; } .open .btn-default.dropdown-toggle { background-image: none; } .btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { background-color: #fff; border-color: #ccc; } .btn-primary { color: #fff; background-color: #4F8EF7; transition: background-color .1s ease-in-out; } .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active { color: #fff; background-color: #2875f5; } .open .btn-primary.dropdown-toggle { color: #fff; background-color: #2875f5; border-color: #1468f4; } .btn-primary:active, .btn-primary.active { background-image: none; } .open .btn-primary.dropdown-toggle { background-image: none; } .btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active { background-color: #4F8EF7; border-color: #4F8EF7; } .btn-warning { color: #fff; background-color: #f0ad4e; transition: background-color .1s ease-in-out; } .btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active { color: #fff; background-color: #ed9c28; } .open .btn-warning.dropdown-toggle { color: #fff; background-color: #ed9c28; border-color: #d58512; } .btn-warning:active, .btn-warning.active { background-image: none; } .open .btn-warning.dropdown-toggle { background-image: none; } .btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled]:active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active { background-color: #f0ad4e; border-color: #eea236; } .btn-danger { color: #fff; background-color: #d9534f; transition: background-color .1s ease-in-out; } .btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active { color: #fff; background-color: #d2322d; } .open .btn-danger.dropdown-toggle { color: #fff; background-color: #d2322d; border-color: #ac2925; } .btn-danger:active, .btn-danger.active { background-image: none; } .open .btn-danger.dropdown-toggle { background-image: none; } .btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled]:active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active { background-color: #d9534f; border-color: #d43f3a; } .btn-success { color: #fff; background-color: #5cb85c; transition: background-color .1s ease-in-out; } .btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active { color: #fff; background-color: #47a447; } .open .btn-success.dropdown-toggle { color: #fff; background-color: #47a447; border-color: #398439; } .btn-success:active, .btn-success.active { background-image: none; } .open .btn-success.dropdown-toggle { background-image: none; } .btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active { background-color: #5cb85c; border-color: #4cae4c; } .btn-info { color: #fff; background-color: #5bc0de; transition: background-color .1s ease-in-out; } .btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active { color: #fff; background-color: #39b3d7; } .open .btn-info.dropdown-toggle { color: #fff; background-color: #39b3d7; border-color: #269abc; } .btn-info:active, .btn-info.active { background-image: none; } .open .btn-info.dropdown-toggle { background-image: none; } .btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled]:active, .btn-info[disabled].active, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active { background-color: #5bc0de; border-color: #46b8da; } .btn-link { color: #4F8EF7; font-weight: normal; cursor: pointer; border-radius: 0; } .btn-link, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; box-shadow: none; } .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } .btn-link:hover, .btn-link:focus { color: #0b60ef; text-decoration: underline; background-color: transparent; } .btn-link[disabled]:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:hover, fieldset[disabled] .btn-link:focus { color: #999999; text-decoration: none; } .btn-lg, .btn-group-lg > .btn { padding: 10px 16px; font-size: 19px; line-height: 1.33; border-radius: 6px; } .btn-sm, .btn-group-sm > .btn, .btn-xs, .btn-group-xs > .btn { padding: 5px 10px; font-size: 13px; line-height: 1.5; border-radius: 3px; } .btn-xs, .btn-group-xs > .btn { padding: 1px 5px; } .btn-block { display: block; width: 100%; padding-left: 0; padding-right: 0; } .btn-block + .btn-block { margin-top: 5px; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { opacity: 0; transition: opacity 0.15s linear; } .fade.in { opacity: 1; } .collapse { display: none; } .collapse.in { display: block; } .collapsing { position: relative; height: 0; overflow: hidden; transition: height 0.35s ease; } @font-face { font-family: 'Glyphicons Halflings'; src: url("../fonts/glyphicons-halflings-regular.eot"); src: url("../fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular") format("svg"); } .glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; } .glyphicon-asterisk:before { content: "\2a"; } .glyphicon-plus:before { content: "\2b"; } .glyphicon-euro:before { content: "\20ac"; } .glyphicon-minus:before { content: "\2212"; } .glyphicon-cloud:before { content: "\2601"; } .glyphicon-envelope:before { content: "\2709"; } .glyphicon-pencil:before { content: "\270f"; } .glyphicon-glass:before { content: "\e001"; } .glyphicon-music:before { content: "\e002"; } .glyphicon-search:before { content: "\e003"; } .glyphicon-heart:before { content: "\e005"; } .glyphicon-star:before { content: "\e006"; } .glyphicon-star-empty:before { content: "\e007"; } .glyphicon-user:before { content: "\e008"; } .glyphicon-film:before { content: "\e009"; } .glyphicon-th-large:before { content: "\e010"; } .glyphicon-th:before { content: "\e011"; } .glyphicon-th-list:before { content: "\e012"; } .glyphicon-ok:before { content: "\e013"; } .glyphicon-remove:before { content: "\e014"; } .glyphicon-zoom-in:before { content: "\e015"; } .glyphicon-zoom-out:before { content: "\e016"; } .glyphicon-off:before { content: "\e017"; } .glyphicon-signal:before { content: "\e018"; } .glyphicon-cog:before { content: "\e019"; } .glyphicon-trash:before { content: "\e020"; } .glyphicon-home:before { content: "\e021"; } .glyphicon-file:before { content: "\e022"; } .glyphicon-time:before { content: "\e023"; } .glyphicon-road:before { content: "\e024"; } .glyphicon-download-alt:before { content: "\e025"; } .glyphicon-download:before { content: "\e026"; } .glyphicon-upload:before { content: "\e027"; } .glyphicon-inbox:before { content: "\e028"; } .glyphicon-play-circle:before { content: "\e029"; } .glyphicon-repeat:before { content: "\e030"; } .glyphicon-refresh:before { content: "\e031"; } .glyphicon-list-alt:before { content: "\e032"; } .glyphicon-flag:before { content: "\e034"; } .glyphicon-headphones:before { content: "\e035"; } .glyphicon-volume-off:before { content: "\e036"; } .glyphicon-volume-down:before { content: "\e037"; } .glyphicon-volume-up:before { content: "\e038"; } .glyphicon-qrcode:before { content: "\e039"; } .glyphicon-barcode:before { content: "\e040"; } .glyphicon-tag:before { content: "\e041"; } .glyphicon-tags:before { content: "\e042"; } .glyphicon-book:before { content: "\e043"; } .glyphicon-print:before { content: "\e045"; } .glyphicon-font:before { content: "\e047"; } .glyphicon-bold:before { content: "\e048"; } .glyphicon-italic:before { content: "\e049"; } .glyphicon-text-height:before { content: "\e050"; } .glyphicon-text-width:before { content: "\e051"; } .glyphicon-align-left:before { content: "\e052"; } .glyphicon-align-center:before { content: "\e053"; } .glyphicon-align-right:before { content: "\e054"; } .glyphicon-align-justify:before { content: "\e055"; } .glyphicon-list:before { content: "\e056"; } .glyphicon-indent-left:before { content: "\e057"; } .glyphicon-indent-right:before { content: "\e058"; } .glyphicon-facetime-video:before { content: "\e059"; } .glyphicon-picture:before { content: "\e060"; } .glyphicon-map-marker:before { content: "\e062"; } .glyphicon-adjust:before { content: "\e063"; } .glyphicon-tint:before { content: "\e064"; } .glyphicon-edit:before { content: "\e065"; } .glyphicon-share:before { content: "\e066"; } .glyphicon-check:before { content: "\e067"; } .glyphicon-move:before { content: "\e068"; } .glyphicon-step-backward:before { content: "\e069"; } .glyphicon-fast-backward:before { content: "\e070"; } .glyphicon-backward:before { content: "\e071"; } .glyphicon-play:before { content: "\e072"; } .glyphicon-pause:before { content: "\e073"; } .glyphicon-stop:before { content: "\e074"; } .glyphicon-forward:before { content: "\e075"; } .glyphicon-fast-forward:before { content: "\e076"; } .glyphicon-step-forward:before { content: "\e077"; } .glyphicon-eject:before { content: "\e078"; } .glyphicon-chevron-left:before { content: "\e079"; } .glyphicon-chevron-right:before { content: "\e080"; } .glyphicon-plus-sign:before { content: "\e081"; } .glyphicon-minus-sign:before { content: "\e082"; } .glyphicon-remove-sign:before { content: "\e083"; } .glyphicon-ok-sign:before { content: "\e084"; } .glyphicon-question-sign:before { content: "\e085"; } .glyphicon-info-sign:before { content: "\e086"; } .glyphicon-screenshot:before { content: "\e087"; } .glyphicon-remove-circle:before { content: "\e088"; } .glyphicon-ok-circle:before { content: "\e089"; } .glyphicon-ban-circle:before { content: "\e090"; } .glyphicon-arrow-left:before { content: "\e091"; } .glyphicon-arrow-right:before { content: "\e092"; } .glyphicon-arrow-up:before { content: "\e093"; } .glyphicon-arrow-down:before { content: "\e094"; } .glyphicon-share-alt:before { content: "\e095"; } .glyphicon-resize-full:before { content: "\e096"; } .glyphicon-resize-small:before { content: "\e097"; } .glyphicon-exclamation-sign:before { content: "\e101"; } .glyphicon-gift:before { content: "\e102"; } .glyphicon-leaf:before { content: "\e103"; } .glyphicon-eye-open:before { content: "\e105"; } .glyphicon-eye-close:before { content: "\e106"; } .glyphicon-warning-sign:before { content: "\e107"; } .glyphicon-plane:before { content: "\e108"; } .glyphicon-random:before { content: "\e110"; } .glyphicon-comment:before { content: "\e111"; } .glyphicon-magnet:before { content: "\e112"; } .glyphicon-chevron-up:before { content: "\e113"; } .glyphicon-chevron-down:before { content: "\e114"; } .glyphicon-retweet:before { content: "\e115"; } .glyphicon-shopping-cart:before { content: "\e116"; } .glyphicon-folder-close:before { content: "\e117"; } .glyphicon-folder-open:before { content: "\e118"; } .glyphicon-resize-vertical:before { content: "\e119"; } .glyphicon-resize-horizontal:before { content: "\e120"; } .glyphicon-hdd:before { content: "\e121"; } .glyphicon-bullhorn:before { content: "\e122"; } .glyphicon-certificate:before { content: "\e124"; } .glyphicon-thumbs-up:before { content: "\e125"; } .glyphicon-thumbs-down:before { content: "\e126"; } .glyphicon-hand-right:before { content: "\e127"; } .glyphicon-hand-left:before { content: "\e128"; } .glyphicon-hand-up:before { content: "\e129"; } .glyphicon-hand-down:before { content: "\e130"; } .glyphicon-circle-arrow-right:before { content: "\e131"; } .glyphicon-circle-arrow-left:before { content: "\e132"; } .glyphicon-circle-arrow-up:before { content: "\e133"; } .glyphicon-circle-arrow-down:before { content: "\e134"; } .glyphicon-globe:before { content: "\e135"; } .glyphicon-tasks:before { content: "\e137"; } .glyphicon-filter:before { content: "\e138"; } .glyphicon-fullscreen:before { content: "\e140"; } .glyphicon-dashboard:before { content: "\e141"; } .glyphicon-heart-empty:before { content: "\e143"; } .glyphicon-link:before { content: "\e144"; } .glyphicon-phone:before { content: "\e145"; } .glyphicon-usd:before { content: "\e148"; } .glyphicon-gbp:before { content: "\e149"; } .glyphicon-sort:before { content: "\e150"; } .glyphicon-sort-by-alphabet:before { content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { content: "\e152"; } .glyphicon-sort-by-order:before { content: "\e153"; } .glyphicon-sort-by-order-alt:before { content: "\e154"; } .glyphicon-sort-by-attributes:before { content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { content: "\e156"; } .glyphicon-unchecked:before { content: "\e157"; } .glyphicon-expand:before { content: "\e158"; } .glyphicon-collapse-down:before { content: "\e159"; } .glyphicon-collapse-up:before { content: "\e160"; } .glyphicon-log-in:before { content: "\e161"; } .glyphicon-flash:before { content: "\e162"; } .glyphicon-log-out:before { content: "\e163"; } .glyphicon-new-window:before { content: "\e164"; } .glyphicon-record:before { content: "\e165"; } .glyphicon-save:before { content: "\e166"; } .glyphicon-open:before { content: "\e167"; } .glyphicon-saved:before { content: "\e168"; } .glyphicon-import:before { content: "\e169"; } .glyphicon-export:before { content: "\e170"; } .glyphicon-send:before { content: "\e171"; } .glyphicon-floppy-disk:before { content: "\e172"; } .glyphicon-floppy-saved:before { content: "\e173"; } .glyphicon-floppy-remove:before { content: "\e174"; } .glyphicon-floppy-save:before { content: "\e175"; } .glyphicon-floppy-open:before { content: "\e176"; } .glyphicon-credit-card:before { content: "\e177"; } .glyphicon-transfer:before { content: "\e178"; } .glyphicon-cutlery:before { content: "\e179"; } .glyphicon-header:before { content: "\e180"; } .glyphicon-compressed:before { content: "\e181"; } .glyphicon-earphone:before { content: "\e182"; } .glyphicon-phone-alt:before { content: "\e183"; } .glyphicon-tower:before { content: "\e184"; } .glyphicon-stats:before { content: "\e185"; } .glyphicon-sd-video:before { content: "\e186"; } .glyphicon-hd-video:before { content: "\e187"; } .glyphicon-subtitles:before { content: "\e188"; } .glyphicon-sound-stereo:before { content: "\e189"; } .glyphicon-sound-dolby:before { content: "\e190"; } .glyphicon-sound-5-1:before { content: "\e191"; } .glyphicon-sound-6-1:before { content: "\e192"; } .glyphicon-sound-7-1:before { content: "\e193"; } .glyphicon-copyright-mark:before { content: "\e194"; } .glyphicon-registration-mark:before { content: "\e195"; } .glyphicon-cloud-download:before { content: "\e197"; } .glyphicon-cloud-upload:before { content: "\e198"; } .glyphicon-tree-conifer:before { content: "\e199"; } .glyphicon-tree-deciduous:before { content: "\e200"; } .glyphicon-briefcase:before { content: "\1f4bc"; } .glyphicon-calendar:before { content: "\1f4c5"; } .glyphicon-pushpin:before { content: "\1f4cc"; } .glyphicon-paperclip:before { content: "\1f4ce"; } .glyphicon-camera:before { content: "\1f4f7"; } .glyphicon-lock:before { content: "\1f512"; } .glyphicon-bell:before { content: "\1f514"; } .glyphicon-bookmark:before { content: "\1f516"; } .glyphicon-fire:before { content: "\1f525"; } .glyphicon-wrench:before { content: "\1f527"; } .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px solid #000; border-right: 4px solid transparent; border-left: 4px solid transparent; border-bottom: 0 dotted; content: ""; } .dropdown { position: relative; } .dropdown-toggle:focus { outline: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; list-style: none; font-size: 15px; background-color: #fff; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 2px; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); background-clip: padding-box; } .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown-menu .divider { height: 1px; margin: 9.5px 0; overflow: hidden; background-color: #e5e5e5; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.42857; color: #333333; white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { text-decoration: none; color: #fff; background-color: #4F8EF7; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { color: #fff; text-decoration: none; outline: 0; background-color: #4F8EF7; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: #999999; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); cursor: not-allowed; } .open > .dropdown-menu { display: block; } .open > a { outline: 0; } .dropdown-header { display: block; padding: 3px 20px; font-size: 13px; line-height: 1.42857; color: #999999; } .dropdown-backdrop { position: fixed; left: 0; right: 0; bottom: 0; top: 0; z-index: 990; } .pull-right > .dropdown-menu { right: 0; left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { border-top: 0 dotted; border-bottom: 4px solid #000; content: ""; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 1px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { right: 0; left: auto; } } .btn-default .caret { border-top-color: #333; } .btn-primary .caret, .btn-success .caret, .btn-warning .caret, .btn-danger .caret, .btn-info .caret { border-top-color: #fff; } .dropup .btn-default .caret { border-bottom-color: #333; } .dropup .btn-primary .caret, .dropup .btn-success .caret, .dropup .btn-warning .caret, .dropup .btn-danger .caret, .dropup .btn-info .caret { border-bottom-color: #fff; } .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn:hover, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group > .btn:focus, .btn-group-vertical > .btn:focus { outline: none; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; } .btn-toolbar:before, .btn-toolbar:after { content: " "; /* 1 */ display: table; /* 2 */ } .btn-toolbar:after { clear: both; } .btn-toolbar .btn-group { float: left; } .btn-toolbar > .btn + .btn, .btn-toolbar > .btn + .btn-group, .btn-toolbar > .btn-group + .btn, .btn-toolbar > .btn-group + .btn-group { margin-left: 5px; } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-bottom-right-radius: 0; border-top-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child > .btn:last-child, .btn-group > .btn-group:first-child > .dropdown-toggle { border-bottom-right-radius: 0; border-top-right-radius: 0; } .btn-group > .btn-group:last-child > .btn:first-child { border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; } .btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle { padding-left: 12px; padding-right: 12px; } .btn-group.open .dropdown-toggle { box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn .caret { margin-left: 0; } .btn-lg .caret, .btn-group-lg > .btn .caret { border-width: 5px 5px 0; border-bottom-width: 0; } .dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret { border-width: 0 5px 5px; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { content: " "; /* 1 */ display: table; /* 2 */ } .btn-group-vertical > .btn-group:after { clear: both; } .btn-group-vertical > .btn-group > .btn { float: none; } .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(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 2px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-bottom-left-radius: 2px; border-top-right-radius: 0; border-top-left-radius: 0; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child > .btn:last-child, .btn-group-vertical > .btn-group:first-child > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child > .btn:first-child { border-top-right-radius: 0; border-top-left-radius: 0; } .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified .btn { float: none; display: table-cell; width: 1%; } [data-toggle="buttons"] > .btn > input[type="radio"], [data-toggle="buttons"] > .btn > input[type="checkbox"] { display: none; } .input-group { position: relative; display: table; border-collapse: separate; } .input-group.col { float: none; padding-left: 0; padding-right: 0; } .input-group .form-control { width: 100%; margin-bottom: 0; } .input-group-addon, .input-group-btn, .input-group .form-control { display: table-cell; } .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; } .input-group-addon, .input-group-btn { width: 1%; white-space: nowrap; vertical-align: middle; } .input-group-addon { padding: 6px 12px; font-size: 15px; font-weight: normal; line-height: 1; text-align: center; background-color: #eeeeee; border: 1px solid #ccc; border-radius: 2px; } .input-group-addon.input-sm, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .input-group-addon.btn { padding: 5px 10px; font-size: 13px; border-radius: 3px; } .input-group-addon.input-lg, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .input-group-addon.btn { padding: 10px 16px; font-size: 19px; border-radius: 6px; } .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { margin-top: 0; } .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { border-bottom-right-radius: 0; border-top-right-radius: 0; } .input-group-addon:first-child { border-right: 0; } .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child) { border-bottom-left-radius: 0; border-top-left-radius: 0; } .input-group-addon:last-child { border-left: 0; } .input-group-btn { position: relative; white-space: nowrap; } .input-group-btn > .btn { position: relative; } .input-group-btn > .btn + .btn { margin-left: -4px; } .input-group-btn > .btn:hover, .input-group-btn > .btn:active { z-index: 2; } .nav { margin-bottom: 0; padding-left: 0; list-style: none; } .nav:before, .nav:after { content: " "; /* 1 */ display: table; /* 2 */ } .nav:after { clear: both; } .nav > li { position: relative; display: block; } .nav > li > a { position: relative; display: block; padding: 10px 15px; } .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; background-color: #eeeeee; } .nav > li.disabled > a { color: #999999; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { color: #999999; text-decoration: none; background-color: transparent; cursor: not-allowed; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { background-color: #eeeeee; border-color: #4F8EF7; } .nav .nav-divider { height: 1px; margin: 9.5px 0; overflow: hidden; background-color: #e5e5e5; } .nav > li > a > img { max-width: none; } .nav-tabs { border-bottom: 1px solid #ddd; } .nav-tabs > li { float: left; margin-bottom: -1px; } .nav-tabs > li > a { margin-right: 2px; line-height: 1.42857; border: 1px solid transparent; border-radius: 2px 2px 0 0; } .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #ddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: #555555; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent; cursor: default; } .nav-pills > li { float: left; } .nav-pills > li > a { border-radius: 5px; } .nav-pills > li + li { margin-left: 2px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #fff; background-color: #4F8EF7; } .nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; } .nav-justified, .nav-tabs.nav-justified { width: 100%; } .nav-justified > li, .nav-tabs.nav-justified > li { float: none; } .nav-justified > li > a, .nav-tabs.nav-justified > li > a { text-align: center; } @media (min-width: 768px) { .nav-justified > li, .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } } .nav-tabs-justified, .nav-tabs.nav-justified { border-bottom: 0; } .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #ddd; margin-right: 0; } .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a { border-bottom-color: #fff; } .tabbable:before, .tabbable:after { content: " "; /* 1 */ display: table; /* 2 */ } .tabbable:after { clear: both; } .tab-content > .tab-pane, .pill-content > .pill-pane { display: none; } .tab-content > .active, .pill-content > .active { display: block; } .nav .caret { border-top-color: #4F8EF7; border-bottom-color: #4F8EF7; } .nav a:hover .caret { border-top-color: #0b60ef; border-bottom-color: #0b60ef; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-right-radius: 0; border-top-left-radius: 0; } .navbar { position: relative; z-index: 1000; min-height: 73px; margin-bottom: 0; border: 0; } .navbar:before, .navbar:after { content: " "; /* 1 */ display: table; /* 2 */ } .navbar:after { clear: both; } .navbar-header:before, .navbar-header:after { content: " "; /* 1 */ display: table; /* 2 */ } .navbar-header:after { clear: both; } @media (min-width: 768px) { .navbar-header { float: left; } } .navbar-collapse { background-color: #f7f7f7; max-height: 340px; overflow-x: visible; padding-right: 15px; padding-left: 15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); -webkit-overflow-scrolling: touch; } .navbar-collapse:before, .navbar-collapse:after { content: " "; /* 1 */ display: table; /* 2 */ } .navbar-collapse:after { clear: both; } .navbar-collapse.in { overflow-y: auto; } @media (min-width: 768px) { .navbar-collapse { width: auto; border-top: 0; border-bottom: 0; background-color: transparent; box-shadow: none; } .navbar-collapse.collapse { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; } .navbar-collapse.in { overflow-y: visible; } .navbar-collapse .navbar-nav.navbar-left:first-child { margin-left: -15px; } .navbar-collapse .navbar-nav.navbar-right:last-child { margin-right: -15px; } .navbar-collapse .navbar-text:last-child { margin-right: 0; } } .container > .navbar-header, .container > .navbar-collapse { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .container > .navbar-header, .container > .navbar-collapse { margin-right: 0; margin-left: 0; } } .navbar-static-top { border-width: 0; } @media (min-width: 768px) { .navbar-static-top { border-radius: 0; } } .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; border-width: 0; } @media (min-width: 768px) { .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } } .navbar-fixed-top { z-index: 1030; top: 0; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; } .navbar-brand { float: left; padding: 15px 0 0 10px; opacity: 0.7; } .navbar-brand:hover, .navbar-brand:focus { opacity: 1; text-decoration: none; } @media (min-width: 768px) { .navbar > .container .navbar-brand { margin-left: -15px; } } .navbar-toggle { position: relative; float: right; margin-right: 15px; padding: 9px 10px; margin-top: 19.5px; margin-bottom: 19.5px; background-color: transparent; border: 1px solid transparent; } .navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; } .navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; } @media (min-width: 768px) { .navbar-toggle { display: none; } } .navbar-nav { margin: 13px -15px; font-size: 14px; } .navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 21px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } .navbar-nav .open .dropdown-menu > li > a { line-height: 21px; } .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } } @media (min-width: 768px) { .navbar-nav { float: left; margin: 0; } .navbar-nav > li { float: left; } .navbar-nav > li > a { padding-top: 26px; padding-bottom: 26px; } } @media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; } } .navbar-form { margin-left: -15px; margin-right: -15px; padding: 10px 15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); margin-top: 19px; margin-bottom: 19px; } @media (max-width: 767px) { .navbar-form .form-group { margin-bottom: 5px; } } @media (min-width: 768px) { .navbar-form { width: auto; border: 0; margin-left: 0; margin-right: 0; padding-top: 0; padding-bottom: 0; box-shadow: none; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-right-radius: 0; border-top-left-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .navbar-nav.pull-right > li > .dropdown-menu, .navbar-nav > li > .dropdown-menu.pull-right { left: auto; right: 0; } .navbar-btn { margin-top: 19px; margin-bottom: 19px; } .navbar-text { float: left; margin-top: 26px; margin-bottom: 26px; } @media (min-width: 768px) { .navbar-text { margin-left: 15px; margin-right: 15px; } } .navbar-default { /*background-color: $navbar-default-bg; border-color: $navbar-default-border;*/ font-family: "AvenirNextLTPro-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: normal; -webkit-font-smoothing: antialiased; } .navbar-default .navbar-brand { color: #4F8EF7; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #1e6ff5; background-color: transparent; } .navbar-default .navbar-text { color: #777; } .navbar-default .navbar-nav > li > a { color: #4F8EF7; padding-left: 0 !important; padding-right: 0 !important; margin: 0 30px; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #4F8EF7; background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #4F8EF7; background-color: #e7e7e7; } .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { color: #ccc; background-color: transparent; } .navbar-default .navbar-toggle { border-color: #ddd; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #ddd; } .navbar-default .navbar-toggle .icon-bar { background-color: #ccc; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { border-color: #e6e6e6; } .navbar-default .navbar-nav > .dropdown > a:hover .caret, .navbar-default .navbar-nav > .dropdown > a:focus .caret { border-top-color: #4F8EF7; border-bottom-color: #4F8EF7; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { background-color: #e7e7e7; color: #4F8EF7; } .navbar-default .navbar-nav > .open > a .caret, .navbar-default .navbar-nav > .open > a:hover .caret, .navbar-default .navbar-nav > .open > a:focus .caret { border-top-color: #4F8EF7; border-bottom-color: #4F8EF7; } .navbar-default .navbar-nav > .dropdown > a .caret { border-top-color: #4F8EF7; border-bottom-color: #4F8EF7; } @media (max-width: 767px) { .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: #4F8EF7; } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #4F8EF7; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #4F8EF7; background-color: #e7e7e7; } .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #ccc; background-color: transparent; } } .navbar-default .navbar-link { color: #4F8EF7; } .navbar-default .navbar-link:hover { color: #4F8EF7; } .navbar-inverse { background-color: #222; border-color: #090909; } .navbar-inverse .navbar-brand { color: #999999; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-text { color: #999999; } .navbar-inverse .navbar-nav > li > a { color: #999999; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { color: #fff; background-color: #090909; } .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { color: #444; background-color: transparent; } .navbar-inverse .navbar-toggle { border-color: #333; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background-color: #333; } .navbar-inverse .navbar-toggle .icon-bar { background-color: #fff; } .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: #101010; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { background-color: #090909; color: #fff; } .navbar-inverse .navbar-nav > .dropdown > a:hover .caret { border-top-color: #fff; border-bottom-color: #fff; } .navbar-inverse .navbar-nav > .dropdown > a .caret { border-top-color: #999999; border-bottom-color: #999999; } .navbar-inverse .navbar-nav > .open > a .caret, .navbar-inverse .navbar-nav > .open > a:hover .caret, .navbar-inverse .navbar-nav > .open > a:focus .caret { border-top-color: #fff; border-bottom-color: #fff; } @media (max-width: 767px) { .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: #090909; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: #999999; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-color: #090909; } .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #444; background-color: transparent; } } .navbar-inverse .navbar-link { color: #999999; } .navbar-inverse .navbar-link:hover { color: #fff; } .breadcrumb { padding: 8px 15px; margin-bottom: 21px; list-style: none; background-color: #f5f5f5; border-radius: 2px; } .breadcrumb > li { display: inline-block; } .breadcrumb > li + li:before { content: "/\00a0"; padding: 0 5px; color: #ccc; } .breadcrumb > .active { color: #999999; } .pagination { display: inline-block; padding-left: 0; margin: 21px 0; border-radius: 2px; } .pagination > li { display: inline; } .pagination > li > a, .pagination > li > span { position: relative; float: left; padding: 6px 12px; line-height: 1.42857; text-decoration: none; background-color: #fff; border: 1px solid #ddd; margin-left: -1px; } .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-bottom-left-radius: 2px; border-top-left-radius: 2px; } .pagination > li:last-child > a, .pagination > li:last-child > span { border-bottom-right-radius: 2px; border-top-right-radius: 2px; } .pagination > li > a:hover, .pagination > li > a:focus, .pagination > li > span:hover, .pagination > li > span:focus { background-color: #eeeeee; } .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, .pagination > .active > span, .pagination > .active > span:hover, .pagination > .active > span:focus { z-index: 2; color: #fff; background-color: #4F8EF7; border-color: #4F8EF7; cursor: default; } .pagination > .disabled > span, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: #999999; background-color: #fff; border-color: #ddd; cursor: not-allowed; } .pagination-lg > li > a, .pagination-lg > li > span { padding: 10px 16px; font-size: 19px; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { border-bottom-left-radius: 6px; border-top-left-radius: 6px; } .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { border-bottom-right-radius: 6px; border-top-right-radius: 6px; } .pagination-sm > li > a, .pagination-sm > li > span { padding: 5px 10px; font-size: 13px; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { border-bottom-left-radius: 3px; border-top-left-radius: 3px; } .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { border-bottom-right-radius: 3px; border-top-right-radius: 3px; } .pager { padding-left: 0; margin: 21px 0; list-style: none; text-align: center; } .pager:before, .pager:after { content: " "; /* 1 */ display: table; /* 2 */ } .pager:after { clear: both; } .pager li { display: inline; } .pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #ddd; border-radius: 15px; } .pager li > a:hover, .pager li > a:focus { text-decoration: none; background-color: #eeeeee; } .pager .next > a, .pager .next > span { float: right; } .pager .previous > a, .pager .previous > span { float: left; } .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { color: #999999; background-color: #fff; cursor: not-allowed; } .label { display: inline; padding: .2em .6em .3em; font-size: 75%; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25em; } .label[href]:hover, .label[href]:focus { color: #fff; text-decoration: none; cursor: pointer; } .label:empty { display: none; } .label-default { background-color: #999999; } .label-default[href]:hover, .label-default[href]:focus { background-color: gray; } .label-primary { background-color: #4F8EF7; } .label-primary[href]:hover, .label-primary[href]:focus { background-color: #1e6ff5; } .label-success { background-color: #5cb85c; } .label-success[href]:hover, .label-success[href]:focus { background-color: #449d44; } .label-info { background-color: #5bc0de; } .label-info[href]:hover, .label-info[href]:focus { background-color: #31b0d5; } .label-warning { background-color: #f0ad4e; } .label-warning[href]:hover, .label-warning[href]:focus { background-color: #ec971f; } .label-danger { background-color: #d9534f; } .label-danger[href]:hover, .label-danger[href]:focus { background-color: #c9302c; } .badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 13px; font-weight: bold; color: #fff; line-height: 1; vertical-align: baseline; white-space: nowrap; text-align: center; background-color: #999999; border-radius: 10px; } .badge:empty { display: none; } a.badge:hover, a.badge:focus { color: #fff; text-decoration: none; cursor: pointer; } .btn .badge { position: relative; top: -1px; } a.list-group-item.active > .badge, .nav-pills > .active > a > .badge { color: #4F8EF7; background-color: #fff; } .nav-pills > li > a > .badge { margin-left: 3px; } .jumbotron { padding: 30px; margin-bottom: 30px; font-size: 22.5px; font-weight: 200; line-height: 2.14286; color: inherit; background-color: #eeeeee; } .jumbotron h1 { line-height: 1; color: inherit; } .jumbotron p { line-height: 1.4; } .container .jumbotron { border-radius: 6px; } @media screen and (min-width: 768px) { .jumbotron { padding-top: 48px; padding-bottom: 48px; } .container .jumbotron { padding-left: 60px; padding-right: 60px; } .jumbotron h1 { font-size: 67.5px; } } .thumbnail { display: block; } .thumbnail > img { display: block; max-width: 100%; height: auto; } a.thumbnail:hover, a.thumbnail:focus { border-color: #4F8EF7; } .thumbnail > img { margin-left: auto; margin-right: auto; } .thumbnail .caption { padding: 9px; color: #333; } .alert { padding: 15px; margin-bottom: 21px; border: 1px solid transparent; border-radius: 2px; } .alert h4 { margin-top: 0; color: inherit; } .alert .alert-link { font-weight: bold; } .alert > p, .alert > ul { margin-bottom: 0; } .alert > p + p { margin-top: 5px; } .alert-dismissable { padding-right: 35px; } .alert-dismissable .close { position: relative; top: -2px; right: -21px; color: inherit; } .alert-success { background-color: #dff0d8; border-color: #d6e9c6; color: #468847; } .alert-success hr { border-top-color: #c9e2b3; } .alert-success .alert-link { color: #356635; } .alert-info { background-color: #d9edf7; border-color: #bce8f1; color: #3a87ad; } .alert-info hr { border-top-color: #a6e1ec; } .alert-info .alert-link { color: #2d6987; } .alert-warning { background-color: #fcf8e3; border-color: #fbeed5; color: #c09853; } .alert-warning hr { border-top-color: #f8e5be; } .alert-warning .alert-link { color: #a47e3c; } .alert-danger { background-color: #f2dede; border-color: #eed3d7; color: #b94a48; } .alert-danger hr { border-top-color: #e6c1c7; } .alert-danger .alert-link { color: #953b39; } @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } .progress { overflow: hidden; height: 21px; margin-bottom: 21px; background-color: #f5f5f5; border-radius: 2px; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); } .progress-bar { float: left; width: 0%; height: 100%; font-size: 13px; color: #fff; text-align: center; background-color: #4F8EF7; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); transition: width 0.6s ease; } .progress-striped .progress-bar { 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: 40px 40px; } .progress.active .progress-bar { -webkit-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; } .progress-bar-success { background-color: #5cb85c; } .progress-striped .progress-bar-success { 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); } .progress-bar-info { background-color: #5bc0de; } .progress-striped .progress-bar-info { 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); } .progress-bar-warning { background-color: #f0ad4e; } .progress-striped .progress-bar-warning { 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); } .progress-bar-danger { background-color: #d9534f; } .progress-striped .progress-bar-danger { 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); } .media, .media-body { overflow: hidden; zoom: 1; } .media, .media .media { margin-top: 15px; } .media:first-child { margin-top: 0; } .media-object { display: block; } .media-heading { margin: 0 0 5px; } .media > .pull-left { margin-right: 10px; } .media > .pull-right { margin-left: 10px; } .media-list { padding-left: 0; list-style: none; } .list-group { margin-bottom: 20px; padding-left: 0; } .list-group-item { position: relative; display: block; padding: 10px 15px; margin-bottom: -1px; background-color: #fff; border: 1px solid #ddd; } .list-group-item:first-child { border-top-right-radius: 2px; border-top-left-radius: 2px; } .list-group-item:last-child { margin-bottom: 0; border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; } .list-group-item > .badge { float: right; } .list-group-item > .badge + .badge { margin-right: 5px; } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { z-index: 2; color: #fff; background-color: #4F8EF7; border-color: #4F8EF7; } .list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading { color: inherit; } .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { color: white; } a.list-group-item { color: #555; } a.list-group-item .list-group-item-heading { color: #333; } a.list-group-item:hover, a.list-group-item:focus { text-decoration: none; background-color: #f5f5f5; } .list-group-item-heading { margin-top: 0; margin-bottom: 5px; } .list-group-item-text { margin-bottom: 0; line-height: 1.3; } .panel { margin-bottom: 21px; background-color: #fff; border: 1px solid transparent; border-radius: 2px; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); } .panel-body { padding: 15px; } .panel-body:before, .panel-body:after { content: " "; /* 1 */ display: table; /* 2 */ } .panel-body:after { clear: both; } .panel > .list-group { margin-bottom: 0; } .panel > .list-group .list-group-item { border-width: 1px 0; } .panel > .list-group .list-group-item:first-child { border-top-right-radius: 0; border-top-left-radius: 0; } .panel > .list-group .list-group-item:last-child { border-bottom: 0; } .panel-heading + .list-group .list-group-item:first-child { border-top-width: 0; } .panel > .table { margin-bottom: 0; } .panel > .panel-body + .table { border-top: 1px solid #ddd; } .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-right-radius: 1px; border-top-left-radius: 1px; } .panel-title { margin-top: 0; margin-bottom: 0; font-size: 17px; } .panel-title > a { color: inherit; } .panel-footer { padding: 10px 15px; background-color: #f5f5f5; border-top: 1px solid #ddd; border-bottom-right-radius: 1px; border-bottom-left-radius: 1px; } .panel-group .panel { margin-bottom: 0; border-radius: 2px; overflow: hidden; } .panel-group .panel + .panel { margin-top: 5px; } .panel-group .panel-heading { border-bottom: 0; } .panel-group .panel-heading + .panel-collapse .panel-body { border-top: 1px solid #ddd; } .panel-group .panel-footer { border-top: 0; } .panel-group .panel-footer + .panel-collapse .panel-body { border-bottom: 1px solid #ddd; } .panel-default { border-color: #ddd; } .panel-default > .panel-heading { color: #333333; background-color: #f5f5f5; border-color: #ddd; } .panel-default > .panel-heading + .panel-collapse .panel-body { border-top-color: #ddd; } .panel-default > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #ddd; } .panel-primary { border-color: #4F8EF7; } .panel-primary > .panel-heading { color: #fff; background-color: #4F8EF7; border-color: #4F8EF7; } .panel-primary > .panel-heading + .panel-collapse .panel-body { border-top-color: #4F8EF7; } .panel-primary > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #4F8EF7; } .panel-success { border-color: #d6e9c6; } .panel-success > .panel-heading { color: #468847; background-color: #dff0d8; border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse .panel-body { border-top-color: #d6e9c6; } .panel-success > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #d6e9c6; } .panel-warning { border-color: #fbeed5; } .panel-warning > .panel-heading { color: #c09853; background-color: #fcf8e3; border-color: #fbeed5; } .panel-warning > .panel-heading + .panel-collapse .panel-body { border-top-color: #fbeed5; } .panel-warning > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #fbeed5; } .panel-danger { border-color: #eed3d7; } .panel-danger > .panel-heading { color: #b94a48; background-color: #f2dede; border-color: #eed3d7; } .panel-danger > .panel-heading + .panel-collapse .panel-body { border-top-color: #eed3d7; } .panel-danger > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #eed3d7; } .panel-info { border-color: #bce8f1; } .panel-info > .panel-heading { color: #3a87ad; background-color: #d9edf7; border-color: #bce8f1; } .panel-info > .panel-heading + .panel-collapse .panel-body { border-top-color: #bce8f1; } .panel-info > .panel-footer + .panel-collapse .panel-body { border-bottom-color: #bce8f1; } .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 2px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); } .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, 0.15); } .well-lg { padding: 24px; border-radius: 6px; } .well-sm { padding: 9px; border-radius: 3px; } .close { float: right; font-size: 22.5px; font-weight: bold; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; opacity: 0.2; filter: alpha(opacity=20); } .close:hover, .close:focus { color: #000; text-decoration: none; cursor: pointer; opacity: 0.5; filter: alpha(opacity=50); } button.close { padding: 0; cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; } .modal-open { overflow: hidden; } .modal-open .navbar-fixed-top, .modal-open .navbar-fixed-bottom { margin-right: 15px; } body.modal-open { margin-right: 15px; } .modal { display: none; overflow: auto; overflow-y: scroll; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; } .modal.fade .modal-dialog { -webkit-transform: translate(0, -25%); transform: translate(0, -25%); 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; } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); transform: translate(0, 0); } .modal-dialog { margin-left: auto; margin-right: auto; width: auto; padding: 10px; z-index: 1050; } .modal-content { position: relative; background-color: #fff; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); background-clip: padding-box; outline: none; } .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1030; background-color: #000; } .modal-backdrop.fade { opacity: 0; filter: alpha(opacity=0); } .modal-backdrop.in { opacity: 0.5; filter: alpha(opacity=50); } .modal-header { padding: 15px; border-bottom: 1px solid #e5e5e5; min-height: 16.42857px; } .modal-header .close { margin-top: -2px; } .modal-title { margin: 0; line-height: 1.42857; } .modal-body { position: relative; padding: 20px; } .modal-footer { margin-top: 15px; padding: 19px 20px 20px; text-align: right; border-top: 1px solid #e5e5e5; } .modal-footer:before, .modal-footer:after { content: " "; /* 1 */ display: table; /* 2 */ } .modal-footer:after { clear: both; } .modal-footer .btn + .btn { margin-left: 5px; margin-bottom: 0; } .modal-footer .btn-group .btn + .btn { margin-left: -1px; } .modal-footer .btn-block + .btn-block { margin-left: 0; } @media screen and (min-width: 768px) { .modal-dialog { left: 50%; right: auto; width: 600px; padding-top: 30px; padding-bottom: 30px; } .modal-content { box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); } } .tooltip { position: absolute; z-index: 1030; display: block; visibility: visible; font-size: 13px; line-height: 1.4; opacity: 0; filter: alpha(opacity=0); } .tooltip.in { opacity: 0.9; filter: alpha(opacity=90); } .tooltip.top { margin-top: -3px; padding: 5px 0; } .tooltip.right { margin-left: 3px; padding: 0 5px; } .tooltip.bottom { margin-top: 3px; padding: 5px 0; } .tooltip.left { margin-left: -3px; padding: 0 5px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; text-decoration: none; background-color: #000; border-radius: 2px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-left .tooltip-arrow { bottom: 0; left: 5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-right .tooltip-arrow { bottom: 0; right: 5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-left .tooltip-arrow { top: 0; left: 5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-right .tooltip-arrow { top: 0; right: 5px; border-width: 0 5px 5px; border-bottom-color: #000; } .popover { position: absolute; top: 0; left: 0; z-index: 1010; display: none; max-width: 276px; padding: 1px; text-align: left; background-color: #fff; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); white-space: normal; } .popover.top { margin-top: -10px; } .popover.right { margin-left: 10px; } .popover.bottom { margin-top: 10px; } .popover.left { margin-left: -10px; } .popover-title { margin: 0; padding: 8px 14px; font-size: 15px; font-weight: normal; line-height: 18px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-radius: 5px 5px 0 0; } .popover-content { padding: 9px 14px; } .popover .arrow, .popover .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; } .popover .arrow { border-width: 11px; } .popover .arrow:after { border-width: 10px; content: ""; } .popover.top .arrow { left: 50%; margin-left: -11px; border-bottom-width: 0; border-top-color: #999; border-top-color: rgba(0, 0, 0, 0.25); bottom: -11px; } .popover.top .arrow:after { content: " "; bottom: 1px; margin-left: -10px; border-bottom-width: 0; border-top-color: #fff; } .popover.right .arrow { top: 50%; left: -11px; margin-top: -11px; border-left-width: 0; border-right-color: #999; border-right-color: rgba(0, 0, 0, 0.25); } .popover.right .arrow:after { content: " "; left: 1px; bottom: -10px; border-left-width: 0; border-right-color: #fff; } .popover.bottom .arrow { left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999; border-bottom-color: rgba(0, 0, 0, 0.25); top: -11px; } .popover.bottom .arrow:after { content: " "; top: 1px; margin-left: -10px; border-top-width: 0; border-bottom-color: #fff; } .popover.left .arrow { top: 50%; right: -11px; margin-top: -11px; border-right-width: 0; border-left-color: #999; border-left-color: rgba(0, 0, 0, 0.25); } .popover.left .arrow:after { content: " "; right: 1px; border-right-width: 0; border-left-color: #fff; bottom: -10px; } .carousel { position: relative; } .carousel-inner { position: relative; overflow: hidden; width: 100%; } .carousel-inner > .item { display: none; position: relative; transition: 0.6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { display: block; max-width: 100%; height: auto; line-height: 1; } .carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { display: block; } .carousel-inner > .active { left: 0; } .carousel-inner > .next, .carousel-inner > .prev { position: absolute; top: 0; width: 100%; } .carousel-inner > .next { left: 100%; } .carousel-inner > .prev { left: -100%; } .carousel-inner > .next.left, .carousel-inner > .prev.right { left: 0; } .carousel-inner > .active.left { left: -100%; } .carousel-inner > .active.right { left: 100%; } .carousel-control { position: absolute; top: 0; left: 0; bottom: 0; width: 15%; opacity: 0.5; filter: alpha(opacity=50); font-size: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } .carousel-control.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); } .carousel-control.right { left: auto; right: 0; background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); } .carousel-control:hover, .carousel-control:focus { color: #fff; text-decoration: none; opacity: 0.9; filter: alpha(opacity=90); } .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right { position: absolute; top: 50%; left: 50%; z-index: 5; display: inline-block; } .carousel-control .icon-prev, .carousel-control .icon-next { width: 20px; height: 20px; margin-top: -10px; margin-left: -10px; font-family: serif; } .carousel-control .icon-prev:before { content: '\2039'; } .carousel-control .icon-next:before { content: '\203a'; } .carousel-indicators { position: absolute; bottom: 10px; left: 50%; z-index: 15; width: 60%; margin-left: -30%; padding-left: 0; list-style: none; text-align: center; } .carousel-indicators li { display: inline-block; width: 10px; height: 10px; margin: 1px; text-indent: -999px; border: 1px solid #fff; border-radius: 10px; cursor: pointer; } .carousel-indicators .active { margin: 0; width: 12px; height: 12px; background-color: #fff; } .carousel-caption { position: absolute; left: 15%; right: 15%; bottom: 20px; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } .carousel-caption .btn { text-shadow: none; } @media screen and (min-width: 768px) { .carousel-control .icon-prev, .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; margin-left: -15px; font-size: 30px; } .carousel-caption { left: 20%; right: 20%; padding-bottom: 30px; } .carousel-indicators { bottom: 20px; } } .clearfix:before, .clearfix:after { content: " "; /* 1 */ display: table; /* 2 */ } .clearfix:after { clear: both; } .pull-right { float: right !important; } .pull-left { float: left !important; } .hide { display: none !important; } .show { display: block !important; } .invisible { visibility: hidden; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .affix { position: fixed; } @-ms-viewport { width: device-width; } @media screen and (max-width: 400px) { @-ms-viewport { width: 320px; } } .hidden { display: none !important; visibility: hidden !important; } .visible-xs { display: none !important; } tr.visible-xs { display: none !important; } th.visible-xs, td.visible-xs { display: none !important; } @media (max-width: 767px) { .visible-xs { display: block !important; } tr.visible-xs { display: table-row !important; } th.visible-xs, td.visible-xs { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-xs.visible-sm { display: block !important; } tr.visible-xs.visible-sm { display: table-row !important; } th.visible-xs.visible-sm, td.visible-xs.visible-sm { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-xs.visible-md { display: block !important; } tr.visible-xs.visible-md { display: table-row !important; } th.visible-xs.visible-md, td.visible-xs.visible-md { display: table-cell !important; } } @media (min-width: 1200px) { .visible-xs.visible-lg { display: block !important; } tr.visible-xs.visible-lg { display: table-row !important; } th.visible-xs.visible-lg, td.visible-xs.visible-lg { display: table-cell !important; } } .visible-sm { display: none !important; } tr.visible-sm { display: none !important; } th.visible-sm, td.visible-sm { display: none !important; } @media (max-width: 767px) { .visible-sm.visible-xs { display: block !important; } tr.visible-sm.visible-xs { display: table-row !important; } th.visible-sm.visible-xs, td.visible-sm.visible-xs { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm { display: block !important; } tr.visible-sm { display: table-row !important; } th.visible-sm, td.visible-sm { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-sm.visible-md { display: block !important; } tr.visible-sm.visible-md { display: table-row !important; } th.visible-sm.visible-md, td.visible-sm.visible-md { display: table-cell !important; } } @media (min-width: 1200px) { .visible-sm.visible-lg { display: block !important; } tr.visible-sm.visible-lg { display: table-row !important; } th.visible-sm.visible-lg, td.visible-sm.visible-lg { display: table-cell !important; } } .visible-md { display: none !important; } tr.visible-md { display: none !important; } th.visible-md, td.visible-md { display: none !important; } @media (max-width: 767px) { .visible-md.visible-xs { display: block !important; } tr.visible-md.visible-xs { display: table-row !important; } th.visible-md.visible-xs, td.visible-md.visible-xs { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-md.visible-sm { display: block !important; } tr.visible-md.visible-sm { display: table-row !important; } th.visible-md.visible-sm, td.visible-md.visible-sm { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md { display: block !important; } tr.visible-md { display: table-row !important; } th.visible-md, td.visible-md { display: table-cell !important; } } @media (min-width: 1200px) { .visible-md.visible-lg { display: block !important; } tr.visible-md.visible-lg { display: table-row !important; } th.visible-md.visible-lg, td.visible-md.visible-lg { display: table-cell !important; } } .visible-lg { display: none !important; } tr.visible-lg { display: none !important; } th.visible-lg, td.visible-lg { display: none !important; } @media (max-width: 767px) { .visible-lg.visible-xs { display: block !important; } tr.visible-lg.visible-xs { display: table-row !important; } th.visible-lg.visible-xs, td.visible-lg.visible-xs { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-lg.visible-sm { display: block !important; } tr.visible-lg.visible-sm { display: table-row !important; } th.visible-lg.visible-sm, td.visible-lg.visible-sm { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-lg.visible-md { display: block !important; } tr.visible-lg.visible-md { display: table-row !important; } th.visible-lg.visible-md, td.visible-lg.visible-md { display: table-cell !important; } } @media (min-width: 1200px) { .visible-lg { display: block !important; } tr.visible-lg { display: table-row !important; } th.visible-lg, td.visible-lg { display: table-cell !important; } } .hidden-xs { display: block !important; } tr.hidden-xs { display: table-row !important; } th.hidden-xs, td.hidden-xs { display: table-cell !important; } @media (max-width: 767px) { .hidden-xs { display: none !important; } tr.hidden-xs { display: none !important; } th.hidden-xs, td.hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-xs.hidden-sm { display: none !important; } tr.hidden-xs.hidden-sm { display: none !important; } th.hidden-xs.hidden-sm, td.hidden-xs.hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-xs.hidden-md { display: none !important; } tr.hidden-xs.hidden-md { display: none !important; } th.hidden-xs.hidden-md, td.hidden-xs.hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-xs.hidden-lg { display: none !important; } tr.hidden-xs.hidden-lg { display: none !important; } th.hidden-xs.hidden-lg, td.hidden-xs.hidden-lg { display: none !important; } } .hidden-sm { display: block !important; } tr.hidden-sm { display: table-row !important; } th.hidden-sm, td.hidden-sm { display: table-cell !important; } @media (max-width: 767px) { .hidden-sm.hidden-xs { display: none !important; } tr.hidden-sm.hidden-xs { display: none !important; } th.hidden-sm.hidden-xs, td.hidden-sm.hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } tr.hidden-sm { display: none !important; } th.hidden-sm, td.hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-sm.hidden-md { display: none !important; } tr.hidden-sm.hidden-md { display: none !important; } th.hidden-sm.hidden-md, td.hidden-sm.hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-sm.hidden-lg { display: none !important; } tr.hidden-sm.hidden-lg { display: none !important; } th.hidden-sm.hidden-lg, td.hidden-sm.hidden-lg { display: none !important; } } .hidden-md { display: block !important; } tr.hidden-md { display: table-row !important; } th.hidden-md, td.hidden-md { display: table-cell !important; } @media (max-width: 767px) { .hidden-md.hidden-xs { display: none !important; } tr.hidden-md.hidden-xs { display: none !important; } th.hidden-md.hidden-xs, td.hidden-md.hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-md.hidden-sm { display: none !important; } tr.hidden-md.hidden-sm { display: none !important; } th.hidden-md.hidden-sm, td.hidden-md.hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-md { display: none !important; } tr.hidden-md { display: none !important; } th.hidden-md, td.hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-md.hidden-lg { display: none !important; } tr.hidden-md.hidden-lg { display: none !important; } th.hidden-md.hidden-lg, td.hidden-md.hidden-lg { display: none !important; } } .hidden-lg { display: block !important; } tr.hidden-lg { display: table-row !important; } th.hidden-lg, td.hidden-lg { display: table-cell !important; } @media (max-width: 767px) { .hidden-lg.hidden-xs { display: none !important; } tr.hidden-lg.hidden-xs { display: none !important; } th.hidden-lg.hidden-xs, td.hidden-lg.hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-lg.hidden-sm { display: none !important; } tr.hidden-lg.hidden-sm { display: none !important; } th.hidden-lg.hidden-sm, td.hidden-lg.hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-lg.hidden-md { display: none !important; } tr.hidden-lg.hidden-md { display: none !important; } th.hidden-lg.hidden-md, td.hidden-lg.hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-lg { display: none !important; } tr.hidden-lg { display: none !important; } th.hidden-lg, td.hidden-lg { display: none !important; } } .visible-print { display: none !important; } tr.visible-print { display: none !important; } th.visible-print, td.visible-print { display: none !important; } @media print { .visible-print { display: block !important; } tr.visible-print { display: table-row !important; } th.visible-print, td.visible-print { display: table-cell !important; } .hidden-print { display: none !important; } tr.hidden-print { display: none !important; } th.hidden-print, td.hidden-print { display: none !important; } } /* @license * MyFonts Webfont Build ID 2656303, 2013-10-02T11:03:28-0400 * * The fonts listed in this notice are subject to the End User License * Agreement(s) entered into by the website owner. All other parties are * explicitly restricted from using the Licensed Webfonts(s). * * You may obtain a valid license at the URLs below. * * Webfont: Avenir Next Pro Regular by Linotype * URL: http://www.myfonts.com/fonts/linotype/avenir-next-pro/pro-regular/ * * Webfont: Avenir Next Pro Medium by Linotype * URL: http://www.myfonts.com/fonts/linotype/avenir-next-pro/pro-medium/ * * * License: http://www.myfonts.com/viewlicense?type=web&buildid=2656303 * Licensed pageviews: 250,000 * Webfonts copyright: Copyright © 2004 - 2007 Linotype GmbH, www.linotype.com. All rights reserved. This font software may not be reproduced, modified, disclosed or transferred without the express written approval of Linotype GmbH. Avenir is a trademark of Linotype GmbH * * © 2013 MyFonts Inc */ /* @import must be at top of file, otherwise CSS will not work @import url("//hello.myfonts.net/count/28882f");*/ /* Avenir Next Pro */ @font-face { font-family: 'AvenirNextLTPro-Regular'; src: url("https://code.ionicframework.com/assets/fonts/28882F_0_0.eot"); src: url("https://code.ionicframework.com/assets/fonts/28882F_0_0.eot?#iefix") format("embedded-opentype"), url("https://code.ionicframework.com/assets/fonts/28882F_0_0.woff") format("woff"), url("https://code.ionicframework.com/assets/fonts/28882F_0_0.ttf") format("truetype"); } @font-face { font-family: 'AvenirNextLTPro-Medium'; src: url("https://code.ionicframework.com/assets/fonts/28882F_1_0.eot"); src: url("https://code.ionicframework.com/assets/fonts/28882F_1_0.eot?#iefix") format("embedded-opentype"), url("https://code.ionicframework.com/assets/fonts/28882F_1_0.woff") format("woff"), url("https://code.ionicframework.com/assets/fonts/28882F_1_0.ttf") format("truetype"); } @font-face { font-family: 'AvenirNextLTPro-UltLt'; src: url("https://code.ionicframework.com/assets/fonts/29CC36_0_0.eot"); src: url("https://code.ionicframework.com/assets/fonts/29CC36_0_0.eot?#iefix") format("embedded-opentype"), url("https://code.ionicframework.com/assets/fonts/29CC36_0_0.woff") format("woff"), url("https://code.ionicframework.com/assets/fonts/29CC36_0_0.ttf") format("truetype"); } /* Consolidated Avenir */ @font-face { font-family: 'Avenir Next'; src: url("/fonts/avenir-next/bold.eot"); src: url("/fonts/avenir-next/bold.eot?#iefix") format("embedded-opentype"), url("/fonts/avenir-next/bold.woff2") format("woff2"), url("/fonts/avenir-next/bold.woff") format("woff"), url("/fonts/avenir-next/bold.ttf") format("truetype"); font-weight: 700; } @font-face { font-family: 'Avenir Next'; src: url("/fonts/avenir-next/demi.eot"); src: url("/fonts/avenir-next/demi.eot?#iefix") format("embedded-opentype"), url("/fonts/avenir-next/demi.woff2") format("woff2"), url("/fonts/avenir-next/demi.woff") format("woff"), url("/fonts/avenir-next/demi.ttf") format("truetype"); font-weight: 600; } @font-face { font-family: 'Avenir Next'; src: url("/fonts/avenir-next/medium.eot"); src: url("/fonts/avenir-next/medium.eot?#iefix") format("embedded-opentype"), url("/fonts/avenir-next/medium.woff") format("woff"), url("/fonts/avenir-next/medium.ttf") format("truetype"); font-weight: 500; } @font-face { font-family: 'Avenir Next'; src: url("/fonts/avenir-next/regular.eot"); src: url("/fonts/avenir-next/regular.eot?#iefix") format("embedded-opentype"), url("/fonts/avenir-next/regular.woff") format("woff"), url("/fonts/avenir-next/regular.ttf") format("truetype"); font-weight: 400; } @font-face { font-family: 'Avenir Next'; src: url("/fonts/avenir-next/thin.eot"); src: url("/fonts/avenir-next/thin.eot?#iefix") format("embedded-opentype"), url("/fonts/avenir-next/thin.woff2") format("woff2"), url("/fonts/avenir-next/thin.woff") format("woff"), url("/fonts/avenir-next/thin.ttf") format("truetype"); font-weight: 300; } @font-face { font-family: 'Avenir Next'; src: url("/fonts/avenir-next/ultralight.eot"); src: url("/fonts/avenir-next/ultralight.eot?#iefix") format("embedded-opentype"), url("/fonts/avenir-next/ultralight.woff") format("woff"), url("/fonts/avenir-next/ultralight.ttf") format("truetype"); font-weight: 200; } @font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.eot?v=2.0.1"); src: url("../fonts/ionicons.eot?v=2.0.1#iefix") format("embedded-opentype"), url("../fonts/ionicons.ttf?v=2.0.1") format("truetype"), url("../fonts/ionicons.woff?v=2.0.1") format("woff"), url("../fonts/ionicons.woff") format("woff"), url("../fonts/ionicons.svg?v=2.0.1#Ionicons") format("svg"); font-weight: normal; font-style: normal; } /* * Some CSS adapted from LayerVault, http://layervault.com */ .fade-down.ng-enter { -webkit-animation: fadeInDown 0.5s both; animation: fadeInDown 0.5s both; } .fade-down.ng-leave { -webkit-animation: fadeOutUp 0.5s both; animation: fadeOutUp 0.5s both; width: 100%; position: absolute; } [step] { margin-bottom: 30px; } .inset-step { padding-left: 15px; margin-top: 10px; } .input-container, .input-container * { box-sizing: border-box; font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; } .input-container { margin-bottom: 10px; position: relative; } .input-container * { margin-bottom: 5px; } .input-container .subtext { color: #999; font-size: 14px; font-weight: 300; } .input-container input, .input-container textarea { font-size: 16px; font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; -webkit-font-smoothing: antialiased; width: 100%; height: 60px; transition: border 300ms ease; outline: none; padding: 18px 10px 0 8px; border-radius: 4px; border: 2px solid #ddd; } .input-container input:focus, .input-container textarea:focus { border-color: #4e8ef7; } .input-container input.error, .input-container textarea.error { border-color: #f95c5c; } .input-container textarea { height: 150px; padding: 10px; } .input-container label { font-size: 11px; font-weight: 300; transition: color 300ms ease; float: left; position: absolute; display: block; top: 5px; left: 11px; font-size: 12px; color: #bcbcbc; } .input-container .description ~ label { top: 31px; } .input-container label.error { display: none; color: #f95c5c; } .input-container input:focus ~ label:not(.error) { color: #4e8ef7; } .input-container input.error ~ label { display: none; } .input-container input.error ~ label.error { display: block; } h1 { padding-bottom: 10px; margin: 40px 0px 15px 0px; } h2 { margin: 35px 0px 10px 0px; } h3 { margin-top: 15px; } h1, h2, h3, h4, h5, h6, .btn { font-weight: normal; font-family: "AvenirNextLTPro-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif; } h1, h2, h3, h4, h5, h6 { color: #333; } h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child { margin-top: 0; } h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: #333; } h1 + h2 { margin-top: 0; color: #666; font-size: 18px; } h1 + h2 + p { margin-top: 20px; } .subheading { color: #888; font-size: 15px; } .guide-content { color: #333; font-size: 16px; } .guide-content h1, .guide-content h2 { margin-bottom: 20px; } .guide-content p { line-height: 30px; margin: 25px 0px; } .guide-content .well p { margin: 0px 0px 10px 0px; } #demo { padding-bottom: 80px; } #demo #demo-top { margin-bottom: 60px; } #demo #demo-top h1, #demo #demo-top h4 { text-align: center; } #demo #demo-top h1 { border: none; margin: 50px 0px 5px 0px; } #demo #demo-top h4 { color: #777; font-weight: normal; margin-bottom: 20px; } #demo pre { border: none; } #demo .phone-case { margin: 0px auto 30px auto; float: none; cursor: pointer; } #demo .phone-case iframe { cursor: pointer; } .testimonials blockquote { margin: 0; padding: 0; border: none; } .testimonials blockquote p { margin: 30px 0 0 0; padding: 5px 10px 15px 30px; background: url("/img/quote.png") no-repeat; background-size: 25px 25px; font-size: 16px; } .testimonials footer { margin-left: 30px; padding-left: 50px; background-color: white; background-size: 44px 40px; background-repeat: no-repeat; transition: opacity 0.3s; } .testimonial-content { position: relative; margin: 0 auto; padding: 0 5px 30px 5px; max-width: 1050px; } @media (min-width: 768px) { .testimonials { position: relative; height: 365px; } .testimonials blockquote p { position: absolute; top: 70px; margin: 0; padding: 10px 80px 0 80px; min-height: 150px; background-size: 50px 50px; color: #888; text-align: center; font-weight: normal; font-size: 22px; font-family: Georgia, serif; line-height: 34px; opacity: 0; transition: opacity 0.3s; -webkit-font-smoothing: antialiased; } .testimonials blockquote.active p { opacity: 1; } .testimonials footer { position: absolute; top: 220px; margin-left: 0; padding-top: 5px; max-width: 230px; width: 230px; height: 65px; background-size: 44px 40px; font-size: 13px; opacity: .4; cursor: pointer; } .testimonials .active footer, .testimonials footer:hover { opacity: 1; } .testimonials .active footer { border-bottom: 2px solid #4F8EF7; } .testimonials cite { color: #4F8EF7; font-weight: 400; font-size: 15px; } .testimonials .testimonial-1 footer { left: 37%; } .testimonials .testimonial-2 footer { right: 10px; } .testimonial-content { padding: 60px 10px 0 10px; } } @media (min-width: 960px) { .testimonials { height: 380px; } .testimonials blockquote p { font-size: 22px; } .testimonials footer { padding-top: 25px; padding-left: 92px; max-width: 265px; width: 265px; height: 94px; background-size: 88px 80px; } } @font-face { font-weight: normal; font-style: normal; font-family: "Ionicons"; src: url("../fonts/ionicons-v2.eot?v=1.3.0"); src: url("../fonts/ionicons-v2.eot?v=1.3.0#iefix") format("embedded-opentype"), url("../fonts/ionicons-v2.ttf?v=1.3.0") format("truetype"), url("../fonts/ionicons-v2.woff?v=1.3.0") format("woff"), url("../fonts/ionicons-v2.svg?v=1.3.0#Ionicons") format("svg"); } .fixed-menu { position: fixed; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .ionic.ionic-example .bar { position: relative; } .device-preview-page .aside-menu { display: none; } @media (min-width: 992px) { .device-preview-page .aside-menu { display: block; } } @media (max-width: 991px) { .device-preview-page .main-content { width: 100%; } } .left-menu { margin-top: 8px; padding-left: 0; list-style: none; font-size: 12px; } .left-menu:first-child { margin-top: 0; } .left-menu a { display: block; color: #444; text-decoration: none; } .left-menu a:hover { background: transparent !important; } .left-menu li { display: none; margin: 8px 0; list-style: none; } .left-menu li.menu-title { display: block; margin-top: 0; } .left-menu li ul { display: none; padding-left: 12px; } .left-menu .menu-title a { color: #aaaaaa; text-transform: uppercase; letter-spacing: 2px; font-size: 11px; line-height: 20px; } .left-menu.nav li.active > a { border-right: 2px solid #4F8EF7; color: #4F8EF7; } .left-menu.nav li.active > ul { display: block; } .left-menu.nav > li > a { padding: 1px 0; } .left-menu.active-menu .menu-title a { color: #4F8EF7; } .left-menu.active-menu li { display: block; } .docs .aside-menu { margin-bottom: 20px; } .docs .main-content { margin-bottom: 150px; } .docs-section { padding-bottom: 20px; color: #444; font-size: 14px; line-height: 1.9em; } .docs-section .panel-heading { font-family: Monaco, Menlo, Consolas, "Courier New", monospace; } .docs-section .highlight { margin: 10px 0 20px 0; } .docs-section pre { margin-bottom: 0; font-size: 12px !important; } .docs-section h1 a, .docs-section h2 a, .docs-section h3 a { text-decoration: none; } .docs-section h2, .docs-section h3 { padding-bottom: 0; } .docs-section h2 a, .docs-section h3 a { display: block; padding-bottom: 8px; transition: color .15s ease-in-out; } .docs-section td, .docs-section th { font-size: 14px !important; } pre { border: 0; border-left: 4px solid #D7DBE4; background: #F0F3F8; } .device-preview-page .docs-section { padding-bottom: 60px; min-height: 320px; } .docs-section h2 { padding-bottom: 16px; } .docs-section h1 a, .docs-section h2 a, .docs-section h3 a { color: #999; } .docs-section h1 a:hover, .docs-section h2 a:hover, .docs-section h3 a:hover { color: #111; text-decoration: none; } .docs-section.active h2 a, .docs-section.active h3 a { color: #222; } .doc-example { display: none; } .docs-section + .docs-section { padding-top: 20px; } .device-preview-page { position: relative; } .device-preview-page .docs-section:last-child { padding-bottom: 600px; } .device-preview-page .ionic .content-wrapper { overflow: hidden !important; height: 100%; } .device-preview-page .device-preview { position: absolute; right: 0; z-index: 1; width: 380px; height: 810px; background: url("/img/phone-case.png") no-repeat right top; } .device-preview-page .device-preview a { opacity: 1; } .device-preview-page .device-preview .content { position: relative; } @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3), only screen and (-webkit-min-device-pixel-ratio: 1.2916666666666667), only screen and (min-resolution: 124dpi) { .device-preview-page .device-preview { background-image: url("/img/phone-case@2x.png"); background-size: 365px 792px; } } .device-preview-page .fixed-preview { position: fixed; top: 0; right: auto; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .device-preview-page .docs-section { padding-right: 380px; } @media (max-width: 767px) { .device-preview-page .device-preview { display: none; } .device-preview-page .docs-section { padding-right: 0; } } .device-preview-page .device-preview > div { position: absolute; top: 104px; left: 33px; z-index: 0; width: 328px; height: 576px; border: 4px solid #22272d; background-color: white; opacity: 0; transition: opacity .2s ease-in-out; } .device-preview-page .device-preview > div.active-preview { z-index: 100; opacity: 1; } .device-preview-page .device-preview > div.screen-bg { opacity: 1 !important; } .device-preview-page .default-screen .content { height: 100%; background: url("/img/ionic_icon.svg") no-repeat center 115px; background-size: 250px 250px; } .attention-arrow { position: absolute; background: url("/img/attention-arrow.png") no-repeat; } @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3), only screen and (-webkit-min-device-pixel-ratio: 1.2916666666666667), only screen and (min-resolution: 124dpi) { .attention-arrow { background: url("/img/attention-arrow@2x.png") no-repeat; background-size: 40px 74px; } } .ionic div.padding-example { position: relative; margin: 50px auto; max-width: 240px; height: 240px; background: #ccc; } .ionic div.padding-example :first-child { position: absolute; top: 50px; left: 50px; width: 140px; height: 140px; background: #4A87EE; } .ionic .tabs { position: absolute !important; } .ionic .item.tabs { position: relative !important; } .advanced-panel { padding: 10px; border: 1px solid #A7C6FC; border-radius: 2px; background: #F6F9FE; color: #777; } .advanced-panel em { padding-right: 4px; color: #528FF7; vertical-align: middle; font-weight: bold; font-size: 18px; } .advanced-panel a { text-decoration: underline; } .advanced-panel a:hover { text-decoration: none; } .cards-bg { background: #f9f9f9; } .ionic .list.color-list-demo .item { padding: 14px 15px 14px 15px; } .ionic .color-demo { float: right; width: 20px; height: 20px; border-width: 1px; border-style: solid; border-radius: 4px; background: gray; } .ionic .col-demo { padding: 5px; width: 100%; border: 1px solid #ddd; border-radius: 2px; background: #f7f7f7; text-align: center; } .ionic .responsive-break { -ms-flex-direction: column; flex-direction: column; } .ionic .responsive-break .col { margin-bottom: 15px; width: 100%; } .ionic .ionicons-demo li { display: inline-block; padding: 2px; font-size: 32px; } .ionic .ionicons-demo li:before { display: block; width: 42px; text-align: center; } .table tr td:first-child { white-space: nowrap; } .docs-home-row { text-align: center; } .docs-home-row > div { margin-top: 50px; } .docs-home-row h3 { color: #333; font-family: "AvenirNextLTPro-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif; margin-top: 8px; } .docs-home-row h4 { margin-bottom: 8px; } .docs-home-row p { color: #888; font-size: 13px; font-family: "AvenirNextLTPro-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif; } .docs-home-row a { color: black; } .docs-home-row a:hover { text-decoration: none; } .docs-screenshot { width: 360px; height: auto; margin: 0 auto 2em auto; } .btn.btn-default { border-color: #ddd; } .picker { position: absolute; max-width: 180px; border-radius: 2px; background: rgba(255, 255, 255, 0.3); box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.05), inset 0px 1px 0px 0px rgba(255, 255, 255, 0.1); } .picker select { display: block; padding: 2px 60px 2px 10px; width: 150%; height: 24px; outline: none; border: none; background: transparent; color: #fff; text-indent: 0.01px; text-overflow: ''; font-size: 14px; cursor: pointer; -webkit-appearance: none; -moz-appearance: none; } .picker select option { background-color: #9cbbed; } .picker:hover { background: rgba(255, 255, 255, 0.4); } .picker:after { position: absolute; top: 50%; right: 6%; z-index: 0; z-index: 99; margin-top: -2px; width: 0; height: 0; border-top: 3px solid; border-right: 3px solid rgba(0, 0, 0, 0); border-left: 3px solid rgba(0, 0, 0, 0); color: rgba(255, 255, 255, 0.6); content: ""; } .api-title { margin-top: 0; font-size: 24px; } .docs-api h2 { color: #222; font-size: 22px; } .docs-api p, .docs-api td, .docs-api th { color: #444; } .improve-docs { position: absolute; top: 4px; right: 10px; display: none; float: right; } .improve-docs a { padding: 2px 6px; border: 2px solid #4f8ef7; border-radius: 2px; } .improve-docs a:hover { text-decoration: none; opacity: 1; } @media (min-width: 992px) { .improve-docs { display: block; } } #ionitron-image { background: url("/img/getting-started/ionitron-avatar.png") no-repeat transparent; width: 156px; height: 156px; } #ionitron-image.header-ionitron { float: left; margin-right: 10px; } @media screen and (max-width: 800px) { #ionitron-image.header-ionitron { background-size: 48px 48px; width: 48px; height: 48px; } } @media screen and (max-width: 400px) { #ionitron-image.header-ionitron { background-size: 32px 32px; width: 32px; height: 32px; } #ionitron-image.header-ionitron ~ h3 { font-size: 20px; line-height: 34px; margin: 0 0 4px; } #ionitron-image.header-ionitron ~ h4 { font-size: 16px; line-height: 18px; color: #ECF3FF; } } @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3), only screen and (-webkit-min-device-pixel-ratio: 1.2916666666666667), only screen and (min-resolution: 124dpi) { #ionitron-image { background: url("/img/getting-started/ionitron-avatar@2x.png") no-repeat transparent; background-size: 156px 156px; } } .alert, .docs-container main .alert { background: #ffa82c; border-radius: 3px; display: inline-block; color: rgba(255, 255, 255, 0.8); padding: 20px 30px 20px 65px; position: relative; width: 100%; font-weight: 500; margin: 0 0 20px; } .alert::before, .docs-container main .alert::before { content: '\f137'; font-family: 'Ionicons'; position: absolute; left: 25px; top: 10px; font-size: 30px; font-weight: 300; color: rgba(255, 255, 255, 0.9); } .alert a, .alert a:not(.btn), .docs-container main .alert a, .docs-container main .alert a:not(.btn) { color: white; opacity: 1; } .alert a:hover, .alert a:not(.btn):hover, .docs-container main .alert a:hover, .docs-container main .alert a:not(.btn):hover { color: #fff; } #vs-start-box { margin-top: 25px; border-radius: 1px; border: 1px solid #B390BD; border-left: 4px solid #B390BD; overflow: auto; } #vs-start-box b { color: #46364a; } #vs-start-box img { margin: 15px 15px 0; display: block; float: left; } #vs-start-box .info { padding: 15px; } #getting-started { padding: 40px 0; } #getting-started .italic { font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; font-weight: 300; margin: 20px 0; line-height: 26px; } #getting-started i { color: #999; } #getting-started .row { margin-bottom: 100px; } #getting-started .num { float: left; width: 80px; } #getting-started h2 { color: #333333; font-size: 28px; padding-bottom: 4px; } #getting-started h3 { margin-bottom: 20px; } #getting-started .sub-heading { padding-bottom: 10px; margin: auto; max-width: 810px; color: #444; font-weight: 300; font-size: 18px; font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; } #getting-started .desc { font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; color: #333; font-weight: 300; font-size: 14px; margin-top: 16px; margin-left: 80px; margin-right: 20px; line-height: 26px; } #getting-started .code { margin-top: 66px; } #getting-started .highlight { background: #eee; } #getting-started input { border: 2px solid #DDD; color: #333; box-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none; border-radius: 2px; } #getting-started input:focus { border: 2px solid #4e8ef7; box-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none; } #getting-started .btn-primary { color: #FFF; background-color: #4F8EF7; transition: background-color .1s ease-in-out; border-radius: 2px; padding: 6px 20px; } #getting-started #first-step { margin-top: 60px; } #getting-started #template-images { margin-top: -60px; padding-left: 95px; } @media (max-width: 992px) { #getting-started #template-images { padding-left: 15px; } } #getting-started #template-images .template { text-align: center; float: left; width: 308px; margin: 0 68px; } #getting-started #template-images .template:first-child { margin-left: 0; margin-right: 0; } #getting-started #template-images .template:last-child { margin-left: 0; margin-right: 0; } @media (max-width: 1200px) { #getting-started #template-images .template { width: 272px; margin: 0 20px; } #getting-started #template-images .template .template-image { width: 220px; height: 180px; background-size: 220px; } } @media (max-width: 992px) { #getting-started #template-images .template { width: 226px; margin: 0 20px; } } @media (max-width: 768px) { #getting-started #template-images .template { width: 100%; float: none; margin: 20px 0; } #getting-started #template-images .template .template-image { display: block; margin: 0 auto; background-size: 330px; height: 270px; width: 330px; } } #getting-started #template-images code { display: inline-block; margin-top: 15px; } #getting-started #template-images .template-image { display: inline-block; width: 330px; height: 270px; } #getting-started #start-template-blank-image, #getting-started #start-template-tabs-image, #getting-started #start-template-sidemenu-image { background: transparent no-repeat bottom center url("/img/starter-app-thumbnails.png"); background-size: 330px; } #getting-started #start-template-tabs-image { background-position: center center; } #getting-started #start-template-sidemenu-image { background-position: center top; } #getting-started-cont { border-top: 1px solid #e9ecf3; padding-top: 74px; } #getting-started-cont .what-next hgroup { text-align: center; padding-top: 92px; background: transparent no-repeat top center url("/img/getting-started/ionic-checkmark.png"); background-size: 53px; max-width: 575px; margin: 0 auto; } #getting-started-cont .what-next .items { max-width: 950px; margin: 82px auto; } #getting-started-cont .what-next .item { padding-top: 107px; display: inline-block; width: 278px; margin-right: 47px; position: relative; } #getting-started-cont .what-next .item:before { background: transparent no-repeat url("/img/getting-started/whats-next-icons.png"); background-size: 80px; height: 80px; width: 80px; position: absolute; top: 0; content: ''; } #getting-started-cont .what-next .item.platform:before { background-position: center -80px; } #getting-started-cont .what-next .item.enterprise:before { background-position: center -160px; } #getting-started-cont .what-next .item:last-child { margin-right: 0; } #getting-started-cont .what-next .item h3 { font-size: 18px; font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 500; } #getting-started-cont .what-next .item p { color: #818893; font-size: 13px; line-height: 2em; } #getting-started-cont .what-next .item .more { font-weight: bold; position: relative; transition-duration: .3s; font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; } #getting-started-cont .what-next .item .more:after { font-family: 'Ionicons'; content: '\f3d6'; font-size: 20px; font-weight: 700; position: relative; right: -10px; top: 3px; } #getting-started-cont .what-next .item .more:hover { color: #1e6ff5; } @media (max-width: 992px) { #getting-started-cont .what-next .item { margin-right: 5px; width: 240px; } } @media (max-width: 768px) { #getting-started-cont .what-next .item { display: block; width: 100%; max-width: 400px; margin: 0 auto 40px; } #getting-started-cont .what-next .item:last-child { margin-right: auto; } } #showcase #apps { margin-top: 40px; } #showcase #apps > .row { margin-top: 50px; } #showcase #contact { margin-top: 15px; } #showcase .app .row { margin-bottom: 15px; } #showcase .app .row img { width: 100%; } h2.underline { padding-bottom: 10px; border-bottom: 1px solid #eee; margin: 40px 0px 20px 0px; } .phone-col { padding: 0; } .phone-col.no-case .phone-case { background: none; margin: 0; float: none; width: 100%; } .phone-col.no-case .phone-case > div { width: 100%; height: 100%; } .phone-col.no-case .phone-case > div .cp_embed_iframe { position: static; width: 100% !important; height: 100%; } .phone-case { float: right; position: relative; z-index: 1; width: 380px; height: 810px; background: url("/img/phone-case.png") no-repeat right top; margin-left: 20px; } .phone-case a { opacity: 1; } .phone-case .cp_embed_iframe { position: absolute; width: 320px !important; height: 568px; top: 104px; left: 37px; } @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3), only screen and (-webkit-min-device-pixel-ratio: 1.2916666666666667), only screen and (min-resolution: 124dpi) { .phone-case { background-image: url("/img/phone-case@2x.png"); background-size: 365px 792px; } } .highlight { background: #ffffff; } .highlight .c { color: #999988; font-style: italic; } /* Comment */ /* COMMENTED OUT CUZ IT THINKS DIRECTIVES ARE INVALID .highlight .err { color: #a61717; background-color: #e3d2d2 } Error */ .highlight .k { font-weight: bold; } /* Keyword */ .highlight .o { font-weight: bold; } /* Operator */ .highlight .cm { color: #999988; font-style: italic; } /* Comment.Multiline */ .highlight .cp { color: #999999; font-weight: bold; } /* Comment.Preproc */ .highlight .c1 { color: #999988; font-style: italic; } /* Comment.Single */ .highlight .cs { color: #999999; font-weight: bold; font-style: italic; } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd; } /* Generic.Deleted */ .highlight .gd .x { color: #000000; background-color: #ffaaaa; } /* Generic.Deleted.Specific */ .highlight .ge { font-style: italic; } /* Generic.Emph */ .highlight .gr { color: #aa0000; } /* Generic.Error */ .highlight .gh { color: #999999; } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd; } /* Generic.Inserted */ .highlight .gi .x { color: #000000; background-color: #aaffaa; } /* Generic.Inserted.Specific */ .highlight .go { color: #888888; } /* Generic.Output */ .highlight .gp { color: #555555; } /* Generic.Prompt */ .highlight .gs { font-weight: bold; } /* Generic.Strong */ .highlight .gu { color: #aaaaaa; } /* Generic.Subheading */ .highlight .gt { color: #aa0000; } /* Generic.Traceback */ .highlight .kc { font-weight: bold; } /* Keyword.Constant */ .highlight .kd { font-weight: bold; } /* Keyword.Declaration */ .highlight .kp { font-weight: bold; } /* Keyword.Pseudo */ .highlight .kr { font-weight: bold; } /* Keyword.Reserved */ .highlight .kt { color: #445588; font-weight: bold; } /* Keyword.Type */ .highlight .m { color: #009999; } /* Literal.Number */ .highlight .s { color: #d14; } /* Literal.String */ .highlight .na { color: #008080; } /* Name.Attribute */ .highlight .nb { color: #0086B3; } /* Name.Builtin */ .highlight .nc { color: #445588; font-weight: bold; } /* Name.Class */ .highlight .no { color: #008080; } /* Name.Constant */ .highlight .ni { color: #800080; } /* Name.Entity */ .highlight .ne { color: #990000; font-weight: bold; } /* Name.Exception */ .highlight .nf { color: #990000; font-weight: bold; } /* Name.Function */ .highlight .nn { color: #555555; } /* Name.Namespace */ .highlight .nt { color: #000080; } /* Name.Tag */ .highlight .nv { color: #008080; } /* Name.Variable */ .highlight .ow { font-weight: bold; } /* Operator.Word */ .highlight .w { color: #bbbbbb; } /* Text.Whitespace */ .highlight .mf { color: #009999; } /* Literal.Number.Float */ .highlight .mh { color: #009999; } /* Literal.Number.Hex */ .highlight .mi { color: #009999; } /* Literal.Number.Integer */ .highlight .mo { color: #009999; } /* Literal.Number.Oct */ .highlight .sb { color: #d14; } /* Literal.String.Backtick */ .highlight .sc { color: #d14; } /* Literal.String.Char */ .highlight .sd { color: #d14; } /* Literal.String.Doc */ .highlight .s2 { color: #d14; } /* Literal.String.Double */ .highlight .se { color: #d14; } /* Literal.String.Escape */ .highlight .sh { color: #d14; } /* Literal.String.Heredoc */ .highlight .si { color: #d14; } /* Literal.String.Interpol */ .highlight .sx { color: #d14; } /* Literal.String.Other */ .highlight .sr { color: #009926; } /* Literal.String.Regex */ .highlight .s1 { color: #d14; } /* Literal.String.Single */ .highlight .ss { color: #990073; } /* Literal.String.Symbol */ .highlight .bp { color: #999999; } /* Name.Builtin.Pseudo */ .highlight .vc { color: #008080; } /* Name.Variable.Class */ .highlight .vg { color: #008080; } /* Name.Variable.Global */ .highlight .vi { color: #008080; } /* Name.Variable.Instance */ .highlight .il { color: #009999; } /* Literal.Number.Integer.Long */ code.language-ts .kr { color: #000080; } code.language-ts .nx { color: #008080; } code.language-ts .k { color: #0086B3; } .input-type { position: absolute; bottom: 0; z-index: 1000; width: 100%; height: 300px; background: no-repeat center bottom; } .ios7 .text-input, .ios7 .password-input, .ios7 .search-input { background-image: url("/img/input-types/ios7/keyboard-text-pass-search.png"); } .ios7 .email-input { background-image: url("/img/input-types/ios7/keyboard-email.png"); } .ios7 .tel-input { background-image: url("/img/input-types/ios7/keyboard-tel.png"); } .ios7 .number-input { background-image: url("/img/input-types/ios7/keyboard-number.png"); } .ios7 .date-input { background-image: url("/img/input-types/ios7/keyboard-date.png"); } .ios7 .month-input { background-image: url("/img/input-types/ios7/keyboard-month.png"); } @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3), only screen and (-webkit-min-device-pixel-ratio: 1.2916666666666667), only screen and (min-resolution: 124dpi) { .ios7 .input-type { background-size: 320px 260px; } .ios7 .text-input, .ios7 .password-input, .ios7 .search-input { background-image: url("/img/input-types/ios7/keyboard-text-pass-search@2x.png"); } .ios7 .email-input { background-image: url("/img/input-types/ios7/keyboard-email@2x.png"); } .ios7 .tel-input { background-image: url("/img/input-types/ios7/keyboard-tel@2x.png"); } .ios7 .number-input { background-image: url("/img/input-types/ios7/keyboard-number@2x.png"); } .ios7 .date-input { background-image: url("/img/input-types/ios7/keyboard-date@2x.png"); } .ios7 .month-input { background-image: url("/img/input-types/ios7/keyboard-month@2x.png"); } } .products .content-container { background: white; min-height: 800px; margin-top: 80px; } .products h1, .products h2, .products p { text-align: center; } .products .input-container { max-width: 500px; margin: 20px auto; } #what-is h3 a { font-size: 24px; font-weight: normal; color: #679ef8; } #what-is h3 a:hover { color: #377ef6; } #what-is p { margin-bottom: 2.0em; } .v2 .demo { float: right; margin-left: 15px; } .v2 .demo.inline { float: none; margin-left: 0; } .v2 .demo a { display: block; text-align: right; margin-top: 15px; } .v2 .demo iframe { width: 328px; height: 568px; border: none; border-radius: 10px; border: 4px solid #555; } .v2 .file-title { margin-top: 35px; } .v2.docs-ui .main-content h3 { margin-top: 2em; } .v2.docs-ui .main-content .highlight, .v2.docs-ui .main-content p { margin-right: 390px; } .v2.docs-ui .main-content .highlight.less-margin, .v2.docs-ui .main-content p.less-margin { margin-right: 120px; } .v2.docs-ui .main-content ul.demo-toggle { list-style: none; display: block; position: absolute; top: 32px; right: 285px; } .v2.docs-ui .main-content ul.demo-toggle li { margin-left: 1px; display: inline; float: left; } .v2.docs-ui .main-content ul.demo-toggle li button { background-color: #EFEFF4; color: #000; border: 1px solid #C8C7CC; } a { opacity: 0.8; transition: .1s ease-in-out; transition-property: opacity, border-color; } a:hover, a:focus { opacity: 1; text-decoration: none; } .text-center { text-align: center; } .content-container { padding-top: 40px; } .main-content { min-height: 450px; } #blog-badge { display: none; position: absolute; padding: 3px 6px; border-radius: 64px; border: 2px solid #FFF; width: 21px; background: #D55757; color: #FFF; right: 6px; top: 15px; text-align: center; z-index: 1; font-size: 11px; font-weight: 700; line-height: 11px; } .horizontal-gradient { background: #296ad4; background: linear-gradient(to right, #296ad4 0%, #4e8ef7 100%); } @-webkit-keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .fadeIn { opacity: 0; -webkit-animation: fadeIn ease-in 750ms; animation: fadeIn ease-in 750ms; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-animation-delay: 500ms; /* Chrome, Safari, Opera */ animation-delay: 500ms; } .white-nav-bar .navbar-default { background: white; } .white-nav-bar.products-page .products-nav { color: #4F8EF7 !important; border-top-color: #4F8EF7 !important; } .white-nav-bar .navbar-default .navbar-nav > li > a:hover { color: #4F8EF7 !important; border-top-color: #4F8EF7 !important; } .navbar-default .navbar-nav > .dropdown > a .caret { border-top-color: #abc0f5; border-bottom-color: #abc0f5; } .navbar-default .navbar-nav > li.dropdown > a:hover .caret { border-top-color: #fff; border-bottom-color: #fff; } .navbar-nav > li > .dropdown-menu { display: block !important; pointer-events: none; opacity: 0; -webkit-transform: scale(0.5); transform: scale(0.5); -webkit-transform-origin: 80px 0; transform-origin: 80px 0; transition: all 200ms cubic-bezier(0.24, 0.22, 0.015, 1.56), opacity 100ms linear; } .navbar-nav > li.dropdown.open > .dropdown-menu { -webkit-transform: scale(1); transform: scale(1); opacity: 1; pointer-events: auto; } .navbar-nav > li > .dropdown-menu .arrow-up { position: absolute; top: -10px; right: 20px; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 10px solid white; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { background: transparent; } .navbar-nav > li > .dropdown-menu { border: none; box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.3); border-radius: 3px; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { color: #e6e6e6; } .navbar .dropdown-menu > li > a { color: #677184; font-size: 14px; padding-top: 8px; padding-bottom: 8px; font-family: "AvenirNextLTPro-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif; } .navbar .dropdown-menu > li > a:hover, .navbar .dropdown-menu > li > a:active, .navbar .dropdown-menu > li > a:focus { background-color: #EFF1F5; color: #677184 !important; border: none !important; } .navbar-default .navbar-nav > li > a { margin: 0; padding-right: 22px !important; padding-left: 22px !important; border-top: 3px solid transparent; color: #fff; opacity: .6; transition-duration: .25s; } @media (max-width: 991px) { .navbar-default .navbar-nav > li > a { padding-right: 13px !important; padding-left: 13px !important; } } .navbar-default .navbar-nav > li > a:hover { color: white; } .navbar-default .navbar-collapse .navbar-nav > li > a:hover { border-top: 3px solid #B5CAFF; } .navbar-default .navbar-toggle { margin-top: 17px; padding: 0; border: none; color: white; font-size: 32px; opacity: .7; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background: none; opacity: 1; } @media (max-width: 767px) { .navbar-default .navbar-collapse { margin-bottom: 20px; border: none; background: #2155aa; background: linear-gradient(to right, #2155aa 0%, #3e72c6 100%); } .navbar-default .navbar-collapse .navbar-nav > li > a:hover { border-color: transparent !important; } } @media (min-width: 768px) { .docs-page .docs-nav, .examples-page .examples-nav, .getting-started-page .getting-started-nav, .nav-link:hover, .nav-link:focus { border-top: 3px solid #B5CAFF !important; color: white !important; opacity: 1 !important; } .docs-page.getting-started-page .docs-nav { border-color: transparent !important; color: #abc0f5 !important; } } .navbar-header .version { float: left; list-style: none; padding-left: 0; } .navbar-header .version > li > a { padding: 26px 12px 0px; font-size: 18px; font-weight: 600; color: rgba(255, 255, 255, 0.5); display: block; transition: .3s color; } @media (max-width: 767px) { .navbar-header .version > li > a { padding: 13px 10px 0px; } } .navbar-header .version > li > a .caret { border-top-color: rgba(255, 255, 255, 0.5); } .navbar-header .version > li > a:hover, .navbar-header .version > li > a:active, .navbar-header .version > li > a:focus { color: rgba(255, 255, 255, 0.7); text-decoration: none; } .navbar-header .version > li > a:hover .caret, .navbar-header .version > li > a:active .caret, .navbar-header .version > li > a:focus .caret { border-top-color: rgba(255, 255, 255, 0.7); } .navbar-header .version .dropdown-menu { display: block; position: absolute; border: 0; border-radius: 3px; padding: 12px 0 10px; top: 56px; left: -23px; right: -100px; min-width: 155px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.2); opacity: 0; -webkit-transform: scale(0.01); transform: scale(0.01); -webkit-transform-origin: 20% 8px; transform-origin: 20% 8px; transition: all 0.3s cubic-bezier(0.155, 1.105, 0.295, 1.12), opacity 0.1s linear; } .navbar-header .version .dropdown-menu a { padding: 6px 23px; line-height: 1.6; font-size: 13px; font-weight: 500; } .navbar-header .version .dropdown-menu a i::before { font-size: 30px; line-height: 10px; position: relative; top: 7px; margin-left: 5px; } .navbar-header .version .dropdown-menu a.active, .navbar-header .version .dropdown-menu a.active:hover { color: #4F8EF7 !important; text-decoration: none; background: transparent; cursor: default; } .navbar-header .version .dropdown-menu::before { background: url("/img/ico-nav-arrow.png") center center no-repeat; background-size: 15px; width: 15px; height: 8px; position: absolute; top: -7px; left: 35px; content: ''; z-index: 5; } .navbar-header .version .open .dropdown-menu { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } .headline { position: absolute; padding: 10px; width: 100%; background-color: #4F8EF7; color: white; text-align: center; } .headline a { color: inherit; text-decoration: underline; opacity: 1; } .headline a:hover { text-decoration: none; } .header { position: relative; padding: 24px 0 0 0; height: 200px; background-position: 0 -76px; } .header h3 { color: #ebf3ff; font-size: 28px; font-family: "AvenirNextLTPro-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif; } .header h4 { color: #c2d8ff; font-family: "AvenirNextLTPro-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif; opacity: .8; } .header ul { position: absolute; top: 133px; margin: 0; padding: 0; } .header li { float: left; margin: 0 5px; list-style: none; font-size: 14px; font-family: "AvenirNextLTPro-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif; } .header li:first-child a { padding-left: 0; } .header a { display: inline-block; padding: 10px 20px; color: #fff; font-weight: bold; } .header .heading-tile { background-position: 0 -80px; } .search-col { display: none; } @media (min-width: 768px) { .search-col { display: block; } } .search-bar { visibility: hidden; float: right; padding: 0 2px 0 8px; border: none; border-radius: 40px; background: rgba(255, 255, 255, 0.3); transition: background ease-in-out 150ms; } .search-bar.active { background: rgba(255, 255, 255, 0.7); } .search-bar.active .search-icon, .search-bar.active input { color: #296AD4; } .search-bar .search-icon { padding-top: 4px; color: white; } .search-bar .search-icon i { padding-top: 4px; } .search-bar input { padding-left: 4px; width: 200px; border: none; background: transparent; color: white; font-size: 14px; -webkit-appearance: none; } .search-bar input:focus { outline: none; } .search-results { position: absolute; right: 0; left: 0; z-index: 9999; opacity: 0; padding: 40px 0; min-height: 360px; background: rgba(255, 255, 255, 0.96); box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.2); font-size: 12px; transition: opacity ease-in-out 100ms; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .search-results h4 { margin-bottom: 8px; padding-bottom: 4px; border-bottom: 2px solid #4F8EF7; color: #4F8EF7; text-transform: uppercase; letter-spacing: 3px; font-size: 12px; font-family: "AvenirNextLTPro-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif; } .search-results ul { margin: 0 0 0 -10px; padding: 0; } .search-results li { display: inline-block; overflow: hidden; margin: 0; padding: 1px 0 1px 10px; width: 100%; list-style-type: none; text-overflow: ellipsis; white-space: nowrap; line-height: 22px; } .search-results li a { color: #666; } .search-results li a:hover { color: #4F8EF7; } .search-section { float: left; padding-left: 40px; width: 25%; } .search-api { padding-left: 0; width: 49%; } .search-api li { width: 32%; } #search-overlay { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 999; background: black; opacity: 0; transition: opacity ease-in-out 100ms; } .search-open .search-results { opacity: 1; } .search-open #search-overlay { opacity: .1; } .navbar-header .paper-tag, .navbar-header .beta-tag { padding-top: 22px; margin-left: 15px; display: inline-block; float: left; } .navbar-header .beta-tag { top: -2px; margin-left: 25px; position: relative; } .navbar-header .beta-tag:before { content: ''; background: rgba(255, 255, 255, 0.2); position: absolute; height: 30px; width: 2px; left: -15px; -webkit-transform: skewX(-15deg); transform: skewX(-15deg); } .snap-bar { /*display: none;*/ position: relative; top: 0; left: 0; width: 100%; height: 50px; line-height: 50px; z-index: 1000; /* margin-top: -50px; -webkit-transform: translate(0, -50px); transform: translate(0, -50px); */ /* background-color: #EDF0F7; */ background-color: #272E3A; color: #B1BAC7; font-weight: 300; text-align: center; font-size: 16px; box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.5); } .snap-bar .small { display: none; } .span-bar span { display: inline-block; vertical-align: middle; } .snap-bar.active { -webkit-transform: translate(0, 0); transform: translate(0, 0); margin-top: 0; } @media (max-width: 767px) { .snap-bar .small { display: inline-block; } .snap-bar .large { display: none; } } @media (max-width: 991px) and (min-width: 768px) { .hide-sm { display: none !important; } } .news { position: absolute; bottom: 0; padding-top: 14px; width: 100%; height: 50px; background: rgba(255, 255, 255, 0.2); letter-spacing: -0.03em; font-weight: bold; font-family: "AvenirNextLTPro-Ultlt", "Helvetica Neue", Helvetica, Arial, sans-serif; } .news .container { overflow: hidden; color: #B6D1FF; text-overflow: ellipsis; white-space: nowrap; } .news a { padding: 0; color: #fff; text-decoration: none; font-weight: bold; opacity: .85; } .news a:hover { text-decoration: underline; opacity: 1; } .news a a:visited { color: #fff; } .news .news-col { overflow: hidden; height: 26px; text-overflow: ellipsis; white-space: nowrap; } @supports (overflow: -webkit-marquee) and (justify-content: inherit) { .news a { font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif; } } @-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } .ionic { /*! * Copyright 2014 Drifty Co. * http://drifty.com/ * * Ionic, v1.1.1 * A powerful HTML5 mobile app framework. * https://ionicframework.com/ * * By @maxlynch, @benjsperry, @adamdbradley <3 * * Licensed under the MIT license. Please see LICENSE for more information. * */ /*! Ionicons, v2.0.1 Created by Ben Sperry for the Ionic Framework, https://ionicons.com/ https://twitter.com/benjsperry https://twitter.com/ionicframework MIT License: https://github.com/ionic-team/ionicons Android-style icons originally built by Google’s Material Design Icons: https://github.com/google/material-design-icons used under CC BY http://creativecommons.org/licenses/by/4.0/ Modified icons to fit ionicon’s grid from original. */ /** * Resets * -------------------------------------------------- * Adapted from normalize.css and some reset.css. We don't care even one * bit about old IE, so we don't need any hacks for that in here. * * There are probably other things we could remove here, as well. * * normalize.css v2.1.2 | MIT License | git.io/normalize * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) * http://cssreset.com */ /** * Prevent modern browsers from displaying `audio` without controls. * Remove excess height in iOS 5 devices. */ /** * Hide the `template` element in IE, Safari, and Firefox < 22. */ /* ========================================================================== Base ========================================================================== */ /** * 1. Set default font family to sans-serif. * 2. Prevent iOS text size adjust after orientation change, without disabling * user zoom. */ /** * Remove default margin. */ /** * Remove default outlines. */ /* * * Remove tap highlight color */ /* ========================================================================== Typography ========================================================================== */ /** * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ /** * Address styling not present in Safari 5 and Chrome. */ /** * Address differences between Firefox and other browsers. */ /** * Correct font family set oddly in Safari 5 and Chrome. */ /** * Improve readability of pre-formatted text in all browsers. */ /** * Set consistent quote types. */ /** * Address inconsistent and variable font size in all browsers. */ /** * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ /** * Define consistent border, margin, and padding. */ /** * 1. Correct `color` not being inherited in IE 8/9. * 2. Remove padding so people aren't caught out if they zero out fieldsets. */ /** * 1. Correct font family not being inherited in all browsers. * 2. Correct font size not being inherited in all browsers. * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. * 4. Remove any default :focus styles * 5. Make sure webkit font smoothing is being inherited * 6. Remove default gradient in Android Firefox / FirefoxOS */ /** * Address Firefox 4+ setting `line-height` on `input` using `importnt` in * the UA stylesheet. */ /** * Address inconsistent `text-transform` inheritance for `button` and `select`. * All other form control elements do not inherit `text-transform` values. * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. * Correct `select` style inheritance in Firefox 4+ and Opera. */ /** * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` * and `video` controls. * 2. Correct inability to style clickable `input` types in iOS. * 3. Improve usability and consistency of cursor style between image-type * `input` and others. */ /** * Re-set default cursor for disabled elements. */ /** * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome * (include `-moz` to future-proof). */ /** * Remove inner padding and search cancel button in Safari 5 and Chrome * on OS X. */ /** * Remove inner padding and border in Firefox 4+. */ /** * 1. Remove default vertical scrollbar in IE 8/9. * 2. Improve readability and alignment in all browsers. */ /* ========================================================================== Tables ========================================================================== */ /** * Remove most spacing between table cells. */ /** * Scaffolding * -------------------------------------------------- */ /** * Scroll is the scroll view component available for complex and custom * scroll view functionality. */ /** * Set ms-viewport to prevent MS "page squish" and allow fluid scrolling * https://msdn.microsoft.com/en-us/library/ie/hh869615(v=vs.85).aspx @-ms-viewport { width: device-width; } */ /* If you change these, change platform.scss as well */ /** * Typography * -------------------------------------------------- */ /** * Action Sheets * -------------------------------------------------- */ /** * Bar (Headers and Footers) * -------------------------------------------------- */ /** * Tabs * -------------------------------------------------- * A navigation bar with any number of tab items supported. */ /* Allow parent element of tabs to define color, or just the tab itself */ /* Allow parent element to have tabs-top */ /* If you change this, change platform.scss as well */ /* Navigational tab */ /* Active state for tab */ /** * Menus * -------------------------------------------------- * Side panel structure */ /** * Modals * -------------------------------------------------- * Modals are independent windows that slide in from off-screen. */ /** * Popovers * -------------------------------------------------- * Popovers are independent views which float over content */ /** * Popups * -------------------------------------------------- */ /** * Loading * -------------------------------------------------- */ /** * Items * -------------------------------------------------- */ /** * Complex Items * -------------------------------------------------- * Adding .item-complex allows the .item to be slidable and * have options underneath the button, but also requires an * additional .item-content element inside .item. * Basically .item-complex removes any default settings which * .item added, so that .item-content looks them as just .item. */ /** * Item Icons * -------------------------------------------------- */ /** * Item Button * -------------------------------------------------- * An item button is a child button inside an .item (not the entire .item) */ /** * The hidden right-side buttons that can be exposed under a list item * with dragging. */ /** * Lists * -------------------------------------------------- */ /** * List Header * -------------------------------------------------- */ /** * Cards and Inset Lists * -------------------------------------------------- * A card and list-inset are close to the same thing, except a card as a box shadow. */ /** * Badges * -------------------------------------------------- */ /** * Slide Box * -------------------------------------------------- */ /** * Spinners * -------------------------------------------------- */ /** * Forms * -------------------------------------------------- */ /** * Checkbox * -------------------------------------------------- */ /** * Toggle * -------------------------------------------------- */ /* the track appearance when the toggle is "off" */ /* Fix to avoid background color bleeding */ /* (occured on (at least) Android 4.2, Asus MeMO Pad HD7 ME173X) */ /* the handle (circle) thats inside the toggle's track area */ /* also the handle's appearance when it is "off" */ /** * Radio Button Inputs * -------------------------------------------------- */ /** * Range * -------------------------------------------------- */ /** * Select * -------------------------------------------------- */ /** * Progress * -------------------------------------------------- */ /** * Buttons * -------------------------------------------------- */ /** * Button Bar * -------------------------------------------------- */ /** * Grid * -------------------------------------------------- * Using flexbox for the grid, inspired by Philip Walton: * http://philipwalton.github.io/solved-by-flexbox/demos/grids/ * By default each .col within a .row will evenly take up * available width, and the height of each .col with take * up the height of the tallest .col in the same .row. */ /* Vertically Align Columns */ /* .row-* vertically aligns every .col in the .row */ /* .col-* vertically aligns an individual .col */ /* Column Offsets */ /* Explicit Column Percent Sizes */ /* By default each grid column will evenly distribute */ /* across the grid. However, you can specify individual */ /* columns to take up a certain size of the available area */ /* Responsive Grid Classes */ /* Adding a class of responsive-X to a row */ /* will trigger the flex-direction to */ /* change to column and add some margin */ /* to any columns in the row for clearity */ /** * Utility Classes * -------------------------------------------------- */ /** * Content Padding * -------------------------------------------------- */ /** * Scrollable iFrames * -------------------------------------------------- */ /** * Rounded * -------------------------------------------------- */ /** * Utility Colors * -------------------------------------------------- * Utility colors are added to help set a naming convention. You'll * notice we purposely do not use words like "red" or "blue", but * instead have colors which represent an emotion or generic theme. */ /** * Platform * -------------------------------------------------- * Platform specific tweaks */ } .ionic .ion, .ionic .ionicons, .ionic .ion-alert:before, .ionic .ion-alert-circled:before, .ionic .ion-android-add:before, .ionic .ion-android-add-circle:before, .ionic .ion-android-alarm-clock:before, .ionic .ion-android-alert:before, .ionic .ion-android-apps:before, .ionic .ion-android-archive:before, .ionic .ion-android-arrow-back:before, .ionic .ion-android-arrow-down:before, .ionic .ion-android-arrow-dropdown:before, .ionic .ion-android-arrow-dropdown-circle:before, .ionic .ion-android-arrow-dropleft:before, .ionic .ion-android-arrow-dropleft-circle:before, .ionic .ion-android-arrow-dropright:before, .ionic .ion-android-arrow-dropright-circle:before, .ionic .ion-android-arrow-dropup:before, .ionic .ion-android-arrow-dropup-circle:before, .ionic .ion-android-arrow-forward:before, .ionic .ion-android-arrow-up:before, .ionic .ion-android-attach:before, .ionic .ion-android-bar:before, .ionic .ion-android-bicycle:before, .ionic .ion-android-boat:before, .ionic .ion-android-bookmark:before, .ionic .ion-android-bulb:before, .ionic .ion-android-bus:before, .ionic .ion-android-calendar:before, .ionic .ion-android-call:before, .ionic .ion-android-camera:before, .ionic .ion-android-cancel:before, .ionic .ion-android-car:before, .ionic .ion-android-cart:before, .ionic .ion-android-chat:before, .ionic .ion-android-checkbox:before, .ionic .ion-android-checkbox-blank:before, .ionic .ion-android-checkbox-outline:before, .ionic .ion-android-checkbox-outline-blank:before, .ionic .ion-android-checkmark-circle:before, .ionic .ion-android-clipboard:before, .ionic .ion-android-close:before, .ionic .ion-android-cloud:before, .ionic .ion-android-cloud-circle:before, .ionic .ion-android-cloud-done:before, .ionic .ion-android-cloud-outline:before, .ionic .ion-android-color-palette:before, .ionic .ion-android-compass:before, .ionic .ion-android-contact:before, .ionic .ion-android-contacts:before, .ionic .ion-android-contract:before, .ionic .ion-android-create:before, .ionic .ion-android-delete:before, .ionic .ion-android-desktop:before, .ionic .ion-android-document:before, .ionic .ion-android-done:before, .ionic .ion-android-done-all:before, .ionic .ion-android-download:before, .ionic .ion-android-drafts:before, .ionic .ion-android-exit:before, .ionic .ion-android-expand:before, .ionic .ion-android-favorite:before, .ionic .ion-android-favorite-outline:before, .ionic .ion-android-film:before, .ionic .ion-android-folder:before, .ionic .ion-android-folder-open:before, .ionic .ion-android-funnel:before, .ionic .ion-android-globe:before, .ionic .ion-android-hand:before, .ionic .ion-android-hangout:before, .ionic .ion-android-happy:before, .ionic .ion-android-home:before, .ionic .ion-android-image:before, .ionic .ion-android-laptop:before, .ionic .ion-android-list:before, .ionic .ion-android-locate:before, .ionic .ion-android-lock:before, .ionic .ion-android-mail:before, .ionic .ion-android-map:before, .ionic .ion-android-menu:before, .ionic .ion-android-microphone:before, .ionic .ion-android-microphone-off:before, .ionic .ion-android-more-horizontal:before, .ionic .ion-android-more-vertical:before, .ionic .ion-android-navigate:before, .ionic .ion-android-notifications:before, .ionic .ion-android-notifications-none:before, .ionic .ion-android-notifications-off:before, .ionic .ion-android-open:before, .ionic .ion-android-options:before, .ionic .ion-android-people:before, .ionic .ion-android-person:before, .ionic .ion-android-person-add:before, .ionic .ion-android-phone-landscape:before, .ionic .ion-android-phone-portrait:before, .ionic .ion-android-pin:before, .ionic .ion-android-plane:before, .ionic .ion-android-playstore:before, .ionic .ion-android-print:before, .ionic .ion-android-radio-button-off:before, .ionic .ion-android-radio-button-on:before, .ionic .ion-android-refresh:before, .ionic .ion-android-remove:before, .ionic .ion-android-remove-circle:before, .ionic .ion-android-restaurant:before, .ionic .ion-android-sad:before, .ionic .ion-android-search:before, .ionic .ion-android-send:before, .ionic .ion-android-settings:before, .ionic .ion-android-share:before, .ionic .ion-android-share-alt:before, .ionic .ion-android-star:before, .ionic .ion-android-star-half:before, .ionic .ion-android-star-outline:before, .ionic .ion-android-stopwatch:before, .ionic .ion-android-subway:before, .ionic .ion-android-sunny:before, .ionic .ion-android-sync:before, .ionic .ion-android-textsms:before, .ionic .ion-android-time:before, .ionic .ion-android-train:before, .ionic .ion-android-unlock:before, .ionic .ion-android-upload:before, .ionic .ion-android-volume-down:before, .ionic .ion-android-volume-mute:before, .ionic .ion-android-volume-off:before, .ionic .ion-android-volume-up:before, .ionic .ion-android-walk:before, .ionic .ion-android-warning:before, .ionic .ion-android-watch:before, .ionic .ion-android-wifi:before, .ionic .ion-aperture:before, .ionic .ion-archive:before, .ionic .ion-arrow-down-a:before, .ionic .ion-arrow-down-b:before, .ionic .ion-arrow-down-c:before, .ionic .ion-arrow-expand:before, .ionic .ion-arrow-graph-down-left:before, .ionic .ion-arrow-graph-down-right:before, .ionic .ion-arrow-graph-up-left:before, .ionic .ion-arrow-graph-up-right:before, .ionic .ion-arrow-left-a:before, .ionic .ion-arrow-left-b:before, .ionic .ion-arrow-left-c:before, .ionic .ion-arrow-move:before, .ionic .ion-arrow-resize:before, .ionic .ion-arrow-return-left:before, .ionic .ion-arrow-return-right:before, .ionic .ion-arrow-right-a:before, .ionic .ion-arrow-right-b:before, .ionic .ion-arrow-right-c:before, .ionic .ion-arrow-shrink:before, .ionic .ion-arrow-swap:before, .ionic .ion-arrow-up-a:before, .ionic .ion-arrow-up-b:before, .ionic .ion-arrow-up-c:before, .ionic .ion-asterisk:before, .ionic .ion-at:before, .ionic .ion-backspace:before, .ionic .ion-backspace-outline:before, .ionic .ion-bag:before, .ionic .ion-battery-charging:before, .ionic .ion-battery-empty:before, .ionic .ion-battery-full:before, .ionic .ion-battery-half:before, .ionic .ion-battery-low:before, .ionic .ion-beaker:before, .ionic .ion-beer:before, .ionic .ion-bluetooth:before, .ionic .ion-bonfire:before, .ionic .ion-bookmark:before, .ionic .ion-bowtie:before, .ionic .ion-briefcase:before, .ionic .ion-bug:before, .ionic .ion-calculator:before, .ionic .ion-calendar:before, .ionic .ion-camera:before, .ionic .ion-card:before, .ionic .ion-cash:before, .ionic .ion-chatbox:before, .ionic .ion-chatbox-working:before, .ionic .ion-chatboxes:before, .ionic .ion-chatbubble:before, .ionic .ion-chatbubble-working:before, .ionic .ion-chatbubbles:before, .ionic .ion-checkmark:before, .ionic .ion-checkmark-circled:before, .ionic .ion-checkmark-round:before, .ionic .ion-chevron-down:before, .ionic .ion-chevron-left:before, .ionic .ion-chevron-right:before, .ionic .ion-chevron-up:before, .ionic .ion-clipboard:before, .ionic .ion-clock:before, .ionic .ion-close:before, .ionic .ion-close-circled:before, .ionic .ion-close-round:before, .ionic .ion-closed-captioning:before, .ionic .ion-cloud:before, .ionic .ion-code:before, .ionic .ion-code-download:before, .ionic .ion-code-working:before, .ionic .ion-coffee:before, .ionic .ion-compass:before, .ionic .ion-compose:before, .ionic .ion-connection-bars:before, .ionic .ion-contrast:before, .ionic .ion-crop:before, .ionic .ion-cube:before, .ionic .ion-disc:before, .ionic .ion-document:before, .ionic .ion-document-text:before, .ionic .ion-drag:before, .ionic .ion-earth:before, .ionic .ion-easel:before, .ionic .ion-edit:before, .ionic .ion-egg:before, .ionic .ion-eject:before, .ionic .ion-email:before, .ionic .ion-email-unread:before, .ionic .ion-erlenmeyer-flask:before, .ionic .ion-erlenmeyer-flask-bubbles:before, .ionic .ion-eye:before, .ionic .ion-eye-disabled:before, .ionic .ion-female:before, .ionic .ion-filing:before, .ionic .ion-film-marker:before, .ionic .ion-fireball:before, .ionic .ion-flag:before, .ionic .ion-flame:before, .ionic .ion-flash:before, .ionic .ion-flash-off:before, .ionic .ion-folder:before, .ionic .ion-fork:before, .ionic .ion-fork-repo:before, .ionic .ion-forward:before, .ionic .ion-funnel:before, .ionic .ion-gear-a:before, .ionic .ion-gear-b:before, .ionic .ion-grid:before, .ionic .ion-hammer:before, .ionic .ion-happy:before, .ionic .ion-happy-outline:before, .ionic .ion-headphone:before, .ionic .ion-heart:before, .ionic .ion-heart-broken:before, .ionic .ion-help:before, .ionic .ion-help-buoy:before, .ionic .ion-help-circled:before, .ionic .ion-home:before, .ionic .ion-icecream:before, .ionic .ion-image:before, .ionic .ion-images:before, .ionic .ion-information:before, .ionic .ion-information-circled:before, .ionic .ion-ionic:before, .ionic .ion-ios-alarm:before, .ionic .ion-ios-alarm-outline:before, .ionic .ion-ios-albums:before, .ionic .ion-ios-albums-outline:before, .ionic .ion-ios-americanfootball:before, .ionic .ion-ios-americanfootball-outline:before, .ionic .ion-ios-analytics:before, .ionic .ion-ios-analytics-outline:before, .ionic .ion-ios-arrow-back:before, .ionic .ion-ios-arrow-down:before, .ionic .ion-ios-arrow-forward:before, .ionic .ion-ios-arrow-left:before, .ionic .ion-ios-arrow-right:before, .ionic .ion-ios-arrow-thin-down:before, .ionic .ion-ios-arrow-thin-left:before, .ionic .ion-ios-arrow-thin-right:before, .ionic .ion-ios-arrow-thin-up:before, .ionic .ion-ios-arrow-up:before, .ionic .ion-ios-at:before, .ionic .ion-ios-at-outline:before, .ionic .ion-ios-barcode:before, .ionic .ion-ios-barcode-outline:before, .ionic .ion-ios-baseball:before, .ionic .ion-ios-baseball-outline:before, .ionic .ion-ios-basketball:before, .ionic .ion-ios-basketball-outline:before, .ionic .ion-ios-bell:before, .ionic .ion-ios-bell-outline:before, .ionic .ion-ios-body:before, .ionic .ion-ios-body-outline:before, .ionic .ion-ios-bolt:before, .ionic .ion-ios-bolt-outline:before, .ionic .ion-ios-book:before, .ionic .ion-ios-book-outline:before, .ionic .ion-ios-bookmarks:before, .ionic .ion-ios-bookmarks-outline:before, .ionic .ion-ios-box:before, .ionic .ion-ios-box-outline:before, .ionic .ion-ios-briefcase:before, .ionic .ion-ios-briefcase-outline:before, .ionic .ion-ios-browsers:before, .ionic .ion-ios-browsers-outline:before, .ionic .ion-ios-calculator:before, .ionic .ion-ios-calculator-outline:before, .ionic .ion-ios-calendar:before, .ionic .ion-ios-calendar-outline:before, .ionic .ion-ios-camera:before, .ionic .ion-ios-camera-outline:before, .ionic .ion-ios-cart:before, .ionic .ion-ios-cart-outline:before, .ionic .ion-ios-chatboxes:before, .ionic .ion-ios-chatboxes-outline:before, .ionic .ion-ios-chatbubble:before, .ionic .ion-ios-chatbubble-outline:before, .ionic .ion-ios-checkmark:before, .ionic .ion-ios-checkmark-empty:before, .ionic .ion-ios-checkmark-outline:before, .ionic .ion-ios-circle-filled:before, .ionic .ion-ios-circle-outline:before, .ionic .ion-ios-clock:before, .ionic .ion-ios-clock-outline:before, .ionic .ion-ios-close:before, .ionic .ion-ios-close-empty:before, .ionic .ion-ios-close-outline:before, .ionic .ion-ios-cloud:before, .ionic .ion-ios-cloud-download:before, .ionic .ion-ios-cloud-download-outline:before, .ionic .ion-ios-cloud-outline:before, .ionic .ion-ios-cloud-upload:before, .ionic .ion-ios-cloud-upload-outline:before, .ionic .ion-ios-cloudy:before, .ionic .ion-ios-cloudy-night:before, .ionic .ion-ios-cloudy-night-outline:before, .ionic .ion-ios-cloudy-outline:before, .ionic .ion-ios-cog:before, .ionic .ion-ios-cog-outline:before, .ionic .ion-ios-color-filter:before, .ionic .ion-ios-color-filter-outline:before, .ionic .ion-ios-color-wand:before, .ionic .ion-ios-color-wand-outline:before, .ionic .ion-ios-compose:before, .ionic .ion-ios-compose-outline:before, .ionic .ion-ios-contact:before, .ionic .ion-ios-contact-outline:before, .ionic .ion-ios-copy:before, .ionic .ion-ios-copy-outline:before, .ionic .ion-ios-crop:before, .ionic .ion-ios-crop-strong:before, .ionic .ion-ios-download:before, .ionic .ion-ios-download-outline:before, .ionic .ion-ios-drag:before, .ionic .ion-ios-email:before, .ionic .ion-ios-email-outline:before, .ionic .ion-ios-eye:before, .ionic .ion-ios-eye-outline:before, .ionic .ion-ios-fastforward:before, .ionic .ion-ios-fastforward-outline:before, .ionic .ion-ios-filing:before, .ionic .ion-ios-filing-outline:before, .ionic .ion-ios-film:before, .ionic .ion-ios-film-outline:before, .ionic .ion-ios-flag:before, .ionic .ion-ios-flag-outline:before, .ionic .ion-ios-flame:before, .ionic .ion-ios-flame-outline:before, .ionic .ion-ios-flask:before, .ionic .ion-ios-flask-outline:before, .ionic .ion-ios-flower:before, .ionic .ion-ios-flower-outline:before, .ionic .ion-ios-folder:before, .ionic .ion-ios-folder-outline:before, .ionic .ion-ios-football:before, .ionic .ion-ios-football-outline:before, .ionic .ion-ios-game-controller-a:before, .ionic .ion-ios-game-controller-a-outline:before, .ionic .ion-ios-game-controller-b:before, .ionic .ion-ios-game-controller-b-outline:before, .ionic .ion-ios-gear:before, .ionic .ion-ios-gear-outline:before, .ionic .ion-ios-glasses:before, .ionic .ion-ios-glasses-outline:before, .ionic .ion-ios-grid-view:before, .ionic .ion-ios-grid-view-outline:before, .ionic .ion-ios-heart:before, .ionic .ion-ios-heart-outline:before, .ionic .ion-ios-help:before, .ionic .ion-ios-help-empty:before, .ionic .ion-ios-help-outline:before, .ionic .ion-ios-home:before, .ionic .ion-ios-home-outline:before, .ionic .ion-ios-infinite:before, .ionic .ion-ios-infinite-outline:before, .ionic .ion-ios-information:before, .ionic .ion-ios-information-empty:before, .ionic .ion-ios-information-outline:before, .ionic .ion-ios-ionic-outline:before, .ionic .ion-ios-keypad:before, .ionic .ion-ios-keypad-outline:before, .ionic .ion-ios-lightbulb:before, .ionic .ion-ios-lightbulb-outline:before, .ionic .ion-ios-list:before, .ionic .ion-ios-list-outline:before, .ionic .ion-ios-location:before, .ionic .ion-ios-location-outline:before, .ionic .ion-ios-locked:before, .ionic .ion-ios-locked-outline:before, .ionic .ion-ios-loop:before, .ionic .ion-ios-loop-strong:before, .ionic .ion-ios-medical:before, .ionic .ion-ios-medical-outline:before, .ionic .ion-ios-medkit:before, .ionic .ion-ios-medkit-outline:before, .ionic .ion-ios-mic:before, .ionic .ion-ios-mic-off:before, .ionic .ion-ios-mic-outline:before, .ionic .ion-ios-minus:before, .ionic .ion-ios-minus-empty:before, .ionic .ion-ios-minus-outline:before, .ionic .ion-ios-monitor:before, .ionic .ion-ios-monitor-outline:before, .ionic .ion-ios-moon:before, .ionic .ion-ios-moon-outline:before, .ionic .ion-ios-more:before, .ionic .ion-ios-more-outline:before, .ionic .ion-ios-musical-note:before, .ionic .ion-ios-musical-notes:before, .ionic .ion-ios-navigate:before, .ionic .ion-ios-navigate-outline:before, .ionic .ion-ios-nutrition:before, .ionic .ion-ios-nutrition-outline:before, .ionic .ion-ios-paper:before, .ionic .ion-ios-paper-outline:before, .ionic .ion-ios-paperplane:before, .ionic .ion-ios-paperplane-outline:before, .ionic .ion-ios-partlysunny:before, .ionic .ion-ios-partlysunny-outline:before, .ionic .ion-ios-pause:before, .ionic .ion-ios-pause-outline:before, .ionic .ion-ios-paw:before, .ionic .ion-ios-paw-outline:before, .ionic .ion-ios-people:before, .ionic .ion-ios-people-outline:before, .ionic .ion-ios-person:before, .ionic .ion-ios-person-outline:before, .ionic .ion-ios-personadd:before, .ionic .ion-ios-personadd-outline:before, .ionic .ion-ios-photos:before, .ionic .ion-ios-photos-outline:before, .ionic .ion-ios-pie:before, .ionic .ion-ios-pie-outline:before, .ionic .ion-ios-pint:before, .ionic .ion-ios-pint-outline:before, .ionic .ion-ios-play:before, .ionic .ion-ios-play-outline:before, .ionic .ion-ios-plus:before, .ionic .ion-ios-plus-empty:before, .ionic .ion-ios-plus-outline:before, .ionic .ion-ios-pricetag:before, .ionic .ion-ios-pricetag-outline:before, .ionic .ion-ios-pricetags:before, .ionic .ion-ios-pricetags-outline:before, .ionic .ion-ios-printer:before, .ionic .ion-ios-printer-outline:before, .ionic .ion-ios-pulse:before, .ionic .ion-ios-pulse-strong:before, .ionic .ion-ios-rainy:before, .ionic .ion-ios-rainy-outline:before, .ionic .ion-ios-recording:before, .ionic .ion-ios-recording-outline:before, .ionic .ion-ios-redo:before, .ionic .ion-ios-redo-outline:before, .ionic .ion-ios-refresh:before, .ionic .ion-ios-refresh-empty:before, .ionic .ion-ios-refresh-outline:before, .ionic .ion-ios-reload:before, .ionic .ion-ios-reverse-camera:before, .ionic .ion-ios-reverse-camera-outline:before, .ionic .ion-ios-rewind:before, .ionic .ion-ios-rewind-outline:before, .ionic .ion-ios-rose:before, .ionic .ion-ios-rose-outline:before, .ionic .ion-ios-search:before, .ionic .ion-ios-search-strong:before, .ionic .ion-ios-settings:before, .ionic .ion-ios-settings-strong:before, .ionic .ion-ios-shuffle:before, .ionic .ion-ios-shuffle-strong:before, .ionic .ion-ios-skipbackward:before, .ionic .ion-ios-skipbackward-outline:before, .ionic .ion-ios-skipforward:before, .ionic .ion-ios-skipforward-outline:before, .ionic .ion-ios-snowy:before, .ionic .ion-ios-speedometer:before, .ionic .ion-ios-speedometer-outline:before, .ionic .ion-ios-star:before, .ionic .ion-ios-star-half:before, .ionic .ion-ios-star-outline:before, .ionic .ion-ios-stopwatch:before, .ionic .ion-ios-stopwatch-outline:before, .ionic .ion-ios-sunny:before, .ionic .ion-ios-sunny-outline:before, .ionic .ion-ios-telephone:before, .ionic .ion-ios-telephone-outline:before, .ionic .ion-ios-tennisball:before, .ionic .ion-ios-tennisball-outline:before, .ionic .ion-ios-thunderstorm:before, .ionic .ion-ios-thunderstorm-outline:before, .ionic .ion-ios-time:before, .ionic .ion-ios-time-outline:before, .ionic .ion-ios-timer:before, .ionic .ion-ios-timer-outline:before, .ionic .ion-ios-toggle:before, .ionic .ion-ios-toggle-outline:before, .ionic .ion-ios-trash:before, .ionic .ion-ios-trash-outline:before, .ionic .ion-ios-undo:before, .ionic .ion-ios-undo-outline:before, .ionic .ion-ios-unlocked:before, .ionic .ion-ios-unlocked-outline:before, .ionic .ion-ios-upload:before, .ionic .ion-ios-upload-outline:before, .ionic .ion-ios-videocam:before, .ionic .ion-ios-videocam-outline:before, .ionic .ion-ios-volume-high:before, .ionic .ion-ios-volume-low:before, .ionic .ion-ios-wineglass:before, .ionic .ion-ios-wineglass-outline:before, .ionic .ion-ios-world:before, .ionic .ion-ios-world-outline:before, .ionic .ion-ipad:before, .ionic .ion-iphone:before, .ionic .ion-ipod:before, .ionic .ion-jet:before, .ionic .ion-key:before, .ionic .ion-knife:before, .ionic .ion-laptop:before, .ionic .ion-leaf:before, .ionic .ion-levels:before, .ionic .ion-lightbulb:before, .ionic .ion-link:before, .ionic .ion-load-a:before, .ionic .ion-load-b:before, .ionic .ion-load-c:before, .ionic .ion-load-d:before, .ionic .ion-location:before, .ionic .ion-lock-combination:before, .ionic .ion-locked:before, .ionic .ion-log-in:before, .ionic .ion-log-out:before, .ionic .ion-loop:before, .ionic .ion-magnet:before, .ionic .ion-male:before, .ionic .ion-man:before, .ionic .ion-map:before, .ionic .ion-medkit:before, .ionic .ion-merge:before, .ionic .ion-mic-a:before, .ionic .ion-mic-b:before, .ionic .ion-mic-c:before, .ionic .ion-minus:before, .ionic .ion-minus-circled:before, .ionic .ion-minus-round:before, .ionic .ion-model-s:before, .ionic .ion-monitor:before, .ionic .ion-more:before, .ionic .ion-mouse:before, .ionic .ion-music-note:before, .ionic .ion-navicon:before, .ionic .ion-navicon-round:before, .ionic .ion-navigate:before, .ionic .ion-network:before, .ionic .ion-no-smoking:before, .ionic .ion-nuclear:before, .ionic .ion-outlet:before, .ionic .ion-paintbrush:before, .ionic .ion-paintbucket:before, .ionic .ion-paper-airplane:before, .ionic .ion-paperclip:before, .ionic .ion-pause:before, .ionic .ion-person:before, .ionic .ion-person-add:before, .ionic .ion-person-stalker:before, .ionic .ion-pie-graph:before, .ionic .ion-pin:before, .ionic .ion-pinpoint:before, .ionic .ion-pizza:before, .ionic .ion-plane:before, .ionic .ion-planet:before, .ionic .ion-play:before, .ionic .ion-playstation:before, .ionic .ion-plus:before, .ionic .ion-plus-circled:before, .ionic .ion-plus-round:before, .ionic .ion-podium:before, .ionic .ion-pound:before, .ionic .ion-power:before, .ionic .ion-pricetag:before, .ionic .ion-pricetags:before, .ionic .ion-printer:before, .ionic .ion-pull-request:before, .ionic .ion-qr-scanner:before, .ionic .ion-quote:before, .ionic .ion-radio-waves:before, .ionic .ion-record:before, .ionic .ion-refresh:before, .ionic .ion-reply:before, .ionic .ion-reply-all:before, .ionic .ion-ribbon-a:before, .ionic .ion-ribbon-b:before, .ionic .ion-sad:before, .ionic .ion-sad-outline:before, .ionic .ion-scissors:before, .ionic .ion-search:before, .ionic .ion-settings:before, .ionic .ion-share:before, .ionic .ion-shuffle:before, .ionic .ion-skip-backward:before, .ionic .ion-skip-forward:before, .ionic .ion-social-android:before, .ionic .ion-social-android-outline:before, .ionic .ion-social-angular:before, .ionic .ion-social-angular-outline:before, .ionic .ion-social-apple:before, .ionic .ion-social-apple-outline:before, .ionic .ion-social-bitcoin:before, .ionic .ion-social-bitcoin-outline:before, .ionic .ion-social-buffer:before, .ionic .ion-social-buffer-outline:before, .ionic .ion-social-chrome:before, .ionic .ion-social-chrome-outline:before, .ionic .ion-social-codepen:before, .ionic .ion-social-codepen-outline:before, .ionic .ion-social-css3:before, .ionic .ion-social-css3-outline:before, .ionic .ion-social-designernews:before, .ionic .ion-social-designernews-outline:before, .ionic .ion-social-dribbble:before, .ionic .ion-social-dribbble-outline:before, .ionic .ion-social-dropbox:before, .ionic .ion-social-dropbox-outline:before, .ionic .ion-social-euro:before, .ionic .ion-social-euro-outline:before, .ionic .ion-social-facebook:before, .ionic .ion-social-facebook-outline:before, .ionic .ion-social-foursquare:before, .ionic .ion-social-foursquare-outline:before, .ionic .ion-social-freebsd-devil:before, .ionic .ion-social-github:before, .ionic .ion-social-github-outline:before, .ionic .ion-social-google:before, .ionic .ion-social-google-outline:before, .ionic .ion-social-googleplus:before, .ionic .ion-social-googleplus-outline:before, .ionic .ion-social-hackernews:before, .ionic .ion-social-hackernews-outline:before, .ionic .ion-social-html5:before, .ionic .ion-social-html5-outline:before, .ionic .ion-social-instagram:before, .ionic .ion-social-instagram-outline:before, .ionic .ion-social-javascript:before, .ionic .ion-social-javascript-outline:before, .ionic .ion-social-linkedin:before, .ionic .ion-social-linkedin-outline:before, .ionic .ion-social-markdown:before, .ionic .ion-social-nodejs:before, .ionic .ion-social-octocat:before, .ionic .ion-social-pinterest:before, .ionic .ion-social-pinterest-outline:before, .ionic .ion-social-python:before, .ionic .ion-social-reddit:before, .ionic .ion-social-reddit-outline:before, .ionic .ion-social-rss:before, .ionic .ion-social-rss-outline:before, .ionic .ion-social-sass:before, .ionic .ion-social-skype:before, .ionic .ion-social-skype-outline:before, .ionic .ion-social-snapchat:before, .ionic .ion-social-snapchat-outline:before, .ionic .ion-social-tumblr:before, .ionic .ion-social-tumblr-outline:before, .ionic .ion-social-tux:before, .ionic .ion-social-twitch:before, .ionic .ion-social-twitch-outline:before, .ionic .ion-social-twitter:before, .ionic .ion-social-twitter-outline:before, .ionic .ion-social-usd:before, .ionic .ion-social-usd-outline:before, .ionic .ion-social-vimeo:before, .ionic .ion-social-vimeo-outline:before, .ionic .ion-social-whatsapp:before, .ionic .ion-social-whatsapp-outline:before, .ionic .ion-social-windows:before, .ionic .ion-social-windows-outline:before, .ionic .ion-social-wordpress:before, .ionic .ion-social-wordpress-outline:before, .ionic .ion-social-yahoo:before, .ionic .ion-social-yahoo-outline:before, .ionic .ion-social-yen:before, .ionic .ion-social-yen-outline:before, .ionic .ion-social-youtube:before, .ionic .ion-social-youtube-outline:before, .ionic .ion-soup-can:before, .ionic .ion-soup-can-outline:before, .ionic .ion-speakerphone:before, .ionic .ion-speedometer:before, .ionic .ion-spoon:before, .ionic .ion-star:before, .ionic .ion-stats-bars:before, .ionic .ion-steam:before, .ionic .ion-stop:before, .ionic .ion-thermometer:before, .ionic .ion-thumbsdown:before, .ionic .ion-thumbsup:before, .ionic .ion-toggle:before, .ionic .ion-toggle-filled:before, .ionic .ion-transgender:before, .ionic .ion-trash-a:before, .ionic .ion-trash-b:before, .ionic .ion-trophy:before, .ionic .ion-tshirt:before, .ionic .ion-tshirt-outline:before, .ionic .ion-umbrella:before, .ionic .ion-university:before, .ionic .ion-unlocked:before, .ionic .ion-upload:before, .ionic .ion-usb:before, .ionic .ion-videocamera:before, .ionic .ion-volume-high:before, .ionic .ion-volume-low:before, .ionic .ion-volume-medium:before, .ionic .ion-volume-mute:before, .ionic .ion-wand:before, .ionic .ion-waterdrop:before, .ionic .ion-wifi:before, .ionic .ion-wineglass:before, .ionic .ion-woman:before, .ionic .ion-wrench:before, .ionic .ion-xbox:before { display: inline-block; font-family: "Ionicons"; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .ionic .ion-alert:before { content: ""; } .ionic .ion-alert-circled:before { content: ""; } .ionic .ion-android-add:before { content: ""; } .ionic .ion-android-add-circle:before { content: ""; } .ionic .ion-android-alarm-clock:before { content: ""; } .ionic .ion-android-alert:before { content: ""; } .ionic .ion-android-apps:before { content: ""; } .ionic .ion-android-archive:before { content: ""; } .ionic .ion-android-arrow-back:before { content: ""; } .ionic .ion-android-arrow-down:before { content: ""; } .ionic .ion-android-arrow-dropdown:before { content: ""; } .ionic .ion-android-arrow-dropdown-circle:before { content: ""; } .ionic .ion-android-arrow-dropleft:before { content: ""; } .ionic .ion-android-arrow-dropleft-circle:before { content: ""; } .ionic .ion-android-arrow-dropright:before { content: ""; } .ionic .ion-android-arrow-dropright-circle:before { content: ""; } .ionic .ion-android-arrow-dropup:before { content: ""; } .ionic .ion-android-arrow-dropup-circle:before { content: ""; } .ionic .ion-android-arrow-forward:before { content: ""; } .ionic .ion-android-arrow-up:before { content: ""; } .ionic .ion-android-attach:before { content: ""; } .ionic .ion-android-bar:before { content: ""; } .ionic .ion-android-bicycle:before { content: ""; } .ionic .ion-android-boat:before { content: ""; } .ionic .ion-android-bookmark:before { content: ""; } .ionic .ion-android-bulb:before { content: ""; } .ionic .ion-android-bus:before { content: ""; } .ionic .ion-android-calendar:before { content: ""; } .ionic .ion-android-call:before { content: ""; } .ionic .ion-android-camera:before { content: ""; } .ionic .ion-android-cancel:before { content: ""; } .ionic .ion-android-car:before { content: ""; } .ionic .ion-android-cart:before { content: ""; } .ionic .ion-android-chat:before { content: ""; } .ionic .ion-android-checkbox:before { content: ""; } .ionic .ion-android-checkbox-blank:before { content: ""; } .ionic .ion-android-checkbox-outline:before { content: ""; } .ionic .ion-android-checkbox-outline-blank:before { content: ""; } .ionic .ion-android-checkmark-circle:before { content: ""; } .ionic .ion-android-clipboard:before { content: ""; } .ionic .ion-android-close:before { content: ""; } .ionic .ion-android-cloud:before { content: ""; } .ionic .ion-android-cloud-circle:before { content: ""; } .ionic .ion-android-cloud-done:before { content: ""; } .ionic .ion-android-cloud-outline:before { content: ""; } .ionic .ion-android-color-palette:before { content: ""; } .ionic .ion-android-compass:before { content: ""; } .ionic .ion-android-contact:before { content: ""; } .ionic .ion-android-contacts:before { content: ""; } .ionic .ion-android-contract:before { content: ""; } .ionic .ion-android-create:before { content: ""; } .ionic .ion-android-delete:before { content: ""; } .ionic .ion-android-desktop:before { content: ""; } .ionic .ion-android-document:before { content: ""; } .ionic .ion-android-done:before { content: ""; } .ionic .ion-android-done-all:before { content: ""; } .ionic .ion-android-download:before { content: ""; } .ionic .ion-android-drafts:before { content: ""; } .ionic .ion-android-exit:before { content: ""; } .ionic .ion-android-expand:before { content: ""; } .ionic .ion-android-favorite:before { content: ""; } .ionic .ion-android-favorite-outline:before { content: ""; } .ionic .ion-android-film:before { content: ""; } .ionic .ion-android-folder:before { content: ""; } .ionic .ion-android-folder-open:before { content: ""; } .ionic .ion-android-funnel:before { content: ""; } .ionic .ion-android-globe:before { content: ""; } .ionic .ion-android-hand:before { content: ""; } .ionic .ion-android-hangout:before { content: ""; } .ionic .ion-android-happy:before { content: ""; } .ionic .ion-android-home:before { content: ""; } .ionic .ion-android-image:before { content: ""; } .ionic .ion-android-laptop:before { content: ""; } .ionic .ion-android-list:before { content: ""; } .ionic .ion-android-locate:before { content: ""; } .ionic .ion-android-lock:before { content: ""; } .ionic .ion-android-mail:before { content: ""; } .ionic .ion-android-map:before { content: ""; } .ionic .ion-android-menu:before { content: ""; } .ionic .ion-android-microphone:before { content: ""; } .ionic .ion-android-microphone-off:before { content: ""; } .ionic .ion-android-more-horizontal:before { content: ""; } .ionic .ion-android-more-vertical:before { content: ""; } .ionic .ion-android-navigate:before { content: ""; } .ionic .ion-android-notifications:before { content: ""; } .ionic .ion-android-notifications-none:before { content: ""; } .ionic .ion-android-notifications-off:before { content: ""; } .ionic .ion-android-open:before { content: ""; } .ionic .ion-android-options:before { content: ""; } .ionic .ion-android-people:before { content: ""; } .ionic .ion-android-person:before { content: ""; } .ionic .ion-android-person-add:before { content: ""; } .ionic .ion-android-phone-landscape:before { content: ""; } .ionic .ion-android-phone-portrait:before { content: ""; } .ionic .ion-android-pin:before { content: ""; } .ionic .ion-android-plane:before { content: ""; } .ionic .ion-android-playstore:before { content: ""; } .ionic .ion-android-print:before { content: ""; } .ionic .ion-android-radio-button-off:before { content: ""; } .ionic .ion-android-radio-button-on:before { content: ""; } .ionic .ion-android-refresh:before { content: ""; } .ionic .ion-android-remove:before { content: ""; } .ionic .ion-android-remove-circle:before { content: ""; } .ionic .ion-android-restaurant:before { content: ""; } .ionic .ion-android-sad:before { content: ""; } .ionic .ion-android-search:before { content: ""; } .ionic .ion-android-send:before { content: ""; } .ionic .ion-android-settings:before { content: ""; } .ionic .ion-android-share:before { content: ""; } .ionic .ion-android-share-alt:before { content: ""; } .ionic .ion-android-star:before { content: ""; } .ionic .ion-android-star-half:before { content: ""; } .ionic .ion-android-star-outline:before { content: ""; } .ionic .ion-android-stopwatch:before { content: ""; } .ionic .ion-android-subway:before { content: ""; } .ionic .ion-android-sunny:before { content: ""; } .ionic .ion-android-sync:before { content: ""; } .ionic .ion-android-textsms:before { content: ""; } .ionic .ion-android-time:before { content: ""; } .ionic .ion-android-train:before { content: ""; } .ionic .ion-android-unlock:before { content: ""; } .ionic .ion-android-upload:before { content: ""; } .ionic .ion-android-volume-down:before { content: ""; } .ionic .ion-android-volume-mute:before { content: ""; } .ionic .ion-android-volume-off:before { content: ""; } .ionic .ion-android-volume-up:before { content: ""; } .ionic .ion-android-walk:before { content: ""; } .ionic .ion-android-warning:before { content: ""; } .ionic .ion-android-watch:before { content: ""; } .ionic .ion-android-wifi:before { content: ""; } .ionic .ion-aperture:before { content: ""; } .ionic .ion-archive:before { content: ""; } .ionic .ion-arrow-down-a:before { content: ""; } .ionic .ion-arrow-down-b:before { content: ""; } .ionic .ion-arrow-down-c:before { content: ""; } .ionic .ion-arrow-expand:before { content: ""; } .ionic .ion-arrow-graph-down-left:before { content: ""; } .ionic .ion-arrow-graph-down-right:before { content: ""; } .ionic .ion-arrow-graph-up-left:before { content: ""; } .ionic .ion-arrow-graph-up-right:before { content: ""; } .ionic .ion-arrow-left-a:before { content: ""; } .ionic .ion-arrow-left-b:before { content: ""; } .ionic .ion-arrow-left-c:before { content: ""; } .ionic .ion-arrow-move:before { content: ""; } .ionic .ion-arrow-resize:before { content: ""; } .ionic .ion-arrow-return-left:before { content: ""; } .ionic .ion-arrow-return-right:before { content: ""; } .ionic .ion-arrow-right-a:before { content: ""; } .ionic .ion-arrow-right-b:before { content: ""; } .ionic .ion-arrow-right-c:before { content: ""; } .ionic .ion-arrow-shrink:before { content: ""; } .ionic .ion-arrow-swap:before { content: ""; } .ionic .ion-arrow-up-a:before { content: ""; } .ionic .ion-arrow-up-b:before { content: ""; } .ionic .ion-arrow-up-c:before { content: ""; } .ionic .ion-asterisk:before { content: ""; } .ionic .ion-at:before { content: ""; } .ionic .ion-backspace:before { content: ""; } .ionic .ion-backspace-outline:before { content: ""; } .ionic .ion-bag:before { content: ""; } .ionic .ion-battery-charging:before { content: ""; } .ionic .ion-battery-empty:before { content: ""; } .ionic .ion-battery-full:before { content: ""; } .ionic .ion-battery-half:before { content: ""; } .ionic .ion-battery-low:before { content: ""; } .ionic .ion-beaker:before { content: ""; } .ionic .ion-beer:before { content: ""; } .ionic .ion-bluetooth:before { content: ""; } .ionic .ion-bonfire:before { content: ""; } .ionic .ion-bookmark:before { content: ""; } .ionic .ion-bowtie:before { content: ""; } .ionic .ion-briefcase:before { content: ""; } .ionic .ion-bug:before { content: ""; } .ionic .ion-calculator:before { content: ""; } .ionic .ion-calendar:before { content: ""; } .ionic .ion-camera:before { content: ""; } .ionic .ion-card:before { content: ""; } .ionic .ion-cash:before { content: ""; } .ionic .ion-chatbox:before { content: ""; } .ionic .ion-chatbox-working:before { content: ""; } .ionic .ion-chatboxes:before { content: ""; } .ionic .ion-chatbubble:before { content: ""; } .ionic .ion-chatbubble-working:before { content: ""; } .ionic .ion-chatbubbles:before { content: ""; } .ionic .ion-checkmark:before { content: ""; } .ionic .ion-checkmark-circled:before { content: ""; } .ionic .ion-checkmark-round:before { content: ""; } .ionic .ion-chevron-down:before { content: ""; } .ionic .ion-chevron-left:before { content: ""; } .ionic .ion-chevron-right:before { content: ""; } .ionic .ion-chevron-up:before { content: ""; } .ionic .ion-clipboard:before { content: ""; } .ionic .ion-clock:before { content: ""; } .ionic .ion-close:before { content: ""; } .ionic .ion-close-circled:before { content: ""; } .ionic .ion-close-round:before { content: ""; } .ionic .ion-closed-captioning:before { content: ""; } .ionic .ion-cloud:before { content: ""; } .ionic .ion-code:before { content: ""; } .ionic .ion-code-download:before { content: ""; } .ionic .ion-code-working:before { content: ""; } .ionic .ion-coffee:before { content: ""; } .ionic .ion-compass:before { content: ""; } .ionic .ion-compose:before { content: ""; } .ionic .ion-connection-bars:before { content: ""; } .ionic .ion-contrast:before { content: ""; } .ionic .ion-crop:before { content: ""; } .ionic .ion-cube:before { content: ""; } .ionic .ion-disc:before { content: ""; } .ionic .ion-document:before { content: ""; } .ionic .ion-document-text:before { content: ""; } .ionic .ion-drag:before { content: ""; } .ionic .ion-earth:before { content: ""; } .ionic .ion-easel:before { content: ""; } .ionic .ion-edit:before { content: ""; } .ionic .ion-egg:before { content: ""; } .ionic .ion-eject:before { content: ""; } .ionic .ion-email:before { content: ""; } .ionic .ion-email-unread:before { content: ""; } .ionic .ion-erlenmeyer-flask:before { content: ""; } .ionic .ion-erlenmeyer-flask-bubbles:before { content: ""; } .ionic .ion-eye:before { content: ""; } .ionic .ion-eye-disabled:before { content: ""; } .ionic .ion-female:before { content: ""; } .ionic .ion-filing:before { content: ""; } .ionic .ion-film-marker:before { content: ""; } .ionic .ion-fireball:before { content: ""; } .ionic .ion-flag:before { content: ""; } .ionic .ion-flame:before { content: ""; } .ionic .ion-flash:before { content: ""; } .ionic .ion-flash-off:before { content: ""; } .ionic .ion-folder:before { content: ""; } .ionic .ion-fork:before { content: ""; } .ionic .ion-fork-repo:before { content: ""; } .ionic .ion-forward:before { content: ""; } .ionic .ion-funnel:before { content: ""; } .ionic .ion-gear-a:before { content: ""; } .ionic .ion-gear-b:before { content: ""; } .ionic .ion-grid:before { content: ""; } .ionic .ion-hammer:before { content: ""; } .ionic .ion-happy:before { content: ""; } .ionic .ion-happy-outline:before { content: ""; } .ionic .ion-headphone:before { content: ""; } .ionic .ion-heart:before { content: ""; } .ionic .ion-heart-broken:before { content: ""; } .ionic .ion-help:before { content: ""; } .ionic .ion-help-buoy:before { content: ""; } .ionic .ion-help-circled:before { content: ""; } .ionic .ion-home:before { content: ""; } .ionic .ion-icecream:before { content: ""; } .ionic .ion-image:before { content: ""; } .ionic .ion-images:before { content: ""; } .ionic .ion-information:before { content: ""; } .ionic .ion-information-circled:before { content: ""; } .ionic .ion-ionic:before { content: ""; } .ionic .ion-ios-alarm:before { content: ""; } .ionic .ion-ios-alarm-outline:before { content: ""; } .ionic .ion-ios-albums:before { content: ""; } .ionic .ion-ios-albums-outline:before { content: ""; } .ionic .ion-ios-americanfootball:before { content: ""; } .ionic .ion-ios-americanfootball-outline:before { content: ""; } .ionic .ion-ios-analytics:before { content: ""; } .ionic .ion-ios-analytics-outline:before { content: ""; } .ionic .ion-ios-arrow-back:before { content: ""; } .ionic .ion-ios-arrow-down:before { content: ""; } .ionic .ion-ios-arrow-forward:before { content: ""; } .ionic .ion-ios-arrow-left:before { content: ""; } .ionic .ion-ios-arrow-right:before { content: ""; } .ionic .ion-ios-arrow-thin-down:before { content: ""; } .ionic .ion-ios-arrow-thin-left:before { content: ""; } .ionic .ion-ios-arrow-thin-right:before { content: ""; } .ionic .ion-ios-arrow-thin-up:before { content: ""; } .ionic .ion-ios-arrow-up:before { content: ""; } .ionic .ion-ios-at:before { content: ""; } .ionic .ion-ios-at-outline:before { content: ""; } .ionic .ion-ios-barcode:before { content: ""; } .ionic .ion-ios-barcode-outline:before { content: ""; } .ionic .ion-ios-baseball:before { content: ""; } .ionic .ion-ios-baseball-outline:before { content: ""; } .ionic .ion-ios-basketball:before { content: ""; } .ionic .ion-ios-basketball-outline:before { content: ""; } .ionic .ion-ios-bell:before { content: ""; } .ionic .ion-ios-bell-outline:before { content: ""; } .ionic .ion-ios-body:before { content: ""; } .ionic .ion-ios-body-outline:before { content: ""; } .ionic .ion-ios-bolt:before { content: ""; } .ionic .ion-ios-bolt-outline:before { content: ""; } .ionic .ion-ios-book:before { content: ""; } .ionic .ion-ios-book-outline:before { content: ""; } .ionic .ion-ios-bookmarks:before { content: ""; } .ionic .ion-ios-bookmarks-outline:before { content: ""; } .ionic .ion-ios-box:before { content: ""; } .ionic .ion-ios-box-outline:before { content: ""; } .ionic .ion-ios-briefcase:before { content: ""; } .ionic .ion-ios-briefcase-outline:before { content: ""; } .ionic .ion-ios-browsers:before { content: ""; } .ionic .ion-ios-browsers-outline:before { content: ""; } .ionic .ion-ios-calculator:before { content: ""; } .ionic .ion-ios-calculator-outline:before { content: ""; } .ionic .ion-ios-calendar:before { content: ""; } .ionic .ion-ios-calendar-outline:before { content: ""; } .ionic .ion-ios-camera:before { content: ""; } .ionic .ion-ios-camera-outline:before { content: ""; } .ionic .ion-ios-cart:before { content: ""; } .ionic .ion-ios-cart-outline:before { content: ""; } .ionic .ion-ios-chatboxes:before { content: ""; } .ionic .ion-ios-chatboxes-outline:before { content: ""; } .ionic .ion-ios-chatbubble:before { content: ""; } .ionic .ion-ios-chatbubble-outline:before { content: ""; } .ionic .ion-ios-checkmark:before { content: ""; } .ionic .ion-ios-checkmark-empty:before { content: ""; } .ionic .ion-ios-checkmark-outline:before { content: ""; } .ionic .ion-ios-circle-filled:before { content: ""; } .ionic .ion-ios-circle-outline:before { content: ""; } .ionic .ion-ios-clock:before { content: ""; } .ionic .ion-ios-clock-outline:before { content: ""; } .ionic .ion-ios-close:before { content: ""; } .ionic .ion-ios-close-empty:before { content: ""; } .ionic .ion-ios-close-outline:before { content: ""; } .ionic .ion-ios-cloud:before { content: ""; } .ionic .ion-ios-cloud-download:before { content: ""; } .ionic .ion-ios-cloud-download-outline:before { content: ""; } .ionic .ion-ios-cloud-outline:before { content: ""; } .ionic .ion-ios-cloud-upload:before { content: ""; } .ionic .ion-ios-cloud-upload-outline:before { content: ""; } .ionic .ion-ios-cloudy:before { content: ""; } .ionic .ion-ios-cloudy-night:before { content: ""; } .ionic .ion-ios-cloudy-night-outline:before { content: ""; } .ionic .ion-ios-cloudy-outline:before { content: ""; } .ionic .ion-ios-cog:before { content: ""; } .ionic .ion-ios-cog-outline:before { content: ""; } .ionic .ion-ios-color-filter:before { content: ""; } .ionic .ion-ios-color-filter-outline:before { content: ""; } .ionic .ion-ios-color-wand:before { content: ""; } .ionic .ion-ios-color-wand-outline:before { content: ""; } .ionic .ion-ios-compose:before { content: ""; } .ionic .ion-ios-compose-outline:before { content: ""; } .ionic .ion-ios-contact:before { content: ""; } .ionic .ion-ios-contact-outline:before { content: ""; } .ionic .ion-ios-copy:before { content: ""; } .ionic .ion-ios-copy-outline:before { content: ""; } .ionic .ion-ios-crop:before { content: ""; } .ionic .ion-ios-crop-strong:before { content: ""; } .ionic .ion-ios-download:before { content: ""; } .ionic .ion-ios-download-outline:before { content: ""; } .ionic .ion-ios-drag:before { content: ""; } .ionic .ion-ios-email:before { content: ""; } .ionic .ion-ios-email-outline:before { content: ""; } .ionic .ion-ios-eye:before { content: ""; } .ionic .ion-ios-eye-outline:before { content: ""; } .ionic .ion-ios-fastforward:before { content: ""; } .ionic .ion-ios-fastforward-outline:before { content: ""; } .ionic .ion-ios-filing:before { content: ""; } .ionic .ion-ios-filing-outline:before { content: ""; } .ionic .ion-ios-film:before { content: ""; } .ionic .ion-ios-film-outline:before { content: ""; } .ionic .ion-ios-flag:before { content: ""; } .ionic .ion-ios-flag-outline:before { content: ""; } .ionic .ion-ios-flame:before { content: ""; } .ionic .ion-ios-flame-outline:before { content: ""; } .ionic .ion-ios-flask:before { content: ""; } .ionic .ion-ios-flask-outline:before { content: ""; } .ionic .ion-ios-flower:before { content: ""; } .ionic .ion-ios-flower-outline:before { content: ""; } .ionic .ion-ios-folder:before { content: ""; } .ionic .ion-ios-folder-outline:before { content: ""; } .ionic .ion-ios-football:before { content: ""; } .ionic .ion-ios-football-outline:before { content: ""; } .ionic .ion-ios-game-controller-a:before { content: ""; } .ionic .ion-ios-game-controller-a-outline:before { content: ""; } .ionic .ion-ios-game-controller-b:before { content: ""; } .ionic .ion-ios-game-controller-b-outline:before { content: ""; } .ionic .ion-ios-gear:before { content: ""; } .ionic .ion-ios-gear-outline:before { content: ""; } .ionic .ion-ios-glasses:before { content: ""; } .ionic .ion-ios-glasses-outline:before { content: ""; } .ionic .ion-ios-grid-view:before { content: ""; } .ionic .ion-ios-grid-view-outline:before { content: ""; } .ionic .ion-ios-heart:before { content: ""; } .ionic .ion-ios-heart-outline:before { content: ""; } .ionic .ion-ios-help:before { content: ""; } .ionic .ion-ios-help-empty:before { content: ""; } .ionic .ion-ios-help-outline:before { content: ""; } .ionic .ion-ios-home:before { content: ""; } .ionic .ion-ios-home-outline:before { content: ""; } .ionic .ion-ios-infinite:before { content: ""; } .ionic .ion-ios-infinite-outline:before { content: ""; } .ionic .ion-ios-information:before { content: ""; } .ionic .ion-ios-information-empty:before { content: ""; } .ionic .ion-ios-information-outline:before { content: ""; } .ionic .ion-ios-ionic-outline:before { content: ""; } .ionic .ion-ios-keypad:before { content: ""; } .ionic .ion-ios-keypad-outline:before { content: ""; } .ionic .ion-ios-lightbulb:before { content: ""; } .ionic .ion-ios-lightbulb-outline:before { content: ""; } .ionic .ion-ios-list:before { content: ""; } .ionic .ion-ios-list-outline:before { content: ""; } .ionic .ion-ios-location:before { content: ""; } .ionic .ion-ios-location-outline:before { content: ""; } .ionic .ion-ios-locked:before { content: ""; } .ionic .ion-ios-locked-outline:before { content: ""; } .ionic .ion-ios-loop:before { content: ""; } .ionic .ion-ios-loop-strong:before { content: ""; } .ionic .ion-ios-medical:before { content: ""; } .ionic .ion-ios-medical-outline:before { content: ""; } .ionic .ion-ios-medkit:before { content: ""; } .ionic .ion-ios-medkit-outline:before { content: ""; } .ionic .ion-ios-mic:before { content: ""; } .ionic .ion-ios-mic-off:before { content: ""; } .ionic .ion-ios-mic-outline:before { content: ""; } .ionic .ion-ios-minus:before { content: ""; } .ionic .ion-ios-minus-empty:before { content: ""; } .ionic .ion-ios-minus-outline:before { content: ""; } .ionic .ion-ios-monitor:before { content: ""; } .ionic .ion-ios-monitor-outline:before { content: ""; } .ionic .ion-ios-moon:before { content: ""; } .ionic .ion-ios-moon-outline:before { content: ""; } .ionic .ion-ios-more:before { content: ""; } .ionic .ion-ios-more-outline:before { content: ""; } .ionic .ion-ios-musical-note:before { content: ""; } .ionic .ion-ios-musical-notes:before { content: ""; } .ionic .ion-ios-navigate:before { content: ""; } .ionic .ion-ios-navigate-outline:before { content: ""; } .ionic .ion-ios-nutrition:before { content: ""; } .ionic .ion-ios-nutrition-outline:before { content: ""; } .ionic .ion-ios-paper:before { content: ""; } .ionic .ion-ios-paper-outline:before { content: ""; } .ionic .ion-ios-paperplane:before { content: ""; } .ionic .ion-ios-paperplane-outline:before { content: ""; } .ionic .ion-ios-partlysunny:before { content: ""; } .ionic .ion-ios-partlysunny-outline:before { content: ""; } .ionic .ion-ios-pause:before { content: ""; } .ionic .ion-ios-pause-outline:before { content: ""; } .ionic .ion-ios-paw:before { content: ""; } .ionic .ion-ios-paw-outline:before { content: ""; } .ionic .ion-ios-people:before { content: ""; } .ionic .ion-ios-people-outline:before { content: ""; } .ionic .ion-ios-person:before { content: ""; } .ionic .ion-ios-person-outline:before { content: ""; } .ionic .ion-ios-personadd:before { content: ""; } .ionic .ion-ios-personadd-outline:before { content: ""; } .ionic .ion-ios-photos:before { content: ""; } .ionic .ion-ios-photos-outline:before { content: ""; } .ionic .ion-ios-pie:before { content: ""; } .ionic .ion-ios-pie-outline:before { content: ""; } .ionic .ion-ios-pint:before { content: ""; } .ionic .ion-ios-pint-outline:before { content: ""; } .ionic .ion-ios-play:before { content: ""; } .ionic .ion-ios-play-outline:before { content: ""; } .ionic .ion-ios-plus:before { content: ""; } .ionic .ion-ios-plus-empty:before { content: ""; } .ionic .ion-ios-plus-outline:before { content: ""; } .ionic .ion-ios-pricetag:before { content: ""; } .ionic .ion-ios-pricetag-outline:before { content: ""; } .ionic .ion-ios-pricetags:before { content: ""; } .ionic .ion-ios-pricetags-outline:before { content: ""; } .ionic .ion-ios-printer:before { content: ""; } .ionic .ion-ios-printer-outline:before { content: ""; } .ionic .ion-ios-pulse:before { content: ""; } .ionic .ion-ios-pulse-strong:before { content: ""; } .ionic .ion-ios-rainy:before { content: ""; } .ionic .ion-ios-rainy-outline:before { content: ""; } .ionic .ion-ios-recording:before { content: ""; } .ionic .ion-ios-recording-outline:before { content: ""; } .ionic .ion-ios-redo:before { content: ""; } .ionic .ion-ios-redo-outline:before { content: ""; } .ionic .ion-ios-refresh:before { content: ""; } .ionic .ion-ios-refresh-empty:before { content: ""; } .ionic .ion-ios-refresh-outline:before { content: ""; } .ionic .ion-ios-reload:before { content: ""; } .ionic .ion-ios-reverse-camera:before { content: ""; } .ionic .ion-ios-reverse-camera-outline:before { content: ""; } .ionic .ion-ios-rewind:before { content: ""; } .ionic .ion-ios-rewind-outline:before { content: ""; } .ionic .ion-ios-rose:before { content: ""; } .ionic .ion-ios-rose-outline:before { content: ""; } .ionic .ion-ios-search:before { content: ""; } .ionic .ion-ios-search-strong:before { content: ""; } .ionic .ion-ios-settings:before { content: ""; } .ionic .ion-ios-settings-strong:before { content: ""; } .ionic .ion-ios-shuffle:before { content: ""; } .ionic .ion-ios-shuffle-strong:before { content: ""; } .ionic .ion-ios-skipbackward:before { content: ""; } .ionic .ion-ios-skipbackward-outline:before { content: ""; } .ionic .ion-ios-skipforward:before { content: ""; } .ionic .ion-ios-skipforward-outline:before { content: ""; } .ionic .ion-ios-snowy:before { content: ""; } .ionic .ion-ios-speedometer:before { content: ""; } .ionic .ion-ios-speedometer-outline:before { content: ""; } .ionic .ion-ios-star:before { content: ""; } .ionic .ion-ios-star-half:before { content: ""; } .ionic .ion-ios-star-outline:before { content: ""; } .ionic .ion-ios-stopwatch:before { content: ""; } .ionic .ion-ios-stopwatch-outline:before { content: ""; } .ionic .ion-ios-sunny:before { content: ""; } .ionic .ion-ios-sunny-outline:before { content: ""; } .ionic .ion-ios-telephone:before { content: ""; } .ionic .ion-ios-telephone-outline:before { content: ""; } .ionic .ion-ios-tennisball:before { content: ""; } .ionic .ion-ios-tennisball-outline:before { content: ""; } .ionic .ion-ios-thunderstorm:before { content: ""; } .ionic .ion-ios-thunderstorm-outline:before { content: ""; } .ionic .ion-ios-time:before { content: ""; } .ionic .ion-ios-time-outline:before { content: ""; } .ionic .ion-ios-timer:before { content: ""; } .ionic .ion-ios-timer-outline:before { content: ""; } .ionic .ion-ios-toggle:before { content: ""; } .ionic .ion-ios-toggle-outline:before { content: ""; } .ionic .ion-ios-trash:before { content: ""; } .ionic .ion-ios-trash-outline:before { content: ""; } .ionic .ion-ios-undo:before { content: ""; } .ionic .ion-ios-undo-outline:before { content: ""; } .ionic .ion-ios-unlocked:before { content: ""; } .ionic .ion-ios-unlocked-outline:before { content: ""; } .ionic .ion-ios-upload:before { content: ""; } .ionic .ion-ios-upload-outline:before { content: ""; } .ionic .ion-ios-videocam:before { content: ""; } .ionic .ion-ios-videocam-outline:before { content: ""; } .ionic .ion-ios-volume-high:before { content: ""; } .ionic .ion-ios-volume-low:before { content: ""; } .ionic .ion-ios-wineglass:before { content: ""; } .ionic .ion-ios-wineglass-outline:before { content: ""; } .ionic .ion-ios-world:before { content: ""; } .ionic .ion-ios-world-outline:before { content: ""; } .ionic .ion-ipad:before { content: ""; } .ionic .ion-iphone:before { content: ""; } .ionic .ion-ipod:before { content: ""; } .ionic .ion-jet:before { content: ""; } .ionic .ion-key:before { content: ""; } .ionic .ion-knife:before { content: ""; } .ionic .ion-laptop:before { content: ""; } .ionic .ion-leaf:before { content: ""; } .ionic .ion-levels:before { content: ""; } .ionic .ion-lightbulb:before { content: ""; } .ionic .ion-link:before { content: ""; } .ionic .ion-load-a:before { content: ""; } .ionic .ion-load-b:before { content: ""; } .ionic .ion-load-c:before { content: ""; } .ionic .ion-load-d:before { content: ""; } .ionic .ion-location:before { content: ""; } .ionic .ion-lock-combination:before { content: ""; } .ionic .ion-locked:before { content: ""; } .ionic .ion-log-in:before { content: ""; } .ionic .ion-log-out:before { content: ""; } .ionic .ion-loop:before { content: ""; } .ionic .ion-magnet:before { content: ""; } .ionic .ion-male:before { content: ""; } .ionic .ion-man:before { content: ""; } .ionic .ion-map:before { content: ""; } .ionic .ion-medkit:before { content: ""; } .ionic .ion-merge:before { content: ""; } .ionic .ion-mic-a:before { content: ""; } .ionic .ion-mic-b:before { content: ""; } .ionic .ion-mic-c:before { content: ""; } .ionic .ion-minus:before { content: ""; } .ionic .ion-minus-circled:before { content: ""; } .ionic .ion-minus-round:before { content: ""; } .ionic .ion-model-s:before { content: ""; } .ionic .ion-monitor:before { content: ""; } .ionic .ion-more:before { content: ""; } .ionic .ion-mouse:before { content: ""; } .ionic .ion-music-note:before { content: ""; } .ionic .ion-navicon:before { content: ""; } .ionic .ion-navicon-round:before { content: ""; } .ionic .ion-navigate:before { content: ""; } .ionic .ion-network:before { content: ""; } .ionic .ion-no-smoking:before { content: ""; } .ionic .ion-nuclear:before { content: ""; } .ionic .ion-outlet:before { content: ""; } .ionic .ion-paintbrush:before { content: ""; } .ionic .ion-paintbucket:before { content: ""; } .ionic .ion-paper-airplane:before { content: ""; } .ionic .ion-paperclip:before { content: ""; } .ionic .ion-pause:before { content: ""; } .ionic .ion-person:before { content: ""; } .ionic .ion-person-add:before { content: ""; } .ionic .ion-person-stalker:before { content: ""; } .ionic .ion-pie-graph:before { content: ""; } .ionic .ion-pin:before { content: ""; } .ionic .ion-pinpoint:before { content: ""; } .ionic .ion-pizza:before { content: ""; } .ionic .ion-plane:before { content: ""; } .ionic .ion-planet:before { content: ""; } .ionic .ion-play:before { content: ""; } .ionic .ion-playstation:before { content: ""; } .ionic .ion-plus:before { content: ""; } .ionic .ion-plus-circled:before { content: ""; } .ionic .ion-plus-round:before { content: ""; } .ionic .ion-podium:before { content: ""; } .ionic .ion-pound:before { content: ""; } .ionic .ion-power:before { content: ""; } .ionic .ion-pricetag:before { content: ""; } .ionic .ion-pricetags:before { content: ""; } .ionic .ion-printer:before { content: ""; } .ionic .ion-pull-request:before { content: ""; } .ionic .ion-qr-scanner:before { content: ""; } .ionic .ion-quote:before { content: ""; } .ionic .ion-radio-waves:before { content: ""; } .ionic .ion-record:before { content: ""; } .ionic .ion-refresh:before { content: ""; } .ionic .ion-reply:before { content: ""; } .ionic .ion-reply-all:before { content: ""; } .ionic .ion-ribbon-a:before { content: ""; } .ionic .ion-ribbon-b:before { content: ""; } .ionic .ion-sad:before { content: ""; } .ionic .ion-sad-outline:before { content: ""; } .ionic .ion-scissors:before { content: ""; } .ionic .ion-search:before { content: ""; } .ionic .ion-settings:before { content: ""; } .ionic .ion-share:before { content: ""; } .ionic .ion-shuffle:before { content: ""; } .ionic .ion-skip-backward:before { content: ""; } .ionic .ion-skip-forward:before { content: ""; } .ionic .ion-social-android:before { content: ""; } .ionic .ion-social-android-outline:before { content: ""; } .ionic .ion-social-angular:before { content: ""; } .ionic .ion-social-angular-outline:before { content: ""; } .ionic .ion-social-apple:before { content: ""; } .ionic .ion-social-apple-outline:before { content: ""; } .ionic .ion-social-bitcoin:before { content: ""; } .ionic .ion-social-bitcoin-outline:before { content: ""; } .ionic .ion-social-buffer:before { content: ""; } .ionic .ion-social-buffer-outline:before { content: ""; } .ionic .ion-social-chrome:before { content: ""; } .ionic .ion-social-chrome-outline:before { content: ""; } .ionic .ion-social-codepen:before { content: ""; } .ionic .ion-social-codepen-outline:before { content: ""; } .ionic .ion-social-css3:before { content: ""; } .ionic .ion-social-css3-outline:before { content: ""; } .ionic .ion-social-designernews:before { content: ""; } .ionic .ion-social-designernews-outline:before { content: ""; } .ionic .ion-social-dribbble:before { content: ""; } .ionic .ion-social-dribbble-outline:before { content: ""; } .ionic .ion-social-dropbox:before { content: ""; } .ionic .ion-social-dropbox-outline:before { content: ""; } .ionic .ion-social-euro:before { content: ""; } .ionic .ion-social-euro-outline:before { content: ""; } .ionic .ion-social-facebook:before { content: ""; } .ionic .ion-social-facebook-outline:before { content: ""; } .ionic .ion-social-foursquare:before { content: ""; } .ionic .ion-social-foursquare-outline:before { content: ""; } .ionic .ion-social-freebsd-devil:before { content: ""; } .ionic .ion-social-github:before { content: ""; } .ionic .ion-social-github-outline:before { content: ""; } .ionic .ion-social-google:before { content: ""; } .ionic .ion-social-google-outline:before { content: ""; } .ionic .ion-social-googleplus:before { content: ""; } .ionic .ion-social-googleplus-outline:before { content: ""; } .ionic .ion-social-hackernews:before { content: ""; } .ionic .ion-social-hackernews-outline:before { content: ""; } .ionic .ion-social-html5:before { content: ""; } .ionic .ion-social-html5-outline:before { content: ""; } .ionic .ion-social-instagram:before { content: ""; } .ionic .ion-social-instagram-outline:before { content: ""; } .ionic .ion-social-javascript:before { content: ""; } .ionic .ion-social-javascript-outline:before { content: ""; } .ionic .ion-social-linkedin:before { content: ""; } .ionic .ion-social-linkedin-outline:before { content: ""; } .ionic .ion-social-markdown:before { content: ""; } .ionic .ion-social-nodejs:before { content: ""; } .ionic .ion-social-octocat:before { content: ""; } .ionic .ion-social-pinterest:before { content: ""; } .ionic .ion-social-pinterest-outline:before { content: ""; } .ionic .ion-social-python:before { content: ""; } .ionic .ion-social-reddit:before { content: ""; } .ionic .ion-social-reddit-outline:before { content: ""; } .ionic .ion-social-rss:before { content: ""; } .ionic .ion-social-rss-outline:before { content: ""; } .ionic .ion-social-sass:before { content: ""; } .ionic .ion-social-skype:before { content: ""; } .ionic .ion-social-skype-outline:before { content: ""; } .ionic .ion-social-snapchat:before { content: ""; } .ionic .ion-social-snapchat-outline:before { content: ""; } .ionic .ion-social-tumblr:before { content: ""; } .ionic .ion-social-tumblr-outline:before { content: ""; } .ionic .ion-social-tux:before { content: ""; } .ionic .ion-social-twitch:before { content: ""; } .ionic .ion-social-twitch-outline:before { content: ""; } .ionic .ion-social-twitter:before { content: ""; } .ionic .ion-social-twitter-outline:before { content: ""; } .ionic .ion-social-usd:before { content: ""; } .ionic .ion-social-usd-outline:before { content: ""; } .ionic .ion-social-vimeo:before { content: ""; } .ionic .ion-social-vimeo-outline:before { content: ""; } .ionic .ion-social-whatsapp:before { content: ""; } .ionic .ion-social-whatsapp-outline:before { content: ""; } .ionic .ion-social-windows:before { content: ""; } .ionic .ion-social-windows-outline:before { content: ""; } .ionic .ion-social-wordpress:before { content: ""; } .ionic .ion-social-wordpress-outline:before { content: ""; } .ionic .ion-social-yahoo:before { content: ""; } .ionic .ion-social-yahoo-outline:before { content: ""; } .ionic .ion-social-yen:before { content: ""; } .ionic .ion-social-yen-outline:before { content: ""; } .ionic .ion-social-youtube:before { content: ""; } .ionic .ion-social-youtube-outline:before { content: ""; } .ionic .ion-soup-can:before { content: ""; } .ionic .ion-soup-can-outline:before { content: ""; } .ionic .ion-speakerphone:before { content: ""; } .ionic .ion-speedometer:before { content: ""; } .ionic .ion-spoon:before { content: ""; } .ionic .ion-star:before { content: ""; } .ionic .ion-stats-bars:before { content: ""; } .ionic .ion-steam:before { content: ""; } .ionic .ion-stop:before { content: ""; } .ionic .ion-thermometer:before { content: ""; } .ionic .ion-thumbsdown:before { content: ""; } .ionic .ion-thumbsup:before { content: ""; } .ionic .ion-toggle:before { content: ""; } .ionic .ion-toggle-filled:before { content: ""; } .ionic .ion-transgender:before { content: ""; } .ionic .ion-trash-a:before { content: ""; } .ionic .ion-trash-b:before { content: ""; } .ionic .ion-trophy:before { content: ""; } .ionic .ion-tshirt:before { content: ""; } .ionic .ion-tshirt-outline:before { content: ""; } .ionic .ion-umbrella:before { content: ""; } .ionic .ion-university:before { content: ""; } .ionic .ion-unlocked:before { content: ""; } .ionic .ion-upload:before { content: ""; } .ionic .ion-usb:before { content: ""; } .ionic .ion-videocamera:before { content: ""; } .ionic .ion-volume-high:before { content: ""; } .ionic .ion-volume-low:before { content: ""; } .ionic .ion-volume-medium:before { content: ""; } .ionic .ion-volume-mute:before { content: ""; } .ionic .ion-wand:before { content: ""; } .ionic .ion-waterdrop:before { content: ""; } .ionic .ion-wifi:before { content: ""; } .ionic .ion-wineglass:before { content: ""; } .ionic .ion-woman:before { content: ""; } .ionic .ion-wrench:before { content: ""; } .ionic .ion-xbox:before { content: ""; } .ionic html, .ionic body, .ionic div, .ionic span, .ionic applet, .ionic object, .ionic iframe, .ionic h1, .ionic h2, .ionic h3, .ionic h4, .ionic h5, .ionic h6, .ionic p, .ionic blockquote, .ionic pre, .ionic a, .ionic abbr, .ionic acronym, .ionic address, .ionic big, .ionic cite, .ionic code, .ionic del, .ionic dfn, .ionic em, .ionic img, .ionic ins, .ionic kbd, .ionic q, .ionic s, .ionic samp, .ionic small, .ionic strike, .ionic strong, .ionic sub, .ionic sup, .ionic tt, .ionic var, .ionic b, .ionic i, .ionic u, .ionic center, .ionic dl, .ionic dt, .ionic dd, .ionic ol, .ionic ul, .ionic li, .ionic fieldset, .ionic form, .ionic label, .ionic legend, .ionic table, .ionic caption, .ionic tbody, .ionic tfoot, .ionic thead, .ionic tr, .ionic th, .ionic td, .ionic article, .ionic aside, .ionic canvas, .ionic details, .ionic embed, .ionic fieldset, .ionic figure, .ionic figcaption, .ionic footer, .ionic header, .ionic hgroup, .ionic menu, .ionic nav, .ionic output, .ionic ruby, .ionic section, .ionic summary, .ionic time, .ionic mark, .ionic audio, .ionic video { margin: 0; padding: 0; border: 0; vertical-align: baseline; font: inherit; font-size: 100%; } .ionic ol, .ionic ul { list-style: none; } .ionic blockquote, .ionic q { quotes: none; } .ionic blockquote:before, .ionic blockquote:after, .ionic q:before, .ionic q:after { content: ''; content: none; } .ionic audio:not([controls]) { display: none; height: 0; } .ionic [hidden], .ionic template { display: none; } .ionic script { display: none !important; } .ionic html { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; font-family: sans-serif; /* 1 */ -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } .ionic body { margin: 0; line-height: 1; } .ionic a, .ionic button, .ionic :focus, .ionic a:focus, .ionic button:focus, .ionic a:active, .ionic a:hover { outline: 0; } .ionic a { -webkit-user-drag: none; -webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent; } .ionic a[href]:hover { cursor: pointer; } .ionic b, .ionic strong { font-weight: bold; } .ionic dfn { font-style: italic; } .ionic hr { box-sizing: content-box; height: 0; } .ionic code, .ionic kbd, .ionic pre, .ionic samp { font-size: 1em; font-family: monospace, serif; } .ionic pre { white-space: pre-wrap; } .ionic q { quotes: "\201C" "\201D" "\2018" "\2019"; } .ionic small { font-size: 80%; } .ionic sub, .ionic sup { position: relative; vertical-align: baseline; font-size: 75%; line-height: 0; } .ionic sup { top: -0.5em; } .ionic sub { bottom: -0.25em; } .ionic fieldset { margin: 0 2px; padding: 0.35em 0.625em 0.75em; border: 1px solid #c0c0c0; } .ionic legend { padding: 0; /* 2 */ border: 0; /* 1 */ } .ionic button, .ionic input, .ionic select, .ionic textarea { margin: 0; /* 3 */ font-size: 100%; /* 2 */ font-family: inherit; /* 1 */ outline-offset: 0; /* 4 */ outline-style: none; /* 4 */ outline-width: 0; /* 4 */ -webkit-font-smoothing: inherit; /* 5 */ background-image: none; /* 6 */ } .ionic button, .ionic input { line-height: normal; } .ionic button, .ionic select { text-transform: none; } .ionic button, .ionic html input[type="button"], .ionic input[type="reset"], .ionic input[type="submit"] { cursor: pointer; /* 3 */ -webkit-appearance: button; /* 2 */ } .ionic button[disabled], .ionic html input[disabled] { cursor: default; } .ionic input[type="search"] { /* 2 */ box-sizing: content-box; -webkit-appearance: textfield; /* 1 */ } .ionic input[type="search"]::-webkit-search-cancel-button, .ionic input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } .ionic button::-moz-focus-inner, .ionic input::-moz-focus-inner { padding: 0; border: 0; } .ionic textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ } .ionic img { -webkit-user-drag: none; } .ionic table { border-spacing: 0; border-collapse: collapse; } .ionic *, .ionic *:before, .ionic *:after { box-sizing: border-box; } .ionic html { overflow: hidden; -ms-touch-action: pan-y; touch-action: pan-y; } .ionic body, .ionic .ionic-body { -webkit-touch-callout: none; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; -webkit-text-size-adjust: none; text-size-adjust: none; -webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; margin: 0; padding: 0; color: #000; word-wrap: break-word; font-size: 14px; font-family: "Helvetica Neue", "Roboto", "Segoe UI", sans-serif; line-height: 20px; text-rendering: optimizeLegibility; -webkit-backface-visibility: hidden; -webkit-user-drag: none; -ms-content-zooming: none; } .ionic body.grade-b, .ionic body.grade-c { text-rendering: auto; } .ionic .content { position: relative; } .ionic .scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; margin-top: -1px; padding-top: 1px; margin-bottom: -1px; width: auto; height: auto; } .ionic .menu .scroll-content.scroll-content-false { z-index: 11; } .ionic .scroll-view { position: relative; display: block; overflow: hidden; margin-top: -1px; } .ionic .scroll { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -webkit-text-size-adjust: none; text-size-adjust: none; -webkit-transform-origin: left top; transform-origin: left top; } .ionic .scroll-bar { position: absolute; z-index: 9999; } .ionic .ng-animate .scroll-bar { visibility: hidden; } .ionic .scroll-bar-h { right: 2px; bottom: 3px; left: 2px; height: 3px; } .ionic .scroll-bar-h .scroll-bar-indicator { height: 100%; } .ionic .scroll-bar-v { top: 2px; right: 3px; bottom: 2px; width: 3px; } .ionic .scroll-bar-v .scroll-bar-indicator { width: 100%; } .ionic .scroll-bar-indicator { position: absolute; border-radius: 4px; background: rgba(0, 0, 0, 0.3); opacity: 1; transition: opacity 0.3s linear; } .ionic .scroll-bar-indicator.scroll-bar-fade-out { opacity: 0; } .ionic .platform-android .scroll-bar-indicator { border-radius: 0; } .ionic .grade-b .scroll-bar-indicator, .ionic .grade-c .scroll-bar-indicator { background: #aaa; } .ionic .grade-b .scroll-bar-indicator.scroll-bar-fade-out, .ionic .grade-c .scroll-bar-indicator.scroll-bar-fade-out { transition: none; } .ionic ion-infinite-scroll { height: 60px; width: 100%; display: block; display: -moz-flex; display: -ms-flexbox; display: flex; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -ms-flex-pack: center; -moz-justify-content: center; justify-content: center; -ms-flex-align: center; -moz-align-items: center; align-items: center; } .ionic ion-infinite-scroll .icon { color: #666666; font-size: 30px; color: #666666; } .ionic ion-infinite-scroll:not(.active) .spinner, .ionic ion-infinite-scroll:not(.active) .icon:before { display: none; } .ionic .overflow-scroll { overflow-x: hidden; overflow-y: scroll; -webkit-overflow-scrolling: touch; top: 0; right: 0; bottom: 0; left: 0; position: absolute; } .ionic .overflow-scroll .scroll { position: static; height: 100%; -webkit-transform: translate3d(0, 0, 0); } .ionic .has-header { top: 44px; } .ionic .no-header { top: 0; } .ionic .has-subheader { top: 88px; } .ionic .has-tabs-top { top: 93px; } .ionic .has-header.has-subheader.has-tabs-top { top: 137px; } .ionic .has-footer { bottom: 44px; } .ionic .has-subfooter { bottom: 88px; } .ionic .has-tabs, .ionic .bar-footer.has-tabs { bottom: 49px; } .ionic .has-tabs.pane, .ionic .bar-footer.has-tabs.pane { bottom: 49px; height: auto; } .ionic .has-footer.has-tabs { bottom: 93px; } .ionic .pane { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); transition-duration: 0; z-index: 1; } .ionic .view { z-index: 1; } .ionic .pane, .ionic .view { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; background-color: #fff; overflow: hidden; } .ionic .view-container { position: absolute; display: block; width: 100%; height: 100%; } .ionic p { margin: 0 0 10px; } .ionic small { font-size: 85%; } .ionic cite { font-style: normal; } .ionic .text-left { text-align: left; } .ionic .text-right { text-align: right; } .ionic .text-center { text-align: center; } .ionic h1, .ionic h2, .ionic h3, .ionic h4, .ionic h5, .ionic h6, .ionic .h1, .ionic .h2, .ionic .h3, .ionic .h4, .ionic .h5, .ionic .h6 { color: #000; font-weight: 500; font-family: "Helvetica Neue", "Roboto", "Segoe UI", sans-serif; line-height: 1.2; } .ionic h1 small, .ionic h2 small, .ionic h3 small, .ionic h4 small, .ionic h5 small, .ionic h6 small, .ionic .h1 small, .ionic .h2 small, .ionic .h3 small, .ionic .h4 small, .ionic .h5 small, .ionic .h6 small { font-weight: normal; line-height: 1; } .ionic h1, .ionic .h1, .ionic h2, .ionic .h2, .ionic h3, .ionic .h3 { margin-top: 20px; margin-bottom: 10px; } .ionic h1:first-child, .ionic .h1:first-child, .ionic h2:first-child, .ionic .h2:first-child, .ionic h3:first-child, .ionic .h3:first-child { margin-top: 0; } .ionic h1 + h1, .ionic h1 + .h1, .ionic h1 + h2, .ionic h1 + .h2, .ionic h1 + h3, .ionic h1 + .h3, .ionic .h1 + h1, .ionic .h1 + .h1, .ionic .h1 + h2, .ionic .h1 + .h2, .ionic .h1 + h3, .ionic .h1 + .h3, .ionic h2 + h1, .ionic h2 + .h1, .ionic h2 + h2, .ionic h2 + .h2, .ionic h2 + h3, .ionic h2 + .h3, .ionic .h2 + h1, .ionic .h2 + .h1, .ionic .h2 + h2, .ionic .h2 + .h2, .ionic .h2 + h3, .ionic .h2 + .h3, .ionic h3 + h1, .ionic h3 + .h1, .ionic h3 + h2, .ionic h3 + .h2, .ionic h3 + h3, .ionic h3 + .h3, .ionic .h3 + h1, .ionic .h3 + .h1, .ionic .h3 + h2, .ionic .h3 + .h2, .ionic .h3 + h3, .ionic .h3 + .h3 { margin-top: 10px; } .ionic h4, .ionic .h4, .ionic h5, .ionic .h5, .ionic h6, .ionic .h6 { margin-top: 10px; margin-bottom: 10px; } .ionic h1, .ionic .h1 { font-size: 36px; } .ionic h2, .ionic .h2 { font-size: 30px; } .ionic h3, .ionic .h3 { font-size: 24px; } .ionic h4, .ionic .h4 { font-size: 18px; } .ionic h5, .ionic .h5 { font-size: 14px; } .ionic h6, .ionic .h6 { font-size: 12px; } .ionic h1 small, .ionic .h1 small { font-size: 24px; } .ionic h2 small, .ionic .h2 small { font-size: 18px; } .ionic h3 small, .ionic .h3 small, .ionic h4 small, .ionic .h4 small { font-size: 14px; } .ionic dl { margin-bottom: 20px; } .ionic dt, .ionic dd { line-height: 1.42857; } .ionic dt { font-weight: bold; } .ionic blockquote { margin: 0 0 20px; padding: 10px 20px; border-left: 5px solid gray; } .ionic blockquote p { font-weight: 300; font-size: 17.5px; line-height: 1.25; } .ionic blockquote p:last-child { margin-bottom: 0; } .ionic blockquote small { display: block; line-height: 1.42857; } .ionic blockquote small:before { content: '\2014 \00A0'; } .ionic q:before, .ionic q:after, .ionic blockquote:before, .ionic blockquote:after { content: ""; } .ionic address { display: block; margin-bottom: 20px; font-style: normal; line-height: 1.42857; } .ionic a.subdued { padding-right: 10px; color: #888; text-decoration: none; } .ionic a.subdued:hover { text-decoration: none; } .ionic a.subdued:last-child { padding-right: 0; } .ionic .action-sheet-backdrop { transition: background-color 150ms ease-in-out; position: fixed; top: 0; left: 0; z-index: 11; width: 100%; height: 100%; background-color: transparent; } .ionic .action-sheet-backdrop.active { background-color: rgba(0, 0, 0, 0.4); } .ionic .action-sheet-wrapper { -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); transition: all cubic-bezier(0.36, 0.66, 0.04, 1) 500ms; position: absolute; bottom: 0; left: 0; right: 0; width: 100%; max-width: 500px; margin: auto; } .ionic .action-sheet-up { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .ionic .action-sheet { margin-left: 8px; margin-right: 8px; width: auto; z-index: 11; overflow: hidden; } .ionic .action-sheet .button { display: block; padding: 1px; width: 100%; border-radius: 0; border-color: #d1d3d6; background-color: transparent; color: #007aff; font-size: 21px; } .ionic .action-sheet .button:hover { color: #007aff; } .ionic .action-sheet .button.destructive { color: #ff3b30; } .ionic .action-sheet .button.destructive:hover { color: #ff3b30; } .ionic .action-sheet .button.active, .ionic .action-sheet .button.activated { box-shadow: none; border-color: #d1d3d6; color: #007aff; background: #e4e5e7; } .ionic .action-sheet-has-icons .icon { position: absolute; left: 16px; } .ionic .action-sheet-title { padding: 16px; color: #8f8f8f; text-align: center; font-size: 13px; } .ionic .action-sheet-group { margin-bottom: 8px; border-radius: 4px; background-color: #fff; overflow: hidden; } .ionic .action-sheet-group .button { border-width: 1px 0px 0px 0px; } .ionic .action-sheet-group .button:first-child:last-child { border-width: 0; } .ionic .action-sheet-options { background: #f1f2f3; } .ionic .action-sheet-cancel .button { font-weight: 500; } .ionic .action-sheet-open { pointer-events: none; } .ionic .action-sheet-open.modal-open .modal { pointer-events: none; } .ionic .action-sheet-open .action-sheet-backdrop { pointer-events: auto; } .ionic .platform-android .action-sheet-backdrop.active { background-color: rgba(0, 0, 0, 0.2); } .ionic .platform-android .action-sheet { margin: 0; } .ionic .platform-android .action-sheet .action-sheet-title, .ionic .platform-android .action-sheet .button { text-align: left; border-color: transparent; font-size: 16px; color: inherit; } .ionic .platform-android .action-sheet .action-sheet-title { font-size: 14px; padding: 16px; color: #666; } .ionic .platform-android .action-sheet .button.active, .ionic .platform-android .action-sheet .button.activated { background: #e8e8e8; } .ionic .platform-android .action-sheet-group { margin: 0; border-radius: 0; background-color: #fafafa; } .ionic .platform-android .action-sheet-cancel { display: none; } .ionic .platform-android .action-sheet-has-icons .button { padding-left: 56px; } .ionic .backdrop { position: fixed; top: 0; left: 0; z-index: 11; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); visibility: hidden; opacity: 0; transition: 0.1s opacity linear; } .ionic .backdrop.visible { visibility: visible; } .ionic .backdrop.active { opacity: 1; } .ionic .bar { display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; position: absolute; right: 0; left: 0; z-index: 9; box-sizing: border-box; padding: 5px; width: 100%; height: 44px; border-width: 0; border-style: solid; border-top: 1px solid transparent; border-bottom: 1px solid #ddd; background-color: white; /* border-width: 1px will actually create 2 device pixels on retina */ /* this nifty trick sets an actual 1px border on hi-res displays */ background-size: 0; } @media (min--moz-device-pixel-ratio: 1.5), (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi), (min-resolution: 1.5dppx) { .ionic .bar { border: none; background-image: linear-gradient(0deg, #ddd, #ddd 50%, transparent 50%); background-position: bottom; background-size: 100% 1px; background-repeat: no-repeat; } } .ionic .bar.bar-clear { border: none; background: none; color: #fff; } .ionic .bar.bar-clear .button { color: #fff; } .ionic .bar.bar-clear .title { color: #fff; } .ionic .bar.item-input-inset .item-input-wrapper { margin-top: -1px; } .ionic .bar.item-input-inset .item-input-wrapper input { padding-left: 8px; width: 94%; height: 28px; background: transparent; } .ionic .bar.bar-light { border-color: #ddd; background-color: white; background-image: linear-gradient(0deg, #ddd, #ddd 50%, transparent 50%); color: #444; } .ionic .bar.bar-light .title { color: #444; } .ionic .bar.bar-light.bar-footer { background-image: linear-gradient(180deg, #ddd, #ddd 50%, transparent 50%); } .ionic .bar.bar-stable { border-color: #b2b2b2; background-color: #f8f8f8; background-image: linear-gradient(0deg, #b2b2b2, #b2b2b2 50%, transparent 50%); color: #444; } .ionic .bar.bar-stable .title { color: #444; } .ionic .bar.bar-stable.bar-footer { background-image: linear-gradient(180deg, #b2b2b2, #b2b2b2 50%, transparent 50%); } .ionic .bar.bar-positive { border-color: #0c60ee; background-color: #387ef5; background-image: linear-gradient(0deg, #0c60ee, #0c60ee 50%, transparent 50%); color: #fff; } .ionic .bar.bar-positive .title { color: #fff; } .ionic .bar.bar-positive.bar-footer { background-image: linear-gradient(180deg, #0c60ee, #0c60ee 50%, transparent 50%); } .ionic .bar.bar-calm { border-color: #0a9dc7; background-color: #11c1f3; background-image: linear-gradient(0deg, #0a9dc7, #0a9dc7 50%, transparent 50%); color: #fff; } .ionic .bar.bar-calm .title { color: #fff; } .ionic .bar.bar-calm.bar-footer { background-image: linear-gradient(180deg, #0a9dc7, #0a9dc7 50%, transparent 50%); } .ionic .bar.bar-assertive { border-color: #e42112; background-color: #ef473a; background-image: linear-gradient(0deg, #e42112, #e42112 50%, transparent 50%); color: #fff; } .ionic .bar.bar-assertive .title { color: #fff; } .ionic .bar.bar-assertive.bar-footer { background-image: linear-gradient(180deg, #e42112, #e42112 50%, transparent 50%); } .ionic .bar.bar-balanced { border-color: #28a54c; background-color: #33cd5f; background-image: linear-gradient(0deg, #28a54c, #28a54c 50%, transparent 50%); color: #fff; } .ionic .bar.bar-balanced .title { color: #fff; } .ionic .bar.bar-balanced.bar-footer { background-image: linear-gradient(180deg, #28a54c, #0c60ee 50%, transparent 50%); } .ionic .bar.bar-energized { border-color: #e6b500; background-color: #ffc900; background-image: linear-gradient(0deg, #e6b500, #e6b500 50%, transparent 50%); color: #fff; } .ionic .bar.bar-energized .title { color: #fff; } .ionic .bar.bar-energized.bar-footer { background-image: linear-gradient(180deg, #e6b500, #e6b500 50%, transparent 50%); } .ionic .bar.bar-royal { border-color: #6b46e5; background-color: #886aea; background-image: linear-gradient(0deg, #6b46e5, #6b46e5 50%, transparent 50%); color: #fff; } .ionic .bar.bar-royal .title { color: #fff; } .ionic .bar.bar-royal.bar-footer { background-image: linear-gradient(180deg, #6b46e5, #6b46e5 50%, transparent 50%); } .ionic .bar.bar-dark { border-color: #111; background-color: #444444; background-image: linear-gradient(0deg, #111, #111 50%, transparent 50%); color: #fff; } .ionic .bar.bar-dark .title { color: #fff; } .ionic .bar.bar-dark.bar-footer { background-image: linear-gradient(180deg, #111, #111 50%, transparent 50%); } .ionic .bar .title { position: absolute; top: 0; right: 0; left: 0; z-index: 0; overflow: hidden; margin: 0 10px; min-width: 30px; height: 43px; text-align: center; text-overflow: ellipsis; white-space: nowrap; font-size: 17px; font-weight: 500; line-height: 44px; } .ionic .bar .title.title-left { text-align: left; } .ionic .bar .title.title-right { text-align: right; } .ionic .bar .title a { color: inherit; } .ionic .bar .button { z-index: 1; padding: 0 8px; min-width: initial; min-height: 31px; font-weight: 400; font-size: 13px; line-height: 32px; } .ionic .bar .button.button-icon:before, .ionic .bar .button .icon:before, .ionic .bar .button.icon:before, .ionic .bar .button.icon-left:before, .ionic .bar .button.icon-right:before { padding-right: 2px; padding-left: 2px; font-size: 20px; line-height: 32px; } .ionic .bar .button.button-icon { font-size: 17px; } .ionic .bar .button.button-icon .icon:before, .ionic .bar .button.button-icon:before, .ionic .bar .button.button-icon.icon-left:before, .ionic .bar .button.button-icon.icon-right:before { vertical-align: top; font-size: 32px; line-height: 32px; } .ionic .bar .button.button-clear { padding-right: 2px; padding-left: 2px; font-weight: 300; font-size: 17px; } .ionic .bar .button.button-clear .icon:before, .ionic .bar .button.button-clear.icon:before, .ionic .bar .button.button-clear.icon-left:before, .ionic .bar .button.button-clear.icon-right:before { font-size: 32px; line-height: 32px; } .ionic .bar .button.back-button { display: block; margin-right: 5px; padding: 0; white-space: nowrap; font-weight: 400; } .ionic .bar .button.back-button.active, .ionic .bar .button.back-button.activated { opacity: 0.2; } .ionic .bar .button-bar > .button, .ionic .bar .buttons > .button { min-height: 31px; line-height: 32px; } .ionic .bar .button-bar + .button, .ionic .bar .button + .button-bar { margin-left: 5px; } .ionic .bar .buttons, .ionic .bar .buttons.primary-buttons, .ionic .bar .buttons.secondary-buttons { display: inherit; } .ionic .bar .buttons span { display: inline-block; } .ionic .bar .buttons-left span { margin-right: 5px; display: inherit; } .ionic .bar .buttons-right span { margin-left: 5px; display: inherit; } .ionic .bar .title + .button:last-child, .ionic .bar > .button + .button:last-child, .ionic .bar > .button.pull-right, .ionic .bar .buttons.pull-right, .ionic .bar .title + .buttons { position: absolute; top: 5px; right: 5px; bottom: 5px; } .ionic .platform-android .nav-bar-has-subheader .bar { background-image: none; } .ionic .platform-android .bar .back-button .icon:before { font-size: 24px; } .ionic .platform-android .bar .title { font-size: 19px; line-height: 44px; } .ionic .bar-light .button { border-color: #ddd; background-color: white; color: #444; } .ionic .bar-light .button:hover { color: #444; text-decoration: none; } .ionic .bar-light .button.active, .ionic .bar-light .button.activated { border-color: #ccc; background-color: #fafafa; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .bar-light .button.button-clear { border-color: transparent; background: none; box-shadow: none; color: #444; font-size: 17px; } .ionic .bar-light .button.button-icon { border-color: transparent; background: none; } .ionic .bar-stable .button { border-color: #b2b2b2; background-color: #f8f8f8; color: #444; } .ionic .bar-stable .button:hover { color: #444; text-decoration: none; } .ionic .bar-stable .button.active, .ionic .bar-stable .button.activated { border-color: #a2a2a2; background-color: #e5e5e5; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .bar-stable .button.button-clear { border-color: transparent; background: none; box-shadow: none; color: #444; font-size: 17px; } .ionic .bar-stable .button.button-icon { border-color: transparent; background: none; } .ionic .bar-positive .button { border-color: #0c60ee; background-color: #387ef5; color: #fff; } .ionic .bar-positive .button:hover { color: #fff; text-decoration: none; } .ionic .bar-positive .button.active, .ionic .bar-positive .button.activated { border-color: #0c60ee; background-color: #0c60ee; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .bar-positive .button.button-clear { border-color: transparent; background: none; box-shadow: none; color: #fff; font-size: 17px; } .ionic .bar-positive .button.button-icon { border-color: transparent; background: none; } .ionic .bar-calm .button { border-color: #0a9dc7; background-color: #11c1f3; color: #fff; } .ionic .bar-calm .button:hover { color: #fff; text-decoration: none; } .ionic .bar-calm .button.active, .ionic .bar-calm .button.activated { border-color: #0a9dc7; background-color: #0a9dc7; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .bar-calm .button.button-clear { border-color: transparent; background: none; box-shadow: none; color: #fff; font-size: 17px; } .ionic .bar-calm .button.button-icon { border-color: transparent; background: none; } .ionic .bar-assertive .button { border-color: #e42112; background-color: #ef473a; color: #fff; } .ionic .bar-assertive .button:hover { color: #fff; text-decoration: none; } .ionic .bar-assertive .button.active, .ionic .bar-assertive .button.activated { border-color: #e42112; background-color: #e42112; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .bar-assertive .button.button-clear { border-color: transparent; background: none; box-shadow: none; color: #fff; font-size: 17px; } .ionic .bar-assertive .button.button-icon { border-color: transparent; background: none; } .ionic .bar-balanced .button { border-color: #28a54c; background-color: #33cd5f; color: #fff; } .ionic .bar-balanced .button:hover { color: #fff; text-decoration: none; } .ionic .bar-balanced .button.active, .ionic .bar-balanced .button.activated { border-color: #28a54c; background-color: #28a54c; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .bar-balanced .button.button-clear { border-color: transparent; background: none; box-shadow: none; color: #fff; font-size: 17px; } .ionic .bar-balanced .button.button-icon { border-color: transparent; background: none; } .ionic .bar-energized .button { border-color: #e6b500; background-color: #ffc900; color: #fff; } .ionic .bar-energized .button:hover { color: #fff; text-decoration: none; } .ionic .bar-energized .button.active, .ionic .bar-energized .button.activated { border-color: #e6b500; background-color: #e6b500; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .bar-energized .button.button-clear { border-color: transparent; background: none; box-shadow: none; color: #fff; font-size: 17px; } .ionic .bar-energized .button.button-icon { border-color: transparent; background: none; } .ionic .bar-royal .button { border-color: #6b46e5; background-color: #886aea; color: #fff; } .ionic .bar-royal .button:hover { color: #fff; text-decoration: none; } .ionic .bar-royal .button.active, .ionic .bar-royal .button.activated { border-color: #6b46e5; background-color: #6b46e5; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .bar-royal .button.button-clear { border-color: transparent; background: none; box-shadow: none; color: #fff; font-size: 17px; } .ionic .bar-royal .button.button-icon { border-color: transparent; background: none; } .ionic .bar-dark .button { border-color: #111; background-color: #444444; color: #fff; } .ionic .bar-dark .button:hover { color: #fff; text-decoration: none; } .ionic .bar-dark .button.active, .ionic .bar-dark .button.activated { border-color: #000; background-color: #262626; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .bar-dark .button.button-clear { border-color: transparent; background: none; box-shadow: none; color: #fff; font-size: 17px; } .ionic .bar-dark .button.button-icon { border-color: transparent; background: none; } .ionic .bar-header { top: 0; border-top-width: 0; border-bottom-width: 1px; } .ionic .bar-header.has-tabs-top { border-bottom-width: 0px; background-image: none; } .ionic .tabs-top .bar-header { border-bottom-width: 0px; background-image: none; } .ionic .bar-footer { bottom: 0; border-top-width: 1px; border-bottom-width: 0; background-position: top; height: 44px; } .ionic .bar-footer.item-input-inset { position: absolute; } .ionic .bar-tabs { padding: 0; } .ionic .bar-subheader { top: 44px; display: block; height: 44px; } .ionic .bar-subfooter { bottom: 44px; display: block; height: 44px; } .ionic .nav-bar-block { position: absolute; top: 0; right: 0; left: 0; z-index: 9; } .ionic .bar .back-button.hide, .ionic .bar .buttons .hide { display: none; } .ionic .nav-bar-tabs-top .bar { background-image: none; } .ionic .tabs { display: -moz-flex; display: -ms-flexbox; display: flex; -moz-flex-direction: horizontal; -ms-flex-direction: horizontal; flex-direction: horizontal; -ms-flex-pack: center; -moz-justify-content: center; justify-content: center; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); border-color: #b2b2b2; background-color: #f8f8f8; background-image: linear-gradient(0deg, #b2b2b2, #b2b2b2 50%, transparent 50%); color: #444; position: absolute; bottom: 0; z-index: 5; width: 100%; height: 49px; border-style: solid; border-top-width: 1px; background-size: 0; line-height: 49px; } .ionic .tabs .tab-item .badge { background-color: #444; color: #f8f8f8; } @media (min--moz-device-pixel-ratio: 1.5), (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi), (min-resolution: 1.5dppx) { .ionic .tabs { padding-top: 2px; border-top: none !important; border-bottom: none; background-position: top; background-size: 100% 1px; background-repeat: no-repeat; } } .ionic .tabs-light > .tabs, .ionic .tabs.tabs-light { border-color: #ddd; background-color: #fff; background-image: linear-gradient(0deg, #ddd, #ddd 50%, transparent 50%); color: #444; } .ionic .tabs-light > .tabs .tab-item .badge, .ionic .tabs.tabs-light .tab-item .badge { background-color: #444; color: #fff; } .ionic .tabs-stable > .tabs, .ionic .tabs.tabs-stable { border-color: #b2b2b2; background-color: #f8f8f8; background-image: linear-gradient(0deg, #b2b2b2, #b2b2b2 50%, transparent 50%); color: #444; } .ionic .tabs-stable > .tabs .tab-item .badge, .ionic .tabs.tabs-stable .tab-item .badge { background-color: #444; color: #f8f8f8; } .ionic .tabs-positive > .tabs, .ionic .tabs.tabs-positive { border-color: #0c60ee; background-color: #387ef5; background-image: linear-gradient(0deg, #0c60ee, #0c60ee 50%, transparent 50%); color: #fff; } .ionic .tabs-positive > .tabs .tab-item .badge, .ionic .tabs.tabs-positive .tab-item .badge { background-color: #fff; color: #387ef5; } .ionic .tabs-calm > .tabs, .ionic .tabs.tabs-calm { border-color: #0a9dc7; background-color: #11c1f3; background-image: linear-gradient(0deg, #0a9dc7, #0a9dc7 50%, transparent 50%); color: #fff; } .ionic .tabs-calm > .tabs .tab-item .badge, .ionic .tabs.tabs-calm .tab-item .badge { background-color: #fff; color: #11c1f3; } .ionic .tabs-assertive > .tabs, .ionic .tabs.tabs-assertive { border-color: #e42112; background-color: #ef473a; background-image: linear-gradient(0deg, #e42112, #e42112 50%, transparent 50%); color: #fff; } .ionic .tabs-assertive > .tabs .tab-item .badge, .ionic .tabs.tabs-assertive .tab-item .badge { background-color: #fff; color: #ef473a; } .ionic .tabs-balanced > .tabs, .ionic .tabs.tabs-balanced { border-color: #28a54c; background-color: #33cd5f; background-image: linear-gradient(0deg, #28a54c, #28a54c 50%, transparent 50%); color: #fff; } .ionic .tabs-balanced > .tabs .tab-item .badge, .ionic .tabs.tabs-balanced .tab-item .badge { background-color: #fff; color: #33cd5f; } .ionic .tabs-energized > .tabs, .ionic .tabs.tabs-energized { border-color: #e6b500; background-color: #ffc900; background-image: linear-gradient(0deg, #e6b500, #e6b500 50%, transparent 50%); color: #fff; } .ionic .tabs-energized > .tabs .tab-item .badge, .ionic .tabs.tabs-energized .tab-item .badge { background-color: #fff; color: #ffc900; } .ionic .tabs-royal > .tabs, .ionic .tabs.tabs-royal { border-color: #6b46e5; background-color: #886aea; background-image: linear-gradient(0deg, #6b46e5, #6b46e5 50%, transparent 50%); color: #fff; } .ionic .tabs-royal > .tabs .tab-item .badge, .ionic .tabs.tabs-royal .tab-item .badge { background-color: #fff; color: #886aea; } .ionic .tabs-dark > .tabs, .ionic .tabs.tabs-dark { border-color: #111; background-color: #444; background-image: linear-gradient(0deg, #111, #111 50%, transparent 50%); color: #fff; } .ionic .tabs-dark > .tabs .tab-item .badge, .ionic .tabs.tabs-dark .tab-item .badge { background-color: #fff; color: #444; } .ionic .tabs-striped .tabs { background-color: white; background-image: none; border: none; border-bottom: 1px solid #ddd; padding-top: 2px; } .ionic .tabs-striped .tab-item.tab-item-active, .ionic .tabs-striped .tab-item.active, .ionic .tabs-striped .tab-item.activated { margin-top: -2px; border-style: solid; border-width: 2px 0 0 0; border-color: #444; } .ionic .tabs-striped .tab-item.tab-item-active .badge, .ionic .tabs-striped .tab-item.active .badge, .ionic .tabs-striped .tab-item.activated .badge { top: 2px; opacity: 1; } .ionic .tabs-striped.tabs-light .tabs { background-color: #fff; } .ionic .tabs-striped.tabs-light .tab-item { color: rgba(68, 68, 68, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-light .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-light .tab-item.tab-item-active, .ionic .tabs-striped.tabs-light .tab-item.active, .ionic .tabs-striped.tabs-light .tab-item.activated { margin-top: -2px; color: #444; border-style: solid; border-width: 2px 0 0 0; border-color: #444; } .ionic .tabs-striped.tabs-top .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-top .tab-item.active .badge, .ionic .tabs-striped.tabs-top .tab-item.activated .badge { top: 4%; } .ionic .tabs-striped.tabs-stable .tabs { background-color: #f8f8f8; } .ionic .tabs-striped.tabs-stable .tab-item { color: rgba(68, 68, 68, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-stable .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-stable .tab-item.tab-item-active, .ionic .tabs-striped.tabs-stable .tab-item.active, .ionic .tabs-striped.tabs-stable .tab-item.activated { margin-top: -2px; color: #444; border-style: solid; border-width: 2px 0 0 0; border-color: #444; } .ionic .tabs-striped.tabs-top .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-top .tab-item.active .badge, .ionic .tabs-striped.tabs-top .tab-item.activated .badge { top: 4%; } .ionic .tabs-striped.tabs-positive .tabs { background-color: #387ef5; } .ionic .tabs-striped.tabs-positive .tab-item { color: rgba(255, 255, 255, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-positive .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-positive .tab-item.tab-item-active, .ionic .tabs-striped.tabs-positive .tab-item.active, .ionic .tabs-striped.tabs-positive .tab-item.activated { margin-top: -2px; color: #fff; border-style: solid; border-width: 2px 0 0 0; border-color: #fff; } .ionic .tabs-striped.tabs-top .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-top .tab-item.active .badge, .ionic .tabs-striped.tabs-top .tab-item.activated .badge { top: 4%; } .ionic .tabs-striped.tabs-calm .tabs { background-color: #11c1f3; } .ionic .tabs-striped.tabs-calm .tab-item { color: rgba(255, 255, 255, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-calm .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-calm .tab-item.tab-item-active, .ionic .tabs-striped.tabs-calm .tab-item.active, .ionic .tabs-striped.tabs-calm .tab-item.activated { margin-top: -2px; color: #fff; border-style: solid; border-width: 2px 0 0 0; border-color: #fff; } .ionic .tabs-striped.tabs-top .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-top .tab-item.active .badge, .ionic .tabs-striped.tabs-top .tab-item.activated .badge { top: 4%; } .ionic .tabs-striped.tabs-assertive .tabs { background-color: #ef473a; } .ionic .tabs-striped.tabs-assertive .tab-item { color: rgba(255, 255, 255, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-assertive .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-assertive .tab-item.tab-item-active, .ionic .tabs-striped.tabs-assertive .tab-item.active, .ionic .tabs-striped.tabs-assertive .tab-item.activated { margin-top: -2px; color: #fff; border-style: solid; border-width: 2px 0 0 0; border-color: #fff; } .ionic .tabs-striped.tabs-top .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-top .tab-item.active .badge, .ionic .tabs-striped.tabs-top .tab-item.activated .badge { top: 4%; } .ionic .tabs-striped.tabs-balanced .tabs { background-color: #33cd5f; } .ionic .tabs-striped.tabs-balanced .tab-item { color: rgba(255, 255, 255, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-balanced .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-balanced .tab-item.tab-item-active, .ionic .tabs-striped.tabs-balanced .tab-item.active, .ionic .tabs-striped.tabs-balanced .tab-item.activated { margin-top: -2px; color: #fff; border-style: solid; border-width: 2px 0 0 0; border-color: #fff; } .ionic .tabs-striped.tabs-top .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-top .tab-item.active .badge, .ionic .tabs-striped.tabs-top .tab-item.activated .badge { top: 4%; } .ionic .tabs-striped.tabs-energized .tabs { background-color: #ffc900; } .ionic .tabs-striped.tabs-energized .tab-item { color: rgba(255, 255, 255, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-energized .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-energized .tab-item.tab-item-active, .ionic .tabs-striped.tabs-energized .tab-item.active, .ionic .tabs-striped.tabs-energized .tab-item.activated { margin-top: -2px; color: #fff; border-style: solid; border-width: 2px 0 0 0; border-color: #fff; } .ionic .tabs-striped.tabs-top .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-top .tab-item.active .badge, .ionic .tabs-striped.tabs-top .tab-item.activated .badge { top: 4%; } .ionic .tabs-striped.tabs-royal .tabs { background-color: #886aea; } .ionic .tabs-striped.tabs-royal .tab-item { color: rgba(255, 255, 255, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-royal .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-royal .tab-item.tab-item-active, .ionic .tabs-striped.tabs-royal .tab-item.active, .ionic .tabs-striped.tabs-royal .tab-item.activated { margin-top: -2px; color: #fff; border-style: solid; border-width: 2px 0 0 0; border-color: #fff; } .ionic .tabs-striped.tabs-top .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-top .tab-item.active .badge, .ionic .tabs-striped.tabs-top .tab-item.activated .badge { top: 4%; } .ionic .tabs-striped.tabs-dark .tabs { background-color: #444; } .ionic .tabs-striped.tabs-dark .tab-item { color: rgba(255, 255, 255, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-dark .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-dark .tab-item.tab-item-active, .ionic .tabs-striped.tabs-dark .tab-item.active, .ionic .tabs-striped.tabs-dark .tab-item.activated { margin-top: -2px; color: #fff; border-style: solid; border-width: 2px 0 0 0; border-color: #fff; } .ionic .tabs-striped.tabs-top .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-top .tab-item.active .badge, .ionic .tabs-striped.tabs-top .tab-item.activated .badge { top: 4%; } .ionic .tabs-striped.tabs-background-light .tabs { background-color: #fff; background-image: none; } .ionic .tabs-striped.tabs-background-stable .tabs { background-color: #f8f8f8; background-image: none; } .ionic .tabs-striped.tabs-background-positive .tabs { background-color: #387ef5; background-image: none; } .ionic .tabs-striped.tabs-background-calm .tabs { background-color: #11c1f3; background-image: none; } .ionic .tabs-striped.tabs-background-assertive .tabs { background-color: #ef473a; background-image: none; } .ionic .tabs-striped.tabs-background-balanced .tabs { background-color: #33cd5f; background-image: none; } .ionic .tabs-striped.tabs-background-energized .tabs { background-color: #ffc900; background-image: none; } .ionic .tabs-striped.tabs-background-royal .tabs { background-color: #886aea; background-image: none; } .ionic .tabs-striped.tabs-background-dark .tabs { background-color: #444; background-image: none; } .ionic .tabs-striped.tabs-color-light .tab-item { color: rgba(255, 255, 255, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-color-light .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-color-light .tab-item.tab-item-active, .ionic .tabs-striped.tabs-color-light .tab-item.active, .ionic .tabs-striped.tabs-color-light .tab-item.activated { margin-top: -2px; color: #fff; border: 0 solid #fff; border-top-width: 2px; } .ionic .tabs-striped.tabs-color-light .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-color-light .tab-item.active .badge, .ionic .tabs-striped.tabs-color-light .tab-item.activated .badge { top: 2px; opacity: 1; } .ionic .tabs-striped.tabs-color-stable .tab-item { color: rgba(248, 248, 248, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-color-stable .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-color-stable .tab-item.tab-item-active, .ionic .tabs-striped.tabs-color-stable .tab-item.active, .ionic .tabs-striped.tabs-color-stable .tab-item.activated { margin-top: -2px; color: #f8f8f8; border: 0 solid #f8f8f8; border-top-width: 2px; } .ionic .tabs-striped.tabs-color-stable .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-color-stable .tab-item.active .badge, .ionic .tabs-striped.tabs-color-stable .tab-item.activated .badge { top: 2px; opacity: 1; } .ionic .tabs-striped.tabs-color-positive .tab-item { color: rgba(56, 126, 245, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-color-positive .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-color-positive .tab-item.tab-item-active, .ionic .tabs-striped.tabs-color-positive .tab-item.active, .ionic .tabs-striped.tabs-color-positive .tab-item.activated { margin-top: -2px; color: #387ef5; border: 0 solid #387ef5; border-top-width: 2px; } .ionic .tabs-striped.tabs-color-positive .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-color-positive .tab-item.active .badge, .ionic .tabs-striped.tabs-color-positive .tab-item.activated .badge { top: 2px; opacity: 1; } .ionic .tabs-striped.tabs-color-calm .tab-item { color: rgba(17, 193, 243, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-color-calm .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-color-calm .tab-item.tab-item-active, .ionic .tabs-striped.tabs-color-calm .tab-item.active, .ionic .tabs-striped.tabs-color-calm .tab-item.activated { margin-top: -2px; color: #11c1f3; border: 0 solid #11c1f3; border-top-width: 2px; } .ionic .tabs-striped.tabs-color-calm .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-color-calm .tab-item.active .badge, .ionic .tabs-striped.tabs-color-calm .tab-item.activated .badge { top: 2px; opacity: 1; } .ionic .tabs-striped.tabs-color-assertive .tab-item { color: rgba(239, 71, 58, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-color-assertive .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-color-assertive .tab-item.tab-item-active, .ionic .tabs-striped.tabs-color-assertive .tab-item.active, .ionic .tabs-striped.tabs-color-assertive .tab-item.activated { margin-top: -2px; color: #ef473a; border: 0 solid #ef473a; border-top-width: 2px; } .ionic .tabs-striped.tabs-color-assertive .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-color-assertive .tab-item.active .badge, .ionic .tabs-striped.tabs-color-assertive .tab-item.activated .badge { top: 2px; opacity: 1; } .ionic .tabs-striped.tabs-color-balanced .tab-item { color: rgba(51, 205, 95, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-color-balanced .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-color-balanced .tab-item.tab-item-active, .ionic .tabs-striped.tabs-color-balanced .tab-item.active, .ionic .tabs-striped.tabs-color-balanced .tab-item.activated { margin-top: -2px; color: #33cd5f; border: 0 solid #33cd5f; border-top-width: 2px; } .ionic .tabs-striped.tabs-color-balanced .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-color-balanced .tab-item.active .badge, .ionic .tabs-striped.tabs-color-balanced .tab-item.activated .badge { top: 2px; opacity: 1; } .ionic .tabs-striped.tabs-color-energized .tab-item { color: rgba(255, 201, 0, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-color-energized .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-color-energized .tab-item.tab-item-active, .ionic .tabs-striped.tabs-color-energized .tab-item.active, .ionic .tabs-striped.tabs-color-energized .tab-item.activated { margin-top: -2px; color: #ffc900; border: 0 solid #ffc900; border-top-width: 2px; } .ionic .tabs-striped.tabs-color-energized .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-color-energized .tab-item.active .badge, .ionic .tabs-striped.tabs-color-energized .tab-item.activated .badge { top: 2px; opacity: 1; } .ionic .tabs-striped.tabs-color-royal .tab-item { color: rgba(136, 106, 234, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-color-royal .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-color-royal .tab-item.tab-item-active, .ionic .tabs-striped.tabs-color-royal .tab-item.active, .ionic .tabs-striped.tabs-color-royal .tab-item.activated { margin-top: -2px; color: #886aea; border: 0 solid #886aea; border-top-width: 2px; } .ionic .tabs-striped.tabs-color-royal .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-color-royal .tab-item.active .badge, .ionic .tabs-striped.tabs-color-royal .tab-item.activated .badge { top: 2px; opacity: 1; } .ionic .tabs-striped.tabs-color-dark .tab-item { color: rgba(68, 68, 68, 0.4); opacity: 1; } .ionic .tabs-striped.tabs-color-dark .tab-item .badge { opacity: 0.4; } .ionic .tabs-striped.tabs-color-dark .tab-item.tab-item-active, .ionic .tabs-striped.tabs-color-dark .tab-item.active, .ionic .tabs-striped.tabs-color-dark .tab-item.activated { margin-top: -2px; color: #444; border: 0 solid #444; border-top-width: 2px; } .ionic .tabs-striped.tabs-color-dark .tab-item.tab-item-active .badge, .ionic .tabs-striped.tabs-color-dark .tab-item.active .badge, .ionic .tabs-striped.tabs-color-dark .tab-item.activated .badge { top: 2px; opacity: 1; } .ionic .tabs-background-light .tabs, .ionic .tabs-background-light > .tabs { background-color: #fff; background-image: linear-gradient(0deg, #ddd, #ddd 50%, transparent 50%); border-color: #ddd; } .ionic .tabs-background-stable .tabs, .ionic .tabs-background-stable > .tabs { background-color: #f8f8f8; background-image: linear-gradient(0deg, #b2b2b2, #b2b2b2 50%, transparent 50%); border-color: #b2b2b2; } .ionic .tabs-background-positive .tabs, .ionic .tabs-background-positive > .tabs { background-color: #387ef5; background-image: linear-gradient(0deg, #0c60ee, #0c60ee 50%, transparent 50%); border-color: #0c60ee; } .ionic .tabs-background-calm .tabs, .ionic .tabs-background-calm > .tabs { background-color: #11c1f3; background-image: linear-gradient(0deg, #0a9dc7, #0a9dc7 50%, transparent 50%); border-color: #0a9dc7; } .ionic .tabs-background-assertive .tabs, .ionic .tabs-background-assertive > .tabs { background-color: #ef473a; background-image: linear-gradient(0deg, #e42112, #e42112 50%, transparent 50%); border-color: #e42112; } .ionic .tabs-background-balanced .tabs, .ionic .tabs-background-balanced > .tabs { background-color: #33cd5f; background-image: linear-gradient(0deg, #28a54c, #28a54c 50%, transparent 50%); border-color: #28a54c; } .ionic .tabs-background-energized .tabs, .ionic .tabs-background-energized > .tabs { background-color: #ffc900; background-image: linear-gradient(0deg, #e6b500, #e6b500 50%, transparent 50%); border-color: #e6b500; } .ionic .tabs-background-royal .tabs, .ionic .tabs-background-royal > .tabs { background-color: #886aea; background-image: linear-gradient(0deg, #6b46e5, #6b46e5 50%, transparent 50%); border-color: #6b46e5; } .ionic .tabs-background-dark .tabs, .ionic .tabs-background-dark > .tabs { background-color: #444; background-image: linear-gradient(0deg, #111, #111 50%, transparent 50%); border-color: #111; } .ionic .tabs-color-light .tab-item { color: rgba(255, 255, 255, 0.4); opacity: 1; } .ionic .tabs-color-light .tab-item .badge { opacity: 0.4; } .ionic .tabs-color-light .tab-item.tab-item-active, .ionic .tabs-color-light .tab-item.active, .ionic .tabs-color-light .tab-item.activated { color: #fff; border: 0 solid #fff; } .ionic .tabs-color-light .tab-item.tab-item-active .badge, .ionic .tabs-color-light .tab-item.active .badge, .ionic .tabs-color-light .tab-item.activated .badge { opacity: 1; } .ionic .tabs-color-stable .tab-item { color: rgba(248, 248, 248, 0.4); opacity: 1; } .ionic .tabs-color-stable .tab-item .badge { opacity: 0.4; } .ionic .tabs-color-stable .tab-item.tab-item-active, .ionic .tabs-color-stable .tab-item.active, .ionic .tabs-color-stable .tab-item.activated { color: #f8f8f8; border: 0 solid #f8f8f8; } .ionic .tabs-color-stable .tab-item.tab-item-active .badge, .ionic .tabs-color-stable .tab-item.active .badge, .ionic .tabs-color-stable .tab-item.activated .badge { opacity: 1; } .ionic .tabs-color-positive .tab-item { color: rgba(56, 126, 245, 0.4); opacity: 1; } .ionic .tabs-color-positive .tab-item .badge { opacity: 0.4; } .ionic .tabs-color-positive .tab-item.tab-item-active, .ionic .tabs-color-positive .tab-item.active, .ionic .tabs-color-positive .tab-item.activated { color: #387ef5; border: 0 solid #387ef5; } .ionic .tabs-color-positive .tab-item.tab-item-active .badge, .ionic .tabs-color-positive .tab-item.active .badge, .ionic .tabs-color-positive .tab-item.activated .badge { opacity: 1; } .ionic .tabs-color-calm .tab-item { color: rgba(17, 193, 243, 0.4); opacity: 1; } .ionic .tabs-color-calm .tab-item .badge { opacity: 0.4; } .ionic .tabs-color-calm .tab-item.tab-item-active, .ionic .tabs-color-calm .tab-item.active, .ionic .tabs-color-calm .tab-item.activated { color: #11c1f3; border: 0 solid #11c1f3; } .ionic .tabs-color-calm .tab-item.tab-item-active .badge, .ionic .tabs-color-calm .tab-item.active .badge, .ionic .tabs-color-calm .tab-item.activated .badge { opacity: 1; } .ionic .tabs-color-assertive .tab-item { color: rgba(239, 71, 58, 0.4); opacity: 1; } .ionic .tabs-color-assertive .tab-item .badge { opacity: 0.4; } .ionic .tabs-color-assertive .tab-item.tab-item-active, .ionic .tabs-color-assertive .tab-item.active, .ionic .tabs-color-assertive .tab-item.activated { color: #ef473a; border: 0 solid #ef473a; } .ionic .tabs-color-assertive .tab-item.tab-item-active .badge, .ionic .tabs-color-assertive .tab-item.active .badge, .ionic .tabs-color-assertive .tab-item.activated .badge { opacity: 1; } .ionic .tabs-color-balanced .tab-item { color: rgba(51, 205, 95, 0.4); opacity: 1; } .ionic .tabs-color-balanced .tab-item .badge { opacity: 0.4; } .ionic .tabs-color-balanced .tab-item.tab-item-active, .ionic .tabs-color-balanced .tab-item.active, .ionic .tabs-color-balanced .tab-item.activated { color: #33cd5f; border: 0 solid #33cd5f; } .ionic .tabs-color-balanced .tab-item.tab-item-active .badge, .ionic .tabs-color-balanced .tab-item.active .badge, .ionic .tabs-color-balanced .tab-item.activated .badge { opacity: 1; } .ionic .tabs-color-energized .tab-item { color: rgba(255, 201, 0, 0.4); opacity: 1; } .ionic .tabs-color-energized .tab-item .badge { opacity: 0.4; } .ionic .tabs-color-energized .tab-item.tab-item-active, .ionic .tabs-color-energized .tab-item.active, .ionic .tabs-color-energized .tab-item.activated { color: #ffc900; border: 0 solid #ffc900; } .ionic .tabs-color-energized .tab-item.tab-item-active .badge, .ionic .tabs-color-energized .tab-item.active .badge, .ionic .tabs-color-energized .tab-item.activated .badge { opacity: 1; } .ionic .tabs-color-royal .tab-item { color: rgba(136, 106, 234, 0.4); opacity: 1; } .ionic .tabs-color-royal .tab-item .badge { opacity: 0.4; } .ionic .tabs-color-royal .tab-item.tab-item-active, .ionic .tabs-color-royal .tab-item.active, .ionic .tabs-color-royal .tab-item.activated { color: #886aea; border: 0 solid #886aea; } .ionic .tabs-color-royal .tab-item.tab-item-active .badge, .ionic .tabs-color-royal .tab-item.active .badge, .ionic .tabs-color-royal .tab-item.activated .badge { opacity: 1; } .ionic .tabs-color-dark .tab-item { color: rgba(68, 68, 68, 0.4); opacity: 1; } .ionic .tabs-color-dark .tab-item .badge { opacity: 0.4; } .ionic .tabs-color-dark .tab-item.tab-item-active, .ionic .tabs-color-dark .tab-item.active, .ionic .tabs-color-dark .tab-item.activated { color: #444; border: 0 solid #444; } .ionic .tabs-color-dark .tab-item.tab-item-active .badge, .ionic .tabs-color-dark .tab-item.active .badge, .ionic .tabs-color-dark .tab-item.activated .badge { opacity: 1; } .ionic ion-tabs.tabs-color-active-light .tab-item { color: #444; } .ionic ion-tabs.tabs-color-active-light .tab-item.tab-item-active, .ionic ion-tabs.tabs-color-active-light .tab-item.active, .ionic ion-tabs.tabs-color-active-light .tab-item.activated { color: #fff; } .ionic ion-tabs.tabs-color-active-stable .tab-item { color: #444; } .ionic ion-tabs.tabs-color-active-stable .tab-item.tab-item-active, .ionic ion-tabs.tabs-color-active-stable .tab-item.active, .ionic ion-tabs.tabs-color-active-stable .tab-item.activated { color: #f8f8f8; } .ionic ion-tabs.tabs-color-active-positive .tab-item { color: #444; } .ionic ion-tabs.tabs-color-active-positive .tab-item.tab-item-active, .ionic ion-tabs.tabs-color-active-positive .tab-item.active, .ionic ion-tabs.tabs-color-active-positive .tab-item.activated { color: #387ef5; } .ionic ion-tabs.tabs-color-active-calm .tab-item { color: #444; } .ionic ion-tabs.tabs-color-active-calm .tab-item.tab-item-active, .ionic ion-tabs.tabs-color-active-calm .tab-item.active, .ionic ion-tabs.tabs-color-active-calm .tab-item.activated { color: #11c1f3; } .ionic ion-tabs.tabs-color-active-assertive .tab-item { color: #444; } .ionic ion-tabs.tabs-color-active-assertive .tab-item.tab-item-active, .ionic ion-tabs.tabs-color-active-assertive .tab-item.active, .ionic ion-tabs.tabs-color-active-assertive .tab-item.activated { color: #ef473a; } .ionic ion-tabs.tabs-color-active-balanced .tab-item { color: #444; } .ionic ion-tabs.tabs-color-active-balanced .tab-item.tab-item-active, .ionic ion-tabs.tabs-color-active-balanced .tab-item.active, .ionic ion-tabs.tabs-color-active-balanced .tab-item.activated { color: #33cd5f; } .ionic ion-tabs.tabs-color-active-energized .tab-item { color: #444; } .ionic ion-tabs.tabs-color-active-energized .tab-item.tab-item-active, .ionic ion-tabs.tabs-color-active-energized .tab-item.active, .ionic ion-tabs.tabs-color-active-energized .tab-item.activated { color: #ffc900; } .ionic ion-tabs.tabs-color-active-royal .tab-item { color: #444; } .ionic ion-tabs.tabs-color-active-royal .tab-item.tab-item-active, .ionic ion-tabs.tabs-color-active-royal .tab-item.active, .ionic ion-tabs.tabs-color-active-royal .tab-item.activated { color: #886aea; } .ionic ion-tabs.tabs-color-active-dark .tab-item { color: #fff; } .ionic ion-tabs.tabs-color-active-dark .tab-item.tab-item-active, .ionic ion-tabs.tabs-color-active-dark .tab-item.active, .ionic ion-tabs.tabs-color-active-dark .tab-item.activated { color: #444; } .ionic .tabs-top.tabs-striped { padding-bottom: 0; } .ionic .tabs-top.tabs-striped .tab-item { background: transparent; transition: color 0.1s ease; } .ionic .tabs-top.tabs-striped .tab-item.tab-item-active, .ionic .tabs-top.tabs-striped .tab-item.active, .ionic .tabs-top.tabs-striped .tab-item.activated { margin-top: 1px; border-width: 0px 0px 2px 0px !important; border-style: solid; } .ionic .tabs-top.tabs-striped .tab-item.tab-item-active > .badge, .ionic .tabs-top.tabs-striped .tab-item.tab-item-active > i, .ionic .tabs-top.tabs-striped .tab-item.active > .badge, .ionic .tabs-top.tabs-striped .tab-item.active > i, .ionic .tabs-top.tabs-striped .tab-item.activated > .badge, .ionic .tabs-top.tabs-striped .tab-item.activated > i { margin-top: -1px; } .ionic .tabs-top.tabs-striped .tab-item .badge { transition: color 0.2s ease; } .ionic .tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.tab-item-active .tab-title, .ionic .tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.tab-item-active i, .ionic .tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.active .tab-title, .ionic .tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.active i, .ionic .tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.activated .tab-title, .ionic .tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.activated i { display: block; margin-top: -1px; } .ionic .tabs-top.tabs-striped.tabs-icon-left .tab-item { margin-top: 1px; } .ionic .tabs-top.tabs-striped.tabs-icon-left .tab-item.tab-item-active .tab-title, .ionic .tabs-top.tabs-striped.tabs-icon-left .tab-item.tab-item-active i, .ionic .tabs-top.tabs-striped.tabs-icon-left .tab-item.active .tab-title, .ionic .tabs-top.tabs-striped.tabs-icon-left .tab-item.active i, .ionic .tabs-top.tabs-striped.tabs-icon-left .tab-item.activated .tab-title, .ionic .tabs-top.tabs-striped.tabs-icon-left .tab-item.activated i { margin-top: -0.1em; } .ionic .tabs-top > .tabs, .ionic .tabs.tabs-top { top: 44px; padding-top: 0; background-position: bottom; border-top-width: 0; border-bottom-width: 1px; } .ionic .tabs-top > .tabs .tab-item.tab-item-active .badge, .ionic .tabs-top > .tabs .tab-item.active .badge, .ionic .tabs-top > .tabs .tab-item.activated .badge, .ionic .tabs.tabs-top .tab-item.tab-item-active .badge, .ionic .tabs.tabs-top .tab-item.active .badge, .ionic .tabs.tabs-top .tab-item.activated .badge { top: 4%; } .ionic .tabs-top ~ .bar-header { border-bottom-width: 0; } .ionic .tab-item { -moz-flex: 1; -ms-flex: 1; flex: 1; display: block; overflow: hidden; max-width: 150px; height: 100%; color: inherit; text-align: center; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; font-weight: 400; font-size: 14px; font-family: "Helvetica Neue", "Roboto", "Segoe UI", sans-serif; opacity: 0.7; } .ionic .tab-item:hover { cursor: pointer; } .ionic .tab-item.tab-hidden { display: none; } .ionic .tabs-item-hide > .tabs, .ionic .tabs.tabs-item-hide { display: none; } .ionic .tabs-icon-top > .tabs .tab-item, .ionic .tabs-icon-top.tabs .tab-item, .ionic .tabs-icon-bottom > .tabs .tab-item, .ionic .tabs-icon-bottom.tabs .tab-item { font-size: 10px; line-height: 14px; } .ionic .tab-item .icon { display: block; margin: 0 auto; height: 32px; font-size: 32px; } .ionic .tabs-icon-left.tabs .tab-item, .ionic .tabs-icon-left > .tabs .tab-item, .ionic .tabs-icon-right.tabs .tab-item, .ionic .tabs-icon-right > .tabs .tab-item { font-size: 10px; } .ionic .tabs-icon-left.tabs .tab-item .icon, .ionic .tabs-icon-left.tabs .tab-item .tab-title, .ionic .tabs-icon-left > .tabs .tab-item .icon, .ionic .tabs-icon-left > .tabs .tab-item .tab-title, .ionic .tabs-icon-right.tabs .tab-item .icon, .ionic .tabs-icon-right.tabs .tab-item .tab-title, .ionic .tabs-icon-right > .tabs .tab-item .icon, .ionic .tabs-icon-right > .tabs .tab-item .tab-title { display: inline-block; vertical-align: top; margin-top: -.1em; } .ionic .tabs-icon-left.tabs .tab-item .icon:before, .ionic .tabs-icon-left.tabs .tab-item .tab-title:before, .ionic .tabs-icon-left > .tabs .tab-item .icon:before, .ionic .tabs-icon-left > .tabs .tab-item .tab-title:before, .ionic .tabs-icon-right.tabs .tab-item .icon:before, .ionic .tabs-icon-right.tabs .tab-item .tab-title:before, .ionic .tabs-icon-right > .tabs .tab-item .icon:before, .ionic .tabs-icon-right > .tabs .tab-item .tab-title:before { font-size: 24px; line-height: 49px; } .ionic .tabs-icon-left > .tabs .tab-item .icon, .ionic .tabs-icon-left.tabs .tab-item .icon { padding-right: 3px; } .ionic .tabs-icon-right > .tabs .tab-item .icon, .ionic .tabs-icon-right.tabs .tab-item .icon { padding-left: 3px; } .ionic .tabs-icon-only > .tabs .icon, .ionic .tabs-icon-only.tabs .icon { line-height: inherit; } .ionic .tab-item.has-badge { position: relative; } .ionic .tab-item .badge { position: absolute; top: 4%; right: 33%; right: calc(50% - 26px); padding: 1px 6px; height: auto; font-size: 12px; line-height: 16px; } .ionic .tab-item.tab-item-active, .ionic .tab-item.active, .ionic .tab-item.activated { opacity: 1; } .ionic .tab-item.tab-item-active.tab-item-light, .ionic .tab-item.active.tab-item-light, .ionic .tab-item.activated.tab-item-light { color: #fff; } .ionic .tab-item.tab-item-active.tab-item-stable, .ionic .tab-item.active.tab-item-stable, .ionic .tab-item.activated.tab-item-stable { color: #f8f8f8; } .ionic .tab-item.tab-item-active.tab-item-positive, .ionic .tab-item.active.tab-item-positive, .ionic .tab-item.activated.tab-item-positive { color: #387ef5; } .ionic .tab-item.tab-item-active.tab-item-calm, .ionic .tab-item.active.tab-item-calm, .ionic .tab-item.activated.tab-item-calm { color: #11c1f3; } .ionic .tab-item.tab-item-active.tab-item-assertive, .ionic .tab-item.active.tab-item-assertive, .ionic .tab-item.activated.tab-item-assertive { color: #ef473a; } .ionic .tab-item.tab-item-active.tab-item-balanced, .ionic .tab-item.active.tab-item-balanced, .ionic .tab-item.activated.tab-item-balanced { color: #33cd5f; } .ionic .tab-item.tab-item-active.tab-item-energized, .ionic .tab-item.active.tab-item-energized, .ionic .tab-item.activated.tab-item-energized { color: #ffc900; } .ionic .tab-item.tab-item-active.tab-item-royal, .ionic .tab-item.active.tab-item-royal, .ionic .tab-item.activated.tab-item-royal { color: #886aea; } .ionic .tab-item.tab-item-active.tab-item-dark, .ionic .tab-item.active.tab-item-dark, .ionic .tab-item.activated.tab-item-dark { color: #444; } .ionic .item.tabs { display: -moz-flex; display: -ms-flexbox; display: flex; padding: 0; } .ionic .item.tabs .icon:before { position: relative; } .ionic .tab-item.disabled, .ionic .tab-item[disabled] { opacity: .4; cursor: default; pointer-events: none; } .ionic .nav-bar-tabs-top.hide ~ .view-container .tabs-top .tabs { top: 0; } .ionic .pane[hide-nav-bar="true"] .has-tabs-top { top: 49px; } .ionic .menu { position: absolute; top: 0; bottom: 0; z-index: 0; overflow: hidden; min-height: 100%; max-height: 100%; width: 275px; background-color: #fff; } .ionic .menu .scroll-content { z-index: 10; } .ionic .menu .bar-header { z-index: 11; } .ionic .menu-content { -webkit-transform: none; transform: none; box-shadow: -1px 0px 2px rgba(0, 0, 0, 0.2), 1px 0px 2px rgba(0, 0, 0, 0.2); } .ionic .menu-open .menu-content .pane, .ionic .menu-open .menu-content .scroll-content { pointer-events: none; overflow: hidden; } .ionic .grade-b .menu-content, .ionic .grade-c .menu-content { box-sizing: content-box; right: -1px; left: -1px; border-right: 1px solid #ccc; border-left: 1px solid #ccc; box-shadow: none; } .ionic .menu-left { left: 0; } .ionic .menu-right { right: 0; } .ionic .aside-open.aside-resizing .menu-right { display: none; } .ionic .menu-animated { transition: -webkit-transform 200ms ease; transition: transform 200ms ease; transition: transform 200ms ease, -webkit-transform 200ms ease; } .ionic .modal-backdrop, .ionic .modal-backdrop-bg { position: fixed; top: 0; left: 0; z-index: 10; width: 100%; height: 100%; } .ionic .modal-backdrop-bg { pointer-events: none; } .ionic .modal { display: block; position: absolute; top: 0; z-index: 10; overflow: hidden; min-height: 100%; width: 100%; background-color: #fff; } @media (min-width: 680px) { .ionic .modal { top: 20%; right: 20%; bottom: 20%; left: 20%; min-height: 240px; width: 60%; } .ionic .modal.ng-leave-active { bottom: 0; } .ionic .platform-ios.platform-cordova .modal-wrapper .modal .bar-header:not(.bar-subheader) { height: 44px; } .ionic .platform-ios.platform-cordova .modal-wrapper .modal .bar-header:not(.bar-subheader) > * { margin-top: 0; } .ionic .platform-ios.platform-cordova .modal-wrapper .modal .tabs-top > .tabs, .ionic .platform-ios.platform-cordova .modal-wrapper .modal .tabs.tabs-top { top: 44px; } .ionic .platform-ios.platform-cordova .modal-wrapper .modal .has-header, .ionic .platform-ios.platform-cordova .modal-wrapper .modal .bar-subheader { top: 44px; } .ionic .platform-ios.platform-cordova .modal-wrapper .modal .has-subheader { top: 88px; } .ionic .platform-ios.platform-cordova .modal-wrapper .modal .has-header.has-tabs-top { top: 93px; } .ionic .platform-ios.platform-cordova .modal-wrapper .modal .has-header.has-subheader.has-tabs-top { top: 137px; } .ionic .modal-backdrop-bg { transition: opacity 300ms ease-in-out; background-color: #000; opacity: 0; } .ionic .active .modal-backdrop-bg { opacity: 0.5; } } .ionic .modal-open { pointer-events: none; } .ionic .modal-open .modal, .ionic .modal-open .modal-backdrop { pointer-events: auto; } .ionic .modal-open.loading-active .modal, .ionic .modal-open.loading-active .modal-backdrop { pointer-events: none; } .ionic .popover-backdrop { position: fixed; top: 0; left: 0; z-index: 10; width: 100%; height: 100%; background-color: transparent; } .ionic .popover-backdrop.active { background-color: rgba(0, 0, 0, 0.1); } .ionic .popover { position: absolute; top: 25%; left: 50%; z-index: 10; display: block; margin-top: 12px; margin-left: -110px; height: 280px; width: 220px; background-color: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); opacity: 0; } .ionic .popover .item:first-child { border-top: 0; } .ionic .popover .item:last-child { border-bottom: 0; } .ionic .popover.popover-bottom { margin-top: -12px; } .ionic .popover, .ionic .popover .bar-header { border-radius: 2px; } .ionic .popover .scroll-content { z-index: 1; margin: 2px 0; } .ionic .popover .bar-header { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .ionic .popover .has-header { border-top-right-radius: 0; border-top-left-radius: 0; } .ionic .popover-arrow { display: none; } .ionic .platform-ios .popover { box-shadow: 0 0 40px rgba(0, 0, 0, 0.08); border-radius: 10px; } .ionic .platform-ios .popover .bar-header { border-top-right-radius: 10px; border-top-left-radius: 10px; } .ionic .platform-ios .popover .scroll-content { margin: 8px 0; border-radius: 10px; } .ionic .platform-ios .popover .scroll-content.has-header { margin-top: 0; } .ionic .platform-ios .popover-arrow { position: absolute; display: block; top: -17px; width: 30px; height: 19px; overflow: hidden; } .ionic .platform-ios .popover-arrow:after { position: absolute; top: 12px; left: 5px; width: 20px; height: 20px; background-color: #fff; border-radius: 3px; content: ''; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } .ionic .platform-ios .popover-bottom .popover-arrow { top: auto; bottom: -10px; } .ionic .platform-ios .popover-bottom .popover-arrow:after { top: -6px; } .ionic .platform-android .popover { margin-top: -32px; background-color: #fafafa; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35); } .ionic .platform-android .popover .item { border-color: #fafafa; background-color: #fafafa; color: #4d4d4d; } .ionic .platform-android .popover.popover-bottom { margin-top: 32px; } .ionic .platform-android .popover-backdrop, .ionic .platform-android .popover-backdrop.active { background-color: transparent; } .ionic .popover-open { pointer-events: none; } .ionic .popover-open .popover, .ionic .popover-open .popover-backdrop { pointer-events: auto; } .ionic .popover-open.loading-active .popover, .ionic .popover-open.loading-active .popover-backdrop { pointer-events: none; } @media (min-width: 680px) { .ionic .popover { width: 360px; } } .ionic .popup-container { position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: transparent; display: -moz-flex; display: -ms-flexbox; display: flex; -ms-flex-pack: center; -moz-justify-content: center; justify-content: center; -ms-flex-align: center; -moz-align-items: center; align-items: center; z-index: 12; visibility: hidden; } .ionic .popup-container.popup-showing { visibility: visible; } .ionic .popup-container.popup-hidden .popup { -webkit-animation-name: scaleOut; animation-name: scaleOut; -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .ionic .popup-container.active .popup { -webkit-animation-name: superScaleIn; animation-name: superScaleIn; -webkit-animation-duration: 0.2s; animation-duration: 0.2s; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .ionic .popup-container .popup { width: 250px; max-width: 100%; max-height: 90%; border-radius: 0px; background-color: rgba(255, 255, 255, 0.9); display: -moz-flex; display: -ms-flexbox; display: flex; -moz-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .ionic .popup-container input, .ionic .popup-container textarea { width: 100%; } .ionic .popup-head { padding: 15px 10px; border-bottom: 1px solid #eee; text-align: center; } .ionic .popup-title { margin: 0; padding: 0; font-size: 15px; } .ionic .popup-sub-title { margin: 5px 0 0 0; padding: 0; font-weight: normal; font-size: 11px; } .ionic .popup-body { padding: 10px; overflow: auto; } .ionic .popup-buttons { display: -moz-flex; display: -ms-flexbox; display: flex; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; padding: 10px; min-height: 65px; } .ionic .popup-buttons .button { -moz-flex: 1; -ms-flex: 1; flex: 1; display: block; min-height: 45px; border-radius: 2px; line-height: 20px; margin-right: 5px; } .ionic .popup-buttons .button:last-child { margin-right: 0px; } .ionic .popup-open { pointer-events: none; } .ionic .popup-open.modal-open .modal { pointer-events: none; } .ionic .popup-open .popup-backdrop, .ionic .popup-open .popup { pointer-events: auto; } .ionic .loading-container { position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 13; display: -moz-flex; display: -ms-flexbox; display: flex; -ms-flex-pack: center; -moz-justify-content: center; justify-content: center; -ms-flex-align: center; -moz-align-items: center; align-items: center; transition: 0.2s opacity linear; visibility: hidden; opacity: 0; } .ionic .loading-container:not(.visible) .icon, .ionic .loading-container:not(.visible) .spinner { display: none; } .ionic .loading-container.visible { visibility: visible; } .ionic .loading-container.active { opacity: 1; } .ionic .loading-container .loading { padding: 20px; border-radius: 5px; background-color: rgba(0, 0, 0, 0.7); color: #fff; text-align: center; text-overflow: ellipsis; font-size: 15px; } .ionic .loading-container .loading h1, .ionic .loading-container .loading h2, .ionic .loading-container .loading h3, .ionic .loading-container .loading h4, .ionic .loading-container .loading h5, .ionic .loading-container .loading h6 { color: #fff; } .ionic .item { border-color: #ddd; background-color: #fff; color: #444; position: relative; z-index: 2; display: block; margin: -1px; padding: 16px; border-width: 1px; border-style: solid; font-size: 16px; } .ionic .item h2 { margin: 0 0 2px 0; font-size: 16px; font-weight: normal; } .ionic .item h3 { margin: 0 0 4px 0; font-size: 14px; } .ionic .item h4 { margin: 0 0 4px 0; font-size: 12px; } .ionic .item h5, .ionic .item h6 { margin: 0 0 3px 0; font-size: 10px; } .ionic .item p { color: #666; font-size: 14px; margin-bottom: 2px; } .ionic .item h1:last-child, .ionic .item h2:last-child, .ionic .item h3:last-child, .ionic .item h4:last-child, .ionic .item h5:last-child, .ionic .item h6:last-child, .ionic .item p:last-child { margin-bottom: 0; } .ionic .item .badge { display: -moz-flex; display: -ms-flexbox; display: flex; position: absolute; top: 16px; right: 32px; } .ionic .item.item-button-right .badge { right: 67px; } .ionic .item.item-divider .badge { top: 8px; } .ionic .item .badge + .badge { margin-right: 5px; } .ionic .item.item-light { border-color: #ddd; background-color: #fff; color: #444; } .ionic .item.item-stable { border-color: #b2b2b2; background-color: #f8f8f8; color: #444; } .ionic .item.item-positive { border-color: #0c60ee; background-color: #387ef5; color: #fff; } .ionic .item.item-calm { border-color: #0a9dc7; background-color: #11c1f3; color: #fff; } .ionic .item.item-assertive { border-color: #e42112; background-color: #ef473a; color: #fff; } .ionic .item.item-balanced { border-color: #28a54c; background-color: #33cd5f; color: #fff; } .ionic .item.item-energized { border-color: #e6b500; background-color: #ffc900; color: #fff; } .ionic .item.item-royal { border-color: #6b46e5; background-color: #886aea; color: #fff; } .ionic .item.item-dark { border-color: #111; background-color: #444; color: #fff; } .ionic .item[ng-click]:hover { cursor: pointer; } .ionic .list-borderless .item, .ionic .item-borderless { border-width: 0; } .ionic .item.active, .ionic .item.activated, .ionic .item-complex.active .item-content, .ionic .item-complex.activated .item-content, .ionic .item .item-content.active, .ionic .item .item-content.activated { border-color: #ccc; background-color: #D9D9D9; } .ionic .item.active.item-light, .ionic .item.activated.item-light, .ionic .item-complex.active .item-content.item-light, .ionic .item-complex.activated .item-content.item-light, .ionic .item .item-content.active.item-light, .ionic .item .item-content.activated.item-light { border-color: #ccc; background-color: #fafafa; } .ionic .item.active.item-stable, .ionic .item.activated.item-stable, .ionic .item-complex.active .item-content.item-stable, .ionic .item-complex.activated .item-content.item-stable, .ionic .item .item-content.active.item-stable, .ionic .item .item-content.activated.item-stable { border-color: #a2a2a2; background-color: #e5e5e5; } .ionic .item.active.item-positive, .ionic .item.activated.item-positive, .ionic .item-complex.active .item-content.item-positive, .ionic .item-complex.activated .item-content.item-positive, .ionic .item .item-content.active.item-positive, .ionic .item .item-content.activated.item-positive { border-color: #0c60ee; background-color: #0c60ee; } .ionic .item.active.item-calm, .ionic .item.activated.item-calm, .ionic .item-complex.active .item-content.item-calm, .ionic .item-complex.activated .item-content.item-calm, .ionic .item .item-content.active.item-calm, .ionic .item .item-content.activated.item-calm { border-color: #0a9dc7; background-color: #0a9dc7; } .ionic .item.active.item-assertive, .ionic .item.activated.item-assertive, .ionic .item-complex.active .item-content.item-assertive, .ionic .item-complex.activated .item-content.item-assertive, .ionic .item .item-content.active.item-assertive, .ionic .item .item-content.activated.item-assertive { border-color: #e42112; background-color: #e42112; } .ionic .item.active.item-balanced, .ionic .item.activated.item-balanced, .ionic .item-complex.active .item-content.item-balanced, .ionic .item-complex.activated .item-content.item-balanced, .ionic .item .item-content.active.item-balanced, .ionic .item .item-content.activated.item-balanced { border-color: #28a54c; background-color: #28a54c; } .ionic .item.active.item-energized, .ionic .item.activated.item-energized, .ionic .item-complex.active .item-content.item-energized, .ionic .item-complex.activated .item-content.item-energized, .ionic .item .item-content.active.item-energized, .ionic .item .item-content.activated.item-energized { border-color: #e6b500; background-color: #e6b500; } .ionic .item.active.item-royal, .ionic .item.activated.item-royal, .ionic .item-complex.active .item-content.item-royal, .ionic .item-complex.activated .item-content.item-royal, .ionic .item .item-content.active.item-royal, .ionic .item .item-content.activated.item-royal { border-color: #6b46e5; background-color: #6b46e5; } .ionic .item.active.item-dark, .ionic .item.activated.item-dark, .ionic .item-complex.active .item-content.item-dark, .ionic .item-complex.activated .item-content.item-dark, .ionic .item .item-content.active.item-dark, .ionic .item .item-content.activated.item-dark { border-color: #000; background-color: #262626; } .ionic .item, .ionic .item h1, .ionic .item h2, .ionic .item h3, .ionic .item h4, .ionic .item h5, .ionic .item h6, .ionic .item p, .ionic .item-content, .ionic .item-content h1, .ionic .item-content h2, .ionic .item-content h3, .ionic .item-content h4, .ionic .item-content h5, .ionic .item-content h6, .ionic .item-content p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .ionic a.item { color: inherit; text-decoration: none; } .ionic a.item:hover, .ionic a.item:focus { text-decoration: none; } .ionic .item-complex, .ionic a.item.item-complex, .ionic button.item.item-complex { padding: 0; } .ionic .item-complex .item-content, .ionic .item-radio .item-content { position: relative; z-index: 2; padding: 16px 49px 16px 16px; border: none; background-color: #fff; } .ionic a.item-content { display: block; color: inherit; text-decoration: none; } .ionic .item-text-wrap .item, .ionic .item-text-wrap .item-content, .ionic .item-text-wrap, .ionic .item-text-wrap h1, .ionic .item-text-wrap h2, .ionic .item-text-wrap h3, .ionic .item-text-wrap h4, .ionic .item-text-wrap h5, .ionic .item-text-wrap h6, .ionic .item-text-wrap p, .ionic .item-complex.item-text-wrap .item-content, .ionic .item-body h1, .ionic .item-body h2, .ionic .item-body h3, .ionic .item-body h4, .ionic .item-body h5, .ionic .item-body h6, .ionic .item-body p { overflow: visible; white-space: normal; } .ionic .item-complex.item-text-wrap, .ionic .item-complex.item-text-wrap h1, .ionic .item-complex.item-text-wrap h2, .ionic .item-complex.item-text-wrap h3, .ionic .item-complex.item-text-wrap h4, .ionic .item-complex.item-text-wrap h5, .ionic .item-complex.item-text-wrap h6, .ionic .item-complex.item-text-wrap p { overflow: visible; white-space: normal; } .ionic .item-complex.item-light > .item-content { border-color: #ddd; background-color: #fff; color: #444; } .ionic .item-complex.item-light > .item-content.active, .ionic .item-complex.item-light > .item-content:active { border-color: #ccc; background-color: #fafafa; } .ionic .item-complex.item-stable > .item-content { border-color: #b2b2b2; background-color: #f8f8f8; color: #444; } .ionic .item-complex.item-stable > .item-content.active, .ionic .item-complex.item-stable > .item-content:active { border-color: #a2a2a2; background-color: #e5e5e5; } .ionic .item-complex.item-positive > .item-content { border-color: #0c60ee; background-color: #387ef5; color: #fff; } .ionic .item-complex.item-positive > .item-content.active, .ionic .item-complex.item-positive > .item-content:active { border-color: #0c60ee; background-color: #0c60ee; } .ionic .item-complex.item-calm > .item-content { border-color: #0a9dc7; background-color: #11c1f3; color: #fff; } .ionic .item-complex.item-calm > .item-content.active, .ionic .item-complex.item-calm > .item-content:active { border-color: #0a9dc7; background-color: #0a9dc7; } .ionic .item-complex.item-assertive > .item-content { border-color: #e42112; background-color: #ef473a; color: #fff; } .ionic .item-complex.item-assertive > .item-content.active, .ionic .item-complex.item-assertive > .item-content:active { border-color: #e42112; background-color: #e42112; } .ionic .item-complex.item-balanced > .item-content { border-color: #28a54c; background-color: #33cd5f; color: #fff; } .ionic .item-complex.item-balanced > .item-content.active, .ionic .item-complex.item-balanced > .item-content:active { border-color: #28a54c; background-color: #28a54c; } .ionic .item-complex.item-energized > .item-content { border-color: #e6b500; background-color: #ffc900; color: #fff; } .ionic .item-complex.item-energized > .item-content.active, .ionic .item-complex.item-energized > .item-content:active { border-color: #e6b500; background-color: #e6b500; } .ionic .item-complex.item-royal > .item-content { border-color: #6b46e5; background-color: #886aea; color: #fff; } .ionic .item-complex.item-royal > .item-content.active, .ionic .item-complex.item-royal > .item-content:active { border-color: #6b46e5; background-color: #6b46e5; } .ionic .item-complex.item-dark > .item-content { border-color: #111; background-color: #444; color: #fff; } .ionic .item-complex.item-dark > .item-content.active, .ionic .item-complex.item-dark > .item-content:active { border-color: #000; background-color: #262626; } .ionic .item-icon-left .icon, .ionic .item-icon-right .icon { display: -moz-flex; display: -ms-flexbox; display: flex; -ms-flex-align: center; -moz-align-items: center; align-items: center; position: absolute; top: 0; height: 100%; font-size: 32px; } .ionic .item-icon-left .icon:before, .ionic .item-icon-right .icon:before { display: block; width: 32px; text-align: center; } .ionic .item .fill-icon { min-width: 30px; min-height: 30px; font-size: 28px; } .ionic .item-icon-left { padding-left: 54px; } .ionic .item-icon-left .icon { left: 11px; } .ionic .item-complex.item-icon-left { padding-left: 0; } .ionic .item-complex.item-icon-left .item-content { padding-left: 54px; } .ionic .item-icon-right { padding-right: 54px; } .ionic .item-icon-right .icon { right: 11px; } .ionic .item-complex.item-icon-right { padding-right: 0; } .ionic .item-complex.item-icon-right .item-content { padding-right: 54px; } .ionic .item-icon-left.item-icon-right .icon:first-child { right: auto; } .ionic .item-icon-left.item-icon-right .icon:last-child, .ionic .item-icon-left .item-delete .icon { left: auto; } .ionic .item-icon-left .icon-accessory, .ionic .item-icon-right .icon-accessory { color: #ccc; font-size: 16px; } .ionic .item-icon-left .icon-accessory { left: 3px; } .ionic .item-icon-right .icon-accessory { right: 3px; } .ionic .item-button-left { padding-left: 72px; } .ionic .item-button-left > .button, .ionic .item-button-left .item-content > .button { display: -moz-flex; display: -ms-flexbox; display: flex; -ms-flex-align: center; -moz-align-items: center; align-items: center; position: absolute; top: 8px; left: 11px; min-width: 34px; min-height: 34px; font-size: 18px; line-height: 32px; } .ionic .item-button-left > .button .icon:before, .ionic .item-button-left .item-content > .button .icon:before { position: relative; left: auto; width: auto; line-height: 31px; } .ionic .item-button-left > .button > .button, .ionic .item-button-left .item-content > .button > .button { margin: 0px 2px; min-height: 34px; font-size: 18px; line-height: 32px; } .ionic .item-button-right, .ionic a.item.item-button-right, .ionic button.item.item-button-right { padding-right: 80px; } .ionic .item-button-right > .button, .ionic .item-button-right .item-content > .button, .ionic .item-button-right > .buttons, .ionic .item-button-right .item-content > .buttons { display: -moz-flex; display: -ms-flexbox; display: flex; -ms-flex-align: center; -moz-align-items: center; align-items: center; position: absolute; top: 8px; right: 16px; min-width: 34px; min-height: 34px; font-size: 18px; line-height: 32px; } .ionic .item-button-right > .button .icon:before, .ionic .item-button-right .item-content > .button .icon:before, .ionic .item-button-right > .buttons .icon:before, .ionic .item-button-right .item-content > .buttons .icon:before { position: relative; left: auto; width: auto; line-height: 31px; } .ionic .item-button-right > .button > .button, .ionic .item-button-right .item-content > .button > .button, .ionic .item-button-right > .buttons > .button, .ionic .item-button-right .item-content > .buttons > .button { margin: 0px 2px; min-width: 34px; min-height: 34px; font-size: 18px; line-height: 32px; } .ionic .item-avatar, .ionic .item-avatar .item-content, .ionic .item-avatar-left, .ionic .item-avatar-left .item-content { padding-left: 72px; min-height: 72px; } .ionic .item-avatar > img:first-child, .ionic .item-avatar .item-image, .ionic .item-avatar .item-content > img:first-child, .ionic .item-avatar .item-content .item-image, .ionic .item-avatar-left > img:first-child, .ionic .item-avatar-left .item-image, .ionic .item-avatar-left .item-content > img:first-child, .ionic .item-avatar-left .item-content .item-image { position: absolute; top: 16px; left: 16px; max-width: 40px; max-height: 40px; width: 100%; height: 100%; border-radius: 50%; } .ionic .item-avatar-right, .ionic .item-avatar-right .item-content { padding-right: 72px; min-height: 72px; } .ionic .item-avatar-right > img:first-child, .ionic .item-avatar-right .item-image, .ionic .item-avatar-right .item-content > img:first-child, .ionic .item-avatar-right .item-content .item-image { position: absolute; top: 16px; right: 16px; max-width: 40px; max-height: 40px; width: 100%; height: 100%; border-radius: 50%; } .ionic .item-thumbnail-left, .ionic .item-thumbnail-left .item-content { padding-top: 8px; padding-left: 106px; min-height: 100px; } .ionic .item-thumbnail-left > img:first-child, .ionic .item-thumbnail-left .item-image, .ionic .item-thumbnail-left .item-content > img:first-child, .ionic .item-thumbnail-left .item-content .item-image { position: absolute; top: 10px; left: 10px; max-width: 80px; max-height: 80px; width: 100%; height: 100%; } .ionic .item-avatar.item-complex, .ionic .item-avatar-left.item-complex, .ionic .item-thumbnail-left.item-complex { padding-top: 0; padding-left: 0; } .ionic .item-thumbnail-right, .ionic .item-thumbnail-right .item-content { padding-top: 8px; padding-right: 106px; min-height: 100px; } .ionic .item-thumbnail-right > img:first-child, .ionic .item-thumbnail-right .item-image, .ionic .item-thumbnail-right .item-content > img:first-child, .ionic .item-thumbnail-right .item-content .item-image { position: absolute; top: 10px; right: 10px; max-width: 80px; max-height: 80px; width: 100%; height: 100%; } .ionic .item-avatar-right.item-complex, .ionic .item-thumbnail-right.item-complex { padding-top: 0; padding-right: 0; } .ionic .item-image { padding: 0; text-align: center; } .ionic .item-image img:first-child, .ionic .item-image .list-img { width: 100%; vertical-align: middle; } .ionic .item-body { overflow: auto; padding: 16px; text-overflow: inherit; white-space: normal; } .ionic .item-body h1, .ionic .item-body h2, .ionic .item-body h3, .ionic .item-body h4, .ionic .item-body h5, .ionic .item-body h6, .ionic .item-body p { margin-top: 16px; margin-bottom: 16px; } .ionic .item-divider { padding-top: 8px; padding-bottom: 8px; min-height: 30px; background-color: #f5f5f5; color: #222; font-weight: 500; } .ionic .platform-ios .item-divider-platform, .ionic .item-divider-ios { padding-top: 26px; text-transform: uppercase; font-weight: 300; font-size: 13px; background-color: #efeff4; color: #555; } .ionic .platform-android .item-divider-platform, .ionic .item-divider-android { font-weight: 300; font-size: 13px; } .ionic .item-note { float: right; color: #aaa; font-size: 14px; } .ionic .item-left-editable .item-content, .ionic .item-right-editable .item-content { transition-duration: 250ms; transition-timing-function: ease-in-out; transition-property: -webkit-transform; transition-property: transform; transition-property: transform, -webkit-transform; } .ionic .list-left-editing .item-left-editable .item-content, .ionic .item-left-editing.item-left-editable .item-content { -webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0); } .ionic .item-remove-animate.ng-leave { transition-duration: 300ms; } .ionic .item-remove-animate.ng-leave .item-content, .ionic .item-remove-animate.ng-leave:last-of-type { transition-duration: 300ms; transition-timing-function: ease-in; transition-property: all; } .ionic .item-remove-animate.ng-leave.ng-leave-active .item-content { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0) !important; transform: translate3d(-100%, 0, 0) !important; } .ionic .item-remove-animate.ng-leave.ng-leave-active:last-of-type { opacity: 0; } .ionic .item-remove-animate.ng-leave.ng-leave-active ~ ion-item:not(.ng-leave) { -webkit-transform: translate3d(0, calc(-100% + 1px), 0); transform: translate3d(0, calc(-100% + 1px), 0); transition-duration: 300ms; transition-timing-function: cubic-bezier(0.25, 0.81, 0.24, 1); transition-property: all; } .ionic .item-left-edit { transition: all ease-in-out 125ms; position: absolute; top: 0; left: 0; z-index: 0; width: 50px; height: 100%; line-height: 100%; display: none; opacity: 0; -webkit-transform: translate3d(-21px, 0, 0); transform: translate3d(-21px, 0, 0); } .ionic .item-left-edit .button { height: 100%; } .ionic .item-left-edit .button.icon { display: -moz-flex; display: -ms-flexbox; display: flex; -ms-flex-align: center; -moz-align-items: center; align-items: center; position: absolute; top: 0; height: 100%; } .ionic .item-left-edit.visible { display: block; } .ionic .item-left-edit.visible.active { opacity: 1; -webkit-transform: translate3d(8px, 0, 0); transform: translate3d(8px, 0, 0); } .ionic .list-left-editing .item-left-edit { transition-delay: 125ms; } .ionic .item-delete .button.icon { color: #ef473a; font-size: 24px; } .ionic .item-delete .button.icon:hover { opacity: .7; } .ionic .item-right-edit { transition: all ease-in-out 250ms; position: absolute; top: 0; right: 0; z-index: 3; width: 75px; height: 100%; background: inherit; padding-left: 20px; display: block; opacity: 0; -webkit-transform: translate3d(75px, 0, 0); transform: translate3d(75px, 0, 0); } .ionic .item-right-edit .button { min-width: 50px; height: 100%; } .ionic .item-right-edit .button.icon { display: -moz-flex; display: -ms-flexbox; display: flex; -ms-flex-align: center; -moz-align-items: center; align-items: center; position: absolute; top: 0; height: 100%; font-size: 32px; } .ionic .item-right-edit.visible { display: block; } .ionic .item-right-edit.visible.active { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .ionic .item-reorder .button.icon { color: #444; font-size: 32px; } .ionic .item-reordering { position: absolute; left: 0; top: 0; z-index: 9; width: 100%; box-shadow: 0px 0px 10px 0px #aaa; } .ionic .item-reordering .item-reorder { z-index: 9; } .ionic .item-placeholder { opacity: 0.7; } .ionic .item-options { position: absolute; top: 0; right: 0; z-index: 1; height: 100%; } .ionic .item-options .button { height: 100%; border: none; border-radius: 0; display: -moz-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-align: center; -moz-align-items: center; align-items: center; } .ionic .item-options .button:before { margin: 0 auto; } .ionic .list { position: relative; padding-top: 1px; padding-bottom: 1px; padding-left: 0; margin-bottom: 20px; } .ionic .list:last-child { margin-bottom: 0px; } .ionic .list:last-child.card { margin-bottom: 40px; } .ionic .list-header { margin-top: 20px; padding: 5px 15px; background-color: transparent; color: #222; font-weight: bold; } .ionic .card.list .list-item { padding-right: 1px; padding-left: 1px; } .ionic .card, .ionic .list-inset { overflow: hidden; margin: 20px 10px; border-radius: 2px; background-color: #fff; } .ionic .card { padding-top: 1px; padding-bottom: 1px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); } .ionic .card .item { border-left: 0; border-right: 0; } .ionic .card .item:first-child { border-top: 0; } .ionic .card .item:last-child { border-bottom: 0; } .ionic .padding .card, .ionic .padding .list-inset { margin-left: 0; margin-right: 0; } .ionic .card .item:first-child, .ionic .list-inset .item:first-child, .ionic .padding > .list .item:first-child { border-top-left-radius: 2px; border-top-right-radius: 2px; } .ionic .card .item:first-child .item-content, .ionic .list-inset .item:first-child .item-content, .ionic .padding > .list .item:first-child .item-content { border-top-left-radius: 2px; border-top-right-radius: 2px; } .ionic .card .item:last-child, .ionic .list-inset .item:last-child, .ionic .padding > .list .item:last-child { border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; } .ionic .card .item:last-child .item-content, .ionic .list-inset .item:last-child .item-content, .ionic .padding > .list .item:last-child .item-content { border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; } .ionic .card .item:last-child, .ionic .list-inset .item:last-child { margin-bottom: -1px; } .ionic .card .item, .ionic .list-inset .item, .ionic .padding > .list .item, .ionic .padding-horizontal > .list .item { margin-right: 0; margin-left: 0; } .ionic .card .item.item-input input, .ionic .list-inset .item.item-input input, .ionic .padding > .list .item.item-input input, .ionic .padding-horizontal > .list .item.item-input input { padding-right: 44px; } .ionic .padding-left > .list .item { margin-left: 0; } .ionic .padding-right > .list .item { margin-right: 0; } .ionic .badge { background-color: transparent; color: #AAAAAA; z-index: 1; display: inline-block; padding: 3px 8px; min-width: 10px; border-radius: 10px; vertical-align: baseline; text-align: center; white-space: nowrap; font-weight: bold; font-size: 14px; line-height: 16px; } .ionic .badge:empty { display: none; } .ionic .tabs .tab-item .badge.badge-light, .ionic .badge.badge-light { background-color: #fff; color: #444; } .ionic .tabs .tab-item .badge.badge-stable, .ionic .badge.badge-stable { background-color: #f8f8f8; color: #444; } .ionic .tabs .tab-item .badge.badge-positive, .ionic .badge.badge-positive { background-color: #387ef5; color: #fff; } .ionic .tabs .tab-item .badge.badge-calm, .ionic .badge.badge-calm { background-color: #11c1f3; color: #fff; } .ionic .tabs .tab-item .badge.badge-assertive, .ionic .badge.badge-assertive { background-color: #ef473a; color: #fff; } .ionic .tabs .tab-item .badge.badge-balanced, .ionic .badge.badge-balanced { background-color: #33cd5f; color: #fff; } .ionic .tabs .tab-item .badge.badge-energized, .ionic .badge.badge-energized { background-color: #ffc900; color: #fff; } .ionic .tabs .tab-item .badge.badge-royal, .ionic .badge.badge-royal { background-color: #886aea; color: #fff; } .ionic .tabs .tab-item .badge.badge-dark, .ionic .badge.badge-dark { background-color: #444; color: #fff; } .ionic .button .badge { position: relative; top: -1px; } .ionic .slider { position: relative; visibility: hidden; overflow: hidden; } .ionic .slider-slides { position: relative; height: 100%; } .ionic .slider-slide { position: relative; display: block; float: left; width: 100%; height: 100%; vertical-align: top; } .ionic .slider-slide-image > img { width: 100%; } .ionic .slider-pager { position: absolute; bottom: 20px; z-index: 1; width: 100%; height: 15px; text-align: center; } .ionic .slider-pager .slider-pager-page { display: inline-block; margin: 0px 3px; width: 15px; color: #000; text-decoration: none; opacity: 0.3; } .ionic .slider-pager .slider-pager-page.active { transition: opacity 0.4s ease-in; opacity: 1; } .ionic .slider-slide.ng-enter, .ionic .slider-slide.ng-leave, .ionic .slider-slide.ng-animate, .ionic .slider-pager-page.ng-enter, .ionic .slider-pager-page.ng-leave, .ionic .slider-pager-page.ng-animate { transition: none !important; } .ionic .slider-slide.ng-animate, .ionic .slider-pager-page.ng-animate { -webkit-animation: none 0s; animation: none 0s; } .ionic .scroll-refresher { position: absolute; top: -60px; right: 0; left: 0; overflow: hidden; margin: auto; height: 60px; } .ionic .scroll-refresher .ionic-refresher-content { position: absolute; bottom: 15px; left: 0; width: 100%; color: #666666; text-align: center; font-size: 30px; } .ionic .scroll-refresher .ionic-refresher-content .text-refreshing, .ionic .scroll-refresher .ionic-refresher-content .text-pulling { font-size: 16px; line-height: 16px; } .ionic .scroll-refresher .ionic-refresher-content.ionic-refresher-with-text { bottom: 10px; } .ionic .scroll-refresher .icon-refreshing, .ionic .scroll-refresher .icon-pulling { width: 100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .ionic .scroll-refresher .icon-pulling { -webkit-animation-name: refresh-spin-back; animation-name: refresh-spin-back; -webkit-animation-duration: 200ms; animation-duration: 200ms; -webkit-animation-timing-function: linear; animation-timing-function: linear; -webkit-animation-fill-mode: none; animation-fill-mode: none; -webkit-transform: translate3d(0, 0, 0) rotate(0deg); transform: translate3d(0, 0, 0) rotate(0deg); } .ionic .scroll-refresher .icon-refreshing, .ionic .scroll-refresher .text-refreshing { display: none; } .ionic .scroll-refresher .icon-refreshing { -webkit-animation-duration: 1.5s; animation-duration: 1.5s; } .ionic .scroll-refresher.active .icon-pulling:not(.pulling-rotation-disabled) { -webkit-animation-name: refresh-spin; animation-name: refresh-spin; -webkit-transform: translate3d(0, 0, 0) rotate(-180deg); transform: translate3d(0, 0, 0) rotate(-180deg); } .ionic .scroll-refresher.active.refreshing { transition: -webkit-transform 0.2s; transition: transform 0.2s; transition: transform 0.2s, -webkit-transform 0.2s; -webkit-transform: scale(1, 1); transform: scale(1, 1); } .ionic .scroll-refresher.active.refreshing .icon-pulling, .ionic .scroll-refresher.active.refreshing .text-pulling { display: none; } .ionic .scroll-refresher.active.refreshing .icon-refreshing, .ionic .scroll-refresher.active.refreshing .text-refreshing { display: block; } .ionic .scroll-refresher.active.refreshing.refreshing-tail { -webkit-transform: scale(0, 0); transform: scale(0, 0); } .ionic .overflow-scroll > .scroll { -webkit-overflow-scrolling: touch; width: 100%; } .ionic .overflow-scroll > .scroll.overscroll { position: fixed; right: 0; left: 0; } .ionic .overflow-scroll.padding > .scroll.overscroll { padding: 10px; } @-webkit-keyframes refresh-spin { 0% { -webkit-transform: translate3d(0, 0, 0) rotate(0); } 100% { -webkit-transform: translate3d(0, 0, 0) rotate(180deg); } } @keyframes refresh-spin { 0% { -webkit-transform: translate3d(0, 0, 0) rotate(0); transform: translate3d(0, 0, 0) rotate(0); } 100% { -webkit-transform: translate3d(0, 0, 0) rotate(180deg); transform: translate3d(0, 0, 0) rotate(180deg); } } @-webkit-keyframes refresh-spin-back { 0% { -webkit-transform: translate3d(0, 0, 0) rotate(180deg); } 100% { -webkit-transform: translate3d(0, 0, 0) rotate(0); } } @keyframes refresh-spin-back { 0% { -webkit-transform: translate3d(0, 0, 0) rotate(180deg); transform: translate3d(0, 0, 0) rotate(180deg); } 100% { -webkit-transform: translate3d(0, 0, 0) rotate(0); transform: translate3d(0, 0, 0) rotate(0); } } .ionic .spinner { stroke: #444; fill: #444; } .ionic .spinner svg { width: 28px; height: 28px; } .ionic .spinner.spinner-light { stroke: #fff; fill: #fff; } .ionic .spinner.spinner-stable { stroke: #f8f8f8; fill: #f8f8f8; } .ionic .spinner.spinner-positive { stroke: #387ef5; fill: #387ef5; } .ionic .spinner.spinner-calm { stroke: #11c1f3; fill: #11c1f3; } .ionic .spinner.spinner-balanced { stroke: #33cd5f; fill: #33cd5f; } .ionic .spinner.spinner-assertive { stroke: #ef473a; fill: #ef473a; } .ionic .spinner.spinner-energized { stroke: #ffc900; fill: #ffc900; } .ionic .spinner.spinner-royal { stroke: #886aea; fill: #886aea; } .ionic .spinner.spinner-dark { stroke: #444; fill: #444; } .ionic .spinner-android { stroke: #4b8bf4; } .ionic .spinner-ios, .ionic .spinner-ios-small { stroke: #69717d; } .ionic .spinner-spiral .stop1 { stop-color: #fff; stop-opacity: 0; } .ionic .spinner-spiral.spinner-light .stop1 { stop-color: #444; } .ionic .spinner-spiral.spinner-light .stop2 { stop-color: #fff; } .ionic .spinner-spiral.spinner-stable .stop2 { stop-color: #f8f8f8; } .ionic .spinner-spiral.spinner-positive .stop2 { stop-color: #387ef5; } .ionic .spinner-spiral.spinner-calm .stop2 { stop-color: #11c1f3; } .ionic .spinner-spiral.spinner-balanced .stop2 { stop-color: #33cd5f; } .ionic .spinner-spiral.spinner-assertive .stop2 { stop-color: #ef473a; } .ionic .spinner-spiral.spinner-energized .stop2 { stop-color: #ffc900; } .ionic .spinner-spiral.spinner-royal .stop2 { stop-color: #886aea; } .ionic .spinner-spiral.spinner-dark .stop2 { stop-color: #444; } .ionic form { margin: 0 0 1.42857; } .ionic legend { display: block; margin-bottom: 1.42857; padding: 0; width: 100%; border: 1px solid #ddd; color: #444; font-size: 21px; line-height: 2.85714; } .ionic legend small { color: #f8f8f8; font-size: 1.07143; } .ionic label, .ionic input, .ionic button, .ionic select, .ionic textarea { font-weight: normal; font-size: 14px; line-height: 1.42857; } .ionic input, .ionic button, .ionic select, .ionic textarea { font-family: "Helvetica Neue", "Roboto", "Segoe UI", sans-serif; } .ionic .item-input { display: -moz-flex; display: -ms-flexbox; display: flex; -ms-flex-align: center; -moz-align-items: center; align-items: center; position: relative; overflow: hidden; padding: 6px 0 5px 16px; } .ionic .item-input input { border-radius: 0; -moz-flex: 1 220px; -ms-flex: 1 220px; flex: 1 220px; -webkit-appearance: none; -moz-appearance: none; appearance: none; margin: 0; padding-right: 24px; background-color: transparent; } .ionic .item-input .button .icon { -moz-flex: 0 0 24px; -ms-flex: 0 0 24px; flex: 0 0 24px; position: static; display: inline-block; height: auto; text-align: center; font-size: 16px; } .ionic .item-input .button-bar { border-radius: 0; -moz-flex: 1 0 220px; -ms-flex: 1 0 220px; flex: 1 0 220px; -webkit-appearance: none; -moz-appearance: none; appearance: none; } .ionic .item-input .icon { min-width: 14px; } .ionic .platform-windowsphone .item-input input { -ms-flex-negative: 1; flex-shrink: 1; } .ionic .item-input-inset { display: -moz-flex; display: -ms-flexbox; display: flex; -ms-flex-align: center; -moz-align-items: center; align-items: center; position: relative; overflow: hidden; padding: 10.66667px; } .ionic .item-input-wrapper { display: -moz-flex; display: -ms-flexbox; display: flex; -moz-flex: 1 0; -ms-flex: 1 0; flex: 1 0; -ms-flex-align: center; -moz-align-items: center; align-items: center; border-radius: 4px; padding-right: 8px; padding-left: 8px; background: #eee; } .ionic .item-input-inset .item-input-wrapper input { padding-left: 4px; height: 29px; background: transparent; line-height: 18px; } .ionic .item-input-wrapper ~ .button { margin-left: 10.66667px; } .ionic .input-label { display: table; padding: 7px 10px 7px 0px; max-width: 200px; width: 35%; color: #444; font-size: 16px; } .ionic .placeholder-icon { color: #aaa; } .ionic .placeholder-icon:first-child { padding-right: 6px; } .ionic .placeholder-icon:last-child { padding-left: 6px; } .ionic .item-stacked-label { display: block; background-color: transparent; box-shadow: none; } .ionic .item-stacked-label .input-label, .ionic .item-stacked-label .icon { display: inline-block; padding: 4px 0 0 0px; vertical-align: middle; } .ionic .item-stacked-label input, .ionic .item-stacked-label textarea { border-radius: 2px; padding: 4px 8px 3px 0; border: none; background-color: #fff; } .ionic .item-stacked-label input { overflow: hidden; height: 46px; } .ionic .item-floating-label { display: block; background-color: transparent; box-shadow: none; } .ionic .item-floating-label .input-label { position: relative; padding: 5px 0 0 0; opacity: 0; top: 10px; transition: opacity 0.15s ease-in, top 0.2s linear; } .ionic .item-floating-label .input-label.has-input { opacity: 1; top: 0; transition: opacity 0.15s ease-in, top 0.2s linear; } .ionic textarea, .ionic input[type="text"], .ionic input[type="password"], .ionic input[type="datetime"], .ionic input[type="datetime-local"], .ionic input[type="date"], .ionic input[type="month"], .ionic input[type="time"], .ionic input[type="week"], .ionic input[type="number"], .ionic input[type="email"], .ionic input[type="url"], .ionic input[type="search"], .ionic input[type="tel"], .ionic input[type="color"] { display: block; padding-top: 2px; padding-left: 0; height: 34px; color: #111; vertical-align: middle; font-size: 14px; line-height: 16px; } .ionic .platform-ios input[type="datetime-local"], .ionic .platform-ios input[type="date"], .ionic .platform-ios input[type="month"], .ionic .platform-ios input[type="time"], .ionic .platform-ios input[type="week"], .ionic .platform-android input[type="datetime-local"], .ionic .platform-android input[type="date"], .ionic .platform-android input[type="month"], .ionic .platform-android input[type="time"], .ionic .platform-android input[type="week"] { padding-top: 8px; } .ionic .item-input input, .ionic .item-input textarea { width: 100%; } .ionic textarea { padding-left: 0; } .ionic textarea::-moz-placeholder { color: #aaaaaa; } .ionic textarea:-ms-input-placeholder { color: #aaaaaa; } .ionic textarea::-webkit-input-placeholder { color: #aaaaaa; text-indent: -3px; } .ionic textarea { height: auto; } .ionic textarea, .ionic input[type="text"], .ionic input[type="password"], .ionic input[type="datetime"], .ionic input[type="datetime-local"], .ionic input[type="date"], .ionic input[type="month"], .ionic input[type="time"], .ionic input[type="week"], .ionic input[type="number"], .ionic input[type="email"], .ionic input[type="url"], .ionic input[type="search"], .ionic input[type="tel"], .ionic input[type="color"] { border: 0; } .ionic input[type="radio"], .ionic input[type="checkbox"] { margin: 0; line-height: normal; } .ionic .item-input input[type="file"], .ionic .item-input input[type="image"], .ionic .item-input input[type="submit"], .ionic .item-input input[type="reset"], .ionic .item-input input[type="button"], .ionic .item-input input[type="radio"], .ionic .item-input input[type="checkbox"] { width: auto; } .ionic input[type="file"] { line-height: 34px; } .ionic .previous-input-focus, .ionic .cloned-text-input + input, .ionic .cloned-text-input + textarea { position: absolute !important; left: -9999px; width: 200px; } .ionic input::-moz-placeholder, .ionic textarea::-moz-placeholder { color: #aaaaaa; } .ionic input:-ms-input-placeholder, .ionic textarea:-ms-input-placeholder { color: #aaaaaa; } .ionic input::-webkit-input-placeholder, .ionic textarea::-webkit-input-placeholder { color: #aaaaaa; text-indent: 0; } .ionic input[disabled], .ionic select[disabled], .ionic textarea[disabled], .ionic input[readonly]:not(.cloned-text-input), .ionic textarea[readonly]:not(.cloned-text-input), .ionic select[readonly] { background-color: #f8f8f8; cursor: not-allowed; } .ionic input[type="radio"][disabled], .ionic input[type="checkbox"][disabled], .ionic input[type="radio"][readonly], .ionic input[type="checkbox"][readonly] { background-color: transparent; } .ionic .checkbox { position: relative; display: inline-block; padding: 7px 7px; cursor: pointer; } .ionic .checkbox input:before, .ionic .checkbox .checkbox-icon:before { border-color: #ddd; } .ionic .checkbox input:checked:before, .ionic .checkbox input:checked + .checkbox-icon:before { background: #387ef5; border-color: #387ef5; } .ionic .checkbox-light input:before, .ionic .checkbox-light .checkbox-icon:before { border-color: #ddd; } .ionic .checkbox-light input:checked:before, .ionic .checkbox-light input:checked + .checkbox-icon:before { background: #ddd; border-color: #ddd; } .ionic .checkbox-stable input:before, .ionic .checkbox-stable .checkbox-icon:before { border-color: #b2b2b2; } .ionic .checkbox-stable input:checked:before, .ionic .checkbox-stable input:checked + .checkbox-icon:before { background: #b2b2b2; border-color: #b2b2b2; } .ionic .checkbox-positive input:before, .ionic .checkbox-positive .checkbox-icon:before { border-color: #387ef5; } .ionic .checkbox-positive input:checked:before, .ionic .checkbox-positive input:checked + .checkbox-icon:before { background: #387ef5; border-color: #387ef5; } .ionic .checkbox-calm input:before, .ionic .checkbox-calm .checkbox-icon:before { border-color: #11c1f3; } .ionic .checkbox-calm input:checked:before, .ionic .checkbox-calm input:checked + .checkbox-icon:before { background: #11c1f3; border-color: #11c1f3; } .ionic .checkbox-assertive input:before, .ionic .checkbox-assertive .checkbox-icon:before { border-color: #ef473a; } .ionic .checkbox-assertive input:checked:before, .ionic .checkbox-assertive input:checked + .checkbox-icon:before { background: #ef473a; border-color: #ef473a; } .ionic .checkbox-balanced input:before, .ionic .checkbox-balanced .checkbox-icon:before { border-color: #33cd5f; } .ionic .checkbox-balanced input:checked:before, .ionic .checkbox-balanced input:checked + .checkbox-icon:before { background: #33cd5f; border-color: #33cd5f; } .ionic .checkbox-energized input:before, .ionic .checkbox-energized .checkbox-icon:before { border-color: #ffc900; } .ionic .checkbox-energized input:checked:before, .ionic .checkbox-energized input:checked + .checkbox-icon:before { background: #ffc900; border-color: #ffc900; } .ionic .checkbox-royal input:before, .ionic .checkbox-royal .checkbox-icon:before { border-color: #886aea; } .ionic .checkbox-royal input:checked:before, .ionic .checkbox-royal input:checked + .checkbox-icon:before { background: #886aea; border-color: #886aea; } .ionic .checkbox-dark input:before, .ionic .checkbox-dark .checkbox-icon:before { border-color: #444; } .ionic .checkbox-dark input:checked:before, .ionic .checkbox-dark input:checked + .checkbox-icon:before { background: #444; border-color: #444; } .ionic .checkbox input:disabled:before, .ionic .checkbox input:disabled + .checkbox-icon:before { border-color: #ddd; } .ionic .checkbox input:disabled:checked:before, .ionic .checkbox input:disabled:checked + .checkbox-icon:before { background: #ddd; } .ionic .checkbox.checkbox-input-hidden input { display: none !important; } .ionic .checkbox input, .ionic .checkbox-icon { position: relative; width: 28px; height: 28px; display: block; border: 0; background: transparent; cursor: pointer; -webkit-appearance: none; } .ionic .checkbox input:before, .ionic .checkbox-icon:before { display: table; width: 100%; height: 100%; border-width: 1px; border-style: solid; border-radius: 28px; background: #fff; content: ' '; transition: background-color 20ms ease-in-out; } .ionic .checkbox input:checked:before, .ionic input:checked + .checkbox-icon:before { border-width: 2px; } .ionic .checkbox input:after, .ionic .checkbox-icon:after { transition: opacity 0.05s ease-in-out; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); position: absolute; top: 33%; left: 25%; display: table; width: 14px; height: 6px; border: 1px solid #fff; border-top: 0; border-right: 0; content: ' '; opacity: 0; } .ionic .platform-android .checkbox-platform input:before, .ionic .platform-android .checkbox-platform .checkbox-icon:before, .ionic .checkbox-square input:before, .ionic .checkbox-square .checkbox-icon:before { border-radius: 2px; width: 72%; height: 72%; margin-top: 14%; margin-left: 14%; border-width: 2px; } .ionic .platform-android .checkbox-platform input:after, .ionic .platform-android .checkbox-platform .checkbox-icon:after, .ionic .checkbox-square input:after, .ionic .checkbox-square .checkbox-icon:after { border-width: 2px; top: 19%; left: 25%; width: 13px; height: 7px; } .ionic .grade-c .checkbox input:after, .ionic .grade-c .checkbox-icon:after { -webkit-transform: rotate(0); transform: rotate(0); top: 3px; left: 4px; border: none; color: #fff; content: '\2713'; font-weight: bold; font-size: 20px; } .ionic .checkbox input:checked:after, .ionic input:checked + .checkbox-icon:after { opacity: 1; } .ionic .item-checkbox { padding-left: 60px; } .ionic .item-checkbox.active { box-shadow: none; } .ionic .item-checkbox .checkbox { position: absolute; top: 50%; right: 8px; left: 8px; z-index: 3; margin-top: -21px; } .ionic .item-checkbox.item-checkbox-right { padding-right: 60px; padding-left: 16px; } .ionic .item-checkbox-right .checkbox input, .ionic .item-checkbox-right .checkbox-icon { float: right; } .ionic .item-toggle { pointer-events: none; } .ionic .toggle { position: relative; display: inline-block; pointer-events: auto; margin: -5px; padding: 5px; } .ionic .toggle input:checked + .track { border-color: #4cd964; background-color: #4cd964; } .ionic .toggle.dragging .handle { background-color: #f2f2f2 !important; } .ionic .toggle.toggle-light input:checked + .track { border-color: #ddd; background-color: #ddd; } .ionic .toggle.toggle-stable input:checked + .track { border-color: #b2b2b2; background-color: #b2b2b2; } .ionic .toggle.toggle-positive input:checked + .track { border-color: #387ef5; background-color: #387ef5; } .ionic .toggle.toggle-calm input:checked + .track { border-color: #11c1f3; background-color: #11c1f3; } .ionic .toggle.toggle-assertive input:checked + .track { border-color: #ef473a; background-color: #ef473a; } .ionic .toggle.toggle-balanced input:checked + .track { border-color: #33cd5f; background-color: #33cd5f; } .ionic .toggle.toggle-energized input:checked + .track { border-color: #ffc900; background-color: #ffc900; } .ionic .toggle.toggle-royal input:checked + .track { border-color: #886aea; background-color: #886aea; } .ionic .toggle.toggle-dark input:checked + .track { border-color: #444; background-color: #444; } .ionic .toggle input { display: none; } .ionic .toggle .track { transition-timing-function: ease-in-out; transition-duration: 0.3s; transition-property: background-color, border; display: inline-block; box-sizing: border-box; width: 51px; height: 31px; border: solid 2px #e6e6e6; border-radius: 20px; background-color: #fff; content: ' '; cursor: pointer; pointer-events: none; } .ionic .platform-android4_2 .toggle .track { -webkit-background-clip: padding-box; } .ionic .toggle .handle { transition: 0.3s cubic-bezier(0, 1.1, 1, 1.1); transition-property: background-color, -webkit-transform; transition-property: background-color, transform; transition-property: background-color, transform, -webkit-transform; position: absolute; display: block; width: 27px; height: 27px; border-radius: 27px; background-color: #fff; top: 7px; left: 7px; box-shadow: 0 2px 7px rgba(0, 0, 0, 0.35), 0 1px 1px rgba(0, 0, 0, 0.15); } .ionic .toggle .handle:before { position: absolute; top: -4px; left: -21.5px; padding: 18.5px 34px; content: " "; } .ionic .toggle input:checked + .track .handle { -webkit-transform: translate3d(20px, 0, 0); transform: translate3d(20px, 0, 0); background-color: #fff; } .ionic .item-toggle.active { box-shadow: none; } .ionic .item-toggle, .ionic .item-toggle.item-complex .item-content { padding-right: 99px; } .ionic .item-toggle.item-complex { padding-right: 0; } .ionic .item-toggle .toggle { position: absolute; top: 10px; right: 16px; z-index: 3; } .ionic .toggle input:disabled + .track { opacity: .6; } .ionic .toggle-small .track { border: 0; width: 34px; height: 15px; background: #9e9e9e; } .ionic .toggle-small input:checked + .track { background: rgba(0, 150, 137, 0.5); } .ionic .toggle-small .handle { top: 2px; left: 4px; width: 21px; height: 21px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25); } .ionic .toggle-small input:checked + .track .handle { -webkit-transform: translate3d(16px, 0, 0); transform: translate3d(16px, 0, 0); background: #009689; } .ionic .toggle-small.item-toggle .toggle { top: 19px; } .ionic .toggle-small .toggle-light input:checked + .track { background-color: rgba(221, 221, 221, 0.5); } .ionic .toggle-small .toggle-light input:checked + .track .handle { background-color: #ddd; } .ionic .toggle-small .toggle-stable input:checked + .track { background-color: rgba(178, 178, 178, 0.5); } .ionic .toggle-small .toggle-stable input:checked + .track .handle { background-color: #b2b2b2; } .ionic .toggle-small .toggle-positive input:checked + .track { background-color: rgba(56, 126, 245, 0.5); } .ionic .toggle-small .toggle-positive input:checked + .track .handle { background-color: #387ef5; } .ionic .toggle-small .toggle-calm input:checked + .track { background-color: rgba(17, 193, 243, 0.5); } .ionic .toggle-small .toggle-calm input:checked + .track .handle { background-color: #11c1f3; } .ionic .toggle-small .toggle-assertive input:checked + .track { background-color: rgba(239, 71, 58, 0.5); } .ionic .toggle-small .toggle-assertive input:checked + .track .handle { background-color: #ef473a; } .ionic .toggle-small .toggle-balanced input:checked + .track { background-color: rgba(51, 205, 95, 0.5); } .ionic .toggle-small .toggle-balanced input:checked + .track .handle { background-color: #33cd5f; } .ionic .toggle-small .toggle-energized input:checked + .track { background-color: rgba(255, 201, 0, 0.5); } .ionic .toggle-small .toggle-energized input:checked + .track .handle { background-color: #ffc900; } .ionic .toggle-small .toggle-royal input:checked + .track { background-color: rgba(136, 106, 234, 0.5); } .ionic .toggle-small .toggle-royal input:checked + .track .handle { background-color: #886aea; } .ionic .toggle-small .toggle-dark input:checked + .track { background-color: rgba(68, 68, 68, 0.5); } .ionic .toggle-small .toggle-dark input:checked + .track .handle { background-color: #444; } .ionic .item-radio { padding: 0; } .ionic .item-radio:hover { cursor: pointer; } .ionic .item-radio .item-content { /* give some room to the right for the checkmark icon */ padding-right: 64px; } .ionic .item-radio .radio-icon { /* checkmark icon will be hidden by default */ position: absolute; top: 0; right: 0; z-index: 3; visibility: hidden; padding: 14px; height: 100%; font-size: 24px; } .ionic .item-radio input { /* hide any radio button inputs elements (the ugly circles) */ position: absolute; left: -9999px; } .ionic .item-radio input:checked + .radio-content .item-content { /* style the item content when its checked */ background: #f7f7f7; } .ionic .item-radio input:checked + .radio-content .radio-icon { /* show the checkmark icon when its checked */ visibility: visible; } .ionic .range input { display: inline-block; overflow: hidden; margin-top: 5px; margin-bottom: 5px; padding-right: 2px; padding-left: 1px; width: auto; height: 43px; outline: none; background: linear-gradient(to right, #ccc 0%, #ccc 100%); background-position: center; background-size: 99% 2px; background-repeat: no-repeat; -webkit-appearance: none; } .ionic .range input::-webkit-slider-thumb { position: relative; width: 28px; height: 28px; border-radius: 50%; background-color: #fff; box-shadow: 0 0 2px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2); cursor: pointer; -webkit-appearance: none; border: 0; } .ionic .range input::-webkit-slider-thumb:before { /* what creates the colorful line on the left side of the slider */ position: absolute; top: 13px; left: -2001px; width: 2000px; height: 2px; background: #444; content: ' '; } .ionic .range input::-webkit-slider-thumb:after { /* create a larger (but hidden) hit area */ position: absolute; top: -15px; left: -15px; padding: 30px; content: ' '; } .ionic .range input::-ms-track { background: transparent; border-color: transparent; border-width: 11px 0 16px; color: transparent; margin-top: 20px; } .ionic .range input::-ms-thumb { width: 28px; height: 28px; border-radius: 50%; background-color: #fff; border-color: #fff; box-shadow: 0 0 2px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2); margin-left: 1px; margin-right: 1px; outline: none; } .ionic .range input::-ms-fill-lower { height: 2px; background: #444; } .ionic .range input::-ms-fill-upper { height: 2px; background: #ccc; } .ionic .range { display: -moz-flex; display: -ms-flexbox; display: flex; -ms-flex-align: center; -moz-align-items: center; align-items: center; padding: 2px 11px; } .ionic .range.range-light input::-webkit-slider-thumb:before { background: #ddd; } .ionic .range.range-light input::-ms-fill-lower { background: #ddd; } .ionic .range.range-stable input::-webkit-slider-thumb:before { background: #b2b2b2; } .ionic .range.range-stable input::-ms-fill-lower { background: #b2b2b2; } .ionic .range.range-positive input::-webkit-slider-thumb:before { background: #387ef5; } .ionic .range.range-positive input::-ms-fill-lower { background: #387ef5; } .ionic .range.range-calm input::-webkit-slider-thumb:before { background: #11c1f3; } .ionic .range.range-calm input::-ms-fill-lower { background: #11c1f3; } .ionic .range.range-balanced input::-webkit-slider-thumb:before { background: #33cd5f; } .ionic .range.range-balanced input::-ms-fill-lower { background: #33cd5f; } .ionic .range.range-assertive input::-webkit-slider-thumb:before { background: #ef473a; } .ionic .range.range-assertive input::-ms-fill-lower { background: #ef473a; } .ionic .range.range-energized input::-webkit-slider-thumb:before { background: #ffc900; } .ionic .range.range-energized input::-ms-fill-lower { background: #ffc900; } .ionic .range.range-royal input::-webkit-slider-thumb:before { background: #886aea; } .ionic .range.range-royal input::-ms-fill-lower { background: #886aea; } .ionic .range.range-dark input::-webkit-slider-thumb:before { background: #444; } .ionic .range.range-dark input::-ms-fill-lower { background: #444; } .ionic .range .icon { -moz-flex: 0; -ms-flex: 0; flex: 0; display: block; min-width: 24px; text-align: center; font-size: 24px; } .ionic .range input { -moz-flex: 1; -ms-flex: 1; flex: 1; display: block; margin-right: 10px; margin-left: 10px; } .ionic .range-label { -moz-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto; display: block; white-space: nowrap; } .ionic .range-label:first-child { padding-left: 5px; } .ionic .range input + .range-label { padding-right: 5px; padding-left: 0; } .ionic .platform-windowsphone .range input { height: auto; } .ionic .item-select { position: relative; } .ionic .item-select select { -webkit-appearance: none; -moz-appearance: none; appearance: none; position: absolute; top: 0; bottom: 0; right: 0; padding: 0 48px 0 16px; max-width: 65%; border: none; background: #fff; color: #333; text-indent: .01px; text-overflow: ''; white-space: nowrap; font-size: 14px; cursor: pointer; direction: rtl; } .ionic .item-select select::-ms-expand { display: none; } .ionic .item-select option { direction: ltr; } .ionic .item-select:after { position: absolute; top: 50%; right: 16px; margin-top: -3px; width: 0; height: 0; border-top: 5px solid; border-right: 5px solid transparent; border-left: 5px solid transparent; color: #999; content: ""; pointer-events: none; } .ionic .item-select.item-light select { background: #fff; color: #444; } .ionic .item-select.item-stable select { background: #f8f8f8; color: #444; } .ionic .item-select.item-stable:after, .ionic .item-select.item-stable .input-label { color: #656565; } .ionic .item-select.item-positive select { background: #387ef5; color: #fff; } .ionic .item-select.item-positive:after, .ionic .item-select.item-positive .input-label { color: #fff; } .ionic .item-select.item-calm select { background: #11c1f3; color: #fff; } .ionic .item-select.item-calm:after, .ionic .item-select.item-calm .input-label { color: #fff; } .ionic .item-select.item-assertive select { background: #ef473a; color: #fff; } .ionic .item-select.item-assertive:after, .ionic .item-select.item-assertive .input-label { color: #fff; } .ionic .item-select.item-balanced select { background: #33cd5f; color: #fff; } .ionic .item-select.item-balanced:after, .ionic .item-select.item-balanced .input-label { color: #fff; } .ionic .item-select.item-energized select { background: #ffc900; color: #fff; } .ionic .item-select.item-energized:after, .ionic .item-select.item-energized .input-label { color: #fff; } .ionic .item-select.item-royal select { background: #886aea; color: #fff; } .ionic .item-select.item-royal:after, .ionic .item-select.item-royal .input-label { color: #fff; } .ionic .item-select.item-dark select { background: #444; color: #fff; } .ionic .item-select.item-dark:after, .ionic .item-select.item-dark .input-label { color: #fff; } .ionic select[multiple], .ionic select[size] { height: auto; } .ionic progress { display: block; margin: 15px auto; width: 100%; } .ionic .button { border-color: #b2b2b2; background-color: #f8f8f8; color: #444; position: relative; display: inline-block; margin: 0; padding: 0 12px; min-width: 52px; min-height: 47px; border-width: 1px; border-style: solid; border-radius: 2px; vertical-align: top; text-align: center; text-overflow: ellipsis; font-size: 16px; line-height: 42px; cursor: pointer; } .ionic .button:hover { color: #444; text-decoration: none; } .ionic .button.active, .ionic .button.activated { border-color: #a2a2a2; background-color: #e5e5e5; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .button:after { position: absolute; top: -6px; right: -6px; bottom: -6px; left: -6px; content: ' '; } .ionic .button .icon { vertical-align: top; pointer-events: none; } .ionic .button .icon:before, .ionic .button.icon:before, .ionic .button.icon-left:before, .ionic .button.icon-right:before { display: inline-block; padding: 0 0 1px 0; vertical-align: inherit; font-size: 24px; line-height: 41px; pointer-events: none; } .ionic .button.icon-left:before { float: left; padding-right: .2em; padding-left: 0; } .ionic .button.icon-right:before { float: right; padding-right: 0; padding-left: .2em; } .ionic .button.button-block, .ionic .button.button-full { margin-top: 10px; margin-bottom: 10px; } .ionic .button.button-light { border-color: #ddd; background-color: #fff; color: #444; } .ionic .button.button-light:hover { color: #444; text-decoration: none; } .ionic .button.button-light.active, .ionic .button.button-light.activated { border-color: #ccc; background-color: #fafafa; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .button.button-light.button-clear { border-color: transparent; background: none; box-shadow: none; color: #ddd; } .ionic .button.button-light.button-icon { border-color: transparent; background: none; } .ionic .button.button-light.button-outline { border-color: #ddd; background: transparent; color: #ddd; } .ionic .button.button-light.button-outline.active, .ionic .button.button-light.button-outline.activated { background-color: #ddd; box-shadow: none; color: #fff; } .ionic .button.button-stable { border-color: #b2b2b2; background-color: #f8f8f8; color: #444; } .ionic .button.button-stable:hover { color: #444; text-decoration: none; } .ionic .button.button-stable.active, .ionic .button.button-stable.activated { border-color: #a2a2a2; background-color: #e5e5e5; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .button.button-stable.button-clear { border-color: transparent; background: none; box-shadow: none; color: #b2b2b2; } .ionic .button.button-stable.button-icon { border-color: transparent; background: none; } .ionic .button.button-stable.button-outline { border-color: #b2b2b2; background: transparent; color: #b2b2b2; } .ionic .button.button-stable.button-outline.active, .ionic .button.button-stable.button-outline.activated { background-color: #b2b2b2; box-shadow: none; color: #fff; } .ionic .button.button-positive { border-color: #0c60ee; background-color: #387ef5; color: #fff; } .ionic .button.button-positive:hover { color: #fff; text-decoration: none; } .ionic .button.button-positive.active, .ionic .button.button-positive.activated { border-color: #0c60ee; background-color: #0c60ee; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .button.button-positive.button-clear { border-color: transparent; background: none; box-shadow: none; color: #387ef5; } .ionic .button.button-positive.button-icon { border-color: transparent; background: none; } .ionic .button.button-positive.button-outline { border-color: #387ef5; background: transparent; color: #387ef5; } .ionic .button.button-positive.button-outline.active, .ionic .button.button-positive.button-outline.activated { background-color: #387ef5; box-shadow: none; color: #fff; } .ionic .button.button-calm { border-color: #0a9dc7; background-color: #11c1f3; color: #fff; } .ionic .button.button-calm:hover { color: #fff; text-decoration: none; } .ionic .button.button-calm.active, .ionic .button.button-calm.activated { border-color: #0a9dc7; background-color: #0a9dc7; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .button.button-calm.button-clear { border-color: transparent; background: none; box-shadow: none; color: #11c1f3; } .ionic .button.button-calm.button-icon { border-color: transparent; background: none; } .ionic .button.button-calm.button-outline { border-color: #11c1f3; background: transparent; color: #11c1f3; } .ionic .button.button-calm.button-outline.active, .ionic .button.button-calm.button-outline.activated { background-color: #11c1f3; box-shadow: none; color: #fff; } .ionic .button.button-assertive { border-color: #e42112; background-color: #ef473a; color: #fff; } .ionic .button.button-assertive:hover { color: #fff; text-decoration: none; } .ionic .button.button-assertive.active, .ionic .button.button-assertive.activated { border-color: #e42112; background-color: #e42112; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .button.button-assertive.button-clear { border-color: transparent; background: none; box-shadow: none; color: #ef473a; } .ionic .button.button-assertive.button-icon { border-color: transparent; background: none; } .ionic .button.button-assertive.button-outline { border-color: #ef473a; background: transparent; color: #ef473a; } .ionic .button.button-assertive.button-outline.active, .ionic .button.button-assertive.button-outline.activated { background-color: #ef473a; box-shadow: none; color: #fff; } .ionic .button.button-balanced { border-color: #28a54c; background-color: #33cd5f; color: #fff; } .ionic .button.button-balanced:hover { color: #fff; text-decoration: none; } .ionic .button.button-balanced.active, .ionic .button.button-balanced.activated { border-color: #28a54c; background-color: #28a54c; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .button.button-balanced.button-clear { border-color: transparent; background: none; box-shadow: none; color: #33cd5f; } .ionic .button.button-balanced.button-icon { border-color: transparent; background: none; } .ionic .button.button-balanced.button-outline { border-color: #33cd5f; background: transparent; color: #33cd5f; } .ionic .button.button-balanced.button-outline.active, .ionic .button.button-balanced.button-outline.activated { background-color: #33cd5f; box-shadow: none; color: #fff; } .ionic .button.button-energized { border-color: #e6b500; background-color: #ffc900; color: #fff; } .ionic .button.button-energized:hover { color: #fff; text-decoration: none; } .ionic .button.button-energized.active, .ionic .button.button-energized.activated { border-color: #e6b500; background-color: #e6b500; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .button.button-energized.button-clear { border-color: transparent; background: none; box-shadow: none; color: #ffc900; } .ionic .button.button-energized.button-icon { border-color: transparent; background: none; } .ionic .button.button-energized.button-outline { border-color: #ffc900; background: transparent; color: #ffc900; } .ionic .button.button-energized.button-outline.active, .ionic .button.button-energized.button-outline.activated { background-color: #ffc900; box-shadow: none; color: #fff; } .ionic .button.button-royal { border-color: #6b46e5; background-color: #886aea; color: #fff; } .ionic .button.button-royal:hover { color: #fff; text-decoration: none; } .ionic .button.button-royal.active, .ionic .button.button-royal.activated { border-color: #6b46e5; background-color: #6b46e5; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .button.button-royal.button-clear { border-color: transparent; background: none; box-shadow: none; color: #886aea; } .ionic .button.button-royal.button-icon { border-color: transparent; background: none; } .ionic .button.button-royal.button-outline { border-color: #886aea; background: transparent; color: #886aea; } .ionic .button.button-royal.button-outline.active, .ionic .button.button-royal.button-outline.activated { background-color: #886aea; box-shadow: none; color: #fff; } .ionic .button.button-dark { border-color: #111; background-color: #444; color: #fff; } .ionic .button.button-dark:hover { color: #fff; text-decoration: none; } .ionic .button.button-dark.active, .ionic .button.button-dark.activated { border-color: #000; background-color: #262626; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .ionic .button.button-dark.button-clear { border-color: transparent; background: none; box-shadow: none; color: #444; } .ionic .button.button-dark.button-icon { border-color: transparent; background: none; } .ionic .button.button-dark.button-outline { border-color: #444; background: transparent; color: #444; } .ionic .button.button-dark.button-outline.active, .ionic .button.button-dark.button-outline.activated { background-color: #444; box-shadow: none; color: #fff; } .ionic .button-small { padding: 2px 4px 1px; min-width: 28px; min-height: 30px; font-size: 12px; line-height: 26px; } .ionic .button-small .icon:before, .ionic .button-small.icon:before, .ionic .button-small.icon-left:before, .ionic .button-small.icon-right:before { font-size: 16px; line-height: 19px; margin-top: 3px; } .ionic .button-large { padding: 0 16px; min-width: 68px; min-height: 59px; font-size: 20px; line-height: 53px; } .ionic .button-large .icon:before, .ionic .button-large.icon:before, .ionic .button-large.icon-left:before, .ionic .button-large.icon-right:before { padding-bottom: 2px; font-size: 32px; line-height: 51px; } .ionic .button-icon { transition: opacity 0.1s; padding: 0 6px; min-width: initial; border-color: transparent; background: none; } .ionic .button-icon.button.active, .ionic .button-icon.button.activated { border-color: transparent; background: none; box-shadow: none; opacity: 0.3; } .ionic .button-icon .icon:before, .ionic .button-icon.icon:before { font-size: 32px; } .ionic .button-clear { transition: opacity 0.1s; padding: 0 6px; max-height: 42px; border-color: transparent; background: none; box-shadow: none; } .ionic .button-clear.button-clear { border-color: transparent; background: none; box-shadow: none; color: #b2b2b2; } .ionic .button-clear.button-icon { border-color: transparent; background: none; } .ionic .button-clear.active, .ionic .button-clear.activated { opacity: 0.3; } .ionic .button-outline { transition: opacity 0.1s; background: none; box-shadow: none; } .ionic .button-outline.button-outline { border-color: #b2b2b2; background: transparent; color: #b2b2b2; } .ionic .button-outline.button-outline.active, .ionic .button-outline.button-outline.activated { background-color: #b2b2b2; box-shadow: none; color: #fff; } .ionic .padding > .button.button-block:first-child { margin-top: 0; } .ionic .button-block { display: block; clear: both; } .ionic .button-block:after { clear: both; } .ionic .button-full, .ionic .button-full > .button { display: block; margin-right: 0; margin-left: 0; border-right-width: 0; border-left-width: 0; border-radius: 0; } .ionic button.button-block, .ionic button.button-full, .ionic .button-full > button.button, .ionic input.button.button-block { width: 100%; } .ionic a.button { text-decoration: none; } .ionic a.button .icon:before, .ionic a.button.icon:before, .ionic a.button.icon-left:before, .ionic a.button.icon-right:before { margin-top: 2px; } .ionic .button.disabled, .ionic .button[disabled] { opacity: .4; cursor: default !important; pointer-events: none; } .ionic .button-bar { display: -moz-flex; display: -ms-flexbox; display: flex; -moz-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } .ionic .button-bar.button-bar-inline { display: block; width: auto; *zoom: 1; } .ionic .button-bar.button-bar-inline:before, .ionic .button-bar.button-bar-inline:after { display: table; content: ""; line-height: 0; } .ionic .button-bar.button-bar-inline:after { clear: both; } .ionic .button-bar.button-bar-inline > .button { width: auto; display: inline-block; float: left; } .ionic .button-bar > .button { -moz-flex: 1; -ms-flex: 1; flex: 1; display: block; overflow: hidden; padding: 0 16px; width: 0; border-width: 1px 0px 1px 1px; border-radius: 0; text-align: center; text-overflow: ellipsis; white-space: nowrap; } .ionic .button-bar > .button:before, .ionic .button-bar > .button .icon:before { line-height: 44px; } .ionic .button-bar > .button:first-child { border-radius: 2px 0px 0px 2px; } .ionic .button-bar > .button:last-child { border-right-width: 1px; border-radius: 0px 2px 2px 0px; } .ionic .button-bar > .button-small:before, .ionic .button-bar > .button-small .icon:before { line-height: 28px; } .ionic .row { display: -moz-flex; display: -ms-flexbox; display: flex; padding: 5px; width: 100%; } .ionic .row-wrap { -ms-flex-wrap: wrap; flex-wrap: wrap; } .ionic .row-no-padding { padding: 0; } .ionic .row-no-padding > .col { padding: 0; } .ionic .row + .row { margin-top: -5px; padding-top: 0; } .ionic .col { -moz-flex: 1; -ms-flex: 1; flex: 1; display: block; padding: 5px; width: 100%; } .ionic .row-top { -ms-flex-align: start; -moz-align-items: flex-start; align-items: flex-start; } .ionic .row-bottom { -ms-flex-align: end; -moz-align-items: flex-end; align-items: flex-end; } .ionic .row-center { -ms-flex-align: center; -moz-align-items: center; align-items: center; } .ionic .row-stretch { -ms-flex-align: stretch; -moz-align-items: stretch; align-items: stretch; } .ionic .row-baseline { -ms-flex-align: baseline; -moz-align-items: baseline; align-items: baseline; } .ionic .col-top { -ms-flex-item-align: start; align-self: flex-start; } .ionic .col-bottom { -ms-flex-item-align: end; align-self: flex-end; } .ionic .col-center { -ms-flex-item-align: center; -ms-grid-row-align: center; align-self: center; } .ionic .col-offset-10 { margin-left: 10%; } .ionic .col-offset-20 { margin-left: 20%; } .ionic .col-offset-25 { margin-left: 25%; } .ionic .col-offset-33, .ionic .col-offset-34 { margin-left: 33.3333%; } .ionic .col-offset-50 { margin-left: 50%; } .ionic .col-offset-66, .ionic .col-offset-67 { margin-left: 66.6666%; } .ionic .col-offset-75 { margin-left: 75%; } .ionic .col-offset-80 { margin-left: 80%; } .ionic .col-offset-90 { margin-left: 90%; } .ionic .col-10 { -moz-flex: 0 0 10%; -ms-flex: 0 0 10%; flex: 0 0 10%; max-width: 10%; } .ionic .col-20 { -moz-flex: 0 0 20%; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .ionic .col-25 { -moz-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .ionic .col-33, .ionic .col-34 { -moz-flex: 0 0 33.3333%; -ms-flex: 0 0 33.3333%; flex: 0 0 33.3333%; max-width: 33.3333%; } .ionic .col-50 { -moz-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .ionic .col-66, .ionic .col-67 { -moz-flex: 0 0 66.6666%; -ms-flex: 0 0 66.6666%; flex: 0 0 66.6666%; max-width: 66.6666%; } .ionic .col-75 { -moz-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .ionic .col-80 { -moz-flex: 0 0 80%; -ms-flex: 0 0 80%; flex: 0 0 80%; max-width: 80%; } .ionic .col-90 { -moz-flex: 0 0 90%; -ms-flex: 0 0 90%; flex: 0 0 90%; max-width: 90%; } @media (max-width: 567px) { .ionic .responsive-sm { -ms-flex-direction: column; flex-direction: column; } .ionic .responsive-sm .col, .ionic .responsive-sm .col-10, .ionic .responsive-sm .col-20, .ionic .responsive-sm .col-25, .ionic .responsive-sm .col-33, .ionic .responsive-sm .col-34, .ionic .responsive-sm .col-50, .ionic .responsive-sm .col-66, .ionic .responsive-sm .col-67, .ionic .responsive-sm .col-75, .ionic .responsive-sm .col-80, .ionic .responsive-sm .col-90 { -moz-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; max-width: 100%; width: 100%; } } @media (max-width: 767px) { .ionic .responsive-md { -ms-flex-direction: column; flex-direction: column; } .ionic .responsive-md .col, .ionic .responsive-md .col-10, .ionic .responsive-md .col-20, .ionic .responsive-md .col-25, .ionic .responsive-md .col-33, .ionic .responsive-md .col-34, .ionic .responsive-md .col-50, .ionic .responsive-md .col-66, .ionic .responsive-md .col-67, .ionic .responsive-md .col-75, .ionic .responsive-md .col-80, .ionic .responsive-md .col-90 { -moz-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; max-width: 100%; width: 100%; } } @media (max-width: 1023px) { .ionic .responsive-lg { -ms-flex-direction: column; flex-direction: column; } .ionic .responsive-lg .col, .ionic .responsive-lg .col-10, .ionic .responsive-lg .col-20, .ionic .responsive-lg .col-25, .ionic .responsive-lg .col-33, .ionic .responsive-lg .col-34, .ionic .responsive-lg .col-50, .ionic .responsive-lg .col-66, .ionic .responsive-lg .col-67, .ionic .responsive-lg .col-75, .ionic .responsive-lg .col-80, .ionic .responsive-lg .col-90 { -moz-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; max-width: 100%; width: 100%; } } .ionic .hide { display: none; } .ionic .opacity-hide { opacity: 0; } .ionic .grade-b .opacity-hide, .ionic .grade-c .opacity-hide { opacity: 1; display: none; } .ionic .show { display: block; } .ionic .opacity-show { opacity: 1; } .ionic .invisible { visibility: hidden; } .ionic .keyboard-open .hide-on-keyboard-open { display: none; } .ionic .keyboard-open .tabs.hide-on-keyboard-open + .pane .has-tabs, .ionic .keyboard-open .bar-footer.hide-on-keyboard-open + .pane .has-footer { bottom: 0; } .ionic .inline { display: inline-block; } .ionic .disable-pointer-events { pointer-events: none; } .ionic .enable-pointer-events { pointer-events: auto; } .ionic .disable-user-behavior { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent; -webkit-user-drag: none; -ms-touch-action: none; -ms-content-zooming: none; } .ionic .click-block { position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; z-index: 99999; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); overflow: hidden; } .ionic .click-block-hide { -webkit-transform: translate3d(-9999px, 0, 0); transform: translate3d(-9999px, 0, 0); } .ionic .no-resize { resize: none; } .ionic .block { display: block; clear: both; } .ionic .block:after { display: block; visibility: hidden; clear: both; height: 0; content: "."; } .ionic .full-image { width: 100%; } .ionic .clearfix { *zoom: 1; } .ionic .clearfix:before, .ionic .clearfix:after { display: table; content: ""; line-height: 0; } .ionic .clearfix:after { clear: both; } .ionic .padding { padding: 10px; } .ionic .padding-top, .ionic .padding-vertical { padding-top: 10px; } .ionic .padding-right, .ionic .padding-horizontal { padding-right: 10px; } .ionic .padding-bottom, .ionic .padding-vertical { padding-bottom: 10px; } .ionic .padding-left, .ionic .padding-horizontal { padding-left: 10px; } .ionic .iframe-wrapper { position: fixed; -webkit-overflow-scrolling: touch; overflow: scroll; } .ionic .iframe-wrapper iframe { height: 100%; width: 100%; } .ionic .rounded { border-radius: 4px; } .ionic .light, .ionic a.light { color: #fff; } .ionic .light-bg { background-color: #fff; } .ionic .light-border { border-color: #ddd; } .ionic .stable, .ionic a.stable { color: #f8f8f8; } .ionic .stable-bg { background-color: #f8f8f8; } .ionic .stable-border { border-color: #b2b2b2; } .ionic .positive, .ionic a.positive { color: #387ef5; } .ionic .positive-bg { background-color: #387ef5; } .ionic .positive-border { border-color: #0c60ee; } .ionic .calm, .ionic a.calm { color: #11c1f3; } .ionic .calm-bg { background-color: #11c1f3; } .ionic .calm-border { border-color: #0a9dc7; } .ionic .assertive, .ionic a.assertive { color: #ef473a; } .ionic .assertive-bg { background-color: #ef473a; } .ionic .assertive-border { border-color: #e42112; } .ionic .balanced, .ionic a.balanced { color: #33cd5f; } .ionic .balanced-bg { background-color: #33cd5f; } .ionic .balanced-border { border-color: #28a54c; } .ionic .energized, .ionic a.energized { color: #ffc900; } .ionic .energized-bg { background-color: #ffc900; } .ionic .energized-border { border-color: #e6b500; } .ionic .royal, .ionic a.royal { color: #886aea; } .ionic .royal-bg { background-color: #886aea; } .ionic .royal-border { border-color: #6b46e5; } .ionic .dark, .ionic a.dark { color: #444; } .ionic .dark-bg { background-color: #444; } .ionic .dark-border { border-color: #111; } .ionic [collection-repeat] { /* Position is set by transforms */ left: 0 !important; top: 0 !important; position: absolute !important; z-index: 1; } .ionic .collection-repeat-container { position: relative; z-index: 1; } .ionic .collection-repeat-after-container { z-index: 0; display: block; /* when scrolling horizontally, make sure the after container doesn't take up 100% width */ } .ionic .collection-repeat-after-container.horizontal { display: inline-block; } .ionic [ng\:cloak], .ionic [ng-cloak], .ionic [data-ng-cloak], .ionic [x-ng-cloak], .ionic .ng-cloak, .ionic .x-ng-cloak, .ionic .ng-hide:not(.ng-hide-animate) { display: none !important; } .ionic .platform-ios.platform-cordova:not(.fullscreen) .bar-header:not(.bar-subheader) { height: 64px; } .ionic .platform-ios.platform-cordova:not(.fullscreen) .bar-header:not(.bar-subheader).item-input-inset .item-input-wrapper { margin-top: 19px !important; } .ionic .platform-ios.platform-cordova:not(.fullscreen) .bar-header:not(.bar-subheader) > * { margin-top: 20px; } .ionic .platform-ios.platform-cordova:not(.fullscreen) .tabs-top > .tabs, .ionic .platform-ios.platform-cordova:not(.fullscreen) .tabs.tabs-top { top: 64px; } .ionic .platform-ios.platform-cordova:not(.fullscreen) .has-header, .ionic .platform-ios.platform-cordova:not(.fullscreen) .bar-subheader { top: 64px; } .ionic .platform-ios.platform-cordova:not(.fullscreen) .has-subheader { top: 108px; } .ionic .platform-ios.platform-cordova:not(.fullscreen) .has-header.has-tabs-top { top: 113px; } .ionic .platform-ios.platform-cordova:not(.fullscreen) .has-header.has-subheader.has-tabs-top { top: 157px; } .ionic .platform-ios.platform-cordova .popover .bar-header:not(.bar-subheader) { height: 44px; } .ionic .platform-ios.platform-cordova .popover .bar-header:not(.bar-subheader).item-input-inset .item-input-wrapper { margin-top: -1px; } .ionic .platform-ios.platform-cordova .popover .bar-header:not(.bar-subheader) > * { margin-top: 0; } .ionic .platform-ios.platform-cordova .popover .has-header, .ionic .platform-ios.platform-cordova .popover .bar-subheader { top: 44px; } .ionic .platform-ios.platform-cordova .popover .has-subheader { top: 88px; } .ionic .platform-ios.platform-cordova.status-bar-hide { margin-bottom: 20px; } @media (orientation: landscape) { .ionic .platform-ios.platform-browser.platform-ipad { position: fixed; } } .ionic .platform-c:not(.enable-transitions) * { transition: none !important; } .ionic .slide-in-up { -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .ionic .slide-in-up.ng-enter, .ionic .slide-in-up > .ng-enter { transition: all cubic-bezier(0.1, 0.7, 0.1, 1) 400ms; } .ionic .slide-in-up.ng-enter-active, .ionic .slide-in-up > .ng-enter-active { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .ionic .slide-in-up.ng-leave, .ionic .slide-in-up > .ng-leave { transition: all ease-in-out 250ms; } @-webkit-keyframes scaleOut { from { -webkit-transform: scale(1); opacity: 1; } to { -webkit-transform: scale(0.8); opacity: 0; } } @keyframes scaleOut { from { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } to { -webkit-transform: scale(0.8); transform: scale(0.8); opacity: 0; } } @-webkit-keyframes superScaleIn { from { -webkit-transform: scale(1.2); opacity: 0; } to { -webkit-transform: scale(1); opacity: 1; } } @keyframes superScaleIn { from { -webkit-transform: scale(1.2); transform: scale(1.2); opacity: 0; } to { -webkit-transform: scale(1); transform: scale(1); opacity: 1; } } .ionic [nav-view-transition="ios"] [nav-view="entering"], .ionic [nav-view-transition="ios"] [nav-view="leaving"] { transition-duration: 500ms; transition-timing-function: cubic-bezier(0.36, 0.66, 0.04, 1); transition-property: opacity, box-shadow, -webkit-transform; transition-property: opacity, transform, box-shadow; transition-property: opacity, transform, box-shadow, -webkit-transform; } .ionic [nav-view-transition="ios"][nav-view-direction="forward"], .ionic [nav-view-transition="ios"][nav-view-direction="back"] { background-color: #000; } .ionic [nav-view-transition="ios"] [nav-view="active"], .ionic [nav-view-transition="ios"][nav-view-direction="forward"] [nav-view="entering"], .ionic [nav-view-transition="ios"][nav-view-direction="back"] [nav-view="leaving"] { z-index: 3; } .ionic [nav-view-transition="ios"][nav-view-direction="back"] [nav-view="entering"], .ionic [nav-view-transition="ios"][nav-view-direction="forward"] [nav-view="leaving"] { z-index: 2; } .ionic [nav-bar-transition="ios"] .title, .ionic [nav-bar-transition="ios"] .buttons, .ionic [nav-bar-transition="ios"] .back-text { transition-duration: 500ms; transition-timing-function: cubic-bezier(0.36, 0.66, 0.04, 1); transition-property: opacity, -webkit-transform; transition-property: opacity, transform; transition-property: opacity, transform, -webkit-transform; } .ionic [nav-bar-transition="ios"] [nav-bar="active"], .ionic [nav-bar-transition="ios"] [nav-bar="entering"] { z-index: 10; } .ionic [nav-bar-transition="ios"] [nav-bar="active"] .bar, .ionic [nav-bar-transition="ios"] [nav-bar="entering"] .bar { background: transparent; } .ionic [nav-bar-transition="ios"] [nav-bar="cached"] { display: block; } .ionic [nav-bar-transition="ios"] [nav-bar="cached"] .header-item { display: none; } .ionic [nav-view-transition="android"] [nav-view="entering"], .ionic [nav-view-transition="android"] [nav-view="leaving"] { transition-duration: 200ms; transition-timing-function: cubic-bezier(0.4, 0.6, 0.2, 1); transition-property: -webkit-transform; transition-property: transform; transition-property: transform, -webkit-transform; } .ionic [nav-view-transition="android"] [nav-view="active"], .ionic [nav-view-transition="android"][nav-view-direction="forward"] [nav-view="entering"], .ionic [nav-view-transition="android"][nav-view-direction="back"] [nav-view="leaving"] { z-index: 3; } .ionic [nav-view-transition="android"][nav-view-direction="back"] [nav-view="entering"], .ionic [nav-view-transition="android"][nav-view-direction="forward"] [nav-view="leaving"] { z-index: 2; } .ionic [nav-bar-transition="android"] .title, .ionic [nav-bar-transition="android"] .buttons { transition-duration: 200ms; transition-timing-function: cubic-bezier(0.4, 0.6, 0.2, 1); transition-property: opacity; } .ionic [nav-bar-transition="android"] [nav-bar="active"], .ionic [nav-bar-transition="android"] [nav-bar="entering"] { z-index: 10; } .ionic [nav-bar-transition="android"] [nav-bar="active"] .bar, .ionic [nav-bar-transition="android"] [nav-bar="entering"] .bar { background: transparent; } .ionic [nav-bar-transition="android"] [nav-bar="cached"] { display: block; } .ionic [nav-bar-transition="android"] [nav-bar="cached"] .header-item { display: none; } .ionic [nav-swipe="fast"] [nav-view], .ionic [nav-swipe="fast"] .title, .ionic [nav-swipe="fast"] .buttons, .ionic [nav-swipe="fast"] .back-text { transition-duration: 50ms; transition-timing-function: linear; } .ionic [nav-swipe="slow"] [nav-view], .ionic [nav-swipe="slow"] .title, .ionic [nav-swipe="slow"] .buttons, .ionic [nav-swipe="slow"] .back-text { transition-duration: 160ms; transition-timing-function: linear; } .ionic [nav-view="cached"], .ionic [nav-bar="cached"] { display: none; } .ionic [nav-view="stage"] { opacity: 0; transition-duration: 0; } .ionic [nav-bar="stage"] .title, .ionic [nav-bar="stage"] .buttons, .ionic [nav-bar="stage"] .back-text { position: absolute; opacity: 0; transition-duration: 0s; } .pre-footer { position: relative; z-index: 100; padding: 40px; background: #F7F7F7; } .pre-footer .row { margin: 0 auto; max-width: 900px; } .pre-footer p { line-height: 28px; color: #999; } .pre-footer a:hover { text-decoration: none; } .pre-footer span { padding-left: 5px; } .pre-footer .col-a { padding-bottom: 15px; } @media (min-width: 768px) { .pre-footer .col-a { padding-right: 60px; padding-bottom: 0; border-right: 1px solid #ddd; } .pre-footer .col-b { padding-left: 70px; } } #newsletter-bar { border-top: none; background-color: rgba(79, 142, 247, 0.95); color: #fff; text-align: center; padding: 5px; z-index: 150; position: fixed; bottom: 0; left: 0; width: 100%; font-size: 13px; } #newsletter-bar.top { position: static; background-color: #4e8ef7; } #newsletter-bar form { display: inline-block; } #newsletter-bar form input { margin-left: 15px; height: 30px; padding-left: 10px; border: none; border-radius: 3px; box-shadow: none; opacity: .8; } #newsletter-bar form input:focus { box-shadow: none; outline: none; opacity: .9; } .newsletter-box { background-color: #4c8cfa; color: #fff; padding: 15px; border-radius: 5px; } .newsletter-box h4 { color: #fff; } .newsletter-box .input-group { margin-bottom: 15px; } .newsletter-box .btn { border-left: 1px solid rgba(79, 142, 247, 0.95); color: rgba(79, 142, 247, 0.95); } .newsletter-box input.form-control { border: none; } .social-box { margin: 55px 0px 15px 0px; } .social-box iframe { margin-right: 10px; } #newsletter-bar { border-top: 1px solid #999; background-color: rgba(79, 142, 247, 0.95); color: #fff; text-align: center; padding: 5px; z-index: 150; position: fixed; bottom: 0; left: 0; width: 100%; font-size: 13px; } #newsletter-bar form { display: inline-block; } #newsletter-bar form input { margin-left: 15px; height: 30px; border: none; border-radius: 3px; box-shadow: none; } .footer { position: relative; z-index: 100; padding: 20px 0 0 0; background: #2b3442; color: #a4b3cd; text-align: center; font-size: 14px; font-family: "AvenirNextLTPro-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif; } .footer a { color: #e2eeff; opacity: 1; transition-property: color; } .footer a:hover { color: white; } .footer .base-links dl { float: left; margin: 0; padding: 15px 5px 20px 5px; width: 33%; text-align: left; font-size: 0.9em; } .footer .base-links dl:first-child { padding-left: 0; } .footer .small-break { clear: both; } @media (min-width: 768px) { .footer .base-links dl { padding-left: 0; width: 20%; font-size: 1em; } .footer .small-break { clear: none; } } .footer .base-links { margin: 0 auto; padding: 0 10px; max-width: 1170px; } .footer .base-links dt, .footer .newsletter-text { margin: 0; padding-bottom: 10px; color: #e2eeff; text-transform: uppercase; letter-spacing: 2px; font-weight: bold; font-size: 13px; font-family: "AvenirNextLTPro-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif; } .footer .newsletter-text { padding-bottom: 4px; } .footer .base-links dd { margin: 5px 0; font-size: 13px; } .footer .base-links a { display: block; padding: 5px 0; color: #a4b3cd; } .footer .base-links a:hover { color: #dde9ff; text-decoration: none; } .footer .copy { padding: 18px; background: #202532; } .footer .copy-container { margin: 0 auto; max-width: 1170px; } @media (min-width: 630px) { .footer .copy-container { background-size: 128px 32px; } } .footer .authors { margin: 0; padding: 10px; color: #858f9e; text-align: right; font-size: 13px; } .footer .authors a { color: #a3aec0; } .footer .authors span { padding: 0 15px; } .footer .newsletter { clear: both; margin: 0 auto 30px; max-width: 1170px; border-top: 1px solid #555f6e; } .footer .newsletter-container { margin-top: 30px; text-align: left; } .footer .newsletter-container .sign-up { padding-bottom: 10px; color: #a4b3cd; font-size: 13px; } .footer .newsletter-container .col-sm-7 { padding-left: 15px; } .footer .newsletter-container .col-sm-5 { padding-right: 15px; } @media (min-width: 900px) { .footer .newsletter-container .col-sm-7 { padding-left: 0; } .footer .newsletter-container .col-sm-5 { padding-right: 0; } } .footer .newsletter-container input { border: none; background: #45546D; color: white; } .footer .newsletter-container input:focus { background: #51627E; box-shadow: none; box-shadow: inset 0px 0px 0px 1px #4E8EF7; } .footer .newsletter-container input::-webkit-input-placeholder { color: #8e9fb8; } .footer .newsletter-container input::-moz-placeholder { color: #8e9fb8; } .footer .newsletter-container button { padding-right: 15px; padding-left: 15px; border: 1px solid #4e8ef7; background: #4e8ef7; box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.3); color: white; } .footer .newsletter-container button:hover { background: #5998FF; color: white; } .footer .newsletter-container button:active { border: 1px solid #3E75CE; background: #4683E7; box-shadow: none; color: #B1C4E4; } .pre-footer { position: relative; z-index: 100; padding: 40px; background: #EBF0F6; } .pre-footer h4 { color: #363b43; font-family: "AvenirNextLTPro-Medium", "Helvetica Neue", Helvetica, Arial, sans-serif; } .pre-footer .row { margin: 0 auto; max-width: 1170px; } .pre-footer p { color: #999; color: #737e90; font-size: 14px; font-family: "AvenirNextLTPro-Regular", "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 28px; } .pre-footer a:hover { color: #4E8EF7; text-decoration: none; } .pre-footer span { padding-left: 5px; } .pre-footer .col-a { padding-bottom: 15px; } @media (min-width: 768px) { .pre-footer .col-a { padding-right: 60px; padding-bottom: 0; border-right: 1px solid #ddd; } .pre-footer .col-b { padding-left: 70px; } } ================================================ FILE: content/css/slick-theme.css ================================================ @charset 'UTF-8'; /* Slider */ .slick-loading .slick-list { background: #fff url('./ajax-loader.gif') center center no-repeat; } /* Icons */ /*@font-face { font-family: 'slick'; font-weight: normal; font-style: normal; src: url('./fonts/slick.eot'); src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg'); }*/ /* Arrows */ .slick-prev, .slick-next { font-size: 0; line-height: 0; position: absolute; top: 50%; display: block; width: 20px; height: 20px; margin-top: -10px; padding: 0; cursor: pointer; color: transparent; border: none; outline: none; background: transparent; } .slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { color: transparent; outline: none; background: transparent; } .slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before { opacity: 1; } .slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: .25; } .slick-prev:before, .slick-next:before { font-family: 'slick'; font-size: 20px; line-height: 1; opacity: .75; color: white; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .slick-prev { left: -25px; } [dir='rtl'] .slick-prev { right: -25px; left: auto; } .slick-prev:before { content: '←'; } [dir='rtl'] .slick-prev:before { content: '→'; } .slick-next { right: -25px; } [dir='rtl'] .slick-next { right: auto; left: -25px; } .slick-next:before { content: '→'; } [dir='rtl'] .slick-next:before { content: '←'; } /* Dots */ .slick-slider { margin-bottom: 30px; } .slick-dots { position: absolute; bottom: -45px; display: block; width: 100%; padding: 0; list-style: none; text-align: center; } .slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0; padding: 0; cursor: pointer; } .slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer; color: transparent; border: 0; outline: none; background: transparent; } .slick-dots li button:hover, .slick-dots li button:focus { outline: none; } .slick-dots li button:hover:before, .slick-dots li button:focus:before { opacity: 1; } .slick-dots li button:before { font-family: 'slick'; font-size: 6px; line-height: 20px; position: absolute; top: 0; left: 0; width: 20px; height: 20px; content: '•'; text-align: center; opacity: .25; color: black; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .slick-dots li.slick-active button:before { opacity: .75; color: black; } ================================================ FILE: content/css/slick.css ================================================ /* Slider */ .slick-slider { position: relative; display: block; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; } .slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; } .slick-list:focus { outline: none; } .slick-list.dragging { cursor: pointer; cursor: hand; } .slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .slick-track { position: relative; top: 0; left: 0; display: block; } .slick-track:before, .slick-track:after { display: table; content: ''; } .slick-track:after { clear: both; } .slick-loading .slick-track { visibility: hidden; } .slick-slide { display: none; float: left; height: 100%; min-height: 1px; } [dir='rtl'] .slick-slide { float: right; } .slick-slide img { display: block; } .slick-slide.slick-loading img { display: none; } .slick-slide.dragging img { pointer-events: none; } .slick-initialized .slick-slide { display: block; } .slick-loading .slick-slide { visibility: hidden; } .slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; } .slick-arrow.slick-hidden { display: none; } ================================================ FILE: content/css/style.css ================================================ body { margin-top: 50px; /* 50px is the height of the navbar - change this if the navbarn height changes */ font-size: 16px; } a { color: #4f89e8; font-weight: bold; } .logo-wrapper { display: inline-block; } .section { padding-top: 30px; padding-bottom: 30px; } .section-heading { font-size: 2.2em; margin: 30px 0 10px 0px; } .section-heading a { color: #111; } .section-time { font-size: 1.0em; color: #999; } .section-lead { margin: 30px 0; } .section-paragraph { margin: 30px 0; } footer { margin: 50px 0 0; background-color: #eee; padding: 30px 0px; } footer .container { max-width: 600px; margin: auto; padding: 0; font-size: 0.8em; } footer .credits { } #blog .header { text-align: center; margin-bottom: 60px; } #blog .header h4 { color: #999; font-size: 1.2em; } #blog { max-width: 600px; margin: auto; } @media (max-width: 768px) { .section-heading { font-size: 2em; } .section { padding-top: 25px; padding-bottom: 25px; } } ================================================ FILE: content/css/styles.css ================================================ @charset "UTF-8"; /*! Ionicons, v3.0.0-alpha.3 Created by Ben Sperry for the Ionic Framework, https://ionicons.com/ https://twitter.com/benjsperry https://twitter.com/ionicframework MIT License: https://github.com/driftyco/ionicons Android-style icons originally built by Google’s Material Design Icons: https://github.com/google/material-design-icons used under CC BY http://creativecommons.org/licenses/by/4.0/ Modified icons to fit ionicon’s grid from original. */ @import url("https://fonts.googleapis.com/css?family=Roboto+Mono"); @font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.eot?v=3.0.0-alpha.3"); src: url("../fonts/ionicons.eot?v=3.0.0-alpha.3#iefix") format("embedded-opentype"), url("../fonts/ionicons.woff2?v=3.0.0-alpha.3") format("woff2"), url("../fonts/ionicons.woff?v=3.0.0-alpha.3") format("woff"), url("../fonts/ionicons.ttf?v=3.0.0-alpha.3") format("truetype"), url("../fonts/ionicons.svg?v=3.0.0-alpha.3#Ionicons") format("svg"); font-weight: normal; font-style: normal; } .ion, .ionicons, .ion-ios-add:before, .ion-ios-add-circle:before, .ion-ios-add-circle-outline:before, .ion-ios-add-outline:before, .ion-ios-alarm:before, .ion-ios-alarm-outline:before, .ion-ios-albums:before, .ion-ios-albums-outline:before, .ion-ios-alert:before, .ion-ios-alert-outline:before, .ion-ios-american-football:before, .ion-ios-american-football-outline:before, .ion-ios-analytics:before, .ion-ios-analytics-outline:before, .ion-ios-aperture:before, .ion-ios-aperture-outline:before, .ion-ios-apps:before, .ion-ios-apps-outline:before, .ion-ios-appstore:before, .ion-ios-appstore-outline:before, .ion-ios-archive:before, .ion-ios-archive-outline:before, .ion-ios-arrow-back:before, .ion-ios-arrow-back-outline:before, .ion-ios-arrow-down:before, .ion-ios-arrow-down-outline:before, .ion-ios-arrow-dropdown:before, .ion-ios-arrow-dropdown-circle:before, .ion-ios-arrow-dropdown-circle-outline:before, .ion-ios-arrow-dropdown-outline:before, .ion-ios-arrow-dropleft:before, .ion-ios-arrow-dropleft-circle:before, .ion-ios-arrow-dropleft-circle-outline:before, .ion-ios-arrow-dropleft-outline:before, .ion-ios-arrow-dropright:before, .ion-ios-arrow-dropright-circle:before, .ion-ios-arrow-dropright-circle-outline:before, .ion-ios-arrow-dropright-outline:before, .ion-ios-arrow-dropup:before, .ion-ios-arrow-dropup-circle:before, .ion-ios-arrow-dropup-circle-outline:before, .ion-ios-arrow-dropup-outline:before, .ion-ios-arrow-forward:before, .ion-ios-arrow-forward-outline:before, .ion-ios-arrow-round-back:before, .ion-ios-arrow-round-back-outline:before, .ion-ios-arrow-round-down:before, .ion-ios-arrow-round-down-outline:before, .ion-ios-arrow-round-forward:before, .ion-ios-arrow-round-forward-outline:before, .ion-ios-arrow-round-up:before, .ion-ios-arrow-round-up-outline:before, .ion-ios-arrow-up:before, .ion-ios-arrow-up-outline:before, .ion-ios-at:before, .ion-ios-at-outline:before, .ion-ios-attach:before, .ion-ios-attach-outline:before, .ion-ios-backspace:before, .ion-ios-backspace-outline:before, .ion-ios-barcode:before, .ion-ios-barcode-outline:before, .ion-ios-baseball:before, .ion-ios-baseball-outline:before, .ion-ios-basket:before, .ion-ios-basket-outline:before, .ion-ios-basketball:before, .ion-ios-basketball-outline:before, .ion-ios-battery-charging:before, .ion-ios-battery-charging-outline:before, .ion-ios-battery-dead:before, .ion-ios-battery-dead-outline:before, .ion-ios-battery-full:before, .ion-ios-battery-full-outline:before, .ion-ios-beaker:before, .ion-ios-beaker-outline:before, .ion-ios-beer:before, .ion-ios-beer-outline:before, .ion-ios-bicycle:before, .ion-ios-bicycle-outline:before, .ion-ios-bluetooth:before, .ion-ios-bluetooth-outline:before, .ion-ios-boat:before, .ion-ios-boat-outline:before, .ion-ios-body:before, .ion-ios-body-outline:before, .ion-ios-bonfire:before, .ion-ios-bonfire-outline:before, .ion-ios-book:before, .ion-ios-book-outline:before, .ion-ios-bookmark:before, .ion-ios-bookmark-outline:before, .ion-ios-bookmarks:before, .ion-ios-bookmarks-outline:before, .ion-ios-bowtie:before, .ion-ios-bowtie-outline:before, .ion-ios-briefcase:before, .ion-ios-briefcase-outline:before, .ion-ios-browsers:before, .ion-ios-browsers-outline:before, .ion-ios-brush:before, .ion-ios-brush-outline:before, .ion-ios-bug:before, .ion-ios-bug-outline:before, .ion-ios-build:before, .ion-ios-build-outline:before, .ion-ios-bulb:before, .ion-ios-bulb-outline:before, .ion-ios-bus:before, .ion-ios-bus-outline:before, .ion-ios-cafe:before, .ion-ios-cafe-outline:before, .ion-ios-calculator:before, .ion-ios-calculator-outline:before, .ion-ios-calendar:before, .ion-ios-calendar-outline:before, .ion-ios-call:before, .ion-ios-call-outline:before, .ion-ios-camera:before, .ion-ios-camera-outline:before, .ion-ios-car:before, .ion-ios-car-outline:before, .ion-ios-card:before, .ion-ios-card-outline:before, .ion-ios-cart:before, .ion-ios-cart-outline:before, .ion-ios-cash:before, .ion-ios-cash-outline:before, .ion-ios-chatboxes:before, .ion-ios-chatboxes-outline:before, .ion-ios-chatbubbles:before, .ion-ios-chatbubbles-outline:before, .ion-ios-checkbox:before, .ion-ios-checkbox-outline:before, .ion-ios-checkmark:before, .ion-ios-checkmark-circle:before, .ion-ios-checkmark-circle-outline:before, .ion-ios-checkmark-outline:before, .ion-ios-clipboard:before, .ion-ios-clipboard-outline:before, .ion-ios-clock:before, .ion-ios-clock-outline:before, .ion-ios-close:before, .ion-ios-close-circle:before, .ion-ios-close-circle-outline:before, .ion-ios-close-outline:before, .ion-ios-closed-captioning:before, .ion-ios-closed-captioning-outline:before, .ion-ios-cloud:before, .ion-ios-cloud-circle:before, .ion-ios-cloud-circle-outline:before, .ion-ios-cloud-done:before, .ion-ios-cloud-done-outline:before, .ion-ios-cloud-download:before, .ion-ios-cloud-download-outline:before, .ion-ios-cloud-outline:before, .ion-ios-cloud-upload:before, .ion-ios-cloud-upload-outline:before, .ion-ios-cloudy:before, .ion-ios-cloudy-night:before, .ion-ios-cloudy-night-outline:before, .ion-ios-cloudy-outline:before, .ion-ios-code:before, .ion-ios-code-download:before, .ion-ios-code-download-outline:before, .ion-ios-code-outline:before, .ion-ios-code-working:before, .ion-ios-code-working-outline:before, .ion-ios-cog:before, .ion-ios-cog-outline:before, .ion-ios-color-fill:before, .ion-ios-color-fill-outline:before, .ion-ios-color-filter:before, .ion-ios-color-filter-outline:before, .ion-ios-color-palette:before, .ion-ios-color-palette-outline:before, .ion-ios-color-wand:before, .ion-ios-color-wand-outline:before, .ion-ios-compass:before, .ion-ios-compass-outline:before, .ion-ios-construct:before, .ion-ios-construct-outline:before, .ion-ios-contact:before, .ion-ios-contact-outline:before, .ion-ios-contacts:before, .ion-ios-contacts-outline:before, .ion-ios-contract:before, .ion-ios-contract-outline:before, .ion-ios-contrast:before, .ion-ios-contrast-outline:before, .ion-ios-copy:before, .ion-ios-copy-outline:before, .ion-ios-create:before, .ion-ios-create-outline:before, .ion-ios-crop:before, .ion-ios-crop-outline:before, .ion-ios-cube:before, .ion-ios-cube-outline:before, .ion-ios-cut:before, .ion-ios-cut-outline:before, .ion-ios-desktop:before, .ion-ios-desktop-outline:before, .ion-ios-disc:before, .ion-ios-disc-outline:before, .ion-ios-document:before, .ion-ios-document-outline:before, .ion-ios-done-all:before, .ion-ios-done-all-outline:before, .ion-ios-download:before, .ion-ios-download-outline:before, .ion-ios-easel:before, .ion-ios-easel-outline:before, .ion-ios-egg:before, .ion-ios-egg-outline:before, .ion-ios-exit:before, .ion-ios-exit-outline:before, .ion-ios-expand:before, .ion-ios-expand-outline:before, .ion-ios-eye:before, .ion-ios-eye-off:before, .ion-ios-eye-off-outline:before, .ion-ios-eye-outline:before, .ion-ios-fastforward:before, .ion-ios-fastforward-outline:before, .ion-ios-female:before, .ion-ios-female-outline:before, .ion-ios-filing:before, .ion-ios-filing-outline:before, .ion-ios-film:before, .ion-ios-film-outline:before, .ion-ios-finger-print:before, .ion-ios-finger-print-outline:before, .ion-ios-flag:before, .ion-ios-flag-outline:before, .ion-ios-flame:before, .ion-ios-flame-outline:before, .ion-ios-flash:before, .ion-ios-flash-outline:before, .ion-ios-flask:before, .ion-ios-flask-outline:before, .ion-ios-flower:before, .ion-ios-flower-outline:before, .ion-ios-folder:before, .ion-ios-folder-open:before, .ion-ios-folder-open-outline:before, .ion-ios-folder-outline:before, .ion-ios-football:before, .ion-ios-football-outline:before, .ion-ios-funnel:before, .ion-ios-funnel-outline:before, .ion-ios-game-controller-a:before, .ion-ios-game-controller-a-outline:before, .ion-ios-game-controller-b:before, .ion-ios-game-controller-b-outline:before, .ion-ios-git-branch:before, .ion-ios-git-branch-outline:before, .ion-ios-git-commit:before, .ion-ios-git-commit-outline:before, .ion-ios-git-compare:before, .ion-ios-git-compare-outline:before, .ion-ios-git-merge:before, .ion-ios-git-merge-outline:before, .ion-ios-git-network:before, .ion-ios-git-network-outline:before, .ion-ios-git-pull-request:before, .ion-ios-git-pull-request-outline:before, .ion-ios-glasses:before, .ion-ios-glasses-outline:before, .ion-ios-globe:before, .ion-ios-globe-outline:before, .ion-ios-grid:before, .ion-ios-grid-outline:before, .ion-ios-hammer:before, .ion-ios-hammer-outline:before, .ion-ios-hand:before, .ion-ios-hand-outline:before, .ion-ios-happy:before, .ion-ios-happy-outline:before, .ion-ios-headset:before, .ion-ios-headset-outline:before, .ion-ios-heart:before, .ion-ios-heart-outline:before, .ion-ios-help:before, .ion-ios-help-buoy:before, .ion-ios-help-buoy-outline:before, .ion-ios-help-circle:before, .ion-ios-help-circle-outline:before, .ion-ios-help-outline:before, .ion-ios-home:before, .ion-ios-home-outline:before, .ion-ios-ice-cream:before, .ion-ios-ice-cream-outline:before, .ion-ios-image:before, .ion-ios-image-outline:before, .ion-ios-images:before, .ion-ios-images-outline:before, .ion-ios-infinite:before, .ion-ios-infinite-outline:before, .ion-ios-information:before, .ion-ios-information-circle:before, .ion-ios-information-circle-outline:before, .ion-ios-information-outline:before, .ion-ios-ionic:before, .ion-ios-ionic-outline:before, .ion-ios-ionitron:before, .ion-ios-ionitron-outline:before, .ion-ios-jet:before, .ion-ios-jet-outline:before, .ion-ios-key:before, .ion-ios-key-outline:before, .ion-ios-keypad:before, .ion-ios-keypad-outline:before, .ion-ios-laptop:before, .ion-ios-laptop-outline:before, .ion-ios-leaf:before, .ion-ios-leaf-outline:before, .ion-ios-link:before, .ion-ios-link-outline:before, .ion-ios-list:before, .ion-ios-list-box:before, .ion-ios-list-box-outline:before, .ion-ios-list-outline:before, .ion-ios-locate:before, .ion-ios-locate-outline:before, .ion-ios-lock:before, .ion-ios-lock-outline:before, .ion-ios-log-in:before, .ion-ios-log-in-outline:before, .ion-ios-log-out:before, .ion-ios-log-out-outline:before, .ion-ios-magnet:before, .ion-ios-magnet-outline:before, .ion-ios-mail:before, .ion-ios-mail-open:before, .ion-ios-mail-open-outline:before, .ion-ios-mail-outline:before, .ion-ios-male:before, .ion-ios-male-outline:before, .ion-ios-man:before, .ion-ios-man-outline:before, .ion-ios-map:before, .ion-ios-map-outline:before, .ion-ios-medal:before, .ion-ios-medal-outline:before, .ion-ios-medical:before, .ion-ios-medical-outline:before, .ion-ios-medkit:before, .ion-ios-medkit-outline:before, .ion-ios-megaphone:before, .ion-ios-megaphone-outline:before, .ion-ios-menu:before, .ion-ios-menu-outline:before, .ion-ios-mic:before, .ion-ios-mic-off:before, .ion-ios-mic-off-outline:before, .ion-ios-mic-outline:before, .ion-ios-microphone:before, .ion-ios-microphone-outline:before, .ion-ios-moon:before, .ion-ios-moon-outline:before, .ion-ios-more:before, .ion-ios-more-outline:before, .ion-ios-move:before, .ion-ios-move-outline:before, .ion-ios-musical-note:before, .ion-ios-musical-note-outline:before, .ion-ios-musical-notes:before, .ion-ios-musical-notes-outline:before, .ion-ios-navigate:before, .ion-ios-navigate-outline:before, .ion-ios-no-smoking:before, .ion-ios-no-smoking-outline:before, .ion-ios-notifications:before, .ion-ios-notifications-off:before, .ion-ios-notifications-off-outline:before, .ion-ios-notifications-outline:before, .ion-ios-nuclear:before, .ion-ios-nuclear-outline:before, .ion-ios-nutrition:before, .ion-ios-nutrition-outline:before, .ion-ios-open:before, .ion-ios-open-outline:before, .ion-ios-options:before, .ion-ios-options-outline:before, .ion-ios-outlet:before, .ion-ios-outlet-outline:before, .ion-ios-paper:before, .ion-ios-paper-outline:before, .ion-ios-paper-plane:before, .ion-ios-paper-plane-outline:before, .ion-ios-partly-sunny:before, .ion-ios-partly-sunny-outline:before, .ion-ios-pause:before, .ion-ios-pause-outline:before, .ion-ios-paw:before, .ion-ios-paw-outline:before, .ion-ios-people:before, .ion-ios-people-outline:before, .ion-ios-person:before, .ion-ios-person-add:before, .ion-ios-person-add-outline:before, .ion-ios-person-outline:before, .ion-ios-phone-landscape:before, .ion-ios-phone-landscape-outline:before, .ion-ios-phone-portrait:before, .ion-ios-phone-portrait-outline:before, .ion-ios-photos:before, .ion-ios-photos-outline:before, .ion-ios-pie:before, .ion-ios-pie-outline:before, .ion-ios-pin:before, .ion-ios-pin-outline:before, .ion-ios-pint:before, .ion-ios-pint-outline:before, .ion-ios-pizza:before, .ion-ios-pizza-outline:before, .ion-ios-plane:before, .ion-ios-plane-outline:before, .ion-ios-planet:before, .ion-ios-planet-outline:before, .ion-ios-play:before, .ion-ios-play-outline:before, .ion-ios-podium:before, .ion-ios-podium-outline:before, .ion-ios-power:before, .ion-ios-power-outline:before, .ion-ios-pricetag:before, .ion-ios-pricetag-outline:before, .ion-ios-pricetags:before, .ion-ios-pricetags-outline:before, .ion-ios-print:before, .ion-ios-print-outline:before, .ion-ios-pulse:before, .ion-ios-pulse-outline:before, .ion-ios-qr-scanner:before, .ion-ios-qr-scanner-outline:before, .ion-ios-quote:before, .ion-ios-quote-outline:before, .ion-ios-radio:before, .ion-ios-radio-button-off:before, .ion-ios-radio-button-off-outline:before, .ion-ios-radio-button-on:before, .ion-ios-radio-button-on-outline:before, .ion-ios-radio-outline:before, .ion-ios-rainy:before, .ion-ios-rainy-outline:before, .ion-ios-recording:before, .ion-ios-recording-outline:before, .ion-ios-redo:before, .ion-ios-redo-outline:before, .ion-ios-refresh:before, .ion-ios-refresh-circle:before, .ion-ios-refresh-circle-outline:before, .ion-ios-refresh-outline:before, .ion-ios-remove:before, .ion-ios-remove-circle:before, .ion-ios-remove-circle-outline:before, .ion-ios-remove-outline:before, .ion-ios-reorder:before, .ion-ios-reorder-outline:before, .ion-ios-repeat:before, .ion-ios-repeat-outline:before, .ion-ios-resize:before, .ion-ios-resize-outline:before, .ion-ios-restaurant:before, .ion-ios-restaurant-outline:before, .ion-ios-return-left:before, .ion-ios-return-left-outline:before, .ion-ios-return-right:before, .ion-ios-return-right-outline:before, .ion-ios-reverse-camera:before, .ion-ios-reverse-camera-outline:before, .ion-ios-rewind:before, .ion-ios-rewind-outline:before, .ion-ios-ribbon:before, .ion-ios-ribbon-outline:before, .ion-ios-rose:before, .ion-ios-rose-outline:before, .ion-ios-sad:before, .ion-ios-sad-outline:before, .ion-ios-school:before, .ion-ios-school-outline:before, .ion-ios-search:before, .ion-ios-search-outline:before, .ion-ios-send:before, .ion-ios-send-outline:before, .ion-ios-settings:before, .ion-ios-settings-outline:before, .ion-ios-share:before, .ion-ios-share-alt:before, .ion-ios-share-alt-outline:before, .ion-ios-share-outline:before, .ion-ios-shirt:before, .ion-ios-shirt-outline:before, .ion-ios-shuffle:before, .ion-ios-shuffle-outline:before, .ion-ios-skip-backward:before, .ion-ios-skip-backward-outline:before, .ion-ios-skip-forward:before, .ion-ios-skip-forward-outline:before, .ion-ios-snow:before, .ion-ios-snow-outline:before, .ion-ios-speedometer:before, .ion-ios-speedometer-outline:before, .ion-ios-square:before, .ion-ios-square-outline:before, .ion-ios-star:before, .ion-ios-star-half:before, .ion-ios-star-half-outline:before, .ion-ios-star-outline:before, .ion-ios-stats:before, .ion-ios-stats-outline:before, .ion-ios-stopwatch:before, .ion-ios-stopwatch-outline:before, .ion-ios-subway:before, .ion-ios-subway-outline:before, .ion-ios-sunny:before, .ion-ios-sunny-outline:before, .ion-ios-swap:before, .ion-ios-swap-outline:before, .ion-ios-switch:before, .ion-ios-switch-outline:before, .ion-ios-sync:before, .ion-ios-sync-outline:before, .ion-ios-tablet-landscape:before, .ion-ios-tablet-landscape-outline:before, .ion-ios-tablet-portrait:before, .ion-ios-tablet-portrait-outline:before, .ion-ios-tennisball:before, .ion-ios-tennisball-outline:before, .ion-ios-text:before, .ion-ios-text-outline:before, .ion-ios-thermometer:before, .ion-ios-thermometer-outline:before, .ion-ios-thumbs-down:before, .ion-ios-thumbs-down-outline:before, .ion-ios-thumbs-up:before, .ion-ios-thumbs-up-outline:before, .ion-ios-thunderstorm:before, .ion-ios-thunderstorm-outline:before, .ion-ios-time:before, .ion-ios-time-outline:before, .ion-ios-timer:before, .ion-ios-timer-outline:before, .ion-ios-train:before, .ion-ios-train-outline:before, .ion-ios-transgender:before, .ion-ios-transgender-outline:before, .ion-ios-trash:before, .ion-ios-trash-outline:before, .ion-ios-trending-down:before, .ion-ios-trending-down-outline:before, .ion-ios-trending-up:before, .ion-ios-trending-up-outline:before, .ion-ios-trophy:before, .ion-ios-trophy-outline:before, .ion-ios-umbrella:before, .ion-ios-umbrella-outline:before, .ion-ios-undo:before, .ion-ios-undo-outline:before, .ion-ios-unlock:before, .ion-ios-unlock-outline:before, .ion-ios-videocam:before, .ion-ios-videocam-outline:before, .ion-ios-volume-down:before, .ion-ios-volume-down-outline:before, .ion-ios-volume-mute:before, .ion-ios-volume-mute-outline:before, .ion-ios-volume-off:before, .ion-ios-volume-off-outline:before, .ion-ios-volume-up:before, .ion-ios-volume-up-outline:before, .ion-ios-walk:before, .ion-ios-walk-outline:before, .ion-ios-warning:before, .ion-ios-warning-outline:before, .ion-ios-watch:before, .ion-ios-watch-outline:before, .ion-ios-water:before, .ion-ios-water-outline:before, .ion-ios-wifi:before, .ion-ios-wifi-outline:before, .ion-ios-wine:before, .ion-ios-wine-outline:before, .ion-ios-woman:before, .ion-ios-woman-outline:before, .ion-logo-android:before, .ion-logo-angular:before, .ion-logo-apple:before, .ion-logo-bitcoin:before, .ion-logo-buffer:before, .ion-logo-chrome:before, .ion-logo-codepen:before, .ion-logo-css3:before, .ion-logo-designernews:before, .ion-logo-dribbble:before, .ion-logo-dropbox:before, .ion-logo-euro:before, .ion-logo-facebook:before, .ion-logo-foursquare:before, .ion-logo-freebsd-devil:before, .ion-logo-github:before, .ion-logo-google:before, .ion-logo-googleplus:before, .ion-logo-hackernews:before, .ion-logo-html5:before, .ion-logo-instagram:before, .ion-logo-javascript:before, .ion-logo-linkedin:before, .ion-logo-markdown:before, .ion-logo-nodejs:before, .ion-logo-octocat:before, .ion-logo-pinterest:before, .ion-logo-playstation:before, .ion-logo-python:before, .ion-logo-reddit:before, .ion-logo-rss:before, .ion-logo-sass:before, .ion-logo-skype:before, .ion-logo-snapchat:before, .ion-logo-steam:before, .ion-logo-tumblr:before, .ion-logo-tux:before, .ion-logo-twitch:before, .ion-logo-twitter:before, .ion-logo-usd:before, .ion-logo-vimeo:before, .ion-logo-whatsapp:before, .ion-logo-windows:before, .ion-logo-wordpress:before, .ion-logo-xbox:before, .ion-logo-yahoo:before, .ion-logo-yen:before, .ion-logo-youtube:before, .ion-md-add:before, .ion-md-add-circle:before, .ion-md-alarm:before, .ion-md-albums:before, .ion-md-alert:before, .ion-md-american-football:before, .ion-md-analytics:before, .ion-md-aperture:before, .ion-md-apps:before, .ion-md-appstore:before, .ion-md-archive:before, .ion-md-arrow-back:before, .ion-md-arrow-down:before, .ion-md-arrow-dropdown:before, .ion-md-arrow-dropdown-circle:before, .ion-md-arrow-dropleft:before, .ion-md-arrow-dropleft-circle:before, .ion-md-arrow-dropright:before, .ion-md-arrow-dropright-circle:before, .ion-md-arrow-dropup:before, .ion-md-arrow-dropup-circle:before, .ion-md-arrow-forward:before, .ion-md-arrow-round-back:before, .ion-md-arrow-round-down:before, .ion-md-arrow-round-forward:before, .ion-md-arrow-round-up:before, .ion-md-arrow-up:before, .ion-md-at:before, .ion-md-attach:before, .ion-md-backspace:before, .ion-md-barcode:before, .ion-md-baseball:before, .ion-md-basket:before, .ion-md-basketball:before, .ion-md-battery-charging:before, .ion-md-battery-dead:before, .ion-md-battery-full:before, .ion-md-beaker:before, .ion-md-beer:before, .ion-md-bicycle:before, .ion-md-bluetooth:before, .ion-md-boat:before, .ion-md-body:before, .ion-md-bonfire:before, .ion-md-book:before, .ion-md-bookmark:before, .ion-md-bookmarks:before, .ion-md-bowtie:before, .ion-md-briefcase:before, .ion-md-browsers:before, .ion-md-brush:before, .ion-md-bug:before, .ion-md-build:before, .ion-md-bulb:before, .ion-md-bus:before, .ion-md-cafe:before, .ion-md-calculator:before, .ion-md-calendar:before, .ion-md-call:before, .ion-md-camera:before, .ion-md-car:before, .ion-md-card:before, .ion-md-cart:before, .ion-md-cash:before, .ion-md-chatboxes:before, .ion-md-chatbubbles:before, .ion-md-checkbox:before, .ion-md-checkbox-outline:before, .ion-md-checkmark:before, .ion-md-checkmark-circle:before, .ion-md-checkmark-circle-outline:before, .ion-md-clipboard:before, .ion-md-clock:before, .ion-md-close:before, .ion-md-close-circle:before, .ion-md-closed-captioning:before, .ion-md-cloud:before, .ion-md-cloud-circle:before, .ion-md-cloud-done:before, .ion-md-cloud-download:before, .ion-md-cloud-outline:before, .ion-md-cloud-upload:before, .ion-md-cloudy:before, .ion-md-cloudy-night:before, .ion-md-code:before, .ion-md-code-download:before, .ion-md-code-working:before, .ion-md-cog:before, .ion-md-color-fill:before, .ion-md-color-filter:before, .ion-md-color-palette:before, .ion-md-color-wand:before, .ion-md-compass:before, .ion-md-construct:before, .ion-md-contact:before, .ion-md-contacts:before, .ion-md-contract:before, .ion-md-contrast:before, .ion-md-copy:before, .ion-md-create:before, .ion-md-crop:before, .ion-md-cube:before, .ion-md-cut:before, .ion-md-desktop:before, .ion-md-disc:before, .ion-md-document:before, .ion-md-done-all:before, .ion-md-download:before, .ion-md-easel:before, .ion-md-egg:before, .ion-md-exit:before, .ion-md-expand:before, .ion-md-eye:before, .ion-md-eye-off:before, .ion-md-fastforward:before, .ion-md-female:before, .ion-md-filing:before, .ion-md-film:before, .ion-md-finger-print:before, .ion-md-flag:before, .ion-md-flame:before, .ion-md-flash:before, .ion-md-flask:before, .ion-md-flower:before, .ion-md-folder:before, .ion-md-folder-open:before, .ion-md-football:before, .ion-md-funnel:before, .ion-md-game-controller-a:before, .ion-md-game-controller-b:before, .ion-md-git-branch:before, .ion-md-git-commit:before, .ion-md-git-compare:before, .ion-md-git-merge:before, .ion-md-git-network:before, .ion-md-git-pull-request:before, .ion-md-glasses:before, .ion-md-globe:before, .ion-md-grid:before, .ion-md-hammer:before, .ion-md-hand:before, .ion-md-happy:before, .ion-md-headset:before, .ion-md-heart:before, .ion-md-heart-outline:before, .ion-md-help:before, .ion-md-help-buoy:before, .ion-md-help-circle:before, .ion-md-home:before, .ion-md-ice-cream:before, .ion-md-image:before, .ion-md-images:before, .ion-md-infinite:before, .ion-md-information:before, .ion-md-information-circle:before, .ion-md-ionic:before, .ion-md-ionitron:before, .ion-md-jet:before, .ion-md-key:before, .ion-md-keypad:before, .ion-md-laptop:before, .ion-md-leaf:before, .ion-md-link:before, .ion-md-list:before, .ion-md-list-box:before, .ion-md-locate:before, .ion-md-lock:before, .ion-md-log-in:before, .ion-md-log-out:before, .ion-md-magnet:before, .ion-md-mail:before, .ion-md-mail-open:before, .ion-md-male:before, .ion-md-man:before, .ion-md-map:before, .ion-md-medal:before, .ion-md-medical:before, .ion-md-medkit:before, .ion-md-megaphone:before, .ion-md-menu:before, .ion-md-mic:before, .ion-md-mic-off:before, .ion-md-microphone:before, .ion-md-moon:before, .ion-md-more:before, .ion-md-move:before, .ion-md-musical-note:before, .ion-md-musical-notes:before, .ion-md-navigate:before, .ion-md-no-smoking:before, .ion-md-notifications:before, .ion-md-notifications-off:before, .ion-md-notifications-outline:before, .ion-md-nuclear:before, .ion-md-nutrition:before, .ion-md-open:before, .ion-md-options:before, .ion-md-outlet:before, .ion-md-paper:before, .ion-md-paper-plane:before, .ion-md-partly-sunny:before, .ion-md-pause:before, .ion-md-paw:before, .ion-md-people:before, .ion-md-person:before, .ion-md-person-add:before, .ion-md-phone-landscape:before, .ion-md-phone-portrait:before, .ion-md-photos:before, .ion-md-pie:before, .ion-md-pin:before, .ion-md-pint:before, .ion-md-pizza:before, .ion-md-plane:before, .ion-md-planet:before, .ion-md-play:before, .ion-md-podium:before, .ion-md-power:before, .ion-md-pricetag:before, .ion-md-pricetags:before, .ion-md-print:before, .ion-md-pulse:before, .ion-md-qr-scanner:before, .ion-md-quote:before, .ion-md-radio:before, .ion-md-radio-button-off:before, .ion-md-radio-button-on:before, .ion-md-rainy:before, .ion-md-recording:before, .ion-md-redo:before, .ion-md-refresh:before, .ion-md-refresh-circle:before, .ion-md-remove:before, .ion-md-remove-circle:before, .ion-md-reorder:before, .ion-md-repeat:before, .ion-md-resize:before, .ion-md-restaurant:before, .ion-md-return-left:before, .ion-md-return-right:before, .ion-md-reverse-camera:before, .ion-md-rewind:before, .ion-md-ribbon:before, .ion-md-rose:before, .ion-md-sad:before, .ion-md-school:before, .ion-md-search:before, .ion-md-send:before, .ion-md-settings:before, .ion-md-share:before, .ion-md-share-alt:before, .ion-md-shirt:before, .ion-md-shuffle:before, .ion-md-skip-backward:before, .ion-md-skip-forward:before, .ion-md-snow:before, .ion-md-speedometer:before, .ion-md-square:before, .ion-md-square-outline:before, .ion-md-star:before, .ion-md-star-half:before, .ion-md-star-outline:before, .ion-md-stats:before, .ion-md-stopwatch:before, .ion-md-subway:before, .ion-md-sunny:before, .ion-md-swap:before, .ion-md-switch:before, .ion-md-sync:before, .ion-md-tablet-landscape:before, .ion-md-tablet-portrait:before, .ion-md-tennisball:before, .ion-md-text:before, .ion-md-thermometer:before, .ion-md-thumbs-down:before, .ion-md-thumbs-up:before, .ion-md-thunderstorm:before, .ion-md-time:before, .ion-md-timer:before, .ion-md-train:before, .ion-md-transgender:before, .ion-md-trash:before, .ion-md-trending-down:before, .ion-md-trending-up:before, .ion-md-trophy:before, .ion-md-umbrella:before, .ion-md-undo:before, .ion-md-unlock:before, .ion-md-videocam:before, .ion-md-volume-down:before, .ion-md-volume-mute:before, .ion-md-volume-off:before, .ion-md-volume-up:before, .ion-md-walk:before, .ion-md-warning:before, .ion-md-watch:before, .ion-md-water:before, .ion-md-wifi:before, .ion-md-wine:before, .ion-md-woman:before { display: inline-block; font-family: "Ionicons"; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .ion-ios-add:before { content: "\f102"; } .ion-ios-add-circle:before { content: "\f101"; } .ion-ios-add-circle-outline:before { content: "\f100"; } .ion-ios-add-outline:before { content: "\f102"; } .ion-ios-alarm:before { content: "\f3c8"; } .ion-ios-alarm-outline:before { content: "\f3c7"; } .ion-ios-albums:before { content: "\f3ca"; } .ion-ios-albums-outline:before { content: "\f3c9"; } .ion-ios-alert:before { content: "\f104"; } .ion-ios-alert-outline:before { content: "\f103"; } .ion-ios-american-football:before { content: "\f106"; } .ion-ios-american-football-outline:before { content: "\f105"; } .ion-ios-analytics:before { content: "\f3ce"; } .ion-ios-analytics-outline:before { content: "\f3cd"; } .ion-ios-aperture:before { content: "\f108"; } .ion-ios-aperture-outline:before { content: "\f107"; } .ion-ios-apps:before { content: "\f10a"; } .ion-ios-apps-outline:before { content: "\f109"; } .ion-ios-appstore:before { content: "\f10c"; } .ion-ios-appstore-outline:before { content: "\f10b"; } .ion-ios-archive:before { content: "\f10e"; } .ion-ios-archive-outline:before { content: "\f10d"; } .ion-ios-arrow-back:before { content: "\f3cf"; } .ion-ios-arrow-back-outline:before { content: "\f3cf"; } .ion-ios-arrow-down:before { content: "\f3d0"; } .ion-ios-arrow-down-outline:before { content: "\f3d0"; } .ion-ios-arrow-dropdown:before { content: "\f110"; } .ion-ios-arrow-dropdown-circle:before { content: "\f10f"; } .ion-ios-arrow-dropdown-circle-outline:before { content: "\f10f"; } .ion-ios-arrow-dropdown-outline:before { content: "\f110"; } .ion-ios-arrow-dropleft:before { content: "\f112"; } .ion-ios-arrow-dropleft-circle:before { content: "\f111"; } .ion-ios-arrow-dropleft-circle-outline:before { content: "\f111"; } .ion-ios-arrow-dropleft-outline:before { content: "\f112"; } .ion-ios-arrow-dropright:before { content: "\f114"; } .ion-ios-arrow-dropright-circle:before { content: "\f113"; } .ion-ios-arrow-dropright-circle-outline:before { content: "\f113"; } .ion-ios-arrow-dropright-outline:before { content: "\f114"; } .ion-ios-arrow-dropup:before { content: "\f116"; } .ion-ios-arrow-dropup-circle:before { content: "\f115"; } .ion-ios-arrow-dropup-circle-outline:before { content: "\f115"; } .ion-ios-arrow-dropup-outline:before { content: "\f116"; } .ion-ios-arrow-forward:before { content: "\f3d1"; } .ion-ios-arrow-forward-outline:before { content: "\f3d1"; } .ion-ios-arrow-round-back:before { content: "\f117"; } .ion-ios-arrow-round-back-outline:before { content: "\f117"; } .ion-ios-arrow-round-down:before { content: "\f118"; } .ion-ios-arrow-round-down-outline:before { content: "\f118"; } .ion-ios-arrow-round-forward:before { content: "\f119"; } .ion-ios-arrow-round-forward-outline:before { content: "\f119"; } .ion-ios-arrow-round-up:before { content: "\f11a"; } .ion-ios-arrow-round-up-outline:before { content: "\f11a"; } .ion-ios-arrow-up:before { content: "\f3d8"; } .ion-ios-arrow-up-outline:before { content: "\f3d8"; } .ion-ios-at:before { content: "\f3da"; } .ion-ios-at-outline:before { content: "\f3d9"; } .ion-ios-attach:before { content: "\f11b"; } .ion-ios-attach-outline:before { content: "\f11b"; } .ion-ios-backspace:before { content: "\f11d"; } .ion-ios-backspace-outline:before { content: "\f11c"; } .ion-ios-barcode:before { content: "\f3dc"; } .ion-ios-barcode-outline:before { content: "\f3db"; } .ion-ios-baseball:before { content: "\f3de"; } .ion-ios-baseball-outline:before { content: "\f3dd"; } .ion-ios-basket:before { content: "\f11f"; } .ion-ios-basket-outline:before { content: "\f11e"; } .ion-ios-basketball:before { content: "\f3e0"; } .ion-ios-basketball-outline:before { content: "\f3df"; } .ion-ios-battery-charging:before { content: "\f120"; } .ion-ios-battery-charging-outline:before { content: "\f120"; } .ion-ios-battery-dead:before { content: "\f121"; } .ion-ios-battery-dead-outline:before { content: "\f121"; } .ion-ios-battery-full:before { content: "\f122"; } .ion-ios-battery-full-outline:before { content: "\f122"; } .ion-ios-beaker:before { content: "\f124"; } .ion-ios-beaker-outline:before { content: "\f123"; } .ion-ios-beer:before { content: "\f126"; } .ion-ios-beer-outline:before { content: "\f125"; } .ion-ios-bicycle:before { content: "\f127"; } .ion-ios-bicycle-outline:before { content: "\f127"; } .ion-ios-bluetooth:before { content: "\f128"; } .ion-ios-bluetooth-outline:before { content: "\f128"; } .ion-ios-boat:before { content: "\f12a"; } .ion-ios-boat-outline:before { content: "\f129"; } .ion-ios-body:before { content: "\f3e4"; } .ion-ios-body-outline:before { content: "\f3e3"; } .ion-ios-bonfire:before { content: "\f12c"; } .ion-ios-bonfire-outline:before { content: "\f12b"; } .ion-ios-book:before { content: "\f3e8"; } .ion-ios-book-outline:before { content: "\f3e7"; } .ion-ios-bookmark:before { content: "\f12e"; } .ion-ios-bookmark-outline:before { content: "\f12d"; } .ion-ios-bookmarks:before { content: "\f3ea"; } .ion-ios-bookmarks-outline:before { content: "\f3e9"; } .ion-ios-bowtie:before { content: "\f130"; } .ion-ios-bowtie-outline:before { content: "\f12f"; } .ion-ios-briefcase:before { content: "\f3ee"; } .ion-ios-briefcase-outline:before { content: "\f3ed"; } .ion-ios-browsers:before { content: "\f3f0"; } .ion-ios-browsers-outline:before { content: "\f3ef"; } .ion-ios-brush:before { content: "\f132"; } .ion-ios-brush-outline:before { content: "\f131"; } .ion-ios-bug:before { content: "\f134"; } .ion-ios-bug-outline:before { content: "\f133"; } .ion-ios-build:before { content: "\f136"; } .ion-ios-build-outline:before { content: "\f135"; } .ion-ios-bulb:before { content: "\f138"; } .ion-ios-bulb-outline:before { content: "\f137"; } .ion-ios-bus:before { content: "\f13a"; } .ion-ios-bus-outline:before { content: "\f139"; } .ion-ios-cafe:before { content: "\f13c"; } .ion-ios-cafe-outline:before { content: "\f13b"; } .ion-ios-calculator:before { content: "\f3f2"; } .ion-ios-calculator-outline:before { content: "\f3f1"; } .ion-ios-calendar:before { content: "\f3f4"; } .ion-ios-calendar-outline:before { content: "\f3f3"; } .ion-ios-call:before { content: "\f13e"; } .ion-ios-call-outline:before { content: "\f13d"; } .ion-ios-camera:before { content: "\f3f6"; } .ion-ios-camera-outline:before { content: "\f3f5"; } .ion-ios-car:before { content: "\f140"; } .ion-ios-car-outline:before { content: "\f13f"; } .ion-ios-card:before { content: "\f142"; } .ion-ios-card-outline:before { content: "\f141"; } .ion-ios-cart:before { content: "\f3f8"; } .ion-ios-cart-outline:before { content: "\f3f7"; } .ion-ios-cash:before { content: "\f144"; } .ion-ios-cash-outline:before { content: "\f143"; } .ion-ios-chatboxes:before { content: "\f3fa"; } .ion-ios-chatboxes-outline:before { content: "\f3f9"; } .ion-ios-chatbubbles:before { content: "\f146"; } .ion-ios-chatbubbles-outline:before { content: "\f145"; } .ion-ios-checkbox:before { content: "\f148"; } .ion-ios-checkbox-outline:before { content: "\f147"; } .ion-ios-checkmark:before { content: "\f3ff"; } .ion-ios-checkmark-circle:before { content: "\f14a"; } .ion-ios-checkmark-circle-outline:before { content: "\f149"; } .ion-ios-checkmark-outline:before { content: "\f3ff"; } .ion-ios-clipboard:before { content: "\f14c"; } .ion-ios-clipboard-outline:before { content: "\f14b"; } .ion-ios-clock:before { content: "\f403"; } .ion-ios-clock-outline:before { content: "\f402"; } .ion-ios-close:before { content: "\f406"; } .ion-ios-close-circle:before { content: "\f14e"; } .ion-ios-close-circle-outline:before { content: "\f14d"; } .ion-ios-close-outline:before { content: "\f406"; } .ion-ios-closed-captioning:before { content: "\f150"; } .ion-ios-closed-captioning-outline:before { content: "\f14f"; } .ion-ios-cloud:before { content: "\f40c"; } .ion-ios-cloud-circle:before { content: "\f152"; } .ion-ios-cloud-circle-outline:before { content: "\f151"; } .ion-ios-cloud-done:before { content: "\f154"; } .ion-ios-cloud-done-outline:before { content: "\f153"; } .ion-ios-cloud-download:before { content: "\f408"; } .ion-ios-cloud-download-outline:before { content: "\f407"; } .ion-ios-cloud-outline:before { content: "\f409"; } .ion-ios-cloud-upload:before { content: "\f40b"; } .ion-ios-cloud-upload-outline:before { content: "\f40a"; } .ion-ios-cloudy:before { content: "\f410"; } .ion-ios-cloudy-night:before { content: "\f40e"; } .ion-ios-cloudy-night-outline:before { content: "\f40d"; } .ion-ios-cloudy-outline:before { content: "\f40f"; } .ion-ios-code:before { content: "\f157"; } .ion-ios-code-download:before { content: "\f155"; } .ion-ios-code-download-outline:before { content: "\f155"; } .ion-ios-code-outline:before { content: "\f157"; } .ion-ios-code-working:before { content: "\f156"; } .ion-ios-code-working-outline:before { content: "\f156"; } .ion-ios-cog:before { content: "\f412"; } .ion-ios-cog-outline:before { content: "\f411"; } .ion-ios-color-fill:before { content: "\f159"; } .ion-ios-color-fill-outline:before { content: "\f158"; } .ion-ios-color-filter:before { content: "\f414"; } .ion-ios-color-filter-outline:before { content: "\f413"; } .ion-ios-color-palette:before { content: "\f15b"; } .ion-ios-color-palette-outline:before { content: "\f15a"; } .ion-ios-color-wand:before { content: "\f416"; } .ion-ios-color-wand-outline:before { content: "\f415"; } .ion-ios-compass:before { content: "\f15d"; } .ion-ios-compass-outline:before { content: "\f15c"; } .ion-ios-construct:before { content: "\f15f"; } .ion-ios-construct-outline:before { content: "\f15e"; } .ion-ios-contact:before { content: "\f41a"; } .ion-ios-contact-outline:before { content: "\f419"; } .ion-ios-contacts:before { content: "\f161"; } .ion-ios-contacts-outline:before { content: "\f160"; } .ion-ios-contract:before { content: "\f162"; } .ion-ios-contract-outline:before { content: "\f162"; } .ion-ios-contrast:before { content: "\f163"; } .ion-ios-contrast-outline:before { content: "\f163"; } .ion-ios-copy:before { content: "\f41c"; } .ion-ios-copy-outline:before { content: "\f41b"; } .ion-ios-create:before { content: "\f165"; } .ion-ios-create-outline:before { content: "\f164"; } .ion-ios-crop:before { content: "\f41e"; } .ion-ios-crop-outline:before { content: "\f166"; } .ion-ios-cube:before { content: "\f168"; } .ion-ios-cube-outline:before { content: "\f167"; } .ion-ios-cut:before { content: "\f16a"; } .ion-ios-cut-outline:before { content: "\f169"; } .ion-ios-desktop:before { content: "\f16c"; } .ion-ios-desktop-outline:before { content: "\f16b"; } .ion-ios-disc:before { content: "\f16e"; } .ion-ios-disc-outline:before { content: "\f16d"; } .ion-ios-document:before { content: "\f170"; } .ion-ios-document-outline:before { content: "\f16f"; } .ion-ios-done-all:before { content: "\f171"; } .ion-ios-done-all-outline:before { content: "\f171"; } .ion-ios-download:before { content: "\f420"; } .ion-ios-download-outline:before { content: "\f41f"; } .ion-ios-easel:before { content: "\f173"; } .ion-ios-easel-outline:before { content: "\f172"; } .ion-ios-egg:before { content: "\f175"; } .ion-ios-egg-outline:before { content: "\f174"; } .ion-ios-exit:before { content: "\f177"; } .ion-ios-exit-outline:before { content: "\f176"; } .ion-ios-expand:before { content: "\f178"; } .ion-ios-expand-outline:before { content: "\f178"; } .ion-ios-eye:before { content: "\f425"; } .ion-ios-eye-off:before { content: "\f17a"; } .ion-ios-eye-off-outline:before { content: "\f179"; } .ion-ios-eye-outline:before { content: "\f424"; } .ion-ios-fastforward:before { content: "\f427"; } .ion-ios-fastforward-outline:before { content: "\f426"; } .ion-ios-female:before { content: "\f17b"; } .ion-ios-female-outline:before { content: "\f17b"; } .ion-ios-filing:before { content: "\f429"; } .ion-ios-filing-outline:before { content: "\f428"; } .ion-ios-film:before { content: "\f42b"; } .ion-ios-film-outline:before { content: "\f42a"; } .ion-ios-finger-print:before { content: "\f17c"; } .ion-ios-finger-print-outline:before { content: "\f17c"; } .ion-ios-flag:before { content: "\f42d"; } .ion-ios-flag-outline:before { content: "\f42c"; } .ion-ios-flame:before { content: "\f42f"; } .ion-ios-flame-outline:before { content: "\f42e"; } .ion-ios-flash:before { content: "\f17e"; } .ion-ios-flash-outline:before { content: "\f17d"; } .ion-ios-flask:before { content: "\f431"; } .ion-ios-flask-outline:before { content: "\f430"; } .ion-ios-flower:before { content: "\f433"; } .ion-ios-flower-outline:before { content: "\f432"; } .ion-ios-folder:before { content: "\f435"; } .ion-ios-folder-open:before { content: "\f180"; } .ion-ios-folder-open-outline:before { content: "\f17f"; } .ion-ios-folder-outline:before { content: "\f434"; } .ion-ios-football:before { content: "\f437"; } .ion-ios-football-outline:before { content: "\f436"; } .ion-ios-funnel:before { content: "\f182"; } .ion-ios-funnel-outline:before { content: "\f181"; } .ion-ios-game-controller-a:before { content: "\f439"; } .ion-ios-game-controller-a-outline:before { content: "\f438"; } .ion-ios-game-controller-b:before { content: "\f43b"; } .ion-ios-game-controller-b-outline:before { content: "\f43a"; } .ion-ios-git-branch:before { content: "\f183"; } .ion-ios-git-branch-outline:before { content: "\f183"; } .ion-ios-git-commit:before { content: "\f184"; } .ion-ios-git-commit-outline:before { content: "\f184"; } .ion-ios-git-compare:before { content: "\f185"; } .ion-ios-git-compare-outline:before { content: "\f185"; } .ion-ios-git-merge:before { content: "\f186"; } .ion-ios-git-merge-outline:before { content: "\f186"; } .ion-ios-git-network:before { content: "\f187"; } .ion-ios-git-network-outline:before { content: "\f187"; } .ion-ios-git-pull-request:before { content: "\f188"; } .ion-ios-git-pull-request-outline:before { content: "\f188"; } .ion-ios-glasses:before { content: "\f43f"; } .ion-ios-glasses-outline:before { content: "\f43e"; } .ion-ios-globe:before { content: "\f18a"; } .ion-ios-globe-outline:before { content: "\f189"; } .ion-ios-grid:before { content: "\f18c"; } .ion-ios-grid-outline:before { content: "\f18b"; } .ion-ios-hammer:before { content: "\f18e"; } .ion-ios-hammer-outline:before { content: "\f18d"; } .ion-ios-hand:before { content: "\f190"; } .ion-ios-hand-outline:before { content: "\f18f"; } .ion-ios-happy:before { content: "\f192"; } .ion-ios-happy-outline:before { content: "\f191"; } .ion-ios-headset:before { content: "\f194"; } .ion-ios-headset-outline:before { content: "\f193"; } .ion-ios-heart:before { content: "\f443"; } .ion-ios-heart-outline:before { content: "\f442"; } .ion-ios-help:before { content: "\f446"; } .ion-ios-help-buoy:before { content: "\f196"; } .ion-ios-help-buoy-outline:before { content: "\f195"; } .ion-ios-help-circle:before { content: "\f198"; } .ion-ios-help-circle-outline:before { content: "\f197"; } .ion-ios-help-outline:before { content: "\f446"; } .ion-ios-home:before { content: "\f448"; } .ion-ios-home-outline:before { content: "\f447"; } .ion-ios-ice-cream:before { content: "\f19a"; } .ion-ios-ice-cream-outline:before { content: "\f199"; } .ion-ios-image:before { content: "\f19c"; } .ion-ios-image-outline:before { content: "\f19b"; } .ion-ios-images:before { content: "\f19e"; } .ion-ios-images-outline:before { content: "\f19d"; } .ion-ios-infinite:before { content: "\f44a"; } .ion-ios-infinite-outline:before { content: "\f449"; } .ion-ios-information:before { content: "\f44d"; } .ion-ios-information-circle:before { content: "\f1a0"; } .ion-ios-information-circle-outline:before { content: "\f19f"; } .ion-ios-information-outline:before { content: "\f44d"; } .ion-ios-ionic:before { content: "\f1a1"; } .ion-ios-ionic-outline:before { content: "\f44e"; } .ion-ios-ionitron:before { content: "\f1a3"; } .ion-ios-ionitron-outline:before { content: "\f1a2"; } .ion-ios-jet:before { content: "\f1a5"; } .ion-ios-jet-outline:before { content: "\f1a4"; } .ion-ios-key:before { content: "\f1a7"; } .ion-ios-key-outline:before { content: "\f1a6"; } .ion-ios-keypad:before { content: "\f450"; } .ion-ios-keypad-outline:before { content: "\f44f"; } .ion-ios-laptop:before { content: "\f1a8"; } .ion-ios-laptop-outline:before { content: "\f1a8"; } .ion-ios-leaf:before { content: "\f1aa"; } .ion-ios-leaf-outline:before { content: "\f1a9"; } .ion-ios-link:before { content: "\f22a"; } .ion-ios-link-outline:before { content: "\f1ca"; } .ion-ios-list:before { content: "\f454"; } .ion-ios-list-box:before { content: "\f1ac"; } .ion-ios-list-box-outline:before { content: "\f1ab"; } .ion-ios-list-outline:before { content: "\f454"; } .ion-ios-locate:before { content: "\f1ae"; } .ion-ios-locate-outline:before { content: "\f1ad"; } .ion-ios-lock:before { content: "\f1b0"; } .ion-ios-lock-outline:before { content: "\f1af"; } .ion-ios-log-in:before { content: "\f1b1"; } .ion-ios-log-in-outline:before { content: "\f1b1"; } .ion-ios-log-out:before { content: "\f1b2"; } .ion-ios-log-out-outline:before { content: "\f1b2"; } .ion-ios-magnet:before { content: "\f1b4"; } .ion-ios-magnet-outline:before { content: "\f1b3"; } .ion-ios-mail:before { content: "\f1b8"; } .ion-ios-mail-open:before { content: "\f1b6"; } .ion-ios-mail-open-outline:before { content: "\f1b5"; } .ion-ios-mail-outline:before { content: "\f1b7"; } .ion-ios-male:before { content: "\f1b9"; } .ion-ios-male-outline:before { content: "\f1b9"; } .ion-ios-man:before { content: "\f1bb"; } .ion-ios-man-outline:before { content: "\f1ba"; } .ion-ios-map:before { content: "\f1bd"; } .ion-ios-map-outline:before { content: "\f1bc"; } .ion-ios-medal:before { content: "\f1bf"; } .ion-ios-medal-outline:before { content: "\f1be"; } .ion-ios-medical:before { content: "\f45c"; } .ion-ios-medical-outline:before { content: "\f45b"; } .ion-ios-medkit:before { content: "\f45e"; } .ion-ios-medkit-outline:before { content: "\f45d"; } .ion-ios-megaphone:before { content: "\f1c1"; } .ion-ios-megaphone-outline:before { content: "\f1c0"; } .ion-ios-menu:before { content: "\f1c3"; } .ion-ios-menu-outline:before { content: "\f1c2"; } .ion-ios-mic:before { content: "\f461"; } .ion-ios-mic-off:before { content: "\f45f"; } .ion-ios-mic-off-outline:before { content: "\f1c4"; } .ion-ios-mic-outline:before { content: "\f460"; } .ion-ios-microphone:before { content: "\f1c6"; } .ion-ios-microphone-outline:before { content: "\f1c5"; } .ion-ios-moon:before { content: "\f468"; } .ion-ios-moon-outline:before { content: "\f467"; } .ion-ios-more:before { content: "\f1c8"; } .ion-ios-more-outline:before { content: "\f1c7"; } .ion-ios-move:before { content: "\f1cb"; } .ion-ios-move-outline:before { content: "\f1cb"; } .ion-ios-musical-note:before { content: "\f46b"; } .ion-ios-musical-note-outline:before { content: "\f1cc"; } .ion-ios-musical-notes:before { content: "\f46c"; } .ion-ios-musical-notes-outline:before { content: "\f1cd"; } .ion-ios-navigate:before { content: "\f46e"; } .ion-ios-navigate-outline:before { content: "\f46d"; } .ion-ios-no-smoking:before { content: "\f1cf"; } .ion-ios-no-smoking-outline:before { content: "\f1ce"; } .ion-ios-notifications:before { content: "\f1d3"; } .ion-ios-notifications-off:before { content: "\f1d1"; } .ion-ios-notifications-off-outline:before { content: "\f1d0"; } .ion-ios-notifications-outline:before { content: "\f1d2"; } .ion-ios-nuclear:before { content: "\f1d5"; } .ion-ios-nuclear-outline:before { content: "\f1d4"; } .ion-ios-nutrition:before { content: "\f470"; } .ion-ios-nutrition-outline:before { content: "\f46f"; } .ion-ios-open:before { content: "\f1d7"; } .ion-ios-open-outline:before { content: "\f1d6"; } .ion-ios-options:before { content: "\f1d9"; } .ion-ios-options-outline:before { content: "\f1d8"; } .ion-ios-outlet:before { content: "\f1db"; } .ion-ios-outlet-outline:before { content: "\f1da"; } .ion-ios-paper:before { content: "\f472"; } .ion-ios-paper-outline:before { content: "\f471"; } .ion-ios-paper-plane:before { content: "\f1dd"; } .ion-ios-paper-plane-outline:before { content: "\f1dc"; } .ion-ios-partly-sunny:before { content: "\f1df"; } .ion-ios-partly-sunny-outline:before { content: "\f1de"; } .ion-ios-pause:before { content: "\f478"; } .ion-ios-pause-outline:before { content: "\f477"; } .ion-ios-paw:before { content: "\f47a"; } .ion-ios-paw-outline:before { content: "\f479"; } .ion-ios-people:before { content: "\f47c"; } .ion-ios-people-outline:before { content: "\f47b"; } .ion-ios-person:before { content: "\f47e"; } .ion-ios-person-add:before { content: "\f1e1"; } .ion-ios-person-add-outline:before { content: "\f1e0"; } .ion-ios-person-outline:before { content: "\f47d"; } .ion-ios-phone-landscape:before { content: "\f1e2"; } .ion-ios-phone-landscape-outline:before { content: "\f1e2"; } .ion-ios-phone-portrait:before { content: "\f1e3"; } .ion-ios-phone-portrait-outline:before { content: "\f1e3"; } .ion-ios-photos:before { content: "\f482"; } .ion-ios-photos-outline:before { content: "\f481"; } .ion-ios-pie:before { content: "\f484"; } .ion-ios-pie-outline:before { content: "\f483"; } .ion-ios-pin:before { content: "\f1e5"; } .ion-ios-pin-outline:before { content: "\f1e4"; } .ion-ios-pint:before { content: "\f486"; } .ion-ios-pint-outline:before { content: "\f485"; } .ion-ios-pizza:before { content: "\f1e7"; } .ion-ios-pizza-outline:before { content: "\f1e6"; } .ion-ios-plane:before { content: "\f1e9"; } .ion-ios-plane-outline:before { content: "\f1e8"; } .ion-ios-planet:before { content: "\f1eb"; } .ion-ios-planet-outline:before { content: "\f1ea"; } .ion-ios-play:before { content: "\f488"; } .ion-ios-play-outline:before { content: "\f487"; } .ion-ios-podium:before { content: "\f1ed"; } .ion-ios-podium-outline:before { content: "\f1ec"; } .ion-ios-power:before { content: "\f1ef"; } .ion-ios-power-outline:before { content: "\f1ee"; } .ion-ios-pricetag:before { content: "\f48d"; } .ion-ios-pricetag-outline:before { content: "\f48c"; } .ion-ios-pricetags:before { content: "\f48f"; } .ion-ios-pricetags-outline:before { content: "\f48e"; } .ion-ios-print:before { content: "\f1f1"; } .ion-ios-print-outline:before { content: "\f1f0"; } .ion-ios-pulse:before { content: "\f493"; } .ion-ios-pulse-outline:before { content: "\f1f2"; } .ion-ios-qr-scanner:before { content: "\f1f3"; } .ion-ios-qr-scanner-outline:before { content: "\f1f3"; } .ion-ios-quote:before { content: "\f1f5"; } .ion-ios-quote-outline:before { content: "\f1f4"; } .ion-ios-radio:before { content: "\f1f9"; } .ion-ios-radio-button-off:before { content: "\f1f6"; } .ion-ios-radio-button-off-outline:before { content: "\f1f6"; } .ion-ios-radio-button-on:before { content: "\f1f7"; } .ion-ios-radio-button-on-outline:before { content: "\f1f7"; } .ion-ios-radio-outline:before { content: "\f1f8"; } .ion-ios-rainy:before { content: "\f495"; } .ion-ios-rainy-outline:before { content: "\f494"; } .ion-ios-recording:before { content: "\f497"; } .ion-ios-recording-outline:before { content: "\f496"; } .ion-ios-redo:before { content: "\f499"; } .ion-ios-redo-outline:before { content: "\f498"; } .ion-ios-refresh:before { content: "\f49c"; } .ion-ios-refresh-circle:before { content: "\f226"; } .ion-ios-refresh-circle-outline:before { content: "\f224"; } .ion-ios-refresh-outline:before { content: "\f49c"; } .ion-ios-remove:before { content: "\f1fc"; } .ion-ios-remove-circle:before { content: "\f1fb"; } .ion-ios-remove-circle-outline:before { content: "\f1fa"; } .ion-ios-remove-outline:before { content: "\f1fc"; } .ion-ios-reorder:before { content: "\f1fd"; } .ion-ios-reorder-outline:before { content: "\f1fd"; } .ion-ios-repeat:before { content: "\f1fe"; } .ion-ios-repeat-outline:before { content: "\f1fe"; } .ion-ios-resize:before { content: "\f1ff"; } .ion-ios-resize-outline:before { content: "\f1ff"; } .ion-ios-restaurant:before { content: "\f201"; } .ion-ios-restaurant-outline:before { content: "\f200"; } .ion-ios-return-left:before { content: "\f202"; } .ion-ios-return-left-outline:before { content: "\f202"; } .ion-ios-return-right:before { content: "\f203"; } .ion-ios-return-right-outline:before { content: "\f203"; } .ion-ios-reverse-camera:before { content: "\f49f"; } .ion-ios-reverse-camera-outline:before { content: "\f49e"; } .ion-ios-rewind:before { content: "\f4a1"; } .ion-ios-rewind-outline:before { content: "\f4a0"; } .ion-ios-ribbon:before { content: "\f205"; } .ion-ios-ribbon-outline:before { content: "\f204"; } .ion-ios-rose:before { content: "\f4a3"; } .ion-ios-rose-outline:before { content: "\f4a2"; } .ion-ios-sad:before { content: "\f207"; } .ion-ios-sad-outline:before { content: "\f206"; } .ion-ios-school:before { content: "\f209"; } .ion-ios-school-outline:before { content: "\f208"; } .ion-ios-search:before { content: "\f4a5"; } .ion-ios-search-outline:before { content: "\f20a"; } .ion-ios-send:before { content: "\f20c"; } .ion-ios-send-outline:before { content: "\f20b"; } .ion-ios-settings:before { content: "\f4a7"; } .ion-ios-settings-outline:before { content: "\f20d"; } .ion-ios-share:before { content: "\f211"; } .ion-ios-share-alt:before { content: "\f20f"; } .ion-ios-share-alt-outline:before { content: "\f20e"; } .ion-ios-share-outline:before { content: "\f210"; } .ion-ios-shirt:before { content: "\f213"; } .ion-ios-shirt-outline:before { content: "\f212"; } .ion-ios-shuffle:before { content: "\f4a9"; } .ion-ios-shuffle-outline:before { content: "\f4a9"; } .ion-ios-skip-backward:before { content: "\f215"; } .ion-ios-skip-backward-outline:before { content: "\f214"; } .ion-ios-skip-forward:before { content: "\f217"; } .ion-ios-skip-forward-outline:before { content: "\f216"; } .ion-ios-snow:before { content: "\f218"; } .ion-ios-snow-outline:before { content: "\f22c"; } .ion-ios-speedometer:before { content: "\f4b0"; } .ion-ios-speedometer-outline:before { content: "\f4af"; } .ion-ios-square:before { content: "\f21a"; } .ion-ios-square-outline:before { content: "\f219"; } .ion-ios-star:before { content: "\f4b3"; } .ion-ios-star-half:before { content: "\f4b1"; } .ion-ios-star-half-outline:before { content: "\f4b1"; } .ion-ios-star-outline:before { content: "\f4b2"; } .ion-ios-stats:before { content: "\f21c"; } .ion-ios-stats-outline:before { content: "\f21b"; } .ion-ios-stopwatch:before { content: "\f4b5"; } .ion-ios-stopwatch-outline:before { content: "\f4b4"; } .ion-ios-subway:before { content: "\f21e"; } .ion-ios-subway-outline:before { content: "\f21d"; } .ion-ios-sunny:before { content: "\f4b7"; } .ion-ios-sunny-outline:before { content: "\f4b6"; } .ion-ios-swap:before { content: "\f21f"; } .ion-ios-swap-outline:before { content: "\f21f"; } .ion-ios-switch:before { content: "\f221"; } .ion-ios-switch-outline:before { content: "\f220"; } .ion-ios-sync:before { content: "\f222"; } .ion-ios-sync-outline:before { content: "\f222"; } .ion-ios-tablet-landscape:before { content: "\f223"; } .ion-ios-tablet-landscape-outline:before { content: "\f223"; } .ion-ios-tablet-portrait:before { content: "\f24e"; } .ion-ios-tablet-portrait-outline:before { content: "\f24e"; } .ion-ios-tennisball:before { content: "\f4bb"; } .ion-ios-tennisball-outline:before { content: "\f4ba"; } .ion-ios-text:before { content: "\f250"; } .ion-ios-text-outline:before { content: "\f24f"; } .ion-ios-thermometer:before { content: "\f252"; } .ion-ios-thermometer-outline:before { content: "\f251"; } .ion-ios-thumbs-down:before { content: "\f254"; } .ion-ios-thumbs-down-outline:before { content: "\f253"; } .ion-ios-thumbs-up:before { content: "\f256"; } .ion-ios-thumbs-up-outline:before { content: "\f255"; } .ion-ios-thunderstorm:before { content: "\f4bd"; } .ion-ios-thunderstorm-outline:before { content: "\f4bc"; } .ion-ios-time:before { content: "\f4bf"; } .ion-ios-time-outline:before { content: "\f4be"; } .ion-ios-timer:before { content: "\f4c1"; } .ion-ios-timer-outline:before { content: "\f4c0"; } .ion-ios-train:before { content: "\f258"; } .ion-ios-train-outline:before { content: "\f257"; } .ion-ios-transgender:before { content: "\f259"; } .ion-ios-transgender-outline:before { content: "\f259"; } .ion-ios-trash:before { content: "\f4c5"; } .ion-ios-trash-outline:before { content: "\f4c4"; } .ion-ios-trending-down:before { content: "\f25a"; } .ion-ios-trending-down-outline:before { content: "\f25a"; } .ion-ios-trending-up:before { content: "\f25b"; } .ion-ios-trending-up-outline:before { content: "\f25b"; } .ion-ios-trophy:before { content: "\f25d"; } .ion-ios-trophy-outline:before { content: "\f25c"; } .ion-ios-umbrella:before { content: "\f25f"; } .ion-ios-umbrella-outline:before { content: "\f25e"; } .ion-ios-undo:before { content: "\f4c7"; } .ion-ios-undo-outline:before { content: "\f4c6"; } .ion-ios-unlock:before { content: "\f261"; } .ion-ios-unlock-outline:before { content: "\f260"; } .ion-ios-videocam:before { content: "\f4cd"; } .ion-ios-videocam-outline:before { content: "\f4cc"; } .ion-ios-volume-down:before { content: "\f262"; } .ion-ios-volume-down-outline:before { content: "\f262"; } .ion-ios-volume-mute:before { content: "\f263"; } .ion-ios-volume-mute-outline:before { content: "\f263"; } .ion-ios-volume-off:before { content: "\f264"; } .ion-ios-volume-off-outline:before { content: "\f264"; } .ion-ios-volume-up:before { content: "\f265"; } .ion-ios-volume-up-outline:before { content: "\f265"; } .ion-ios-walk:before { content: "\f266"; } .ion-ios-walk-outline:before { content: "\f266"; } .ion-ios-warning:before { content: "\f268"; } .ion-ios-warning-outline:before { content: "\f267"; } .ion-ios-watch:before { content: "\f269"; } .ion-ios-watch-outline:before { content: "\f269"; } .ion-ios-water:before { content: "\f26b"; } .ion-ios-water-outline:before { content: "\f26a"; } .ion-ios-wifi:before { content: "\f26d"; } .ion-ios-wifi-outline:before { content: "\f26c"; } .ion-ios-wine:before { content: "\f26f"; } .ion-ios-wine-outline:before { content: "\f26e"; } .ion-ios-woman:before { content: "\f271"; } .ion-ios-woman-outline:before { content: "\f270"; } .ion-logo-android:before { content: "\f225"; } .ion-logo-angular:before { content: "\f227"; } .ion-logo-apple:before { content: "\f229"; } .ion-logo-bitcoin:before { content: "\f22b"; } .ion-logo-buffer:before { content: "\f22d"; } .ion-logo-chrome:before { content: "\f22f"; } .ion-logo-codepen:before { content: "\f230"; } .ion-logo-css3:before { content: "\f231"; } .ion-logo-designernews:before { content: "\f232"; } .ion-logo-dribbble:before { content: "\f233"; } .ion-logo-dropbox:before { content: "\f234"; } .ion-logo-euro:before { content: "\f235"; } .ion-logo-facebook:before { content: "\f236"; } .ion-logo-foursquare:before { content: "\f237"; } .ion-logo-freebsd-devil:before { content: "\f238"; } .ion-logo-github:before { content: "\f239"; } .ion-logo-google:before { content: "\f23a"; } .ion-logo-googleplus:before { content: "\f23b"; } .ion-logo-hackernews:before { content: "\f23c"; } .ion-logo-html5:before { content: "\f23d"; } .ion-logo-instagram:before { content: "\f23e"; } .ion-logo-javascript:before { content: "\f23f"; } .ion-logo-linkedin:before { content: "\f240"; } .ion-logo-markdown:before { content: "\f241"; } .ion-logo-nodejs:before { content: "\f242"; } .ion-logo-octocat:before { content: "\f243"; } .ion-logo-pinterest:before { content: "\f244"; } .ion-logo-playstation:before { content: "\f245"; } .ion-logo-python:before { content: "\f246"; } .ion-logo-reddit:before { content: "\f247"; } .ion-logo-rss:before { content: "\f248"; } .ion-logo-sass:before { content: "\f249"; } .ion-logo-skype:before { content: "\f24a"; } .ion-logo-snapchat:before { content: "\f24b"; } .ion-logo-steam:before { content: "\f24c"; } .ion-logo-tumblr:before { content: "\f24d"; } .ion-logo-tux:before { content: "\f2ae"; } .ion-logo-twitch:before { content: "\f2af"; } .ion-logo-twitter:before { content: "\f2b0"; } .ion-logo-usd:before { content: "\f2b1"; } .ion-logo-vimeo:before { content: "\f2c4"; } .ion-logo-whatsapp:before { content: "\f2c5"; } .ion-logo-windows:before { content: "\f32f"; } .ion-logo-wordpress:before { content: "\f330"; } .ion-logo-xbox:before { content: "\f34c"; } .ion-logo-yahoo:before { content: "\f34d"; } .ion-logo-yen:before { content: "\f34e"; } .ion-logo-youtube:before { content: "\f34f"; } .ion-md-add:before { content: "\f273"; } .ion-md-add-circle:before { content: "\f272"; } .ion-md-alarm:before { content: "\f274"; } .ion-md-albums:before { content: "\f275"; } .ion-md-alert:before { content: "\f276"; } .ion-md-american-football:before { content: "\f277"; } .ion-md-analytics:before { content: "\f278"; } .ion-md-aperture:before { content: "\f279"; } .ion-md-apps:before { content: "\f27a"; } .ion-md-appstore:before { content: "\f27b"; } .ion-md-archive:before { content: "\f27c"; } .ion-md-arrow-back:before { content: "\f27d"; } .ion-md-arrow-down:before { content: "\f27e"; } .ion-md-arrow-dropdown:before { content: "\f280"; } .ion-md-arrow-dropdown-circle:before { content: "\f27f"; } .ion-md-arrow-dropleft:before { content: "\f282"; } .ion-md-arrow-dropleft-circle:before { content: "\f281"; } .ion-md-arrow-dropright:before { content: "\f284"; } .ion-md-arrow-dropright-circle:before { content: "\f283"; } .ion-md-arrow-dropup:before { content: "\f286"; } .ion-md-arrow-dropup-circle:before { content: "\f285"; } .ion-md-arrow-forward:before { content: "\f287"; } .ion-md-arrow-round-back:before { content: "\f288"; } .ion-md-arrow-round-down:before { content: "\f289"; } .ion-md-arrow-round-forward:before { content: "\f28a"; } .ion-md-arrow-round-up:before { content: "\f28b"; } .ion-md-arrow-up:before { content: "\f28c"; } .ion-md-at:before { content: "\f28d"; } .ion-md-attach:before { content: "\f28e"; } .ion-md-backspace:before { content: "\f28f"; } .ion-md-barcode:before { content: "\f290"; } .ion-md-baseball:before { content: "\f291"; } .ion-md-basket:before { content: "\f292"; } .ion-md-basketball:before { content: "\f293"; } .ion-md-battery-charging:before { content: "\f294"; } .ion-md-battery-dead:before { content: "\f295"; } .ion-md-battery-full:before { content: "\f296"; } .ion-md-beaker:before { content: "\f297"; } .ion-md-beer:before { content: "\f298"; } .ion-md-bicycle:before { content: "\f299"; } .ion-md-bluetooth:before { content: "\f29a"; } .ion-md-boat:before { content: "\f29b"; } .ion-md-body:before { content: "\f29c"; } .ion-md-bonfire:before { content: "\f29d"; } .ion-md-book:before { content: "\f29e"; } .ion-md-bookmark:before { content: "\f29f"; } .ion-md-bookmarks:before { content: "\f2a0"; } .ion-md-bowtie:before { content: "\f2a1"; } .ion-md-briefcase:before { content: "\f2a2"; } .ion-md-browsers:before { content: "\f2a3"; } .ion-md-brush:before { content: "\f2a4"; } .ion-md-bug:before { content: "\f2a5"; } .ion-md-build:before { content: "\f2a6"; } .ion-md-bulb:before { content: "\f2a7"; } .ion-md-bus:before { content: "\f2a8"; } .ion-md-cafe:before { content: "\f2a9"; } .ion-md-calculator:before { content: "\f2aa"; } .ion-md-calendar:before { content: "\f2ab"; } .ion-md-call:before { content: "\f2ac"; } .ion-md-camera:before { content: "\f2ad"; } .ion-md-car:before { content: "\f2b2"; } .ion-md-card:before { content: "\f2b3"; } .ion-md-cart:before { content: "\f2b4"; } .ion-md-cash:before { content: "\f2b5"; } .ion-md-chatboxes:before { content: "\f2b6"; } .ion-md-chatbubbles:before { content: "\f2b7"; } .ion-md-checkbox:before { content: "\f2b9"; } .ion-md-checkbox-outline:before { content: "\f2b8"; } .ion-md-checkmark:before { content: "\f2bc"; } .ion-md-checkmark-circle:before { content: "\f2bb"; } .ion-md-checkmark-circle-outline:before { content: "\f2ba"; } .ion-md-clipboard:before { content: "\f2bd"; } .ion-md-clock:before { content: "\f2be"; } .ion-md-close:before { content: "\f2c0"; } .ion-md-close-circle:before { content: "\f2bf"; } .ion-md-closed-captioning:before { content: "\f2c1"; } .ion-md-cloud:before { content: "\f2c9"; } .ion-md-cloud-circle:before { content: "\f2c2"; } .ion-md-cloud-done:before { content: "\f2c3"; } .ion-md-cloud-download:before { content: "\f2c6"; } .ion-md-cloud-outline:before { content: "\f2c7"; } .ion-md-cloud-upload:before { content: "\f2c8"; } .ion-md-cloudy:before { content: "\f2cb"; } .ion-md-cloudy-night:before { content: "\f2ca"; } .ion-md-code:before { content: "\f2ce"; } .ion-md-code-download:before { content: "\f2cc"; } .ion-md-code-working:before { content: "\f2cd"; } .ion-md-cog:before { content: "\f2cf"; } .ion-md-color-fill:before { content: "\f2d0"; } .ion-md-color-filter:before { content: "\f2d1"; } .ion-md-color-palette:before { content: "\f2d2"; } .ion-md-color-wand:before { content: "\f2d3"; } .ion-md-compass:before { content: "\f2d4"; } .ion-md-construct:before { content: "\f2d5"; } .ion-md-contact:before { content: "\f2d6"; } .ion-md-contacts:before { content: "\f2d7"; } .ion-md-contract:before { content: "\f2d8"; } .ion-md-contrast:before { content: "\f2d9"; } .ion-md-copy:before { content: "\f2da"; } .ion-md-create:before { content: "\f2db"; } .ion-md-crop:before { content: "\f2dc"; } .ion-md-cube:before { content: "\f2dd"; } .ion-md-cut:before { content: "\f2de"; } .ion-md-desktop:before { content: "\f2df"; } .ion-md-disc:before { content: "\f2e0"; } .ion-md-document:before { content: "\f2e1"; } .ion-md-done-all:before { content: "\f2e2"; } .ion-md-download:before { content: "\f2e3"; } .ion-md-easel:before { content: "\f2e4"; } .ion-md-egg:before { content: "\f2e5"; } .ion-md-exit:before { content: "\f2e6"; } .ion-md-expand:before { content: "\f2e7"; } .ion-md-eye:before { content: "\f2e9"; } .ion-md-eye-off:before { content: "\f2e8"; } .ion-md-fastforward:before { content: "\f2ea"; } .ion-md-female:before { content: "\f2eb"; } .ion-md-filing:before { content: "\f2ec"; } .ion-md-film:before { content: "\f2ed"; } .ion-md-finger-print:before { content: "\f2ee"; } .ion-md-flag:before { content: "\f2ef"; } .ion-md-flame:before { content: "\f2f0"; } .ion-md-flash:before { content: "\f2f1"; } .ion-md-flask:before { content: "\f2f2"; } .ion-md-flower:before { content: "\f2f3"; } .ion-md-folder:before { content: "\f2f5"; } .ion-md-folder-open:before { content: "\f2f4"; } .ion-md-football:before { content: "\f2f6"; } .ion-md-funnel:before { content: "\f2f7"; } .ion-md-game-controller-a:before { content: "\f2f8"; } .ion-md-game-controller-b:before { content: "\f2f9"; } .ion-md-git-branch:before { content: "\f2fa"; } .ion-md-git-commit:before { content: "\f2fb"; } .ion-md-git-compare:before { content: "\f2fc"; } .ion-md-git-merge:before { content: "\f2fd"; } .ion-md-git-network:before { content: "\f2fe"; } .ion-md-git-pull-request:before { content: "\f2ff"; } .ion-md-glasses:before { content: "\f300"; } .ion-md-globe:before { content: "\f301"; } .ion-md-grid:before { content: "\f302"; } .ion-md-hammer:before { content: "\f303"; } .ion-md-hand:before { content: "\f304"; } .ion-md-happy:before { content: "\f305"; } .ion-md-headset:before { content: "\f306"; } .ion-md-heart:before { content: "\f308"; } .ion-md-heart-outline:before { content: "\f307"; } .ion-md-help:before { content: "\f30b"; } .ion-md-help-buoy:before { content: "\f309"; } .ion-md-help-circle:before { content: "\f30a"; } .ion-md-home:before { content: "\f30c"; } .ion-md-ice-cream:before { content: "\f30d"; } .ion-md-image:before { content: "\f30e"; } .ion-md-images:before { content: "\f30f"; } .ion-md-infinite:before { content: "\f310"; } .ion-md-information:before { content: "\f312"; } .ion-md-information-circle:before { content: "\f311"; } .ion-md-ionic:before { content: "\f313"; } .ion-md-ionitron:before { content: "\f314"; } .ion-md-jet:before { content: "\f315"; } .ion-md-key:before { content: "\f316"; } .ion-md-keypad:before { content: "\f317"; } .ion-md-laptop:before { content: "\f318"; } .ion-md-leaf:before { content: "\f319"; } .ion-md-link:before { content: "\f22e"; } .ion-md-list:before { content: "\f31b"; } .ion-md-list-box:before { content: "\f31a"; } .ion-md-locate:before { content: "\f31c"; } .ion-md-lock:before { content: "\f31d"; } .ion-md-log-in:before { content: "\f31e"; } .ion-md-log-out:before { content: "\f31f"; } .ion-md-magnet:before { content: "\f320"; } .ion-md-mail:before { content: "\f322"; } .ion-md-mail-open:before { content: "\f321"; } .ion-md-male:before { content: "\f323"; } .ion-md-man:before { content: "\f324"; } .ion-md-map:before { content: "\f325"; } .ion-md-medal:before { content: "\f326"; } .ion-md-medical:before { content: "\f327"; } .ion-md-medkit:before { content: "\f328"; } .ion-md-megaphone:before { content: "\f329"; } .ion-md-menu:before { content: "\f32a"; } .ion-md-mic:before { content: "\f32c"; } .ion-md-mic-off:before { content: "\f32b"; } .ion-md-microphone:before { content: "\f32d"; } .ion-md-moon:before { content: "\f32e"; } .ion-md-more:before { content: "\f1c9"; } .ion-md-move:before { content: "\f331"; } .ion-md-musical-note:before { content: "\f332"; } .ion-md-musical-notes:before { content: "\f333"; } .ion-md-navigate:before { content: "\f334"; } .ion-md-no-smoking:before { content: "\f335"; } .ion-md-notifications:before { content: "\f338"; } .ion-md-notifications-off:before { content: "\f336"; } .ion-md-notifications-outline:before { content: "\f337"; } .ion-md-nuclear:before { content: "\f339"; } .ion-md-nutrition:before { content: "\f33a"; } .ion-md-open:before { content: "\f33b"; } .ion-md-options:before { content: "\f33c"; } .ion-md-outlet:before { content: "\f33d"; } .ion-md-paper:before { content: "\f33f"; } .ion-md-paper-plane:before { content: "\f33e"; } .ion-md-partly-sunny:before { content: "\f340"; } .ion-md-pause:before { content: "\f341"; } .ion-md-paw:before { content: "\f342"; } .ion-md-people:before { content: "\f343"; } .ion-md-person:before { content: "\f345"; } .ion-md-person-add:before { content: "\f344"; } .ion-md-phone-landscape:before { content: "\f346"; } .ion-md-phone-portrait:before { content: "\f347"; } .ion-md-photos:before { content: "\f348"; } .ion-md-pie:before { content: "\f349"; } .ion-md-pin:before { content: "\f34a"; } .ion-md-pint:before { content: "\f34b"; } .ion-md-pizza:before { content: "\f354"; } .ion-md-plane:before { content: "\f355"; } .ion-md-planet:before { content: "\f356"; } .ion-md-play:before { content: "\f357"; } .ion-md-podium:before { content: "\f358"; } .ion-md-power:before { content: "\f359"; } .ion-md-pricetag:before { content: "\f35a"; } .ion-md-pricetags:before { content: "\f35b"; } .ion-md-print:before { content: "\f35c"; } .ion-md-pulse:before { content: "\f35d"; } .ion-md-qr-scanner:before { content: "\f35e"; } .ion-md-quote:before { content: "\f35f"; } .ion-md-radio:before { content: "\f362"; } .ion-md-radio-button-off:before { content: "\f360"; } .ion-md-radio-button-on:before { content: "\f361"; } .ion-md-rainy:before { content: "\f363"; } .ion-md-recording:before { content: "\f364"; } .ion-md-redo:before { content: "\f365"; } .ion-md-refresh:before { content: "\f366"; } .ion-md-refresh-circle:before { content: "\f228"; } .ion-md-remove:before { content: "\f368"; } .ion-md-remove-circle:before { content: "\f367"; } .ion-md-reorder:before { content: "\f369"; } .ion-md-repeat:before { content: "\f36a"; } .ion-md-resize:before { content: "\f36b"; } .ion-md-restaurant:before { content: "\f36c"; } .ion-md-return-left:before { content: "\f36d"; } .ion-md-return-right:before { content: "\f36e"; } .ion-md-reverse-camera:before { content: "\f36f"; } .ion-md-rewind:before { content: "\f370"; } .ion-md-ribbon:before { content: "\f371"; } .ion-md-rose:before { content: "\f372"; } .ion-md-sad:before { content: "\f373"; } .ion-md-school:before { content: "\f374"; } .ion-md-search:before { content: "\f375"; } .ion-md-send:before { content: "\f376"; } .ion-md-settings:before { content: "\f377"; } .ion-md-share:before { content: "\f379"; } .ion-md-share-alt:before { content: "\f378"; } .ion-md-shirt:before { content: "\f37a"; } .ion-md-shuffle:before { content: "\f37b"; } .ion-md-skip-backward:before { content: "\f37c"; } .ion-md-skip-forward:before { content: "\f37d"; } .ion-md-snow:before { content: "\f37e"; } .ion-md-speedometer:before { content: "\f37f"; } .ion-md-square:before { content: "\f381"; } .ion-md-square-outline:before { content: "\f380"; } .ion-md-star:before { content: "\f384"; } .ion-md-star-half:before { content: "\f382"; } .ion-md-star-outline:before { content: "\f383"; } .ion-md-stats:before { content: "\f385"; } .ion-md-stopwatch:before { content: "\f386"; } .ion-md-subway:before { content: "\f387"; } .ion-md-sunny:before { content: "\f388"; } .ion-md-swap:before { content: "\f389"; } .ion-md-switch:before { content: "\f38a"; } .ion-md-sync:before { content: "\f38b"; } .ion-md-tablet-landscape:before { content: "\f38c"; } .ion-md-tablet-portrait:before { content: "\f38d"; } .ion-md-tennisball:before { content: "\f38e"; } .ion-md-text:before { content: "\f38f"; } .ion-md-thermometer:before { content: "\f390"; } .ion-md-thumbs-down:before { content: "\f391"; } .ion-md-thumbs-up:before { content: "\f392"; } .ion-md-thunderstorm:before { content: "\f393"; } .ion-md-time:before { content: "\f394"; } .ion-md-timer:before { content: "\f395"; } .ion-md-train:before { content: "\f396"; } .ion-md-transgender:before { content: "\f397"; } .ion-md-trash:before { content: "\f398"; } .ion-md-trending-down:before { content: "\f399"; } .ion-md-trending-up:before { content: "\f39a"; } .ion-md-trophy:before { content: "\f39b"; } .ion-md-umbrella:before { content: "\f39c"; } .ion-md-undo:before { content: "\f39d"; } .ion-md-unlock:before { content: "\f39e"; } .ion-md-videocam:before { content: "\f39f"; } .ion-md-volume-down:before { content: "\f3a0"; } .ion-md-volume-mute:before { content: "\f3a1"; } .ion-md-volume-off:before { content: "\f3a2"; } .ion-md-volume-up:before { content: "\f3a3"; } .ion-md-walk:before { content: "\f3a4"; } .ion-md-warning:before { content: "\f3a5"; } .ion-md-watch:before { content: "\f3a6"; } .ion-md-water:before { content: "\f3a7"; } .ion-md-wifi:before { content: "\f3a8"; } .ion-md-wine:before { content: "\f3a9"; } .ion-md-woman:before { content: "\f3aa"; } @font-face { font-family: 'Ionicons'; src: url("/fonts/ionicons.woff2") format("woff2"), url("/fonts/ionicons.woff") format("woff"), url("/fonts/ionicons.ttf") format("ttf"), url("/fonts/ionicons.eot#iefix") format("eot") url("/fonts/ionicons.svg#Ionicons") format("svg"); font-weight: normal; font-style: normal; } @font-face { font-family: 'Eina'; src: url("/fonts/eina/eina-01-bold.woff2") format("woff2"), url("/fonts/eina/eina-01-bold.woff") format("woff"), url("/fonts/eina/eina-01-bold.ttf") format("ttf"), url("/fonts/eina/eina-01-bold.eot?#iefix") format("eot"); font-weight: 700; unicode-range: U+000-5FF; } @font-face { font-family: 'Eina'; src: url("/fonts/eina/eina-01-semibold.woff2") format("woff2"), url("/fonts/eina/eina-01-semibold.woff") format("woff"), url("/fonts/eina/eina-01-semibold.ttf") format("ttf"), url("/fonts/eina/eina-01-semibold.eot?#iefix") format("eot"); font-weight: 600; unicode-range: U+000-5FF; } @font-face { font-family: 'Eina'; src: url("/fonts/eina/eina-01-regular.woff2") format("woff2"), url("/fonts/eina/eina-01-regular.woff") format("woff"), url("/fonts/eina/eina-01-regular.ttf") format("ttf"), url("/fonts/eina/eina-01-regular.eot?#iefix") format("eot"); font-weight: 400; unicode-range: U+000-5FF; } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-Regular.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-Regular.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 400; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-Italic.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-Italic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-Medium.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-Medium.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 500; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-MediumItalic.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-MediumItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-SemiBold.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-SemiBold.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 600; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-SemiBoldItalic.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-SemiBoldItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-Bold.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-Bold.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 700; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-BoldItalic.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-BoldItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 800; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-ExtraBold.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-ExtraBold.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 800; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-ExtraBoldItalic.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-ExtraBoldItalic.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 900; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-Black.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-Black.woff") format("woff"); } @font-face { font-family: 'Inter'; font-style: italic; font-weight: 900; unicode-range: U+000-5FF; src: url("https://code.ionicframework.com/assets/fonts/inter/Inter-BlackItalic.woff2") format("woff2"), url("https://code.ionicframework.com/assets/fonts/inter/Inter-BlackItalic.woff") format("woff"); } /*! normalize.css v3.0.2 | MIT License | git.io/normalize */ html { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; } body { margin: 0; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } audio, canvas, progress, video { display: inline-block; vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } a { background-color: transparent; } a:active, a:hover { outline: 0; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } dfn { font-style: italic; } h1 { font-size: 2em; margin: 0.67em 0; } mark { background: #ff0; color: #000; } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { box-sizing: content-box; height: 0; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; } button { overflow: visible; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } input { line-height: normal; } input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"] { -webkit-appearance: textfield; box-sizing: content-box; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } legend { border: 0; padding: 0; } textarea { overflow: auto; } optgroup { font-weight: bold; } table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print { *, *:before, *:after { background: transparent !important; color: #000 !important; box-shadow: none !important; text-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } select { background: #fff !important; } .navbar { display: none; } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { 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 #ddd !important; } } @font-face { font-family: 'Glyphicons Halflings'; src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot"); src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"), url("../fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); } .glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .glyphicon-asterisk:before { content: "\2a"; } .glyphicon-plus:before { content: "\2b"; } .glyphicon-euro:before, .glyphicon-eur:before { content: "\20ac"; } .glyphicon-minus:before { content: "\2212"; } .glyphicon-cloud:before { content: "\2601"; } .glyphicon-envelope:before { content: "\2709"; } .glyphicon-pencil:before { content: "\270f"; } .glyphicon-glass:before { content: "\e001"; } .glyphicon-music:before { content: "\e002"; } .glyphicon-search:before { content: "\e003"; } .glyphicon-heart:before { content: "\e005"; } .glyphicon-star:before { content: "\e006"; } .glyphicon-star-empty:before { content: "\e007"; } .glyphicon-user:before { content: "\e008"; } .glyphicon-film:before { content: "\e009"; } .glyphicon-th-large:before { content: "\e010"; } .glyphicon-th:before { content: "\e011"; } .glyphicon-th-list:before { content: "\e012"; } .glyphicon-ok:before { content: "\e013"; } .glyphicon-remove:before { content: "\e014"; } .glyphicon-zoom-in:before { content: "\e015"; } .glyphicon-zoom-out:before { content: "\e016"; } .glyphicon-off:before { content: "\e017"; } .glyphicon-signal:before { content: "\e018"; } .glyphicon-cog:before { content: "\e019"; } .glyphicon-trash:before { content: "\e020"; } .glyphicon-home:before { content: "\e021"; } .glyphicon-file:before { content: "\e022"; } .glyphicon-time:before { content: "\e023"; } .glyphicon-road:before { content: "\e024"; } .glyphicon-download-alt:before { content: "\e025"; } .glyphicon-download:before { content: "\e026"; } .glyphicon-upload:before { content: "\e027"; } .glyphicon-inbox:before { content: "\e028"; } .glyphicon-play-circle:before { content: "\e029"; } .glyphicon-repeat:before { content: "\e030"; } .glyphicon-refresh:before { content: "\e031"; } .glyphicon-list-alt:before { content: "\e032"; } .glyphicon-lock:before { content: "\e033"; } .glyphicon-flag:before { content: "\e034"; } .glyphicon-headphones:before { content: "\e035"; } .glyphicon-volume-off:before { content: "\e036"; } .glyphicon-volume-down:before { content: "\e037"; } .glyphicon-volume-up:before { content: "\e038"; } .glyphicon-qrcode:before { content: "\e039"; } .glyphicon-barcode:before { content: "\e040"; } .glyphicon-tag:before { content: "\e041"; } .glyphicon-tags:before { content: "\e042"; } .glyphicon-book:before { content: "\e043"; } .glyphicon-bookmark:before { content: "\e044"; } .glyphicon-print:before { content: "\e045"; } .glyphicon-camera:before { content: "\e046"; } .glyphicon-font:before { content: "\e047"; } .glyphicon-bold:before { content: "\e048"; } .glyphicon-italic:before { content: "\e049"; } .glyphicon-text-height:before { content: "\e050"; } .glyphicon-text-width:before { content: "\e051"; } .glyphicon-align-left:before { content: "\e052"; } .glyphicon-align-center:before { content: "\e053"; } .glyphicon-align-right:before { content: "\e054"; } .glyphicon-align-justify:before { content: "\e055"; } .glyphicon-list:before { content: "\e056"; } .glyphicon-indent-left:before { content: "\e057"; } .glyphicon-indent-right:before { content: "\e058"; } .glyphicon-facetime-video:before { content: "\e059"; } .glyphicon-picture:before { content: "\e060"; } .glyphicon-map-marker:before { content: "\e062"; } .glyphicon-adjust:before { content: "\e063"; } .glyphicon-tint:before { content: "\e064"; } .glyphicon-edit:before { content: "\e065"; } .glyphicon-share:before { content: "\e066"; } .glyphicon-check:before { content: "\e067"; } .glyphicon-move:before { content: "\e068"; } .glyphicon-step-backward:before { content: "\e069"; } .glyphicon-fast-backward:before { content: "\e070"; } .glyphicon-backward:before { content: "\e071"; } .glyphicon-play:before { content: "\e072"; } .glyphicon-pause:before { content: "\e073"; } .glyphicon-stop:before { content: "\e074"; } .glyphicon-forward:before { content: "\e075"; } .glyphicon-fast-forward:before { content: "\e076"; } .glyphicon-step-forward:before { content: "\e077"; } .glyphicon-eject:before { content: "\e078"; } .glyphicon-chevron-left:before { content: "\e079"; } .glyphicon-chevron-right:before { content: "\e080"; } .glyphicon-plus-sign:before { content: "\e081"; } .glyphicon-minus-sign:before { content: "\e082"; } .glyphicon-remove-sign:before { content: "\e083"; } .glyphicon-ok-sign:before { content: "\e084"; } .glyphicon-question-sign:before { content: "\e085"; } .glyphicon-info-sign:before { content: "\e086"; } .glyphicon-screenshot:before { content: "\e087"; } .glyphicon-remove-circle:before { content: "\e088"; } .glyphicon-ok-circle:before { content: "\e089"; } .glyphicon-ban-circle:before { content: "\e090"; } .glyphicon-arrow-left:before { content: "\e091"; } .glyphicon-arrow-right:before { content: "\e092"; } .glyphicon-arrow-up:before { content: "\e093"; } .glyphicon-arrow-down:before { content: "\e094"; } .glyphicon-share-alt:before { content: "\e095"; } .glyphicon-resize-full:before { content: "\e096"; } .glyphicon-resize-small:before { content: "\e097"; } .glyphicon-exclamation-sign:before { content: "\e101"; } .glyphicon-gift:before { content: "\e102"; } .glyphicon-leaf:before { content: "\e103"; } .glyphicon-fire:before { content: "\e104"; } .glyphicon-eye-open:before { content: "\e105"; } .glyphicon-eye-close:before { content: "\e106"; } .glyphicon-warning-sign:before { content: "\e107"; } .glyphicon-plane:before { content: "\e108"; } .glyphicon-calendar:before { content: "\e109"; } .glyphicon-random:before { content: "\e110"; } .glyphicon-comment:before { content: "\e111"; } .glyphicon-magnet:before { content: "\e112"; } .glyphicon-chevron-up:before { content: "\e113"; } .glyphicon-chevron-down:before { content: "\e114"; } .glyphicon-retweet:before { content: "\e115"; } .glyphicon-shopping-cart:before { content: "\e116"; } .glyphicon-folder-close:before { content: "\e117"; } .glyphicon-folder-open:before { content: "\e118"; } .glyphicon-resize-vertical:before { content: "\e119"; } .glyphicon-resize-horizontal:before { content: "\e120"; } .glyphicon-hdd:before { content: "\e121"; } .glyphicon-bullhorn:before { content: "\e122"; } .glyphicon-bell:before { content: "\e123"; } .glyphicon-certificate:before { content: "\e124"; } .glyphicon-thumbs-up:before { content: "\e125"; } .glyphicon-thumbs-down:before { content: "\e126"; } .glyphicon-hand-right:before { content: "\e127"; } .glyphicon-hand-left:before { content: "\e128"; } .glyphicon-hand-up:before { content: "\e129"; } .glyphicon-hand-down:before { content: "\e130"; } .glyphicon-circle-arrow-right:before { content: "\e131"; } .glyphicon-circle-arrow-left:before { content: "\e132"; } .glyphicon-circle-arrow-up:before { content: "\e133"; } .glyphicon-circle-arrow-down:before { content: "\e134"; } .glyphicon-globe:before { content: "\e135"; } .glyphicon-wrench:before { content: "\e136"; } .glyphicon-tasks:before { content: "\e137"; } .glyphicon-filter:before { content: "\e138"; } .glyphicon-briefcase:before { content: "\e139"; } .glyphicon-fullscreen:before { content: "\e140"; } .glyphicon-dashboard:before { content: "\e141"; } .glyphicon-paperclip:before { content: "\e142"; } .glyphicon-heart-empty:before { content: "\e143"; } .glyphicon-link:before { content: "\e144"; } .glyphicon-phone:before { content: "\e145"; } .glyphicon-pushpin:before { content: "\e146"; } .glyphicon-usd:before { content: "\e148"; } .glyphicon-gbp:before { content: "\e149"; } .glyphicon-sort:before { content: "\e150"; } .glyphicon-sort-by-alphabet:before { content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { content: "\e152"; } .glyphicon-sort-by-order:before { content: "\e153"; } .glyphicon-sort-by-order-alt:before { content: "\e154"; } .glyphicon-sort-by-attributes:before { content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { content: "\e156"; } .glyphicon-unchecked:before { content: "\e157"; } .glyphicon-expand:before { content: "\e158"; } .glyphicon-collapse-down:before { content: "\e159"; } .glyphicon-collapse-up:before { content: "\e160"; } .glyphicon-log-in:before { content: "\e161"; } .glyphicon-flash:before { content: "\e162"; } .glyphicon-log-out:before { content: "\e163"; } .glyphicon-new-window:before { content: "\e164"; } .glyphicon-record:before { content: "\e165"; } .glyphicon-save:before { content: "\e166"; } .glyphicon-open:before { content: "\e167"; } .glyphicon-saved:before { content: "\e168"; } .glyphicon-import:before { content: "\e169"; } .glyphicon-export:before { content: "\e170"; } .glyphicon-send:before { content: "\e171"; } .glyphicon-floppy-disk:before { content: "\e172"; } .glyphicon-floppy-saved:before { content: "\e173"; } .glyphicon-floppy-remove:before { content: "\e174"; } .glyphicon-floppy-save:before { content: "\e175"; } .glyphicon-floppy-open:before { content: "\e176"; } .glyphicon-credit-card:before { content: "\e177"; } .glyphicon-transfer:before { content: "\e178"; } .glyphicon-cutlery:before { content: "\e179"; } .glyphicon-header:before { content: "\e180"; } .glyphicon-compressed:before { content: "\e181"; } .glyphicon-earphone:before { content: "\e182"; } .glyphicon-phone-alt:before { content: "\e183"; } .glyphicon-tower:before { content: "\e184"; } .glyphicon-stats:before { content: "\e185"; } .glyphicon-sd-video:before { content: "\e186"; } .glyphicon-hd-video:before { content: "\e187"; } .glyphicon-subtitles:before { content: "\e188"; } .glyphicon-sound-stereo:before { content: "\e189"; } .glyphicon-sound-dolby:before { content: "\e190"; } .glyphicon-sound-5-1:before { content: "\e191"; } .glyphicon-sound-6-1:before { content: "\e192"; } .glyphicon-sound-7-1:before { content: "\e193"; } .glyphicon-copyright-mark:before { content: "\e194"; } .glyphicon-registration-mark:before { content: "\e195"; } .glyphicon-cloud-download:before { content: "\e197"; } .glyphicon-cloud-upload:before { content: "\e198"; } .glyphicon-tree-conifer:before { content: "\e199"; } .glyphicon-tree-deciduous:before { content: "\e200"; } .glyphicon-cd:before { content: "\e201"; } .glyphicon-save-file:before { content: "\e202"; } .glyphicon-open-file:before { content: "\e203"; } .glyphicon-level-up:before { content: "\e204"; } .glyphicon-copy:before { content: "\e205"; } .glyphicon-paste:before { content: "\e206"; } .glyphicon-alert:before { content: "\e209"; } .glyphicon-equalizer:before { content: "\e210"; } .glyphicon-king:before { content: "\e211"; } .glyphicon-queen:before { content: "\e212"; } .glyphicon-pawn:before { content: "\e213"; } .glyphicon-bishop:before { content: "\e214"; } .glyphicon-knight:before { content: "\e215"; } .glyphicon-baby-formula:before { content: "\e216"; } .glyphicon-tent:before { content: "\26fa"; } .glyphicon-blackboard:before { content: "\e218"; } .glyphicon-bed:before { content: "\e219"; } .glyphicon-apple:before { content: "\f8ff"; } .glyphicon-erase:before { content: "\e221"; } .glyphicon-hourglass:before { content: "\231b"; } .glyphicon-lamp:before { content: "\e223"; } .glyphicon-duplicate:before { content: "\e224"; } .glyphicon-piggy-bank:before { content: "\e225"; } .glyphicon-scissors:before { content: "\e226"; } .glyphicon-bitcoin:before { content: "\e227"; } .glyphicon-btc:before { content: "\e227"; } .glyphicon-xbt:before { content: "\e227"; } .glyphicon-yen:before { content: "\00a5"; } .glyphicon-jpy:before { content: "\00a5"; } .glyphicon-ruble:before { content: "\20bd"; } .glyphicon-rub:before { content: "\20bd"; } .glyphicon-scale:before { content: "\e230"; } .glyphicon-ice-lolly:before { content: "\e231"; } .glyphicon-ice-lolly-tasted:before { content: "\e232"; } .glyphicon-education:before { content: "\e233"; } .glyphicon-option-horizontal:before { content: "\e234"; } .glyphicon-option-vertical:before { content: "\e235"; } .glyphicon-menu-hamburger:before { content: "\e236"; } .glyphicon-modal-window:before { content: "\e237"; } .glyphicon-oil:before { content: "\e238"; } .glyphicon-grain:before { content: "\e239"; } .glyphicon-sunglasses:before { content: "\e240"; } .glyphicon-text-size:before { content: "\e241"; } .glyphicon-text-color:before { content: "\e242"; } .glyphicon-text-background:before { content: "\e243"; } .glyphicon-object-align-top:before { content: "\e244"; } .glyphicon-object-align-bottom:before { content: "\e245"; } .glyphicon-object-align-horizontal:before { content: "\e246"; } .glyphicon-object-align-left:before { content: "\e247"; } .glyphicon-object-align-vertical:before { content: "\e248"; } .glyphicon-object-align-right:before { content: "\e249"; } .glyphicon-triangle-right:before { content: "\e250"; } .glyphicon-triangle-left:before { content: "\e251"; } .glyphicon-triangle-bottom:before { content: "\e252"; } .glyphicon-triangle-top:before { content: "\e253"; } .glyphicon-console:before { content: "\e254"; } .glyphicon-superscript:before { content: "\e255"; } .glyphicon-subscript:before { content: "\e256"; } .glyphicon-menu-left:before { content: "\e257"; } .glyphicon-menu-right:before { content: "\e258"; } .glyphicon-menu-down:before { content: "\e259"; } .glyphicon-menu-up:before { content: "\e260"; } * { box-sizing: border-box; } *:before, *:after { box-sizing: border-box; } html { font-size: 10px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.428571429; color: #333333; background-color: #fff; } input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } a { color: #337ab7; text-decoration: none; } a:hover, a:focus { color: #23527c; text-decoration: underline; } a:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } figure { margin: 0; } img { vertical-align: middle; } .img-responsive { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail { padding: 4px; line-height: 1.428571429; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; transition: all 0.2s ease-in-out; display: inline-block; max-width: 100%; height: auto; } .img-circle { border-radius: 50%; } hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eeeeee; } .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; } [role="button"] { cursor: pointer; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; font-weight: 700; line-height: 1.1; color: inherit; } h1 small, h1 .small, h2 small, h2 .small, h3 small, h3 .small, h4 small, h4 .small, h5 small, h5 .small, h6 small, h6 .small, .h1 small, .h1 .small, .h2 small, .h2 .small, .h3 small, .h3 .small, .h4 small, .h4 .small, .h5 small, .h5 .small, .h6 small, .h6 .small { font-weight: normal; line-height: 1; color: #777777; } h1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; } h1 small, h1 .small, .h1 small, .h1 .small, h2 small, h2 .small, .h2 small, .h2 .small, h3 small, h3 .small, .h3 small, .h3 .small { font-size: 65%; } h4, .h4, h5, .h5, h6, .h6 { margin-top: 10px; margin-bottom: 10px; } h4 small, h4 .small, .h4 small, .h4 .small, h5 small, h5 .small, .h5 small, .h5 .small, h6 small, h6 .small, .h6 small, .h6 .small { font-size: 75%; } h1, .h1 { font-size: 36px; } h2, .h2 { font-size: 30px; } h3, .h3 { font-size: 24px; } h4, .h4 { font-size: 18px; } h5, .h5 { font-size: 14px; } h6, .h6 { font-size: 12px; } p { margin: 0 0 10px; } .lead { margin-bottom: 20px; font-size: 16px; font-weight: 300; line-height: 1.4; } @media (min-width: 768px) { .lead { font-size: 21px; } } small, .small { font-size: 85%; } mark, .mark { background-color: #fcf8e3; padding: .2em; } .text-left { text-align: left; } .text-right { text-align: right; } .text-center { text-align: center; } .text-justify { text-align: justify; } .text-nowrap { white-space: nowrap; } .text-lowercase { text-transform: lowercase; } .text-uppercase, .initialism { text-transform: uppercase; } .text-capitalize { text-transform: capitalize; } .text-muted { color: #777777; } .text-primary { color: #337ab7; } a.text-primary:hover { color: #286090; } .text-success { color: #3c763d; } a.text-success:hover { color: #2b542c; } .text-info { color: #31708f; } a.text-info:hover { color: #245269; } .text-warning { color: #8a6d3b; } a.text-warning:hover { color: #66512c; } .text-danger { color: #a94442; } a.text-danger:hover { color: #843534; } .bg-primary { color: #fff; } .bg-primary { background-color: #337ab7; } a.bg-primary:hover { background-color: #286090; } .bg-success { background-color: #dff0d8; } a.bg-success:hover { background-color: #c1e2b3; } .bg-info { background-color: #d9edf7; } a.bg-info:hover { background-color: #afd9ee; } .bg-warning { background-color: #fcf8e3; } a.bg-warning:hover { background-color: #f7ecb5; } .bg-danger { background-color: #f2dede; } a.bg-danger:hover { background-color: #e4b9b9; } .page-header { padding-bottom: 9px; margin: 40px 0 20px; border-bottom: 1px solid #eeeeee; } ul, ol { margin-top: 0; margin-bottom: 10px; } ul ul, ul ol, ol ul, ol ol { margin-bottom: 0; } .list-unstyled { padding-left: 0; list-style: none; } .list-inline { padding-left: 0; list-style: none; margin-left: -5px; } .list-inline > li { display: inline-block; padding-left: 5px; padding-right: 5px; } dl { margin-top: 0; margin-bottom: 20px; } dt, dd { line-height: 1.428571429; } dt { font-weight: bold; } dd { margin-left: 0; } .dl-horizontal dd:before, .dl-horizontal dd:after { content: " "; display: table; } .dl-horizontal dd:after { clear: both; } @media (min-width: 768px) { .dl-horizontal dt { float: left; width: 160px; clear: left; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .dl-horizontal dd { margin-left: 180px; } } abbr[title], abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #777777; } .initialism { font-size: 90%; } blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; border-left: 5px solid #eeeeee; } blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child { margin-bottom: 0; } blockquote footer, blockquote small, blockquote .small { display: block; font-size: 80%; line-height: 1.428571429; color: #777777; } blockquote footer:before, blockquote small:before, blockquote .small:before { content: '\2014 \00A0'; } .blockquote-reverse, blockquote.pull-right { padding-right: 15px; padding-left: 0; border-right: 5px solid #eeeeee; border-left: 0; text-align: right; } .blockquote-reverse footer:before, .blockquote-reverse small:before, .blockquote-reverse .small:before, blockquote.pull-right footer:before, blockquote.pull-right small:before, blockquote.pull-right .small:before { content: ''; } .blockquote-reverse footer:after, .blockquote-reverse small:after, .blockquote-reverse .small:after, blockquote.pull-right footer:after, blockquote.pull-right small:after, blockquote.pull-right .small:after { content: '\00A0 \2014'; } address { margin-bottom: 20px; font-style: normal; line-height: 1.428571429; } code, kbd, pre, samp { font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; } code { padding: 2px 4px; font-size: 90%; color: #4D8CF4; background-color: whitesmoke; border-radius: 4px; } kbd { padding: 2px 4px; font-size: 90%; color: #fff; background-color: #333; border-radius: 3px; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); } kbd kbd { padding: 0; font-size: 100%; font-weight: bold; box-shadow: none; } pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 1.428571429; word-break: break-all; word-wrap: break-word; color: #333333; background-color: #f5f5f5; border: 1px solid #ccc; border-radius: 4px; } pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap; background-color: transparent; border-radius: 0; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px; } .container:before, .container:after { content: " "; display: table; } .container:after { clear: both; } @media (min-width: 768px) { .container { width: 750px; } } @media (min-width: 992px) { .container { width: 970px; } } @media (min-width: 1220px) { .container { width: 1170px; } } .container-fluid { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px; } .container-fluid:before, .container-fluid:after { content: " "; display: table; } .container-fluid:after { clear: both; } .row { margin-left: -15px; margin-right: -15px; } .row:before, .row:after { content: " "; display: table; } .row:after { clear: both; } .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { position: relative; min-height: 1px; padding-left: 15px; padding-right: 15px; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { float: left; } .col-xs-1 { width: 8.3333333333%; } .col-xs-2 { width: 16.6666666667%; } .col-xs-3 { width: 25%; } .col-xs-4 { width: 33.3333333333%; } .col-xs-5 { width: 41.6666666667%; } .col-xs-6 { width: 50%; } .col-xs-7 { width: 58.3333333333%; } .col-xs-8 { width: 66.6666666667%; } .col-xs-9 { width: 75%; } .col-xs-10 { width: 83.3333333333%; } .col-xs-11 { width: 91.6666666667%; } .col-xs-12 { width: 100%; } .col-xs-pull-0 { right: auto; } .col-xs-pull-1 { right: 8.3333333333%; } .col-xs-pull-2 { right: 16.6666666667%; } .col-xs-pull-3 { right: 25%; } .col-xs-pull-4 { right: 33.3333333333%; } .col-xs-pull-5 { right: 41.6666666667%; } .col-xs-pull-6 { right: 50%; } .col-xs-pull-7 { right: 58.3333333333%; } .col-xs-pull-8 { right: 66.6666666667%; } .col-xs-pull-9 { right: 75%; } .col-xs-pull-10 { right: 83.3333333333%; } .col-xs-pull-11 { right: 91.6666666667%; } .col-xs-pull-12 { right: 100%; } .col-xs-push-0 { left: auto; } .col-xs-push-1 { left: 8.3333333333%; } .col-xs-push-2 { left: 16.6666666667%; } .col-xs-push-3 { left: 25%; } .col-xs-push-4 { left: 33.3333333333%; } .col-xs-push-5 { left: 41.6666666667%; } .col-xs-push-6 { left: 50%; } .col-xs-push-7 { left: 58.3333333333%; } .col-xs-push-8 { left: 66.6666666667%; } .col-xs-push-9 { left: 75%; } .col-xs-push-10 { left: 83.3333333333%; } .col-xs-push-11 { left: 91.6666666667%; } .col-xs-push-12 { left: 100%; } .col-xs-offset-0 { margin-left: 0%; } .col-xs-offset-1 { margin-left: 8.3333333333%; } .col-xs-offset-2 { margin-left: 16.6666666667%; } .col-xs-offset-3 { margin-left: 25%; } .col-xs-offset-4 { margin-left: 33.3333333333%; } .col-xs-offset-5 { margin-left: 41.6666666667%; } .col-xs-offset-6 { margin-left: 50%; } .col-xs-offset-7 { margin-left: 58.3333333333%; } .col-xs-offset-8 { margin-left: 66.6666666667%; } .col-xs-offset-9 { margin-left: 75%; } .col-xs-offset-10 { margin-left: 83.3333333333%; } .col-xs-offset-11 { margin-left: 91.6666666667%; } .col-xs-offset-12 { margin-left: 100%; } @media (min-width: 768px) { .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 { float: left; } .col-sm-1 { width: 8.3333333333%; } .col-sm-2 { width: 16.6666666667%; } .col-sm-3 { width: 25%; } .col-sm-4 { width: 33.3333333333%; } .col-sm-5 { width: 41.6666666667%; } .col-sm-6 { width: 50%; } .col-sm-7 { width: 58.3333333333%; } .col-sm-8 { width: 66.6666666667%; } .col-sm-9 { width: 75%; } .col-sm-10 { width: 83.3333333333%; } .col-sm-11 { width: 91.6666666667%; } .col-sm-12 { width: 100%; } .col-sm-pull-0 { right: auto; } .col-sm-pull-1 { right: 8.3333333333%; } .col-sm-pull-2 { right: 16.6666666667%; } .col-sm-pull-3 { right: 25%; } .col-sm-pull-4 { right: 33.3333333333%; } .col-sm-pull-5 { right: 41.6666666667%; } .col-sm-pull-6 { right: 50%; } .col-sm-pull-7 { right: 58.3333333333%; } .col-sm-pull-8 { right: 66.6666666667%; } .col-sm-pull-9 { right: 75%; } .col-sm-pull-10 { right: 83.3333333333%; } .col-sm-pull-11 { right: 91.6666666667%; } .col-sm-pull-12 { right: 100%; } .col-sm-push-0 { left: auto; } .col-sm-push-1 { left: 8.3333333333%; } .col-sm-push-2 { left: 16.6666666667%; } .col-sm-push-3 { left: 25%; } .col-sm-push-4 { left: 33.3333333333%; } .col-sm-push-5 { left: 41.6666666667%; } .col-sm-push-6 { left: 50%; } .col-sm-push-7 { left: 58.3333333333%; } .col-sm-push-8 { left: 66.6666666667%; } .col-sm-push-9 { left: 75%; } .col-sm-push-10 { left: 83.3333333333%; } .col-sm-push-11 { left: 91.6666666667%; } .col-sm-push-12 { left: 100%; } .col-sm-offset-0 { margin-left: 0%; } .col-sm-offset-1 { margin-left: 8.3333333333%; } .col-sm-offset-2 { margin-left: 16.6666666667%; } .col-sm-offset-3 { margin-left: 25%; } .col-sm-offset-4 { margin-left: 33.3333333333%; } .col-sm-offset-5 { margin-left: 41.6666666667%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-7 { margin-left: 58.3333333333%; } .col-sm-offset-8 { margin-left: 66.6666666667%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-10 { margin-left: 83.3333333333%; } .col-sm-offset-11 { margin-left: 91.6666666667%; } .col-sm-offset-12 { margin-left: 100%; } } @media (min-width: 992px) { .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 { float: left; } .col-md-1 { width: 8.3333333333%; } .col-md-2 { width: 16.6666666667%; } .col-md-3 { width: 25%; } .col-md-4 { width: 33.3333333333%; } .col-md-5 { width: 41.6666666667%; } .col-md-6 { width: 50%; } .col-md-7 { width: 58.3333333333%; } .col-md-8 { width: 66.6666666667%; } .col-md-9 { width: 75%; } .col-md-10 { width: 83.3333333333%; } .col-md-11 { width: 91.6666666667%; } .col-md-12 { width: 100%; } .col-md-pull-0 { right: auto; } .col-md-pull-1 { right: 8.3333333333%; } .col-md-pull-2 { right: 16.6666666667%; } .col-md-pull-3 { right: 25%; } .col-md-pull-4 { right: 33.3333333333%; } .col-md-pull-5 { right: 41.6666666667%; } .col-md-pull-6 { right: 50%; } .col-md-pull-7 { right: 58.3333333333%; } .col-md-pull-8 { right: 66.6666666667%; } .col-md-pull-9 { right: 75%; } .col-md-pull-10 { right: 83.3333333333%; } .col-md-pull-11 { right: 91.6666666667%; } .col-md-pull-12 { right: 100%; } .col-md-push-0 { left: auto; } .col-md-push-1 { left: 8.3333333333%; } .col-md-push-2 { left: 16.6666666667%; } .col-md-push-3 { left: 25%; } .col-md-push-4 { left: 33.3333333333%; } .col-md-push-5 { left: 41.6666666667%; } .col-md-push-6 { left: 50%; } .col-md-push-7 { left: 58.3333333333%; } .col-md-push-8 { left: 66.6666666667%; } .col-md-push-9 { left: 75%; } .col-md-push-10 { left: 83.3333333333%; } .col-md-push-11 { left: 91.6666666667%; } .col-md-push-12 { left: 100%; } .col-md-offset-0 { margin-left: 0%; } .col-md-offset-1 { margin-left: 8.3333333333%; } .col-md-offset-2 { margin-left: 16.6666666667%; } .col-md-offset-3 { margin-left: 25%; } .col-md-offset-4 { margin-left: 33.3333333333%; } .col-md-offset-5 { margin-left: 41.6666666667%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-7 { margin-left: 58.3333333333%; } .col-md-offset-8 { margin-left: 66.6666666667%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-10 { margin-left: 83.3333333333%; } .col-md-offset-11 { margin-left: 91.6666666667%; } .col-md-offset-12 { margin-left: 100%; } } @media (min-width: 1220px) { .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 { float: left; } .col-lg-1 { width: 8.3333333333%; } .col-lg-2 { width: 16.6666666667%; } .col-lg-3 { width: 25%; } .col-lg-4 { width: 33.3333333333%; } .col-lg-5 { width: 41.6666666667%; } .col-lg-6 { width: 50%; } .col-lg-7 { width: 58.3333333333%; } .col-lg-8 { width: 66.6666666667%; } .col-lg-9 { width: 75%; } .col-lg-10 { width: 83.3333333333%; } .col-lg-11 { width: 91.6666666667%; } .col-lg-12 { width: 100%; } .col-lg-pull-0 { right: auto; } .col-lg-pull-1 { right: 8.3333333333%; } .col-lg-pull-2 { right: 16.6666666667%; } .col-lg-pull-3 { right: 25%; } .col-lg-pull-4 { right: 33.3333333333%; } .col-lg-pull-5 { right: 41.6666666667%; } .col-lg-pull-6 { right: 50%; } .col-lg-pull-7 { right: 58.3333333333%; } .col-lg-pull-8 { right: 66.6666666667%; } .col-lg-pull-9 { right: 75%; } .col-lg-pull-10 { right: 83.3333333333%; } .col-lg-pull-11 { right: 91.6666666667%; } .col-lg-pull-12 { right: 100%; } .col-lg-push-0 { left: auto; } .col-lg-push-1 { left: 8.3333333333%; } .col-lg-push-2 { left: 16.6666666667%; } .col-lg-push-3 { left: 25%; } .col-lg-push-4 { left: 33.3333333333%; } .col-lg-push-5 { left: 41.6666666667%; } .col-lg-push-6 { left: 50%; } .col-lg-push-7 { left: 58.3333333333%; } .col-lg-push-8 { left: 66.6666666667%; } .col-lg-push-9 { left: 75%; } .col-lg-push-10 { left: 83.3333333333%; } .col-lg-push-11 { left: 91.6666666667%; } .col-lg-push-12 { left: 100%; } .col-lg-offset-0 { margin-left: 0%; } .col-lg-offset-1 { margin-left: 8.3333333333%; } .col-lg-offset-2 { margin-left: 16.6666666667%; } .col-lg-offset-3 { margin-left: 25%; } .col-lg-offset-4 { margin-left: 33.3333333333%; } .col-lg-offset-5 { margin-left: 41.6666666667%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-7 { margin-left: 58.3333333333%; } .col-lg-offset-8 { margin-left: 66.6666666667%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-10 { margin-left: 83.3333333333%; } .col-lg-offset-11 { margin-left: 91.6666666667%; } .col-lg-offset-12 { margin-left: 100%; } } table { background-color: transparent; } caption { padding-top: 8px; padding-bottom: 8px; color: #777777; text-align: left; } th { text-align: left; } table, .table { width: 100%; max-width: 100%; margin-bottom: 20px; } table > thead > tr > th, table > thead > tr > td, table > tbody > tr > th, table > tbody > tr > td, table > tfoot > tr > th, table > tfoot > tr > td, .table > thead > tr > th, .table > thead > tr > td, .table > tbody > tr > th, .table > tbody > tr > td, .table > tfoot > tr > th, .table > tfoot > tr > td { padding: 8px; line-height: 1.428571429; vertical-align: top; border-top: 1px solid #ddd; } table > thead > tr > th, .table > thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #ddd; } table > caption + thead > tr:first-child > th, table > caption + thead > tr:first-child > td, table > colgroup + thead > tr:first-child > th, table > colgroup + thead > tr:first-child > td, table > thead:first-child > tr:first-child > th, table > thead:first-child > tr:first-child > td, .table > caption + thead > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > th, .table > thead:first-child > tr:first-child > td { border-top: 0; } table > tbody + tbody, .table > tbody + tbody { border-top: 2px solid #ddd; } table .table, .table .table { background-color: #fff; } .table-condensed > thead > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > th, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > th, .table-condensed > tfoot > tr > td { padding: 5px; } .table-bordered { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > th, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > th, .table-bordered > tfoot > tr > td { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-of-type(odd) { background-color: #f9f9f9; } .table-hover > tbody > tr:hover { background-color: #f5f5f5; } table col[class*="col-"] { position: static; float: none; display: table-column; } table td[class*="col-"], table th[class*="col-"] { position: static; float: none; display: table-cell; } .table > thead > tr > td.active, .table > thead > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr > td.active, .table > tbody > tr > th.active, .table > tbody > tr.active > td, .table > tbody > tr.active > th, .table > tfoot > tr > td.active, .table > tfoot > tr > th.active, .table > tfoot > tr.active > td, .table > tfoot > tr.active > th { background-color: #f5f5f5; } .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { background-color: #e8e8e8; } .table > thead > tr > td.success, .table > thead > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr > td.success, .table > tbody > tr > th.success, .table > tbody > tr.success > td, .table > tbody > tr.success > th, .table > tfoot > tr > td.success, .table > tfoot > tr > th.success, .table > tfoot > tr.success > td, .table > tfoot > tr.success > th { background-color: #dff0d8; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { background-color: #d0e9c6; } .table > thead > tr > td.info, .table > thead > tr > th.info, .table > thead > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr > td.info, .table > tbody > tr > th.info, .table > tbody > tr.info > td, .table > tbody > tr.info > th, .table > tfoot > tr > td.info, .table > tfoot > tr > th.info, .table > tfoot > tr.info > td, .table > tfoot > tr.info > th { background-color: #d9edf7; } .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { background-color: #c4e3f3; } .table > thead > tr > td.warning, .table > thead > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr > td.warning, .table > tbody > tr > th.warning, .table > tbody > tr.warning > td, .table > tbody > tr.warning > th, .table > tfoot > tr > td.warning, .table > tfoot > tr > th.warning, .table > tfoot > tr.warning > td, .table > tfoot > tr.warning > th { background-color: #fcf8e3; } .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { background-color: #faf2cc; } .table > thead > tr > td.danger, .table > thead > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr > td.danger, .table > tbody > tr > th.danger, .table > tbody > tr.danger > td, .table > tbody > tr.danger > th, .table > tfoot > tr > td.danger, .table > tfoot > tr > th.danger, .table > tfoot > tr.danger > td, .table > tfoot > tr.danger > th { background-color: #f2dede; } .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { background-color: #ebcccc; } .table-responsive { overflow-x: auto; min-height: 0.01%; } @media screen and (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-y: hidden; -ms-overflow-style: -ms-autohiding-scrollbar; border: 1px solid #ddd; } .table-responsive > .table { margin-bottom: 0; } .table-responsive > .table > thead > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } .table-responsive > .table-bordered { border: 0; } .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0; } } fieldset { padding: 0; margin: 0; border: 0; min-width: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: inherit; color: #333333; border: 0; border-bottom: 1px solid #e5e5e5; } label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: 600; } input[type="search"] { box-sizing: border-box; } input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; line-height: normal; } input[type="file"] { display: block; } input[type="range"] { display: block; width: 100%; } select[multiple], select[size] { height: auto; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } output { display: block; padding-top: 7px; font-size: 14px; line-height: 1.428571429; color: #555555; } .form-control { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.428571429; color: #555555; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } .form-control:focus { border-color: #66afe9; outline: 0; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } .form-control::-moz-placeholder { color: #999; opacity: 1; } .form-control:-ms-input-placeholder { color: #999; } .form-control::-webkit-input-placeholder { color: #999; } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { background-color: #eeeeee; opacity: 1; } .form-control[disabled], fieldset[disabled] .form-control { cursor: not-allowed; } textarea.form-control { height: auto; } input[type="search"] { -webkit-appearance: none; } @media screen and (-webkit-min-device-pixel-ratio: 0) { input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { line-height: 34px; } input[type="date"].input-sm, .input-group-sm > input.form-control[type="date"], .input-group-sm > input.input-group-addon[type="date"], .input-group-sm > .input-group-btn > input.btn[type="date"], .input-group-sm input[type="date"], input[type="time"].input-sm, .input-group-sm > input.form-control[type="time"], .input-group-sm > input.input-group-addon[type="time"], .input-group-sm > .input-group-btn > input.btn[type="time"], .input-group-sm input[type="time"], input[type="datetime-local"].input-sm, .input-group-sm > input.form-control[type="datetime-local"], .input-group-sm > input.input-group-addon[type="datetime-local"], .input-group-sm > .input-group-btn > input.btn[type="datetime-local"], .input-group-sm input[type="datetime-local"], input[type="month"].input-sm, .input-group-sm > input.form-control[type="month"], .input-group-sm > input.input-group-addon[type="month"], .input-group-sm > .input-group-btn > input.btn[type="month"], .input-group-sm input[type="month"] { line-height: 30px; } input[type="date"].input-lg, .input-group-lg > input.form-control[type="date"], .input-group-lg > input.input-group-addon[type="date"], .input-group-lg > .input-group-btn > input.btn[type="date"], .input-group-lg input[type="date"], input[type="time"].input-lg, .input-group-lg > input.form-control[type="time"], .input-group-lg > input.input-group-addon[type="time"], .input-group-lg > .input-group-btn > input.btn[type="time"], .input-group-lg input[type="time"], input[type="datetime-local"].input-lg, .input-group-lg > input.form-control[type="datetime-local"], .input-group-lg > input.input-group-addon[type="datetime-local"], .input-group-lg > .input-group-btn > input.btn[type="datetime-local"], .input-group-lg input[type="datetime-local"], input[type="month"].input-lg, .input-group-lg > input.form-control[type="month"], .input-group-lg > input.input-group-addon[type="month"], .input-group-lg > .input-group-btn > input.btn[type="month"], .input-group-lg input[type="month"] { line-height: 46px; } } .form-group { margin-bottom: 15px; } .radio, .checkbox { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; } .radio label, .checkbox label { min-height: 20px; padding-left: 20px; margin-bottom: 0; font-weight: normal; cursor: pointer; } .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { position: absolute; margin-left: -20px; margin-top: 4px \9; } .radio + .radio, .checkbox + .checkbox { margin-top: -5px; } .radio-inline, .checkbox-inline { position: relative; display: inline-block; padding-left: 20px; margin-bottom: 0; vertical-align: middle; font-weight: normal; cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: 10px; } input[type="radio"][disabled], input[type="radio"].disabled, fieldset[disabled] input[type="radio"], input[type="checkbox"][disabled], input[type="checkbox"].disabled, fieldset[disabled] input[type="checkbox"] { cursor: not-allowed; } .radio-inline.disabled, fieldset[disabled] .radio-inline, .checkbox-inline.disabled, fieldset[disabled] .checkbox-inline { cursor: not-allowed; } .radio.disabled label, fieldset[disabled] .radio label, .checkbox.disabled label, fieldset[disabled] .checkbox label { cursor: not-allowed; } .form-control-static { padding-top: 7px; padding-bottom: 7px; margin-bottom: 0; min-height: 34px; } .form-control-static.input-lg, .input-group-lg > .form-control-static.form-control, .input-group-lg > .form-control-static.input-group-addon, .input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control, .input-group-sm > .form-control-static.input-group-addon, .input-group-sm > .input-group-btn > .form-control-static.btn { padding-left: 0; padding-right: 0; } .input-sm, .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-sm, .input-group-sm > select.form-control, .input-group-sm > select.input-group-addon, .input-group-sm > .input-group-btn > select.btn { height: 30px; line-height: 30px; } textarea.input-sm, .input-group-sm > textarea.form-control, .input-group-sm > textarea.input-group-addon, .input-group-sm > .input-group-btn > textarea.btn, select[multiple].input-sm, .input-group-sm > select.form-control[multiple], .input-group-sm > select.input-group-addon[multiple], .input-group-sm > .input-group-btn > select.btn[multiple] { height: auto; } .form-group-sm .form-control { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .form-group-sm select.form-control { height: 30px; line-height: 30px; } .form-group-sm textarea.form-control, .form-group-sm select[multiple].form-control { height: auto; } .form-group-sm .form-control-static { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; min-height: 32px; } .input-lg, .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-lg, .input-group-lg > select.form-control, .input-group-lg > select.input-group-addon, .input-group-lg > .input-group-btn > select.btn { height: 46px; line-height: 46px; } textarea.input-lg, .input-group-lg > textarea.form-control, .input-group-lg > textarea.input-group-addon, .input-group-lg > .input-group-btn > textarea.btn, select[multiple].input-lg, .input-group-lg > select.form-control[multiple], .input-group-lg > select.input-group-addon[multiple], .input-group-lg > .input-group-btn > select.btn[multiple] { height: auto; } .form-group-lg .form-control { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .form-group-lg select.form-control { height: 46px; line-height: 46px; } .form-group-lg textarea.form-control, .form-group-lg select[multiple].form-control { height: auto; } .form-group-lg .form-control-static { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; min-height: 38px; } .has-feedback { position: relative; } .has-feedback .form-control { padding-right: 42.5px; } .form-control-feedback { position: absolute; top: 0; right: 0; z-index: 2; display: block; width: 34px; height: 34px; line-height: 34px; text-align: center; pointer-events: none; } .input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, .input-group-lg > .input-group-addon + .form-control-feedback, .input-group-lg > .input-group-btn > .btn + .form-control-feedback { width: 46px; height: 46px; line-height: 46px; } .input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, .input-group-sm > .input-group-addon + .form-control-feedback, .input-group-sm > .input-group-btn > .btn + .form-control-feedback { width: 30px; height: 30px; line-height: 30px; } .has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { color: #3c763d; } .has-success .form-control { border-color: #3c763d; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-success .form-control:focus { border-color: #2b542c; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; } .has-success .input-group-addon { color: #3c763d; border-color: #3c763d; background-color: #dff0d8; } .has-success .form-control-feedback { color: #3c763d; } .has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { color: #8a6d3b; } .has-warning .form-control { border-color: #8a6d3b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-warning .form-control:focus { border-color: #66512c; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; } .has-warning .input-group-addon { color: #8a6d3b; border-color: #8a6d3b; background-color: #fcf8e3; } .has-warning .form-control-feedback { color: #8a6d3b; } .has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { color: #a94442; } .has-error .form-control { border-color: #a94442; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-error .form-control:focus { border-color: #843534; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; } .has-error .input-group-addon { color: #a94442; border-color: #a94442; background-color: #f2dede; } .has-error .form-control-feedback { color: #a94442; } .has-feedback label ~ .form-control-feedback { top: 25px; } .has-feedback label.sr-only ~ .form-control-feedback { top: 0; } .help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #737373; } @media (min-width: 768px) { .form-inline .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } .form-inline .form-control-static { display: inline-block; } .form-inline .input-group { display: inline-table; vertical-align: middle; } .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control { width: auto; } .form-inline .input-group > .form-control { width: 100%; } .form-inline .control-label { margin-bottom: 0; vertical-align: middle; } .form-inline .radio, .form-inline .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .form-inline .radio label, .form-inline .checkbox label { padding-left: 0; } .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .form-inline .has-feedback .form-control-feedback { top: 0; } } .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { margin-top: 0; margin-bottom: 0; padding-top: 7px; } .form-horizontal .radio, .form-horizontal .checkbox { min-height: 27px; } .form-horizontal .form-group { margin-left: -15px; margin-right: -15px; } .form-horizontal .form-group:before, .form-horizontal .form-group:after { content: " "; display: table; } .form-horizontal .form-group:after { clear: both; } @media (min-width: 768px) { .form-horizontal .control-label { text-align: right; margin-bottom: 0; padding-top: 7px; } } .form-horizontal .has-feedback .form-control-feedback { right: 15px; } @media (min-width: 768px) { .form-horizontal .form-group-lg .control-label { padding-top: 14.333333px; } } @media (min-width: 768px) { .form-horizontal .form-group-sm .control-label { padding-top: 6px; } } .btn { display: inline-block; margin-bottom: 0; font-weight: normal; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; text-align: center; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; background-image: none; border: 1px solid transparent; white-space: nowrap; padding: 6px 12px; font-size: 14px; line-height: 1.428571429; border-radius: 4px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } .btn:hover, .btn:focus, .btn.focus { color: #333; text-decoration: none; } .btn:active, .btn.active { outline: 0; background-image: none; box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; pointer-events: none; opacity: 0.65; filter: alpha(opacity=65); box-shadow: none; } .btn-default { color: #333; background-color: #fff; border-color: #ccc; } .btn-default:hover, .btn-default:focus, .btn-default.focus, .btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle { color: #333; background-color: #e6e5e5; border-color: #adadad; } .btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle { background-image: none; } .btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { background-color: #fff; border-color: #ccc; } .btn-default .badge { color: #fff; background-color: #333; } .btn-primary { color: #fff; background-color: #337ab7; border-color: #2e6da4; } .btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle { background-image: none; } .btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active { background-color: #337ab7; border-color: #2e6da4; } .btn-primary .badge { color: #337ab7; background-color: #fff; } .btn-success { color: #fff; background-color: #5cb85c; border-color: #4cae4c; } .btn-success:hover, .btn-success:focus, .btn-success.focus, .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { background-image: none; } .btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active { background-color: #5cb85c; border-color: #4cae4c; } .btn-success .badge { color: #5cb85c; background-color: #fff; } .btn-info { color: #fff; background-color: #5bc0de; border-color: #46b8da; } .btn-info:hover, .btn-info:focus, .btn-info.focus, .btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { background-image: none; } .btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled].active, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active { background-color: #5bc0de; border-color: #46b8da; } .btn-info .badge { color: #5bc0de; background-color: #fff; } .btn-warning { color: #fff; background-color: #f0ad4e; border-color: #eea236; } .btn-warning:hover, .btn-warning:focus, .btn-warning.focus, .btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { background-image: none; } .btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active { background-color: #f0ad4e; border-color: #eea236; } .btn-warning .badge { color: #f0ad4e; background-color: #fff; } .btn-danger { color: #fff; background-color: #d9534f; border-color: #d43f3a; } .btn-danger:hover, .btn-danger:focus, .btn-danger.focus, .btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { background-image: none; } .btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active { background-color: #d9534f; border-color: #d43f3a; } .btn-danger .badge { color: #d9534f; background-color: #fff; } .btn-link { color: #337ab7; font-weight: normal; border-radius: 0; } .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; box-shadow: none; } .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } .btn-link:hover, .btn-link:focus { color: #23527c; text-decoration: underline; background-color: transparent; } .btn-link[disabled]:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:hover, fieldset[disabled] .btn-link:focus { color: #777777; text-decoration: none; } .btn-lg, .btn-group-lg > .btn { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .btn-sm, .btn-group-sm > .btn { padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-xs, .btn-group-xs > .btn { padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-block { display: block; width: 100%; } .btn-block + .btn-block { margin-top: 5px; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { opacity: 0; transition: opacity 0.15s linear; } .fade.in { opacity: 1; } .collapse { display: none; } .collapse.in { display: block; } tr.collapse.in { display: table-row; } tbody.collapse.in { display: table-row-group; } .collapsing { position: relative; height: 0; overflow: hidden; transition-property: height, visibility; transition-duration: 0.35s; transition-timing-function: ease; } .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px dashed; border-right: 4px solid transparent; border-left: 4px solid transparent; } .dropup, .dropdown { position: relative; } .dropdown-toggle:focus { outline: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; list-style: none; font-size: 14px; text-align: left; background-color: #fff; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 4px; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); background-clip: padding-box; } .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown-menu .divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.428571429; color: #333333; white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { text-decoration: none; color: #262626; background-color: #f5f5f5; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { color: #fff; text-decoration: none; outline: 0; background-color: #337ab7; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: #777777; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); cursor: not-allowed; } .open > .dropdown-menu { display: block; } .open > a { outline: 0; } .dropdown-menu-right { left: auto; right: 0; } .dropdown-menu-left { left: 0; right: auto; } .dropdown-menu-center { left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); } .dropdown-header { display: block; padding: 3px 20px; font-size: 12px; line-height: 1.428571429; color: #777777; white-space: nowrap; } .dropdown-backdrop { position: fixed; left: 0; right: 0; bottom: 0; top: 0; z-index: 990; } .pull-right > .dropdown-menu { right: 0; left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { border-top: 0; border-bottom: 4px solid; content: ""; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 2px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { right: 0; left: auto; } .navbar-right .dropdown-menu-left { left: 0; right: auto; } } .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn:hover, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; } .btn-toolbar { margin-left: -5px; } .btn-toolbar:before, .btn-toolbar:after { content: " "; display: table; } .btn-toolbar:after { clear: both; } .btn-toolbar .btn-group, .btn-toolbar .input-group { float: left; } .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { margin-left: 5px; } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-bottom-right-radius: 0; border-top-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-top-right-radius: 0; } .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; } .btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle { padding-left: 12px; padding-right: 12px; } .btn-group.open .dropdown-toggle { box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn-group.open .dropdown-toggle.btn-link { box-shadow: none; } .btn .caret { margin-left: 0; } .btn-lg .caret, .btn-group-lg > .btn .caret { border-width: 5px 5px 0; border-bottom-width: 0; } .dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret { border-width: 0 5px 5px; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { content: " "; display: table; } .btn-group-vertical > .btn-group:after { clear: both; } .btn-group-vertical > .btn-group > .btn { float: none; } .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(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-bottom-left-radius: 4px; border-top-right-radius: 0; border-top-left-radius: 0; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-right-radius: 0; border-top-left-radius: 0; } .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified > .btn, .btn-group-justified > .btn-group { float: none; display: table-cell; width: 1%; } .btn-group-justified > .btn-group .btn { width: 100%; } .btn-group-justified > .btn-group .dropdown-menu { left: auto; } [data-toggle="buttons"] > .btn input[type="radio"], [data-toggle="buttons"] > .btn input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; } .input-group { position: relative; display: table; border-collapse: separate; } .input-group[class*="col-"] { float: none; padding-left: 0; padding-right: 0; } .input-group .form-control { position: relative; z-index: 2; float: left; width: 100%; margin-bottom: 0; } .input-group-addon, .input-group-btn, .input-group .form-control { display: table-cell; } .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; } .input-group-addon, .input-group-btn { width: 1%; white-space: nowrap; vertical-align: middle; } .input-group-addon { padding: 6px 12px; font-size: 14px; font-weight: normal; line-height: 1; color: #555555; text-align: center; background-color: #eeeeee; border: 1px solid #ccc; border-radius: 4px; } .input-group-addon.input-sm, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .input-group-addon.btn { padding: 5px 10px; font-size: 12px; border-radius: 3px; } .input-group-addon.input-lg, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .input-group-addon.btn { padding: 10px 16px; font-size: 18px; border-radius: 6px; } .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { margin-top: 0; } .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { border-bottom-right-radius: 0; border-top-right-radius: 0; } .input-group-addon:first-child { border-right: 0; } .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { border-bottom-left-radius: 0; border-top-left-radius: 0; } .input-group-addon:last-child { border-left: 0; } .input-group-btn { position: relative; font-size: 0; white-space: nowrap; } .input-group-btn > .btn { position: relative; } .input-group-btn > .btn + .btn { margin-left: -1px; } .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { z-index: 2; } .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { margin-right: -1px; } .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { margin-left: -1px; } .nav { margin-bottom: 0; padding-left: 0; list-style: none; } .nav:before, .nav:after { content: " "; display: table; } .nav:after { clear: both; } .nav > li { position: relative; display: block; } .nav > li > a { position: relative; display: block; padding: 10px 15px; } .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; background-color: #eeeeee; } .nav > li.disabled > a { color: #777777; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { color: #777777; text-decoration: none; background-color: transparent; cursor: not-allowed; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { background-color: #eeeeee; border-color: #337ab7; } .nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .nav > li > a > img { max-width: none; } .nav-tabs { border-bottom: 1px solid #ddd; } .nav-tabs > li { float: left; margin-bottom: -1px; } .nav-tabs > li > a { margin-right: 2px; line-height: 1.428571429; border: 1px solid transparent; border-radius: 4px 4px 0 0; } .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #ddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: #555555; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent; cursor: default; } .nav-pills > li { float: left; } .nav-pills > li > a { border-radius: 4px; } .nav-pills > li + li { margin-left: 2px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #fff; background-color: #337ab7; } .nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; } .nav-justified, .nav-tabs.nav-justified { width: 100%; } .nav-justified > li, .nav-tabs.nav-justified > li { float: none; } .nav-justified > li > a, .nav-tabs.nav-justified > li > a { text-align: center; margin-bottom: 5px; } .nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-justified > li, .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } .nav-justified > li > a, .nav-tabs.nav-justified > li > a { margin-bottom: 0; } } .nav-tabs-justified, .nav-tabs.nav-justified { border-bottom: 0; } .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus { border-bottom-color: #fff; } } .tab-content > .tab-pane { display: none; } .tab-content > .active { display: block; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-right-radius: 0; border-top-left-radius: 0; } .navbar { position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent; } .navbar:before, .navbar:after { content: " "; display: table; } .navbar:after { clear: both; } @media (min-width: 768px) { .navbar { border-radius: 4px; } } .navbar-header:before, .navbar-header:after { content: " "; display: table; } .navbar-header:after { clear: both; } @media (min-width: 768px) { .navbar-header { float: left; } } .navbar-collapse { overflow-x: visible; padding-right: 15px; padding-left: 15px; border-top: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); -webkit-overflow-scrolling: touch; } .navbar-collapse:before, .navbar-collapse:after { content: " "; display: table; } .navbar-collapse:after { clear: both; } .navbar-collapse.in { overflow-y: auto; } @media (min-width: 768px) { .navbar-collapse { width: auto; border-top: 0; box-shadow: none; } .navbar-collapse.collapse { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; } .navbar-collapse.in { overflow-y: visible; } .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { padding-left: 0; padding-right: 0; } } .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 340px; } @media (max-device-width: 480px) and (orientation: landscape) { .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 200px; } } .container > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-header, .container-fluid > .navbar-collapse { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .container > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-header, .container-fluid > .navbar-collapse { margin-right: 0; margin-left: 0; } } .navbar-static-top { z-index: 1000; border-width: 0 0 1px; } @media (min-width: 768px) { .navbar-static-top { border-radius: 0; } } .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; } @media (min-width: 768px) { .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } } .navbar-fixed-top { top: 0; border-width: 0 0 1px; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; border-width: 1px 0 0; } .navbar-brand { float: left; padding: 15px 15px; font-size: 18px; line-height: 20px; height: 50px; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } .navbar-brand > img { display: block; } @media (min-width: 768px) { .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { margin-left: -15px; } } .navbar-toggle { position: relative; float: right; margin-right: 15px; padding: 9px 10px; margin-top: 8px; margin-bottom: 8px; background-color: transparent; background-image: none; border: 1px solid transparent; border-radius: 4px; } .navbar-toggle:focus { outline: 0; } .navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; } .navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; } @media (min-width: 768px) { .navbar-toggle { display: none; } } .navbar-nav { margin: 7.5px -15px; } .navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 20px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } .navbar-nav .open .dropdown-menu > li > a { line-height: 20px; } .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } } @media (min-width: 768px) { .navbar-nav { float: left; margin: 0; } .navbar-nav > li { float: left; } .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; } } .navbar-form { margin-left: -15px; margin-right: -15px; padding: 10px 15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); margin-top: 8px; margin-bottom: 8px; } @media (min-width: 768px) { .navbar-form .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .navbar-form .form-control { display: inline-block; width: auto; vertical-align: middle; } .navbar-form .form-control-static { display: inline-block; } .navbar-form .input-group { display: inline-table; vertical-align: middle; } .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control { width: auto; } .navbar-form .input-group > .form-control { width: 100%; } .navbar-form .control-label { margin-bottom: 0; vertical-align: middle; } .navbar-form .radio, .navbar-form .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .navbar-form .radio label, .navbar-form .checkbox label { padding-left: 0; } .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .navbar-form .has-feedback .form-control-feedback { top: 0; } } @media (max-width: 767px) { .navbar-form .form-group { margin-bottom: 5px; } .navbar-form .form-group:last-child { margin-bottom: 0; } } @media (min-width: 768px) { .navbar-form { width: auto; border: 0; margin-left: 0; margin-right: 0; padding-top: 0; padding-bottom: 0; box-shadow: none; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-right-radius: 0; border-top-left-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { margin-bottom: 0; border-top-right-radius: 4px; border-top-left-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .navbar-btn { margin-top: 8px; margin-bottom: 8px; } .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn { margin-top: 10px; margin-bottom: 10px; } .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn { margin-top: 14px; margin-bottom: 14px; } .navbar-text { margin-top: 15px; margin-bottom: 15px; } @media (min-width: 768px) { .navbar-text { float: left; margin-left: 15px; margin-right: 15px; } } @media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; margin-right: -15px; } .navbar-right ~ .navbar-right { margin-right: 0; } } .navbar-default { background-color: #4a8bfc; border-color: #4a8bfc; } .navbar-default .navbar-brand { color: rgba(255, 255, 255, 0.8); } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #fff; background-color: transparent; } .navbar-default .navbar-text { color: #777; } .navbar-default .navbar-nav > li > a { color: rgba(255, 255, 255, 0.8); } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #fff; background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #fff; background-color: transparent; } .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { color: #ccc; background-color: transparent; } .navbar-default .navbar-toggle { border-color: #ddd; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #ddd; } .navbar-default .navbar-toggle .icon-bar { background-color: #888; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { border-color: #4a8bfc; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { background-color: transparent; color: #fff; } @media (max-width: 767px) { .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: rgba(255, 255, 255, 0.8); } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #fff; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #ccc; background-color: transparent; } } .navbar-default .navbar-link { color: rgba(255, 255, 255, 0.8); } .navbar-default .navbar-link:hover { color: #fff; } .navbar-default .btn-link { color: rgba(255, 255, 255, 0.8); } .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { color: #fff; } .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:hover, fieldset[disabled] .navbar-default .btn-link:focus { color: #ccc; } .navbar-inverse { background-color: #222; border-color: #090808; } .navbar-inverse .navbar-brand { color: #9d9d9d; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-text { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { color: #fff; background-color: #090808; } .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { color: #444; background-color: transparent; } .navbar-inverse .navbar-toggle { border-color: #333; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background-color: #333; } .navbar-inverse .navbar-toggle .icon-bar { background-color: #fff; } .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: #101010; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { background-color: #090808; color: #fff; } @media (max-width: 767px) { .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: #090808; } .navbar-inverse .navbar-nav .open .dropdown-menu .divider { background-color: #090808; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-color: #090808; } .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #444; background-color: transparent; } } .navbar-inverse .navbar-link { color: #9d9d9d; } .navbar-inverse .navbar-link:hover { color: #fff; } .navbar-inverse .btn-link { color: #9d9d9d; } .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { color: #fff; } .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:hover, fieldset[disabled] .navbar-inverse .btn-link:focus { color: #444; } .navbar-default.navbar-sticky { position: fixed; top: 0; left: 0; right: 0; z-index: 9999; padding: 10px 0; opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.07); background: #fff; } @supports ((-webkit-backdrop-filter: saturate(180%) blur(20px)) or (backdrop-filter: saturate(180%) blur(20px))) { .navbar-default.navbar-sticky { background: rgba(255, 255, 255, 0.9); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); } } .navbar-default.navbar-sticky .navbar-nav > li.header-btn-white a { background-color: #488aff; color: #fff; } .navbar-default.navbar-sticky .navbar-nav > li.header-btn-white a:hover { background-color: rgba(74, 139, 252, 0.9); color: #fff; } .navbar-default.navbar-sticky--show, .navbar-default.navbar-sticky--hide { -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } .navbar-default.navbar-sticky--hide { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: slideup; animation-name: slideup; } @-webkit-keyframes slideup { 0% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 100% { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } } @keyframes slideup { 0% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 100% { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } } .navbar-default.navbar-sticky--show { -webkit-animation-duration: 0.5s; animation-duration: 0.5s; -webkit-animation-name: slidedown; animation-name: slidedown; -webkit-animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); } @-webkit-keyframes slidedown { 0% { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } 1% { opacity: 1; } 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes slidedown { 0% { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } 1% { opacity: 1; } 100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @media (max-width: 767px) { .navbar-default.navbar-sticky { display: none; } } .badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 12px; font-weight: bold; color: #fff; line-height: 1; vertical-align: baseline; white-space: nowrap; text-align: center; background-color: #777777; border-radius: 10px; } .badge:empty { display: none; } .btn .badge { position: relative; top: -1px; } .btn-xs .badge, .btn-group-xs > .btn .badge, .btn-group-xs > .btn .badge { top: 0; padding: 1px 5px; } .list-group-item.active > .badge, .nav-pills > .active > a > .badge { color: #337ab7; background-color: #fff; } .list-group-item > .badge { float: right; } .list-group-item > .badge + .badge { margin-right: 5px; } .nav-pills > li > a > .badge { margin-left: 3px; } a.badge:hover, a.badge:focus { color: #fff; text-decoration: none; cursor: pointer; } .modal-open { overflow: hidden; } .modal { display: none; overflow: hidden; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050; -webkit-overflow-scrolling: touch; outline: 0; } .modal.fade .modal-dialog { -webkit-transform: translate(0, -25%); transform: translate(0, -25%); 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; } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); transform: translate(0, 0); } .modal-open .modal { overflow-x: hidden; overflow-y: auto; } .modal-dialog { position: relative; width: auto; margin: 10px; } .modal-content { position: relative; background-color: #fff; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); background-clip: padding-box; 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; filter: alpha(opacity=0); } .modal-backdrop.in { opacity: 0.5; filter: alpha(opacity=50); } .modal-header { padding: 15px; border-bottom: 1px solid #e5e5e5; min-height: 16.428571429px; } .modal-header .close { margin-top: -2px; } .modal-title { margin: 0; line-height: 1.428571429; } .modal-body { position: relative; padding: 15px; } .modal-footer { padding: 15px; text-align: right; border-top: 1px solid #e5e5e5; } .modal-footer:before, .modal-footer:after { content: " "; display: table; } .modal-footer:after { clear: both; } .modal-footer .btn + .btn { margin-left: 5px; margin-bottom: 0; } .modal-footer .btn-group .btn + .btn { margin-left: -1px; } .modal-footer .btn-block + .btn-block { margin-left: 0; } .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } @media (min-width: 768px) { .modal-dialog { width: 600px; margin: 30px auto; } .modal-content { box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); } .modal-sm { width: 300px; } } @media (min-width: 992px) { .modal-lg { width: 900px; } } .tooltip { position: absolute; z-index: 1070; display: block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 1.4; opacity: 0; filter: alpha(opacity=0); } .tooltip.in { opacity: 0.9; filter: alpha(opacity=90); } .tooltip.top { margin-top: -3px; padding: 5px 0; } .tooltip.right { margin-left: 3px; padding: 0 5px; } .tooltip.bottom { margin-top: 3px; padding: 5px 0; } .tooltip.left { margin-left: -3px; padding: 0 5px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; text-decoration: none; background-color: #000; border-radius: 4px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-left .tooltip-arrow { bottom: 0; right: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-left .tooltip-arrow { top: 0; right: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .clearfix:before, .clearfix:after { content: " "; display: table; } .clearfix:after { clear: both; } .center-block { display: block; margin-left: auto; margin-right: auto; } .pull-right { float: right !important; } .pull-left { float: left !important; } .hide { display: none !important; } .show { display: block !important; } .invisible { visibility: hidden; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .hidden { display: none !important; } .affix { position: fixed; } @-ms-viewport { width: device-width; } .visible-xs { display: none !important; } .visible-sm { display: none !important; } .visible-md { display: none !important; } .visible-lg { display: none !important; } .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { display: none !important; } @media (max-width: 767px) { .visible-xs { display: block !important; } table.visible-xs { display: table; } tr.visible-xs { display: table-row !important; } th.visible-xs, td.visible-xs { display: table-cell !important; } } @media (max-width: 767px) { .visible-xs-block { display: block !important; } } @media (max-width: 767px) { .visible-xs-inline { display: inline !important; } } @media (max-width: 767px) { .visible-xs-inline-block { display: inline-block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm { display: block !important; } table.visible-sm { display: table; } tr.visible-sm { display: table-row !important; } th.visible-sm, td.visible-sm { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-block { display: block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline { display: inline !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline-block { display: inline-block !important; } } @media (min-width: 992px) and (max-width: 1219px) { .visible-md { display: block !important; } table.visible-md { display: table; } tr.visible-md { display: table-row !important; } th.visible-md, td.visible-md { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1219px) { .visible-md-block { display: block !important; } } @media (min-width: 992px) and (max-width: 1219px) { .visible-md-inline { display: inline !important; } } @media (min-width: 992px) and (max-width: 1219px) { .visible-md-inline-block { display: inline-block !important; } } @media (min-width: 1220px) { .visible-lg { display: block !important; } table.visible-lg { display: table; } tr.visible-lg { display: table-row !important; } th.visible-lg, td.visible-lg { display: table-cell !important; } } @media (min-width: 1220px) { .visible-lg-block { display: block !important; } } @media (min-width: 1220px) { .visible-lg-inline { display: inline !important; } } @media (min-width: 1220px) { .visible-lg-inline-block { display: inline-block !important; } } @media (max-width: 767px) { .hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1219px) { .hidden-md { display: none !important; } } @media (min-width: 1220px) { .hidden-lg { display: none !important; } } .visible-print { display: none !important; } @media print { .visible-print { display: block !important; } table.visible-print { display: table; } tr.visible-print { display: table-row !important; } th.visible-print, td.visible-print { display: table-cell !important; } } .visible-print-block { display: none !important; } @media print { .visible-print-block { display: block !important; } } .visible-print-inline { display: none !important; } @media print { .visible-print-inline { display: inline !important; } } .visible-print-inline-block { display: none !important; } @media print { .visible-print-inline-block { display: inline-block !important; } } @media print { .hidden-print { display: none !important; } } .highlight { background: #ffffff; } .highlight .c { color: #999988; font-style: italic; } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2; } /* Error */ .highlight .k { font-weight: bold; } /* Keyword */ .highlight .o { font-weight: bold; } /* Operator */ .highlight .cm { color: #999988; font-style: italic; } /* Comment.Multiline */ .highlight .cp { color: #999999; font-weight: bold; } /* Comment.Preproc */ .highlight .c1 { color: #999988; font-style: italic; } /* Comment.Single */ .highlight .cs { color: #999999; font-weight: bold; font-style: italic; } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd; } /* Generic.Deleted */ .highlight .gd .x { color: #000000; background-color: #ffaaaa; } /* Generic.Deleted.Specific */ .highlight .ge { font-style: italic; } /* Generic.Emph */ .highlight .gr { color: #aa0000; } /* Generic.Error */ .highlight .gh { color: #999999; } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd; } /* Generic.Inserted */ .highlight .gi .x { color: #000000; background-color: #aaffaa; } /* Generic.Inserted.Specific */ .highlight .go { color: #888888; } /* Generic.Output */ .highlight .gp { color: #555555; } /* Generic.Prompt */ .highlight .gs { font-weight: bold; } /* Generic.Strong */ .highlight .gu { color: #aaaaaa; } /* Generic.Subheading */ .highlight .gt { color: #aa0000; } /* Generic.Traceback */ .highlight .kc { font-weight: bold; } /* Keyword.Constant */ .highlight .kd { font-weight: bold; } /* Keyword.Declaration */ .highlight .kp { font-weight: bold; } /* Keyword.Pseudo */ .highlight .kr { font-weight: bold; } /* Keyword.Reserved */ .highlight .kt { color: #445588; font-weight: bold; } /* Keyword.Type */ .highlight .m { color: #009999; } /* Literal.Number */ .highlight .s { color: #d14; } /* Literal.String */ .highlight .na { color: #008080; } /* Name.Attribute */ .highlight .nb { color: #0086B3; } /* Name.Builtin */ .highlight .nc { color: #445588; font-weight: bold; } /* Name.Class */ .highlight .no { color: #008080; } /* Name.Constant */ .highlight .ni { color: #800080; } /* Name.Entity */ .highlight .ne { color: #990000; font-weight: bold; } /* Name.Exception */ .highlight .nf { color: #990000; font-weight: bold; } /* Name.Function */ .highlight .nn { color: #555555; } /* Name.Namespace */ .highlight .nt { color: #000080; } /* Name.Tag */ .highlight .nv { color: #008080; } /* Name.Variable */ .highlight .ow { font-weight: bold; } /* Operator.Word */ .highlight .w { color: #bbbbbb; } /* Text.Whitespace */ .highlight .mf { color: #009999; } /* Literal.Number.Float */ .highlight .mh { color: #009999; } /* Literal.Number.Hex */ .highlight .mi { color: #009999; } /* Literal.Number.Integer */ .highlight .mo { color: #009999; } /* Literal.Number.Oct */ .highlight .sb { color: #d14; } /* Literal.String.Backtick */ .highlight .sc { color: #d14; } /* Literal.String.Char */ .highlight .sd { color: #d14; } /* Literal.String.Doc */ .highlight .s2 { color: #d14; } /* Literal.String.Double */ .highlight .se { color: #d14; } /* Literal.String.Escape */ .highlight .sh { color: #d14; } /* Literal.String.Heredoc */ .highlight .si { color: #d14; } /* Literal.String.Interpol */ .highlight .sx { color: #d14; } /* Literal.String.Other */ .highlight .sr { color: #009926; } /* Literal.String.Regex */ .highlight .s1 { color: #d14; } /* Literal.String.Single */ .highlight .ss { color: #990073; } /* Literal.String.Symbol */ .highlight .bp { color: #999999; } /* Name.Builtin.Pseudo */ .highlight .vc { color: #008080; } /* Name.Variable.Class */ .highlight .vg { color: #008080; } /* Name.Variable.Global */ .highlight .vi { color: #008080; } /* Name.Variable.Instance */ .highlight .il { color: #009999; } /* Literal.Number.Integer.Long */ pre { background-color: white; } .hljs { display: block; padding: 0.5em; background: #ffffff; overflow-x: auto; word-wrap: normal; white-space: pre; color: #314361; } .hljs-comment, .hljs-template_comment, .hljs-javadoc, .hljs-comment * { color: #999988; font-style: italic; } .hljs-keyword, .method, .hljs-list .hljs-title, .clojure .hljs-built_in, .nginx .hljs-title, .hljs-tag .hljs-title, .setting .hljs-value, .hljs-winutils, .tex .hljs-command, .http .hljs-title, .hljs-request, .hljs-status { color: #4a86ef; font-weight: bold; } .hljs-envvar, .tex .hljs-special { color: #660; } .hljs-string, .hljs-tag .hljs-value, .hljs-cdata, .hljs-filter .hljs-argument, .hljs-attr_selector, .apache .hljs-cbracket, .hljs-date, .hljs-regexp, .coffeescript .hljs-attribute { color: #f2576d; } .hljs-sub .hljs-identifier, .hljs-pi, .hljs-tag, .hljs-tag .hljs-keyword, .hljs-decorator, .ini .hljs-title, .hljs-shebang, .hljs-prompt, .hljs-hexcolor, .hljs-rules .hljs-value, .css .hljs-value .hljs-number, .hljs-literal, .hljs-symbol, .ruby .hljs-symbol .hljs-string, .hljs-number, .css .hljs-function, .clojure .hljs-attribute { color: #00b07d; } .hljs-class .hljs-title, .haskell .hljs-type, .smalltalk .hljs-class, .hljs-javadoctag, .hljs-yardoctag, .hljs-phpdoc, .hljs-typename, .hljs-tag .hljs-attribute, .hljs-doctype, .hljs-class .hljs-id, .hljs-built_in, .setting, .hljs-params, .hljs-variable, .clojure .hljs-title { color: #3dafd4; } .css .hljs-tag, .hljs-rules .hljs-property, .hljs-pseudo, .hljs-subst { color: #000; } .css .hljs-class, .css .hljs-id { color: #9B703F; } .hljs-value .hljs-important { color: #ff7700; font-weight: bold; } .hljs-rules .hljs-keyword { color: #C5AF75; } .hljs-annotation, .apache .hljs-sqbracket, .nginx .hljs-built_in { color: #9B859D; } .hljs-preprocessor, .hljs-preprocessor *, .hljs-pragma { color: #444; } .tex .hljs-formula { background-color: #EEE; font-style: italic; } .diff .hljs-header, .hljs-chunk { color: #808080; font-weight: bold; } .diff .hljs-change { background-color: #BCCFF9; } .hljs-addition { background-color: #BAEEBA; } .hljs-deletion { background-color: #FFC8BD; } .hljs-comment .hljs-yardoctag { font-weight: bold; } h1, h2, h3, h4, h5, h6 { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; letter-spacing: -0.02em; } a { transition: color .2s; } a:hover { text-decoration: none; } p.lg { font-size: 18px; font-weight: 400; color: #898989; } p.lg.strong { font-weight: 500; } p.lg.light { color: #898989; } p.sm { font-size: 13px; } p.xs { font-size: 11px; } .subheading { color: #888; font-size: 15px; } @-webkit-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } @-webkit-keyframes crossFadeInOut { 0%, 40%, 100% { opacity: 0; } 50%, 90% { opacity: 1; } } @keyframes crossFadeInOut { 0%, 40%, 100% { opacity: 0; } 50%, 90% { opacity: 1; } } @-webkit-keyframes fadeInUpSmall { 0% { opacity: 0; -webkit-transform: scale(0.667, 0.667) translateY(20px); transform: scale(0.667, 0.667) translateY(20px); } 100% { opacity: .5; -webkit-transform: scale(0.667, 0.667) translateY(0); transform: scale(0.667, 0.667) translateY(0); } } @keyframes fadeInUpSmall { 0% { opacity: 0; -webkit-transform: scale(0.667, 0.667) translateY(20px); transform: scale(0.667, 0.667) translateY(20px); } 100% { opacity: .5; -webkit-transform: scale(0.667, 0.667) translateY(0); transform: scale(0.667, 0.667) translateY(0); } } @-webkit-keyframes fadeInUp { 0% { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); } 50% { opacity: 1; } 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes fadeInUp { 0% { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); } 50% { opacity: 1; } 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } } @-webkit-keyframes fadeInDown { 0% { opacity: 0; -webkit-transform: translateY(-20px); transform: translateY(-20px); } 50% { opacity: 1; } 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes fadeInDown { 0% { opacity: 0; -webkit-transform: translateY(-20px); transform: translateY(-20px); } 50% { opacity: 1; } 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } } @-webkit-keyframes fadeOut { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes fadeOut { 0% { opacity: 1; } 100% { opacity: 0; } } @-webkit-keyframes fadeOutUp { 0% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(-20px); transform: translateY(-20px); } } @keyframes fadeOutUp { 0% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } 100% { opacity: 0; -webkit-transform: translateY(-20px); transform: translateY(-20px); } } @-webkit-keyframes pulse { 0% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } 20% { -webkit-transform: scale3d(1.05, 1.05, 1); transform: scale3d(1.05, 1.05, 1); } 100% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } @keyframes pulse { 0% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } 20% { -webkit-transform: scale3d(1.05, 1.05, 1); transform: scale3d(1.05, 1.05, 1); } 100% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } @-webkit-keyframes tiltIn { 0% { -webkit-transform: rotateX(-30deg); transform: rotateX(-30deg); } 100% { -webkit-transform: rotateX(0deg); transform: rotateX(0deg); } } @keyframes tiltIn { 0% { -webkit-transform: rotateX(-30deg); transform: rotateX(-30deg); } 100% { -webkit-transform: rotateX(0deg); transform: rotateX(0deg); } } @-webkit-keyframes simpleHoverY { 0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 50% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); } 100% { -webkit-transform: translate3d(0, 0); transform: translate3d(0, 0); } } @keyframes simpleHoverY { 0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 50% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); } 100% { -webkit-transform: translate3d(0, 0); transform: translate3d(0, 0); } } @-webkit-keyframes simpleHoverX { 0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 50% { -webkit-transform: translate3d(225px, 0, 0); transform: translate3d(225px, 0, 0); } 100% { -webkit-transform: translate3d(0, 0); transform: translate3d(0, 0); } } @keyframes simpleHoverX { 0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 50% { -webkit-transform: translate3d(225px, 0, 0); transform: translate3d(225px, 0, 0); } 100% { -webkit-transform: translate3d(0, 0); transform: translate3d(0, 0); } } @-webkit-keyframes simpleHoverXSmall { 0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 50% { -webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0); } 100% { -webkit-transform: translate3d(0, 0); transform: translate3d(0, 0); } } @keyframes simpleHoverXSmall { 0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 50% { -webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0); } 100% { -webkit-transform: translate3d(0, 0); transform: translate3d(0, 0); } } @-webkit-keyframes inertiaTilt { 0% { -webkit-transform: rotate(5deg); transform: rotate(5deg); } 15% { -webkit-transform: rotate(-1deg); transform: rotate(-1deg); } 30% { -webkit-transform: rotate(1deg); transform: rotate(1deg); } 40% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 50% { -webkit-transform: rotate(-5deg); transform: rotate(-5deg); } 65% { -webkit-transform: rotate(1deg); transform: rotate(1deg); } 80% { -webkit-transform: rotate(-1deg); transform: rotate(-1deg); } 90% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(5deg); transform: rotate(5deg); } } @keyframes inertiaTilt { 0% { -webkit-transform: rotate(5deg); transform: rotate(5deg); } 15% { -webkit-transform: rotate(-1deg); transform: rotate(-1deg); } 30% { -webkit-transform: rotate(1deg); transform: rotate(1deg); } 40% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 50% { -webkit-transform: rotate(-5deg); transform: rotate(-5deg); } 65% { -webkit-transform: rotate(1deg); transform: rotate(1deg); } 80% { -webkit-transform: rotate(-1deg); transform: rotate(-1deg); } 90% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(5deg); transform: rotate(5deg); } } @-webkit-keyframes hoverY { 0% { -webkit-transform: translate(0, 0) scale(1); transform: translate(0, 0) scale(1); } 10% { -webkit-transform: translate(1px, 2px) scale(1); transform: translate(1px, 2px) scale(1); } 20% { -webkit-transform: translate(0, -3px) scale(1); transform: translate(0, -3px) scale(1); } 30% { -webkit-transform: translate(-1px, 3px) scale(1); transform: translate(-1px, 3px) scale(1); } 40% { -webkit-transform: translate(0, -1px) scale(1); transform: translate(0, -1px) scale(1); } 50% { -webkit-transform: translate(-1px, 0) scale(1); transform: translate(-1px, 0) scale(1); } 60% { -webkit-transform: translate(0, -3px) scale(1); transform: translate(0, -3px) scale(1); } 70% { -webkit-transform: translate(1px, 2px) scale(1); transform: translate(1px, 2px) scale(1); } 80% { -webkit-transform: translate(0, -3px) scale(1); transform: translate(0, -3px) scale(1); } 90% { -webkit-transform: translate(-1px, 1px) scale(1); transform: translate(-1px, 1px) scale(1); } 100% { -webkit-transform: translate(0, 0) scale(1); transform: translate(0, 0) scale(1); } } @keyframes hoverY { 0% { -webkit-transform: translate(0, 0) scale(1); transform: translate(0, 0) scale(1); } 10% { -webkit-transform: translate(1px, 2px) scale(1); transform: translate(1px, 2px) scale(1); } 20% { -webkit-transform: translate(0, -3px) scale(1); transform: translate(0, -3px) scale(1); } 30% { -webkit-transform: translate(-1px, 3px) scale(1); transform: translate(-1px, 3px) scale(1); } 40% { -webkit-transform: translate(0, -1px) scale(1); transform: translate(0, -1px) scale(1); } 50% { -webkit-transform: translate(-1px, 0) scale(1); transform: translate(-1px, 0) scale(1); } 60% { -webkit-transform: translate(0, -3px) scale(1); transform: translate(0, -3px) scale(1); } 70% { -webkit-transform: translate(1px, 2px) scale(1); transform: translate(1px, 2px) scale(1); } 80% { -webkit-transform: translate(0, -3px) scale(1); transform: translate(0, -3px) scale(1); } 90% { -webkit-transform: translate(-1px, 1px) scale(1); transform: translate(-1px, 1px) scale(1); } 100% { -webkit-transform: translate(0, 0) scale(1); transform: translate(0, 0) scale(1); } } @-webkit-keyframes figureeight { 0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 2% { -webkit-transform: translate3d(1px, 0.5px, 0); transform: translate3d(1px, 0.5px, 0); } 5% { -webkit-transform: translate3d(2px, 1px, 0); transform: translate3d(2px, 1px, 0); } 7% { -webkit-transform: translate3d(3px, 1.5px, 0); transform: translate3d(3px, 1.5px, 0); } 10% { -webkit-transform: translate3d(4px, 1.8px, 0); transform: translate3d(4px, 1.8px, 0); } 12% { -webkit-transform: translate3d(5px, 2px, 0); transform: translate3d(5px, 2px, 0); } 15% { -webkit-transform: translate3d(6px, 1.8px, 0); transform: translate3d(6px, 1.8px, 0); } 17% { -webkit-transform: translate3d(7px, 1.5px, 0); transform: translate3d(7px, 1.5px, 0); } 20% { -webkit-transform: translate3d(8px, 1px, 0); transform: translate3d(8px, 1px, 0); } 22% { -webkit-transform: translate3d(8.6px, 0.5px, 0); transform: translate3d(8.6px, 0.5px, 0); } 25% { -webkit-transform: translate3d(9px, 0, 0); transform: translate3d(9px, 0, 0); } 27% { -webkit-transform: translate3d(8.3px, -0.5px, 0); transform: translate3d(8.3px, -0.5px, 0); } 30% { -webkit-transform: translate3d(8px, -1px, 0); transform: translate3d(8px, -1px, 0); } 32% { -webkit-transform: translate3d(7px, -1.5px, 0); transform: translate3d(7px, -1.5px, 0); } 35% { -webkit-transform: translate3d(6px, -1.8px, 0); transform: translate3d(6px, -1.8px, 0); } 37% { -webkit-transform: translate3d(5px, -2px, 0); transform: translate3d(5px, -2px, 0); } 40% { -webkit-transform: translate3d(4px, -1.8px, 0); transform: translate3d(4px, -1.8px, 0); } 42% { -webkit-transform: translate3d(3px, -1.5px, 0); transform: translate3d(3px, -1.5px, 0); } 45% { -webkit-transform: translate3d(2px, -1px, 0); transform: translate3d(2px, -1px, 0); } 47% { -webkit-transform: translate3d(1px, -0.5px, 0); transform: translate3d(1px, -0.5px, 0); } 50% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 52% { -webkit-transform: translate3d(-1px, 0.5px, 0); transform: translate3d(-1px, 0.5px, 0); } 55% { -webkit-transform: translate3d(-2px, 1px, 0); transform: translate3d(-2px, 1px, 0); } 57% { -webkit-transform: translate3d(-3px, 1.5px, 0); transform: translate3d(-3px, 1.5px, 0); } 60% { -webkit-transform: translate3d(-4px, 1.8px, 0); transform: translate3d(-4px, 1.8px, 0); } 62% { -webkit-transform: translate3d(-5px, 2px, 0); transform: translate3d(-5px, 2px, 0); } 65% { -webkit-transform: translate3d(-6px, 1.8px, 0); transform: translate3d(-6px, 1.8px, 0); } 67% { -webkit-transform: translate3d(-7px, 1.5px, 0); transform: translate3d(-7px, 1.5px, 0); } 70% { -webkit-transform: translate3d(-8px, 1px, 0); transform: translate3d(-8px, 1px, 0); } 72% { -webkit-transform: translate3d(-8.6px, 0.5px, 0); transform: translate3d(-8.6px, 0.5px, 0); } 75% { -webkit-transform: translate3d(-9px, 0, 0); transform: translate3d(-9px, 0, 0); } 77% { -webkit-transform: translate3d(-8.3px, -1px, 0); transform: translate3d(-8.3px, -1px, 0); } 80% { -webkit-transform: translate3d(-8px, -2px, 0); transform: translate3d(-8px, -2px, 0); } 82% { -webkit-transform: translate3d(-7px, -1.5px, 0); transform: translate3d(-7px, -1.5px, 0); } 85% { -webkit-transform: translate3d(-6px, -1.8px, 0); transform: translate3d(-6px, -1.8px, 0); } 87% { -webkit-transform: translate3d(-5px, -2px, 0); transform: translate3d(-5px, -2px, 0); } 90% { -webkit-transform: translate3d(-4px, -1.8px, 0); transform: translate3d(-4px, -1.8px, 0); } 92% { -webkit-transform: translate3d(-3px, -1.5px, 0); transform: translate3d(-3px, -1.5px, 0); } 95% { -webkit-transform: translate3d(-2px, -1px, 0); transform: translate3d(-2px, -1px, 0); } 97% { -webkit-transform: translate3d(-1px, -0.5px, 0); transform: translate3d(-1px, -0.5px, 0); } 100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes figureeight { 0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 2% { -webkit-transform: translate3d(1px, 0.5px, 0); transform: translate3d(1px, 0.5px, 0); } 5% { -webkit-transform: translate3d(2px, 1px, 0); transform: translate3d(2px, 1px, 0); } 7% { -webkit-transform: translate3d(3px, 1.5px, 0); transform: translate3d(3px, 1.5px, 0); } 10% { -webkit-transform: translate3d(4px, 1.8px, 0); transform: translate3d(4px, 1.8px, 0); } 12% { -webkit-transform: translate3d(5px, 2px, 0); transform: translate3d(5px, 2px, 0); } 15% { -webkit-transform: translate3d(6px, 1.8px, 0); transform: translate3d(6px, 1.8px, 0); } 17% { -webkit-transform: translate3d(7px, 1.5px, 0); transform: translate3d(7px, 1.5px, 0); } 20% { -webkit-transform: translate3d(8px, 1px, 0); transform: translate3d(8px, 1px, 0); } 22% { -webkit-transform: translate3d(8.6px, 0.5px, 0); transform: translate3d(8.6px, 0.5px, 0); } 25% { -webkit-transform: translate3d(9px, 0, 0); transform: translate3d(9px, 0, 0); } 27% { -webkit-transform: translate3d(8.3px, -0.5px, 0); transform: translate3d(8.3px, -0.5px, 0); } 30% { -webkit-transform: translate3d(8px, -1px, 0); transform: translate3d(8px, -1px, 0); } 32% { -webkit-transform: translate3d(7px, -1.5px, 0); transform: translate3d(7px, -1.5px, 0); } 35% { -webkit-transform: translate3d(6px, -1.8px, 0); transform: translate3d(6px, -1.8px, 0); } 37% { -webkit-transform: translate3d(5px, -2px, 0); transform: translate3d(5px, -2px, 0); } 40% { -webkit-transform: translate3d(4px, -1.8px, 0); transform: translate3d(4px, -1.8px, 0); } 42% { -webkit-transform: translate3d(3px, -1.5px, 0); transform: translate3d(3px, -1.5px, 0); } 45% { -webkit-transform: translate3d(2px, -1px, 0); transform: translate3d(2px, -1px, 0); } 47% { -webkit-transform: translate3d(1px, -0.5px, 0); transform: translate3d(1px, -0.5px, 0); } 50% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 52% { -webkit-transform: translate3d(-1px, 0.5px, 0); transform: translate3d(-1px, 0.5px, 0); } 55% { -webkit-transform: translate3d(-2px, 1px, 0); transform: translate3d(-2px, 1px, 0); } 57% { -webkit-transform: translate3d(-3px, 1.5px, 0); transform: translate3d(-3px, 1.5px, 0); } 60% { -webkit-transform: translate3d(-4px, 1.8px, 0); transform: translate3d(-4px, 1.8px, 0); } 62% { -webkit-transform: translate3d(-5px, 2px, 0); transform: translate3d(-5px, 2px, 0); } 65% { -webkit-transform: translate3d(-6px, 1.8px, 0); transform: translate3d(-6px, 1.8px, 0); } 67% { -webkit-transform: translate3d(-7px, 1.5px, 0); transform: translate3d(-7px, 1.5px, 0); } 70% { -webkit-transform: translate3d(-8px, 1px, 0); transform: translate3d(-8px, 1px, 0); } 72% { -webkit-transform: translate3d(-8.6px, 0.5px, 0); transform: translate3d(-8.6px, 0.5px, 0); } 75% { -webkit-transform: translate3d(-9px, 0, 0); transform: translate3d(-9px, 0, 0); } 77% { -webkit-transform: translate3d(-8.3px, -1px, 0); transform: translate3d(-8.3px, -1px, 0); } 80% { -webkit-transform: translate3d(-8px, -2px, 0); transform: translate3d(-8px, -2px, 0); } 82% { -webkit-transform: translate3d(-7px, -1.5px, 0); transform: translate3d(-7px, -1.5px, 0); } 85% { -webkit-transform: translate3d(-6px, -1.8px, 0); transform: translate3d(-6px, -1.8px, 0); } 87% { -webkit-transform: translate3d(-5px, -2px, 0); transform: translate3d(-5px, -2px, 0); } 90% { -webkit-transform: translate3d(-4px, -1.8px, 0); transform: translate3d(-4px, -1.8px, 0); } 92% { -webkit-transform: translate3d(-3px, -1.5px, 0); transform: translate3d(-3px, -1.5px, 0); } 95% { -webkit-transform: translate3d(-2px, -1px, 0); transform: translate3d(-2px, -1px, 0); } 97% { -webkit-transform: translate3d(-1px, -0.5px, 0); transform: translate3d(-1px, -0.5px, 0); } 100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @-webkit-keyframes dotExpand { 0% { -webkit-transform: scale3d(0.1, 0.1, 1); transform: scale3d(0.1, 0.1, 1); opacity: 1; } 100% { -webkit-transform: scale3d(2, 2, 1); transform: scale3d(2, 2, 1); opacity: 0; } } @keyframes dotExpand { 0% { -webkit-transform: scale3d(0.1, 0.1, 1); transform: scale3d(0.1, 0.1, 1); opacity: 1; } 100% { -webkit-transform: scale3d(2, 2, 1); transform: scale3d(2, 2, 1); opacity: 0; } } @-webkit-keyframes glow { 0%, 30%, 100% { opacity: 0; } 15% { opacity: 1; } } @keyframes glow { 0%, 30%, 100% { opacity: 0; } 15% { opacity: 1; } } @-webkit-keyframes spread { 0% { -webkit-transform: scaleX(1); transform: scaleX(1); opacity: 1; } 50% { -webkit-transform: scaleX(0.8); transform: scaleX(0.8); opacity: .5; } 100% { -webkit-transform: scaleX(1); transform: scaleX(1); opacity: 1; } } @keyframes spread { 0% { -webkit-transform: scaleX(1); transform: scaleX(1); opacity: 1; } 50% { -webkit-transform: scaleX(0.8); transform: scaleX(0.8); opacity: .5; } 100% { -webkit-transform: scaleX(1); transform: scaleX(1); opacity: 1; } } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @-webkit-keyframes floatingCloud { 0% { -webkit-transform: scale3d(0.6, 0.6, 1); transform: scale3d(0.6, 0.6, 1); opacity: 0; } 5% { opacity: .9; } 10% { opacity: 1; } 95% { opacity: 1; } 100% { -webkit-transform: translate3d(150%, 100%, 0); transform: translate3d(150%, 100%, 0); opacity: 0; } } @keyframes floatingCloud { 0% { -webkit-transform: scale3d(0.6, 0.6, 1); transform: scale3d(0.6, 0.6, 1); opacity: 0; } 5% { opacity: .9; } 10% { opacity: 1; } 95% { opacity: 1; } 100% { -webkit-transform: translate3d(150%, 100%, 0); transform: translate3d(150%, 100%, 0); opacity: 0; } } @-webkit-keyframes floatingCloud-2 { 0% { -webkit-transform: scale3d(0.2, 0.2, 1); transform: scale3d(0.2, 0.2, 1); opacity: 0; } 5% { opacity: .9; } 20% { opacity: 1; } 95% { opacity: 1; } 100% { -webkit-transform: translate3d(110%, 30%, 0) scale3d(0.4, 0.4, 1); transform: translate3d(110%, 30%, 0) scale3d(0.4, 0.4, 1); opacity: 0; } } @keyframes floatingCloud-2 { 0% { -webkit-transform: scale3d(0.2, 0.2, 1); transform: scale3d(0.2, 0.2, 1); opacity: 0; } 5% { opacity: .9; } 20% { opacity: 1; } 95% { opacity: 1; } 100% { -webkit-transform: translate3d(110%, 30%, 0) scale3d(0.4, 0.4, 1); transform: translate3d(110%, 30%, 0) scale3d(0.4, 0.4, 1); opacity: 0; } } @-webkit-keyframes floatingCloud-3 { 0% { -webkit-transform: translate3d(150%, 70%, 0) scale3d(0.8, 0.8, 1); transform: translate3d(150%, 70%, 0) scale3d(0.8, 0.8, 1); opacity: 0; } 5% { opacity: 1; } 20% { opacity: 1; } 90% { opacity: .9; } 100% { -webkit-transform: scale3d(0.4, 0.4, 1); transform: scale3d(0.4, 0.4, 1); opacity: 0; } } @keyframes floatingCloud-3 { 0% { -webkit-transform: translate3d(150%, 70%, 0) scale3d(0.8, 0.8, 1); transform: translate3d(150%, 70%, 0) scale3d(0.8, 0.8, 1); opacity: 0; } 5% { opacity: 1; } 20% { opacity: 1; } 90% { opacity: .9; } 100% { -webkit-transform: scale3d(0.4, 0.4, 1); transform: scale3d(0.4, 0.4, 1); opacity: 0; } } @-webkit-keyframes floatingCloud-4 { 0% { -webkit-transform: scale3d(1.2, 1.2, 1); transform: scale3d(1.2, 1.2, 1); -webkit-transform: translate3d(110%, 150%, 0); transform: translate3d(110%, 150%, 0); opacity: 0; } 5% { opacity: 1; } 90% { opacity: 1; } 95% { opacity: .9; } 100% { -webkit-transform: scale3d(0.8, 0.8, 1); transform: scale3d(0.8, 0.8, 1); opacity: 0; } } @keyframes floatingCloud-4 { 0% { -webkit-transform: scale3d(1.2, 1.2, 1); transform: scale3d(1.2, 1.2, 1); -webkit-transform: translate3d(110%, 150%, 0); transform: translate3d(110%, 150%, 0); opacity: 0; } 5% { opacity: 1; } 90% { opacity: 1; } 95% { opacity: .9; } 100% { -webkit-transform: scale3d(0.8, 0.8, 1); transform: scale3d(0.8, 0.8, 1); opacity: 0; } } @-webkit-keyframes rainDrop { 0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); opacity: 0; } 5% { opacity: .9; } 10% { opacity: 1; } 95% { opacity: 1; } 100% { -webkit-transform: translate3d(0, 800%, 0); transform: translate3d(0, 800%, 0); opacity: 0; } } @keyframes rainDrop { 0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); opacity: 0; } 5% { opacity: .9; } 10% { opacity: 1; } 95% { opacity: 1; } 100% { -webkit-transform: translate3d(0, 800%, 0); transform: translate3d(0, 800%, 0); opacity: 0; } } @-webkit-keyframes screenPop-1 { 0% { opacity: 1; z-index: 0; } 89% { opacity: 1; } 95% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); opacity: 0; } 96% { -webkit-transform: scale3d(1.1, 1.1, 1); transform: scale3d(1.1, 1.1, 1); } 100% { opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } @keyframes screenPop-1 { 0% { opacity: 1; z-index: 0; } 89% { opacity: 1; } 95% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); opacity: 0; } 96% { -webkit-transform: scale3d(1.1, 1.1, 1); transform: scale3d(1.1, 1.1, 1); } 100% { opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } @-webkit-keyframes screenPop-2 { 0% { opacity: 0; } 30% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); opacity: 0; } 31% { -webkit-transform: scale3d(1.1, 1.1, 1); transform: scale3d(1.1, 1.1, 1); } 35% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); opacity: 1; } 69% { opacity: 1; } 70% { opacity: 0; } 100% { opacity: 0; } } @keyframes screenPop-2 { 0% { opacity: 0; } 30% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); opacity: 0; } 31% { -webkit-transform: scale3d(1.1, 1.1, 1); transform: scale3d(1.1, 1.1, 1); } 35% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); opacity: 1; } 69% { opacity: 1; } 70% { opacity: 0; } 100% { opacity: 0; } } @-webkit-keyframes screenPop-3 { 0% { opacity: 0; } 63% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); opacity: 0; } 64% { -webkit-transform: scale3d(1.1, 1.1, 1); transform: scale3d(1.1, 1.1, 1); } 68% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); opacity: 1; } 96% { opacity: 1; } 100% { opacity: 0; } } @keyframes screenPop-3 { 0% { opacity: 0; } 63% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); opacity: 0; } 64% { -webkit-transform: scale3d(1.1, 1.1, 1); transform: scale3d(1.1, 1.1, 1); } 68% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); opacity: 1; } 96% { opacity: 1; } 100% { opacity: 0; } } @-webkit-keyframes home-app-group-iphone { 0% { -webkit-transform: rotateY(15deg) translate3d(80px, 0, 0); transform: rotateY(15deg) translate3d(80px, 0, 0); } 100% { -webkit-transform: rotateY(15deg) translate3d(0, 0, 0); transform: rotateY(15deg) translate3d(0, 0, 0); } } @keyframes home-app-group-iphone { 0% { -webkit-transform: rotateY(15deg) translate3d(80px, 0, 0); transform: rotateY(15deg) translate3d(80px, 0, 0); } 100% { -webkit-transform: rotateY(15deg) translate3d(0, 0, 0); transform: rotateY(15deg) translate3d(0, 0, 0); } } @-webkit-keyframes home-app-group-android { 0% { -webkit-transform: rotateY(15deg) translate3d(-74px, 40px, 0); transform: rotateY(15deg) translate3d(-74px, 40px, 0); } 100% { -webkit-transform: rotateY(15deg) translate3d(0, 0, 0); transform: rotateY(15deg) translate3d(0, 0, 0); } } @keyframes home-app-group-android { 0% { -webkit-transform: rotateY(15deg) translate3d(-74px, 40px, 0); transform: rotateY(15deg) translate3d(-74px, 40px, 0); } 100% { -webkit-transform: rotateY(15deg) translate3d(0, 0, 0); transform: rotateY(15deg) translate3d(0, 0, 0); } } @-webkit-keyframes home-app-iphone { 0% { -webkit-transform: translate3d(30px, -10px, 0); transform: translate3d(30px, -10px, 0); } 100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes home-app-iphone { 0% { -webkit-transform: translate3d(30px, -10px, 0); transform: translate3d(30px, -10px, 0); } 100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @-webkit-keyframes home-app-android { 0% { -webkit-transform: translate3d(10px, -4px, 0); transform: translate3d(10px, -4px, 0); } 100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes home-app-android { 0% { -webkit-transform: translate3d(10px, -4px, 0); transform: translate3d(10px, -4px, 0); } 100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @-webkit-keyframes carousel { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 100% { -webkit-transform: translateX(-50%); transform: translateX(-50%); } } @keyframes carousel { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 100% { -webkit-transform: translateX(-50%); transform: translateX(-50%); } } .banner { text-align: center; } .banner--hero .container { max-width: 700px; } .banner--hero h1 { margin-top: 2em; font-size: 36px; margin-bottom: 1.4em; } .banner--hero p { font-size: 16px; line-height: 1.8em; } .bar.navy { background: linear-gradient(to right, #1d2534 0%, #243452 100%); } .bar.navy h1, .bar.navy h2, .bar.navy h3, .bar.navy h4, .bar.navy h5 { color: white; } .bar.navy p { color: #a2b5d6; } .bar h1, .bar h2, .bar h3, .bar h4, .bar h5 { font-weight: 600; } .bar p { margin-bottom: 27px; } .bar .btn { padding: 20px 21px 15px; } .bar .hero { padding: 95px 0 101px; } bar-chart, .survey-layout main svg { width: 100%; display: block; margin-bottom: 48px; } bar-chart > svg, .survey-layout main svg > svg { width: 100%; } bar-chart .tick line, .survey-layout main svg .tick line { opacity: 0; } bar-chart .tick tspan, .survey-layout main svg .tick tspan { font-size: 12px; font-weight: 500; -webkit-font-smoothing: subpixel-antialiased; } bar-chart .c3-text, .survey-layout main svg .c3-text { font-size: 11px; font-weight: 500; -webkit-font-smoothing: subpixel-antialiased; } bar-chart .domain, .survey-layout main svg .domain { opacity: 0; } bar-chart .c3-grid line, .survey-layout main svg .c3-grid line { stroke: #eee; stroke-dasharray: 0; } bar-chart .c3-bar._expanded_, .survey-layout main svg .c3-bar._expanded_ { fill-opacity: 1; } .checkmark-list--large { max-width: 380px; } .checkmark-list--large li { line-height: 26px; font-size: 16px; letter-spacing: -0.01em; color: #616E7E; display: -ms-flexbox; display: flex; } .checkmark-list--large li + li { margin-top: 20px; } .checkmark-list--large i { margin-right: 6px; position: relative; width: 24px; height: 24px; -ms-flex: 0 0 24px; flex: 0 0 24px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; border-radius: 100%; background-color: #73849A; z-index: -1; margin-right: 16px; -webkit-transform: translateY(2px); transform: translateY(2px); } .checkmark-list--large ion-icon { font-size: 16px; color: #fff; } .checkmark-list--large hgroup h5 { margin-top: -2px; margin-bottom: 0; line-height: 33px; font-size: 16px; letter-spacing: -0.01em; color: #3C536F; font-weight: 600; } .checkmark-list--large hgroup p { line-height: 23px; font-size: 14px; letter-spacing: -0.01em; color: #92A1B3; } .checkmark-list--small { margin: 0; padding: 0; } .checkmark-list--small li { line-height: 13px; font-size: 12px; color: #5B708B; display: -ms-flexbox; display: flex; } .checkmark-list--small ion-icon { font-size: 15px; color: #92A1B3; -ms-flex: 0 0 15px; flex: 0 0 15px; margin-right: 6px; -webkit-transform: translateY(4px); transform: translateY(4px); } .modal form, .form-inline { max-width: 420px; } .modal form input, .modal form .select-wrapper, .modal form textarea, .form-inline input, .form-inline .select-wrapper, .form-inline textarea { border: 1px solid #e1e5ed; font-weight: 500; float: left; border-radius: 4px; transition: border-color .2s; box-shadow: none; } .modal form input::-webkit-input-placeholder, .modal form .select-wrapper::-webkit-input-placeholder, .modal form textarea::-webkit-input-placeholder, .form-inline input::-webkit-input-placeholder, .form-inline .select-wrapper::-webkit-input-placeholder, .form-inline textarea::-webkit-input-placeholder { color: #a0a5b0; } .modal form input:-ms-input-placeholder, .modal form .select-wrapper:-ms-input-placeholder, .modal form textarea:-ms-input-placeholder, .form-inline input:-ms-input-placeholder, .form-inline .select-wrapper:-ms-input-placeholder, .form-inline textarea:-ms-input-placeholder { color: #a0a5b0; } .modal form input:valid, .modal form .select-wrapper:valid, .modal form textarea:valid, .form-inline input:valid, .form-inline .select-wrapper:valid, .form-inline textarea:valid { border-color: #B4BBC5; } .modal form input:hover, .modal form input:focus, .modal form input:active, .modal form .select-wrapper:hover, .modal form .select-wrapper:focus, .modal form .select-wrapper:active, .modal form textarea:hover, .modal form textarea:focus, .modal form textarea:active, .form-inline input:hover, .form-inline input:focus, .form-inline input:active, .form-inline .select-wrapper:hover, .form-inline .select-wrapper:focus, .form-inline .select-wrapper:active, .form-inline textarea:hover, .form-inline textarea:focus, .form-inline textarea:active { outline: none; border-color: #4a8bfc; box-shadow: none; } .modal form input.invalid, .modal form input.ng-touched:not(:focus):not(:valid), .form-inline input.invalid, .form-inline input.ng-touched:not(:focus):not(:valid) { border-color: #f8556c; } .modal form input, .modal form .select-wrapper, .modal form input.form-control, .form-inline input, .form-inline .select-wrapper, .form-inline input.form-control { width: 190px; margin: 0 7px 10px 0; height: 43px; } .modal form input:nth-child(2), .modal form input:nth-child(4), .modal form input:nth-child(6), .modal form input:nth-child(8), .modal form .select-wrapper:nth-child(2), .modal form .select-wrapper:nth-child(4), .modal form .select-wrapper:nth-child(6), .modal form .select-wrapper:nth-child(8), .modal form input.form-control:nth-child(2), .modal form input.form-control:nth-child(4), .modal form input.form-control:nth-child(6), .modal form input.form-control:nth-child(8), .form-inline input:nth-child(2), .form-inline input:nth-child(4), .form-inline input:nth-child(6), .form-inline input:nth-child(8), .form-inline .select-wrapper:nth-child(2), .form-inline .select-wrapper:nth-child(4), .form-inline .select-wrapper:nth-child(6), .form-inline .select-wrapper:nth-child(8), .form-inline input.form-control:nth-child(2), .form-inline input.form-control:nth-child(4), .form-inline input.form-control:nth-child(6), .form-inline input.form-control:nth-child(8) { margin-right: 0; width: 190px; } .modal form input.full-width, .modal form input.full-width:nth-child(2), .modal form input.full-width:nth-child(4), .modal form input.fuill-width:nth-child(6), .modal form input.fuill-width:nth-child(8), .modal form .select-wrapper.full-width, .modal form .select-wrapper.full-width:nth-child(2), .modal form .select-wrapper.full-width:nth-child(4), .modal form .select-wrapper.fuill-width:nth-child(6), .modal form .select-wrapper.fuill-width:nth-child(8), .modal form input.form-control.full-width, .modal form input.form-control.full-width:nth-child(2), .modal form input.form-control.full-width:nth-child(4), .modal form input.form-control.fuill-width:nth-child(6), .modal form input.form-control.fuill-width:nth-child(8), .form-inline input.full-width, .form-inline input.full-width:nth-child(2), .form-inline input.full-width:nth-child(4), .form-inline input.fuill-width:nth-child(6), .form-inline input.fuill-width:nth-child(8), .form-inline .select-wrapper.full-width, .form-inline .select-wrapper.full-width:nth-child(2), .form-inline .select-wrapper.full-width:nth-child(4), .form-inline .select-wrapper.fuill-width:nth-child(6), .form-inline .select-wrapper.fuill-width:nth-child(8), .form-inline input.form-control.full-width, .form-inline input.form-control.full-width:nth-child(2), .form-inline input.form-control.full-width:nth-child(4), .form-inline input.form-control.fuill-width:nth-child(6), .form-inline input.form-control.fuill-width:nth-child(8) { width: 100%; } .modal form .select-wrapper, .form-inline .select-wrapper { position: relative; background: white; } .modal form .select-wrapper .up, .form-inline .select-wrapper .up { width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 5px solid #9da5b3; display: block; margin-bottom: 3px; position: absolute; right: 10px; top: 13px; } .modal form .select-wrapper .dn, .form-inline .select-wrapper .dn { width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid #9da5b3; display: block; position: absolute; right: 10px; top: 20px; } .modal form .select-wrapper select, .form-inline .select-wrapper select { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; position: absolute; left: 0; right: 0; top: 0; bottom: 0; border: 0; padding-top: 10px; outline: none; box-shadow: none; z-index: 1; background: transparent; width: 100%; } .modal form .select-wrapper.null, .form-inline .select-wrapper.null { border-color: #ebeef2; } .modal form .select-wrapper.null select, .form-inline .select-wrapper.null select { color: #a0a5b0; } .modal form .select-wrapper.null .up, .form-inline .select-wrapper.null .up { border-top-color: #a0a5b0 !important; } .modal form .select-wrapper.null .dn, .form-inline .select-wrapper.null .dn { border-bottom-color: #a0a5b0 !important; } .modal form textarea, .form-inline textarea { width: 100%; padding: 12px; } @media (max-width: 420px) { .modal form input, .modal form input:nth-child(2), .modal form input:nth-child(6), .modal form select:nth-child(4), .form-inline input, .form-inline input:nth-child(2), .form-inline input:nth-child(6), .form-inline select:nth-child(4) { width: 100%; margin-right: 0; } } .modal form button, .form-inline button { font-size: 13px; padding: 10px 13px 8px; height: 41px; line-height: 10px; margin-top: 10px; float: right; font-weight: 600; letter-spacing: 0; text-transform: none; } .modal form .success, .form-inline .success { color: #1ed176; } .modal form .error, .form-inline .error { color: #f8556c; } .navbar-default { background: linear-gradient(to right, #347eff, #1ea3ff); font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; margin-bottom: 20px; position: relative; padding-top: 20px; border-radius: 0; margin-bottom: 20px; min-height: 32px; z-index: 30; border: 0; } @media (max-width: 767px) { .navbar-default { position: fixed; top: 0; width: 100%; padding-top: 1px; min-height: 50px; } .navbar-default.products-page { position: fixed; } } .navbar-default.enterprise { background: #fff; } .navbar-default.enterprise .navbar-brand svg { fill: #000; } .navbar-default.enterprise .navbar-toggle i { color: #000; } .navbar-default.enterprise .navbar-toggle:hover i { color: rgba(0, 0, 0, 0.6); } @media (max-width: 991px) { .navbar-default .navbar-header { width: auto; } } .navbar-default .navbar-brand { height: 32px; padding: 1px 0 0 13px; transition: 0.3s opacity; } @media (max-width: 767px) { .navbar-default .navbar-brand { padding-top: 8px; } } .navbar-default .navbar-brand img { width: 128px; } .navbar-default .navbar-brand:hover { opacity: 0.65; } .navbar-default.transparent { background: transparent; } @media (max-width: 767px) { .navbar-default.transparent { background: #fff; box-shadow: 0px 1px 2px 0px rgba(0, 20, 56, 0.06); } } @media (max-width: 767px) { .navbar-default .navbar-collapse { box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1); } } .navbar-default #ionic-io-logo { fill: #fff; height: 30px; width: 96px; margin: 0; } .light .navbar-default #ionic-io-logo, .navbar-default #ionic-io-logo.light { fill: #3880FF; } @media (max-width: 767px) { .navbar-default #ionic-io-logo { fill: #3880FF; } } .navbar-default .navbar-collapse { text-align: center; max-height: 32px; } @media (max-width: 767px) { .navbar-default .navbar-collapse { max-height: 600px; margin-top: 20px; } } .navbar-default .navbar-nav.navbar-center { float: none; margin: 0 auto; display: inline-block; } @media (min-width: 992px) { .navbar-default .navbar-nav.navbar-center { margin-left: 0px; } } @media (max-width: 767px) { .navbar-default .navbar-nav { padding-right: 6px; padding-left: 6px; } } .navbar-default .navbar-nav > li { padding-top: 0; } @media (min-width: 768px) and (max-width: 991px) { .navbar-default .navbar-nav > li.sm-hide { display: none; } } @media (max-width: 1219px) { .navbar-default .navbar-nav > li.hide-lt-lg, .navbar-default .navbar-nav > li .hide-lt-lg { display: none; } } @media (min-width: 1220px) { .navbar-default .navbar-nav > li.hide-gt-md, .navbar-default .navbar-nav > li .hide-gt-md { display: none; } } .navbar-default .navbar-nav > li > a { color: white; font-size: 13px; font-weight: 600; margin-top: 0; padding: 6px 8px; letter-spacing: -.01em; margin-left: 14px; margin-right: 14px; transition: 0.2s color; border-top: none; border-radius: 4px; transition-duration: 0.3s; } @media (max-width: 1219px) { .navbar-default .navbar-nav > li > a { margin-left: 9px; margin-right: 9px; } } @media (max-width: 991px) { .navbar-default .navbar-nav > li > a { margin-left: 0; margin-right: 0; padding-left: 10px; padding-right: 10px; } } @media (max-width: 767px) { .navbar-default .navbar-nav > li > a { padding: 15px; border: 0; } } .navbar-default .navbar-nav > li > a:hover { color: rgba(255, 255, 255, 0.65); } .navbar-default .navbar-nav > li.open > a { color: rgba(255, 255, 255, 0.65) !important; } .navbar-default .navbar-nav > li.active > a { color: rgba(255, 255, 255, 0.4); pointer-events: none; } .navbar-default .navbar-nav > li.active > a:hover { color: rgba(255, 255, 255, 0.65); } .light .navbar-default .navbar-nav > li.open > a { color: #131924 !important; } .navbar-default .navbar-nav > li.header-btn-white a { background-color: white; vertical-align: middle; padding: 6px 8px 6px; border-radius: 4px; color: #4a8bfc; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); margin-right: 0; margin-left: 24px; transition: 0.3s box-shadow, 0.3s background; } .navbar-default .navbar-nav > li.header-btn-white a:hover { opacity: 1; color: #4a8bfc; box-shadow: 0 3px 5px rgba(0, 0, 0, 0.15); background-color: white; } .navbar-default .navbar-nav > li.header-btn-white a:active { box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2); } @media (min-width: 768px) { .navbar-default .navbar-nav > li.header-btn-white.blue a { color: white; background: #4a8bfc; } .navbar-default .navbar-nav > li.header-btn-white.blue a:hover { background-color: rgba(74, 139, 252, 0.9); } } .navbar-default .dropdown .dropdown-menu { display: block; visibility: 0; opacity: 0; -webkit-transform: scaleY(0); transform: scaleY(0); -webkit-transform-origin: top; transform-origin: top; transition: opacity 0.3s, -webkit-transform 0.3s ease; transition: transform 0.3s ease, opacity 0.3s; transition: transform 0.3s ease, opacity 0.3s, -webkit-transform 0.3s ease; } .navbar-default .dropdown.open .dropdown-menu { visibility: 1; opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1); } .navbar-default .dropdown .divider { border-bottom: 1px solid #ebeef2; margin: 6px 0 13px; } @media (max-width: 767px) { .navbar-default .dropdown .dropdown-menu { text-align: center; } } @media (min-width: 768px) { .navbar-default .dropdown .dropdown-menu { display: block; position: absolute; border: 0; border-radius: 8px; top: 39px; padding: 18px 0; right: auto; left: 50%; box-shadow: 0 10px 28px rgba(0, 16, 44, 0.18), 0 1px 5px rgba(0, 16, 44, 0.2); opacity: 0; top: -2000px; pointer-events: none; -webkit-transform: translate3d(-50%, -10px, 0) scale(1, 1) perspective(1px); transform: translate3d(-50%, -10px, 0) scale(1, 1) perspective(1px); z-index: 1; transition-delay: 0s; -webkit-transform-origin: 50% 0; transform-origin: 50% 0; transition: opacity 0.2s linear, top 0.25s step-end, -webkit-transform 0.2s cubic-bezier(0.36, 0.66, 0.04, 1); transition: transform 0.2s cubic-bezier(0.36, 0.66, 0.04, 1), opacity 0.2s linear, top 0.25s step-end; transition: transform 0.2s cubic-bezier(0.36, 0.66, 0.04, 1), opacity 0.2s linear, top 0.25s step-end, -webkit-transform 0.2s cubic-bezier(0.36, 0.66, 0.04, 1); -webkit-backface-visibility: hidden; backface-visibility: hidden; } .navbar-default .dropdown .dropdown-menu__text--l1, .navbar-default .dropdown .dropdown-menu__text--l2, .navbar-default .dropdown .dropdown-menu__text--l3, .navbar-default .dropdown .dropdown-menu__text--l4 { line-height: 1.3; letter-spacing: -0.01em; color: #5290FE; } .navbar-default .dropdown .dropdown-menu__text--l1 { font-weight: 600; font-size: 16px; } .navbar-default .dropdown .dropdown-menu__text--l1 ion-icon { transition: translate 0.2s; -webkit-transform: translate(0, 3px); transform: translate(0, 3px); } .navbar-default .dropdown .dropdown-menu__text--l1:hover ion-icon { -webkit-transform: translate(1px, 3px); transform: translate(1px, 3px); } .navbar-default .dropdown .dropdown-menu__text--l2 { font-weight: 600; font-size: 14px; } .navbar-default .dropdown .dropdown-menu__text--l3 { font-size: 13px; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; } .navbar-default .dropdown .dropdown-menu__text--l4 { font-size: 10px; line-height: 1; letter-spacing: 0.1em; text-transform: uppercase; color: #B2BECD; font-weight: 700; } .navbar-default .dropdown .dropdown-menu ul + h6 { margin-top: 26px; } .navbar-default .dropdown .dropdown-menu a, .navbar-default .dropdown .dropdown-menu li, .navbar-default .dropdown .dropdown-menu ul { margin: 0; padding: 0; } .navbar-default .dropdown .dropdown-menu li { list-style-type: none; padding: 0; } .navbar-default .dropdown .dropdown-menu a, .navbar-default .dropdown .dropdown-menu span, .navbar-default .dropdown .dropdown-menu strong { display: block; padding: 8px 28px; min-width: 230px; transition: 0.2s color; } .navbar-default .dropdown .dropdown-menu a.dropdown-menu__text--l1 { padding: 12px 28px; } .navbar-default .dropdown .dropdown-menu a.dropdown-menu__text--l3 { padding: 5px 28px; } .navbar-default .dropdown .dropdown-menu a { color: #5290FE; } .navbar-default .dropdown .dropdown-menu .big a { padding-left: 65px; position: relative; } .navbar-default .dropdown .dropdown-menu .big a svg { position: absolute; left: 30px; top: 15px; } .navbar-default .dropdown .dropdown-menu .big a span { padding-top: 0; color: #73849A !important; } .navbar-default .dropdown .dropdown-menu .big a strong { padding-top: 12px; padding-bottom: 0; color: #5290FE; } .navbar-default .dropdown .dropdown-menu--withbigs { padding-top: 0; } .navbar-default .dropdown .dropdown-menu--withbigs .big:first-child { margin-top: 12px !important; } .navbar-default .dropdown .dropdown-menu--withbigs .big + .divider { margin-top: 18px; } .navbar-default .dropdown .dropdown-menu a:hover { background: transparent; color: #3376e8; } .navbar-default .dropdown .dropdown-menu a:hover strong, .navbar-default .dropdown .dropdown-menu a:hover span { color: #3376e8; } .navbar-default .dropdown .dropdown-menu .divider { padding-top: 20px; background: #f8f9fb; margin-top: 14px; border-bottom: none; } .navbar-default .dropdown .dropdown-menu .divider ~ li a, .navbar-default .dropdown .dropdown-menu .divider ~ li span { background: #F6F8FB; } .navbar-default .dropdown .dropdown-menu .divider ~ li:last-child a { margin-bottom: -15px; padding-bottom: 21px; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; } .navbar-default .dropdown .dropdown-menu .split { display: -ms-flexbox; display: flex; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: nowrap; flex-wrap: nowrap; min-width: 360px; padding-bottom: 8px; } .navbar-default .dropdown .dropdown-menu .split a, .navbar-default .dropdown .dropdown-menu .split span { min-width: 0; } .navbar-default .dropdown .dropdown-menu .split .sm { color: #4a8bfc; font-size: 12px; font-weight: 400; padding: 4px 28px; } .navbar-default .dropdown .dropdown-menu .split .sm:hover { color: #7cabfd; } .navbar-default .dropdown .dropdown-menu::after { position: absolute; top: -10px; content: ''; width: 100%; height: 19px; } .navbar-default .dropdown .dropdown-menu::before { position: absolute; width: 14px; height: 14px; top: -5px; right: calc(50% - 7px); background: white; -webkit-transform: rotate(45deg); transform: rotate(45deg); border-radius: 4px; content: ''; display: block; } .navbar-default .dropdown.open .dropdown-menu, .navbar-default .dropdown:hover .dropdown-menu { opacity: 1; top: 39px; z-index: 4; pointer-events: all; -webkit-transform: translate3d(-50%, 0, 0) scale(1, 1) perspective(1px); transform: translate3d(-50%, 0, 0) scale(1, 1) perspective(1px); transition: opacity 0.1s linear, top 0.25s step-start, -webkit-transform 0.25s cubic-bezier(0.17, 0.67, 0.52, 1); transition: transform 0.25s cubic-bezier(0.17, 0.67, 0.52, 1), opacity 0.1s linear, top 0.25s step-start; transition: transform 0.25s cubic-bezier(0.17, 0.67, 0.52, 1), opacity 0.1s linear, top 0.25s step-start, -webkit-transform 0.25s cubic-bezier(0.17, 0.67, 0.52, 1); transition-delay: 0.2s; } .navbar-default .dropdown .caret { border-top: 3px dashed; border-right: 3px solid transparent; border-left: 3px solid transparent; } } .navbar-default .version { float: left; list-style: none; padding-left: 0; } .navbar-default .version > li > a { padding: 12px 5px 0; font-size: 18px; font-weight: 600; color: rgba(255, 255, 255, 0.5); display: block; } @media (max-width: 767px) { .navbar-default .version > li > a { padding: 13px 10px 0; } } .navbar-default .version > li > a:active, .navbar-default .version > li > a:focus, .navbar-default .version > li > a:hover { color: rgba(255, 255, 255, 0.7); text-decoration: none; } .navbar-default .version .dropdown-menu { display: block; position: absolute; border: 0; border-radius: 3px; padding: 12px 0 10px; top: 52px; left: 70px; right: -100px; min-width: 205px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.2); opacity: 0; -webkit-transform: scale(0.01); transform: scale(0.01); -webkit-transform-origin: 20% 8px; transform-origin: 20% 8px; transition: all 0.3s cubic-bezier(0.155, 1.105, 0.295, 1.12), opacity 0.1s linear; } .navbar-default .version .dropdown-menu a { padding: 6px 23px; line-height: 1.6; font-size: 13px; font-weight: 500; } .navbar-default .version .dropdown-menu a i::before { font-size: 30px; line-height: 10px; position: relative; top: 7px; margin-left: 5px; } .navbar-default .version .dropdown-menu a.active, .navbar-default .version .dropdown-menu a.active:hover { color: #4a8bfc; text-decoration: none; background: transparent; cursor: default; } .navbar-default .version .dropdown-menu::before { background: url("/img/ico-nav-arrow.png") center center no-repeat; background-size: 15px; width: 15px; height: 8px; position: absolute; top: -7px; left: 35px; content: ''; z-index: 5; } .navbar-default .version.open .dropdown-menu { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } .navbar-default .header-form { margin: 6px 0 0 110px; } @media (max-width: 1330px) { .navbar-default .header-form { margin-left: 0; } } .navbar-default .header-form .form-group { position: relative; padding-left: 0; margin-bottom: 0; } .navbar-default .header-form .form-group input { background: rgba(255, 255, 255, 0.1); box-shadow: none; border: 0; color: white; font-size: 14px; border-radius: 800px; padding-left: 38px; width: 150px; transition: all 0.3s cubic-bezier(0.2, 0.85, 0.2, 1.1); } .navbar-default .header-form .form-group input:focus { width: 270px; color: white; background: rgba(255, 255, 255, 0.15); } .navbar-default .header-form .form-group input::-webkit-input-placeholder { color: rgba(255, 255, 255, 0.4); } .navbar-default .header-form .form-group input::-moz-placeholder { color: rgba(255, 255, 255, 0.4); } .navbar-default .header-form .form-group input::placeholder { color: rgba(255, 255, 255, 0.4); } .navbar-default .header-form .form-group::before { font-family: 'Ionicons'; -webkit-font-smoothing: antialiased; content: '\f4a5'; font-size: 18px; font-weight: 800; color: rgba(255, 255, 255, 0.4); position: absolute; top: 4px; left: 14px; cursor: pointer; } @media (max-width: 767px) { .navbar-default .header-form .form-group::before { color: white; } } @media (max-width: 1219px) { .navbar-default .header-form { margin-left: 40px; } .navbar-default .header-form .form-group input:focus { width: 192px; } } @media (max-width: 767px) { .navbar-default .header-form { float: right; margin-left: 10px; } .navbar-default .header-form .form-group input { width: 40px; padding: 0px; opacity: 0; } .navbar-default .header-form .form-group input:focus { width: calc(100vw - 20px); padding: 6px 12px; padding-left: 38px; opacity: 1; margin-bottom: 10px; margin-right: 10px; } } .navbar-default .navbar-toggle, .navbar-default .sidebar-toggle { border: 0; position: relative; background: transparent; } .navbar-default .navbar-toggle i, .navbar-default .sidebar-toggle i { position: absolute; font-size: 27px; top: -3px; color: #fff; transition: color 0.3s, opacity 0.3s, -webkit-transform 0.3s; transition: color 0.3s, transform 0.3s, opacity 0.3s; transition: color 0.3s, transform 0.3s, opacity 0.3s, -webkit-transform 0.3s; } .navbar-default .navbar-toggle:active, .navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover, .navbar-default .sidebar-toggle:active, .navbar-default .sidebar-toggle:focus, .navbar-default .sidebar-toggle:hover { background: transparent; outline: none; } .navbar-default .navbar-toggle:active i, .navbar-default .navbar-toggle:focus i, .navbar-default .navbar-toggle:hover i, .navbar-default .sidebar-toggle:active i, .navbar-default .sidebar-toggle:focus i, .navbar-default .sidebar-toggle:hover i { color: #fff; } .navbar-default .navbar-toggle .ion-md-close, .navbar-default .sidebar-toggle .ion-md-close { opacity: 0; } .navbar-default .navbar-toggle.active i, .navbar-default .sidebar-toggle.active i { -webkit-transform: rotate(90deg); transform: rotate(90deg); } .navbar-default .navbar-toggle.active i:not(.ion-md-close), .navbar-default .sidebar-toggle.active i:not(.ion-md-close) { opacity: 0; } .navbar-default .navbar-toggle.active .ion-md-close, .navbar-default .sidebar-toggle.active .ion-md-close { -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 1; } .navbar-default.transparent .navbar-toggle i, .navbar-default.transparent .sidebar-toggle i { color: #4a8bfc; } .navbar-default.transparent .navbar-toggle:active i, .navbar-default.transparent .navbar-toggle:focus i, .navbar-default.transparent .navbar-toggle:hover i, .navbar-default.transparent .sidebar-toggle:active i, .navbar-default.transparent .sidebar-toggle:focus i, .navbar-default.transparent .sidebar-toggle:hover i { color: #4a8bfc; } .navbar-default .sidebar-toggle { float: left; margin: 8px 10px 0; display: none; } @media (max-width: 767px) { .navbar-default .sidebar-toggle { display: block; } } .navbar-default .container-fluid { min-height: 62px; padding-top: 13px; margin-top: -27px; } .navbar-default .container-fluid .navbar-nav { padding-top: 5px; } @media (max-width: 1219px) { .navbar-default .container-fluid .navbar-nav { padding-left: 5px; } } .navbar-default .container-fluid .navbar-nav > li > a { padding-left: 23px; padding-right: 23px; } .navbar-default .container-fluid .header-btn-white { margin-top: 0; } @media (max-width: 767px) { .navbar-default .container-fluid { padding-top: 28px; } } @media (max-width: 1514px) { .navbar-default .container-fluid .navbar-nav > li > a { padding-left: 14px; padding-right: 14px; } } @media (max-width: 1106px) and (min-width: 768px) { .navbar-default .container-fluid .hide-sm, .navbar-default .container-fluid .sm-hide { display: none; } } @media (max-width: 1219px) { .navbar-default .container-fluid .hide-lt-lg { display: none; } } @media (min-width: 1220px) { .navbar-default .container-fluid .hide-gt-md { display: none; } } @media (max-width: 892px) and (min-width: 768px) { .navbar-default .container-fluid .header-btn, .navbar-default .container-fluid .header-btn-white { display: none; } } .navbar-default .container-fluid #ionic-docs-back, .navbar-default .container-fluid #ionic-docs-logo { width: 32px; transition: 0.3s opacity, 0.3s -webkit-transform; transition: 0.3s transform, 0.3s opacity; transition: 0.3s transform, 0.3s opacity, 0.3s -webkit-transform; } @media (max-width: 767px) { .navbar-default .container-fluid #ionic-docs-back, .navbar-default .container-fluid #ionic-docs-logo { margin-left: 12px; margin-right: -13px; } } .navbar-default .container-fluid #ionic-docs-back { position: absolute; top: 6px; left: 13px; opacity: 0; -webkit-transform: scale3d(1.1, 1.1, 1); transform: scale3d(1.1, 1.1, 1); } .navbar-default .container-fluid #ionic-docs-text { width: 56px; margin-left: 5px; } .navbar-default .container-fluid #ionic-pro-docs-text { width: 36px; margin-left: 8px; } .navbar-default .container-fluid .navbar-brand { padding-top: 8px; } .navbar-default .container-fluid .navbar-brand img { width: 88px; } .navbar-default .container-fluid .navbar-brand.logo { position: relative; padding-top: 6px; } .navbar-default .container-fluid .navbar-brand.logo:hover { opacity: 1; } .navbar-default .container-fluid .navbar-brand.logo:hover #ionic-docs-logo { opacity: 0; -webkit-transform: translate3d(-3px, 0, 0) scale3d(1.1, 1.1, 1); transform: translate3d(-3px, 0, 0) scale3d(1.1, 1.1, 1); } .navbar-default .container-fluid .navbar-brand.logo:hover #ionic-docs-back { opacity: 1; -webkit-transform: translate3d(-3px, 0, 0) scale3d(1, 1, 1); transform: translate3d(-3px, 0, 0) scale3d(1, 1, 1); } .navbar-default .container-fluid .navbar-brand.logo:active, .navbar-default .container-fluid .navbar-brand.logo:focus, .navbar-default .container-fluid .navbar-brand.logo:hover:active { -webkit-transform: translate3d(-3px, 0, 0) scale3d(0.9, 0.9, 1); transform: translate3d(-3px, 0, 0) scale3d(0.9, 0.9, 1); -webkit-transform-origin: 120% 80%; transform-origin: 120% 80%; } .navbar-default + .cta .bar { background: rgba(0, 0, 0, 0.9); min-height: 64px; } .navbar-default + .cta .bar .container > div, .navbar-default + .cta .bar p { color: rgba(255, 255, 255, 0.7); text-align: center; margin-top: 15px; margin-bottom: 15px; font-weight: 400; font-size: 16px; } .navbar-default + .cta .bar.affix-top { position: absolute; z-index: 1; } .navbar-default + .cta .bar.affix { top: 0; position: fixed; z-index: 100; } .navbar-default + .cta .bar.tabbed { background: #fbfcfd; border-bottom: 1px solid #f9fafb; width: 100%; } .navbar-default + .cta .bar.tabbed.affix { border-bottom-color: transparent; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(0, 0, 0, 0.05); } .navbar-default + .cta .bar.tabbed.affix ul li a { margin-bottom: -2px; } .navbar-default + .cta .bar.tabbed ul { padding: none; text-align: center; } .navbar-default + .cta .bar.tabbed ul li { display: inline-block; } .navbar-default + .cta .bar.tabbed ul li a { padding: 25px 18px; display: inline-block; line-height: 1em; font-size: 13px; font-weight: 500; margin: 0 15px -1px; color: #576070; border-bottom: 2px solid transparent; transition: color 0.2s, border-color 0.2s; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-weight: 600; } .navbar-default + .cta .bar.tabbed ul li a:focus { background: transparent; } .navbar-default + .cta .bar.tabbed ul li.active a { border-color: #4a8bfc; } .navbar-default + .cta .bar.tabbed ul li.active a, .navbar-default + .cta .bar.tabbed ul li a:active, .navbar-default + .cta .bar.tabbed ul li a:hover { color: #4a8bfc; background: transparent; } @media (max-width: 767px) { .navbar-default + .cta .bar.tabbed ul { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; } .navbar-default + .cta .bar.tabbed ul li a { margin-right: 0; margin-left: 0; padding-left: 4px; padding-right: 4px; } } @media (min-width: 768px) { .navbar-default.light #ionic-io-logo { fill: #4f6384; } .navbar-default.light .navbar-nav > li:not(.header-btn-white) > a, .navbar-default.light .navbar-nav ionic-search ion-icon { color: #788294; } .navbar-default.light .navbar-nav > li:not(.header-btn-white) > a:hover, .navbar-default.light .navbar-nav ionic-search ion-icon:hover { color: #4a8bfc; } .navbar-default.light .navbar-nav > li.active > a { color: #c7d0e0; } .navbar-default.enterprise { background: none; padding-top: 36px; } .navbar-default.enterprise .navbar-nav > li:not(.header-btn-white) > a, .navbar-default.enterprise .navbar-nav ionic-search ion-icon { color: #4E5B6A; } .navbar-default.enterprise .navbar-nav > li:not(.header-btn-white) > a:hover, .navbar-default.enterprise .navbar-nav ionic-search ion-icon:hover { color: #92A1B3; } .navbar-default.enterprise .navbar-nav > li.active > a, .navbar-default.enterprise .navbar-nav > li.open > a { color: #92A1B3 !important; } .navbar-default.enterprise .navbar-nav > li:not(.header-btn-white) > a { margin-left: 0; margin-right: 0; padding: 0 14px 10px; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-weight: 400; font-size: 14px; } .navbar-default.enterprise .navbar-nav > li.active > a { color: #4E5B6A; } .navbar-default.enterprise .navbar-right { margin-top: 3px; } .navbar-default.enterprise .navbar-center { margin-top: 6px; float: right; } .navbar-default.enterprise.navbar-sticky { background: white; } .navbar-default #header-btn-outline { transition: 0.2s border; padding: 2px 10px 4px; margin-left: 14px; color: #3880FF; border-radius: 16px; border: 1px solid rgba(56, 128, 255, 0.4); box-sizing: border-box; box-shadow: none; font-size: 13px; font-weight: 600; } .navbar-default #header-btn-outline:hover { border: 1px solid rgba(56, 128, 255, 0.8); } } .navbar-default .navbar-right > li > a { font-weight: 700; margin-right: 0px; margin-left: 8px; } .navbar-default.navbar-sticky { z-index: 999; padding: 20px 0px; box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.04), 0px 6px 12px rgba(0, 0, 0, 0.02); } .navbar-default ionic-search:not(.hydrated) { visibility: hidden; width: 18px; height: 31px; display: block; } @media (min-width: 992px) { .docs .navbar-default .navbar-nav.navbar-center { margin-left: 0; } } body.page-header { padding-bottom: 0; margin: 0; border-bottom: 0; } .navbar-dark { background: #11192a; } .external-icon .external-icon__background { fill: #97BDFF; } .external-icon .external-icon__foreground { fill: #fff; } .light .external-icon .external-icon__background, .external-icon--light .external-icon__background { fill: #e5e7ea; } .light .external-icon .external-icon__foreground, .external-icon--light .external-icon__foreground { fill: #7a8496; } .hbspt-form { max-width: 420px; margin: 0 auto; font-weight: 400; } .hbspt-form .hs-form-required { display: none; } .hbspt-form form fieldset.form-columns-2 .input { margin-right: 12px; } .hbspt-form form.stacked .field { margin-bottom: 4px; } .hbspt-form .hs-input, .hbspt-form input.hs-input, .hbspt-form select.hs-input { border: 1px solid #e1e5ed; font-weight: 500; border-radius: 4px; transition: border-color .2s; box-shadow: none; outline: none; height: 30px; padding: 6px 12px; font-size: 14px; line-height: 1.428571429; } .hbspt-form .hs-input:placeholder, .hbspt-form input.hs-input:placeholder, .hbspt-form select.hs-input:placeholder { color: #a0a5b0; } .hbspt-form .hs-input:hover, .hbspt-form .hs-input:focus, .hbspt-form .hs-input:active, .hbspt-form input.hs-input:hover, .hbspt-form input.hs-input:focus, .hbspt-form input.hs-input:active, .hbspt-form select.hs-input:hover, .hbspt-form select.hs-input:focus, .hbspt-form select.hs-input:active { outline: none; border-color: #4a8bfc; box-shadow: none; } .hbspt-form .hs-input.hs-input.error, .hbspt-form input.hs-input.hs-input.error, .hbspt-form select.hs-input.hs-input.error { border-color: #f8556c; } .hbspt-form select.hs-input { height: 44px; width: calc(100% + 6px) !important; } .hbspt-form textarea.hs-input { padding: 12px; width: calc(100% + 3px) !important; min-height: 192px; } .hbspt-form .hs_submit input.hs-button { font-size: 13px; padding: 10px 18px 10px; margin-right: -14px; margin-top: -36px; line-height: 23px; float: right; font-weight: 600; letter-spacing: 0; text-transform: none; text-shadow: none; background: #4a8bfc; border: 0; outline: 0; transition: all .2s linear; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12); } .hbspt-form .hs_submit input.hs-button:hover { border: 0; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12); background: #5995fc; color: #fff; outline: 0; } .hbspt-form .hs_submit input.hs-button:active, .hbspt-form .hs_submit input.hs-button:active:not(.inactive):not(.link), .hbspt-form .hs_submit input.hs-button:focus:not(.inactive) { border: 0; color: #fff; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2); background: #5995fc; outline: 0; } .hbspt-form .submitted-message { font-size: 18px; padding: 34px 0 78px; text-align: center; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; font-weight: 400; color: #35af55; max-width: 410px; background-color: white; margin: 0 auto; } .hbspt-form .submitted-message:before { content: ''; display: block; background-image: url("/img/checkmark-light-green.svg"); background-repeat: no-repeat; background-size: 100%; width: 42px; height: 42px; margin-bottom: 12px; } .modal .hbspt-form .hs_submit input.hs-button { padding: 0; } .hubspot-override .hbspt-form { font-family: apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif; } .hubspot-override .hbspt-form, .hubspot-override .hbspt-form fieldset { max-width: 100%; } .hubspot-override .hbspt-form .hs-form-field { margin-top: 16px; } .hubspot-override .hbspt-form label { margin-bottom: 3px; } .hubspot-override .hbspt-form .hs-form-required { display: inline; color: #F45454; margin-left: 4px; } .hubspot-override .hbspt-form .hs-richtext { margin-top: 8px; } .hubspot-override .hbspt-form .hs-input, .hubspot-override .hbspt-form input.hs-input { transition: border 0.3s; font-weight: 500; background-color: #fff; background-image: none; border: 1px solid #ced6e3; line-height: 1.39286; border-radius: 4px; padding: 11px 15px; font-size: 15px; margin-bottom: 0; color: #505863; } .hubspot-override .hbspt-form input.hs-input[type="number"] { float: none; } .hubspot-override .hbspt-form input.hs-input[type="text"], .hubspot-override .hbspt-form input.hs-input[type="email"], .hubspot-override .hbspt-form input.hs-input[type="tel"] { height: auto; width: 100%; float: none; } .hubspot-override .hbspt-form input.hs-input[type="text"]:focus, .hubspot-override .hbspt-form input.hs-input[type="email"]:focus, .hubspot-override .hbspt-form input.hs-input[type="tel"]:focus { border-color: #629eff; } .hubspot-override .hbspt-form input.hs-input[type="radio"], .hubspot-override .hbspt-form input.hs-input[type="checkbox"] { height: auto; margin-right: 8px; } .hubspot-override .hbspt-form .hs-form-booleancheckbox-display { display: -ms-flexbox; display: flex; } .hubspot-override .hbspt-form select.hs-input { height: 44px; -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px, 5px 5px, 1px 1.5em; background-repeat: no-repeat; } .hubspot-override .hbspt-form form fieldset.form-columns-2 .input { margin: 0; } .hubspot-override .hbspt-form fieldset.form-columns-2 .hs-form-field { padding: 0 10px; } .hubspot-override .hbspt-form fieldset.form-columns-2 .hs-form-field:first-child { padding-left: 0; } .hubspot-override .hbspt-form fieldset.form-columns-2 .hs-form-field:last-child { padding-right: 0; } .hubspot-override .hbspt-form .inputs-list, .hubspot-override .hbspt-form .hs-error-msgs { margin: 0; padding: 0; list-style-type: none; } .hubspot-override .hbspt-form .inputs-list.multi-container { overflow: hidden; } .hubspot-override .hbspt-form .inputs-list.multi-container li:nth-last-child(n+6):first-child, .hubspot-override .hbspt-form .inputs-list.multi-container li:nth-last-child(n+6):first-child ~ li { width: 50%; float: left; padding-right: 11px; } .hubspot-override .hbspt-form .inputs-list.multi-container li:nth-last-child(n+6):first-child ~ li:nth-child(even) { padding-right: 0; padding-left: 11px; } .hubspot-override .hbspt-form .hs-form-checkbox-display { margin-top: 4px; display: -ms-flexbox; display: flex; } .hubspot-override .hbspt-form .hs-form-checkbox-display .hs-input[type="checkbox"] { margin-right: 10px; } .hubspot-override .hbspt-form .hs-form-checkbox-display span { font-size: 15px; color: #505863; } .hubspot-override .hbspt-form .hs-error-msgs { padding: 5px 0 0; font-size: 11px; color: #F45454; } .hubspot-override .hbspt-form .hs_submit { margin-top: 30px; } .hubspot-override .hbspt-form .hs_submit input.hs-button { transition: all .3s ease; margin: 0; float: none; font-size: 16px; font-weight: 700; padding: 12px 20px; vertical-align: middle; color: white; background: #3880ff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.12); border-radius: 4px; line-height: 18px; letter-spacing: -0.01em; } .hubspot-override .hbspt-form .hs_submit input.hs-button:hover { box-shadow: 0 7px 14px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.08); background: #4d8dfd; color: #fff; outline: none; } @media (max-width: 768px) { .hubspot-override .hbspt-form fieldset.form-columns-2 .hs-form-field { width: 100%; float: none; padding: 0; } .hubspot-override .hbspt-form fieldset.form-columns-2 .hs-form-field + .hs-form-field { margin-top: 24px; } .hubspot-override .hbspt-form .inputs-list.multi-container li:nth-last-child(n+6):first-child, .hubspot-override .hbspt-form .inputs-list.multi-container li:nth-last-child(n+6):first-child ~ li { width: 100%; float: none; padding-right: 0; } .hubspot-override .hbspt-form .inputs-list.multi-container li:nth-last-child(n+6):first-child ~ li:nth-child(even) { padding-left: 0; } .hubspot-override .hbspt-form .hs_submit input.hs-button { width: 100%; } } .hubspot-override--large .hbspt-form label:not(.hs-form-booleancheckbox-display) { text-transform: uppercase; font-size: 12px; letter-spacing: 0.05em; margin-bottom: 6px; } .hubspot-override--large .hbspt-form .hs-form-booleancheckbox-display { font-size: 15px; } .hubspot-override--large .hbspt-form .hs-richtext p span, .hubspot-override--large .hbspt-form .hs-richtext p a { font-size: 15px; } .hubspot-override--large .hbspt-form .hs-input, .hubspot-override--large .hbspt-form input.hs-input { padding: 16px 20px 18px; font-size: 18px; } .hubspot-override--large .hbspt-form select.hs-input { text-indent: 10px; height: 60px; } @-moz-document url-prefix() { .hubspot-override--large .hbspt-form select.hs-input { text-indent: 0; } } .hubspot-override--large .hbspt-form .hs-error-msgs label { font-size: 11px; letter-spacing: 0; text-transform: none; } .hubspot-override--large .hbspt-form fieldset.form-columns-2 .hs-form-field { padding: 0 20px; } .hubspot-override--large .hbspt-form .hs_submit { text-align: center; padding-top: 18px; } .hubspot-override--large .hbspt-form .hs_submit input.hs-button { padding: 22px 27px 24px; border-radius: 6px; } @media (max-width: 768px) { .hubspot-override--large .hbspt-form fieldset.form-columns-2 .hs-form-field { padding: 0; } } .hubspot-override--measure { max-width: 748px; margin-left: auto; margin-right: auto; } /** * The Sub Header sits under the main navigation to display context-specific * page information, widgets, and links. * September 2017 */ .sub-header > .container { display: -ms-flexbox; display: flex; -ms-flex-direction: row; flex-direction: row; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: center; align-items: center; color: #697384; font-size: 13px; font-weight: 600; -ms-flex-wrap: wrap; flex-wrap: wrap; position: relative; z-index: 1; } .sub-header > .container::before { border-top: 1px solid rgba(255, 255, 255, 0.06); display: block; content: ''; position: absolute; top: 0; right: 15px; left: 15px; -ms-flex: 0 0 100%; flex: 0 0 100%; } .sub-header > .container::after { display: none; } .sub-header ul { padding: 0; list-style: none; } .sub-header li { display: inline-block; font-weight: 600; } .sub-header ul:not(.breadcrumbs) { text-transform: uppercase; letter-spacing: 0.08em; font-size: 11px; } .sub-header ul:not(.breadcrumbs) li { padding: 18px 15px; } .sub-header ul:not(.breadcrumbs) li:last-child { padding-right: 0; } .sub-header ul:not(.breadcrumbs) a:not(.btn) { transition: color 0.3s; color: rgba(255, 255, 255, 0.6); padding: 0 0 4px; } .sub-header ul:not(.breadcrumbs) a:not(.btn):not(.active):hover { color: white; } .sub-header ul:not(.breadcrumbs) a:not(.btn).active { color: white; border-bottom: 2px solid rgba(255, 255, 255, 0.2); } @media (max-width: 768px) { .sub-header ul:not(.breadcrumbs) li { padding: 18px 8px; } } .sub-header .breadcrumbs { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-size: 16px; } .sub-header .breadcrumbs.sm { font-size: 13px; } .sub-header .breadcrumbs li { font-weight: 600; color: white; padding: 17px 0; } .sub-header .breadcrumbs li::after { content: '/'; color: rgba(255, 255, 255, 0.1); margin-left: 5px; margin-right: 1px; font-size: 16px; vertical-align: 0px; } .sub-header .breadcrumbs li:last-child::after { display: none; } .sub-header .breadcrumbs li a, .sub-header .breadcrumbs li::after { font-weight: 600; } .sub-header .breadcrumbs a { color: white; transition: .2s color; padding: 0; display: inline-block; margin-left: -1px; } .sub-header .breadcrumbs a:hover { color: rgba(255, 255, 255, 0.3); } .sub-header .breadcrumbs--small, .sub-header .breadcrumbs--small li:after { font-size: 13px; } .sub-header .breadcrumbs--small li a { font-weight: 600; } .sub-header a { color: white; padding: 18px 15px; display: inline-block; text-decoration: none; transition: .2s color; } .sub-header a.current, .sub-header a.active { color: rgba(255, 255, 255, 0.4); } .sub-header a:hover { color: rgba(255, 255, 255, 0.4); } .sub-header a.btn { padding: 6px 8px 5px; font-size: 13px; font-weight: 600; vertical-align: 0px; letter-spacing: -.01em; margin-right: 3px; margin-left: 9px; transition: .3s box-shadow, .3s background; } .sub-header a.btn:hover { box-shadow: 0 3px 5px rgba(0, 0, 0, 0.15); } .sub-header a.btn:active { box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2); } body.light .sub-header .container::before { border-top: 1px solid rgba(0, 0, 0, 0.06); } body.light .sub-header .breadcrumbs li { color: #272a2f; } body.light .sub-header .breadcrumbs li::after { color: rgba(0, 0, 0, 0.3); } body.light .sub-header .breadcrumbs a { color: #7a88a0; } body.light .sub-header .breadcrumbs a:hover { color: #4a8bfc; } body.light .sub-header a { color: #697384; } body.light .sub-header a.current, body.light .sub-header a.active { color: #b1bbca; } body.light .sub-header a:hover { color: #4a8bfc; } .hero { padding-top: 128px; padding-bottom: 72px; position: relative; } .hero.left .content { width: 415px; } @media (max-width: 1219px) { .hero.left .content { width: 400px; } } @media (max-width: 767px) { .hero.left .content { width: 100%; } } .hero.left .graphics { top: 150px; right: 0; position: absolute; } .hero.right .content { width: 451px; float: right; } @media (max-width: 767px) { .hero.right .content { width: 100%; float: none; } } .hero.right .content:after { clear: right; } .hero .graphics { width: 500px; } .hero .graphics video { position: absolute; left: -2px; top: 10px; } .hero .graphics video::-webkit-media-controls-start-playback-button { display: none !important; -webkit-appearance: none; } @media (max-width: 767px) { .hero .graphics { width: 100%; } .hero .graphics video { width: 300px; height: 300px; position: relative; margin: 0 auto; display: block; } } .hero p { font-size: 15px; line-height: 28px; letter-spacing: -0.02em; color: #576070; } .hero p + .btns { margin-top: 37px; } .hero .feature { text-transform: uppercase; display: inline-block; font-weight: 700; font-size: 10px; letter-spacing: 2px; position: relative; padding-bottom: 15px; color: black; } .hero .feature span { transition: left 0.3s cubic-bezier(0.155, 1.105, 0.295, 1.12); position: relative; left: 0; } .hero .feature:after { position: absolute; top: 14px; left: 0; right: 0; content: ''; border-bottom: 2px solid #4C555A; transition: right 0.3s cubic-bezier(0.155, 1.105, 0.295, 1.12); } .hero .feature:before { content: ''; display: inline-block; position: absolute; right: -35px; top: 9px; font-size: 20px; transition: -webkit-transform 0.3s cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: transform 0.3s cubic-bezier(0.155, 1.105, 0.295, 1.12); transition: transform 0.3s cubic-bezier(0.155, 1.105, 0.295, 1.12), -webkit-transform 0.3s cubic-bezier(0.155, 1.105, 0.295, 1.12); width: 11px; height: 11px; border-radius: 2px; border-right: 0.1em solid; border-top: 0.1em solid; -webkit-transform: scale3d(0, 0, 1) rotate(45deg) translate3d(-25px, 25px, 0); transform: scale3d(0, 0, 1) rotate(45deg) translate3d(-25px, 25px, 0); margin-right: 0.5em; } .hero .feature:hover span { left: 5px; } .hero .feature:hover:before { -webkit-transform: scale3d(1, 1, 1) rotate(45deg) translate3d(0, 0, 0); transform: scale3d(1, 1, 1) rotate(45deg) translate3d(0, 0, 0); } .hero .feature:hover:after { right: -25px; } .hero .feature + h2 { margin-top: 25px; margin-bottom: 20px; letter-spacing: -0.01em; color: #272a2f; font-size: 32px; font-weight: 400; } .hero h2 { line-height: 42px; } .hero h3 + p { font-size: 17px; line-height: 34px; } .transparent .cta { margin-top: -78px; padding-top: 78px; } .cta { color: white; background: #4a8bfc; } .cta.gradient { background: linear-gradient(45deg, #347eff 0%, #2990ff 50%, #2285ff 50%, #1ea1ff 100%); } .cta .center { text-align: center; } .cta hgroup { padding-top: 33px; padding-bottom: 94px; max-width: 800px; } .cta hgroup h1 { font-size: 28px; margin-bottom: 12px; letter-spacing: -.03em; } .cta hgroup h4 { font-size: 20px; color: rgba(255, 255, 255, 0.8); letter-spacing: -.03em; line-height: 1.6em; margin-top: -5px; } .cta hgroup p { color: rgba(255, 255, 255, 0.7); font-size: 18px; font-weight: 400; } .cta hgroup a { color: rgba(255, 255, 255, 0.9); } .cta hgroup a:hover { color: white; text-decoration: none; } .cta hgroup small a { font-weight: 600; } .cta .tabs { background: #f6f7fa; } .cta .tabs .container { -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: center; justify-content: center; list-style: none; margin-bottom: 0; text-align: center; } .cta .tabs li { max-width: 360px; margin-left: 43px; text-align: left; display: inline-block; } .cta .tabs li:first-child { margin-left: 0; } @media (max-width: 991px) { .cta .tabs li { margin-left: 0; display: block; margin: 0 auto; } .cta .tabs li:first-child { margin-left: auto; } } .cta .tabs h3 { font-size: 16px; color: #272a2f; margin-bottom: 5px; margin-top: 0; position: relative; } .cta .tabs p { font-size: 14px; color: #727a87; position: relative; margin-bottom: 0; } .cta .tabs a { position: relative; display: block; padding: 32px 0 28px 85px; z-index: 1; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .cta .tabs a::before { position: absolute; content: ''; top: 0; right: 0; bottom: 0; left: 0; transition: .3s box-shadow, .3s transform, .3s background, .3s border-radius; } .cta .tabs a:hover, .cta .tabs a:active, .cta .tabs a:focus { text-decoration: none; } .cta .tabs a:hover::before, .cta .tabs a:active::before, .cta .tabs a:focus::before { background: white; border-radius: 4px; box-shadow: 0 0 4px rgba(0, 0, 0, 0.05), 0 6px 10px rgba(0, 0, 0, 0.08); -webkit-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); } .cta .tabs a:hover::after, .cta .tabs a:active::after, .cta .tabs a:focus::after { opacity: 1; } .cta .tabs a.active::before { background: white; border-radius: 4px; box-shadow: 0 0 4px rgba(0, 0, 0, 0.05), 0 6px 10px rgba(0, 0, 0, 0.08); -webkit-transform: scale(1.2, 1.2); transform: scale(1.2, 1.2); } .cta .tabs a.active::after { opacity: 1; } .cta .tabs a::after { background: url("/img/getting-started/getting-started-toggle-icons.png") no-repeat 0 0; background-size: 70px; width: 70px; height: 70px; content: ''; left: 5px; top: 20px; display: block; position: absolute; opacity: .7; transition: .3s opacity; } .cta .tabs a.creator::after { background-position: 0 -140px; } .cta .alert { color: #ffeed6; font-size: 14px; font-weight: 500; border-radius: 0; margin-bottom: 0; text-align: center; padding-top: 10px; padding-bottom: 10px; } .cta .alert::before { position: relative; font-size: 20px; line-height: 14px; left: 0; top: 2px; margin-right: 5px; content: "\f17e"; } .cta .alert a { color: #ffffff; font-weight: 600; } .cta .alert a:hover { text-decoration: none; color: rgba(255, 255, 255, 0.8); } #pre-footer { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; background: #f9fafb; color: #727a87; padding-top: 80px; padding-bottom: 72px; } #pre-footer ul { list-style: none; } #pre-footer ul::after { content: ''; clear: both; } #pre-footer ul li { float: left; width: 45%; padding-left: 108px; position: relative; } #pre-footer ul li::before { background: url("/img/home/icons-lg.png?1") no-repeat 0 -372px; background-size: 93px; height: 93px; width: 93px; content: ''; display: block; position: absolute; left: -9px; top: -5px; } #pre-footer ul li::after { border-right: 1px solid #dde1ea; content: ''; position: absolute; right: -10%; top: 15px; bottom: 15px; display: block; } #pre-footer ul li.explor-docs::before { background-position: 0 -279px; } #pre-footer ul li.forum::before { background-position: 0 -465px; } #pre-footer ul li.blog::before { background-position: 0 -558px; } #pre-footer ul li:last-child { float: right; } #pre-footer ul li:last-child::after { display: none; } #pre-footer ul li a { font-weight: 600; font-size: 20px; margin-bottom: 5px; letter-spacing: -.02em; } #pre-footer ul li a::after { font-family: 'Ionicons'; content: '\f287'; font-size: .9em; margin-left: 10px; position: relative; display: inline-block; transition: .3s transform; } #pre-footer ul li a:hover, #pre-footer ul li a:active, #pre-footer ul li a:focus { color: #186bfb; text-decoration: none; } #pre-footer ul li a:hover::after, #pre-footer ul li a:active::after, #pre-footer ul li a:focus::after { -webkit-transform: translate3d(5px, 0, 0); transform: translate3d(5px, 0, 0); } #pre-footer ul li p { font-size: 15px; line-height: 1.6em; color: #727a87; margin-top: 2px; font-weight: 600; letter-spacing: -0.02em; } @media (max-width: 767px) { #pre-footer ul li { float: none; width: 100%; } #pre-footer ul li:first-child { margin-bottom: 40px; } #pre-footer ul li::after { display: none; } } .docs #pre-footer { margin-left: 230px; } @media (max-width: 767px) { .docs #pre-footer { margin-left: 0; } } .docs #pre-footer .container { max-width: 100%; } .pre-header { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; background: #F8FAFC; box-shadow: 0 1px 0px 0 rgba(0, 20, 56, 0.06); position: relative; z-index: 999; padding: 6px 0 7px; text-align: center; color: #73849A; } .pre-header .container { position: relative; font-size: 11px; line-height: 1.8em; font-weight: 400; letter-spacing: -.01em; } .pre-header .container:before, .pre-header .container:after { display: none; } .pre-header #optimizely { transition: .2s opacity; } .pre-header p { display: inline; } .pre-header strong { font-weight: 600; color: #020814; } .pre-header a{ background-color: #73a5ff; color: #fff; border-radius: 16px; margin-left: 12px; padding: 6px 8px 5px; font-weight: 600; font-size: 9px; text-transform: uppercase; vertical-align: 0; white-space: pre; letter-spacing: .02em; transition: .2s background-color, .2s box-shadow; } .pre-header a::after { font-family: 'Ionicons'; content: '\f3d1'; margin-left: 3px; } .pre-header a:hover { background-color: #8db5ff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } @media (max-width: 767px) { .pre-header { display: none; } } .pre-header.back { background: #F9F9F9; text-align: left; box-shadow: none; padding: 3px 0; } .pre-header.back a { line-height: normal; font-weight: 600; font-size: 10px; letter-spacing: 0.05em; color: #3880FF; background: none; margin: 0; padding: 10px 0; } .pre-header.back a::after { display: none; } .pre-header.back a ion-icon { color: rgba(56, 128, 255, 0.7); font-size: 12px; height: 12px; width: 12px; display: inline-block; vertical-align: -2px; opacity: 0; transition: .2s transform ease, .2s opacity; margin-right: 4px; } .pre-header.back a ion-icon.hydrated { opacity: 1; } .pre-header.back a:hover { box-shadow: none; } .pre-header.back a:hover ion-icon { -webkit-transform: translateX(-2px); transform: translateX(-2px); } .docs-container + footer { display: none; } footer { border-top: 1px solid #F3F5F9; padding-top: 70px; padding-bottom: 20px; font-weight: 500; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } footer .logo svg { fill: #3880FF; width: 78px; height: 26px; } footer nav { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; } footer nav.container::before, footer nav.container::after { display: none; } footer nav .logo, footer nav ul { -ms-flex: 1; flex: 1; } footer nav ul { list-style: none; font-weight: 500; padding-left: 0; } footer nav ul:first-child { margin-left: 1px; } footer nav ul strong { color: #000000; display: block; font-weight: 600; font-size: 16px; padding-bottom: 4px; letter-spacing: -.01em; } footer nav ul a { line-height: 1; font-size: 14px; letter-spacing: -0.01em; color: #73849A; font-weight: 400; padding: 11px 0; display: inline-block; font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; } footer nav ul a:hover { text-decoration: none; color: #4a8bfc; } footer .signup { margin-top: 60px; display: -ms-flexbox; display: flex; } footer .signup::before, footer .signup::after { display: none; } footer .signup hgroup { -ms-flex: 0 0 auto; flex: 0 0 auto; } footer .signup ionic-newsletter-signup { -ms-flex: 1; flex: 1; margin-left: 60px; } footer .signup form { display: -ms-flexbox; display: flex; height: 50px; } footer .signup hgroup { background: url("/img/footer/footer-newsletter-icon.png") no-repeat 1px 8px; background-size: 40px; padding-left: 63px; min-height: 50px; } footer .signup hgroup h3 { font-size: 16px; margin-top: 0; margin-bottom: 3px; padding-top: 11px; font-weight: 600; letter-spacing: -.02em; } footer .signup hgroup p { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-size: 14px; color: #73849A; letter-spacing: -.016em; font-weight: 400; } @media (max-width: 991px) { footer { padding-top: 46px; } footer nav { -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: start; justify-content: flex-start; } footer nav .logo { -ms-flex: 0 0 100%; flex: 0 0 100%; margin-bottom: 40px; } footer .signup { -ms-flex-direction: column; flex-direction: column; } footer .signup hgroup, footer .signup ionic-newsletter-signup { -ms-flex: 0 0 100%; flex: 0 0 100%; } footer .signup ionic-newsletter-signup { margin-top: 4px; } } @media (max-width: 768px) { footer nav .logo { display: none; } footer nav ul { -ms-flex: 0 0 33%; flex: 0 0 33%; margin-bottom: 36px; } footer nav ul li a { padding: 9px 0; } footer .signup { margin-top: 0; } } @media (max-width: 480px) { footer nav ul { -ms-flex: 0 0 50%; flex: 0 0 50%; } footer .signup ionic-newsletter-signup { margin-left: 0; } } footer .sub-footer { font-size: 12px; color: #9da5b3; border-top: 1px solid #eff1f5; margin-top: 40px; padding-top: 29px; text-align: center; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; } footer .sub-footer ul { display: -ms-flexbox; display: flex; -ms-flex: 0 0 auto; flex: 0 0 auto; list-style: none; padding-left: 0; } footer .sub-footer ul:last-child li + li { margin-left: 15px; } footer .sub-footer .license { margin-left: auto; margin-right: -3px; padding-left: 15px; text-align: right; } @media (max-width: 767px) { footer .sub-footer .license { width: 100%; padding-left: 0; } } footer .sub-footer a { color: #bcc5d5; } footer .sub-footer a:hover { color: #9da5b3; } footer .sub-footer .copyright, footer .sub-footer .privacy, footer .sub-footer .tos { margin-right: 8px; } footer .sub-footer .copyright { -ms-flex: 0 0 77px; flex: 0 0 77px; } footer .sub-footer .privacy { height: 1em; } footer .sub-footer a[id^=btn-footer] { position: relative; height: 16px; width: 16px; display: inline-block; opacity: 0.6; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; } footer .sub-footer a[id^=btn-footer] svg { fill: #CED6E0; } footer .sub-footer a[id^=btn-footer]:hover svg { fill: #B4BBC5; } @media (max-width: 767px) { .hide-xs { display: none; } .show-sm, .show-md, .show-lg { display: none; } } @media (min-width: 768px) and (max-width: 991px) { .hide-sm { display: none; } .show-xs, .show-md, .show-lg { display: none; } } @media (min-width: 992px) and (max-width: 1219px) { .hide-md { display: none; } .show-xs, .show-sm, .show-lg { display: none; } } @media (min-width: 1220px) { .hide-lg { display: none; } .show-xs, .show-sm, .show-md { display: none; } } .btn, .navbar .btn { font-weight: 500; border-radius: 4px; line-height: 1.4em; padding: 14px 33px 14px; margin-right: 10px; transition: all .3s ease; font-size: 18px; border: 0px solid rgba(0, 0, 0, 0); color: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.12); background: #3880ff; letter-spacing: -0.01em; } .btn:last-child, .navbar .btn:last-child { margin-right: 0; } .btn:hover, .btn:focus, .navbar .btn:hover, .navbar .btn:focus { box-shadow: 0 7px 14px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.08); background: #4d8dfd; color: #fff; outline: none; } .btn:active, .btn:active:focus, .btn:active:hover, .navbar .btn:active, .navbar .btn:active:focus, .navbar .btn:active:hover { box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2); background: #5995fc; outline: none; } .btn.outline, .navbar .btn.outline { border-color: #4a8bfc; background: transparent; color: #4a8bfc; border-width: 1px; } .btn.outline:hover, .btn.outline:focus, .navbar .btn.outline:hover, .navbar .btn.outline:focus { border-color: #5995fc; background: rgba(74, 139, 252, 0.05); } .btn.outline.faded, .navbar .btn.outline.faded { border: 1px solid rgba(54, 74, 110, 0.5); color: #A1ABBC; } .btn.outline.faded:hover, .btn.outline.faded:focus, .navbar .btn.outline.faded:hover, .navbar .btn.outline.faded:focus { color: white; border-color: #aab3c2; background: rgba(161, 171, 188, 0.05); } .btn.btn-primary, .btn.light-blue, .navbar .btn.btn-primary, .navbar .btn.light-blue { background: #529eff; } .btn.btn-primary:hover, .btn.btn-primary:focus, .btn.btn-primary:active, .btn.light-blue:hover, .btn.light-blue:focus, .btn.light-blue:active, .navbar .btn.btn-primary:hover, .navbar .btn.btn-primary:focus, .navbar .btn.btn-primary:active, .navbar .btn.light-blue:hover, .navbar .btn.light-blue:focus, .navbar .btn.light-blue:active { background: #61a7ff; } .btn.btn-primary.outline, .btn.light-blue.outline, .navbar .btn.btn-primary.outline, .navbar .btn.light-blue.outline { border-color: #529eff; color: #529eff; } .btn.red, .navbar .btn.red { background: #f8556c; } .btn.red:hover, .btn.red:focus, .btn.red:active, .navbar .btn.red:hover, .navbar .btn.red:focus, .navbar .btn.red:active { background: #FF6177; } .btn.light, .navbar .btn.light { background: #F0F6FF; color: #4a8bfc; } .btn.light:hover, .btn.light:focus, .btn.light:active, .navbar .btn.light:hover, .navbar .btn.light:focus, .navbar .btn.light:active { background: #e6f0ff; } .btn.navy, .navbar .btn.navy { background: #0039a2; } .btn.navy:hover, .btn.navy:focus, .btn.navy:active, .navbar .btn.navy:hover, .navbar .btn.navy:focus, .navbar .btn.navy:active { background: #00276f; } .btn.green, .navbar .btn.green { background: #1ed176; } .btn.green:hover, .btn.green:focus, .btn.green:active, .btn.green:active:focus, .btn.green:active:hover, .navbar .btn.green:hover, .navbar .btn.green:focus, .navbar .btn.green:active, .navbar .btn.green:active:focus, .navbar .btn.green:active:hover { background: #3fe390; } .btn.white, .navbar .btn.white { background: white; color: #4a8bfc; } .btn.white:hover, .btn.white:focus, .btn.white:active, .navbar .btn.white:hover, .navbar .btn.white:focus, .navbar .btn.white:active { color: #4a8bfc; color: #639bfc; } .btn.white:active, .btn.white:active:focus, .btn.white:active:hover, .navbar .btn.white:active, .navbar .btn.white:active:focus, .navbar .btn.white:active:hover { background: white; } .btn.white.outline, .navbar .btn.white.outline { color: #4a8bfc; background: white; } .btn.white.outline:hover, .btn.white.outline:focus, .btn.white.outline:active, .navbar .btn.white.outline:hover, .navbar .btn.white.outline:focus, .navbar .btn.white.outline:active { color: #186bfb; background: white; } .btn.grey, .navbar .btn.grey { background: #9da5b3; } .btn.grey:hover, .btn.grey:focus, .btn.grey:active, .navbar .btn.grey:hover, .navbar .btn.grey:focus, .navbar .btn.grey:active { background: #9da5b3; } .btn.grey.outline, .navbar .btn.grey.outline { color: #9da5b3; background: transparent; } .btn.grey.outline:hover, .btn.grey.outline:focus, .btn.grey.outline:active, .btn.grey.outline:active:focus, .btn.grey.outline:active:hover, .navbar .btn.grey.outline:hover, .navbar .btn.grey.outline:focus, .navbar .btn.grey.outline:active, .navbar .btn.grey.outline:active:focus, .navbar .btn.grey.outline:active:hover { color: #808b9d; background: transparent; } .btn.dark, .navbar .btn.dark { color: white; } .btn.dark-pink, .navbar .btn.dark-pink { background: #212f45; color: #ff567b; } .btn.dark-pink:hover, .btn.dark-pink:focus, .btn.dark-pink:active, .btn.dark-pink:active:focus, .btn.dark-pink:active:hover, .navbar .btn.dark-pink:hover, .navbar .btn.dark-pink:focus, .navbar .btn.dark-pink:active, .navbar .btn.dark-pink:active:focus, .navbar .btn.dark-pink:active:hover { color: #ff567b; background: #293b56; } .btn.orange, .navbar .btn.orange { background-color: #ffa800; } .btn.orange:hover, .navbar .btn.orange:hover { background-color: #feb323; } .btn.sm, .navbar .btn.sm { font-weight: 600; border-radius: 6px; letter-spacing: 0; text-transform: none; padding: 12px 19px 10px; } .btn.rounded, .navbar .btn.rounded { border-radius: 2.5em; letter-spacing: 0; text-transform: none; font-weight: 500; font-size: 16px; padding: 19px 25px 18px; line-height: 1em; } .btn.rounded.sm, .navbar .btn.rounded.sm { padding: 14px 24px 14px; font-size: 14px; font-weight: 600; } .btn.uppercase, .navbar .btn.uppercase { text-transform: uppercase; } .btn.micro, .navbar .btn.micro { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; padding: 4px 8px; font-size: 10px; letter-spacing: 0; font-weight: 700; text-transform: uppercase; background: #fff; border: 1px solid rgba(56, 128, 255, 0.3); color: #3880ff; box-shadow: none; } .btn.micro:hover, .navbar .btn.micro:hover { border-color: #3880ff; } .btn.micro:active, .btn.micro:active:focus, .btn.micro:active:hover, .navbar .btn.micro:active, .navbar .btn.micro:active:focus, .navbar .btn.micro:active:hover { background: #f2f8ff; border-color: #85b1ff; box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); } .draggable { height: 345px; position: relative; } .draggable .code, .draggable .app { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: white; border-radius: 8px; } .draggable .app { right: 0; position: absolute; overflow: hidden; padding: 9px 0 0 9px; background: white url("/img/home/ios-list-design.png") no-repeat 0 bottom; background-size: 540px; } .draggable .code code { padding: 0; position: absolute; top: 0; bottom: 0; right: 0; left: 0; background: transparent; padding-top: 15px; } .draggable .code pre { font-family: monospace; background-color: #fff; position: absolute; top: 0; right: 0; left: 0; bottom: 0; overflow: hidden; line-height: 0em; counter-reset: line; white-space: pre-wrap; padding: 0; border: 0; margin: 0; } .draggable .code pre::before { background: #f3f7ff; position: absolute; top: 0; bottom: 0; left: 0; width: 40px; content: ''; display: block; } .draggable .code pre span.line { display: block; padding: 12px 0 12px 55px; position: relative; } .draggable .code pre span.line:before { counter-increment: line; content: counter(line); display: block; color: #79a5f1; position: absolute; top: 0; left: 0; bottom: 0; width: 40px; text-align: right; padding-top: 12px; padding-right: 8px; } .draggable .toggle { width: 4px; top: 0 !important; bottom: 0; right: 0; position: absolute; box-shadow: 0 0 18px rgba(0, 0, 0, 0.1), 0 0 4px rgba(0, 0, 0, 0.06); background: white; z-index: 3; cursor: -webkit-grab; cursor: grab; } .draggable .toggle::after { background: url("/img/home/drag-button.png") no-repeat 0 0; background-size: 64px; width: 64px; height: 64px; display: block; content: ''; top: calc(50% - 40px); left: -28px; position: absolute; } /*! jQuery UI - v1.12.1 - 2016-11-14 * http://jqueryui.com * Includes: draggable.css, theme.css * To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif * Copyright jQuery Foundation and other contributors; Licensed MIT */ .ui-draggable-handle { -ms-touch-action: none; touch-action: none; } /* Component containers ----------------------------------*/ .ui-widget { font-family: Arial,Helvetica,sans-serif; font-size: 1em; } .ui-widget .ui-widget { font-size: 1em; } .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Arial,Helvetica,sans-serif; font-size: 1em; } .ui-widget.ui-widget-content { border: 1px solid #c5c5c5; } .ui-widget-content { border: 1px solid #dddddd; background: #ffffff; color: #333333; } .ui-widget-content a { color: #333333; } .ui-widget-header { border: 1px solid #dddddd; background: #e9e9e9; color: #333333; font-weight: bold; } .ui-widget-header a { color: #333333; } /* Interaction states ----------------------------------*/ .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active { border: 1px solid #c5c5c5; background: #f6f6f6; font-weight: normal; color: #454545; } .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited, a.ui-button, a:link.ui-button, a:visited.ui-button, .ui-button { color: #454545; text-decoration: none; } .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus, .ui-button:hover, .ui-button:focus { border: 1px solid #cccccc; background: #ededed; font-weight: normal; color: #2b2b2b; } .ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited, .ui-state-focus a, .ui-state-focus a:hover, .ui-state-focus a:link, .ui-state-focus a:visited, a.ui-button:hover, a.ui-button:focus { color: #2b2b2b; text-decoration: none; } .ui-visual-focus { box-shadow: 0 0 3px 1px #5e9ed6; } .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { border: 1px solid #003eff; background: #007fff; font-weight: normal; color: #ffffff; } .ui-icon-background, .ui-state-active .ui-icon-background { border: #003eff; background-color: #ffffff; } .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #ffffff; text-decoration: none; } /* Interaction Cues ----------------------------------*/ .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { border: 1px solid #dad55e; background: #fffa90; color: #777620; } .ui-state-checked { border: 1px solid #dad55e; background: #fffa90; } .ui-state-highlight a, .ui-widget-content .ui-state-highlight a, .ui-widget-header .ui-state-highlight a { color: #777620; } .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { border: 1px solid #f1a899; background: #fddfdf; color: #5f3f3f; } .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #5f3f3f; } .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #5f3f3f; } .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } .ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter: Alpha(Opacity=70); /* support: IE8 */ font-weight: normal; } .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter: Alpha(Opacity=35); /* support: IE8 */ background-image: none; } .ui-state-disabled .ui-icon { filter: Alpha(Opacity=35); /* support: IE8 - See #6059 */ } /* Icons ----------------------------------*/ /* states and images */ .ui-icon { width: 16px; height: 16px; } .ui-icon, .ui-widget-content .ui-icon { background-image: url("images/ui-icons_444444_256x240.png"); } .ui-widget-header .ui-icon { background-image: url("images/ui-icons_444444_256x240.png"); } .ui-state-hover .ui-icon, .ui-state-focus .ui-icon, .ui-button:hover .ui-icon, .ui-button:focus .ui-icon { background-image: url("images/ui-icons_555555_256x240.png"); } .ui-state-active .ui-icon, .ui-button:active .ui-icon { background-image: url("images/ui-icons_ffffff_256x240.png"); } .ui-state-highlight .ui-icon, .ui-button .ui-state-highlight.ui-icon { background-image: url("images/ui-icons_777620_256x240.png"); } .ui-state-error .ui-icon, .ui-state-error-text .ui-icon { background-image: url("images/ui-icons_cc0000_256x240.png"); } .ui-button .ui-icon { background-image: url("images/ui-icons_777777_256x240.png"); } /* positioning */ .ui-icon-blank { background-position: 16px 16px; } .ui-icon-caret-1-n { background-position: 0 0; } .ui-icon-caret-1-ne { background-position: -16px 0; } .ui-icon-caret-1-e { background-position: -32px 0; } .ui-icon-caret-1-se { background-position: -48px 0; } .ui-icon-caret-1-s { background-position: -65px 0; } .ui-icon-caret-1-sw { background-position: -80px 0; } .ui-icon-caret-1-w { background-position: -96px 0; } .ui-icon-caret-1-nw { background-position: -112px 0; } .ui-icon-caret-2-n-s { background-position: -128px 0; } .ui-icon-caret-2-e-w { background-position: -144px 0; } .ui-icon-triangle-1-n { background-position: 0 -16px; } .ui-icon-triangle-1-ne { background-position: -16px -16px; } .ui-icon-triangle-1-e { background-position: -32px -16px; } .ui-icon-triangle-1-se { background-position: -48px -16px; } .ui-icon-triangle-1-s { background-position: -65px -16px; } .ui-icon-triangle-1-sw { background-position: -80px -16px; } .ui-icon-triangle-1-w { background-position: -96px -16px; } .ui-icon-triangle-1-nw { background-position: -112px -16px; } .ui-icon-triangle-2-n-s { background-position: -128px -16px; } .ui-icon-triangle-2-e-w { background-position: -144px -16px; } .ui-icon-arrow-1-n { background-position: 0 -32px; } .ui-icon-arrow-1-ne { background-position: -16px -32px; } .ui-icon-arrow-1-e { background-position: -32px -32px; } .ui-icon-arrow-1-se { background-position: -48px -32px; } .ui-icon-arrow-1-s { background-position: -65px -32px; } .ui-icon-arrow-1-sw { background-position: -80px -32px; } .ui-icon-arrow-1-w { background-position: -96px -32px; } .ui-icon-arrow-1-nw { background-position: -112px -32px; } .ui-icon-arrow-2-n-s { background-position: -128px -32px; } .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } .ui-icon-arrow-2-e-w { background-position: -160px -32px; } .ui-icon-arrow-2-se-nw { background-position: -176px -32px; } .ui-icon-arrowstop-1-n { background-position: -192px -32px; } .ui-icon-arrowstop-1-e { background-position: -208px -32px; } .ui-icon-arrowstop-1-s { background-position: -224px -32px; } .ui-icon-arrowstop-1-w { background-position: -240px -32px; } .ui-icon-arrowthick-1-n { background-position: 1px -48px; } .ui-icon-arrowthick-1-ne { background-position: -16px -48px; } .ui-icon-arrowthick-1-e { background-position: -32px -48px; } .ui-icon-arrowthick-1-se { background-position: -48px -48px; } .ui-icon-arrowthick-1-s { background-position: -64px -48px; } .ui-icon-arrowthick-1-sw { background-position: -80px -48px; } .ui-icon-arrowthick-1-w { background-position: -96px -48px; } .ui-icon-arrowthick-1-nw { background-position: -112px -48px; } .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } .ui-icon-arrowreturn-1-w { background-position: -64px -64px; } .ui-icon-arrowreturn-1-n { background-position: -80px -64px; } .ui-icon-arrowreturn-1-e { background-position: -96px -64px; } .ui-icon-arrowreturn-1-s { background-position: -112px -64px; } .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } .ui-icon-arrow-4 { background-position: 0 -80px; } .ui-icon-arrow-4-diag { background-position: -16px -80px; } .ui-icon-extlink { background-position: -32px -80px; } .ui-icon-newwin { background-position: -48px -80px; } .ui-icon-refresh { background-position: -64px -80px; } .ui-icon-shuffle { background-position: -80px -80px; } .ui-icon-transfer-e-w { background-position: -96px -80px; } .ui-icon-transferthick-e-w { background-position: -112px -80px; } .ui-icon-folder-collapsed { background-position: 0 -96px; } .ui-icon-folder-open { background-position: -16px -96px; } .ui-icon-document { background-position: -32px -96px; } .ui-icon-document-b { background-position: -48px -96px; } .ui-icon-note { background-position: -64px -96px; } .ui-icon-mail-closed { background-position: -80px -96px; } .ui-icon-mail-open { background-position: -96px -96px; } .ui-icon-suitcase { background-position: -112px -96px; } .ui-icon-comment { background-position: -128px -96px; } .ui-icon-person { background-position: -144px -96px; } .ui-icon-print { background-position: -160px -96px; } .ui-icon-trash { background-position: -176px -96px; } .ui-icon-locked { background-position: -192px -96px; } .ui-icon-unlocked { background-position: -208px -96px; } .ui-icon-bookmark { background-position: -224px -96px; } .ui-icon-tag { background-position: -240px -96px; } .ui-icon-home { background-position: 0 -112px; } .ui-icon-flag { background-position: -16px -112px; } .ui-icon-calendar { background-position: -32px -112px; } .ui-icon-cart { background-position: -48px -112px; } .ui-icon-pencil { background-position: -64px -112px; } .ui-icon-clock { background-position: -80px -112px; } .ui-icon-disk { background-position: -96px -112px; } .ui-icon-calculator { background-position: -112px -112px; } .ui-icon-zoomin { background-position: -128px -112px; } .ui-icon-zoomout { background-position: -144px -112px; } .ui-icon-search { background-position: -160px -112px; } .ui-icon-wrench { background-position: -176px -112px; } .ui-icon-gear { background-position: -192px -112px; } .ui-icon-heart { background-position: -208px -112px; } .ui-icon-star { background-position: -224px -112px; } .ui-icon-link { background-position: -240px -112px; } .ui-icon-cancel { background-position: 0 -128px; } .ui-icon-plus { background-position: -16px -128px; } .ui-icon-plusthick { background-position: -32px -128px; } .ui-icon-minus { background-position: -48px -128px; } .ui-icon-minusthick { background-position: -64px -128px; } .ui-icon-close { background-position: -80px -128px; } .ui-icon-closethick { background-position: -96px -128px; } .ui-icon-key { background-position: -112px -128px; } .ui-icon-lightbulb { background-position: -128px -128px; } .ui-icon-scissors { background-position: -144px -128px; } .ui-icon-clipboard { background-position: -160px -128px; } .ui-icon-copy { background-position: -176px -128px; } .ui-icon-contact { background-position: -192px -128px; } .ui-icon-image { background-position: -208px -128px; } .ui-icon-video { background-position: -224px -128px; } .ui-icon-script { background-position: -240px -128px; } .ui-icon-alert { background-position: 0 -144px; } .ui-icon-info { background-position: -16px -144px; } .ui-icon-notice { background-position: -32px -144px; } .ui-icon-help { background-position: -48px -144px; } .ui-icon-check { background-position: -64px -144px; } .ui-icon-bullet { background-position: -80px -144px; } .ui-icon-radio-on { background-position: -96px -144px; } .ui-icon-radio-off { background-position: -112px -144px; } .ui-icon-pin-w { background-position: -128px -144px; } .ui-icon-pin-s { background-position: -144px -144px; } .ui-icon-play { background-position: 0 -160px; } .ui-icon-pause { background-position: -16px -160px; } .ui-icon-seek-next { background-position: -32px -160px; } .ui-icon-seek-prev { background-position: -48px -160px; } .ui-icon-seek-end { background-position: -64px -160px; } .ui-icon-seek-start { background-position: -80px -160px; } /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ .ui-icon-seek-first { background-position: -80px -160px; } .ui-icon-stop { background-position: -96px -160px; } .ui-icon-eject { background-position: -112px -160px; } .ui-icon-volume-off { background-position: -128px -160px; } .ui-icon-volume-on { background-position: -144px -160px; } .ui-icon-power { background-position: 0 -176px; } .ui-icon-signal-diag { background-position: -16px -176px; } .ui-icon-signal { background-position: -32px -176px; } .ui-icon-battery-0 { background-position: -48px -176px; } .ui-icon-battery-1 { background-position: -64px -176px; } .ui-icon-battery-2 { background-position: -80px -176px; } .ui-icon-battery-3 { background-position: -96px -176px; } .ui-icon-circle-plus { background-position: 0 -192px; } .ui-icon-circle-minus { background-position: -16px -192px; } .ui-icon-circle-close { background-position: -32px -192px; } .ui-icon-circle-triangle-e { background-position: -48px -192px; } .ui-icon-circle-triangle-s { background-position: -64px -192px; } .ui-icon-circle-triangle-w { background-position: -80px -192px; } .ui-icon-circle-triangle-n { background-position: -96px -192px; } .ui-icon-circle-arrow-e { background-position: -112px -192px; } .ui-icon-circle-arrow-s { background-position: -128px -192px; } .ui-icon-circle-arrow-w { background-position: -144px -192px; } .ui-icon-circle-arrow-n { background-position: -160px -192px; } .ui-icon-circle-zoomin { background-position: -176px -192px; } .ui-icon-circle-zoomout { background-position: -192px -192px; } .ui-icon-circle-check { background-position: -208px -192px; } .ui-icon-circlesmall-plus { background-position: 0 -208px; } .ui-icon-circlesmall-minus { background-position: -16px -208px; } .ui-icon-circlesmall-close { background-position: -32px -208px; } .ui-icon-squaresmall-plus { background-position: -48px -208px; } .ui-icon-squaresmall-minus { background-position: -64px -208px; } .ui-icon-squaresmall-close { background-position: -80px -208px; } .ui-icon-grip-dotted-vertical { background-position: 0 -224px; } .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } .ui-icon-grip-solid-vertical { background-position: -32px -224px; } .ui-icon-grip-solid-horizontal { background-position: -48px -224px; } .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } .ui-icon-grip-diagonal-se { background-position: -80px -224px; } /* Misc visuals ----------------------------------*/ /* Corner radius */ .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { border-top-left-radius: 3px; } .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { border-top-right-radius: 3px; } .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { border-bottom-left-radius: 3px; } .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { border-bottom-right-radius: 3px; } /* Overlays */ .ui-widget-overlay { background: #aaaaaa; opacity: .3; filter: Alpha(Opacity=30); /* support: IE8 */ } .ui-widget-shadow { box-shadow: 0px 0px 5px #666666; } .alert, .docs-container main .alert { border-radius: 4px; display: inline-block; padding: 20px 28px; position: relative; width: 100%; font-weight: 400; margin: 0 0 20px; background: rgba(253, 200, 69, 0.1); border: 1px solid rgba(253, 200, 69, 0.3); color: #353940; font-size: 14px; /* &::before { content: '\f137'; font-family: 'Ionicons'; position: absolute; left: 25px; font-size: 30px; font-weight: 300; color: rgba(255,255,255,.9); } */ } .alert a, .alert a:not(.btn), .docs-container main .alert a, .docs-container main .alert a:not(.btn) { color: white; opacity: 1; } .alert a:hover, .alert a:not(.btn):hover, .docs-container main .alert a:hover, .docs-container main .alert a:not(.btn):hover { color: #fff; } .alert-success, .docs-container main .alert-success { background-color: rgba(30, 209, 118, 0.1); border-color: rgba(30, 209, 118, 0.3); } .side-nav { position: fixed; background: #f9fafb; overflow-y: scroll; top: 0; bottom: 0; z-index: 1; overflow-y: -moz-scrollbars-none; -ms-overflow-style: -ms-autohiding-scrollbar; -webkit-overflow-scrolling: touch; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; overflow-y: scroll; } .side-nav::-webkit-scrollbar { display: none; width: 0 !important; } .side-nav .back-to-main a { padding-top: 5px; border: 1px solid #e6e9ee; padding: 10px 12px 13px; margin-right: 20px; margin-top: -15px; border-radius: 4px; margin-bottom: 10px; text-align: center; transition: .2s border-color, .2s color, .2s background, .2s box-shadow; } .side-nav .back-to-main a::before { font-family: 'Ionicons'; -webkit-font-smoothing: antialiased; content: '\f3cf'; font-size: 16px; font-weight: 800; position: relative; padding-right: 5px; top: 2px; } .side-nav .back-to-main a:hover { border-color: #DFE3E8; color: #4a8bfc; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06); background: #fdfdfd; } .side-nav .back-to-main a:focus::after { border-right-color: transparent; } .side-nav .form-group { position: relative; border-bottom: 1px solid #e6e9ee; min-height: 54px; } .side-nav .form-group.search { padding: 10px 20px 10px; margin-bottom: 0; } .side-nav .form-group.search:hover::before { color: #a4abb5; } .side-nav .form-group.search::before { font-family: 'Ionicons'; content: '\f4a5'; font-size: 16px; font-weight: 800; color: #bdc3cc; position: absolute; top: 16px; left: 34px; transition: .2s color; } .side-nav .form-group.search input { border: 1px solid #e6e9ee; border-radius: 20px; padding: 8px 0 6px 35px; font-size: 13px; font-weight: 500; color: #bdc3cc; box-shadow: none; transition: .2s border-color, .2s box-shadow; } .side-nav .form-group.search input:focus, .side-nav .form-group.search input:hover { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); border-color: #4a8bfc; } .side-nav .form-group select { padding: 17px 20px; display: block; width: 100%; background: none; border-radius: 0; border: 0; outline: none; color: #9da5b3; -webkit-appearance: none; -moz-appearance: none; appearance: none; transition: .2s border-color, .2s color, .2s background, .2s box-shadow; } .side-nav .form-group select:hover { border-color: #4a8bfc; color: #4a8bfc; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); background: #fdfdfd; } .side-nav .form-group:hover { transition: .2s border-color; } .side-nav .form-group:hover::before { color: #4a8bfc; } .side-nav .form-group.api-select::before { font-family: 'Ionicons'; -webkit-font-smoothing: antialiased; content: '\f3d0'; font-size: 14px; font-weight: 800; color: #a4abb5; position: absolute; top: 17px; right: 20px; transition: .2s color; } .side-nav > ul.nested-menu > li > ul > li > a { color: #9da5b3; text-transform: uppercase; font-size: 10px; font-weight: 700; letter-spacing: 2px; text-decoration: none; display: block; padding: 10px 0; position: relative; cursor: pointer; } .side-nav > ul > .active > a { color: #4f5358; } .side-nav ul { list-style: none; padding: 18px 0 20px 20px; } .side-nav ul a { color: #9da5b3; text-transform: uppercase; font-size: 10px; font-weight: 700; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; letter-spacing: 2px; text-decoration: none; display: block; padding: 10px 0; position: relative; cursor: pointer; } .side-nav ul a::after { display: block; position: absolute; right: 0; top: 0; bottom: 0; content: ''; border-right: 2px solid #4a8bfc; -webkit-transform: scaleY(0.0001); transform: scaleY(0.0001); transition: -webkit-transform .08s ease-in-out; transition: transform .08s ease-in-out; transition: transform .08s ease-in-out, -webkit-transform .08s ease-in-out; } .side-nav ul ul, .side-nav ul .capitalize { padding: 0; opacity: 1; } .side-nav ul ul a, .side-nav ul .capitalize a { color: #4C555A; text-transform: none; font-size: 13px; font-weight: 500; letter-spacing: 0; height: 34px; transition: height cubic-bezier(0.36, 0.66, 0.04, 1) 0.3s, padding cubic-bezier(0.36, 0.66, 0.04, 1) 0.3s, color 0.2s; } .side-nav ul ul a:empty, .side-nav ul .capitalize a:empty { display: none; } .side-nav ul ul.ng-hide-add, .side-nav ul ul.ng-hide-remove, .side-nav ul .capitalize.ng-hide-add, .side-nav ul .capitalize.ng-hide-remove { transition: opacity cubic-bezier(0.36, 0.66, 0.04, 1) 0.3s; } .side-nav ul ul.ng-hide, .side-nav ul .capitalize.ng-hide { opacity: 0; } .side-nav ul ul.ng-hide a, .side-nav ul .capitalize.ng-hide a { padding: 0; height: 0 !important; } .side-nav ul ul .active > a, .side-nav ul .capitalize.active > a, .side-nav ul a:hover, .side-nav ul .active.top-level > a { color: #4a8bfc; text-decoration: none; background: none; } .side-nav ul ul .active > a::after, .side-nav ul .capitalize.active > a::after, .side-nav ul a:focus::after, .side-nav ul .active.top-level > a::after { -webkit-transform: scaleY(1); transform: scaleY(1); outline: none; } .side-nav .beta { background: #4a8bfc; color: white; font-weight: 700; font-size: 10px; padding: 0 2px; border-radius: 3px; position: relative; top: -2px; } .side-nav .paid { background: #4a8bfc; color: white; font-weight: 700; font-size: 10px; padding: 0 2px; border-radius: 3px; position: relative; top: -2px; } .side-nav .v4-beta { margin-top: 7px; display: block; margin-bottom: 14px; } .side-nav .v4-beta a { display: block; position: relative; color: #596c8c; padding: 15px 15px 15px 39px; margin-right: 20px; } .side-nav .v4-beta a > strong, .side-nav .v4-beta a > i, .side-nav .v4-beta a > span { position: relative; z-index: 1; } .side-nav .v4-beta a::before { background: white url("/img/docs/ionic-side-icon.png") no-repeat 0 50%; background-size: 28px; border-radius: 6px; position: absolute; content: ''; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); transition: .3s box-shadow ease-out; } .side-nav .v4-beta a:hover::before { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16); } .side-nav .v4-beta strong { display: block; font-size: 14px; color: #0f1622; font-weight: 600; text-transform: none; letter-spacing: .01em; } .side-nav .v4-beta span { font-size: 10px; font-weight: 400; text-transform: none; letter-spacing: .01em; } .side-nav .v4-beta a > i { position: absolute; right: 5px; font-size: 18px; color: #d2d6dd; top: calc(50% - 10px); } body:not(.ng-scope) .side-nav ul a { transition: none; } .table > thead > tr > th, .table > thead > tr:first-child > th, .table > thead:first-child > tr > th, .table > thead:first-child > tr:first-child > th, .table > tbody > tr > th, .table > tbody > tr:first-child > th, .table > tbody:first-child > tr > th, .table > tbody:first-child > tr:first-child > th { padding: 11px 11px 12px; border-bottom: 1px solid #eee; font-weight: 700; } .table > thead > tr > td, .table > thead > tr:first-child > td, .table > thead:first-child > tr > td, .table > thead:first-child > tr:first-child > td, .table > tbody > tr > td, .table > tbody > tr:first-child > td, .table > tbody:first-child > tr > td, .table > tbody:first-child > tr:first-child > td { padding: 12px; font-weight: 500; border-bottom: 1px solid #eee; color: #555; } .toc { margin-top: 20px; } .toc .toggle { background: none; border: 0; text-transform: uppercase; color: #b1bac8; font-size: 10px; letter-spacing: 2px; font-weight: 700; position: relative; display: inline; width: 100%; text-align: left; padding: 0; outline: none; } .toc .toggle::after { font-family: Ionicons; content: '\f3d0'; float: right; font-size: 18px; font-weight: 400; transition: .3s transform ease; position: relative; top: -5px; } .toc .expanded ul { list-style: none; padding-left: 15px; } .toc .expanded ul li { font-size: 14px; font-weight: 400; line-height: 1.8em; margin-bottom: 0; } .toc .expanded ul li a { color: #4a8bfc; display: block; max-height: 25px; overflow: hidden; font-weight: 500; transition: 0.3s max-height cubic-bezier(0.36, 0.66, 0.04, 1); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .toc .expanded > ul { padding-left: 0; } .toc .expanded > ul > li { font-weight: 500; line-height: 2em; } .toc .expanded > ul > li > a { font-weight: 600; } .toc.collapsed .toggle::after { -webkit-transform: rotate3d(0, 0, 1, -90deg); transform: rotate3d(0, 0, 1, -90deg); } .toc.collapsed .expanded ul li a { max-height: 0; } .page-pro-docs .docs-container main h2 { padding-top: 0.5em; } .page-pro-docs .docs-container main p { margin-top: 0.7em; margin-bottom: 0.7em; } .page-pro-docs .side-nav > ul.nested-menu > li > ul > li > a { margin-top: 15px; } .docs-container { min-height: 100%; } .docs-container .fixed-header { position: fixed; left: 230px; top: 0px; width: 100%; border-bottom: 1px solid #e6e9ee; background-color: white; padding: 0px 38px; overflow: hidden; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .docs-container .fixed-header > hgroup { height: 74px; line-height: 74px; } @media (max-width: 767px) { .docs-container .fixed-header > hgroup { height: 46px; line-height: 46px; } } .docs-container .fixed-header > hgroup > * { display: inline-block; margin: 0px; line-height: inherit; vertical-align: top; } .docs-container .fixed-header > hgroup h3 + h4 { position: relative; height: 100%; margin-left: 31px; opacity: 1; transition: opacity 0.4s; } .docs-container .fixed-header > hgroup h3 + h4.not-shown { opacity: 0; } .docs-container .fixed-header > hgroup h3 + h4:after { content: ''; position: absolute; left: -24px; top: calc(50% - 5px); width: 10px; height: 10px; -webkit-transform: rotate(45deg); transform: rotate(45deg); border-right: 2px solid; border-top: 2px solid; border-color: #333333; } .docs-container .fixed-header > hgroup h3 + h4 > nobr { position: absolute; transition: opacity 0.3s, -webkit-transform 0.3s; transition: transform 0.3s, opacity 0.3s; transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s; } .docs-container .fixed-header > hgroup h3 + h4 > nobr.top { -webkit-transform: translateY(-28px); transform: translateY(-28px); opacity: 0; } .docs-container .fixed-header > hgroup h3 + h4 > nobr.middle, .docs-container .fixed-header > hgroup h3 + h4 > nobr.top.middle, .docs-container .fixed-header > hgroup h3 + h4 > nobr.bottom.middle { -webkit-transform: translateY(2px); transform: translateY(2px); opacity: 1; } .docs-container .fixed-header > hgroup h3 + h4 > nobr.bottom { -webkit-transform: translateY(32px); transform: translateY(32px); opacity: 0; } .docs-container .fixed-header > hgroup h3 + h4 > nobr.no-transition { transition-duration: 0s, 0s; } @media (max-width: 767px) { .docs-container .fixed-header { left: 0px; } } .docs-container main { padding: 50px 40px 100px; } .docs-container main h1, .docs-container main h2, .docs-container main h3, .docs-container main h4, .docs-container main h5 { color: #24282e; line-height: 1.4em; margin: 2em 0 1em; font-size: 26px; font-weight: 700; letter-spacing: -0.01em; } .docs-container main h1:first-child, .docs-container main h2:first-child, .docs-container main h3:first-child, .docs-container main h4:first-child, .docs-container main h5:first-child { margin-top: 0; } .docs-container main h1 a.anchor::before, .docs-container main h2 a.anchor::before, .docs-container main h3 a.anchor::before, .docs-container main h4 a.anchor::before, .docs-container main h5 a.anchor::before { content: '\f22a'; font-family: 'Ionicons'; margin-left: -15px; margin-right: 5px; font-size: 14px; color: #e6e9ee; transition: .3s color; } .docs-container main h1 a.anchor:hover::before, .docs-container main h1 a.anchor:active::before, .docs-container main h2 a.anchor:hover::before, .docs-container main h2 a.anchor:active::before, .docs-container main h3 a.anchor:hover::before, .docs-container main h3 a.anchor:active::before, .docs-container main h4 a.anchor:hover::before, .docs-container main h4 a.anchor:active::before, .docs-container main h5 a.anchor:hover::before, .docs-container main h5 a.anchor:active::before { color: rgba(74, 139, 252, 0.6); } .docs-container main h1 { margin-bottom: 0; } .docs-container main h1 a.anchor::before { margin-left: -23px; } .docs-container main h2 { padding: 2em 0 0; font-size: 24px; } .docs-container main h2.section-header { border-top: 1px solid #F0F3F7; margin-top: 5.6em; } .docs-container main h3 { margin: 3.2em 0 0; font-size: 18px; } .docs-container main h3.no-para { margin-bottom: 1em; } .docs-container main h4 { font-size: 16px; } .docs-container main h5 { font-size: 14px; } .docs-container main h6 { font-size: 12px; } .docs-container main p { coor: #3a3f47; line-height: 2.1em; margin: 1.2em 0 1.6em; font-weight: 400; font-size: 15px; } .docs-container main pre { border: 1px solid #e6e9ee; background: white; padding: 16px; line-height: 24px; } .docs-container main a:not(.btn) { color: #4a8bfc; text-decoration: none; transition: .2s color; } .docs-container main a:not(.btn):hover { color: #95bbfd; } .docs-container main table { width: 100%; } .docs-container main td, .docs-container main th { white-space: nowrap; } .docs-container main td:last-child, .docs-container main th:last-child { white-space: normal; width: 99%; } .docs-container main b, .docs-container main strong { font-weight: 500; color: #26292e; } .docs-container main .fixed-width { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } .docs-container main .nav a { padding-top: 5px; padding-bottom: 5px; } .docs-container main blockquote { padding: 0 15px; margin: 40px 0; font-size: 16px; border-left: 4px solid #eeeeee; } .docs-container main img.section-header { width: 100%; margin: 50px 0; max-width: 1037px; display: block; } .docs-container main .beta { background: #4a8bfc; color: white; font-weight: 700; font-size: 10px; padding: 0 2px; border-radius: 3px; position: relative; top: -9px; cursor: pointer; } .docs-container main .beta-notice { font-style: italic; font-size: 13px; position: relative; padding-left: 30px; } .docs-container main .beta-notice::before { position: absolute; left: 0px; top: 0px; font-family: 'Ionicons'; content: '\f276'; color: #4a8bfc; font-size: 24px; font-style: normal; margin-right: 3px; } .docs-container main .paid { background: #4a8bfc; color: white; font-weight: 700; font-size: 10px; padding: 0 2px; border-radius: 3px; position: relative; top: -9px; cursor: pointer; } .docs-container main .paid-notice { font-style: italic; font-size: 13px; position: relative; padding-left: 30px; } .docs-container main .paid-notice::before { position: absolute; left: 0px; top: 0px; font-family: 'Ionicons'; content: '\f48d'; color: #4a8bfc; font-size: 24px; font-style: normal; margin-right: 3px; } .docs-container main .api-title .beta, .docs-container main .api-title .paid { margin-left: 6px; } .docs-container img { max-width: 100%; } @media (max-width: 1100px) { .page-components .docs-container h3 { width: calc(100% - 172px); text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } } body.docs #snap-bar + #pro-header.navbar { margin-top: 22px; } #pro-header { background: white; } #pro-header .container { border-bottom: 1px solid #EEF0F3; padding-bottom: 15px; padding-left: 0; padding-right: 0; } #pro-header a { color: #737B88; } #pro-docs h1, #pro-docs h2, #pro-docs h3, #pro-docs h4, #pro-docs h5 { font-weight: 700; } #pro-docs td:not(:first-child), #pro-docs th:not(:first-child) { white-space: inherit; } #pro-docs .responsive-side-nav.affix + main, #pro-docs .responsive-side-nav.affix-bottom + main { margin-left: 300px; } @media (max-width: 767px) { #pro-docs .responsive-side-nav.affix + main, #pro-docs .responsive-side-nav.affix-bottom + main { margin-left: 0; } } #pro-docs .responsive-side-nav { background: transparent; } #pro-docs .responsive-side-nav.side-nav ul ul a, #pro-docs .responsive-side-nav.side-nav ul .capitalize a { height: 28px; } #pro-docs .responsive-side-nav ul a::after { border: none !important; } #pro-docs .responsive-side-nav a { letter-spacing: -0.01em; padding: 0px 0; } #pro-docs .responsive-side-nav a.active { color: #4a8bfc !important; font-weight: 600 !important; } #pro-docs .responsive-side-nav a:hover { color: #3b3f44 !important; font-weight: 600 !important; } #pro-docs .responsive-side-nav > ul.nested-menu > li > ul > li { margin-bottom: 8px; } #pro-docs .responsive-side-nav > ul.nested-menu > li > ul > li > ul { margin-left: 27px; } #pro-docs .responsive-side-nav > ul.nested-menu > li > ul > li > ul > li > a { font-size: 13px; color: #50565e; font-weight: 500; } #pro-docs .responsive-side-nav > ul.nested-menu > li > ul > li > ul > li > ul { margin-left: 15px; } #pro-docs .responsive-side-nav > ul#pro-nav.nested-menu > li > ul > li > a::before { background-image: url("/img/pro/sidebar-icon-sprite.png"); background-repeat: no-repeat; background-color: transparent; } #pro-docs .responsive-side-nav > ul.nested-menu > li > ul > li > a { margin-top: 0; text-transform: none; font-size: 14px; font-weight: 600; color: #24282e; letter-spacing: 0px; } #pro-docs .responsive-side-nav > ul.nested-menu > li > ul > li > a::before { width: 16px; height: 16px; background-size: 100%; display: inline-block; vertical-align: middle; margin-right: 10px; margin-top: -2px; content: ''; } @media (max-width: 767px) { #pro-docs .responsive-side-nav { position: static !important; margin-left: 20px; } #pro-docs .responsive-side-nav > ul.nested-menu > li > ul > li > a::before { display: none; } } #pro-docs .pro-intro-link::before { background-position: 0px 0px; } #pro-docs .pro-view-link::before { background-position: 0px -48px; } #pro-docs .pro-deploy-link::before { background-position: 0px -64px; } #pro-docs .pro-package-link::before { background-position: 0px -80px; } #pro-docs .pro-monitoring-link::before { background-position: 0px -96px; } #pro-docs .pro-devapp-link::before { background-position: 0px -128px; } #pro-docs .pro-advanced-link::before { background-position: 0px -160px; } #branch-sms-box { padding: 20px; border: 1px solid #eee; border-radius: 3px; margin-bottom: 20px; } #branch-sms-box .btn { font-size: 14px; margin-top: 10px; } .promo { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; padding-top: 64px; padding-bottom: 64px; background-color: #f3f5f9; position: relative; } .promo .container { display: -ms-flexbox; display: flex; -ms-flex-pack: end; justify-content: flex-end; -ms-flex-align: center; align-items: center; } .promo .container::before, .promo .container::after { display: none; } .promo hgroup { width: 50%; padding-left: 42px; } .promo h2, .promo p { max-width: 460px; } .promo h2 { font-size: 24px; letter-spacing: -0.03em; font-weight: 700; margin-top: 0; } .promo p { font-size: 16px; line-height: 24px; color: #788497; margin-top: 16px; margin-bottom: 20px; } .promo .btn { font-size: 14px; font-weight: 700; background-color: #2d79ff; } .promo .btn:hover { background-color: #4486fb; } .promo .btn.white { background: white; } .promo .btn.white:hover { background: white; } .promo--dark { background-color: #112037; } .promo--dark h2 { color: #fff; } .promo--dark p { color: #a8b0be; } .promo__illustration { width: 459px; position: absolute; bottom: 0; left: 50%; -webkit-transform: translateX(-480px); transform: translateX(-480px); z-index: 3; } .promo.promo-reversed .container { -ms-flex-pack: start; justify-content: flex-start; } .promo.promo-reversed .container hgroup { -ms-flex: 1; flex: 1; } .promo .promo__image { max-width: 100%; margin: 32px 15px; } .promo.promo-btns hgroup, .promo.promo-newsletter hgroup { -ms-flex: 1; flex: 1; padding: 46px 0; } .promo.promo-btns .container, .promo.promo-newsletter .container { padding-top: 37px; } .promo.promo-btns h2, .promo.promo-btns p, .promo.promo-newsletter h2, .promo.promo-newsletter p { max-width: 100%; } .promo.promo-btns h2, .promo.promo-newsletter h2 { font-size: 28px; font-weight: 600; margin-bottom: 8px; } .promo.promo-btns p, .promo.promo-newsletter p { margin-top: 8px; font-size: 20px; letter-spacing: -.031em; } .promo.promo-btns p:last-child, .promo.promo-newsletter p:last-child { margin-bottom: 0; } .promo.promo-btns h1, .promo.promo-btns h2, .promo.promo-btns h3, .promo.promo-newsletter h1, .promo.promo-newsletter h2, .promo.promo-newsletter h3 { color: #4a8bfc; } .promo.promo-btns .btns, .promo.promo-newsletter .btns { margin-left: 24px; } @media (max-width: 767px) { .promo.promo-btns, .promo.promo-newsletter { padding-bottom: 64px; } .promo.promo-btns .btns, .promo.promo-newsletter .btns { text-align: center; } .promo.promo-btns .btn, .promo.promo-newsletter .btn { margin-bottom: 12px; } } .promo.promo-newsletter { background: white; } .promo.promo-newsletter .container { padding-top: 6px; } .promo.promo-newsletter strong { font-weight: 600; } .promo.promo-newsletter .btns { -ms-flex: 0 1 476px; flex: 0 1 476px; } @media (max-width: 991px) { .promo.promo-newsletter .btns { -ms-flex: 0; flex: 0; } } @media (max-width: 767px) { .promo.promo-newsletter .btns { width: 100%; max-width: 476px; margin-left: 0; } } @media (max-width: 991px) { .promo__illustration { -webkit-transform: translateX(-400px); transform: translateX(-400px); } } @media (max-width: 767px) { .promo { padding-bottom: 272px; } .promo.promo-inline { padding-bottom: 64px; } .promo .container { -ms-flex-pack: center; justify-content: center; -ms-flex-direction: column; flex-direction: column; } .promo hgroup { width: 100%; padding: 0; text-align: center; } .promo h2, .promo p { margin-left: auto; margin-right: auto; } .promo__illustration { width: 380px; -webkit-transform: translateX(-190px); transform: translateX(-190px); } } .promo--tri-cta { background: #F6F8FB; } .promo--tri-cta ul { list-style: none; letter-spacing: -.01em; } .promo--tri-cta li { margin: 24px 48px; position: relative; width: calc(33.3% - 64px); } .promo--tri-cta li::after { content: ''; position: absolute; right: 0; right: -48px; top: calc(50% - 48px); height: 96px; border-left: 1px solid #DEE3EA; } .promo--tri-cta li:first-child { margin-left: 0; } .promo--tri-cta li:last-child { margin-right: 0; } .promo--tri-cta li:last-child::after { display: none; } .promo--tri-cta h4 { font-size: 20px; color: black; font-weight: 600; } .promo--tri-cta p { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; line-height: 29px; font-size: 16px; color: #73849A; } @media (max-width: 991px) { .promo--tri-cta { padding-bottom: 64px; } .promo--tri-cta li { width: 100%; margin: 0; padding: 48px 16px; text-align: center; } .promo--tri-cta li::after { display: none; } .promo--tri-cta li p { margin: 0 0 1em; display: inline-block; } .promo--tri-cta li .btn { display: block; } } .mobile-nav { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; transition: opacity 0.4s; position: fixed; z-index: 99999; top: 0; right: 0; left: 0; bottom: 0; background: #fff; display: none; overflow: touch; } .mobile-nav.open { -webkit-animation-name: revealIn; animation-name: revealIn; -webkit-animation-duration: 0.2s; animation-duration: 0.2s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } .mobile-nav.closed { -webkit-animation-name: revealOut; animation-name: revealOut; -webkit-animation-duration: 0.2s; animation-duration: 0.2s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } @-webkit-keyframes revealIn { from { opacity: 0; } to { opacity: 1; } } @keyframes revealIn { from { opacity: 0; } to { opacity: 1; } } @-webkit-keyframes revealOut { from { opacity: 1; } to { opacity: 0; } } @keyframes revealOut { from { opacity: 1; } to { opacity: 0; } } .mobile-nav__wrapper { position: relative; width: 100%; height: 100vh; overflow: auto; -webkit-overflow-scrolling: touch; } .mobile-nav__menu { margin: 0; padding: 0; list-style: none; list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=); list-style-type: none; max-width: 270px; margin-left: auto; margin-right: auto; padding-top: 80px; padding-bottom: 160px; } .mobile-nav__menu h6 { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #b0bccf; } .open .mobile-nav__menu { -webkit-animation-name: navMenuIn; animation-name: navMenuIn; -webkit-animation-duration: 0.2s; animation-duration: 0.2s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-animation-delay: 0.1s; animation-delay: 0.1s; opacity: 0; } .closed .mobile-nav__menu { -webkit-animation-name: navMenuOut; animation-name: navMenuOut; -webkit-animation-duration: 0.2s; animation-duration: 0.2s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } @-webkit-keyframes navMenuIn { from { -webkit-transform: translateY(-6px); transform: translateY(-6px); opacity: 0; } to { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } } @keyframes navMenuIn { from { -webkit-transform: translateY(-6px); transform: translateY(-6px); opacity: 0; } to { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } } @-webkit-keyframes navMenuOut { from { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } to { -webkit-transform: translateY(-6px); transform: translateY(-6px); opacity: 0; } } @keyframes navMenuOut { from { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } to { -webkit-transform: translateY(-6px); transform: translateY(-6px); opacity: 0; } } .mobile-nav--enterprise .mobile-nav__menu { height: 100%; -ms-flex-direction: column; flex-direction: column; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; padding-top: 0; padding-bottom: 0; } .mobile-nav__menuitem { position: relative; font-size: 24px; letter-spacing: -0.02em; line-height: 1; font-weight: 600; margin-top: 28px; } .mobile-nav__menuitem + h6 { margin-top: 46px; } .mobile-nav__menuitem a { width: 100%; color: #131924; display: inline-block; } .mobile-nav__menuitem.pro a::before { background-position: 0 0; } .mobile-nav__menuitem.pro a::after { background-position: 0 -24px; } .mobile-nav__menuitem.enterprise a::before { background-position: 0 -336px; } .mobile-nav__menuitem.enterprise a::after { background-position: 0 -360px; } .mobile-nav__menuitem.framework a::before { background-position: 0 -528px; } .mobile-nav__menuitem.framework a::after { background-position: 0 -552px; } .mobile-nav__menuitem.stencil a::before { background-position: 0 -1056px; } .mobile-nav__menuitem.stencil a::after { background-position: 0 -1080px; } .mobile-nav__menuitem.capacitor a::before { background-position: 0 -1104px; } .mobile-nav__menuitem.capacitor a::after { background-position: 0 -1128px; } .mobile-nav__menuitem.ionicon a::before { background-position: 0 -1152px; } .mobile-nav__menuitem.ionicon a::after { background-position: 0 -1176px; } .mobile-nav__menuitem.framework-docs a::before { background-position: 0 -1440px; } .mobile-nav__menuitem.framework-docs a::after { background-position: 0 -1464px; } .mobile-nav__menuitem.pro-docs a::before { background-position: 0 -48px; } .mobile-nav__menuitem.pro-docs a::after { background-position: 0 -72px; } .mobile-nav--enterprise .mobile-nav__menuitem { text-align: center; font-size: 28px; margin-top: 0; } .mobile-nav--enterprise .mobile-nav__menuitem + .mobile-nav__menuitem { margin-top: 32px; } .mobile-nav--enterprise .mobile-nav__menuitem--cta a { color: #3880FF; } .mobile-nav__menuitem--small { font-size: 18px; line-height: 1; font-weight: 600; margin-top: 26px; } .mobile-nav__menuitem + .mobile-nav__menuitem--small { margin-top: 56px; } .mobile-nav__menuitem--small a { width: 100%; display: inline-block; color: #5977a8; } .mobile-nav__logo { position: absolute; top: 9px; left: 13px; fill: #3880FF; z-index: 2; width: 32px; height: 32px; margin: 0; } .mobile-nav--enterprise .mobile-nav__logo { fill: #000; } .mobile-nav__close { cursor: pointer; position: fixed; top: 15px; right: 15px; opacity: 0.4; transition: opacity 0.3s; z-index: 2; } .mobile-nav__close:hover { opacity: 1; } .mobile-nav__close svg { width: 14px; height: 14px; fill: #5977a8; margin: 0; } .mobile-nav__footer { background-color: #f6f8fe; position: fixed; left: 0; bottom: 0; right: 0; padding: 14px; display: -ms-flexbox; display: flex; -ms-flex-pack: end; justify-content: flex-end; } .mobile-nav__footer a { font-weight: 700; } .mobile-nav__footer a + .btn { margin-left: 12px; } .mobile-nav__footer .btn { font-size: 15px; font-weight: 700; padding: 12px 14px 10px; vertical-align: middle; border-radius: 4px; margin-right: 0; } .open .mobile-nav__footer { -webkit-animation-name: navFooterIn; animation-name: navFooterIn; -webkit-animation-duration: 0.6s; animation-duration: 0.6s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-animation-delay: 0.1s; animation-delay: 0.1s; -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); -webkit-transform: translateY(100%); transform: translateY(100%); opacity: 0; } .closed .mobile-nav__footer { -webkit-animation-name: navFooterOut; animation-name: navFooterOut; -webkit-animation-duration: 0.2s; animation-duration: 0.2s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } @-webkit-keyframes navFooterIn { from { -webkit-transform: translateY(100%); transform: translateY(100%); opacity: 0; } to { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } } @keyframes navFooterIn { from { -webkit-transform: translateY(100%); transform: translateY(100%); opacity: 0; } to { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } } @-webkit-keyframes navFooterOut { from { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } to { -webkit-transform: translateY(6px); transform: translateY(6px); opacity: 0; } } @keyframes navFooterOut { from { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; } to { -webkit-transform: translateY(6px); transform: translateY(6px); opacity: 0; } } .mobile-nav--enterprise .mobile-nav__footer { background: #F9F9F9; -ms-flex-pack: center; justify-content: center; } .mobile-nav--enterprise .mobile-nav__footer a { line-height: normal; font-weight: 600; font-size: 11px; letter-spacing: 0.05em; color: #3880FF; text-transform: uppercase; } .mobile-nav--enterprise .mobile-nav__footer ion-icon { color: rgba(56, 128, 255, 0.7); font-size: 12px; height: 12px; width: 12px; display: inline-block; vertical-align: -2px; opacity: 0; transition: .2s transform ease, .2s opacity; margin-right: 4px; } .mobile-nav--enterprise .mobile-nav__footer ion-icon.hydrated { opacity: 1; } .responsive-docs-container.docs-container { padding-top: 50px; } .responsive-docs-container.docs-container .responsive-side-nav { width: 300px; position: static; overflow-y: auto; } .responsive-docs-container.docs-container .responsive-side-nav.affix-top { position: static; top: 182px; } .responsive-docs-container.docs-container .responsive-side-nav.affix { position: fixed; top: 15px; } .responsive-docs-container.docs-container .responsive-side-nav.affix-bottom { position: fixed; top: 15px !important; } .responsive-docs-container.docs-container .responsive-side-nav .nested-menu { padding-top: 0; padding-left: 0; } .responsive-docs-container.docs-container main { margin-left: 0; padding-top: 0; color: #353940; font-weight: 400; font-size: 15px; line-height: 26px; } .responsive-docs-container.docs-container main p { color: #353940; margin: 1.2em 0 1.6em; font-weight: 400; font-size: 15px; line-height: 26px; } .responsive-docs-container.docs-container main h1 { color: #24282e; line-height: 1.4em; margin: 2em 0 1em; font-size: 26px; font-weight: 700; letter-spacing: -0.02em; } .responsive-docs-container.docs-container main h1:first-child { margin-top: 0; } .responsive-docs-container.docs-container main h2 { padding-top: 0em; } .resource-card-list { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: -16px; margin-right: -16px; } .resource-card { padding: 16px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } .resource-card-list--third .resource-card { width: 33.33%; } .resource-card-list--quarter .resource-card { width: 25%; } @media (max-width: 992px) { .resource-card-list { margin-left: -12px; margin-right: -12px; } .resource-card { padding: 12px; } .resource-card-list--third .resource-card { width: 100%; } .resource-card-list--quarter .resource-card { width: 50%; } } @media (max-width: 768px) { .resource-card-list { margin-left: -8px; margin-right: -8px; } .resource-card { padding: 8px; } } @media (max-width: 500px) { .resource-card-list--quarter .resource-card { width: 100%; } } .resource-card__inner { position: relative; height: 100%; } .resource-card { position: relative; transition: -webkit-transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; height: 272px; } .resource-card a { transition: box-shadow 0.4s; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; padding: 18px 22px; border-radius: 16px; background-color: #24282e; box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.1), 0px 2px 4px 0px rgba(0, 0, 0, 0.08); display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: justify; justify-content: space-between; text-decoration: none; background-repeat: no-repeat; background-size: auto 100%; background-position: bottom right; } .resource-card a .title { color: #fff; font-weight: 700; font-size: 20px; line-height: 1.4em; margin-top: 0; max-width: 350px; } .resource-card a .eyebrow { font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(255, 255, 255, 0.5); font-weight: 700; margin-bottom: 6px; display: inline-block; } .resource-card a .action { text-transform: uppercase; font-size: 14px; font-weight: bold; letter-spacing: 0.08em; color: #fff; } .resource-card:hover { -webkit-transform: translateY(-1px); transform: translateY(-1px); } .resource-card:hover a { box-shadow: 0px 12px 24px 0px rgba(0, 0, 0, 0.1); } .resource-card--light a { background-color: #fff; } .resource-card--light a .title { color: #24282e; } .resource-card--light a .eyebrow { color: rgba(0, 0, 0, 0.5); } .resource-card--light a .action { color: #4a8bfc; } .resource-card-large a .title { font-size: 24px; line-height: 32px; } .resource-card-large a .eyebrow { margin-bottom: 16px; } .resource-card-large a .action::after { transition: -webkit-transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; font-family: 'Ionicons'; content: '\f287'; font-size: 16px; margin-left: 6px; display: inline-block; } .resource-card-large a:hover .action::after { -webkit-transform: translate3d(3px, 0, 0); transform: translate3d(3px, 0, 0); } .modal .control-label { font-weight: 600; } .modal .form-control { font-weight: 500; } .modal .close, .modal .go-back { position: absolute; top: -10px; right: -10px; background: white; border: 0; border-radius: 50%; height: 30px; width: 30px; box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5); outline: none; } .modal .close::before, .modal .go-back::before { font-family: 'Ionicons'; content: '\f2c0'; display: block; color: #576070; font-size: 20px; } .modal .close span, .modal .go-back span { display: none; } .modal .go-back { right: auto; left: -10px; } .modal .go-back::before { content: '\f27d'; } .modal.fullscreen .container { position: relative; } .modal.fullscreen .close { right: 36px; top: 27px; box-shadow: none; background: #ebeff5; } .modal.fullscreen .close::before { color: #838fa5; } .modal.fullscreen .modal-dialog { width: 651px; -webkit-transform: translate(0, -10%); transform: translate(0, -10%); transition: -webkit-transform 0.5s cubic-bezier(0, 0, 0, 1); transition: transform 0.5s cubic-bezier(0, 0, 0, 1); transition: transform 0.5s cubic-bezier(0, 0, 0, 1), -webkit-transform 0.5s cubic-bezier(0, 0, 0, 1); } .modal.fullscreen.in .modal-dialog { -webkit-transform: translate(0, 0); transform: translate(0, 0); } .modal.fullscreen .modal-content { box-shadow: none; border: 0; background: transparent; } .site-search { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; margin-right: 16px; } .site-search__trigger { cursor: pointer; } .site-search__trigger svg { transition: fill 0.2s; margin: 0; fill: #a8b0be; width: 16px; height: 16px; } .site-search__trigger:hover svg { fill: #606c82; } .site-search__input { display: none; } #snap-bar { background: linear-gradient(to right, #07090e, #2f4562); color: rgba(255, 255, 255, 0.5); padding: 13px 10px 9px; font-weight: 500; font-size: 13px; position: relative; z-index: 10; text-align: center; letter-spacing: .004em; } #snap-bar strong { margin-right: 3px; font-size: 13px; letter-spacing: .004em; font-weight: 600; color: white; } #snap-bar .loading { width: 16px; margin-right: 5px; vertical-align: text-bottom; } #snap-bar a { margin-left: 15px; background: #0a0f16; color: #6ab0ff; font-weight: 600; padding: 6px 7px 5px 12px; font-size: 10px; letter-spacing: .09em; text-transform: uppercase; border-radius: 10px; text-decoration: none; transition: .2s color; } #snap-bar a:hover { color: white; text-decoration: none; } #snap-bar i { font-size: 13px; vertical-align: -1px; } #snap-bar + .navbar { margin-top: 6px; } @media (max-width: 767px) { #snap-bar + .navbar { margin-top: 0; position: relative; min-height: 48px; } } body.docs #snap-bar + .navbar { margin-top: 0; } @media (max-width: 767px) { body.docs #snap-bar + .navbar { padding-top: 0; } } body.has-snap { margin-top: 0; } body.has-snap .side-nav.affix-top { position: absolute; top: 38px; } @media (max-width: 767px) { body.has-snap { margin-top: 0; } } body.docs #snap-bar ~ .docs-container .side-nav { padding-top: 36px; } ionic-snap-bar:not(.hydrated) { display: none; } @media (max-width: 767px) { ionic-snap-bar { display: none; } } #social-share-sidebar { right: auto; left: 50px; color: #bac2cf; width: 200px; position: fixed; top: 200px; opacity: 0; pointer-events: none; transition: .5s opacity; } @media (max-width: 1120px) { #social-share-sidebar { display: none; } } #social-share-sidebar.affix { position: fixed; top: 200px; opacity: 1; pointer-events: all; } #social-share-sidebar h4 { text-transform: uppercase; letter-spacing: 0.1em; font-size: 10px; font-weight: 700; color: #bac2cf; margin-bottom: 15px; opacity: 0; -webkit-animation: .5s fadeIn linear 3s; animation: .5s fadeIn linear 3s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } #social-share-sidebar ul { list-style: none; padding-left: 0; } #social-share-sidebar li { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); -webkit-animation: .5s fadeInUp linear 3.5s; animation: .5s fadeInUp linear 3.5s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } #social-share-sidebar li:nth-child(2) { -webkit-animation-delay: 3.8s; animation-delay: 3.8s; } #social-share-sidebar li:nth-child(3) { -webkit-animation-delay: 4.1s; animation-delay: 4.1s; } #social-share-sidebar li:nth-child(4) { -webkit-animation-delay: 4.3s; animation-delay: 4.3s; } #social-share-sidebar a { position: relative; width: 20px; height: 20px; display: block; cursor: pointer; margin-bottom: 18px; margin-left: 8px; } #social-share-sidebar a::before, #social-share-sidebar a::after { background: url("/img/survey/blog-share-icons.png") no-repeat 0 0; background-size: 20px; width: 20px; height: 20px; display: block; content: ''; transition: 0.2s opacity; } #social-share-sidebar a::after { opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; } #social-share-sidebar a:hover::after { opacity: 1; } #social-share-sidebar a.twitter::after { background-position: 0 -20px; } #social-share-sidebar a.facebook::before { background-position: 0 -40px; } #social-share-sidebar a.facebook::after { background-position: 0 -60px; } #social-share-sidebar a.google-plus::before { background-position: 0 -80px; } #social-share-sidebar a.google-plus::after { background-position: 0 -100px; } #social-share-sidebar a.buffer::before { background-position: 0 -120px; } #social-share-sidebar a.buffer::after { background-position: 0 -140px; } .rounded-tabs { background: none; margin: 0 0 0 -20px; padding: 0; display: -ms-flexbox; display: flex; } @media (max-width: 767px) { .rounded-tabs { margin: 0; -ms-flex-pack: justify; justify-content: space-between; max-width: 460px; margin-left: auto; margin-right: auto; } } .rounded-tabs__tab { padding: 0; display: -ms-flexbox; display: flex; position: relative; max-width: 100%; margin: 0; } .rounded-tabs__tab::before, .rounded-tabs__tab::after { content: ''; display: block; opacity: 0; width: 56px; height: 64px; -ms-flex: 0 0 56px; flex: 0 0 56px; background-size: 56px 64px; background-repeat: no-repeat; } .rounded-tabs__tab::before { background-image: url("/img/getting-started/tab-border-left.png"); } .rounded-tabs__tab::after { background-image: url("/img/getting-started/tab-border-right.png"); } .rounded-tabs__tab + .rounded-tabs__tab { margin-left: -54px; } @media (max-width: 767px) { .rounded-tabs__tab { transition: border 0.3s; border-bottom: 4px solid transparent; } .rounded-tabs__tab::before, .rounded-tabs__tab::after { display: none; } .rounded-tabs__tab + .rounded-tabs__tab { margin-left: 28px; } } .rounded-tabs__tab-inner { font-size: 16px; font-weight: 600; letter-spacing: -0.02em; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; height: 64px; margin-left: -1px; margin-right: -1px; padding: 0 2px; -ms-flex: 0 0 auto; flex: 0 0 auto; cursor: pointer; background: transparent; color: #D5EAFF; } .rounded-tabs__tab-inner svg { margin-right: 8px; -ms-flex: 0 0 20px; flex: 0 0 20px; } .rounded-tabs__tab-inner span { -ms-flex: 0 0 auto; flex: 0 0 auto; } .rounded-tabs__tab-inner .front { fill: #E1F0FF; } .rounded-tabs__tab-inner .middle { fill: #8DC0FF; } .rounded-tabs__tab-inner .back { fill: #6FADFF; } .rounded-tabs__tab-inner .front--border { stroke: #4D92FF; } .rounded-tabs__tab-inner .middle--border { stroke: #4D93FF; } .rounded-tabs__tab-inner:hover { transition: color 0.2s; color: #fff; } .rounded-tabs__tab-inner:hover .front { fill: #fff; } @media (max-width: 767px) { .rounded-tabs__tab-inner { -ms-flex-direction: column; flex-direction: column; font-size: 14px; height: auto; padding-bottom: 14px; -ms-flex: 1; flex: 1; text-align: center; line-height: 16px; } .rounded-tabs__tab-inner svg { margin: 8px 0 10px; } } .rounded-tabs__tab--active { pointer-events: none; } @media (min-width: 768px) { .rounded-tabs__tab--active::before, .rounded-tabs__tab--active::after { opacity: 1; } .rounded-tabs__tab--active .rounded-tabs__tab-inner, .rounded-tabs__tab--active .rounded-tabs__tab-inner:hover { background: #fff; color: #161A1F; } .rounded-tabs__tab--active .rounded-tabs__tab-inner .front, .rounded-tabs__tab--active .rounded-tabs__tab-inner:hover .front { fill: #3880FF; } .rounded-tabs__tab--active .front { fill: #3880FF; } .rounded-tabs__tab--active .middle { fill: #B1D9FF; } .rounded-tabs__tab--active .back { fill: #CFE7FF; } .rounded-tabs__tab--active .front--border, .rounded-tabs__tab--active .middle--border { stroke: #fff; } } @media (max-width: 767px) { .rounded-tabs__tab--active { border-bottom: 4px solid rgba(255, 255, 255, 0.8); } .rounded-tabs__tab--active .rounded-tabs__tab-inner { color: #fff; } .rounded-tabs__tab--active .rounded-tabs__tab-inner .front { fill: #fff; } } #page-pricing .tab-content, #page-getting-started .tab-content { display: none; } #page-pricing .tab-content--active, #page-getting-started .tab-content--active { display: block; } .tag, .docs-container main .tag { background: #4a8bfc; margin-left: 10px; padding: 5px 7px 4px; border-radius: 4px; color: white; font-weight: 700; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; } .tag.grey, .docs-container main .tag.grey { background: #898989; } .testimonial-slides { position: relative; transition: height 0.4s; } @media (max-width: 991px) { .testimonial-slides { min-height: 360px; } } @media (max-width: 560px) { .testimonial-slides { min-height: 400px; } } .testimonial-slides .slide { padding: 90px 0 146px; top: 0; left: 0; width: 100%; height: 100%; } .testimonial-slides .slide h5 { color: #fff; font-size: 20px; line-height: 32px; letter-spacing: -0.02em; font-weight: 600; margin: 40px 0; } .testimonial-slides .slide .attribution { font-size: 14px; font-weight: 600; letter-spacing: -0.02em; } .testimonial-slides .slide .attribution b { font-weight: 600; color: #fff; margin-right: 8px; } .testimonial-slides .slide hgroup { width: 50%; padding-right: 74px; } .testimonial-slides .slide .slide__topbar { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: center; align-items: center; } .testimonial-slides .slide .slide__cta { transition: background 0.3s; padding: 4px 8px 3px; border-radius: 100px; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-align: center; align-items: center; font-weight: 600; font-size: 12px; line-height: 12px; letter-spacing: -0.02em; cursor: pointer; } .testimonial-slides .slide .slide__cta b { font-weight: 600; color: #fff; margin-left: 4px; } .testimonial-slides .slide .slide__cta svg { transition: fill 0.2s; display: inline; width: 12px; height: 12px; margin: 0; fill: #fff; } .testimonial-slides .slide .slide__cta svg:first-child { width: 18px; height: 18px; margin-right: 6px; } .testimonial-slides .slide .slide__cta:hover svg:last-child { -webkit-transform: translateX(1px); transform: translateX(1px); } @media (max-width: 991px) { .testimonial-slides .slide { padding: 32px 0 106px; } .testimonial-slides .slide .slide__topbar { -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-align: start; align-items: flex-start; } .testimonial-slides .slide .slide__cta { margin-bottom: 30px; } .testimonial-slides .slide h5 { margin: 20px 0; } .testimonial-slides .slide hgroup { padding-right: 24px; } } @media (max-width: 991px) { .testimonial-slides .slide hgroup { width: 100%; } .testimonial-slides .slide .slide__topbar { -ms-flex-direction: row; flex-direction: row; } .testimonial-slides .slide h5 { margin: 30px 0; } } @media (max-width: 560px) { .testimonial-slides .slide .slide__topbar { -ms-flex-direction: column-reverse; flex-direction: column-reverse; } } .testimonial-slides .slide--airbus .logo { background: url("/img/testimonials/logo-sprite.png") no-repeat 0 -38px; background-size: 198px 69px; width: 131px; height: 31px; } .testimonial-slides .slide--airbus .attribution { color: #939cd5; } .testimonial-slides .slide--airbus .slide__cta { background-color: #253699; color: #b5bbe2; } .testimonial-slides .slide--airbus .slide__cta svg:first-child { fill: #a8aed6; } .testimonial-slides .slide--airbus .slide__cta:hover { background-color: #283aa5; } .testimonial-slides .slide--marketwatch .logo { background: url("/img/testimonials/logo-sprite.png") no-repeat 0 0; background-size: 198px 69px; width: 198px; height: 31px; } .testimonial-slides .slide--marketwatch .attribution { color: #868893; } .testimonial-slides .slide--marketwatch .slide__cta { background-color: #0a2e36; color: #a8b0be; } .testimonial-slides .slide--marketwatch .slide__cta svg:first-child { fill: #9dabaf; } .testimonial-slides .slide--marketwatch .slide__cta:hover { background-color: #0c3943; } .testimonial-slides .slide-imgs { width: 50%; height: 100%; position: absolute; opacity: 0.5; right: 0; top: 0; overflow: hidden; } @media (max-width: 991px) { .testimonial-slides .slide-imgs { display: none !important; } } .testimonial-slides .slide-img { width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center center; position: absolute; top: 0; left: 0; } .testimonial-slides .slide-img--airbus { background-image: url("/img/testimonials/testimonial-bg-airbus.jpg"); } .testimonial-slides .slide-img--marketwatch { background-image: url("/img/testimonials/testimonial-bg-marketwatch.jpg"); } .testimonial-slides .slide-indicator { position: absolute; z-index: 10; bottom: 16px; left: 0; width: 100%; padding: 20px 0; cursor: pointer; } .testimonial-slides .slide-indicator span { transition: opacity 0.3s; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; width: 14px; height: 24px; opacity: 0.2; } .testimonial-slides .slide-indicator span:after { transition: all 0.3s; -webkit-transform-origin: center center; transform-origin: center center; display: block; content: ''; width: 8px; height: 8px; background-color: #fff; border-radius: 8px; } .testimonial-slides .slide-indicator span:hover:not(.active):after { -webkit-transform: scale(1.4); transform: scale(1.4); } .testimonial-slides .slide-indicator span:hover, .testimonial-slides .slide-indicator span.active { opacity: 1; } .testimonial-slides .slide-indicator span.active { pointer-events: none; cursor: default; } .tooltip { width: 300px; } .tooltip .tooltip-inner { padding: 10px; background: rgba(0, 0, 0, 0.85); } .tooltip .tooltip-arrow { opacity: .85; } tippy { position: relative; } tippy .tip { position: absolute; -webkit-transform: scale3d(0, 0, 1); transform: scale3d(0, 0, 1); transition: .15s transform linear; background: rgba(0, 0, 0, 0.8); border-radius: 4px; padding: 15px 20px; color: white; z-index: 1; width: 100%; min-width: 200px; } tippy .tip::before { position: absolute; top: -5px; height: 5px; width: 100%; left: 0; content: ''; } tippy .tip::after { content: ''; position: absolute; width: 0; height: 0; border-style: solid; border-width: 0 5px 5px 5px; border-color: transparent transparent rgba(0, 0, 0, 0.8); position: absolute; top: -5px; right: 6px; } tippy .tip a { cursor: pointer; } tippy .tip a:hover { color: white; } tippy .tip.right, tippy .tip.left { left: 28px; right: auto; width: 257px; top: -76px; background: #3b434f; padding: 14px 20px 6px; font-size: 11px; line-height: 20px; letter-spacing: .07px; } tippy .tip.right::after, tippy .tip.left::after { width: 12px; height: 12px; border-radius: 0 0 4px 0; -webkit-transform: rotate(135deg); transform: rotate(135deg); border: none; background: linear-gradient(-45deg, #3b434f 50%, transparent 50%); top: calc(50% + 7px); left: -6px; right: auto; } tippy .tip.left { left: auto; right: 28px; } tippy .tip.left::after { left: auto; right: -6px; } tippy .tip.bottom { left: -170px; } tippy .tip.top { left: -170px; bottom: 23px; } tippy .tip.top::after { -webkit-transform: rotate(180deg); transform: rotate(180deg); top: auto; bottom: -5px; right: 18px; } tippy .tip p { margin-bottom: 8px; } tippy > i { font-size: 67%; font-weight: 700; line-height: 1em; color: #fff; border-radius: 1em; padding: 3px 5px 2px; background: #c2c8d2; position: relative; top: -0.2em; display: inline-block; cursor: pointer; } tippy:hover .tip, tippy.active .tip { transition-timing-function: cubic-bezier(0, 1.5, 0.5, 1); transition-duration: .3s; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } body { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; position: relative; overflow-x: hidden; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; } @media (max-width: 767px) { body { padding-top: 50px; width: 100%; min-width: 100%; background: #fff; } } body .docs { background: linear-gradient(90deg, #f9fafb, #f9fafb 230px, white 230px, white 100%); } @media (max-width: 768px) { body#page-pricing-table { padding-top: 0px; } } body.no-scroll { overflow: hidden; } main { overflow: hidden; } #components-index ul.nav > li > a { background-color: #F9FAFB; } .improve-docs { position: absolute; right: 3.5em; top: 20px; } .improve-v2-docs { display: block; float: right; margin-top: -7em; } .component-doc-demo { display: block; float: right; margin-top: -3.1em; line-height: 25px; } .component-doc-demo .component-doc-demo-mobile { margin-right: 6px; } .component-doc-demo-mobile { cursor: pointer; padding: 3px 12px; border-radius: 4px; font-size: 15px; font-weight: 500; color: white; background-color: #4a8bfc; display: none; line-height: inherit; } .docs-container .side-nav { width: 230px; } .docs-container > main { margin-left: 230px; } .docs-container > aside { width: 467px; } .docs-container > aside + main { margin-right: 407px; min-height: 777px; } @media (max-width: 1100px) { .docs-container aside { display: none; } .docs-container aside + main { margin-right: 0; } .docs-container .component-doc-demo-mobile { display: inline-block; } } @media (max-width: 767px) { .docs-container { background-color: #fff; } .docs-container main { margin-left: 0; padding: 30px 20px 100px; } .docs-container #side-nav { z-index: 1; top: -4px; -webkit-transform: translateX(-230px); transform: translateX(-230px); transition: -webkit-transform .3s ease; transition: transform .3s ease; transition: transform .3s ease, -webkit-transform .3s ease; } .docs-container #side-nav.shown { -webkit-transform: translateX(0); transform: translateX(0); box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); transition: -webkit-transform .3s ease; transition: transform .3s ease; transition: transform .3s ease, -webkit-transform .3s ease; } } html { position: relative; height: 100%; } body { min-height: 100%; margin: 0 0 -130px; } a { color: #4a8bfc; transition: .3s color; } .footer-links { position: absolute; left: 270px; bottom: 0; height: 130px; right: 40px; } @media (max-width: 767px) { .footer-links { left: 40px; } } a.footer-link { color: black; font-size: 18px; text-decoration: none; font-weight: 500; position: absolute; padding-top: 10px; right: 40px; text-align: right; transition: color .2s; } a.footer-link.prev { right: auto; left: 40px; text-align: left; } @media (max-width: 500px) { a.footer-link.prev { display: none; } } a.footer-link.prev::before { content: 'Previous'; } a.footer-link.prev::after { right: auto; left: -25px; content: '\f117'; } a.footer-link:hover { color: #4a8bfc; } a.footer-link::before { display: block; content: 'Next'; font-size: 13px; color: #9da5b3; font-weight: 400; } a.footer-link::after { content: '\f119'; font-family: Ionicons; display: block; position: absolute; right: -25px; font-size: 32px; font-weight: 600; bottom: -10px; } .platform-preview { position: absolute; right: 0; text-align: center; right: -20px; z-index: 1; background-color: white; } .platform-preview.fixey { position: fixed; top: 0; } .platform-preview > a { position: relative; top: -25px; font-size: 15px; } .platform-preview > a, .platform-preview > a:hover, .platform-preview > a:active, .platform-preview > a:focus { text-decoration: none; } .platform-preview .platform-toggle a, .docs-container .sass-platform-toggle a { cursor: pointer; display: inline-block; padding: 4px 16px; border-radius: 16px; color: #9da5b3; font-size: 14px; font-weight: 500; -webkit-font-smoothing: antialiased; transition: .2s color, .2s background-color; } .platform-preview .platform-toggle a.active, .platform-preview .platform-toggle a.active:hover, .docs-container .sass-platform-toggle a.active, .docs-container .sass-platform-toggle a.active:hover { background-color: #4a8bfc; color: white; } .platform-preview .platform-toggle a:hover, .docs-container .sass-platform-toggle a:hover { color: #4a8bfc; text-decoration: none; } .platform-preview .platform-toggle { padding: 8px 10px 4px; } .docs-container .sass-platform-toggle { padding-top: 0px 10px 4px; margin-bottom: 10px; float: right; } #sass-variable-header { margin-bottom: 0px; padding-bottom: 0px; } #sass-variables { margin-bottom: 0px; position: relative; bottom: 15px; } #sass-variables .table.param-table td, #sass-variables .table.param-table th { white-space: nowrap; } #sass-variables .table.param-table td:last-child, #sass-variables .table.param-table td:nth-last-child(2), #sass-variables .table.param-table th:last-child, #sass-variables .table.param-table th:nth-last-child(2) { white-space: normal; } #sass-variables .table.param-table td:nth-last-child(2), #sass-variables .table.param-table th:nth-last-child(2) { width: 10%; } @media (max-width: 1300px) and (min-width: 480px) { #sass-variables { bottom: -10px; } #sass-variables .table.param-table td, #sass-variables .table.param-table th { white-space: normal; } #sass-variables .table.param-table td:nth-last-child(2), #sass-variables .table.param-table th:nth-last-child(2) { width: auto; } } @media (max-width: 480px) { #sass-variables { bottom: -25px; } #sass-variables .table.param-table tr, #sass-variables .table.param-table td { white-space: normal; } } #demo-device-ios, #demo-device-android, #demo-device-windows { width: 467px; height: 800px; background: center top no-repeat url("/img/devices-sprite.jpg"); background-size: 467px; margin: 0 auto; } #demo-device-ios iframe, #demo-device-android iframe, #demo-device-windows iframe { margin-top: 85px; width: 320px; height: 568px; } #demo-device-android { background-position: center center; } #demo-device-android iframe { margin-top: 64px; width: 360px; height: 590px; } #demo-device-windows { background-position: center bottom; } #demo-device-windows iframe { margin-top: 72px; width: 350px; height: 622px; background: white; } li.nav-item-hidden { position: absolute; top: -9999px; left: -9999px; } ul.docs-content { list-style: none; line-height: 26px; padding-left: 16px; } ul.docs-content li.docs-content-header { font-weight: 400; color: #B9BEC5; } ul.docs-example { list-style: none; display: block; margin: 3em 0; padding: 0; border-radius: 4px; } ul.docs-example li { display: inline-block; border: 1px solid #e6e9ee; width: 32%; margin: 0; padding: 8% 0; } @media screen and (max-width: 767px) { ul.docs-example li { display: block; width: 100%; margin-bottom: 1em; } } ul.docs-example li:not(:first-child) { margin-left: 1%; } ul.docs-example li img { display: block; margin: 0 auto; width: 55.7%; } .highlight .err { background-color: #fff; } .param-table td p { margin: 0; line-height: 22px; } .param-table td ul { list-style: none; margin-right: -7px; margin-left: -92px; border: 1px solid #e6e9ee; border-left: 0; border-top: 0; padding: 10px 17px; border-bottom-right-radius: 0.5em; } .param-table td ul li { padding: 0; margin: 17px 0; } .return-value b::before { font-family: 'Ionicons'; -webkit-font-smoothing: antialiased; content: '\f203'; font-size: 16px; font-weight: 800; position: relative; padding-right: 5px; top: 2px; } .docs-container h2 a:not([role="button"]), .docs-container h3 a:not([role="button"]) { color: #26292e !important; } .docs-container h2 a:not([role="button"]):hover, .docs-container h3 a:not([role="button"]):hover { color: #26292e !important; } .hero { position: relative; } .faq-section { margin: 80px auto; } @media (max-width: 991px) and (min-width: 768px) { .hide-sm { display: none !important; } } .native-docs a { margin-top: 0 !important; } [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak { display: none !important; } #hubspot-messages-iframe-container { z-index: 1; } .page-coming-soon .coming-soon { text-align: center; } .page-coming-soon .coming-soon img { width: 200px; } .page-coming-soon .coming-soon p { color: #9da5b3; font-size: 18px; } .page-coming-soon .coming-soon a { font-size: 16px; font-weight: 500; } .page-coming-soon .coming-soon a::after { font-family: Ionicons; content: '\f287'; display: inline-block; margin-left: 10px; position: relative; top: 2px; } .page-404 .four-oh-four { text-align: center; } .page-404 .four-oh-four img { width: 100%; max-width: 336px; } .page-404 .four-oh-four p { color: #9da5b3; font-size: 18px; } .page-404 .four-oh-four a { font-size: 16px; font-weight: 500; } .page-404 .four-oh-four a::after { font-family: Ionicons; content: '\f287'; display: inline-block; margin-left: 10px; position: relative; top: 2px; } #page-articles-why-hybrid .signup-form .card { background-image: url("/img/articles/why-hybrid-cover.jpg"); } #page-books-native-v-hybrid { background: #e1e6ef; background: linear-gradient(to right, #e1e6ef, #e1e6ef 50%, #122138 50%, #122541); position: relative; height: 100%; } #page-books-native-v-hybrid::before { background: linear-gradient(45deg, #111c2c, #122541); content: ''; position: absolute; top: 0; right: 0; left: 50%; bottom: 0; } #page-books-native-v-hybrid main { display: -ms-flexbox; display: flex; position: relative; -ms-flex-align: center; align-items: center; height: 100%; } #page-books-native-v-hybrid aside, #page-books-native-v-hybrid hgroup { -ms-flex: 0 0 50%; flex: 0 0 50%; } #page-books-native-v-hybrid aside { position: relative; background: url("/img/books/web-ebook-cover.jpg") no-repeat calc(100% - 1px) 50%; background-size: contain; height: 100%; margin-top: 160px; } #page-books-native-v-hybrid hgroup { color: white; padding-left: 10%; } #page-books-native-v-hybrid hgroup h1 { font-weight: 700; font-size: 44px; line-height: 1.4em; } #page-books-native-v-hybrid hgroup p { font-size: 18px; line-height: 1.7em; margin: 38px 0; } #page-books-native-v-hybrid hgroup .btn { color: #773e00; background: #ffcb2c; } #page-books-native-v-hybrid .modal hgroup { padding-right: 10%; } #page-books-native-v-hybrid .modal h3 { color: #24282e; } @media (max-width: 991px) { #page-books-native-v-hybrid { background: #e1e6ef; } #page-books-native-v-hybrid::before { display: none; } #page-books-native-v-hybrid main { -ms-flex-direction: column; flex-direction: column; width: 100%; } #page-books-native-v-hybrid main aside { height: 400px; width: 100%; background-position: calc(50% + 33px) 50%; margin-top: 64px; } #page-books-native-v-hybrid main hgroup { padding: 20px 20px 48px; position: relative; text-align: center; } #page-books-native-v-hybrid main hgroup::before { background: linear-gradient(45deg, #111c2c, #122541); content: ''; position: absolute; top: 0; right: -15px; left: -15px; bottom: 0; } #page-books-native-v-hybrid main hgroup > * { position: relative; } } .book-preview { width: 100vw; height: 100vh; background-color: #122541; background-image: linear-gradient(45deg, #111c2c, #122541); overflow: hidden; } #page-community .banner, #page-community main { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; } #page-community .banner h1, #page-community .banner h2, #page-community .banner h3, #page-community .banner h4, #page-community .banner strong, #page-community main h1, #page-community main h2, #page-community main h3, #page-community main h4, #page-community main strong { color: #0f1622; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-community .banner a, #page-community main a { text-decoration: none; } #page-community .banner hgroup p, #page-community main hgroup p { color: #4a586f; } #page-community .banner { background: #fcfdff no-repeat 0 0; background-image: url("/img/community/hero-bg.jpg"), linear-gradient(to bottom, #fafcfd, #f4f5f7); background-size: cover, 100%; padding-top: 226px; margin-top: -110px; will-change: trasnform; } #page-community .banner hgroup { max-width: 768px; will-change: trasnform; } @media (max-width: 767px) { #page-community .banner hgroup li { padding-right: 15px; } } @media (max-width: 767px) { #page-community .banner hgroup li li { margin-bottom: 16px; } } #page-community .banner h1 { font-size: 48px; font-weight: 700; letter-spacing: -.04em; margin-bottom: 23px; } #page-community .banner p { font-size: 22px; letter-spacing: -.03em; line-height: 36px; } #page-community .banner ul { padding: 33px 0 0; display: -ms-flexbox; display: flex; list-style: none; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; } #page-community .banner li { font-size: 24px; } #page-community .banner li:first-child a { padding-left: 0; } #page-community .banner li a { padding: 0 20px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; letter-spacing: -.024em; transition: all .15s ease; color: #0079ff; transition: .1s opacity, .1s color; } #page-community .banner li a:hover { color: #4da1ff; } #page-community .banner li a:hover ion-icon { color: #4da1ff; -webkit-transform: translateX(2px); transform: translateX(2px); } #page-community .banner li ion-icon { font-size: 19px; vertical-align: -10%; display: inline-block; transition: .1s transform ease-out; } #page-community .banner .features { max-width: 982px; margin-top: 120px; padding-bottom: 27px; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; will-change: trasnform; } #page-community .banner .features::before, #page-community .banner .features::after { display: none; } #page-community .banner .features li { list-style: none; padding: 0; text-align: left; min-width: 128px; padding-left: 15px; padding-bottom: 32px; } #page-community .banner .features strong { display: block; font-size: 37px; letter-spacing: -.04em; line-height: 40px; } #page-community .banner .features span { font-size: 19px; display: block; color: #727c8e; } @media (max-width: 767px) { #page-community .banner .features { margin-top: 0; -ms-flex-pack: distribute; justify-content: space-around; } } #page-community .banner h1, #page-community .banner p, #page-community .banner li { -webkit-animation: 1s fadeInUp forwards; animation: 1s fadeInUp forwards; opacity: 0; } #page-community .banner h1 { -webkit-animation-delay: .8s; animation-delay: .8s; } #page-community .banner p { -webkit-animation-delay: 1s; animation-delay: 1s; } #page-community .banner hgroup li { -webkit-animation-delay: 1.6s; animation-delay: 1.6s; } #page-community .banner hgroup li:nth-child(2) { -webkit-animation-delay: 1.7s; animation-delay: 1.7s; } #page-community .banner hgroup li:nth-child(3) { -webkit-animation-delay: 1.8s; animation-delay: 1.8s; } #page-community .banner hgroup li:nth-child(4) { -webkit-animation-delay: 1.9s; animation-delay: 1.9s; } #page-community .banner .features li { -webkit-animation-delay: 2.2s; animation-delay: 2.2s; } #page-community .banner .features li:nth-child(2) { -webkit-animation-delay: 2.3s; animation-delay: 2.3s; } #page-community .banner .features li:nth-child(3) { -webkit-animation-delay: 2.4s; animation-delay: 2.4s; } #page-community .banner .features li:nth-child(4) { -webkit-animation-delay: 2.5s; animation-delay: 2.5s; } @media (max-width: 767px) { #page-community .banner { -webkit-transform: none !important; transform: none !important; } #page-community .banner hgroup, #page-community .banner .features { -webkit-transform: none !important; transform: none !important; } } #page-community main { background: white; position: relative; z-index: 1; overflow: hidden; } #page-community .meetups { padding-top: 96px; } #page-community .meetups .split { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: justify; justify-content: space-between; } @media (max-width: 1219px) and (min-width: 992px) { #page-community .meetups .split .btns { padding-top: 0; margin-left: 24px; } #page-community .meetups .split .btn { margin-bottom: 8px; } } @media (max-width: 767px) { #page-community .meetups .split { -ms-flex-direction: column; flex-direction: column; text-align: center; } } #page-community .meetups hgroup { max-width: 592px; display: inline-block; } #page-community .meetups hgroup h2 { font-size: 31px; font-weight: 700; letter-spacing: -.006em; margin-bottom: 12px; } #page-community .meetups hgroup p { font-size: 18px; line-height: 28px; letter-spacing: -.005em; } #page-community .meetups .btns { padding-top: 78px; } #page-community .meetups .btns :first-child { margin-right: 6px; } #page-community .meetups .btn { font-size: 16px; padding: 14px 18px 12px; letter-spacing: -.01em; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-weight: 700; transition: all .2s ease; } #page-community .meetups ul { list-style: none; padding: 0; margin: 64px 0 80px; display: -ms-flexbox; display: flex; position: absolute; left: 0; opacity: 0; will-change: transform; -webkit-animation: 1s fadeIn forwards 1s; animation: 1s fadeIn forwards 1s; } #page-community .meetups li { margin-right: 80px; } #page-community .meetups li a { padding: 16px 35px 14px 73px; position: relative; display: block; transition: .4s transform ease; } #page-community .meetups li a::before { position: absolute; top: 0; right: 0; left: 0; bottom: 0; content: ''; box-shadow: 0 6px 12px rgba(0, 8, 24, 0.08), 0 2px 4px rgba(0, 8, 24, 0.04); border-radius: 30px; transition: box-shadow .1s ease, -webkit-transform .1s ease; transition: box-shadow .1s ease, transform .1s ease; transition: box-shadow .1s ease, transform .1s ease, -webkit-transform .1s ease; } #page-community .meetups li a::after { background: url("/img/community/flags.png") 0 0 no-repeat; background-size: 48px; position: absolute; left: 11px; top: calc(50% - 24px); height: 48px; width: 48px; content: ''; } #page-community .meetups li a.uk::after { background-position: 0 0px; } #page-community .meetups li a.ch::after { background-position: 0 -48px; } #page-community .meetups li a.de::after { background-position: 0 -96px; } #page-community .meetups li a.il::after { background-position: 0 -144px; } #page-community .meetups li a.us::after { background-position: 0 -192px; } #page-community .meetups li a.br::after { background-position: 0 -240px; } #page-community .meetups li a.nl::after { background-position: 0 -288px; } #page-community .meetups li a.es::after { background-position: 0 -336px; } #page-community .meetups li a.ams::after { background-position: 0 -384px; } #page-community .meetups li a.in::after { background-position: 0 -432px; } #page-community .meetups li a.yvr::after { background-position: 0 -480px; } #page-community .meetups li a.tr::after { background-position: 0 -528px; } #page-community .meetups li a.au::after { background-position: 0 -576px; } #page-community .meetups li a.dk::after { background-position: 0 -624px; } #page-community .meetups li a.hu::after { background-position: 0 -672px; } #page-community .meetups li a.co::after { background-position: 0 -720px; } #page-community .meetups li a.jp::after { background-position: 0 -768px; } #page-community .meetups li a.ug::after { background-position: 0 -816px; } #page-community .meetups li a.hk::after { background-position: 0 -864px; } #page-community .meetups li a.ng::after { background-position: 0 -912px; } #page-community .meetups li a.tz::after { background-position: 0 -960px; } #page-community .meetups li a.th::after { background-position: 0 -1008px; } #page-community .meetups li a:hover { -webkit-transform: translateY(-1px); transform: translateY(-1px); } #page-community .meetups li a:hover::before { box-shadow: 0 10px 18px rgba(0, 8, 24, 0.1), 0 4px 8px rgba(0, 8, 24, 0.08); -webkit-transform: scale3d(1.01, 1.02, 1); transform: scale3d(1.01, 1.02, 1); } #page-community .meetups li strong, #page-community .meetups li span { position: relative; z-index: 1; display: block; white-space: nowrap; } #page-community .meetups li strong { font-weight: 600; letter-spacing: -.01em; font-size: 14px; line-height: 16px; color: #0f1622; } #page-community .meetups li span { font-size: 12px; letter-spacing: -.01em; color: #506176; } #page-community .image-wall { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; margin-top: 220px; } @media (max-width: 1219px) { #page-community .image-wall { -ms-flex-pack: distribute; justify-content: space-around; } } #page-community .image-wall img { height: 256px; margin-bottom: 14px; } @media (max-width: 1219px) { #page-community .image-wall img { -ms-flex-pack: distribute; justify-content: space-around; } } @media (max-width: 767px) { #page-community .image-wall { margin-left: -5px; margin-right: -5px; } #page-community .image-wall img { margin-right: 5px; margin-left: 5px; height: 128px; } } @media (max-width: 440px) { #page-community .image-wall img { height: 64px; } } #page-community .leaders { background: linear-gradient(to bottom, #f7f9fb, white 50%, white); margin-top: -142px; padding-top: 182px; } #page-community .leaders hgroup { margin: 84px auto 66px; max-width: 684px; text-align: center; } #page-community .leaders hgroup h2 { font-weight: 700; font-size: 32px; margin-bottom: 13px; letter-spacing: -0.01em; } #page-community .leaders hgroup p { font-size: 18px; letter-spacing: -.01em; line-height: 28px; } #page-community .leaders ul { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; padding: 15px; } #page-community .leaders ul::before, #page-community .leaders ul::after { display: none; } #page-community .leaders li { -ms-flex: 0 0 271px; flex: 0 0 271px; list-style: none; padding: 82px 24px 18px; text-align: center; position: relative; margin-bottom: 55px; } #page-community .leaders li::before, #page-community .leaders li::after { content: ''; position: absolute; } #page-community .leaders li::before { top: 0; right: 0; left: 0; bottom: 0; border-radius: 8px; pointer-events: none; box-shadow: 0 4px 8px rgba(0, 8, 24, 0.08), 0px 8px 32px rgba(0, 8, 24, 0.1); transition: .2s box-shadow ease-out, .2s transform ease-out; } #page-community .leaders li::after { top: -20px; right: calc(50% - 45px); background: url("/img/community/community-leaders-avatars.png") 0 0 no-repeat; background-size: 90px; height: 90px; width: 90px; } #page-community .leaders li.simon::after { background-position: 0 0px; } #page-community .leaders li.josh::after { background-position: 0 -90px; } #page-community .leaders li.jorge::after { background-position: 0 -180px; } #page-community .leaders li.veni::after { background-position: 0 -270px; } #page-community .leaders li.ashteya::after { background-position: 0 -360px; } #page-community .leaders li.paul::after { background-position: 0 -450px; } #page-community .leaders li.sani::after { background-position: 0 -540px; } #page-community .leaders li.leif::after { background-position: 0 -630px; } #page-community .leaders li.david::after { background-position: 0 -720px; } #page-community .leaders li.chris::after { background-position: 0 -810px; } #page-community .leaders li.dayana::after { background-position: 0 -900px; } #page-community .leaders li.aaron::after { background-position: 0 -990px; } #page-community .leaders li:hover::before { box-shadow: 0 2px 8px rgba(0, 8, 24, 0.08), 0px 8px 32px rgba(0, 8, 24, 0.1), 0 8px 18px rgba(0, 8, 24, 0.1); } #page-community .leaders strong { display: block; font-size: 15px; font-weight: 600; letter-spacing: .01em; } #page-community .leaders p { font-size: 14px; margin-top: 7px; letter-spacing: -.02em; } #page-community .leaders p a { transition: .2s color ease-out; } #page-community .leaders p a:hover { color: #045cf5; } #page-community .leaders .twitter { position: absolute; top: 9px; right: 15px; width: 20px; height: 20px; font-size: 20px; color: #d6ddea; transition: .2s transform ease-out, .2s color ease-out; } #page-community .leaders .twitter:hover { color: #4a8bfc; -webkit-transform: scale3d(1.2, 1.2, 1); transform: scale3d(1.2, 1.2, 1); } @media (max-width: 991px) { #page-community .leaders ul { padding-left: 0; padding-right: 0; } #page-community .leaders li { -ms-flex-positive: 1; flex-grow: 1; margin-left: 15px; margin-right: 15px; } } #page-community .join .split { display: -ms-flexbox; display: flex; padding: 60px 0; -ms-flex-align: end; align-items: flex-end; } @media (max-width: 991px) { #page-community .join .split { -ms-flex-align: center; align-items: center; } } @media (max-width: 767px) { #page-community .join .split { -ms-flex-direction: column; flex-direction: column; } #page-community .join .split hgroup { -ms-flex: 0; flex: 0; } #page-community .join .split aside { width: 100%; margin-top: 24px; margin-left: 0; } } #page-community .join hgroup { -ms-flex: 0 508px; flex: 0 508px; } #page-community .join hgroup h2 { font-size: 24px; font-weight: 700; letter-spacing: -.01em; } #page-community .join hgroup p { font-size: 16px; margin-top: 17px; line-height: 1.5em; letter-spacing: -.02em; margin-bottom: 0; } #page-community .join aside { margin-left: auto; width: 460px; padding-bottom: 2px; } @media (max-width: 991px) { #page-community .join aside { margin-left: 20px; } } #page-community .join aside h3 { font-size: 16px; font-weight: 600; letter-spacing: -.01em; } #page-community .join aside ionic-newsletter-signup { margin-top: 11px; display: block; } #page-community .join ul { padding: 0; list-style: none; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 27px; -ms-flex-pack: justify; justify-content: space-between; } @media (max-width: 1219px) { #page-community .join ul { -ms-flex-pack: distribute; justify-content: space-around; } } #page-community .join li { margin-bottom: 58px; width: 337px; } #page-community .join li a { padding-left: 82px; display: block; position: relative; } #page-community .join li a::before { background: url("/img/community/social-icons.png") 0 0 no-repeat; background-size: 70px; height: 70px; width: 70px; position: absolute; content: ''; top: calc(50% - 33px); left: -2px; transition: .2s transform ease-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transform: translateX(0); transform: translateX(0); outline: 1px solid transparent; } #page-community .join li a:hover strong { color: black; } #page-community .join li a:hover span { color: #4c5869; } #page-community .join li a:hover::before { -webkit-transform: translateX(2px); transform: translateX(2px); } #page-community .join li.slack a::before { background-position: 0 0px; } #page-community .join li.forum a::before { background-position: 0 -70px; } #page-community .join li.twitter a::before { background-position: 0 -140px; } #page-community .join li.github a::before { background-position: 0 -210px; } #page-community .join li.so a::before { background-position: 0 -280px; } #page-community .join li.facebook a::before { background-position: 0 -350px; } #page-community .join li.youtube a::before { background-position: 0 -420px; } #page-community .join li.blog a::before { background-position: 0 -490px; } #page-community .join li.medium a::before { background-position: 0 -560px; } #page-community .join li strong { transition: .2s color ease; } #page-community .join li strong { display: block; font-weight: 600; font-size: 17px; color: #0f1622; margin-bottom: 2px; } #page-community .join li span { font-size: 13px; letter-spacing: .014em; color: #6c7e95; } #page-community .latest { background: linear-gradient(to bottom, #f7f9fc, #fefeff); margin-top: 101px; padding-top: 138px; } #page-community .latest hgroup { margin: 0 auto 72px; max-width: 560px; text-align: center; } #page-community .latest hgroup h2 { font-weight: 700; font-size: 32px; letter-spacing: -.02em; } #page-community .latest hgroup p { margin-top: 12px; font-size: 18px; line-height: 28px; letter-spacing: .006em; } #page-community .latest .tutorials, #page-community .latest .videos { margin-top: 26px; position: relative; } #page-community .latest .tutorials h3, #page-community .latest .videos h3 { font-size: 20px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; } #page-community .latest .tutorials .subscribe, #page-community .latest .videos .subscribe { position: absolute; color: #3880ff; background: #dfedff; border-radius: 16px; padding: 4px 11px 5px; text-transform: uppercase; font-weight: 500; font-size: 11px; letter-spacing: 0.04em; right: 0; top: -2px; } #page-community .latest .tutorials .subscribe ion-icon, #page-community .latest .videos .subscribe ion-icon { margin-right: 1px; font-size: 10px; vertical-align: -5%; } #page-community .latest .tutorials ul, #page-community .latest .videos ul { padding: 24px 0px; list-style: none; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; } #page-community .latest .tutorials li, #page-community .latest .videos li { -ms-flex: 0 333px; flex: 0 333px; margin-bottom: 28px; } @media (max-width: 1219px) { #page-community .latest .tutorials li, #page-community .latest .videos li { -ms-flex: 0 300px; flex: 0 300px; } } #page-community .latest .tutorials li a, #page-community .latest .videos li a { display: block; padding: 1px 0 1px 39px; position: relative; } #page-community .latest .tutorials li a::before, #page-community .latest .videos li a::before { background: url("/img/community/latest-rss-icons.png") 0 0 no-repeat; background-size: 28px; height: 28px; width: 28px; content: ''; position: absolute; top: 0; left: 0; transition: .2s transform ease-out; } #page-community .latest .tutorials li a:hover strong, #page-community .latest .videos li a:hover strong { color: black; } #page-community .latest .tutorials li a:hover p, #page-community .latest .videos li a:hover p { color: #323c4c; } #page-community .latest .tutorials li a:hover span, #page-community .latest .videos li a:hover span { color: #5f7085; } #page-community .latest .tutorials li a:hover::before, #page-community .latest .videos li a:hover::before { -webkit-transform: translateX(2px); transform: translateX(2px); } #page-community .latest .tutorials li strong, #page-community .latest .tutorials li p, #page-community .latest .tutorials li span, #page-community .latest .videos li strong, #page-community .latest .videos li p, #page-community .latest .videos li span { transition: .2s color ease; } #page-community .latest .tutorials li strong, #page-community .latest .videos li strong { display: block; letter-spacing: -.018em; font-weight: 600; line-height: 1.75em; } #page-community .latest .tutorials li p, #page-community .latest .videos li p { display: block; color: #51607a; margin-top: 3px; font-size: 13px; line-height: 1.9em; letter-spacing: -.02em; } #page-community .latest .tutorials li span, #page-community .latest .videos li span { display: block; color: #8796a9; font-size: 12px; margin-top: 12px; letter-spacing: .03em; } @media (max-width: 1219px) { #page-community .latest .tutorials ul, #page-community .latest .videos ul { margin-left: -15px; margin-right: -15px; } #page-community .latest .tutorials li, #page-community .latest .videos li { -ms-flex-positive: 1; flex-grow: 1; margin-left: 15px; margin-right: 15px; } } #page-community .latest .videos li a::before { background-position: 0 -28px; } #page-community .education { background: #121b2c url("/img/community/community-edu-bg.jpg") no-repeat; background-position: 50% 0; background-size: 1680px; margin-top: 93px; padding-top: 138px; padding-bottom: 75px; } #page-community .education h2, #page-community .education h3, #page-community .education h4, #page-community .education p { position: relative; color: white; position: relative; z-index: 1; } #page-community .education p, #page-community .education h4 { opacity: .8; } #page-community .education hgroup { max-width: 580px; } #page-community .education hgroup h2 { font-size: 31px; font-weight: 700; } #page-community .education hgroup p { font-size: 18px; margin-top: 13px; line-height: 1.6em; letter-spacing: -.026em; } @media (max-width: 991px) { #page-community .education hgroup { text-align: center; margin: 0 auto; } } #page-community .education ul { padding: 47px 1px; margin-right: -15px; margin-left: -15px; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; list-style: none; -ms-flex-pack: justify; justify-content: space-between; } @media (max-width: 1219px) { #page-community .education ul { -ms-flex-pack: distribute; justify-content: space-around; } } #page-community .education li { -ms-flex: 0 270px; flex: 0 270px; height: 230px; margin-bottom: 28px; margin-right: 11px; margin-left: 11px; } #page-community .education li a { padding: 12px 29px; display: block; height: 100%; position: relative; } #page-community .education li a::before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ''; background: #3880ff; border-radius: 8px; transition: .2s transform ease; } #page-community .education li a:hover::before { -webkit-transform: scale3d(1.01, 1.01, 1); transform: scale3d(1.01, 1.01, 1); } #page-community .education li h4 { font-size: 11px; text-transform: uppercase; letter-spacing: .15em; margin-bottom: 8px; font-weight: 700; } #page-community .education li h3 { font-size: 21px; margin-top: 0; font-weight: 700; letter-spacing: -.01em; } #page-community .education li p { position: absolute; bottom: 15px; font-size: 12px; left: 28px; right: 28px; letter-spacing: -.01em; line-height: 1.4em; } #page-community .education li:nth-child(2) a::before { background: #287ea1; } #page-community .education li:nth-child(3) a::before { background: #da5b70; } #page-community .education li:nth-child(4) a::before { background: #95b251; } #page-community .education li:nth-child(5) a::before { background: #30aeeb; } #page-community .education li:nth-child(6) a::before { background: #4a628a; } #page-community .education li:nth-child(7) a::before { background: #8d5ce3; } #page-community .education li:nth-child(8) a::before { background: #f48f63; } #page-contributors main { color: #161a1f; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-weight: 600; } #page-contributors .btn { font-size: 16px; font-weight: 700; padding: 12px 20px; } #page-contributors .btn--secondary { background-color: #102242; } #page-contributors .cta { background-color: transparent; color: inherit; padding-bottom: 60px; padding-top: 120px; text-align: center; } @media (max-width: 768px) { #page-contributors .cta { padding-top: 180px; } } #page-contributors .cta h1 { color: #73ABFF; font-size: 48px; font-weight: 700; letter-spacing: -0.02em; } #page-contributors .cta h1 span { color: #3880FF; } #page-contributors .cta .typed-cursor { color: rgba(0, 0, 0, 0); display: inline-block; width: 4px; height: 56px; position: relative; top: -4px; background: #BFD6FF; opacity: 1; -webkit-animation: typedjsBlink 1s infinite; animation: typedjsBlink 1s infinite; } @-webkit-keyframes typedjsBlink { 0% { opacity: 1; } 50% { opacity: 0.0; } 100% { opacity: 1; } } @keyframes typedjsBlink { 0% { opacity: 1; } 50% { opacity: 0.0; } 100% { opacity: 1; } } #page-contributors .cta p { color: #505863; font-size: 18px; line-height: 30px; letter-spacing: -0.03em; margin: 0.75em auto 1.25em; max-width: 570px; } #page-contributors .cta .container { padding-top: 50px; padding-bottom: 50px; } @media (min-width: 768px) { #page-contributors .cta .container { padding-top: 100px; padding-bottom: 100px; } } #page-contributors .section-header { color: #2f3744; font-size: 20px; letter-spacing: -0.02em; margin-bottom: 4em; margin-top: 4em; max-width: 32em; } #page-contributors .section-header h2 { color: #24282e; font-size: 1.8em; font-weight: 700; margin-bottom: 0.65em; } #page-contributors .oss .section-header h2 span, #page-contributors .pro .section-header h2 span { border-bottom: solid 4px #24282e; } #page-contributors .feature { display: -ms-flexbox; display: flex; font-size: 16px; font-weight: 600; letter-spacing: -0.01em; } #page-contributors .feature__icon { background-image: url("/img/contributors/contributors-feature-icons.png"); background-position: top; background-repeat: no-repeat; background-size: 100%; display: block; -ms-flex: 0 0 48px; flex: 0 0 48px; height: 48px; margin-right: 2em; width: 48px; } #page-contributors .feature__icon.talk { background-position-y: 0; } #page-contributors .feature__icon.story { background-position-y: -48px; } #page-contributors .feature__icon.blog { background-position-y: -96px; } #page-contributors .feature__text strong { display: block; font-size: 1.25em; margin-bottom: 0.75em; } #page-contributors .feature__text p { color: #788497; line-height: 1.65; } #page-contributors .feature-list { list-style: none; margin: 0 0 4em; padding: 0; } #page-contributors .feature-list > li { margin-bottom: 2em; } @media (min-width: 768px) { #page-contributors .feature-list { display: -ms-flexbox; display: flex; margin: 0; } #page-contributors .feature-list > li { -ms-flex: 1; flex: 1; padding-right: 3em; margin-bottom: 4em; } #page-contributors .feature { -ms-flex-direction: column; flex-direction: column; } #page-contributors .feature__icon { margin-bottom: 1.25em; } } #page-contributors .topics { position: relative; min-height: 660px; background-color: #242355; color: #fff; overflow: hidden; } #page-contributors .topics:before, #page-contributors .topics:after { display: block; content: ''; width: 100%; height: 100px; position: absolute; left: 0; z-index: 2; opacity: 0.4; } #page-contributors .topics:before { top: 0; background-image: linear-gradient(-180deg, #242355 0%, rgba(36, 35, 85, 0) 100%); } #page-contributors .topics:after { bottom: 0; background-image: linear-gradient(-180deg, rgba(36, 35, 85, 0) 0%, #242355 100%); } #page-contributors .topics hgroup { max-width: 440px; margin-top: 72px; position: relative; z-index: 3; text-align: center; margin-left: auto; margin-right: auto; } #page-contributors .topics h1 { font-size: 36px; color: #FFFFFF; letter-spacing: -1.2px; line-height: 48px; font-weight: 700; } #page-contributors .topics p { font-size: 18px; color: #BFC5E5; letter-spacing: -0.62px; line-height: 30px; } #page-contributors .topics.image-fallback:after { content: ''; display: block; width: 388px; height: 658px; background-image: url("../img/contributors/contributors-topics.png"); background-repeat: no-repeat; background-size: 388px 658px; position: absolute; top: 0; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); opacity: 0.5; z-index: 1; } @media (max-width: 768px) { #page-contributors .topics:before { height: 400px; opacity: 1; } #page-contributors .topics:after { opacity: 0.3; } } @media (min-width: 768px) { #page-contributors .topics.image-fallback:after { -webkit-transform: translateX(10%); transform: translateX(10%); opacity: 1; } #page-contributors .topics hgroup { text-align: left; margin-left: 0; margin-right: 0; margin-top: 136px; } } #page-contributors .topics__animation { position: absolute; top: 0; right: 50%; -webkit-transform: translateX(90%); transform: translateX(90%); z-index: 1; overflow: hidden; } #page-contributors .topics__animation .text { font-size: 18px; letter-spacing: -0.03em; fill: #fff; } @media (max-width: 768px) { #page-contributors .topics__animation { opacity: 0.8; -webkit-transform: translateX(50%); transform: translateX(50%); } } #page-contributors .quotes { color: #ffffff; display: -ms-flexbox; display: flex; font-size: 20px; font-weight: 700; letter-spacing: -0.01em; } @media (max-width: 768px) { #page-contributors .quotes { -ms-flex-direction: column; flex-direction: column; } } #page-contributors .quotes__content { max-width: 490px; position: relative; } #page-contributors .quotes__quote { display: -ms-flexbox; display: flex; -ms-flex: 1; flex: 1; padding: 80px; color: #24282e; } @media (max-width: 480px) { #page-contributors .quotes__quote { padding: 40px; } } @media (min-width: 768px) { #page-contributors .quotes__quote:first-child { -ms-flex-pack: end; justify-content: flex-end; } } #page-contributors .quotes__quote.morony { background-color: #E9F2FF; } #page-contributors .quotes__quote.verganara { background-color: #D0E2FD; } #page-contributors .quotes__avatar { background-image: url("/img/contributors/contributors-testimonial-avatars.png"); background-position: center; background-size: 100%; background-repeat: no-repeat; display: block; width: 62px; height: 62px; margin-bottom: 1em; border-radius: 62px; border: 3px solid #fff; box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); } #page-contributors .quotes__avatar.morony { background-position-y: 0; } #page-contributors .quotes__avatar.verganara { background-position-y: -56px; } #page-contributors .quotes blockquote { border: none; font-size: inherit; line-height: 1.5; margin: 0; padding: 0; } #page-contributors .quotes a { color: initial; text-underline: none; } #page-contributors .quotes a blockquote > small { color: inherit; font-weight: 600; margin-top: 2em; text-align: right; } #page-contributors .quotes a blockquote > small > span { padding-left: 0.5em; } #page-contributors .quotes a blockquote > small:before { display: none; } #page-contributors .morony a blockquote > small > span { color: #93A8C6; } #page-contributors .verganara a blockquote > small > span { color: #5C749B; } #page-contributors .apply { padding-top: 100px; padding-bottom: 100px; } #page-contributors .apply .container { display: -ms-flexbox; display: flex; } @media (max-width: 992px) { #page-contributors .apply .container { -ms-flex-direction: column; flex-direction: column; } } @media (max-width: 768px) { #page-contributors .apply { padding-top: 50px; padding-bottom: 50px; } } #page-contributors .apply__form { -ms-flex: 0 0 685px; flex: 0 0 685px; padding: 46px; background: #FFFFFF; box-shadow: 0 2px 8px 0 rgba(0, 14, 39, 0.12), 0 10px 20px 0 rgba(0, 14, 39, 0.12); border-radius: 15px; } #page-contributors .apply__form h2 { margin-top: 0; font-weight: 700; font-size: 36px; letter-spacing: -1.2px; line-height: 48px; color: #161A1F; } #page-contributors .apply__form .hbspt-form { margin: 44px 0 0; } @media (max-width: 1220px) { #page-contributors .apply__form { -ms-flex: 0 0 580px; flex: 0 0 580px; } } #page-contributors .apply__benefits { padding-left: 50px; margin-top: 62px; } #page-contributors .apply__benefits h4 { font-size: 22px; font-weight: 700; letter-spacing: -0.03em; color: #161A1F; margin: 0 0 36px; } #page-contributors .benefit-list { margin: 0; padding: 0; list-style-type: none; } #page-contributors .benefit-list__item { padding-left: 42px; margin-top: 28px; background: url(/img/framework/checkmark-icon.png) no-repeat 0 0; background-size: 24px; } #page-contributors .benefit-list__item h5 { font-size: 18px; font-weight: 600; color: #161A1F; line-height: 22px; margin: 0 0 5px; } #page-contributors .benefit-list__item p { font-size: 14px; color: #747F92; letter-spacing: -0.25px; line-height: 24px; max-width: 280px; } @media (max-width: 768px) { #page-contributors .apply__form { -ms-flex: 0 0 auto; flex: 0 0 auto; padding: 26px; } #page-contributors .apply__form h2 { text-align: center; font-size: 30px; margin: 16px 0; } } @media (max-width: 992px) { #page-contributors .apply__benefits { padding-left: 0; } #page-contributors .benefit-list__item p { max-width: none; } } @media (max-width: 767px) { #page-demo .demo-cta, #page-strategy-session .demo-cta { margin-top: 0; } } #page-demo .demo-cta > .container, #page-strategy-session .demo-cta > .container { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; padding-bottom: 104px; padding-top: 53px; } @media (max-width: 767px) { #page-demo .demo-cta > .container, #page-strategy-session .demo-cta > .container { -ms-flex-direction: column; flex-direction: column; padding-top: 23px; text-align: center; } } #page-demo .demo-cta hgroup, #page-strategy-session .demo-cta hgroup { max-width: none; padding-bottom: 0; padding-top: 0; } @media (max-width: 767px) { #page-demo .demo-cta hgroup, #page-strategy-session .demo-cta hgroup { max-width: 480px; } } #page-demo .demo-cta hgroup p, #page-strategy-session .demo-cta hgroup p { margin-bottom: 0; } @media (max-width: 767px) { #page-demo .demo-cta hgroup p, #page-strategy-session .demo-cta hgroup p { font-size: 15px; } } #page-demo .demo-cta h1, #page-strategy-session .demo-cta h1 { font-weight: 600; margin-bottom: 8px; margin-top: 0; } @media (min-width: 992px) { #page-demo .demo-cta h1, #page-strategy-session .demo-cta h1 { font-size: 32px; } } #page-demo .demo-cta__icon, #page-strategy-session .demo-cta__icon { display: block; margin-right: 20px; width: 64px; } @media (max-width: 767px) { #page-demo .demo-cta__icon, #page-strategy-session .demo-cta__icon { margin-right: 0; margin-bottom: 2em; } } #page-demo .demo-form, #page-strategy-session .demo-form { display: -ms-flexbox; display: flex; overflow: visible; } #page-demo .demo-form::before, #page-demo .demo-form::after, #page-strategy-session .demo-form::before, #page-strategy-session .demo-form::after { display: none; } #page-demo .demo-form .hbspt-form, #page-strategy-session .demo-form .hbspt-form { background-color: #fff; border-radius: 6px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.1); margin-bottom: 50px; margin-top: -40px; padding: 64px 64px 24px; } #page-demo .demo-form .hbspt-form form, #page-strategy-session .demo-form .hbspt-form form { max-width: 100%; padding: 0; } #page-demo .demo-form .hbspt-form form h3, #page-strategy-session .demo-form .hbspt-form form h3 { width: 100%; } #page-demo .demo-form .hbspt-form form:before, #page-strategy-session .demo-form .hbspt-form form:before { display: none; } #page-demo .demo-form .hbspt-form .hs-form-required, #page-strategy-session .demo-form .hbspt-form .hs-form-required { position: absolute; pointer-events: none; } #page-demo .demo-form .hbspt-form button, #page-strategy-session .demo-form .hbspt-form button { float: none; margin-top: 0; } #page-demo .demo-form .hbspt-form .hs-input, #page-strategy-session .demo-form .hbspt-form .hs-input { width: 100%; max-width: 100%; box-sizing: border-box; } #page-demo .demo-form .hbspt-form .form-columns-1 .input, #page-strategy-session .demo-form .hbspt-form .form-columns-1 .input { margin-right: 0; } #page-demo .demo-form__aside, #page-strategy-session .demo-form__aside { padding: 4em; margin-left: auto; } #page-demo .demo-form__aside img, #page-strategy-session .demo-form__aside img { display: block; width: 100%; } #page-demo .demo-form__aside ul, #page-strategy-session .demo-form__aside ul { color: #727a87; font-size: 1.125em; list-style: none; margin: 0; padding: 0; } #page-demo .demo-form__aside ul > li, #page-strategy-session .demo-form__aside ul > li { margin-bottom: 1.5em; padding-left: 1.5em; position: relative; } #page-demo .demo-form__aside ul > li:before, #page-strategy-session .demo-form__aside ul > li:before { color: #4a8bfc; content: '\f2ba'; font-family: 'Ionicons'; left: 0; position: absolute; top: 0; } #page-demo .demo-form__aside > p, #page-strategy-session .demo-form__aside > p { color: #707c88; font-size: 0.875em; font-weight: 700; letter-spacing: 0.075em; line-height: 2; margin-bottom: 3em; text-transform: uppercase; } @media (max-width: 1219px) { #page-demo .demo-form__aside, #page-strategy-session .demo-form__aside { padding-right: 0; } } @media (max-width: 991px) { #page-demo .demo-form__aside, #page-strategy-session .demo-form__aside { display: none; } } #page-identity-vault main { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; overflow: visible; } #page-identity-vault main h1, #page-identity-vault main h2, #page-identity-vault main h3, #page-identity-vault main h4, #page-identity-vault main .btn { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-identity-vault .sub-header .vault-link { font-size: 15px; font-weight: 700; padding-left: 1px; padding-top: 17px; letter-spacing: .03em; } #page-identity-vault .sub-header .vault-link:before { content: ''; background: url("/img/enterprise/identity-vault/vault-nav-logo.png") 0 0 no-repeat; background-size: 100%; width: 32px; height: 32px; display: inline-block; margin-right: 9px; vertical-align: -11px; } #page-identity-vault .sub-header .demo { padding: 19px 1px 18px 15px; } #page-identity-vault .sub-header .demo::after { font-family: 'Ionicons'; content: ""; margin-left: 3px; vertical-align: -1px; } #page-identity-vault .top { margin-top: -172px; padding-top: 276px; background: #0c1c1c; background: linear-gradient(to right, #0e1e2e 0%, #203e5a 100%); min-height: 972px; } #page-identity-vault .top .container { position: relative; } #page-identity-vault .top .container::after { background: url("/img/enterprise/identity-vault/hero-img.png") 0 0 no-repeat; background-size: 100%; width: 589px; height: 760px; content: ''; display: block; position: absolute; right: -82px; top: -72px; } #page-identity-vault .top hgroup { max-width: 540px; } #page-identity-vault .top h1 { color: white; letter-spacing: -.02em; } #page-identity-vault .top h3 { color: #7bbfff; font-size: 35px; letter-spacing: -.016em; line-height: 1.39em; margin-top: 15px; margin-bottom: 9px; } #page-identity-vault .top p { color: #c3cedf; font-size: 18px; letter-spacing: -.02em; margin-bottom: 1px; font-weight: 400; line-height: 1.5em; } #page-identity-vault .top p strong { color: #fff; font-weight: 400; } #page-identity-vault .top .btn { margin-top: 51px; padding: 14px 16px 12px 19px; font-size: 14px; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 80px; } #page-identity-vault .top .btn::after { font-family: 'Ionicons'; content: ''; font-size: 23px; font-weight: 400; vertical-align: -4px; margin-left: 5px; } @media (max-width: 1219px) { #page-identity-vault .top hgroup { max-width: 420px; } } @media (max-width: 991px) { #page-identity-vault .top hgroup { max-width: 100%; } #page-identity-vault .top h1, #page-identity-vault .top h3 { max-width: 460px; } #page-identity-vault .top .container::after { width: 294px; height: 380px; right: -31px; top: -80px; } } @media (max-width: 767px) { #page-identity-vault .top { padding-top: 400px; } #page-identity-vault .top .container::after { width: 147px; height: 190px; right: calc(50% - 95px); top: -190px; } #page-identity-vault .top hgroup { text-align: center; } #page-identity-vault .top h1, #page-identity-vault .top h3 { max-width: 100%; } } #page-identity-vault .gandalf { padding-top: 104px; margin-bottom: 80px; } #page-identity-vault .gandalf .split { display: -ms-flexbox; display: flex; } #page-identity-vault .gandalf .split > div { -ms-flex: 0 1 520px; flex: 0 1 520px; } #page-identity-vault .gandalf h2 { margin-top: 7px; font-size: 36px; margin-left: 1px; letter-spacing: -.02em; font-weight: 700; line-height: 1.8em; } #page-identity-vault .gandalf h3 { margin-top: 68px; font-size: 27px; font-weight: 600; } #page-identity-vault .gandalf p { font-size: 19px; margin-top: 24px; margin-left: 1px; letter-spacing: .005em; line-height: 1.92em; color: #51657d; } #page-identity-vault .gandalf p strong { font-weight: 500; } #page-identity-vault .gandalf ul { margin-left: auto; -ms-flex: 0 1 514px; flex: 0 1 514px; margin-top: 34px; padding-left: 0; } @media (max-width: 1219px) { #page-identity-vault .gandalf ul { -ms-flex-preferred-size: 392px; flex-basis: 392px; } } #page-identity-vault .gandalf ul li::before { top: 0; } #page-identity-vault .gandalf li { padding-left: 55px; font-size: 14px; position: relative; list-style: none; letter-spacing: -.022em; line-height: 1.78em; margin-bottom: 36px; color: #51657d; } #page-identity-vault .gandalf li::before { background: url("/img/enterprise/identity-vault/lock-checkmark.png") 0 0 no-repeat; background-size: 32px; width: 32px; height: 32px; position: absolute; left: 0; top: 7px; content: ''; } @media (max-width: 991px) { #page-identity-vault .gandalf .split { display: block; } #page-identity-vault .gandalf .split > div { text-align: center; } #page-identity-vault .gandalf li { top: 0; } } #page-identity-vault .gandalf figure { background: #f3f5f8; border-radius: 14px; padding: 24px 30px; margin-top: 59px; position: relative; min-height: 278px; } #page-identity-vault .gandalf figure::before, #page-identity-vault .gandalf figure::after { background: url("/img/enterprise/identity-vault/iv-diagram-states.png") 0 0 no-repeat; background-size: 100%; width: 1100px; height: 242px; position: absolute; left: 21px; top: 24px; bottom: 0; pointer-events: none; content: ''; transition: .2s opacity, .2s transform ease-out; } #page-identity-vault .gandalf figure::after { background-position: 0 100%; opacity: 0; -webkit-transform: scale3d(1.05, 1.05, 1); transform: scale3d(1.05, 1.05, 1); } #page-identity-vault .gandalf figure strong { font-weight: 600; font-size: 15px; } #page-identity-vault .gandalf figure a { background: #eee; border-radius: 10px; height: 18px; width: 28px; display: inline-block; margin-left: 13px; vertical-align: -4px; box-shadow: 0 0 4px inset rgba(0, 0, 0, 0.1); transition: .2s border-color; position: relative; cursor: pointer; } #page-identity-vault .gandalf figure a::before { background: white; width: 16px; height: 16px; content: ''; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); position: absolute; top: 1px; left: 2px; border-radius: 9px; transition: .2s transform ease; } #page-identity-vault .gandalf figure.active::before { opacity: 0; -webkit-transform: scale3d(1.05, 1.05, 1); transform: scale3d(1.05, 1.05, 1); } #page-identity-vault .gandalf figure.active::after { opacity: 1; -webkit-transform: none; transform: none; } #page-identity-vault .gandalf figure.active a { background-color: #5daffe; } #page-identity-vault .gandalf figure.active a::before { -webkit-transform: translate3d(9px, 0, 0); transform: translate3d(9px, 0, 0); } @media (max-width: 1219px) { #page-identity-vault .gandalf figure { min-height: 244px; } #page-identity-vault .gandalf figure::before, #page-identity-vault .gandalf figure::after { width: 896px; height: 196px; } } @media (max-width: 991px) { #page-identity-vault .gandalf figure { min-height: 194px; } #page-identity-vault .gandalf figure::before, #page-identity-vault .gandalf figure::after { width: 678px; height: 149px; } } @media (max-width: 767px) { #page-identity-vault .gandalf figure { display: none; } } #page-identity-vault .points { margin-bottom: 100px; } #page-identity-vault .points h2 { letter-spacing: -.02em; } #page-identity-vault .points p { margin-top: 17px; font-weight: 400; font-size: 20px; letter-spacing: -.02em; } #page-identity-vault .points ul { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0; list-style: none; padding-top: 68px; -ms-flex-pack: justify; justify-content: space-between; } #page-identity-vault .points li { -ms-flex: 0 0 320px; flex: 0 0 320px; padding-left: 0; padding-top: 69px; margin-left: 1px; position: relative; margin-bottom: 61px; } @media (max-width: 1219px) { #page-identity-vault .points li { -ms-flex-preferred-size: 256px; flex-basis: 256px; } } #page-identity-vault .points li::before { background: url("/img/enterprise/identity-vault/benefits-icons.png") 0 0 no-repeat; background-size: 48px; width: 48px; height: 48px; content: ''; position: absolute; top: 0; left: 0; } #page-identity-vault .points li.protection::before { background-position: 0 -48px; } #page-identity-vault .points li.code::before { background-position: 0 -96px; } #page-identity-vault .points li.backend::before { background-position: 0 -144px; } #page-identity-vault .points li.tokens::before { background-position: 0 -192px; } #page-identity-vault .points li.support::before { background-position: 0 -240px; } #page-identity-vault .points li strong { font-size: 20px; font-weight: 600; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-identity-vault .points li p { font-size: 16px; margin-top: 15px; font-weight: 400; line-height: 1.8em; letter-spacing: -.01em; color: #51657d; } @media (max-width: 991px) { #page-identity-vault .points hgroup { padding-top: 0; } #page-identity-vault .points li { -ms-flex-preferred-size: 340px; flex-basis: 340px; } } @media (max-width: 767px) { #page-identity-vault .points li { -ms-flex-preferred-size: 100%; flex-basis: 100%; text-align: center; } #page-identity-vault .points li::before { left: calc(50% - 24px); } } #page-identity-vault .protect, #page-identity-vault .integrations { position: relative; } #page-identity-vault .protect::before, #page-identity-vault .integrations::before { background: url("/img/enterprise/identity-vault/protection-img.png") 0 0 no-repeat; background-size: 100%; width: 560px; height: 560px; content: ''; position: absolute; top: 0; right: -10px; } @media (max-width: 991px) { #page-identity-vault .protect::before, #page-identity-vault .integrations::before { width: 280px; height: 280px; } } #page-identity-vault .protect hgroup, #page-identity-vault .integrations hgroup { width: calc(50% - 46px); padding-top: 0; } @media (max-width: 1219px) { #page-identity-vault .protect hgroup, #page-identity-vault .integrations hgroup { width: calc(50% - 66px); padding-bottom: 0; } #page-identity-vault .protect hgroup h3, #page-identity-vault .integrations hgroup h3 { padding-top: 40px; } } @media (max-width: 991px) { #page-identity-vault .protect hgroup, #page-identity-vault .integrations hgroup { width: 460px; } } #page-identity-vault .protect h3, #page-identity-vault .integrations h3 { padding-top: 115px; font-weight: 600; font-size: 28px; letter-spacing: -.02em; margin-bottom: 24px; } #page-identity-vault .protect p, #page-identity-vault .integrations p { color: #51657d; font-weight: 400; letter-spacing: -.02em; line-height: 1.8em; } #page-identity-vault .protect p.lg, #page-identity-vault .integrations p.lg { font-size: 19px; letter-spacing: .004em; line-height: 1.9em; font-weight: 400; margin-bottom: 17px; } #page-identity-vault .protect ul, #page-identity-vault .integrations ul { padding: 0; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; list-style: none; margin-top: 39px; } @media (max-width: 1219px) { #page-identity-vault .protect ul, #page-identity-vault .integrations ul { display: block; } } #page-identity-vault .protect li, #page-identity-vault .integrations li { -ms-flex: 0 0 50%; flex: 0 0 50%; padding-left: 31px; font-size: 16px; color: #3880ff; position: relative; margin-bottom: 22px; } #page-identity-vault .protect li::before, #page-identity-vault .integrations li::before { background: url("/img/enterprise/identity-vault/checkmark.png") 0 0 no-repeat; background-size: 20px; width: 20px; height: 20px; content: ''; position: absolute; top: 0; left: 1px; } @media (max-width: 767px) { #page-identity-vault .protect, #page-identity-vault .integrations { padding-top: 200px; } #page-identity-vault .protect::before, #page-identity-vault .integrations::before { top: -30px; right: calc(50% - 140px); } #page-identity-vault .protect hgroup, #page-identity-vault .integrations hgroup { width: 100%; text-align: center; } #page-identity-vault .protect li, #page-identity-vault .integrations li { -ms-flex-preferred-size: 100%; flex-basis: 100%; } } #page-identity-vault .integrations { padding-bottom: 99px; } #page-identity-vault .integrations::before { background: url("/img/enterprise/identity-vault/integration-img.png") 0 0 no-repeat; background-size: 100%; width: 560px; height: 560px; top: 101px; left: -11px; right: auto; } #page-identity-vault .integrations hgroup { padding-top: 56px; width: calc(50% - 59px); } @media (max-width: 1219px) { #page-identity-vault .integrations hgroup { padding-top: 0px; width: calc(50% - 100px); } } @media (max-width: 991px) { #page-identity-vault .integrations::before { width: 280px; height: 280px; } #page-identity-vault .integrations hgroup { width: 440px; } #page-identity-vault .integrations h3 { padding-top: 50px; } } @media (max-width: 767px) { #page-identity-vault .integrations { padding-top: 330px; } #page-identity-vault .integrations::before { top: 80px; left: calc(50% - 140px); } #page-identity-vault .integrations hgroup { width: 100%; text-align: center; } #page-identity-vault .integrations h3 { padding-top: 50px; } #page-identity-vault .integrations li { text-align: left; } } #page-identity-vault .what-you-got { background: #101928 url("/img/enterprise/identity-vault/bg-panes.png") 50% 0 no-repeat; background-size: 1000px; } #page-identity-vault .what-you-got .container { position: relative; padding-bottom: 150px; } #page-identity-vault .what-you-got hgroup { padding-top: 178px; max-width: 712px; } #page-identity-vault .what-you-got h3 { color: white; font-size: 36px; font-weight: 700; letter-spacing: -.02em; } #page-identity-vault .what-you-got p { color: #b6c3d6; font-weight: 400; margin-top: 17px; line-height: 1.8em; font-size: 20px; letter-spacing: -.02em; } #page-identity-vault .what-you-got p strong { color: white; font-weight: 400; } #page-identity-vault .what-you-got ul { padding: 0; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; list-style: none; margin-top: 69px; -ms-flex-pack: justify; justify-content: space-between; } #page-identity-vault .what-you-got li { -ms-flex: 0 0 518px; flex: 0 0 518px; padding-left: 56px; font-size: 16px; color: white; position: relative; margin-bottom: 45px; padding-top: 5px; letter-spacing: -.02em; } @media (max-width: 1219px) { #page-identity-vault .what-you-got li { -ms-flex-preferred-size: calc(50% - 50px); flex-basis: calc(50% - 50px); } } #page-identity-vault .what-you-got li::before { background: url("/img/enterprise/identity-vault/lock-checkmark.png") 0 100% no-repeat; background-size: 32px; width: 32px; height: 32px; content: ''; position: absolute; top: 0; left: 0; } @media (max-width: 991px) { #page-identity-vault .what-you-got hgroup { padding-top: 92px; max-width: 712px; } } @media (max-width: 767px) { #page-identity-vault .what-you-got { background-size: cover; } #page-identity-vault .what-you-got li { -ms-flex-preferred-size: 100%; flex-basis: 100%; } } #page-identity-vault .demo { padding-top: 97px; padding-bottom: 110px; } #page-identity-vault .demo hgroup strong { text-transform: uppercase; letter-spacing: .06em; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-identity-vault .demo hgroup h2 { margin-top: 39px; letter-spacing: -.01em; } #page-identity-vault .demo hgroup p { margin-top: 16px; font-weight: 400; font-size: 20px; letter-spacing: -.02em; } #page-identity-vault .demo hgroup p strong { font-weight: 400; text-transform: none; letter-spacing: inherit; } #page-identity-vault .demo .form { margin-top: 50px; max-width: 930px; margin-left: auto; margin-right: auto; } @media (max-width: 991px) { #page-identity-vault .demo { padding-top: 0; padding-bottom: 40px; } } @media (max-width: 767px) { #page-identity-vault .demo .form textarea.hs-input { width: calc(100% - 18px) !important; } } #page-identity-vault .watch { background: #f6f8fb; } #page-identity-vault .watch .card { position: absolute; left: 85px; top: 68px; } #page-identity-vault .watch img { width: 460px; } #page-identity-vault .watch hgroup { padding-top: 119px; width: calc(50% - 50px); padding-bottom: 140px; } @media (max-width: 1219px) { #page-identity-vault .watch hgroup { padding-top: 100px; width: calc(50% - 100px); padding-bottom: 120px; } #page-identity-vault .watch hgroup p { padding-right: 0; } } #page-identity-vault .watch h3 { font-weight: 600; letter-spacing: -.02em; } #page-identity-vault .watch p { margin-top: 24px; font-weight: 400; font-size: 18px; padding-right: 80px; display: block; margin-bottom: 22px; letter-spacing: -.02em; } #page-identity-vault .watch .btn { padding: 14px 16px 10px; font-size: 14px; } #page-identity-vault .watch .btn img { width: 16px; margin-right: 5px; } @media (max-width: 1219px) { #page-identity-vault .watch .card { left: 0; } } @media (max-width: 991px) { #page-identity-vault .watch img { width: 230px; } #page-identity-vault .watch hgroup { padding-top: 50px; width: calc(100% - 260px); padding-bottom: 60px; } } @media (max-width: 767px) { #page-identity-vault .watch .container { padding-top: 200px; } #page-identity-vault .watch .card { left: calc(50% - 115px); } #page-identity-vault .watch hgroup { text-align: center; width: 100%; } } #page-enterprise-training .banner { padding-top: 198px; padding-bottom: 90px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-enterprise-training .banner h1 { font-size: 48px; font-weight: 600; letter-spacing: -.018em; } #page-enterprise-training .banner p { margin-top: 15px; font-size: 20px; font-weight: 600; letter-spacing: -.03em; } #page-enterprise-training main { max-width: 630px; } #page-enterprise-training main h2 { font-size: 29px; font-weight: 700; margin-bottom: 18px; letter-spacing: -.04em; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-enterprise-training main h3 { margin-top: 39px; margin-bottom: 21px; font-size: 19px; font-weight: 700; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; letter-spacing: -.005em; } #page-enterprise-training main p { font-size: 17px; font-weight: 500; letter-spacing: .02em; line-height: 1.9em; margin-bottom: 32px; } #page-enterprise-training main p + ul { margin-top: -16px; } #page-enterprise-training main ul { padding-left: 26px; } #page-enterprise-training main li { font-size: 18px; font-weight: 500; letter-spacing: -.005em; line-height: 1.8em; } #page-enterprise-training aside { max-width: 520px; margin-top: 46px; margin-bottom: 78px; text-align: center; } #page-enterprise-training aside h3 { color: #3880ff; font-size: 28px; font-weight: 700; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; letter-spacing: -.03em; } #page-enterprise-training aside h3 i { color: #93a2bc; font-style: normal; } #page-enterprise-training aside .card { padding: 30px 30px 1px; width: 100%; min-height: 300px; background: white; border-radius: 8px; margin: 32px auto; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2); } #page-getting-started { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-getting-started .cta.gradient { background-image: linear-gradient(90deg, #3880ff 15%, #67a7ff 100%); } #page-getting-started .cta hgroup { padding-top: 62px; padding-bottom: 0; max-width: 100%; } #page-getting-started .cta h1, #page-getting-started .cta h4 { text-align: left; max-width: 540px; } @media (max-width: 767px) { #page-getting-started .cta h1, #page-getting-started .cta h4 { text-align: center; margin-left: auto; margin-right: auto; } } #page-getting-started .cta h1 { font-size: 36px; font-weight: 700; } #page-getting-started .cta h4 { font-size: 20px; line-height: 32px; color: #E3E9F4; margin-bottom: 60px; } @media (max-width: 767px) { #page-getting-started .cta hgroup { padding-top: 42px; } #page-getting-started .cta h4 { margin-bottom: 30px; } } #page-getting-started .crash-course { float: right; cursor: pointer; margin-top: -30px; margin-left: 30px; color: white; text-decoration: none; transition: 0.2s -webkit-transform cubic-bezier(0.2, 0.78, 0.66, 1.73); transition: 0.2s transform cubic-bezier(0.2, 0.78, 0.66, 1.73); transition: 0.2s transform cubic-bezier(0.2, 0.78, 0.66, 1.73), 0.2s -webkit-transform cubic-bezier(0.2, 0.78, 0.66, 1.73); } #page-getting-started .crash-course img { max-width: 358px; } #page-getting-started .crash-course h3 { text-transform: uppercase; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; color: #fff; margin: 0; -webkit-transform: translate(-8px, -91px) rotate(3.7deg); transform: translate(-8px, -91px) rotate(3.7deg); } #page-getting-started .crash-course:hover { -webkit-transform: scale(1.02, 1.02); transform: scale(1.02, 1.02); } @media (max-width: 992px) { #page-getting-started .crash-course { margin-top: 0; } #page-getting-started .crash-course img { max-width: 300px; } } @media (max-width: 767px) { #page-getting-started .crash-course { float: none; margin-left: 0; } } #page-getting-started .tab-content { padding: 100px 0 0; } @media (max-width: 767px) { #page-getting-started .tab-content { padding: 80px 0 0; } } #page-getting-started .tab-content .container:last-child { border-bottom: 1px solid #edf2f7; padding-bottom: 120px; } @media (max-width: 991px) { #page-getting-started .tab-content .container:last-child { padding-bottom: 70px; } } #page-getting-started .tab-content .logo { width: 158px; margin-bottom: 24px; } #page-getting-started .tab-content hgroup { margin: 0 auto; max-width: 580px; text-align: center; padding-bottom: 60px; } #page-getting-started .tab-content hgroup .btn { margin-top: 32px; } #page-getting-started .tab-content h1 { font-size: 24px; font-weight: 700; letter-spacing: -0.02em; } #page-getting-started .tab-content h2 { font-size: 18px; line-height: 28px; letter-spacing: -0.012em; margin-top: 14px; } #page-getting-started .tab-content h3 { font-size: 20px; font-weight: 600; letter-spacing: -0.02em; } #page-getting-started .tab-content h3.thin { font-weight: 400; } #page-getting-started .tab-content h4 { font-size: 16px; line-height: 22px; color: #0F1620; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 700; } #page-getting-started .tab-content p { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; font-size: 15px; line-height: 28px; letter-spacing: -0.01em; } #page-getting-started .tab-content code { font-size: 15px; color: #E05C7B; background: none; font-weight: 500; } #page-getting-started .tab-content pre { border: 0; padding: 0; margin: 0; background-color: #F5F7FA; border-radius: 6px; } #page-getting-started .tab-content pre code { color: #272A2F; padding: 16px 24px 20px; margin-top: 4px; } #page-getting-started .tab-content .img { width: 100%; } #page-getting-started .tab-content ol { margin-left: 0; padding: 0; list-style-type: none; } #page-getting-started .tab-content ol li { counter-increment: step-counter; display: -ms-flexbox; display: flex; position: relative; } #page-getting-started .tab-content ol li h1 { margin-top: 0; } #page-getting-started .tab-content ol li + li, #page-getting-started .tab-content ol li + .supercharge { margin-top: 140px; } @media (max-width: 767px) { #page-getting-started .tab-content ol li + li, #page-getting-started .tab-content ol li + .supercharge { margin-top: 60px; } } #page-getting-started .tab-content ol li::before { content: counter(step-counter); margin-right: 14px; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; width: 25px; -ms-flex: 0 0 25px; flex: 0 0 25px; height: 25px; font-size: 14px; font-weight: 600; background-color: #3880FF; color: #fff; border-radius: 100px; } #page-getting-started .tab-content ol li > div { -ms-flex: 1; flex: 1; } @media (max-width: 767px) { #page-getting-started .tab-content ol li { -ms-flex-direction: column; flex-direction: column; padding-top: 40px; } #page-getting-started .tab-content ol li::before { margin-bottom: 18px; margin-right: 0; position: absolute; left: 50%; top: 0; -webkit-transform: translateX(-50%); transform: translateX(-50%); } #page-getting-started .tab-content ol li h1 { text-align: center; } #page-getting-started .tab-content ol li + .supercharge li::before { display: none; } } #page-getting-started .tab-content .content-row { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; margin-top: 24px; margin-left: -24px; margin-right: -24px; } #page-getting-started .tab-content .content-row + .content-row { margin-top: 80px; } @media (max-width: 767px) { #page-getting-started .tab-content .content-row + .content-row { margin-top: 24px; } } #page-getting-started .tab-content .content-row .col { padding-left: 24px; padding-right: 24px; } #page-getting-started .tab-content .content-row .col--half { -ms-flex: 0 0 50%; flex: 0 0 50%; } #page-getting-started .tab-content .content-row .col--third { -ms-flex: 0 0 33%; flex: 0 0 33%; } #page-getting-started .tab-content .content-row .col--full { -ms-flex: 0 0 100%; flex: 0 0 100%; margin-left: 0; margin-right: 0; } #page-getting-started .tab-content .content-row .col--centered { text-align: center; } #page-getting-started .tab-content .content-row .col--centered code { font-size: 14px; } @media (max-width: 768px) { #page-getting-started .tab-content .content-row { margin-left: 0; margin-right: 0; -ms-flex-direction: column; flex-direction: column; } #page-getting-started .tab-content .content-row .col { -ms-flex: 0 0 100%; flex: 0 0 100%; margin: 0; } #page-getting-started .tab-content .content-row .col + .col { margin-top: 24px; } } #page-getting-started .tab-content .form-row { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; } #page-getting-started .tab-content .form-row .form-wrapper { -ms-flex: 0 0 640px; flex: 0 0 640px; } @media (max-width: 991px) { #page-getting-started .tab-content .form-row { display: block; } } #page-getting-started .tab-content .form { padding: 64px; background: #FFFFFF; box-shadow: 0 10px 20px 0 rgba(0, 13, 36, 0.16), 0 2px 8px 0 rgba(0, 13, 36, 0.08); border-radius: 16px; } #page-getting-started .tab-content .form h1 { margin-top: 0; } #page-getting-started .tab-content .form h2 { margin-top: 10px; margin-bottom: 42px; } #page-getting-started .tab-content .form label { font-size: 13px; color: #3B434D; letter-spacing: -0.015em; font-weight: 600; margin-bottom: 3px; } #page-getting-started .tab-content .form input[type="text"], #page-getting-started .tab-content .form input[type="password"] { transition: border 0.2s; display: block; width: 100%; background: #FFFFFF; border: 1px solid #C3CDDF; border-radius: 6px; padding: 11px 16px; } #page-getting-started .tab-content .form input[type="text"]:focus, #page-getting-started .tab-content .form input[type="password"]:focus { outline: none !important; border: 1px solid #3880ff; } #page-getting-started .tab-content .form .error input[type="text"], #page-getting-started .tab-content .form .error input[type="password"] { border-color: #f45454; } #page-getting-started .tab-content .form .checkbox-label { color: #727A87; font-size: 11px; font-weight: 600; margin-left: 4px; } #page-getting-started .tab-content .form .form-group { margin-bottom: 20px; } #page-getting-started .tab-content .form .form-message { color: #f45454; font-weight: 600; } #page-getting-started .tab-content .form .form-message--small { font-size: 11px; line-height: 16px; margin-top: 6px; } #page-getting-started .tab-content .form .btn { display: block; width: 100%; } #page-getting-started .tab-content .form .disclaimer { display: block; text-align: center; font-size: 11px; color: #a0a9b7; font-weight: 600; } #page-getting-started .tab-content .form .well { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; padding: 12px; width: 100%; border: 1px solid #E1E5ED; border-radius: 6px; margin-top: 16px; color: #3B424D; font-size: 14px; font-weight: 600; } #page-getting-started .tab-content .form .text-link { text-decoration: underline; margin-left: 8px; } @media (max-width: 480px) { #page-getting-started .tab-content .form { padding: 36px 28px; } } #page-getting-started .tab-content .errorlist { display: none; color: #f45454; font-size: 14px; line-height: 20px; font-weight: 600; margin-bottom: 28px; } #page-getting-started .tab-content .errorlist.error { display: block; } #page-getting-started .tab-content .benefits { max-width: 390px; margin-left: 48px; margin-top: 76px; } #page-getting-started .tab-content .benefits > p { font-size: 16px; line-height: 28px; color: #424C5A; margin-top: 18px; } #page-getting-started .tab-content .benefits > p b { font-weight: 500; color: #424C5A; } #page-getting-started .tab-content .benefits ul { list-style-type: none; margin: 60px 0 0; padding: 0; } #page-getting-started .tab-content .benefits h5 { color: #161A1F; font-size: 16px; line-height: 22px; font-weight: 600; margin-bottom: 4px; } #page-getting-started .tab-content .benefits li { position: relative; padding-left: 42px; } #page-getting-started .tab-content .benefits li p { font-size: 14px; line-height: 24px; color: #545C6A; } #page-getting-started .tab-content .benefits li::before { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; width: 24px; height: 24px; font-family: Ionicons; content: '\f2bc'; color: #D0E6FF; background: #67A2FF; border-radius: 100px; font-size: 1.2em; margin-left: 5px; font-weight: 400; line-height: 1em; position: relative; position: absolute; top: 0; left: 0; } #page-getting-started .tab-content .benefits li + li { margin-top: 40px; } @media (max-width: 1219px) { #page-getting-started .tab-content .benefits { margin-top: 0; } #page-getting-started .tab-content .benefits ul { margin-top: 40px; } } @media (max-width: 991px) { #page-getting-started .tab-content .benefits { margin-top: 100px; margin-left: 0; max-width: 590px; } } #page-getting-started .tab-content .sign-up-logos { padding: 100px 0 40px; } #page-getting-started .tab-content .sign-up-logos .sign-up-logos__content { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: justify; justify-content: space-between; margin-top: 34px; } #page-getting-started .tab-content .sign-up-logos .sign-up-logos__content > div { background-image: url("/img/getting-started/getting-started-signup-logo-sprite.png"); background-repeat: no-repeat; background-size: 128px 186px; } #page-getting-started .tab-content .sign-up-logos .sign-up-logos__content > div.target { width: 22px; height: 22px; background-position: 0 0; } #page-getting-started .tab-content .sign-up-logos .sign-up-logos__content > div.verizon { width: 79px; height: 18px; background-position: 0 -23px; } #page-getting-started .tab-content .sign-up-logos .sign-up-logos__content > div.amtrak { width: 52px; height: 22px; background-position: 0 -42px; } #page-getting-started .tab-content .sign-up-logos .sign-up-logos__content > div.marketwatch { width: 129px; height: 18px; background-position: 0 -65px; } #page-getting-started .tab-content .sign-up-logos .sign-up-logos__content > div.usarmy { width: 52px; height: 18px; background-position: 0 -84px; } #page-getting-started .tab-content .sign-up-logos .sign-up-logos__content > div.ge { width: 22px; height: 22px; background-position: 0 -103px; } #page-getting-started .tab-content .sign-up-logos .sign-up-logos__content > div.comcast { width: 80px; height: 22px; background-position: 0 -126px; } #page-getting-started .tab-content .sign-up-logos .sign-up-logos__content > div.ea { width: 37px; height: 18px; background-position: 0 -149px; } #page-getting-started .tab-content .sign-up-logos .sign-up-logos__content > div.ibm { width: 48px; height: 18px; background-position: 0 -168px; } @media (max-width: 768px) { #page-getting-started .tab-content .sign-up-logos .sign-up-logos__content { -ms-flex-pack: center; justify-content: center; max-width: 590px; margin: 34px auto 0; -ms-flex-wrap: wrap; flex-wrap: wrap; } #page-getting-started .tab-content .sign-up-logos .sign-up-logos__content > div { margin: 0 20px 30px; -ms-flex: 0 0 auto; flex: 0 0 auto; } } #page-getting-started .tab-content .content-tip { transition: border 0.2s; color: #8594AF; font-weight: 600; font-size: 13px; border: 1px solid #E1E5ED; padding: 12px 14px; border-radius: 6px; margin-top: 8px; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-align: center; align-items: center; } #page-getting-started .tab-content .content-tip:hover { border-color: #c5cfe2; } #page-getting-started .tab-content .content-tip::before { content: '?'; background: #ABB8CE; padding: 0 2px; border-radius: 4px; color: #fff; font-size: 11px; display: inline-block; width: 14px; -ms-flex: 0 0 14px; flex: 0 0 14px; height: 14px; line-height: 1; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; margin-right: 12px; } #page-getting-started .tab-content .content-tip::after { font-family: Ionicons; content: '\f3d1'; font-size: 18px; margin-left: 8px; font-weight: 400; line-height: 1; display: inline-block; -webkit-transform: translateY(-1px); transform: translateY(-1px); transition: .3s transform; -ms-flex: 0 0 6px; flex: 0 0 6px; } #page-getting-started .tab-content .content-tip:hover::after { -webkit-transform: translate(2px, -1px); transform: translate(2px, -1px); } #page-getting-started .tab-content .supercharge { background-image: linear-gradient(-90deg, #7245D9 0%, #4C5BE3 52%, #2472EF 100%); box-shadow: 0 10px 20px 0 rgba(0, 13, 36, 0.16), 0 2px 8px 0 rgba(0, 13, 36, 0.08); border-radius: 11px; padding: 40px 40px 0; color: #fff; position: relative; } #page-getting-started .tab-content .supercharge::before { content: ''; display: block; position: absolute; top: -34px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); width: 68px; height: 68px; background: url("/img/getting-started/supercharge-logo.png") no-repeat; background-size: 100%; } #page-getting-started .tab-content .supercharge li::before { background: #fff; color: #3880FF; } #page-getting-started .tab-content .supercharge pre { background: rgba(0, 0, 0, 0.18); } #page-getting-started .tab-content .supercharge pre code { color: #fff; } #page-getting-started .tab-content .supercharge .img { margin-top: 48px; } @media (max-width: 767px) { #page-getting-started .tab-content .supercharge { padding: 20px 20px 0; } #page-getting-started .tab-content .supercharge .img { margin-top: 20px; } } #page-getting-started .tab-content .learn-more { padding: 50px 0 60px; text-align: center; } #page-getting-started .tab-content .learn-more p { margin: 0; } #page-getting-started .tab-content .next-steps { border-top: 1px solid #EDEDED; } #page-getting-started .tab-content .next-steps hgroup { max-width: 900px; padding-top: 100px; padding-bottom: 0; } #page-getting-started .tab-content .next-steps .content-row { margin-top: 44px; margin-left: -12px; margin-right: -12px; } #page-getting-started .tab-content .next-steps .content-row .col { margin-left: 12px; margin-right: 12px; } #page-getting-started .tab-content .next-steps .content-row .content-card { position: relative; padding-right: 100px; overflow: hidden; } #page-getting-started .tab-content .next-steps .content-row .content-card::after { background-repeat: no-repeat; background-position: 0 0; background-size: 80px; width: 80px; height: 144px; content: ''; display: block; position: absolute; right: 0; top: calc(50% - 72px); } #page-getting-started .tab-content .next-steps .content-row .content-card:nth-child(1)::after { background-image: url(/img/getting-started/ionic-native-card.png); } #page-getting-started .tab-content .next-steps .content-row .content-card:nth-child(2)::after { background-image: url(/img/getting-started/components-card.png); } #page-getting-started .tab-content .next-steps .content-row .content-card:nth-child(3)::after { background-image: url(/img/getting-started/theming-card.png); } @media (max-width: 991px) { #page-getting-started .tab-content .next-steps hgroup { padding-top: 42px; } } @media (max-width: 1219px) { #page-getting-started .tab-content .next-steps .content-row { -ms-flex-direction: column; flex-direction: column; } #page-getting-started .tab-content .next-steps .content-row .col { -ms-flex: 0 0 100%; flex: 0 0 100%; margin: 12px 12px 0; } } #page-getting-started .tab-content .content-card { transition: box-shadow 0.3s; background: #FFFFFF; box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.1), 0 2px 4px 0 rgba(0, 0, 0, 0.08); border-radius: 8px; padding: 16px 92px 16px 32px; } #page-getting-started .tab-content .content-card h3 { color: #0F1620; } #page-getting-started .tab-content .content-card p { color: #545C6A; } #page-getting-started .tab-content .content-card:hover { box-shadow: 0 5px 10px 0 rgba(0, 13, 36, 0.08), 0 2px 8px 0 rgba(0, 13, 36, 0.08); } #page-getting-started .btn { text-transform: uppercase; font-size: 13px; line-height: 1; font-weight: 700; letter-spacing: 0.08em; border-radius: 6px; padding: 20px 22px; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-align: center; align-items: center; } #page-getting-started .btn i { transition: -webkit-transform 0.2s; transition: transform 0.2s; transition: transform 0.2s, -webkit-transform 0.2s; margin-left: 10px; font-size: 18px; } #page-getting-started .btn:hover i { -webkit-transform: translate(2px, 0); transform: translate(2px, 0); } #page-getting-started .screenshot-group { position: relative; } #page-getting-started .screenshot-group img { max-width: 100%; } #page-getting-started .screenshot-group img:not(:first-child) { position: absolute; top: 0; left: 0; -webkit-animation: 10s crossFadeInOut infinite; animation: 10s crossFadeInOut infinite; } #page-go-pwa-architects-guide, #page-go-why-hybrid { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; } #page-go-pwa-architects-guide h1, #page-go-pwa-architects-guide h2, #page-go-pwa-architects-guide h3, #page-go-why-hybrid h1, #page-go-why-hybrid h2, #page-go-why-hybrid h3 { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-go-pwa-architects-guide .banner, #page-go-why-hybrid .banner { background-color: #f6f8fc; border-bottom: 1px solid #e5e7eb; margin-top: -138px; padding-top: 78px; } #page-go-pwa-architects-guide .banner svg, #page-go-why-hybrid .banner svg { fill: #4f6384; } #page-go-pwa-architects-guide .banner hgroup, #page-go-why-hybrid .banner hgroup { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; text-align: left; padding-top: 81px; padding-bottom: 72px; padding-right: 632px; } #page-go-pwa-architects-guide .banner h1, #page-go-why-hybrid .banner h1 { color: #24282e; font-size: 37px; font-weight: 700; letter-spacing: -0.034em; margin: 77px 0 22px; } #page-go-pwa-architects-guide .banner p, #page-go-why-hybrid .banner p { font-size: 18px; line-height: 32px; font-weight: 400; letter-spacing: -0.02em; color: #626c7d; max-width: 800px; } #page-go-pwa-architects-guide .content, #page-go-pwa-architects-guide .signup-form, #page-go-why-hybrid .content, #page-go-why-hybrid .signup-form { -ms-flex: 1 0; flex: 1 0; } #page-go-pwa-architects-guide .content, #page-go-why-hybrid .content { padding-top: 279px; padding-right: 30px; font-size: 14px; color: #4e545e; letter-spacing: -0.02em; max-width: 526px; } #page-go-pwa-architects-guide main, #page-go-why-hybrid main { margin-top: -240px; padding-bottom: 0px; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; overflow: visible; } #page-go-pwa-architects-guide main::before, #page-go-pwa-architects-guide main::after, #page-go-why-hybrid main::before, #page-go-why-hybrid main::after { display: none; } #page-go-pwa-architects-guide main .lg, #page-go-why-hybrid main .lg { color: #6e7f99; font-size: 18px; line-height: 36px; -webkit-perspective: 600px; perspective: 600px; margin-bottom: 48px; } #page-go-pwa-architects-guide main .lg::before, #page-go-why-hybrid main .lg::before { background-image: url("/img/articles/pwa-cover-title.png"), url("/img/articles/pwa-cover-bg.png"), linear-gradient(60deg, #73c5ff 0, #3880ff 100%); background-size: 64%, 100%, 100%; background-repeat: no-repeat, repeat, repeat; background-position: 20% 12%, 50% 50%, 50% 50%; height: 281px; width: 186px; content: ''; float: left; margin-left: 6px; margin-right: 61px; border-radius: 8px; -webkit-transform: rotateY(12deg); transform: rotateY(12deg); margin-top: -64px; margin-bottom: 12px; box-shadow: 0 2px 16px rgba(0, 0, 0, 0.2); } #page-go-pwa-architects-guide main p, #page-go-why-hybrid main p { letter-spacing: -.02em; line-height: 2em; font-size: 16px; margin-bottom: 16px; } #page-go-pwa-architects-guide main ul, #page-go-why-hybrid main ul { list-style-type: none; padding: 0; margin: 0 0 46px; } #page-go-pwa-architects-guide main li, #page-go-why-hybrid main li { padding: 0px 0 0 21px; font-size: 16px; line-height: 32px; position: relative; letter-spacing: -.021em; } #page-go-pwa-architects-guide main li strong, #page-go-why-hybrid main li strong { font-weight: 500; } #page-go-pwa-architects-guide main li:before, #page-go-why-hybrid main li:before { content: '•'; opacity: 0.8; position: absolute; left: 7px; } #page-go-pwa-architects-guide .signup-form, #page-go-pwa-architects-guide .thank-you aside, #page-go-why-hybrid .signup-form, #page-go-why-hybrid .thank-you aside { padding: 42px 48px 48px; background: white; box-shadow: 0 8px 48px 0px rgba(0, 0, 0, 0.2); max-width: 536px; border-radius: 10px; } #page-go-pwa-architects-guide .signup-form h3, #page-go-pwa-architects-guide .thank-you aside h3, #page-go-why-hybrid .signup-form h3, #page-go-why-hybrid .thank-you aside h3 { margin-top: 0; margin-bottom: 30px; font-weight: 700; font-size: 28px; line-height: 36px; letter-spacing: -0.03em; } #page-go-pwa-architects-guide .company, #page-go-why-hybrid .company { margin: 232px 0 68px; text-align: center; width: 100%; } #page-go-pwa-architects-guide .company h2, #page-go-why-hybrid .company h2 { color: #7f8fab; margin: 0 auto; font-size: 28px; max-width: 760px; text-align: center; line-height: 1.4em; letter-spacing: -.04em; font-weight: 600; } #page-go-pwa-architects-guide .company strong, #page-go-why-hybrid .company strong { color: #131924; font-weight: 700; } #page-go-pwa-architects-guide .company .logos, #page-go-why-hybrid .company .logos { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 51px; -ms-flex-pack: space-evenly; justify-content: space-evenly; } #page-go-pwa-architects-guide .company .logos::before, #page-go-pwa-architects-guide .company .logos::after, #page-go-why-hybrid .company .logos::before, #page-go-why-hybrid .company .logos::after { background: url("/img/homepage/enterprise-logos.png") 0 0 no-repeat; background-size: 100%; width: 494px; height: 42px; content: ''; max-width: 100%; margin-bottom: 32px; display: inline-block; } #page-go-pwa-architects-guide .company .logos::after, #page-go-why-hybrid .company .logos::after { background-position: 0 bottom; } #page-go-pwa-architects-guide .get-started, #page-go-why-hybrid .get-started { background: #f1f4f8; overflow: auto; } #page-go-pwa-architects-guide .get-started .container, #page-go-why-hybrid .get-started .container { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; margin-bottom: 110px; margin-top: 110px; } #page-go-pwa-architects-guide .get-started hgroup, #page-go-why-hybrid .get-started hgroup { letter-spacing: -.025em; -ms-flex-positive: 1; flex-grow: 1; } #page-go-pwa-architects-guide .get-started h2, #page-go-why-hybrid .get-started h2 { color: #4a8bfc; font-size: 28px; font-weight: 700; letter-spacing: inherit; margin: 0 0 5px; } #page-go-pwa-architects-guide .get-started p, #page-go-why-hybrid .get-started p { color: #24282e; font-size: 20px; font-weight: 600; margin: 0; } #page-go-pwa-architects-guide .get-started .btn, #page-go-why-hybrid .get-started .btn { font-size: 16px; font-weight: 700; } @media (max-width: 991px) { #page-go-pwa-architects-guide .banner hgroup, #page-go-why-hybrid .banner hgroup { padding-right: 15px; text-align: center; } #page-go-pwa-architects-guide h1, #page-go-why-hybrid h1 { margin-right: auto; margin-left: auto; } #page-go-pwa-architects-guide p.lg, #page-go-why-hybrid p.lg { margin-right: 24px; } #page-go-pwa-architects-guide main, #page-go-why-hybrid main { display: block; } #page-go-pwa-architects-guide .content, #page-go-why-hybrid .content { max-width: 100%; padding-right: 0; } #page-go-pwa-architects-guide .signup-form, #page-go-why-hybrid .signup-form { max-width: 100%; } #page-go-pwa-architects-guide .company, #page-go-why-hybrid .company { margin-top: 128px; } #page-go-pwa-architects-guide .get-started .btn + .btn, #page-go-why-hybrid .get-started .btn + .btn { margin-top: 8px; } } #page-go-pwa-architects-guide .banner .thank-you, #page-go-why-hybrid .banner .thank-you { min-height: 490px; } #page-go-pwa-architects-guide main.thank-you, #page-go-why-hybrid main.thank-you { margin-top: -340px; } #page-go-pwa-architects-guide .thank-you aside, #page-go-why-hybrid .thank-you aside { margin-right: auto; margin-left: auto; max-width: 500px; } #page-go-pwa-architects-guide .thank-you p::before, #page-go-why-hybrid .thank-you p::before { content: none; } #page-go-pwa-architects-guide .thank-you .btn, #page-go-why-hybrid .thank-you .btn { display: block; } #page-go-pwa-architects-guide .thank-you p.lg, #page-go-why-hybrid .thank-you p.lg { margin-bottom: 0; } #page-go-pwa-architects-guide .thank-you .also, #page-go-why-hybrid .thank-you .also { margin-top: 0; margin-bottom: 64px; } #page-go-pwa-architects-guide .thank-you .company, #page-go-why-hybrid .thank-you .company { margin-top: 128px; } #page-go-why-hybrid main .lg::before { background-image: url("/img/articles/why-hybrid-cover.jpg"); background-size: 100%; background-position: 0 0; height: 242px; } #ionic-slider { margin-top: -72px; display: block; min-height: 860px; position: relative; } #ionic-slider [slot="slide-0"] { display: block; } #ionic-slider [slot^="slide-"] { padding-top: 100px; position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; } #ionic-slider [slot^="slide-"] hgroup { color: white; max-width: 500px; margin-top: 13px; text-align: center; position: relative; } #ionic-slider [slot^="slide-"] h1 { font-size: 64px; line-height: 74px; margin-bottom: 16px; letter-spacing: -.03em; } #ionic-slider [slot^="slide-"] p { font-size: 24px; line-height: 36px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; letter-spacing: -0.03em; color: #e4f1ff; } #ionic-slider [slot^="slide-"] .btn { font-size: 15px; font-weight: 700; margin-top: 18px; padding: 20px 22px; margin-right: -4px; letter-spacing: .1em; text-transform: uppercase; } #ionic-slider [slot^="slide-"] .btn ion-icon { font-size: 16px; margin-left: -4px; vertical-align: -2px; width: 16px; height: 16px; display: inline-block; } #ionic-slider [slot^="slide-"] .version-text { color: rgba(255, 255, 255, 0.6); font-weight: 500; font-size: 11px; } #ionic-slider [slot^="slide-"] .version-text a { color: rgba(255, 255, 255, 0.6); } #ionic-slider [slot^="slide-"] .version-text a:hover { color: rgba(255, 255, 255, 0.8); text-decoration: none; } #ionic-slider #slide-limitless { background: #548fff linear-gradient(to right, #4278ff, #67a7ff); background-size: 100%; } #ionic-slider #slide-limitless .btn { color: #3880ff; } #ionic-slider #slide-limitless ul { padding: 0; margin-top: 8px; list-style: none; } #ionic-slider #slide-limitless li { display: inline-block; margin-right: 8px; } #ionic-slider #slide-limitless li:last-child { margin-right: 0; } #ionic-slider #slide-limitless li:last-child img { height: 23px; vertical-align: -8px; } #ionic-slider #slide-limitless li img { height: 13px; opacity: .6; } #ionic-slider #slide-limitless .graphics { position: absolute; bottom: 0; width: 100%; left: 0; padding: 0; margin: 0; } #ionic-slider #slide-limitless .graphics li { position: absolute; opacity: 0; -webkit-animation: fadeInUp 1s ease forwards; animation: fadeInUp 1s ease forwards; } #ionic-slider #slide-limitless .graphics li.iphone-x { background: url("/img/homepage/hero-iphone-x.png") 0 0 no-repeat; background-size: 100%; bottom: -63px; left: -191px; width: 400px; height: 306px; -webkit-animation-delay: .8s; animation-delay: .8s; } #ionic-slider #slide-limitless .graphics li.iphone-xs-max { background: url("/img/homepage/hero-iphone-xs-max.png") 0 0 no-repeat; background-size: 100%; bottom: -39px; left: 170px; width: 490px; height: 378px; -webkit-animation-delay: .9s; animation-delay: .9s; } #ionic-slider #slide-limitless .graphics li.pixel-3 { background: url("/img/homepage/hero-google-pixel3.png") 0 0 no-repeat; background-size: 100%; bottom: -40px; left: 607px; width: 490px; height: 400px; -webkit-animation-delay: 1s; animation-delay: 1s; } #ionic-slider #slide-limitless .graphics li.galaxy { background: url("/img/homepage/hero-android-galaxy.png") 0 0 no-repeat; background-size: 100%; bottom: -41px; left: 1063px; width: 450px; height: 356px; -webkit-animation-delay: 1.1s; animation-delay: 1.1s; } #ionic-slider #slide-limitless .graphics li.ipad { background: url("/img/homepage/hero-ipad.png") 0 0 no-repeat; background-size: 100%; bottom: -44px; left: 1484px; width: 610px; height: 524px; -webkit-animation-delay: 1.2s; animation-delay: 1.2s; } #ionic-slider #slide-limitless .graphics li.macbook { background: url("/img/homepage/hero-macbook.png") 0 0 no-repeat; background-size: 100%; bottom: -63px; left: 2061px; width: 1470px; height: 570px; -webkit-animation-delay: 1.3s; animation-delay: 1.3s; } #ionic-slider #slide-v4 { background: #01050c; } #ionic-slider #slide-v4::before { background: url("/img/homepage/bg-phone.png") no-repeat 50% 50%; background-size: cover; position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; content: ''; } #ionic-slider #slide-v4 hgroup { padding-top: 58px; position: relative; max-width: 620px; } #ionic-slider #slide-v4 hgroup img { display: inline-block; width: 48px; height: 48px; } #ionic-slider #slide-v4 hgroup h4 { text-transform: uppercase; letter-spacing: .1em; font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; font-weight: 400; margin-top: 15px; margin-bottom: 33px; } #ionic-slider #slide-v4 hgroup h1 { letter-spacing: -.02em; } #ionic-slider #slide-v4 hgroup p { line-height: 32px; margin-top: 18px; } #ionic-slider #slide-v4 hgroup .btn { margin-top: 27px; letter-spacing: .08em; } #ionic-slider #slide-v4 hgroup .btn.white { color: #131a26; margin-right: 8px; } #ionic-slider #slide-v4 hgroup .btn.dark { background: #343d4d; } #ionic-slider #slide-v4 hgroup .btn.dark:hover { background: #3e495c; } #ionic-slider #slide-v4 hgroup .btn ion-icon { width: 16px; height: 16px; margin-left: 8px; } #ionic-slider #slide-v4 .features { position: absolute; bottom: 35px; width: 100%; left: 0; } #ionic-slider #slide-v4 .features ul { display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: start; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 0; -ms-flex-pack: justify; justify-content: space-between; padding: 0; } #ionic-slider #slide-v4 .features ul li { margin-right: 1em; list-style: none; } #ionic-slider #slide-v4 .features ul::before, #ionic-slider #slide-v4 .features ul::after { display: none; } #ionic-slider #slide-v4 .features li { position: relative; padding-top: 65px; width: 145px; color: #8a94a3; text-align: center; background: transparent; font-size: 12px; line-height: 20px; margin-bottom: 32px; opacity: 0; } #ionic-slider #slide-v4 .features li::before { background: url("/img/homepage/v4-feature-icons.png") 0 0 no-repeat; background-size: cover; position: absolute; top: 0; left: calc(50% - 24px); height: 48px; width: 48px; content: ''; } #ionic-slider #slide-v4 .features li.performance::before { background-position: 0 0px; } #ionic-slider #slide-v4 .features li.theming::before { background-position: 0 -48px; } #ionic-slider #slide-v4 .features li.standards::before { background-position: 0 -96px; } #ionic-slider #slide-v4 .features li.compatible::before { background-position: 0 -144px; } #ionic-slider #slide-v4 .features li.docs::before { background-position: 0 -192px; } @media (max-width: 991px) { #ionic-slider #slide-v4 .features { bottom: 0; } #ionic-slider #slide-v4 .features ul { max-width: 600px; margin: 0 auto; -ms-flex-pack: distribute; justify-content: space-around; } } @media (max-width: 570px) { #ionic-slider #slide-v4 .features { display: none; } } #ionic-slider #slide-v4::before { -webkit-animation: fadeInUp 1.6s .8s ease forwards; animation: fadeInUp 1.6s .8s ease forwards; } #ionic-slider #slide-v4 .features li { -webkit-animation: fadeInUp 1s .1s ease forwards; animation: fadeInUp 1s .1s ease forwards; } #ionic-slider #slide-v4 .features li:nth-child(2) { -webkit-animation-delay: .2s; animation-delay: .2s; } #ionic-slider #slide-v4 .features li:nth-child(3) { -webkit-animation-delay: .3s; animation-delay: .3s; } #ionic-slider #slide-v4 .features li:nth-child(4) { -webkit-animation-delay: .4s; animation-delay: .4s; } #ionic-slider #slide-v4 .features li:nth-child(5) { -webkit-animation-delay: .5s; animation-delay: .5s; } #ionic-slider #slide-one-any { background: white; position: relative; min-height: 840px; } #ionic-slider #slide-one-any .notification { display: inline-block; background: #F6F8FB; font-size: 11px; line-height: 16px; text-align: center; letter-spacing: 0.1em; padding: 7px 15px 7px; } #ionic-slider #slide-one-any .notification strong { color: #1A232F; } #ionic-slider #slide-one-any .notification::after { content: '>'; } @media (max-width: 767px) { #ionic-slider #slide-one-any .notification { display: none; } } #ionic-slider #slide-one-any hgroup { max-width: 464px; display: block; margin-top: 56px; position: relative; z-index: 1; } #ionic-slider #slide-one-any hgroup h1 { font-size: 64px; line-height: 64px; color: #020814; letter-spacing: -.04em; margin-bottom: 7px; } #ionic-slider #slide-one-any hgroup p { font-size: 22px; line-height: 37px; color: rgba(91, 112, 139, 0.9); letter-spacing: -.04em; } #ionic-slider #slide-one-any hgroup .btn { background: #4D8DFF; border-radius: 10px; text-transform: uppercase; margin-top: 12px; font-size: 15px; line-height: 21px; padding: 16px 16px 12px; letter-spacing: 0.08em; } #ionic-slider #slide-one-any hgroup .btn:hover { background: #679dff; } #ionic-slider #slide-one-any hgroup .btn:active { background: #4D8DFF; } #ionic-slider #slide-one-any hgroup .btn img { margin-left: 2px; vertical-align: 0; margin-right: 2px; } #ionic-slider #slide-one-any hgroup small { font-size: 11px; line-height: 21px; letter-spacing: -0.02em; color: #B2BECD; } #ionic-slider #slide-one-any hgroup small a { position: relative; color: #92a0b3; } #ionic-slider #slide-one-any hgroup small a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -2px; border-bottom: 1px solid #dee3ea; } #ionic-slider #slide-one-any hgroup small a:hover { color: #4a8bfc; } #ionic-slider #slide-one-any hgroup small a:hover::after { border-bottom-color: #4a8bfc; } @media (max-width: 767px) { #ionic-slider #slide-one-any hgroup { max-width: 100%; text-align: center; margin-top: 64px; } } #ionic-slider #slide-one-any .graphic { position: absolute; right: 20px; top: 120px; height: 563px; width: 590px; } @media (max-width: 1219px) { #ionic-slider #slide-one-any .graphic { top: 128px; right: -64px; } } @media (max-width: 991px) { #ionic-slider #slide-one-any .graphic { width: 302px; height: auto; top: 180px; } } @media (max-width: 767px) { #ionic-slider #slide-one-any .graphic { display: none; } } #ionic-slider #slide-one-any .stats { padding: 0; position: absolute; bottom: 21px; left: 0; list-style: none; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } #ionic-slider #slide-one-any .stats a { font-size: 14px; line-height: 17px; letter-spacing: -0.02em; color: #92A1B3; padding: 0 18px; transition: .3s color; } #ionic-slider #slide-one-any .stats a svg { vertical-align: -3px; } #ionic-slider #slide-one-any .stats a svg path { transition: .3s fill; } #ionic-slider #slide-one-any .stats a:hover { color: #74879e; } #ionic-slider #slide-one-any .stats a:hover svg path { fill: #74879e; } @media (max-width: 767px) { #ionic-slider #slide-one-any .stats { left: calc(50% - 140px); } } #ionic-slider #slide-one-any ionic-newsletter-signup { width: 400px; position: absolute; bottom: 29px; right: 20px; max-width: calc(100% - 30px); } @media (max-width: 767px) { #ionic-slider #slide-one-any ionic-newsletter-signup { bottom: -26px; right: auto; left: calc(50% - 200px); } } @media (max-width: 460px) { #ionic-slider #slide-one-any ionic-newsletter-signup { left: 15px; } } @media (max-width: 991px) { #ionic-slider #slide-one-any { padding-top: 100px; padding-bottom: 100px; min-height: 0; } } @media (max-width: 767px) { #ionic-slider #slide-one-any { padding-top: 100px; padding-bottom: 100px; min-height: 0; } } @media (max-width: 991px) { #ionic-slider { min-height: 0; } } #page-home #used-by { border-top: 1px #EFF3F8 solid; padding-top: 60px; padding-bottom: 58px; border-bottom: 1px solid #EFF3F8; } #page-home #used-by .container { display: block; max-width: 950px; } @media (max-width: 991px) { #page-home #used-by .container { width: 100%; } } @media (max-width: 991px) { #page-home #used-by { display: none; } } #page-home section { padding-top: 170px; line-height: 1.75em; padding-bottom: 170px; position: relative; } #page-home section.center { text-align: center; } #page-home section.left, #page-home section.right { display: -ms-flexbox; display: flex; } #page-home section.left .content, #page-home section.right .content { width: 470px; } #page-home section.right .content { margin-left: auto; } #page-home section h2 { font-size: 47px; margin-bottom: 15px; letter-spacing: -.02em; color: #0d121c; } #page-home section h3 { font-size: 35px; letter-spacing: -0.016em; } #page-home section h4 { font-size: 12px; color: #808fa7; letter-spacing: .14em; text-transform: uppercase; font-family: "Roboto Mono", Menlo, Monaco, Consolas, "Courier New", monospace; } #page-home section h4 + h2 { margin-top: 36px; } #page-home section h5 { font-size: 20px; margin-bottom: 16px; font-weight: 600; } #page-home section p { font-size: 16px; color: #8c9bb9; margin-bottom: 8px; line-height: 1.78em; letter-spacing: -.028em; } #page-home section hgroup p, #page-home section p.lg { color: #596a89; font-size: 22px; line-height: 36px; margin-bottom: 23px; letter-spacing: -.02em; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-home section hgroup p strong, #page-home section p.lg strong { font-weight: 600; } #page-home section .cta { font-size: 20px; margin-top: 11px; padding-top: 0; color: #5a98ff; display: inline-block; position: relative; background: none; letter-spacing: -.02em; font-weight: 600; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; position: relative; transition: .3s opacity; } #page-home section .cta:hover { opacity: .6; } #page-home section .cta:hover, #page-home section .cta:active, #page-home section .cta:focus { text-decoration: none; } #page-home section .cta::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; border-bottom: 2px solid #dbe6ff; border-radius: 2px; } @media (max-width: 991px) { #page-home section .content { width: 100%; text-align: center; } } #page-home #for-devs { padding-bottom: 87px; } #page-home #for-devs hgroup { max-width: 740px; } #page-home #for-devs ul { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 46px; -ms-flex-pack: distribute; justify-content: space-around; max-width: 1064px; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-home #for-devs ul::before, #page-home #for-devs ul::after { display: none; } #page-home #for-devs li { list-style: none; } #page-home #for-devs li a { color: #798fb8; font-weight: 700; padding-top: 73px; text-align: center; text-transform: uppercase; position: relative; width: 130px; display: block; letter-spacing: .08em; transition: .2s color; font-size: 13px; } #page-home #for-devs li a::before, #page-home #for-devs li a::after { background: url("/img/homepage/offering-icons.png") 0 0 no-repeat; background-size: 56px; height: 56px; width: 56px; content: ''; position: absolute; top: 0; left: calc(50% - 28px); } #page-home #for-devs li a:hover { color: #4a8bfc; } @media (max-width: 560px) { #page-home #for-devs li a { line-height: 1.6em; margin-bottom: 48px; } } #page-home #for-devs li a::before, #page-home #for-devs li a::after { transition: .2s opacity; } #page-home #for-devs li a::after { opacity: 0; } #page-home #for-devs li:hover a::after { opacity: 1; } #page-home #for-devs li.oss a::before { background-position: 0 0px; } #page-home #for-devs li.oss a::after { background-position: 0 -56px; } #page-home #for-devs li.devops a::before { background-position: 0 -112px; } #page-home #for-devs li.devops a::after { background-position: 0 -168px; } #page-home #for-devs li.ide a::before { background-position: 0 -224px; } #page-home #for-devs li.ide a::after { background-position: 0 -280px; } #page-home #for-devs li.integration a::before { background-position: 0 -336px; } #page-home #for-devs li.integration a::after { background-position: 0 -392px; } #page-home #oss { padding-top: 176px; padding-bottom: 400px; margin-top: 100px; } #page-home #oss .frameworks { margin-bottom: 33px; display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: start; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 0; } #page-home #oss .frameworks li { margin-right: 1em; list-style: none; } #page-home #oss .frameworks li { height: 32px; width: 32px; background-size: 100%; display: inline-block; margin-right: 12px; } #page-home #oss .frameworks li.frameworks__angular { background-image: url("/img/homepage/framework-support-angular.png"); } #page-home #oss .frameworks li.frameworks__react { background-image: url("/img/homepage/framework-support-react.png"); } #page-home #oss .frameworks li.frameworks__vue { background-image: url("/img/homepage/framework-support-vue.png"); } #page-home #oss .frameworks li.frameworks__js { background-image: url("/img/homepage/framework-support-javascript.png"); } #page-home #oss .graphics { position: absolute; top: 25px; right: 15px; height: 500px; } #page-home #oss .graphics.active::before, #page-home #oss .graphics.active::after { -webkit-animation: fadeInUp 1s .8s ease forwards; animation: fadeInUp 1s .8s ease forwards; } #page-home #oss .graphics.active::after { -webkit-animation-delay: .4s; animation-delay: .4s; } #page-home #oss .graphics.active .shadow { -webkit-animation: fadeIn 2s .2s ease forwards; animation: fadeIn 2s .2s ease forwards; } #page-home #oss .graphics::before, #page-home #oss .graphics::after, #page-home #oss .graphics .shadow { position: absolute; content: ''; opacity: 0; background: url("/img/homepage/framework-device-android.jpg") 0 0 no-repeat; background-size: 100%; top: 78px; right: 99px; width: 470px; height: 624px; } #page-home #oss .graphics::after { background-image: url("/img/homepage/framework-device-iphone.png"); background-size: 100%; width: 490px; height: 790px; top: 0px; right: 0px; } #page-home #oss .graphics .shadow { background-image: url("/img/homepage/framework-devices-shadow.png"); background-size: 100%; width: 1266px; height: 214px; top: 654px; right: -200px; } @media (max-width: 1219px) { #page-home #oss { padding-top: 120px; } #page-home #oss .content { width: 380px; } } @media (max-width: 991px) { #page-home #oss .graphics { -webkit-transform: scale(0.5, 0.5); transform: scale(0.5, 0.5); top: 200px; } } @media (max-width: 767px) { #page-home #oss { padding-top: 0px; padding-bottom: 328px; } #page-home #oss .content { width: 100%; text-align: center; } #page-home #oss .content .frameworks { -ms-flex-pack: center; justify-content: center; } #page-home #oss .graphics { right: calc(50% - 60px); bottom: -101px; top: auto; } #page-home #oss .graphics::before { top: 39px; right: 50px; width: 235px; height: 312px; } #page-home #oss .graphics::after { width: 245px; height: 395px; } #page-home #oss .graphics .shadow { width: 633px; height: 107px; top: 327px; right: -100px; } } #page-home #devops { padding-top: 204px; padding-bottom: 252px; } #page-home #devops .content { position: relative; } #page-home #devops .git-hosts { margin-bottom: 42px; display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: start; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 0; } #page-home #devops .git-hosts li { margin-right: 1em; list-style: none; } #page-home #devops .git-hosts li { margin-right: 19px; } #page-home #devops .git-hosts img { height: 20px; } #page-home #devops .graphics { background: url("/img/homepage/devops-appflow-preview.png") 0 0 no-repeat; background-size: 100%; width: 1324px; height: 812px; position: absolute; top: 14px; left: -227px; opacity: 0; } #page-home #devops .graphics.active { -webkit-animation: fadeInUp 1s ease forwards; animation: fadeInUp 1s ease forwards; } @media (max-width: 1219px) { #page-home #devops { padding-top: 60px; } #page-home #devops .graphics { width: 933px; } } @media (max-width: 991px) { #page-home #devops .graphics { width: 662px; top: 180px; } } @media (max-width: 767px) { #page-home #devops { padding-top: 160px; padding-bottom: 420px; } #page-home #devops .content { width: 100%; } #page-home #devops .git-hosts { -ms-flex-pack: center; justify-content: center; } #page-home #devops .graphics { left: calc(50% - 150px); width: 331px; top: auto; height: 203px; bottom: 170px; } } #page-home #studio { padding-bottom: 54px; margin-bottom: 150px; padding-top: 20px; margin-top: 150px; } #page-home #studio .content { max-width: 720px; } #page-home #studio .graphics { background: url("/img/homepage/studio-desktop-bg.jpg") 50% 0 no-repeat; background-size: cover; width: 100%; padding-top: 100px; padding-bottom: 100px; margin-top: 58px; } #page-home #studio .graphics video { margin: 0 auto; padding: 0; border-radius: 6px; box-shadow: 0 22px 70px 4px rgba(0, 0, 0, 0.56); } @media (max-width: 767px) { #page-home #studio { padding-top: 80px; margin-top: 0; } #page-home #studio .graphics video { width: 100%; } } #page-home #integrations { padding-top: 20px; padding-bottom: 4px; } #page-home #integrations .content { max-width: 894px; } #page-home #integrations .integration-list { position: relative; height: 360px; display: block; margin: 0 0 48px; padding: 0; position: relative; opacity: 0; -webkit-animation: fadeIn 1s 1s forwards; animation: fadeIn 1s 1s forwards; } #page-home #integrations .integration-list li { list-style: none; position: absolute; } #page-home #integrations .integration-list img { position: absolute; width: 128px; border-radius: 50%; box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1); } #page-home #integrations .integration-list img.m { width: 64px; } #page-home #integrations .integration-list img.m { width: 96px; } #page-home #why-build { padding-bottom: 90px; } #page-home #why-build .why { display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: start; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 0; -ms-flex-pack: justify; justify-content: space-between; margin-top: 75px; margin-bottom: 75px; } #page-home #why-build .why li { margin-right: 1em; list-style: none; } #page-home #why-build .why li { padding-top: 61px; max-width: 310px; position: relative; } #page-home #why-build .why li.why__future-proof::before { background-position: 0 0px; } #page-home #why-build .why li.why__community::before { background-position: 0 -48px; } #page-home #why-build .why li.why__os::before { background-position: 0 -96px; } #page-home #why-build .why li::before { background: url("/img/homepage/why-build-icons.png") 0 0 no-repeat; background-size: 100%; position: absolute; top: 0; left: 0; height: 48px; width: 48px; content: ''; } #page-home #why-build .why li p { letter-spacing: -.01em; } @media (max-width: 1219px) { #page-home #why-build .why li { max-width: 280px; } } @media (max-width: 991px) { #page-home #why-build .why li { max-width: 210px; } } @media (max-width: 767px) { #page-home #why-build { text-align: center; } #page-home #why-build .why { -ms-flex-pack: distribute; justify-content: space-around; } #page-home #why-build .why li { max-width: 100%; } #page-home #why-build .why li::before { left: calc(50% - 24px); } } #page-home #difference { display: -ms-flexbox; display: flex; padding-top: 60px; padding-bottom: 69px; margin-top: 16px; border-bottom: 1px solid #eee; } #page-home #difference .container { position: relative; } #page-home #difference .container::before { background: url("/img/homepage/hybrid-vs-native-ionic-ebook.png") 0 0 no-repeat; background-size: 100%; width: 424px; height: 310px; content: ''; position: absolute; bottom: -69px; left: 52px; } #page-home #difference hgroup { max-width: 550px; margin-right: 50px; margin-left: auto; } #page-home #difference h5 { font-size: 18px; margin-bottom: 11px; color: #1f3256; } #page-home #difference p { font-size: 16px; font-weight: 400; line-height: 1.6em; letter-spacing: -.01em; color: #6c81a6; } #page-home #difference .btn { padding: 12px 13px 10px; font-size: 14px; background-color: #668bff; } @media (max-width: 1219px) { #page-home #difference .container::before { left: 0; } #page-home #difference hgroup { max-width: 500px; } } @media (max-width: 991px) { #page-home #difference hgroup { margin: 0 auto; max-width: 100%; } #page-home #difference .container::before { width: 212px; height: 155px; right: 0; left: auto; } } @media (max-width: 370px) { #page-home #difference .container::before { display: none; } } #page-home #good-company { padding-top: 159px; padding-bottom: 202px; } #page-home #good-company hgroup { max-width: 732px; margin: 0 auto; } #page-home #good-company hgroup p { line-height: 32px; margin-top: 15px; } #page-home #good-company .case-studies { display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: start; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 0; -ms-flex-pack: justify; justify-content: space-between; margin-top: 54px; } #page-home #good-company .case-studies li { margin-right: 1em; list-style: none; } #page-home #good-company .case-studies li { -ms-flex: 0 0 270px; flex: 0 0 270px; margin-right: 0; margin-bottom: 32px; } #page-home #good-company .case-studies a { text-align: left; position: relative; display: block; border-radius: 8px; padding: 236px 27px 23px; box-shadow: 0 4px 8px rgba(0, 30, 84, 0.12), 0 1px 3px rgba(0, 30, 84, 0.08); transition: .15s box-shadow ease, .15s color, .15s transform; } #page-home #good-company .case-studies a:hover { -webkit-transform: translateY(-1px); transform: translateY(-1px); box-shadow: 0 8px 16px rgba(0, 30, 84, 0.1), 0 3px 6px rgba(0, 30, 84, 0.08); } #page-home #good-company .case-studies img { position: absolute; top: 0; left: 0; right: 0; width: 100%; display: block; border-top-right-radius: 8px; border-top-left-radius: 8px; } #page-home #good-company .case-studies strong { font-weight: 400; color: #253950; } #page-home #good-company .case-studies p { font-size: 14px; letter-spacing: -.01em; } #page-home #good-company .case-studies .cta { font-size: 15px; font-family: Eina; font-weight: 600; margin-top: 10px; letter-spacing: .03em; } #page-home #good-company .case-studies .cta::after { display: none; } #page-home #good-company .others { width: 807px; display: block; margin: 49px auto 35px; } #page-home #good-company .cta::after { color: #dbe6ff; } @media (max-width: 1219px) { #page-home #good-company .case-studies li { -ms-flex: 0 0 220px; flex: 0 0 220px; } } @media (max-width: 767px) { #page-home #good-company .case-studies { -ms-flex-pack: distribute; justify-content: space-around; } #page-home #good-company .case-studies li { -ms-flex: 0 0 280px; flex: 0 0 280px; } #page-home #good-company .others { width: 100%; } } #page-home #join { background: linear-gradient(to right, #4f74fe, #70aafb); padding-top: 132px; padding-bottom: 160px; color: white; text-align: center; } #page-home #join hgroup { font-size: 23px; max-width: 790px; } #page-home #join h1 { font-weight: 400; color: white; font-size: 46px; line-height: 64px; } #page-home #join .btns { margin-top: 44px; } #page-home #join .btn { text-transform: uppercase; font-weight: 700; font-size: 15px; padding: 21px 24px 19px; letter-spacing: .096em; margin-bottom: 16px; } #page-home #join .btn ion-icon { vertical-align: -2px; display: inline-block; width: 15px; height: 15px; } #page-home #join .btn.light { background: #7bb3ff; } #page-home #join .btn.light:hover { background: #95c2ff; } #page-home #join .btn:not(:hover):not(:active) { box-shadow: none; } body.press-release main.container { font-family: "Adobe Caslon", Georgia, Times, "Times New Roman", serif; max-width: 730px; } body.press-release main.container h1, body.press-release main.container h2, body.press-release main.container h3, body.press-release main.container h4 { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } body.press-release main.container h1 { position: relative; padding-top: 101px; margin-top: 67px; font-size: 32px; font-weight: 700; letter-spacing: -.02em; line-height: 44px; } body.press-release main.container h1::before { background: url("/img/press/press-thumbnail.png") no-repeat 0 0; background-size: 72px; width: 72px; height: 72px; content: ''; position: absolute; top: 0; } body.press-release main.container h1 + h3 { margin-top: 10px; font-size: 19px; font-weight: 600; line-height: 1.55em; letter-spacing: .003em; margin-bottom: 25px; } body.press-release main.container h3 + h4 { font-size: 12px; color: #929cac; letter-spacing: .02em; margin-bottom: 58px; } body.press-release main.container h2, body.press-release main.container h3 { font-weight: 600; } body.press-release main.container p { font-size: 20px; line-height: 2em; margin-bottom: 40px; } body.press-release main.container ul { margin-bottom: 40px; } body.press-release main.container li { font-size: 20px; line-height: 2em; } #page-products-contact .pricing-survey { width: 600px; margin: 40px auto 40px auto; } #page-products-contact .cta { text-align: center; } #page-products-contact .button-container { margin-top: 25px; text-align: right; } #page-products-deploy .top { margin-top: -138px; padding-top: 170px; background: white; text-align: left; padding-bottom: 522px; background: white url("/img/pro/deploy/deploy-hero-flat-img.png") 50% 100% no-repeat; background-size: 1108px; } @media (max-width: 767px) { #page-products-deploy .top { background-size: 780px; padding-bottom: 360px; } } #page-products-deploy .top .container { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; } @media (max-width: 1219px) { #page-products-deploy .top .container { -ms-flex-direction: column; flex-direction: column; } } #page-products-deploy .top .container:before, #page-products-deploy .top .container:after { content: ''; display: none; } #page-products-deploy .top hgroup { padding-top: 99px; max-width: 100%; position: relative; max-width: 555px; } #page-products-deploy .top hgroup::before { background: url("/img/pro/deploy/deploy-hero-icon.png") 0 0 no-repeat; background-size: 80px; height: 80px; width: 80px; position: absolute; top: 0; left: 0; content: ''; } #page-products-deploy .top hgroup h1 { letter-spacing: -.03em; font-weight: 700; font-size: 48px; max-width: 420px; } #page-products-deploy .top hgroup p { font-size: 20px; display: inline-block; margin-top: 12px; } #page-products-deploy .top .btns { margin-top: 150px; } #page-products-deploy .top .btns .btn { font-size: 16px; font-weight: 700; } #page-products-deploy .top .btns .btn.purple { background: #5657fb; margin-right: 9px; padding: 12px 19px 10px; } #page-products-deploy .top .btns .btn.white { color: #5657fb; padding: 12px 19px 10px; margin-right: 3px; } @media (max-width: 1219px) { #page-products-deploy .top .btns { margin-top: 22px; margin-bottom: 32px; } } @media (max-width: 767px) { #page-products-deploy .top hgroup:before { left: 50%; -webkit-transform: translateX(-40px); transform: translateX(-40px); } #page-products-deploy .top hgroup, #page-products-deploy .top .btns { text-align: center; } #page-products-deploy .top hgroup, #page-products-deploy .top hgroup h1 { margin-left: auto; margin-right: auto; } } #page-products-deploy section.skip { background: #f6f8fc; } #page-products-deploy section.skip .container { position: relative; padding-bottom: 38px; } #page-products-deploy section.skip hgroup { padding-top: 72px; width: calc(50% - 77px); padding-bottom: 50px; } @media (max-width: 1219px) { #page-products-deploy section.skip hgroup { width: 100%; text-align: center; } } #page-products-deploy section.skip h2 { line-height: 41px; margin-bottom: 22px; } #page-products-deploy section.skip p { font-size: 16px; letter-spacing: -0.02em; } #page-products-deploy section.skip p strong { color: #363a40; } #page-products-deploy section.skip .items { padding: 0; width: calc(50% - 50px); } @media (max-width: 767px) { #page-products-deploy section.skip .items { display: block; text-align: center; width: 100%; } } #page-products-deploy section.skip .items p { font-size: 16px; font-weight: 600; letter-spacing: -.026em; line-height: 1.8em; margin-bottom: 30px; color: #5e6777; } #page-products-deploy section.skip li { -ms-flex: 0 1 254px; flex: 0 1 254px; padding-right: 6px; } @media (max-width: 1219px) { #page-products-deploy section.skip li { -ms-flex-preferred-size: 321px; flex-basis: 321px; z-index: 1; } } #page-products-deploy section.skip li::before { background-image: url("/img/pro/deploy/feature-icons-sm.png"); background-size: 48px; } #page-products-deploy section.skip li.live::before { background-position: 0 0; } #page-products-deploy section.skip li.automatic::before { background-position: 0 -48px; } #page-products-deploy section.skip li.split::before { background-position: 0 -96px; } #page-products-deploy section.skip li.compliant::before { background-position: 0 -144px; } #page-products-deploy section.skip .graphics { background: url("/img/pro/deploy/feature-img-skip.png") 0 0 no-repeat; background-size: 724px; width: 724px; height: 739px; position: absolute; bottom: 0; right: 0; top: auto; opacity: 0; transition: .2s opacity; } @media (max-width: 991px) { #page-products-deploy section.skip .graphics { right: -160px; } } @media (max-width: 767px) { #page-products-deploy section.skip .graphics { display: none; } } #page-products-deploy section.skip .graphics.active { opacity: 1; } #page-products-deploy section.live h2, #page-products-deploy section.latest h2, #page-products-deploy section.run h2 { position: relative; } #page-products-deploy section.live h2::before, #page-products-deploy section.latest h2::before, #page-products-deploy section.run h2::before { background: url("/img/pro/deploy/feature-icons-lg.png") 0 0 no-repeat; background-size: 64px; height: 64px; width: 64px; position: absolute; top: 0; left: 0; content: ''; } @media (max-width: 767px) { #page-products-deploy section.live h2::before, #page-products-deploy section.latest h2::before, #page-products-deploy section.run h2::before { left: calc(50% - 32px); } } @media (max-width: 767px) { #page-products-deploy section.live .graphics, #page-products-deploy section.latest .graphics, #page-products-deploy section.run .graphics { display: none; } } #page-products-deploy section.live { background: linear-gradient(to right, #5b4cfc 0%, #8e83ff 100%); overflow: hidden; } #page-products-deploy section.live hgroup { padding-top: 127px; padding-bottom: 107px; } @media (max-width: 767px) { #page-products-deploy section.live hgroup { width: 100%; text-align: center; } } #page-products-deploy section.live h2 { padding-top: 83px; margin-bottom: 20px; font-size: 36px; font-weight: 700; letter-spacing: -0.03em; line-height: 42px; } #page-products-deploy section.live h2 span { color: white; } #page-products-deploy section.live p { font-size: 16px; letter-spacing: -0.02em; color: white; } #page-products-deploy section.live .graphics { position: absolute; right: 0; width: 50%; } #page-products-deploy section.live .graphics .iphone, #page-products-deploy section.live .graphics .android { position: absolute; width: 330px; height: 518px; bottom: 0; right: 0; } #page-products-deploy section.live .graphics .iphone::after, #page-products-deploy section.live .graphics .android::after { background: no-repeat 0 0; z-index: 1; position: absolute; top: 0; right: 0; width: 330px; height: 518px; content: ''; } #page-products-deploy section.live .graphics .iphone .screen, #page-products-deploy section.live .graphics .android .screen { background: no-repeat 0 0; position: absolute; bottom: 0; -webkit-animation: 10s screenPop-1 infinite; animation: 10s screenPop-1 infinite; } #page-products-deploy section.live .graphics .iphone .screen:nth-child(2), #page-products-deploy section.live .graphics .android .screen:nth-child(2) { -webkit-animation-name: screenPop-2; animation-name: screenPop-2; } #page-products-deploy section.live .graphics .iphone .screen:nth-child(3), #page-products-deploy section.live .graphics .android .screen:nth-child(3) { -webkit-animation-name: screenPop-3; animation-name: screenPop-3; } #page-products-deploy section.live .graphics .iphone { right: 250px; z-index: 1; } @media (max-width: 991px) { #page-products-deploy section.live .graphics .iphone { right: 100px; } } #page-products-deploy section.live .graphics .iphone::after { background-image: url("/img/pro/deploy/feature-iphone-device.png"); background-size: 330px; } #page-products-deploy section.live .graphics .iphone .screen { background-image: url("/img/pro/deploy/feature-iphone-screen-1.png"); background-size: 266px; width: 266px; height: 396px; right: 32px; } #page-products-deploy section.live .graphics .iphone .screen:nth-child(2) { background-image: url("/img/pro/deploy/feature-iphone-screen-2.png"); background-size: 266px; } #page-products-deploy section.live .graphics .iphone .screen:nth-child(3) { background-image: url("/img/pro/deploy/feature-iphone-screen-3.png"); background-size: 266px; } #page-products-deploy section.live .graphics .android::after { right: 0; background-image: url("/img/pro/deploy/feature-android-device.png"); background-size: 330px; } #page-products-deploy section.live .graphics .android .screen { background-image: url("/img/pro/deploy/feature-android-screen-1.png"); background-size: 280px; width: 280px; height: 462px; right: 26px; -webkit-animation-delay: .25s; animation-delay: .25s; } #page-products-deploy section.live .graphics .android .screen:nth-child(2) { background-image: url("/img/pro/deploy/feature-android-screen-2.png"); background-size: 280px; -webkit-animation-delay: .25s; animation-delay: .25s; } #page-products-deploy section.live .graphics .android .screen:nth-child(3) { background-image: url("/img/pro/deploy/feature-android-screen-3.png"); background-size: 280px; -webkit-animation-delay: .25s; animation-delay: .25s; } #page-products-deploy section.latest hgroup { width: calc(50% - 108px); padding-top: 132px; padding-right: 25px; padding-bottom: 121px; } @media (max-width: 991px) { #page-products-deploy section.latest hgroup { width: 45%; } } @media (max-width: 767px) { #page-products-deploy section.latest hgroup { width: 100%; text-align: center; padding-right: 0; } } #page-products-deploy section.latest h2 { padding-top: 87px; font-size: 27px; letter-spacing: -.024em; margin-bottom: 20px; font-size: 36px; font-weight: 700; letter-spacing: -0.03em; line-height: 42px; } #page-products-deploy section.latest h2::before { background-position: 0 -64px; } #page-products-deploy section.latest p { font-size: 16px; letter-spacing: -0.02em; } #page-products-deploy section.latest .graphics { background: url("/img/pro/deploy/feature-img-latest.png") 0 50% no-repeat; background-size: 589px; width: 589px; position: absolute; bottom: 0; left: 0; top: 0; opacity: 0; transition: .2s opacity; } @media (max-width: 991px) { #page-products-deploy section.latest .graphics { background-size: 100%; width: 50%; } } #page-products-deploy section.latest .graphics.active { opacity: 1; } #page-products-deploy section.run { background: #f6f8fc; } #page-products-deploy section.run hgroup { padding-top: 126px; padding-bottom: 108px; } @media (max-width: 991px) { #page-products-deploy section.run hgroup { width: 45%; } } @media (max-width: 767px) { #page-products-deploy section.run hgroup { width: 100%; text-align: center; } } #page-products-deploy section.run h2 { padding-top: 83px; margin-bottom: 20px; font-size: 36px; font-weight: 700; letter-spacing: -0.03em; line-height: 42px; } #page-products-deploy section.run h2::before { background-position: 0 -128px; } #page-products-deploy section.run p { font-size: 16px; letter-spacing: -0.02em; } #page-products-deploy section.run .graphics { background: url("/img/pro/deploy/feature-img-abtest.png") 50% 100% no-repeat; background-size: 526px; width: 526px; height: 513px; position: absolute; bottom: 0; right: 0; top: auto; opacity: 0; transition: .2s opacity; } @media (max-width: 991px) { #page-products-deploy section.run .graphics { background-size: 100%; background-position: 100% 100%; width: 50%; } } #page-products-deploy section.run .graphics.active { opacity: 1; } #page-products-deploy section.get-started { background: #e7ecf6; } #page-products-deploy section.get-started h2 { color: #272a2f; } #page-products-deploy section.get-started p { color: #5e6777; } #page-products-deploy section.get-started .btn { padding: 12px 19px 10px; font-size: 16px; letter-spacing: -.02em; font-weight: 700; } #page-products-deploy section.get-started .btn.white { color: #5244ff; } #page-products-deploy section.get-started .btn.purple { background: #5a4dfc; margin-right: 2px; } .products-page { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; position: relative; } .products-page .top { position: relative; } .products-page .top h1 { letter-spacing: -.03em; font-weight: 700; font-size: 48px; } .products-page .top p { font-size: 20px; font-weight: 600; margin-top: 17px; display: inline-block; letter-spacing: -.03em; line-height: 1.5em; color: #2f3744; } .products-page .top .graphics { position: absolute; } .products-page .center hgroup { padding-top: 100px; text-align: center; max-width: 748px; margin: 0 auto 18px; } .products-page .center hgroup h2 { font-size: 36px; font-weight: 700; letter-spacing: -.03em; color: #161a1f; } .products-page .center hgroup p { font-size: 18px; color: #5e6777; margin-top: 29px; letter-spacing: -0.03em; line-height: 1.8em; font-weight: 600; } .products-page .center hgroup p strong { color: #272a2f; font-weight: 700; } .products-page ul.items { padding: 48px 14px; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; } .products-page ul.items li { list-style: none; padding-top: 67px; position: relative; } .products-page ul.items li::before { background: 0 0 no-repeat; background-size: 100%; height: 48px; width: 48px; content: ''; display: block; position: absolute; top: 0; } .products-page ul.items li strong { letter-spacing: -.03em; display: inline-block; font-size: 17px; text-transform: none; letter-spacing: .001em; margin-top: 4px; margin-bottom: 10px; } .products-page ul.items li p { font-size: 16px; font-weight: 600; letter-spacing: -.026em; line-height: 1.8em; margin-bottom: 30px; color: #5e6777; } @media (max-width: 767px) { .products-page ul.items li { display: block; -ms-flex-preferred-size: 100%; flex-basis: 100%; text-align: center; } .products-page ul.items li::before { left: calc(50% - 24px); } } .products-page section.left .container, .products-page section.right .container, .products-page section.both .container { position: relative; } .products-page section.left hgroup, .products-page section.right hgroup, .products-page section.both hgroup { padding-top: 208px; padding-bottom: 151px; width: calc(50% - 147px); position: relative; } @media (max-width: 991px) { .products-page section.left hgroup, .products-page section.right hgroup, .products-page section.both hgroup { width: calc(50% - 48px); } } .products-page section.left hgroup::before, .products-page section.right hgroup::before, .products-page section.both hgroup::before { background: 0 0 no-repeat; background-size: 100%; height: 64px; width: 64px; content: ''; position: absolute; top: 126px; display: block; } .products-page section.left hgroup::after, .products-page section.right hgroup::after, .products-page section.both hgroup::after { content: ''; clear: both; display: table; } .products-page section.left hgroup h2, .products-page section.right hgroup h2, .products-page section.both hgroup h2 { margin-bottom: 20px; font-size: 36px; font-weight: 700; letter-spacing: -0.03em; line-height: 42px; } .products-page section.left hgroup p, .products-page section.right hgroup p, .products-page section.both hgroup p { font-size: 16px; font-weight: 600; letter-spacing: -.026em; line-height: 1.8em; margin-bottom: 30px; color: #5e6777; } .products-page section.left hgroup p strong, .products-page section.right hgroup p strong, .products-page section.both hgroup p strong { font-weight: 600; } .products-page section.left .graphics, .products-page section.right .graphics, .products-page section.both .graphics { background: 0 50% no-repeat; background-size: 100%; width: 470px; position: absolute; right: 0; bottom: 0; top: 0; opacity: 0; } .products-page section.left .graphics.activateOnScroll, .products-page section.right .graphics.activateOnScroll, .products-page section.both .graphics.activateOnScroll { -webkit-filter: blur(10px); filter: blur(10px); transition: .4s opacity, .4s filter; } .products-page section.left .graphics.activateOnScroll.active, .products-page section.right .graphics.activateOnScroll.active, .products-page section.both .graphics.activateOnScroll.active { opacity: 1; -webkit-filter: blur(0); filter: blur(0); } @media (max-width: 991px) { .products-page section.left .graphics, .products-page section.right .graphics, .products-page section.both .graphics { right: -20%; } } .products-page section.right hgroup { float: right; } .products-page section.right .graphics { right: auto; left: 0; } @media (max-width: 991px) { .products-page section.right .graphics { left: -20%; } } .products-page section.both .container { display: -ms-flexbox; display: flex; clear: both; -ms-flex-pack: justify; justify-content: space-between; } .products-page section.both .container::before, .products-page section.both .container::after { display: none; } .products-page .get-started { background: 0 0 no-repeat; background-size: cover; } .products-page .get-started .container { display: -ms-flexbox; display: flex; padding-top: 101px; padding-bottom: 102px; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-align: center; align-items: center; } .products-page .get-started .container::before, .products-page .get-started .container::after { display: none; } @media (max-width: 991px) { .products-page .get-started .container { text-align: center; } } .products-page .get-started hgroup, .products-page .get-started .btns { display: inline-block; } .products-page .get-started hgroup { -ms-flex-positive: 1; flex-grow: 1; } .products-page .get-started h2 { color: white; font-size: 28px; letter-spacing: -.03em; margin-top: 30px; margin-bottom: 5px; font-weight: 600; } .products-page .get-started p { font-size: 20px; font-weight: 600; letter-spacing: -.02em; color: #003e82; } .products-page .get-started .btns .btn { padding: 12px 19px 10px; font-size: 16px; font-weight: 700; } .products-page .get-started .btns .btn:last-child { margin-right: -5px; } @media (max-width: 767px) { .products-page .get-started .btns .btn { text-align: center; display: block; margin: 16px auto; } } @media (max-width: 991px) { .products-page .get-started .btns { width: 100%; } } #page-products-monitor .top { margin-top: -150px; padding-top: 174px; background: #0c1c1c; background: linear-gradient(to right, #051312 0%, #112624 100%); text-align: center; } #page-products-monitor .top hgroup { padding-top: 97px; padding-bottom: 355px; position: relative; } #page-products-monitor .top hgroup::before { background: url("/img/pro/monitor/monitor-cta-icon.png") 0 0 no-repeat; background-size: 80px; width: 80px; height: 80px; content: ''; position: absolute; top: 0; left: calc(50% - 40px); } #page-products-monitor .top h1 { color: white; letter-spacing: -.03em; font-weight: 700; font-size: 48px; max-width: 860px; margin-left: auto; margin-right: auto; } #page-products-monitor .top p { color: #abb3b2; max-width: 760px; margin-bottom: 32px; } #page-products-monitor .top p strong { color: white; font-weight: 700; } #page-products-monitor .top .btns { margin-top: 16px; } #page-products-monitor .top .btns .btn { font-size: 16px; font-weight: 700; } #page-products-monitor .top .btns .btn.green { background: #31ca74; padding: 12px 19px 10px; margin-right: 9px; } #page-products-monitor .top .btns .btn.dark { color: #31ca74; background: #313f3f; padding: 12px 19px 10px; } #page-products-monitor #heart-monitor-stage { height: 250px; width: 400px; position: absolute; bottom: 64px; left: calc(50% - 200px); overflow: hidden; } #page-products-monitor #heart-monitor-stage #grid { background-color: transparent; background-image: linear-gradient(0deg, transparent 24%, rgba(255, 255, 255, 0.05) 25%, rgba(255, 255, 255, 0.05) 26%, transparent 27%, transparent 74%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05) 76%, transparent 77%, transparent), linear-gradient(90deg, transparent 24%, rgba(255, 255, 255, 0.05) 25%, rgba(255, 255, 255, 0.05) 26%, transparent 27%, transparent 74%, rgba(255, 255, 255, 0.05) 75%, rgba(255, 255, 255, 0.05) 76%, transparent 77%, transparent); height: 100%; background-size: 50px 50px; -webkit-mask-image: radial-gradient(black 20%, transparent 70%); mask-image: radial-gradient(black 20%, transparent 70%); } #page-products-monitor #heart-monitor-stage #edges, #page-products-monitor #heart-monitor-stage #spotlight { background-image: linear-gradient(to right, #051413, #102624); position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; -webkit-mask-image: radial-gradient(transparent 50%, black 70%); mask-image: radial-gradient(transparent 50%, black 70%); } #page-products-monitor #heart-monitor-stage #spotlight { left: -100%; -webkit-mask-image: radial-gradient(transparent 30%, black 80%); mask-image: radial-gradient(transparent 30%, black 80%); } #page-products-monitor #heart-monitor-stage svg { width: 100%; height: 100%; position: absolute; top: 0; } #page-products-monitor #heart-monitor-stage .path { fill: transparent; stroke: rgba(0, 200, 126, 0.5); stroke-miterlimit: 10; } #page-products-monitor #heart-monitor-stage .path-3 { fill: transparent; stroke: rgba(0, 200, 126, 0.8); stroke-miterlimit: 10; } #page-products-monitor #heart-monitor-stage .path-2 { fill: transparent; stroke: #9affc0; stroke-miterlimit: 20; } #page-products-monitor .pinpoint .container { max-width: 1092px; } #page-products-monitor .pinpoint hgroup { max-width: 960px; } #page-products-monitor .pinpoint hgroup h3 { text-transform: uppercase; color: #1ed176; font-weight: 700; letter-spacing: .06em; font-size: 24px; } #page-products-monitor .pinpoint hgroup h2 { margin-top: 15px; } #page-products-monitor .pinpoint hgroup p strong { font-weight: 600; } #page-products-monitor .pinpoint .items { padding: 50px 0 46px; } #page-products-monitor .pinpoint .items li { -ms-flex: 0 1 303px; flex: 0 1 303px; } @media (max-width: 991px) { #page-products-monitor .pinpoint .items li { -ms-flex-preferred-size: 200px; flex-basis: 200px; } } @media (max-width: 767px) { #page-products-monitor .pinpoint .items li { -ms-flex-preferred-size: 100%; flex-basis: 100%; } } #page-products-monitor .pinpoint .items li::before { background: url("/img/pro/monitor/feature-icons-sm.png") 0 0 no-repeat; background-size: 48px; } #page-products-monitor .pinpoint .items li.built::before { background-position: 0 -48px; } #page-products-monitor .pinpoint .items li.typescript::before { background-position: 0 -96px; } #page-products-monitor .pinpoint .items strong { margin-bottom: 10px; } #page-products-monitor .pinpoint .items p { font-size: 16px; letter-spacing: -.02em; line-height: 28px; } #page-products-monitor .pinpoint .get-started { background: transparent; border-top: 1px solid #f0f4f8; padding-top: 30px; padding-bottom: 64px; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } #page-products-monitor .pinpoint .get-started hgroup { text-align: left; margin-left: 0; padding-top: 0; margin-top: 20px; } #page-products-monitor .pinpoint .get-started h2 { color: #1ed176; margin-bottom: 0; font-size: 28px; letter-spacing: -.03em; font-weight: 600; } #page-products-monitor .pinpoint .get-started p { margin-top: 0; letter-spacing: -.02em; } #page-products-monitor .pinpoint .get-started p strong { font-weight: 700; letter-spacing: 0; } #page-products-monitor .pinpoint .get-started .btn { background: #1ed176; margin-right: 4px; padding: 12px 19px 10px; font-size: 16px; font-weight: 700; letter-spacing: .01em; } @media (max-width: 991px) { #page-products-monitor .pinpoint .get-started .btns { width: auto; } } #page-products-monitor section.left hgroup::before, #page-products-monitor section.right hgroup::before, #page-products-monitor section.both hgroup::before { background-image: url("/img/pro/monitor/feature-icons-lg.png"); background-size: 64px; } @media (max-width: 991px) { #page-products-monitor section.left hgroup::before, #page-products-monitor section.right hgroup::before, #page-products-monitor section.both hgroup::before { left: calc(50% - 32px); } } #page-products-monitor section.left h2, #page-products-monitor section.right h2, #page-products-monitor section.both h2 { margin-bottom: 20px; font-size: 36px; font-weight: 700; letter-spacing: -0.03em; line-height: 42px; } #page-products-monitor section.left p, #page-products-monitor section.right p, #page-products-monitor section.both p { font-size: 17px; letter-spacing: -.008em; } @media (max-width: 991px) { #page-products-monitor section.left hgroup, #page-products-monitor section.right hgroup, #page-products-monitor section.both hgroup { width: 100%; float: none; text-align: center; } } #page-products-monitor .confidence { background: #f4f9f7; position: relative; } #page-products-monitor .confidence .container { position: static; } #page-products-monitor .confidence hgroup { position: relative; z-index: 1; } #page-products-monitor .confidence .graphics { background-image: url("/img/pro/monitor/feature-img-confidence.png"); background-size: 1145px; background-position: bottom center; width: 1145px; } @media (max-width: 1219px) { #page-products-monitor .confidence .graphics { right: -20%; } } @media (max-width: 991px) { #page-products-monitor .confidence .graphics { display: none; } } #page-products-monitor .ahead { background: #e1ebe9; } #page-products-monitor .ahead hgroup::before { background-position: 0 -64px; } #page-products-monitor .ahead .graphics { background-image: url("/img/pro/monitor/feature-img-ahead.png"); background-size: 621px; width: 621px; } @media (max-width: 991px) { #page-products-monitor .ahead .graphics { display: none; } } #page-products-monitor .both { background: linear-gradient(to right, #7c9c91 50%, #4e7366 50%); } #page-products-monitor .both hgroup::before { background-position: 0 -128px; } #page-products-monitor .both hgroup + hgroup::before { background-position: 0 -192px; } #page-products-monitor .both h2 { color: white; } #page-products-monitor .both p { color: #bdd8d3; } #page-products-monitor .both p strong { color: #e5fefa; } @media (max-width: 991px) { #page-products-monitor .both { background: linear-gradient(to bottom, #7c9c91 50%, #4e7366 50%); } #page-products-monitor .both .container { display: block; } } #page-products-monitor section.get-started { background: #e6f1ed; } #page-products-monitor section.get-started h2 { color: #202624; } #page-products-monitor section.get-started p { color: #556861; } #page-products-monitor section.get-started p strong { font-weight: 600; } #page-products-monitor section.get-started .btn.green { background: #1ed176; } #page-products-monitor section.get-started .btn.white { color: #1ed176; } #page-products-package .sub-header > .container { z-index: 2; } #page-products-package .top { clear: both; position: relative; top: -144px; overflow: hidden; padding-top: 178px; background: #e7a2dd; background: linear-gradient(to right, #c696f8 0%, #fca5a7 100%); } #page-products-package .top hgroup { padding-top: 103px; padding-bottom: 148px; text-align: left; position: relative; z-index: 5; } #page-products-package .top hgroup::before { background: url("/img/pro/package/package-hero-icon.png") no-repeat 0 0; background-size: 80px; width: 80px; height: 80px; content: ''; position: absolute; top: 0; left: 15px; } #page-products-package .top hgroup h1, #page-products-package .top hgroup p { color: white; } #page-products-package .top hgroup h1 { max-width: 350px; } #page-products-package .top hgroup p { color: rgba(255, 255, 255, 0.9); max-width: 475px; letter-spacing: -.03em; line-height: 1.5em; font-size: 20px; } #page-products-package .top hgroup p strong { color: white; } #page-products-package .top hgroup .btns { margin-top: 32px; } #page-products-package .top hgroup .btns .btn { font-size: 16px; font-weight: 700; } #page-products-package .top hgroup .btns .btn.pink { background: #e33766; margin-right: 9px; padding: 12px 19px 12px; } #page-products-package .top hgroup .btns .btn.white { color: #e33766; padding: 12px 19px 12px; } @media (max-width: 767px) { #page-products-package .top hgroup:before { left: 50%; -webkit-transform: translateX(-40px); transform: translateX(-40px); } #page-products-package .top hgroup, #page-products-package .top .btns { text-align: center; } #page-products-package .top hgroup, #page-products-package .top hgroup h1 { margin-left: auto; margin-right: auto; } } #page-products-package .top .graphics { position: absolute; top: 0; right: 0; bottom: 0; width: 50%; z-index: 1; } #page-products-package .top .cloud { opacity: 0; position: absolute; top: 200px; left: -200px; width: 346px; height: 312px; -webkit-animation: 40s floatingCloud linear infinite; animation: 40s floatingCloud linear infinite; z-index: 5; } #page-products-package .top .cloud::before { background: url("/img/pro/package/package-hero-cloud.png") no-repeat 0 0; background-size: 346px; top: 0; bottom: 0; right: 0; left: 0; content: ''; position: absolute; } #page-products-package .top .cloud .build { background: url("/img/pro/package/package-hero-app-icon.png") no-repeat 0 0; background-size: 87px; width: 87px; height: 116px; content: ''; position: absolute; top: 30px; left: 20px; -webkit-animation: 10s rainDrop linear infinite; animation: 10s rainDrop linear infinite; z-index: 6; } #page-products-package .top .cloud .build:nth-child(2) { top: 166px; left: 220px; -webkit-animation-delay: .8s; animation-delay: .8s; -webkit-animation-duration: 8s; animation-duration: 8s; } #page-products-package .top .cloud .build:nth-child(3) { top: 33px; left: 130px; -webkit-animation-delay: 1.8s; animation-delay: 1.8s; -webkit-animation-duration: 9s; animation-duration: 9s; } #page-products-package .top .cloud .build:nth-child(4) { top: 50px; left: 60px; -webkit-animation-delay: 2.8s; animation-delay: 2.8s; -webkit-animation-duration: 12s; animation-duration: 12s; } #page-products-package .top .cloud:nth-child(2) { top: 0; left: 0; -webkit-transform: scale3d(0.5, 0.5, 1); transform: scale3d(0.5, 0.5, 1); -webkit-animation-name: floatingCloud-2; animation-name: floatingCloud-2; -webkit-animation-duration: 60s; animation-duration: 60s; -webkit-animation-delay: 10s; animation-delay: 10s; z-index: 1; } #page-products-package .top .cloud:nth-child(2) .build { z-index: 2; -webkit-animation-delay: 1s; animation-delay: 1s; } #page-products-package .top .cloud:nth-child(2) .build:nth-child(2) { -webkit-animation-delay: 2s; animation-delay: 2s; } #page-products-package .top .cloud:nth-child(2) .build:nth-child(3) { -webkit-animation-delay: 3s; animation-delay: 3s; } #page-products-package .top .cloud:nth-child(2) .build:nth-child(4) { -webkit-animation-delay: 4s; animation-delay: 4s; } #page-products-package .top .cloud:nth-child(3) { top: 10px; left: -150px; -webkit-animation-name: floatingCloud-3; animation-name: floatingCloud-3; -webkit-animation-duration: 50s; animation-duration: 50s; -webkit-animation-delay: 2s; animation-delay: 2s; z-index: 3; } #page-products-package .top .cloud:nth-child(3) .build { z-index: 4; -webkit-animation-delay: .1s; animation-delay: .1s; } #page-products-package .top .cloud:nth-child(3) .build:nth-child(2) { -webkit-animation-delay: .2s; animation-delay: .2s; } #page-products-package .top .cloud:nth-child(3) .build:nth-child(3) { -webkit-animation-delay: .3s; animation-delay: .3s; } #page-products-package .top .cloud:nth-child(3) .build:nth-child(4) { -webkit-animation-delay: .4s; animation-delay: .4s; } #page-products-package .top .cloud:nth-child(4) { top: 300px; left: -250px; -webkit-animation-name: floatingCloud-4; animation-name: floatingCloud-4; -webkit-animation-duration: 30s; animation-duration: 30s; -webkit-animation-delay: 2s; animation-delay: 2s; z-index: 3; } #page-products-package .top .cloud:nth-child(4) .build { z-index: 4; -webkit-animation-delay: .1s; animation-delay: .1s; } #page-products-package .top .cloud:nth-child(4) .build:nth-child(2) { -webkit-animation-delay: .2s; animation-delay: .2s; } #page-products-package .top .cloud:nth-child(4) .build:nth-child(3) { -webkit-animation-delay: .3s; animation-delay: .3s; } #page-products-package .top .cloud:nth-child(4) .build:nth-child(4) { -webkit-animation-delay: .4s; animation-delay: .4s; } #page-products-package .features { position: relative; z-index: 10; background: linear-gradient(to right, #efddff 0, #ffe3e4 100%); } @supports ((-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px))) { #page-products-package .features { -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); background: rgba(255, 255, 255, 0.6); } } #page-products-package .features ul { padding: 71px 0px 45px; } @media (max-width: 767px) { #page-products-package .features ul { display: block; } } #page-products-package .features li { -ms-flex: 0 1 315px; flex: 0 1 315px; } @media (max-width: 1219px) { #page-products-package .features li { -ms-flex: 0 1 303px; flex: 0 1 303px; } } #page-products-package .features li::before { background-image: url("/img/pro/package/feature-icons-sm.png"); background-size: 48px; } #page-products-package .features li.zero::before { background-position: 0 -48px; } #page-products-package .features li.peace::before { background-position: 0 -96px; } #page-products-package .features p { letter-spacing: -0.02em; margin-top: 2px; margin-right: 5px; } #page-products-package main { margin-top: -144px; } #page-products-package .turn { background: #f8f5fb; } #page-products-package .turn hgroup { max-width: 740px; padding-top: 100px; padding-bottom: 423px; } @media (max-width: 1219px) { #page-products-package .turn hgroup { padding-bottom: 314px; } } #page-products-package .turn p { margin-top: 30px; } #page-products-package .turn .container { position: relative; } #page-products-package .turn .graphics { width: 1056px; height: 401px; position: absolute; bottom: 0; left: calc(50% - 544px); } #page-products-package .turn .graphics .html { background: no-repeat 0 0 url("/img/pro/package/package-img-css-file.png"); background-size: 150px; width: 150px; height: 180px; content: ''; position: absolute; left: -3px; top: 76px; } #page-products-package .turn .graphics .html::before, #page-products-package .turn .graphics .html::after { background: no-repeat 0 0 url("/img/pro/package/package-img-html-file.png"); background-size: 150px; width: 150px; height: 180px; content: ''; position: absolute; left: 67px; top: 5px; } #page-products-package .turn .graphics .html::after { background-image: url("/img/pro/package/package-img-js-file.png"); background-size: 150px; left: 137px; top: -2px; } #page-products-package .turn .graphics .app { background: no-repeat 0 0 url("/img/pro/package/package-img-ipa-file.png"); background-size: 150px; width: 150px; height: 180px; content: ''; position: absolute; left: 912px; top: 81px; } #page-products-package .turn .graphics .app::before { background: no-repeat 0 0 url("/img/pro/package/package-img-apk-file.png"); background-size: 150px; width: 150px; height: 180px; content: ''; position: absolute; left: -100px; top: 2px; } #page-products-package .turn .graphics .circles { width: 1056px; margin: 0 auto; } #page-products-package .turn .graphics .box { background: no-repeat 0 0 url("/img/pro/package/package-img-server.png"); background-size: 460px; width: 460px; height: 402px; content: ''; position: absolute; left: 375px; top: 1px; } #page-products-package .turn .graphics .box::before { background: no-repeat center center url("/img/pro/package/ionic-package-server-light.jpg.png"); background-size: 45px; width: 44px; height: 44px; content: ''; position: absolute; left: 262px; top: 95px; opacity: 0; transition: opacity .3s; } #page-products-package .turn .graphics .box.active::before { opacity: 1; } #page-products-package .turn .graphics .circle { height: 7px; width: 7px; position: absolute; top: 169px; left: 288px; border-radius: 50%; background: #e5e9f1; } #page-products-package .turn .graphics .circle::before { position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0; content: ''; border-radius: 50%; background-color: #f8556c; transition: opacity .6s; } #page-products-package .turn .graphics .circle.active::before { opacity: 1; } #page-products-package .turn .graphics .circle:nth-child(2) { left: 308px; } #page-products-package .turn .graphics .circle:nth-child(3) { left: 328px; } #page-products-package .turn .graphics .circle:nth-child(4) { left: 348px; } #page-products-package .turn .graphics .circle:nth-child(5) { left: 367px; } #page-products-package .turn .graphics .circle:nth-child(6) { left: 711px; } #page-products-package .turn .graphics .circle:nth-child(7) { left: 731px; } #page-products-package .turn .graphics .circle:nth-child(8) { left: 750px; } #page-products-package .turn .graphics .circle:nth-child(9) { left: 770px; } #page-products-package .turn .graphics .circle:nth-child(10) { left: 790px; } @media (max-width: 1219px) { #page-products-package .turn .graphics { -webkit-transform: scale3d(0.5, 0.5, 1); transform: scale3d(0.5, 0.5, 1); left: calc(50% - 526px); } } @media (max-width: 767px) { #page-products-package .turn .graphics { -webkit-transform: scale3d(0.3, 0.3, 1); transform: scale3d(0.3, 0.3, 1); } } #page-products-package .leave hgroup { width: calc(50% - 130px); padding-top: 100px; padding-bottom: 100px; } @media (max-width: 767px) { #page-products-package .leave hgroup { width: 100%; text-align: center; } } #page-products-package .leave h2 { letter-spacing: -.015em; margin-bottom: 31px; } #page-products-package .leave p { font-size: 16px; letter-spacing: -0.02em; line-height: 1.8em; margin-bottom: 18px; color: #5e6777; } #page-products-package .leave p strong { font-weight: 600; } #page-products-package .leave .container { position: relative; overflow: hidden; } #page-products-package .leave .container::after { background: url("/img/pro/package/floating-app-icons.png") 0 0 no-repeat; background-size: 682px; width: 682px; height: 650px; content: ''; position: absolute; top: -96px; right: 0; pointer-events: none; } @media (max-width: 991px) { #page-products-package .leave hgroup { width: 100%; text-align: center; } #page-products-package .leave .container::after { opacity: .5; } } #page-products-package .get-started { background: linear-gradient(to right, #c696f8 0%, #fca5a7 100%); } #page-products-package .get-started h2 { margin-bottom: 7px; } #page-products-package .get-started p { color: #601baa; } #page-products-package .get-started p strong { font-weight: 600; } #page-products-package .get-started .btn { padding: 12px 19px 10px; font-size: 16px; letter-spacing: -.02em; font-weight: 700; } #page-products-package .get-started .btn.pink { background: #f34971; margin-right: 2px; } #page-products-package .get-started .btn.white { background: white; color: #e93677; } #page-products-for-teams main, #page-products-for-teams .sub-header, #page-products-for-teams .cta { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-products-for-teams .sub-header > .container { -ms-flex-align: center; align-items: center; } #page-products-for-teams .cta { background-color: #12223a; background-image: url("/img/pro/teams-hero-bg.jpg"), linear-gradient(120deg, #12223a, #000a1c); background-size: cover, 100%; background-position: 50% 50%; margin-top: -136px; padding-top: 136px; text-align: center; position: relative; } #page-products-for-teams .cta hgroup { padding-bottom: 114px; } #page-products-for-teams .cta h1 { font-size: 48px; font-weight: 700; margin-top: 30px; } #page-products-for-teams .cta p { color: #a0abbf; font-weight: 600; } #page-products-for-teams .cta p strong { color: #ccd4e3; } #page-products-for-teams .cta-buttons { margin-top: 50px; } #page-products-for-teams .cta .btn { color: #ffffff; font-size: 16px; font-weight: 700; padding: 14px 24px; } #page-products-for-teams .cta .btn.secondary { background-color: #21314e; } #page-products-for-teams .cta .logo-field { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; height: 120px; -ms-flex-pack: center; justify-content: center; overflow: hidden; position: relative; } #page-products-for-teams .cta .logo-field::before { background-image: linear-gradient(rgba(200, 225, 255, 0.08), rgba(200, 220, 255, 0.08)), url(/img/pro/teams-hero-bg.jpg); background-size: 100%, cover; background-position: 50% 50%, 50% 50%; position: absolute; content: ''; top: calc(100% - 661px); width: 100%; height: 661px; -webkit-filter: blur(24px); filter: blur(24px); } #page-products-for-teams .cta .logo-field img { max-width: 895px; width: 80%; position: relative; } @media (max-width: 768px) { #page-products-for-teams .cta .logo-field { display: none; } } #page-products-for-teams .hero { background-repeat: no-repeat; padding: 260px 0; } @media (max-width: 1220px) { #page-products-for-teams .hero { padding: 20% 0; } } #page-products-for-teams .hero .container { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; } #page-products-for-teams .hero.flipped .container { -ms-flex-align: end; align-items: flex-end; } #page-products-for-teams .hero__content { width: 40%; } @media (max-width: 768px) { #page-products-for-teams .hero__content { text-align: center; width: 100%; } } #page-products-for-teams .hero__icon { background-image: url("/img/pro/teams-feature-icons.png"); background-position: top center; background-repeat: no-repeat; background-size: 100%; display: inline-block; height: 64px; margin-bottom: 40px; width: 64px; } @media (max-width: 768px) { #page-products-for-teams .hero__icon { margin-bottom: 20px; } } #page-products-for-teams .ship .hero__icon { background-position-y: 0; } #page-products-for-teams .listen .hero__icon { background-position-y: -64px; } #page-products-for-teams .collaborate .hero__icon { background-position-y: -128px; } #page-products-for-teams .hero h2 { color: #9aaac1; font-size: 36px; font-weight: 700; letter-spacing: -0.03em; line-height: 46px; margin-bottom: 1em; } #page-products-for-teams .hero h2 strong { color: #24282e; } #page-products-for-teams .hero p { color: #505863; font-size: 18px; font-weight: 600; } #page-products-for-teams .ship { background-image: url("/img/pro/teams-ship-hero.jpg"); background-position: right center; background-size: 811px; } #page-products-for-teams .listen { background-image: url("/img/pro/teams-listen-hero.png"); background-position: left center; background-size: 811px; } #page-products-for-teams .collaborate { background-image: url("/img/pro/teams-collaborate-hero.jpg"); background-position: right center; background-size: 811px; } @media (min-width: 768px) { #page-products-for-teams .ship, #page-products-for-teams .collaborate { background-position: center right -400px; } } @media (min-width: 1220px) { #page-products-for-teams .ship, #page-products-for-teams .collaborate { background-position: center right -150px; } } @media (min-width: 1400px) { #page-products-for-teams .ship, #page-products-for-teams .collaborate { background-position: center right -50px; } } @media (min-width: 768px) { #page-products-for-teams .listen { background-position: center left -350px; } } @media (min-width: 1220px) { #page-products-for-teams .listen { background-position: center left -150px; } } @media (min-width: 1400px) { #page-products-for-teams .listen { background-position: center left -50px; } } @media (max-width: 768px) { #page-products-for-teams .ship, #page-products-for-teams .listen, #page-products-for-teams .collaborate { background-image: none; padding: 60px 0; } } #page-products-for-teams .features { padding: 100px 0; } @media (min-width: 768px) { #page-products-for-teams .features .hero__content { width: 70%; } } #page-products-for-teams .features h3 { color: #24282e; font-size: 20px; font-weight: 700; margin-bottom: 20px; } #page-products-for-teams .features p { color: #747f92; font-size: 16px; line-height: 1.6; } #page-products-for-teams .features .hero__icon { background-image: url("/img/pro/teams-subfeature-icons.png"); height: 48px; margin-bottom: 0; width: 48px; } #page-products-for-teams .features .hero__icon.sharing { background-position-y: 0; } #page-products-for-teams .features .hero__icon.ci { background-position-y: -48px; } #page-products-for-teams .features .hero__icon.feed { background-position-y: -96px; } #page-products-for-teams .features .hero__icon.collab { background-position-y: -144px; } #page-products-for-teams .features .hero__icon.binaries { background-position-y: -192px; } #page-products-for-teams .features .hero__icon.channels { background-position-y: -240px; } #page-products-for-teams .features .hero__icon.cd { background-position-y: -288px; } #page-products-for-teams .features .hero__icon.monitoring { background-position-y: -336px; } #page-products-for-teams .features .hero__icon.rapid { background-position-y: -384px; } #page-products-for-teams .features__list { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; list-style: none; margin: 70px 0 0; padding: 0; } #page-products-for-teams .features__list li { -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; padding-bottom: 4em; padding-right: 4em; } @media (max-width: 992px) { #page-products-for-teams .features__list li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media (max-width: 768px) { #page-products-for-teams .features__list li { -ms-flex: 0 0 100%; flex: 0 0 100%; padding-right: 0; text-align: center; } } #page-products-for-teams .quotes { color: #ffffff; display: -ms-flexbox; display: flex; font-size: 20px; font-weight: 600; letter-spacing: -0.01em; } @media (max-width: 768px) { #page-products-for-teams .quotes { -ms-flex-direction: column; flex-direction: column; } } #page-products-for-teams .quotes__content { max-width: 490px; position: relative; } #page-products-for-teams .quotes__napa, #page-products-for-teams .quotes__hmb { display: -ms-flexbox; display: flex; -ms-flex: 1; flex: 1; padding: 80px; } @media (max-width: 480px) { #page-products-for-teams .quotes__napa, #page-products-for-teams .quotes__hmb { padding: 40px; } } #page-products-for-teams .quotes__napa { background-color: #6b56d4; -ms-flex-pack: end; justify-content: flex-end; } @media (max-width: 768px) { #page-products-for-teams .quotes__napa { -ms-flex-pack: start; justify-content: flex-start; } } #page-products-for-teams .quotes__napa .case-study-pill { background-color: #5635c2; border-radius: 20px; color: rgba(255, 255, 255, 0.6); display: inline-block; font-size: 12px; line-height: 1; margin-bottom: 30px; padding: 7px 10px 6px; position: absolute; right: 0; top: 7px; transition: color 200ms ease-in-out; } #page-products-for-teams .quotes__napa .case-study-pill strong { font-weight: inherit; color: #ffffff; } #page-products-for-teams .quotes__napa .case-study-pill:after { content: " \203a"; } #page-products-for-teams .quotes__napa .case-study-pill:hover { color: #ffffff; } @media (max-width: 1220px) { #page-products-for-teams .quotes__napa .case-study-pill { position: relative; } } #page-products-for-teams .quotes__hmb { background-color: #424b58; } #page-products-for-teams .quotes__logo { background-image: url("/img/pro/teams-quote-logos.png"); background-position: top; background-size: 100%; background-repeat: no-repeat; display: block; height: 40px; margin-bottom: 2em; width: 260px; } #page-products-for-teams .quotes__hmb .quotes__logo { background-position-y: -40px; } #page-products-for-teams .quotes blockquote { border: none; font-size: inherit; line-height: 1.5; margin: 0; padding: 0; } #page-products-for-teams .quotes blockquote > small { color: rgba(255, 255, 255, 0.6); margin-top: 2em; text-align: right; } #page-products-for-teams .quotes blockquote > small::before { content: ""; } #page-products-for-teams .quotes blockquote > small strong { font-weight: inherit; color: #ffffff; } #page-products-for-teams .get-started { background: #1b212a; overflow: auto; } #page-products-for-teams .get-started .container { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; margin-bottom: 110px; margin-top: 110px; } @media (max-width: 991px) { #page-products-for-teams .get-started .container { display: block; text-align: center; } } #page-products-for-teams .get-started hgroup { letter-spacing: -.025em; -ms-flex-positive: 1; flex-grow: 1; } @media (max-width: 991px) { #page-products-for-teams .get-started hgroup { padding-bottom: 16px; } } #page-products-for-teams .get-started h2 { color: #ffffff; font-size: 28px; font-weight: 700; letter-spacing: inherit; margin: 0 0 5px; } #page-products-for-teams .get-started p { color: #98a3b2; font-size: 20px; font-weight: 600; margin: 0; } #page-products-for-teams .get-started .btn { font-size: 16px; font-weight: 700; } #page-products-for-teams .get-started .btn.secondary { background-color: #3d4b5f; } #page-pwa { font-size: 1.4rem; } #page-pwa #social-share-sidebar { left: 35px; } #page-pwa h1, #page-pwa h2, #page-pwa h3 { font-weight: 700; } #page-pwa .lede { color: #748196; font-size: 1.3em; font-weight: 600; line-height: 1.6; margin: 1em auto; max-width: 72rem; } @media screen and (max-width: 767px) { #page-pwa .lede { font-size: 1.2em; } } #page-pwa .lede > strong { color: #333333; } #page-pwa .eyebrow { font-size: 2rem; font-weight: 700; letter-spacing: 0.1em; margin: 1em 0; text-transform: uppercase; } #page-pwa .card { border-radius: 6px; box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.08); overflow: hidden; transition: box-shadow 120ms ease-out, -webkit-transform 100ms ease-out; transition: transform 100ms ease-out, box-shadow 120ms ease-out; transition: transform 100ms ease-out, box-shadow 120ms ease-out, -webkit-transform 100ms ease-out; } #page-pwa .card__image { max-width: 100%; } #page-pwa .card__content { padding: 1em; } #page-pwa .card:hover { box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08), 0 3px 6px rgba(0, 0, 0, 0.08); -webkit-transform: translateY(-2px); transform: translateY(-2px); } #page-pwa .panel { padding: 8rem 4rem; } #page-pwa .panel__header { margin-bottom: 6rem; text-align: center; } #page-pwa .panel .container { max-width: 1140px; } #page-pwa .cta, #page-pwa .panel { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-pwa .cta { background-image: url("/img/pwa/pwa-hero.jpg"); background-position: center center; background-size: cover; padding: 16rem 0; text-align: center; } @media screen and (max-width: 767px) { #page-pwa .cta { margin-top: 0; padding-bottom: calc(16rem - 70px); } } #page-pwa .cta h1 { font-size: 3.45em; letter-spacing: -0.02em; } @media screen and (max-width: 767px) { #page-pwa .cta h1 { font-size: 3em; } } #page-pwa .cta .eyebrow { font-size: 1.4rem; letter-spacing: 0.2em; } #page-pwa .cta .lede { color: #cfe1fa; } #page-pwa .cta .lede > strong { color: white; font-weight: inherit; } #page-pwa .features { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; list-style: none; margin: 0 auto; max-width: 100rem; padding: 0; text-align: center; } #page-pwa .features > li { -ms-flex: 0 0 25%; flex: 0 0 25%; padding: 2%; } @media screen and (max-width: 767px) { #page-pwa .features > li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } #page-pwa .features h4 { font-size: 1.15em; font-weight: 600; } #page-pwa .features p { color: #748196; font-size: 0.925em; font-weight: 600; } #page-pwa .features__icon { background-image: url("/img/pwa/pwa-feature-icons.png"); background-position: top left; background-size: 100%; height: 48px; margin: 0 auto 2rem; width: 48px; } #page-pwa .features__icon--reliable { background-position-y: 0; } #page-pwa .features__icon--fast { background-position-y: -48px; } #page-pwa .features__icon--accessible { background-position-y: -96px; } #page-pwa .features__icon--web-based { background-position-y: -144px; } #page-pwa .features__icon--discoverable { background-position-y: -192px; } #page-pwa .features__icon--small { background-position-y: -240px; } #page-pwa .features__icon--instant { background-position-y: -288px; } #page-pwa .features__icon--simple { background-position-y: -336px; } @media screen and (min-width: 992px) { #page-pwa .features > li:hover p, #page-pwa .features > li:hover h4, #page-pwa .features > li:hover .features__icon { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } #page-pwa .features h4, #page-pwa .features p, #page-pwa .features__icon { -webkit-transform: translateY(20px); transform: translateY(20px); transition: -webkit-transform 200ms cubic-bezier(0.175, 0.885, 0.32, 1.275); transition: transform 200ms cubic-bezier(0.175, 0.885, 0.32, 1.275); transition: transform 200ms cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 200ms cubic-bezier(0.175, 0.885, 0.32, 1.275); } #page-pwa .features p { opacity: 0; } } #page-pwa .examples { background-color: #f6f9fc; } @media screen and (max-width: 767px) { #page-pwa .examples.panel { padding-left: 1rem; padding-right: 1rem; } } #page-pwa .examples__list { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: center; justify-content: center; } #page-pwa .examples__list > .card { border-radius: 8px; box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.1); margin: 1rem; width: calc(1110px / 3 - 2rem); } #page-pwa .examples__list > .card:hover { box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1), 0 3px 6px rgba(0, 0, 0, 0.1); } @media screen and (max-width: 767px) { #page-pwa .examples__list > .card { margin-left: 0; margin-right: 0; } } #page-pwa .example { background-position: center center; background-size: cover; border-radius: 8px; color: rgba(255, 255, 255, 0.8); font-weight: 600; height: 0; padding-bottom: 88%; position: relative; } #page-pwa .example.starbucks { background-image: url("/img/pwa/pwa-starbucks-bg.jpg"); } #page-pwa .example.pinterest { background-image: url("/img/pwa/pwa-pinterest-bg.jpg"); } #page-pwa .example.uber { background-image: url("/img/pwa/pwa-uber-bg.jpg"); } #page-pwa .example.lyft { background-image: url("/img/pwa/pwa-lyft-bg.jpg"); } #page-pwa .example.twitter { background-image: url("/img/pwa/pwa-twitter-bg.jpg"); } #page-pwa .example.forbes { background-image: url("/img/pwa/pwa-forbes-bg.jpg"); } #page-pwa .example__content { bottom: 0; height: 46.875%; left: 0; padding: 1.4em; position: absolute; right: 0; } #page-pwa .example__content img { height: 40px; margin-bottom: 1em; } #page-pwa .library > .container > section { padding-left: 2rem; } #page-pwa .library__list h4 { font-size: 16px; font-weight: 600; } #page-pwa .library__list p { color: #748196; font-size: 13px; font-weight: 600; } #page-pwa .library__list a { color: inherit; } #page-pwa .library__list a:focus { text-decoration: none; } #page-pwa .library__list { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; list-style: none; margin: 2em 0 4em 0; padding: 0; } #page-pwa .library__list > li { -ms-flex: 0 0 25%; flex: 0 0 25%; padding-bottom: 2rem; padding-right: 2rem; } @media screen and (max-width: 1219px) { #page-pwa .library__list > li { -ms-flex: 0 0 33.33%; flex: 0 0 33.33%; } } @media screen and (max-width: 991px) { #page-pwa .library__list > li { -ms-flex: 0 0 50%; flex: 0 0 50%; } } @media screen and (max-width: 767px) { #page-pwa .library__list > li { -ms-flex: 0 0 100%; flex: 0 0 100%; padding-right: 0; } } #page-pwa .library__list .card { height: 100%; margin-left: auto; margin-right: auto; } @media screen and (max-width: 767px) { #page-pwa .library__list .card { max-width: 260px; } } @media screen and (max-width: 767px) { #page-pwa .library .eyebrow { text-align: center; } } #docs-page-resources-index main h1.banner { height: 178px; background: no-repeat center top url("/img/docs/resources/resources-header-img.jpg"); background-size: cover; color: white; text-align: center; position: relative; padding-top: 92px; margin-top: -50px; margin-left: -40px; margin-right: -40px; padding-bottom: 150px; padding-left: 50px; font-size: 36px; text-transform: uppercase; letter-spacing: 14px; font-weight: 500; overflow: hidden; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); } @media (max-width: 420px) { #docs-page-resources-index main h1.banner { letter-spacing: 4px; } } #docs-page-resources-index main h1.banner .bg { background: no-repeat center center; position: absolute; padding-top: 92px; top: 0; left: 0; right: 0; bottom: 0; opacity: 0; -webkit-transform: scale(1.01, 1.01); transform: scale(1.01, 1.01); -webkit-transform-origin: top center; transform-origin: top center; transition: .3s transform, .3s opacity; } #docs-page-resources-index main h1.banner .bg::before { background: no-repeat center top url("/img/docs/resources/resources-header-icon.png"); background-size: 60px; height: 60px; width: 60px; content: ''; display: inline-block; vertical-align: middle; position: relative; top: -5px; margin-right: 20px; } @media (max-width: 420px) { #docs-page-resources-index main h1.banner .bg::before { margin-right: 5px; } } #docs-page-resources-index main h1.banner .bg.active { opacity: 1; -webkit-transform: scale(1, 1); transform: scale(1, 1); } #docs-page-resources-index main h1.banner .bg.videos { background-image: url("/img/docs/resources/video.jpg"); background-size: cover; } #docs-page-resources-index main h1.banner .bg.books { background-image: url("/img/docs/resources/books.jpg"); background-size: cover; } #docs-page-resources-index main h1.banner .bg.courses { background-image: url("/img/docs/resources/courses.jpg"); background-size: cover; } #docs-page-resources-index main h1.banner .bg.guides { background-image: url("/img/docs/resources/guides.jpg"); background-size: cover; } #docs-page-resources-index main h1.banner .bg.community { background-image: url("/img/docs/resources/community.jpg"); background-size: cover; } #docs-page-resources-index main h1.banner .bg.tools { background-image: url("/img/docs/resources/tools.jpg"); background-size: cover; } #docs-page-resources-index main h2 { text-align: center; font-size: 32px; } #docs-page-resources-index main form { max-width: 722px; margin: 0 auto; position: relative; margin-bottom: 40px; } #docs-page-resources-index main form input { border-radius: 50px; padding: 18px 5px 17px 59px; font-size: 16px; height: 56px; } #docs-page-resources-index main form input::-webkit-input-placeholder { color: #9da5b3; font-weight: 300; } #docs-page-resources-index main form input::-moz-placeholder { color: #9da5b3; font-weight: 300; } #docs-page-resources-index main form input::placeholder { color: #9da5b3; font-weight: 300; } #docs-page-resources-index main form::before { content: '\f20a'; font-family: 'Ionicons'; position: absolute; left: 25px; font-size: 26px; top: 10px; color: #9da5b3; font-weight: 300; } #docs-page-resources-index main .sections { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; position: relative; padding-top: 50px; } #docs-page-resources-index main .sections.filtered section:not(.active) { width: 0; opacity: 0; padding-left: 0; padding-bottom: 0; -webkit-transform-origin: left center; transform-origin: left center; } #docs-page-resources-index main .sections.filtered section.active { width: 100%; } #docs-page-resources-index main .sections.filtered .show-all { color: #4a8bfc; top: 20px; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); transition: .5s color, .5s transform ease-in-out, .5 top step-end; } #docs-page-resources-index main .sections .show-all { font-size: 13px; color: transparent; text-transform: uppercase; font-weight: 700; letter-spacing: .1em; position: absolute; top: -900px; right: 0; cursor: pointer; -webkit-transform: translate3d(0, -15px, 0); transform: translate3d(0, -15px, 0); transition: .5s color, .5s transform ease-in-out, .5 top step-end; } #docs-page-resources-index main .sections .show-all.active { color: #4a8bfc; } #docs-page-resources-index main .sections .show-all:hover { color: #317bfc; } #docs-page-resources-index main .sections section { width: 325px; padding-left: 68px; padding-bottom: 50px; position: relative; overflow: visible; transition: .3s transform, .3s width, .3s opacity, .3s padding-left, .3s height, .3s padding-bottom; } #docs-page-resources-index main .sections section::before { background: no-repeat center top url("/img/docs/resources/resources-icons.png?1"); background-size: 32px; height: 32px; width: 32px; content: ''; position: absolute; left: 15px; top: 0; } #docs-page-resources-index main .sections section.guides::before { background-position: center -32px; } #docs-page-resources-index main .sections section.tools::before { background-position: center -64px; } #docs-page-resources-index main .sections section.community::before { background-position: center -96px; } #docs-page-resources-index main .sections section.books::before { background-position: center -128px; } #docs-page-resources-index main .sections section.courses::before { background-position: center -160px; } #docs-page-resources-index main .sections h3 { text-transform: uppercase; font-size: 15px; margin-bottom: 40px; margin-top: 6px; cursor: pointer; font-weight: 600; letter-spacing: 0.1em; } #docs-page-resources-index main .sections ul { padding: 0; } #docs-page-resources-index main .sections li { padding-bottom: 25px; list-style: none; width: 300px; margin-right: 25px; display: inline-block; vertical-align: top; } #docs-page-resources-index main .sections li a { font-size: 14px; font-weight: 500; } #docs-page-resources-index main .sections li p { font-size: 13px; margin-top: 0; } #page-sales { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-sales .hero { padding-top: 60px; padding-bottom: 0; max-width: 760px; margin-left: auto; margin-right: auto; text-align: center; } #page-sales .hero h1 { font-size: 36px; font-weight: 700; letter-spacing: -0.03em; margin-bottom: 8px; } #page-sales .hero p { font-size: 20px; font-weight: 500; } #page-sales .hubspot-override { max-width: 860px; margin-top: 40px; margin-bottom: 120px; margin-left: auto; margin-right: auto; } @media (max-width: 768px) { #page-sales .hubspot-override { margin-bottom: 60px; } } #page-startups main { color: #161a1f; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; font-weight: 600; } #page-startups .btn { font-size: 16px; font-weight: 700; padding: 12px 20px; } #page-startups .btn--secondary { background-color: #102242; } #page-startups .cta { background-color: transparent; color: inherit; padding-bottom: 60px; padding-top: 120px; text-align: center; } @media (max-width: 768px) { #page-startups .cta { padding-top: 140px; } } #page-startups .cta h1 { font-size: 48px; font-weight: 700; letter-spacing: -0.02em; } #page-startups .cta p { color: #2f3744; font-size: 18px; margin: 1em auto 1.5em; max-width: 720px; } #page-startups .video { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; padding: 1em 1em 2em; position: relative; z-index: 1; } #page-startups .video-player { max-width: 900px; width: 100%; position: relative; z-index: 2; } #page-startups .video-player:hover { cursor: pointer; } #page-startups .video-player:not(.is-playing):hover .video-player-frame { -webkit-transform: scale(0.99); transform: scale(0.99); } #page-startups .video-player:not(.is-playing):hover .video-player-button { -webkit-transform: translate(-50%, -50%) scale(1.1); transform: translate(-50%, -50%) scale(1.1); } #page-startups .video-player.is-ready .video-player-button { display: block; } #page-startups .video-player.is-playing .video-player-button { display: none; } #page-startups .video-player-button { display: none; left: 50%; position: absolute; top: 50%; -webkit-transform: translate(-50%, -50%) scale(1); transform: translate(-50%, -50%) scale(1); transition: -webkit-transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275); transition: transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275); transition: transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275); width: 120px; z-index: 1; } #page-startups .video-player-frame { background-image: url("/img/startups/startups-video-poster.jpg"); background-position: center center; background-repeat: no-repeat; background-size: contain; border-radius: 20px; box-shadow: 0 8px 16px rgba(0, 14, 41, 0.08), 0 30px 60px rgba(0, 11, 34, 0.15); height: 0; overflow: hidden; padding-bottom: 56.25%; position: relative; -webkit-transform: scale(1); transform: scale(1); transition: -webkit-transform 400ms cubic-bezier(0.19, 1, 0.22, 1); transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1); transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 400ms cubic-bezier(0.19, 1, 0.22, 1); } #page-startups .video-player-frame > iframe { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } #page-startups .video-footer { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; max-width: 900px; margin: 0 auto 60px; padding: 1em; position: relative; } #page-startups .video-footer:before { background-color: #e8ebf1; content: ""; height: 50%; left: 50%; position: absolute; top: 25%; width: 1px; } @media (max-width: 768px) { #page-startups .video-footer { -ms-flex-direction: column; flex-direction: column; margin-bottom: 0; text-align: center; } #page-startups .video-footer:before { display: none; } } #page-startups .video-footer > * { -ms-flex: 1; flex: 1; } #page-startups .video-footer > *:first-child { margin-right: 3em; } #page-startups .video-footer > *:last-child { margin-left: 3em; } @media (max-width: 768px) { #page-startups .video-footer > *:first-child, #page-startups .video-footer > *:last-child { margin-left: 0; margin-right: 0; } } #page-startups .video-footer > p { font-size: 20px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.5; } #page-startups .video-footer > blockquote { border: none; font-size: 14px; margin: 0; padding: 0; } @media (max-width: 768px) { #page-startups .video-footer > blockquote { margin: 1em 0 0 0; } } #page-startups .video-footer > blockquote small { color: #788497; display: block; margin-top: 1.5em; text-align: right; } #page-startups .video-footer > blockquote small:before { display: none; } #page-startups .video-footer > blockquote small > span { margin-left: 0.5em; opacity: 0.5; } @media (max-width: 768px) { #page-startups .video-footer > blockquote small { text-align: center; } } #page-startups .section-header { color: #2f3744; font-size: 20px; letter-spacing: -0.02em; margin-bottom: 4em; margin-top: 4em; max-width: 32em; } #page-startups .section-header h2 { color: #24282e; font-size: 1.8em; font-weight: 700; margin-bottom: 0.65em; } #page-startups .oss .section-header h2 span, #page-startups .pro .section-header h2 span { border-bottom: solid 4px #24282e; } #page-startups .feature { display: -ms-flexbox; display: flex; font-size: 16px; font-weight: 600; letter-spacing: -0.01em; } #page-startups .feature__icon { background-image: url("/img/startups/startups-feature-icons.png"); background-position: top; background-repeat: no-repeat; background-size: 100%; display: block; -ms-flex: 0 0 48px; flex: 0 0 48px; height: 48px; margin-right: 2em; width: 48px; } #page-startups .feature__icon.dazzle { background-position-y: 0; } #page-startups .feature__icon.speed { background-position-y: -48px; } #page-startups .feature__icon.takeoff { background-position-y: -96px; } #page-startups .feature__icon.platforms { background-position-y: -144px; } #page-startups .feature__icon.native { background-position-y: -192px; } #page-startups .feature__icon.worldwide { background-position-y: -240px; } #page-startups .feature__icon.deploy { background-position-y: -288px; } #page-startups .feature__icon.compile { background-position-y: -336px; } #page-startups .feature__icon.monitor { background-position-y: -384px; } #page-startups .feature__text strong { display: block; font-size: 1.25em; margin-bottom: 0.75em; } #page-startups .feature__text p { color: #788497; line-height: 1.65; } #page-startups .feature-list { list-style: none; margin: 0; padding: 0; } #page-startups .feature-list > li:not(:last-child) { margin-bottom: 2em; } #page-startups .app-showcase { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; } #page-startups .app-showcase__image { width: 100%; } #page-startups .app-showcase__icon { width: 93px; margin-right: 1em; } #page-startups .app-showcase__footer { -ms-flex-align: center; align-items: center; display: -ms-inline-flexbox; display: inline-flex; font-size: 16px; font-weight: 700; letter-spacing: -0.01em; padding: 1em; } #page-startups .app-showcase__footer blockquote { border-left: none; margin-bottom: 0.75em; padding: 0; } #page-startups .app-showcase__footer small { display: block; font-weight: 600; text-align: right; } #page-startups .app-showcase__footer small > span { opacity: 0.5; } @media (min-width: 768px) { #page-startups .key-benefits .feature-list { display: -ms-flexbox; display: flex; } #page-startups .key-benefits .feature-list > li { -ms-flex: 1; flex: 1; padding-right: 3em; } #page-startups .key-benefits .feature { -ms-flex-direction: column; flex-direction: column; } #page-startups .key-benefits .feature__icon { margin-bottom: 1.25em; } } #page-startups .oss, #page-startups .pro { padding-bottom: 100px; } #page-startups .oss .container, #page-startups .pro .container { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } @media (max-width: 768px) { #page-startups .oss .container, #page-startups .pro .container { -ms-flex-direction: column; flex-direction: column; } } #page-startups .oss .app-showcase, #page-startups .pro .app-showcase { margin: auto 10%; max-width: 860px; padding-top: 100px; } @media (min-width: 768px) { #page-startups .oss .app-showcase { margin-left: 0; margin-right: 80px; } } @media (min-width: 768px) { #page-startups .pro .app-showcase { -ms-flex-order: 1; order: 1; margin-left: 80px; margin-right: 0; } } #page-startups .pro .feature__text strong { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; } @media (min-width: 1220px) { #page-startups .pro .feature__text strong { -ms-flex-align: center; align-items: center; -ms-flex-direction: row; flex-direction: row; -ms-flex-pack: justify; justify-content: space-between; } } #page-startups .pro .feature__text strong a { font-size: 0.55em; letter-spacing: 0.05em; margin-top: 0.5em; text-transform: uppercase; } @media (min-width: 1220px) { #page-startups .pro .feature__text strong a { margin-top: 0; } } #page-startups section.resources { padding-bottom: 100px; } #page-startups .resource-card { background-color: #383d3f; border-radius: 16px; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.08); color: #ffffff; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; font-size: 20px; font-weight: 700; min-height: 255px; padding: 26px; -webkit-transform: translateY(0); transform: translateY(0); transition: box-shadow 250ms ease, -webkit-transform 200ms ease; transition: box-shadow 250ms ease, transform 200ms ease; transition: box-shadow 250ms ease, transform 200ms ease, -webkit-transform 200ms ease; width: 255px; } #page-startups .resource-card:focus { text-decoration: none; } #page-startups .resource-card:hover { box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1); -webkit-transform: translateY(-1px); transform: translateY(-1px); } #page-startups .resource-card__eyebrow { color: rgba(255, 255, 255, 0.5); font-size: 0.5em; letter-spacing: 0.15em; text-transform: uppercase; } #page-startups .resource-card__title { letter-spacing: -0.015em; line-height: 1.3; margin: 0.5em 0; } #page-startups .resource-card__cta { font-size: 0.7em; letter-spacing: 0.15em; margin-top: auto; text-transform: uppercase; } #page-startups .resource-card-list { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } #page-startups .resource-card-list .resource-card { margin: 0 1.5em 1.5em 0; } #page-startups .resource-card-list .resource-card:nth-child(1) { background-color: #ff6644; } #page-startups .resource-card-list .resource-card:nth-child(2) { background-color: #033f80; } #page-startups .resource-card-list .resource-card:nth-child(3) { background-color: #ffbf69; } #page-startups .resource-card-list .resource-card:nth-child(4) { background-color: #846ac2; } #page-startups .resource-card-list .resource-card:nth-child(5) { background-color: #0e8efb; } #page-startups .resource-card-list .resource-card:nth-child(6) { background-color: #003953; } #page-startups .resource-card-list .resource-card:nth-child(7) { background-color: #44bcc0; } @media (max-width: 768px) { #page-startups .resource-card-list { -ms-flex-pack: center; justify-content: center; } #page-startups .resource-card-list .resource-card { margin: 0 0.5em 1em; } } #page-startups .quotes { color: #ffffff; display: -ms-flexbox; display: flex; font-size: 20px; font-weight: 700; letter-spacing: -0.01em; } @media (max-width: 768px) { #page-startups .quotes { -ms-flex-direction: column; flex-direction: column; } } #page-startups .quotes__content { max-width: 490px; position: relative; } #page-startups .quotes__quote { display: -ms-flexbox; display: flex; -ms-flex: 1; flex: 1; padding: 80px; } @media (max-width: 480px) { #page-startups .quotes__quote { padding: 40px; } } @media (min-width: 768px) { #page-startups .quotes__quote:first-child { -ms-flex-pack: end; justify-content: flex-end; } } #page-startups .quotes__quote.joule { background-color: #ff674d; } #page-startups .quotes__quote.comichaus { background-color: #e8ebf1; color: #24282e; } #page-startups .quotes__quote.pacifica { background-color: #4edab1; } #page-startups .quotes__quote.natural-cycles { background-color: #7545f0; } #page-startups .quotes__logo { background-image: url("/img/startups/startups-quote-logos.png"); background-position: top; background-size: 100%; background-repeat: no-repeat; display: block; height: 40px; margin-bottom: 2em; width: 160px; } #page-startups .quotes__logo.joule { background-position-y: 0; } #page-startups .quotes__logo.comichaus { background-position-y: -40px; } #page-startups .quotes__logo.pacifica { background-position-y: -80px; } #page-startups .quotes__logo.natural-cycles { background-position-y: -120px; } #page-startups .quotes blockquote { border: none; font-size: inherit; line-height: 1.5; margin: 0; padding: 0; } #page-startups .quotes blockquote > small { color: inherit; font-weight: 600; margin-top: 2em; text-align: right; } #page-startups .quotes blockquote > small > span { opacity: 0.5; padding-left: 0.5em; } #page-startups .quotes blockquote > small:before { display: none; } #page-startups .get-started { background-image: linear-gradient(90deg, #3880ff, #67c0ff); padding: 80px 0; } #page-startups .get-started .container { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; } #page-startups .get-started .container:after, #page-startups .get-started .container:before { display: none; } @media (max-width: 1220px) { #page-startups .get-started .container { -ms-flex-direction: column; flex-direction: column; text-align: center; } } #page-startups .get-started .btn { margin: 0.35em; } #page-startups .get-started .btn--secondary { background-color: #0078ff; } #page-startups .get-started h2, #page-startups .get-started p { font-weight: 600; letter-spacing: -0.02em; } #page-startups .get-started h2 { color: #ffffff; font-size: 28px; } #page-startups .get-started p { color: #003e82; font-size: 20px; } @media (max-width: 1220px) { #page-startups .get-started p { margin-bottom: 1em; } } #page-what-is-ionic .banner, #page-what-is-ionic main { font-family: "Inter", "Inter UI", Helvetica, Arial, sans-serif; } #page-what-is-ionic .banner h1, #page-what-is-ionic .banner h2, #page-what-is-ionic .banner h3, #page-what-is-ionic .banner h4, #page-what-is-ionic main h1, #page-what-is-ionic main h2, #page-what-is-ionic main h3, #page-what-is-ionic main h4 { font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; } #page-what-is-ionic .banner { max-width: 800px; padding-top: 72px; padding-bottom: 150px; } #page-what-is-ionic .banner h1 { padding-top: 80px; font-size: 40px; line-height: 52px; letter-spacing: -.008em; font-weight: 700; background: url("/img/what-is-ionic/ionic-icon.png") no-repeat 50% 0; background-size: 48px; color: #0f1622; } #page-what-is-ionic main a { text-decoration: none; transition: .2s opacity; } #page-what-is-ionic main a:hover { color: #4a8bfc; opacity: .8; } #page-what-is-ionic main section { padding-top: 200px; padding-bottom: 200px; } #page-what-is-ionic main .container { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; max-width: 980px; } #page-what-is-ionic main .container::before, #page-what-is-ionic main .container::after { display: none; } #page-what-is-ionic main .graphic { display: block; } #page-what-is-ionic main .left .graphic { margin-left: 104px; } #page-what-is-ionic main .right .graphic { margin-right: 104px; } #page-what-is-ionic main .content { -ms-flex: 1; flex: 1; } #page-what-is-ionic main .center .container { -ms-flex-direction: column; flex-direction: column; text-align: center; max-width: 680px; } #page-what-is-ionic main h2 { font-size: 35px; line-height: 47px; font-weight: 700; letter-spacing: -.008em; margin-bottom: 20px; margin-top: 0; color: #0f1622; } #page-what-is-ionic main p { font-size: 20px; line-height: 36px; letter-spacing: -.02em; margin-bottom: 32px; } #page-what-is-ionic main p.sm { font-size: 15px; line-height: 32px; letter-spacing: .01em; } #page-what-is-ionic main p:last-child { margin-bottom: 0; } #page-what-is-ionic main .what { background: linear-gradient(to bottom, #f7f9fc, #fdfefe); padding-bottom: 88px; } #page-what-is-ionic main .what .content { padding-bottom: 134px; } @media (max-width: 991px) { #page-what-is-ionic main .what .content { padding-bottom: 20px; } } #page-what-is-ionic main .what .graphic img { margin-right: -50px; margin-top: -20px; } #page-what-is-ionic main .what ul { padding: 0; display: -ms-flexbox; display: flex; margin-top: 43px; margin-bottom: 0; } #page-what-is-ionic main .what li { list-style: none; background: url("/img/what-is-ionic/web-icons.png") no-repeat 0 0; background-size: 40px; width: 40px; height: 40px; margin-right: 22px; } #page-what-is-ionic main .what li.css { background-position: 0 -40px; } #page-what-is-ionic main .what li.js { background-position: 0 -80px; } #page-what-is-ionic main .kit { background: linear-gradient(to bottom, #f7f9fb, #fefefe); padding-bottom: 190px; } #page-what-is-ionic main .kit .graphic { margin-right: 68px; } #page-what-is-ionic main .kit .content { margin-bottom: 8px; } #page-what-is-ionic main .teams { background: linear-gradient(to bottom, #f8f9fb, #fefefe); padding-top: 183px; padding-bottom: 176px; } #page-what-is-ionic main .teams .graphic { margin-right: -65px; padding-top: 34px; padding-left: 1px; } #page-what-is-ionic main .teams ion-icon { font-size: .9em; vertical-align: -7%; margin-left: -2px; } #page-what-is-ionic main .global { background-image: url("/img/what-is-ionic/community-bg.png"), linear-gradient(to bottom, #f7f9fc, #fefefe); background-size: cover, 100%; background-repeat: no-repeat; background-position: 50% 0; padding-top: 204px; padding-bottom: 198px; } #page-what-is-ionic main .global .content { margin-top: -10px; } #page-what-is-ionic main .global .graphic { margin-left: -12px; margin-right: 124px; } @media (max-width: 991px) { #page-what-is-ionic main .global .graphic { margin-right: 24px; } } #page-what-is-ionic main .global ul { padding: 0; margin: 0; } #page-what-is-ionic main .global li { list-style: none; position: relative; display: block; padding-left: 108px; margin: 57px 0; } #page-what-is-ionic main .global li::before { background: url("/img/what-is-ionic/community-icons.png") no-repeat 0 0; background-size: 88px; height: 88px; width: 88px; content: ''; position: absolute; top: calc(50% - 44px); left: 0; } #page-what-is-ionic main .global li:first-child { margin-top: 0; } #page-what-is-ionic main .global li:last-child { margin-bottom: 0; } #page-what-is-ionic main .global li strong { color: #3880ff; font-size: 34px; font-weight: 600; display: block; font-family: "Eina", "Helvetica Neue", Helvetica, sans-serif; line-height: 33px; } #page-what-is-ionic main .global li span { color: #68b4ff; font-size: 19px; } #page-what-is-ionic main .global li:nth-child(2)::before { background-position: 0 -88px; } #page-what-is-ionic main .global li:nth-child(3)::before { background-position: 0 -176px; } #page-what-is-ionic main .global li:nth-child(4)::before { background-position: 0 -264px; } #page-what-is-ionic main .web { background-image: url("/img/what-is-ionic/philosophy-bg.png"), linear-gradient(to bottom, #f7f9fc, #fefefe); background-size: cover, 100%; background-repeat: no-repeat; background-position: 50% 0; padding-bottom: 190px; } #page-what-is-ionic main .web h4 { text-transform: uppercase; font-size: 12px; font-weight: 700; letter-spacing: .14em; margin-top: 0; margin-bottom: 24px; color: #0f1622; } @media (max-width: 991px) { #page-what-is-ionic main img { max-width: 320px; } #page-what-is-ionic main .left .graphic { margin-left: 20px; } } @media (max-width: 767px) { #page-what-is-ionic .banner { padding-bottom: 64px; } #page-what-is-ionic main .graphic { margin: 0; } #page-what-is-ionic main section { padding-top: 96px; padding-bottom: 96px; } #page-what-is-ionic main section .container { -ms-flex-direction: column; flex-direction: column; } #page-what-is-ionic main section.left .container { -ms-flex-direction: column-reverse; flex-direction: column-reverse; } #page-what-is-ionic main .container { -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; text-align: center; } #page-what-is-ionic main .what .graphic { margin: 0; } #page-what-is-ionic main .what ul { -ms-flex-pack: center; justify-content: center; } #page-what-is-ionic main .kit { padding-bottom: 96px; } #page-what-is-ionic main .kit .graphic { margin: 0 0 42px; } #page-what-is-ionic main .teams { padding-top: 96px; padding-bottom: 96px; } #page-what-is-ionic main .teams .graphic { margin: 0; } #page-what-is-ionic main .global { padding-top: 96px; padding-bottom: 96px; } #page-what-is-ionic main .global .graphic { margin-bottom: 64px; } #page-what-is-ionic main .web { padding-bottom: 64px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCJpb25pY29ucy12My9faW9uaWNvbnMuc2NzcyIsIl9mb250cy5zY3NzIiwiaW9uaWNvbnMtdjMvX2lvbmljb25zLWljb25zLnNjc3MiLCJib290c3RyYXAvX25vcm1hbGl6ZS5zY3NzIiwiYm9vdHN0cmFwL19wcmludC5zY3NzIiwiYm9vdHN0cmFwL19nbHlwaGljb25zLnNjc3MiLCJib290c3RyYXAvX3NjYWZmb2xkaW5nLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL192ZW5kb3ItcHJlZml4ZXMuc2NzcyIsImJvb3RzdHJhcC9fdmFyaWFibGVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL190YWItZm9jdXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJib290c3RyYXAvX3R5cGUuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RleHQtb3ZlcmZsb3cuc2NzcyIsImJvb3RzdHJhcC9fY29kZS5zY3NzIiwiX3ZhcnMuc2NzcyIsImJvb3RzdHJhcC9fZ3JpZC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fZ3JpZC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsImJvb3RzdHJhcC9fdGFibGVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsImJvb3RzdHJhcC9fZm9ybXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2Zvcm1zLnNjc3MiLCJib290c3RyYXAvX2J1dHRvbnMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX29wYWNpdHkuc2NzcyIsImJvb3RzdHJhcC9fY29tcG9uZW50LWFuaW1hdGlvbnMuc2NzcyIsImJvb3RzdHJhcC9fZHJvcGRvd25zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzZXQtZmlsdGVyLnNjc3MiLCJib290c3RyYXAvX2J1dHRvbi1ncm91cHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsImJvb3RzdHJhcC9faW5wdXQtZ3JvdXBzLnNjc3MiLCJib290c3RyYXAvX25hdnMuc2NzcyIsImJvb3RzdHJhcC9fbmF2YmFyLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19uYXYtdmVydGljYWwtYWxpZ24uc2NzcyIsImJvb3RzdHJhcC9fYmFkZ2VzLnNjc3MiLCJib290c3RyYXAvX21vZGFscy5zY3NzIiwiYm9vdHN0cmFwL190b29sdGlwLnNjc3MiLCJib290c3RyYXAvX3V0aWxpdGllcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fY2VudGVyLWJsb2NrLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19oaWRlLXRleHQuc2NzcyIsImJvb3RzdHJhcC9fcmVzcG9uc2l2ZS11dGlsaXRpZXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3Jlc3BvbnNpdmUtdmlzaWJpbGl0eS5zY3NzIiwicHlnbWVudHMvaW9uaWMuc2NzcyIsIl9obGpzLnNjc3MiLCJfdHlwb2dyYXBoeS5zY3NzIiwiX2FuaW1hdGlvbnMuc2NzcyIsImNvbXBvbmVudHMvX2Jhbm5lci5zY3NzIiwiY29tcG9uZW50cy9fYmFyLnNjc3MiLCJjb21wb25lbnRzL19iYXItY2hhcnQuc2NzcyIsImNvbXBvbmVudHMvX2NoZWNrbWFyay1saXN0LnNjc3MiLCJjb21wb25lbnRzL19mb3JtLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2h1YnNwb3RfZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fc3ViX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9faGVyby5zY3NzIiwiY29tcG9uZW50cy9fY3RhLnNjc3MiLCJjb21wb25lbnRzL19wcmVfZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19wcmUtaGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX3V0aWxzLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19kcmFnZ2FibGUuc2NzcyIsImNvbXBvbmVudHMvX2pxdWVyeV9VSS5zY3NzIiwiY29tcG9uZW50cy9fYWxlcnQuc2NzcyIsImNvbXBvbmVudHMvX3NpZGVfbmF2LnNjc3MiLCJjb21wb25lbnRzL190YWJsZXMuc2NzcyIsImNvbXBvbmVudHMvX3RvYy5zY3NzIiwiY29tcG9uZW50cy9fZG9jc19jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL19wcm9fZG9jc19jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL19wcm9tby5zY3NzIiwiY29tcG9uZW50cy9fbW9iaWxlLW5hdi5zY3NzIiwiY29tcG9uZW50cy9fcmVzcG9uc2l2ZV9kb2NzLnNjc3MiLCJjb21wb25lbnRzL19yZXNvdXJjZS1jYXJkLnNjc3MiLCJjb21wb25lbnRzL19tb2RhbC5zY3NzIiwiY29tcG9uZW50cy9fc2l0ZS1zZWFyY2guc2NzcyIsImNvbXBvbmVudHMvX3NuYXBfYmFyLnNjc3MiLCJjb21wb25lbnRzL19zb2NpYWxfc2hhcmVfc2lkZWJhci5zY3NzIiwiY29tcG9uZW50cy9fdGFicy5zY3NzIiwiY29tcG9uZW50cy9fdGFnLnNjc3MiLCJjb21wb25lbnRzL190ZXN0aW1vbmlhbC1zbGlkZXMuc2NzcyIsImNvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsImNvbXBvbmVudHMvX3RpcHB5LnNjc3MiLCJfZ2VuZXJhbC5zY3NzIiwicGFnZXMvXzQwNC5zY3NzIiwicGFnZXMvYXJ0aWNsZXMvX3doeS1oeWJyaWQuc2NzcyIsInBhZ2VzL2Jvb2tzL19oeWJyaWQtdnMtbmF0aXZlLnNjc3MiLCJwYWdlcy9ib29rcy9fcHJldmlldy5zY3NzIiwicGFnZXMvX2NvbW11bml0eS5zY3NzIiwiX21peGlucy5zY3NzIiwicGFnZXMvX2NvbnRyaWJ1dG9ycy5zY3NzIiwicGFnZXMvX2RlbW8uc2NzcyIsInBhZ2VzL2VudGVycHJpc2UvX2lkZW50aXR5LXZhdWx0LnNjc3MiLCJwYWdlcy9lbnRlcnByaXNlL190cmFpbmluZy5zY3NzIiwicGFnZXMvX2dldHRpbmctc3RhcnRlZC5zY3NzIiwicGFnZXMvZ28vX3B3YS1hcmNoaXRlY3RzLWd1aWRlLnNjc3MiLCJwYWdlcy9nby9fd2h5LWh5YnJpZC5zY3NzIiwicGFnZXMvaG9tZS5zY3NzIiwicGFnZXMvcHJlc3MvX3JlbGVhc2Uuc2NzcyIsInBhZ2VzL3Byby9fY29udGFjdC5zY3NzIiwicGFnZXMvcHJvL19kZXBsb3kuc2NzcyIsInBhZ2VzL3Byby9fZ2VuZXJhbC5zY3NzIiwicGFnZXMvcHJvL19tb25pdG9yLnNjc3MiLCJwYWdlcy9wcm8vX3BhY2thZ2Uuc2NzcyIsInBhZ2VzL3Byby9fdGVhbXMuc2NzcyIsInBhZ2VzL3B3YS9faW5kZXguc2NzcyIsInBhZ2VzL19yZXNvdXJjZXMuc2NzcyIsInBhZ2VzL19zYWxlcy5zY3NzIiwicGFnZXMvX3N0YXJ0dXBzLnNjc3MiLCJwYWdlcy9fd2hhdC1pcy1pb25pYy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0NqQjs7Ozs7Ozs7OztFQVVFO0FDWEYsbUVBQVk7QURnQlo7RUFDQyx3QkFBdUI7RUFDdkIsa0RBQXFFO0VBQ3JFLHdWQUl5RjtFQUN6RixvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQUE7O0FBR25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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bkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQVNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFDbkU7RUFBK0MsaUJBQWdCLEVBQUk7O0FBQ25FO0VBQStDLGlCQUFnQixFQUFJOztBQUNuRTtFQUErQyxpQkFBZ0IsRUFBSTs7QUFD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O0VBQ0UsV0FBMkMsRUFDNUM7O0FBRkQ7RUFDRSxzQkFBMkMsRUFDNUM7O0FBRkQ7RUFDRSxzQkFBMkMsRUFDNUM7O0FBRkQ7RUFDRSxXQUEyQyxFQUM1Qzs7QUFGRDtFQUNFLHNCQUEyQyxFQUM1Qzs7QUFGRDtFQUNFLHNCQUEyQyxFQUM1Qzs7QUFGRDtFQUNFLFlBQTJDLEVBQzVDOztBQVBEO0VBQ0UsV0FBVSxFQUNYOztBQVBEO0VBQ0Usb0JBQTBDLEVBQzNDOztBQUZEO0VBQ0UscUJBQTBDLEVBQzNDOztBQUZEO0VBQ0UsVUFBMEMsRUFDM0M7O0FBRkQ7RUFDRSxxQkFBMEMsRUFDM0M7O0FBRkQ7RUFDRSxxQkFBMEMsRUFDM0M7O0FBRkQ7RUFDRSxVQUEwQyxFQUMzQzs7QUFGRDtFQUNFLHFCQUEwQyxFQUMzQzs7QUFGRDtFQUNFLHFCQUEwQyxFQUMzQzs7QUFGRDtFQUNFLFVBQTBDLEVBQzNDOztBQUZEO0VBQ0UscUJBQTBDLEVBQzNDOztBQUZEO0VBQ0UscUJBQTBDLEVBQzNDOztBQUZEO0VBQ0UsV0FBMEMsRUFDM0M7O0FBa0JEO0VBQ0UsZ0JBQWlELEVBQ2xEOztBQUZEO0VBQ0UsMkJBQWlELEVBQ2xEOztBQUZEO0VBQ0UsNEJBQWlELEVBQ2xEOztBQUZEO0VBQ0UsaUJBQWlELEVBQ2xEOztBQUZEO0VBQ0UsNEJBQWlELEVBQ2xEOztBQUZEO0VBQ0UsNEJBQWlELEVBQ2xEOztBQUZEO0VBQ0UsaUJBQWlELEVBQ2xEOztBQUZEO0VBQ0UsNEJBQWlELEVBQ2xEOztBQUZEO0VBQ0UsNEJBQWlELEVBQ2xEOztBQUZEO0VBQ0UsaUJBQWlELEVBQ2xEOztBQUZEO0VBQ0UsNEJBQWlELEVBQ2xEOztBQUZEO0VBQ0UsNEJBQWlELEVBQ2xEOztBQUZEO0VBQ0Usa0JBQWlELEVBQ2xEOztBRkVMO0VFckNFO0lBQ0UsWUFBVyxFQUNaO0VBTUM7SUFDRSxxQkFBMkMsRUFDNUM7RUFGRDtJQUNFLHNCQUEyQyxFQUM1QztFQUZEO0lBQ0UsV0FBMkMsRUFDNUM7RUFGRDtJQUNFLHNCQUEyQyxFQUM1QztFQUZE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Q2hCLGlCQUFxRCxFQU90RDtFQWJEOzs7OztJQVVJLGdCQUFlO0lBQ2YsaUJBQWdCLEVBQ2pCOztBQy9PRDs7O0VBQ0UsYWhCNkkrRztFZ0I1SS9HLGtCaEI2QjRCO0VnQjVCNUIsZ0JoQnBCb0Q7RWdCcUJwRCxpQmhCaUMyQjtFZ0JoQzNCLG1CaEJvQzJCLEVnQm5DNUI7O0FBRUQ7OztFQUNFLGFoQnFJK0c7RWdCcEkvRyxrQmhCb0krRyxFZ0JuSWhIOztBQUVEOzs7Ozs7O0VBRUUsYUFBWSxFQUNiOztBQWhCRDtFQUNFLGFoQjZJK0c7RWdCNUkvRyxrQmhCNkI0QjtFZ0I1QjVCLGdCaEJwQm9EO0VnQnFCcEQsaUJoQmlDMkI7RWdCaEMzQixtQmhCb0MyQixFZ0JuQzVCOztBQUVEO0VBQ0UsYWhCcUkrRztFZ0JwSS9HLGtCaEJvSStHLEVnQm5JaEg7O0FBRUQ7O0VBRUUsYUFBWSxFQUNiOztBRDRPSDtFQUtJLGFmbkgrRztFZW9IL0csa0Jmbk80QjtFZW9PNUIsZ0JmcFJvRDtFZXFScEQsaUJmL04yQjtFZWdPM0IsaUJBQXNELEVBQ3ZEOztBQ3RRRDs7O0VBQ0UsYWhCMkk4RztFZ0IxSTlHLG1CaEIwQjRCO0VnQnpCNUIsZ0JoQnJCb0Q7RWdCc0JwRCx1QmhCZ0NpQztFZ0IvQmpDLG1CaEJtQzJCLEVnQmxDNUI7O0FBRUQ7OztFQUNFLGFoQm1JOEc7RWdCbEk5RyxrQmhCa0k4RyxFZ0JqSS9HOztBQUVEOzs7Ozs7O0VBRUUsYUFBWSxFQUNiOztBQWhCRDtFQUNFLGFoQjJJOEc7RWdCMUk5RyxtQmhCMEI0QjtFZ0J6QjVCLGdCaEJyQm9EO0VnQnNCcEQsdUJoQmdDaUM7RWdCL0JqQyxtQmhCbUMyQixFZ0JsQzVCOztBQUVEO0VBQ0UsYWhCbUk4RztFZ0JsSTlHLGtCaEJrSThHLEVnQmpJL0c7O0FBRUQ7O0VBRUUsYUFBWSxFQUNiOztBRDBQSDtFQUtJLGFmbkk4RztFZW9JOUcsbUJmcFA0QjtFZXFQNUIsZ0JmblNvRDtFZW9TcEQsdUJmOU9pQztFZStPakMsaUJBQXNELEVBQ3ZEOztBQVFIO0VBRUUsbUJBQWtCLEVBTW5CO0VBUkQ7SUFNSSxzQkFBMEMsRUFDM0M7O0FBR0g7RUFDRSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFNBQVE7RUFDUixXQUFVO0VBQ1YsZUFBYztFQUNkLFlmbEt5RjtFZW1LekYsYWZuS3lGO0Vlb0t6RixrQmZwS3lGO0VlcUt6RixtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBQUNEO0VBQ0UsWWZ2S2dIO0Vld0toSCxhZnhLZ0g7RWV5S2hILGtCZnpLZ0gsRWUwS2pIOztBQUNEO0VBQ0UsWWYxS2lIO0VlMktqSCxhZjNLaUg7RWU0S2pILGtCZjVLaUgsRWU2S2xIOztBQzFYQzs7Ozs7Ozs7OztFQVVFLGVoQmdlb0MsRWdCL2RyQzs7QUFFRDtFQUNFLHNCaEI0ZG9DO0VENWE5QixpRGlCL0M4QyxFQU1yRDtFQUxDO0lBQ0Usc0JBQXdDO0lqQjZDcEMsa0VpQjVDMEUsRUFFL0U7O0FBR0g7RUFDRSxlaEJrZG9DO0VnQmpkcEMsc0JoQmlkb0M7RWdCaGRwQywwQmhCaWRvQyxFZ0JoZHJDOztBQUVEO0VBQ0UsZWhCNGNvQyxFZ0IzY3JDOztBQS9CRDs7Ozs7Ozs7OztFQVVFLGVoQndlb0MsRWdCdmVyQzs7QUFFRDtFQUNFLHNCaEJvZW9DO0VEcGI5QixpRGlCL0M4QyxFQU1yRDtFQUxDO0lBQ0Usc0JBQXdDO0lqQjZDcEMsa0VpQjVDMEUsRUFFL0U7O0FBR0g7RUFDRSxlaEIwZG9DO0VnQnpkcEMsc0JoQnlkb0M7RWdCeGRwQywwQmhCeWRvQyxFZ0J4ZHJDOztBQUVEO0VBQ0UsZWhCb2RvQyxFZ0JuZHJDOztBQS9CRDs7Ozs7Ozs7OztFQVVFLGVoQjRlb0MsRWdCM2VyQzs7QUFFRDtFQUNFLHNCaEJ3ZW9DO0VEeGI5QixpRGlCL0M4QyxFQU1yRDtFQUxDO0lBQ0Usc0JBQXdDO0lqQjZDcEMsa0VpQjVDMEUsRUFFL0U7O0FBR0g7RUFDRSxlaEI4ZG9DO0VnQjdkcEMsc0JoQjZkb0M7RWdCNWRwQywwQmhCNmRvQyxFZ0I1ZHJDOztBQUVEO0VBQ0UsZWhCd2RvQyxFZ0J2ZHJDOztBRHlXSDtFQUdLLFVBQWdDLEVBQ2xDOztBQUpIO0VBTUssT0FBTSxFQUNSOztBQVNIO0VBQ0UsZUFBYztFQUNkLGdCQUFlO0VBQ2Ysb0JBQW1CO0VBQ25CLGVBQWdDLEVBQ2pDOztBQWtCQztFQUVFO0lBQ0Usc0JBQXFCO0lBQ3JCLGlCQUFnQjtJQUNoQix1QkFBc0IsRUFDdkI7RUFHRDtJQUNFLHNCQUFxQjtJQUNyQixZQUFXO0lBQ1gsdUJBQXNCLEVBQ3ZCO0VBR0Q7SUFDRSxzQkFBcUIsRUFDdEI7RUFFRDtJQUNFLHNCQUFxQjtJQUNyQix1QkFBc0IsRUFPdkI7SUFMQzs7O01BR0UsWUFBVyxFQUNaO0VBSUg7SUFDRSxZQUFXLEVBQ1o7RUFFRDtJQUNFLGlCQUFnQjtJQUNoQix1QkFBc0IsRUFDdkI7RUFJRDs7SUFFRSxzQkFBcUI7SUFDckIsY0FBYTtJQUNiLGlCQUFnQjtJQUNoQix1QkFBc0IsRUFLdkI7SUFIQzs7TUFDRSxnQkFBZSxFQUNoQjtFQUVIOztJQUVFLG1CQUFrQjtJQUNsQixlQUFjLEVBQ2Y7RUFHRDtJQUNFLE9BQU0sRUFDUCxFQUFBOztBQWVMOzs7O0VBU0ksY0FBYTtFQUNiLGlCQUFnQjtFQUNoQixpQkFBeUMsRUFDMUM7O0FBWkg7O0VBaUJJLGlCQUFrRSxFQUNuRTs7QUFsQkg7RUpyZkUsbUJBQTRCO0VBQzVCLG9CQUE0QixFSTJnQjNCO0VUOWdCRDtJQUVFLGFBQVk7SUFDWixlQUFjLEVBQ2Y7RUFDRDtJQUNFLFlBQVcsRUFDWjs7QVMyZ0JEO0VBM0JGO0lBNkJNLGtCQUFpQjtJQUNqQixpQkFBZ0I7SUFDaEIsaUJBQXlDLEVBQzFDLEVBQUE7O0FBaENMO0VBd0NJLFlBQStCLEVBQ2hDOztBQU9DO0VBaERKO0lBa0RRLHlCQUFpRSxFQUNsRSxFQUFBOztBQUlIO0VBdkRKO0lBeURRLGlCQUEwQyxFQUMzQyxFQUFBOztBRXRqQlA7RUFDRSxzQkFBcUI7RUFDckIsaUJBQWdCO0VBQ2hCLG9CakIwSXFDO0VpQnpJckMsNkRSWmdFO0VRYWhFLG1CQUFrQjtFQUNsQix1QkFBc0I7RUFDdEIsK0JBQTBCO01BQTFCLDJCQUEwQjtFQUMxQixnQkFBZTtFQUNmLHVCQUFzQjtFQUN0Qiw4QkFBNkI7RUFDN0Isb0JBQW1CO0VDNEJuQixrQmxCZ0Q4QjtFa0IvQzlCLGdCbEJHNEI7RWtCRjVCLHlCbEJjbUM7RWtCYm5DLG1CbEIyRDZCO0VENEc3QiwwQmtCcE15QjtFbEJxTXRCLHVCa0JyTXNCO0VsQnNNckIsc0JrQnRNcUI7RWxCdU1qQixrQmtCdk1pQixFQWlDMUI7RUE5Q0Q7SWhCSkUscUJBQW9CO0lBRXBCLDJDQUEwQztJQUMxQyxxQkFBb0IsRWdCc0JqQjtFQXJCTDtJQTJCSSxZakJvSGlDO0lpQm5IakMsc0JBQXFCLEVBQ3RCO0VBN0JIO0lBaUNJLFdBQVU7SUFDVix1QkFBc0I7SWxCMkJoQixpRGtCMUI4QyxFQUNyRDtFQXBDSDs7SUF5Q0ksb0JqQmlMd0M7SWlCaEx4QyxxQkFBb0I7SUUvQ3RCLGNGZ0RzQjtJRTdDdEIsMEJBQWtDO0lwQitEMUIsaUJrQmpCa0IsRUFDekI7O0FBT0g7RUN0REUsWWxCaUptQztFa0JoSm5DLHVCbEJpSm1DO0VrQmhKbkMsbUJsQmlKbUMsRWlCM0ZwQztFQ3BEQzs7SUFNRSxZbEJ1SWlDO0lrQnRJakMsMEJBQTBDO0lBQ3RDLHNCQUFrQyxFQUN2QztFQUNEOztJQUdFLHVCQUFzQixFQUN2QjtFQUlDOzs7Ozs7O0lBTUUsdUJsQnNIK0I7SWtCckgzQixtQmxCc0gyQixFa0JySGhDO0VBR0g7SUFDRSxZbEJnSGlDO0lrQi9HakMsdUJsQjhHaUMsRWtCN0dsQzs7QURxQkg7RUN6REUsWWxCcUptQztFa0JwSm5DLDBCbEJVMkM7RWtCVDNDLHNCbEJxSjBELEVpQjVGM0Q7RUN2REM7O0lBTUUsWWxCMklpQztJa0IxSWpDLDBCQUEwQztJQUN0QyxzQkFBa0MsRUFDdkM7RUFDRDs7SUFHRSx1QkFBc0IsRUFDdkI7RUFJQzs7Ozs7OztJQU1FLDBCbEJqQnVDO0lrQmtCbkMsc0JsQjBIa0QsRWtCekh2RDtFQUdIO0lBQ0UsZWxCdkJ5QztJa0J3QnpDLHVCbEJrSGlDLEVrQmpIbEM7O0FEeUJIO0VDN0RFLFlsQnlKbUM7RWtCeEpuQywwQmxCVzZCO0VrQlY3QixzQmxCeUowRCxFaUI1RjNEO0VDM0RDOztJQU1FLFlsQitJaUM7SWtCOUlqQywwQkFBMEM7SUFDdEMsc0JBQWtDLEVBQ3ZDO0VBQ0Q7O0lBR0UsdUJBQXNCLEVBQ3ZCO0VBSUM7Ozs7Ozs7SUFNRSwwQmxCaEJ5QjtJa0JpQnJCLHNCbEI4SGtELEVrQjdIdkQ7RUFHSDtJQUNFLGVsQnRCMkI7SWtCdUIzQix1QmxCc0hpQyxFa0JySGxDOztBRDZCSDtFQ2pFRSxZbEI2Sm1DO0VrQjVKbkMsMEJsQlk2QjtFa0JYN0Isc0JsQjZKdUQsRWlCNUZ4RDtFQy9EQzs7SUFNRSxZbEJtSmlDO0lrQmxKakMsMEJBQTBDO0lBQ3RDLHNCQUFrQyxFQUN2QztFQUNEOztJQUdFLHVCQUFzQixFQUN2QjtFQUlDOzs7Ozs7O0lBTUUsMEJsQmZ5QjtJa0JnQnJCLHNCbEJrSStDLEVrQmpJcEQ7RUFHSDtJQUNFLGVsQnJCMkI7SWtCc0IzQix1QmxCMEhpQyxFa0J6SGxDOztBRGlDSDtFQ3JFRSxZbEJpS21DO0VrQmhLbkMsMEJsQmE2QjtFa0JaN0Isc0JsQmlLMEQsRWlCNUYzRDtFQ25FQzs7SUFNRSxZbEJ1SmlDO0lrQnRKakMsMEJBQTBDO0lBQ3RDLHNCQUFrQyxFQUN2QztFQUNEOztJQUdFLHVCQUFzQixFQUN2QjtFQUlDOzs7Ozs7O0lBTUUsMEJsQmR5QjtJa0JlckIsc0JsQnNJa0QsRWtCckl2RDtFQUdIO0lBQ0UsZWxCcEIyQjtJa0JxQjNCLHVCbEI4SGlDLEVrQjdIbEM7O0FEcUNIO0VDekVFLFlsQnFLbUM7RWtCcEtuQywwQmxCYzZCO0VrQmI3QixzQmxCcUt5RCxFaUI1RjFEO0VDdkVDOztJQU1FLFlsQjJKaUM7SWtCMUpqQywwQkFBMEM7SUFDdEMsc0JBQWtDLEVBQ3ZDO0VBQ0Q7O0lBR0UsdUJBQXNCLEVBQ3ZCO0VBSUM7Ozs7Ozs7SUFNRSwwQmxCYnlCO0lrQmNyQixzQmxCMElpRCxFa0J6SXREO0VBR0g7SUFD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SSxtQjVCdkQyQyxFNEIrRDVDO0lBdERIO01BaURNLHVCNUI1RHlDLEU0QjZEMUM7SUFsREw7TUFvRE0sdUI1QjlEeUMsRTRCK0QxQztFQXJETDs7SUEwREksc0JuQjdibUIsRW1COGJwQjtFQTNESDtJQW9FUSw4Qm5CM2FtQztJbUI0YW5DLFluQjdhK0IsRW1COGFoQztFQUdIO0lBekVKO01BNkVVLGdDbkJ4YjZCLEVtQjhiOUI7TUFuRlQ7UUFnRlksWW5CemIyQjtRbUIwYjNCLDhCNUJ4RzBDLEU0QnlHM0M7SUFsRlg7TUF3RlksWW5CaGMyQjtNbUJpYzNCLDhCbkJoYytCLEVtQmljaEM7SUExRlg7TUFnR1ksWTVCcEhtQztNNEJxSG5DLDhCNUJwSDBDLEU0QnFIM0MsRUFBQTtFQWxHWDtJQThHSSxnQ25CemRtQyxFbUI2ZHBDO0lBbEhIO01BZ0hNLFluQnpkaUMsRW1CMGRsQztFQWpITDtJQXFISSxnQ25CaGVtQyxFbUI0ZXBDO0lBaklIO01Bd0hNLFluQmplaUMsRW1Ca2VsQztJQXpITDs7O01BOEhRLFk1QmxKdUMsRTRCbUp4Qzs7QUFPUDtFQUNFLHVCNUIxSThDO0U0QjJJOUMsc0I1QjFJeUUsRTRCMlExRTtFQW5JRDtJQUtJLGU1QjFJaUUsRTRCZ0psRTtJQVhIO01BUU0sWTVCbkkwQztNNEJvSTFDLDhCNUJuSWlELEU0Qm9JbEQ7RUFWTDtJQWNJLGU1QnhKaUUsRTRCeUpsRTtFQWZIO0lBbUJNLGU1QnhKK0QsRTRCK0poRTtJQTFCTDtNQXVCUSxZNUIzSndDO000QjRKeEMsOEI1QjNKK0MsRTRCNEpoRDtFQXpCUDtJQStCUSxZNUJuS3dDO0k0Qm9LeEMsMEI1QmpLbUUsRTRCa0twRTtFQWpDUDtJQXVDUSxZNUJ2S3dDO0k0QndLeEMsOEI1QnZLK0MsRTRCd0toRDtFQXpDUDtJQStDSSxtQjVCcEs0QyxFNEI0SzdDO0lBdkRIO01Ba0RNLHVCNUJ6SzBDLEU0QjBLM0M7SUFuREw7TUFxRE0sdUI1QjNLMEMsRTRCNEszQztFQXRETDs7SUEyREksc0JBQTRDLEVBQzdDO0VBNURIO0lBb0VRLDBC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O0lBQUssNkNBQW9DO1lBQXBDLHFDQUFvQyxFQUFBO0VBQ3pDO0lBQUssK0NBQXNDO1lBQXRDLHVDQUFzQyxFQUFBO0VBQzNDO0lBQUssK0NBQXNDO1lBQXRDLHVDQUFzQyxFQUFBO0VBQzNDO0lBQUssNkNBQW9DO1lBQXBDLHFDQUFvQyxFQUFBO0VBQ3pDO0lBQUssK0NBQXNDO1lBQXRDLHVDQUFzQyxFQUFBO0VBQzNDO0lBQUssK0NBQXNDO1lBQXRDLHVDQUFzQyxFQUFBO0VBQzNDO0lBQUssNkNBQW9DO1lBQXBDLHFDQUFvQyxFQUFBO0VBQ3pDO0lBQUssK0NBQXFDO1lBQXJDLHVDQUFxQyxFQUFBO0VBQzFDO0lBQUssd0NBQStCO1lBQS9CLGdDQUErQixFQUFBO0VBQ3BDO0lBQUssK0NBQXFDO1lBQXJDLHVDQUFxQyxFQUFBO0VBQzFDO0lBQUssNkNBQW9DO1lBQXBDLHFDQUFvQyxFQUFBO0VBQ3pDO0lBQUssK0NBQXNDO1lBQXRDLHVDQUFzQyxFQUFBO0VBQzNDO0lBQUssK0NBQXNDO1lBQXRDLHVDQUFzQyxFQUFBO0VBQzNDO0lBQUssNkNBQW9DO1lBQXBDLHFDQUFvQyxFQUFBO0VBQ3pDO0lBQUssK0NBQXNDO1lBQXRDLHVDQUFzQyxFQUFBO0VBQzNDO0lBQUssK0NBQXNDO1lBQXRDLHVDQUFzQyxFQUFBO0VBQzNDO0lBQUssNkNBQW9DO1lBQXBDLHFDQUFvQyxFQUFBO0VBQ3pDO0lBQUssaURBQXVDO1lBQXZDLHlDQUF1QyxFQUFBO0VBQzVDO0lBQUssMkNBQWtDO1lBQWxDLG1DQUFrQyxFQUFBO0VBQ3ZDO0lBQUssZ0RBQXVDO1lBQXZDLHdDQUF1QyxFQUFBO0VBQzVDO0lBQUssOENBQXFDO1lBQXJDLHNDQUFxQyxFQUFBO0VBQzFDO0lBQUssZ0RBQXVDO1lBQXZDLHdDQUF1QyxFQUFBO0VBQzVDO0lBQUssZ0RBQXVDO1lBQXZDLHdDQUF1QyxFQUFBO0VBQzVDO0lBQUssOENBQXFDO1lBQXJDLHNDQUFxQyxFQUFBO0VBQzFDO0lBQUssZ0RBQXVDO1lBQXZDLHdDQUF1QyxFQUFBO0VBQzVD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T1Q7TUE4T2lDLDZCQUE0QixFQUFJO0lBOU9qRTtNQStPaUMsOEJBQTZCLEVBQUk7SUEvT2xFO01BZ1BpQyw4QkFBNkIsRUFBSTs7QUFoUGxFO0VBcVBNLDRHQUU4QztFQUM5Qyw2QkFBNEI7RUFDNUIsNkJBQTRCO0VBQzVCLDJCQUEwQjtFQUMxQixzQkFBcUIsRUFXdEI7RUF0UUw7SUE4UFEsMEJBQXlCO0lBQ3pCLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLHNCQUFxQjtJQUNyQixjQUFhO0lBQ2Isb0JBQW1CO0lBQ25CLGVBQWMsRUFDZjs7QUFHSDtFQXhRSjtJQTBRUSxpQkFBZ0IsRUFDakI7RUEzUVA7SUE4UVEsa0JBQWlCLEVBQ2xCLEVBQUE7O0FBSUw7RUFuUkY7SUFxUk0scUJBQW9CLEVBQ3JCO0VBdFJMO0lBMFJRLFVBQVMsRUFDVjtFQTNSUDtJQThSUSxrQkFBaUI7SUFDakIscUJBQW9CLEVBVXJCO0lBelNQO01Ba1NVLDJCQUFzQjtVQUF0Qix1QkFBc0IsRUFFdkI7SUFwU1Q7TUF1U1UsbUNBQThCO1VBQTlCLCtCQUE4QixFQUMvQjtFQXhTVDtJQTRTUSx1QkFBbUI7UUFBbkIsb0JBQW1CO0lBQ25CLHNCQUF1QjtRQUF2Qix3QkFBdUI7SUFDdkIsbUJBQWtCLEVBQ25CO0VBL1NQO0lBbVRVLFVBQVMsRUFDVjtFQXBUVDtJQXVUVSxzQkFBdUI7UUFBdkIsd0JBQXVCLEVBQ3hCO0VBeFRUO0lBNFRRLHFCQUFvQixFQUtyQjtJQWpVUDtNQStUVSxpQkFBZ0IsRUFDakI7RUFoVVQ7SUFvVVEsa0JBQWlCO0lBQ2pCLHFCQUFvQixFQUtyQjtJQTFVUDtNQXdVVSxVQUFTLEVBQ1Y7RUF6VVQ7SUE2VVEsa0JBQWlCO0lBQ2pCLHFCQUFvQixFQUtyQjtJQW5WUDtNQWlWVSxvQkFBbUIsRUFDcEI7RUFsVlQ7SUFzVlEscUJBQW9CLEVBQ3JCLEVBQUEiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIVxuICBJb25pY29ucywgdjMuMC4wLWFscGhhLjNcbiAgQ3JlYXRlZCBieSBCZW4gU3BlcnJ5IGZvciB0aGUgSW9uaWMgRnJhbWV3b3JrLCBodHRwOi8vaW9uaWNvbnMuY29tL1xuICBodHRwczovL3R3aXR0ZXIuY29tL2JlbmpzcGVycnkgIGh0dHBzOi8vdHdpdHRlci5jb20vaW9uaWNmcmFtZXdvcmtcbiAgTUlUIExpY2Vuc2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9kcmlmdHljby9pb25pY29uc1xuXG4gIEFuZHJvaWQtc3R5bGUgaWNvbnMgb3JpZ2luYWxseSBidWlsdCBieSBHb29nbGXigJlzXG4gIE1hdGVyaWFsIERlc2lnbiBJY29uczogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9tYXRlcmlhbC1kZXNpZ24taWNvbnNcbiAgdXNlZCB1bmRlciBDQyBCWSBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvXG4gIE1vZGlmaWVkIGljb25zIHRvIGZpdCBpb25pY29u4oCZcyBncmlkIGZyb20gb3JpZ2luYWwuXG4qL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvK01vbm9cIik7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW9uaWNvbnNcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pb25pY29ucy5lb3Q/dj0zLjAuMC1hbHBoYS4zXCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2lvbmljb25zLmVvdD92PTMuMC4wLWFscGhhLjMjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2lvbmljb25zLndvZmYyP3Y9My4wLjAtYWxwaGEuM1wiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvaW9uaWNvbnMud29mZj92PTMuMC4wLWFscGhhLjNcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvaW9uaWNvbnMudHRmP3Y9My4wLjAtYWxwaGEuM1wiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvaW9uaWNvbnMuc3ZnP3Y9My4wLjAtYWxwaGEuMyNJb25pY29uc1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4uaW9uLCAuaW9uaWNvbnMsXG4uaW9uLWlvcy1hZGQ6YmVmb3JlLFxuLmlvbi1pb3MtYWRkLWNpcmNsZTpiZWZvcmUsXG4uaW9uLWlvcy1hZGQtY2lyY2xlLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYWRkLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYWxhcm06YmVmb3JlLFxuLmlvbi1pb3MtYWxhcm0tb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1hbGJ1bXM6YmVmb3JlLFxuLmlvbi1pb3MtYWxidW1zLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYWxlcnQ6YmVmb3JlLFxuLmlvbi1pb3MtYWxlcnQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1hbWVyaWNhbi1mb290YmFsbDpiZWZvcmUsXG4uaW9uLWlvcy1hbWVyaWNhbi1mb290YmFsbC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWFuYWx5dGljczpiZWZvcmUsXG4uaW9uLWlvcy1hbmFseXRpY3Mtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1hcGVydHVyZTpiZWZvcmUsXG4uaW9uLWlvcy1hcGVydHVyZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWFwcHM6YmVmb3JlLFxuLmlvbi1pb3MtYXBwcy1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWFwcHN0b3JlOmJlZm9yZSxcbi5pb24taW9zLWFwcHN0b3JlLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYXJjaGl2ZTpiZWZvcmUsXG4uaW9uLWlvcy1hcmNoaXZlLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYXJyb3ctYmFjazpiZWZvcmUsXG4uaW9uLWlvcy1hcnJvdy1iYWNrLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYXJyb3ctZG93bjpiZWZvcmUsXG4uaW9uLWlvcy1hcnJvdy1kb3duLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYXJyb3ctZHJvcGRvd246YmVmb3JlLFxuLmlvbi1pb3MtYXJyb3ctZHJvcGRvd24tY2lyY2xlOmJlZm9yZSxcbi5pb24taW9zLWFycm93LWRyb3Bkb3duLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWFycm93LWRyb3Bkb3duLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYXJyb3ctZHJvcGxlZnQ6YmVmb3JlLFxuLmlvbi1pb3MtYXJyb3ctZHJvcGxlZnQtY2lyY2xlOmJlZm9yZSxcbi5pb24taW9zLWFycm93LWRyb3BsZWZ0LWNpcmNsZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWFycm93LWRyb3BsZWZ0LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYXJyb3ctZHJvcHJpZ2h0OmJlZm9yZSxcbi5pb24taW9zLWFycm93LWRyb3ByaWdodC1jaXJjbGU6YmVmb3JlLFxuLmlvbi1pb3MtYXJyb3ctZHJvcHJpZ2h0LWNpcmNsZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWFycm93LWRyb3ByaWdodC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWFycm93LWRyb3B1cDpiZWZvcmUsXG4uaW9uLWlvcy1hcnJvdy1kcm9wdXAtY2lyY2xlOmJlZm9yZSxcbi5pb24taW9zLWFycm93LWRyb3B1cC1jaXJjbGUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1hcnJvdy1kcm9wdXAtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1hcnJvdy1mb3J3YXJkOmJlZm9yZSxcbi5pb24taW9zLWFycm93LWZvcndhcmQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1hcnJvdy1yb3VuZC1iYWNrOmJlZm9yZSxcbi5pb24taW9zLWFycm93LXJvdW5kLWJhY2stb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1hcnJvdy1yb3VuZC1kb3duOmJlZm9yZSxcbi5pb24taW9zLWFycm93LXJvdW5kLWRvd24tb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1hcnJvdy1yb3VuZC1mb3J3YXJkOmJlZm9yZSxcbi5pb24taW9zLWFycm93LXJvdW5kLWZvcndhcmQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1hcnJvdy1yb3VuZC11cDpiZWZvcmUsXG4uaW9uLWlvcy1hcnJvdy1yb3VuZC11cC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWFycm93LXVwOmJlZm9yZSxcbi5pb24taW9zLWFycm93LXVwLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYXQ6YmVmb3JlLFxuLmlvbi1pb3MtYXQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1hdHRhY2g6YmVmb3JlLFxuLmlvbi1pb3MtYXR0YWNoLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYmFja3NwYWNlOmJlZm9yZSxcbi5pb24taW9zLWJhY2tzcGFjZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWJhcmNvZGU6YmVmb3JlLFxuLmlvbi1pb3MtYmFyY29kZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWJhc2ViYWxsOmJlZm9yZSxcbi5pb24taW9zLWJhc2ViYWxsLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYmFza2V0OmJlZm9yZSxcbi5pb24taW9zLWJhc2tldC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWJhc2tldGJhbGw6YmVmb3JlLFxuLmlvbi1pb3MtYmFza2V0YmFsbC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWJhdHRlcnktY2hhcmdpbmc6YmVmb3JlLFxuLmlvbi1pb3MtYmF0dGVyeS1jaGFyZ2luZy1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWJhdHRlcnktZGVhZDpiZWZvcmUsXG4uaW9uLWlvcy1iYXR0ZXJ5LWRlYWQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1iYXR0ZXJ5LWZ1bGw6YmVmb3JlLFxuLmlvbi1pb3MtYmF0dGVyeS1mdWxsLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYmVha2VyOmJlZm9yZSxcbi5pb24taW9zLWJlYWtlci1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWJlZXI6YmVmb3JlLFxuLmlvbi1pb3MtYmVlci1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWJpY3ljbGU6YmVmb3JlLFxuLmlvbi1pb3MtYmljeWNsZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWJsdWV0b290aDpiZWZvcmUsXG4uaW9uLWlvcy1ibHVldG9vdGgtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1ib2F0OmJlZm9yZSxcbi5pb24taW9zLWJvYXQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1ib2R5OmJlZm9yZSxcbi5pb24taW9zLWJvZHktb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1ib25maXJlOmJlZm9yZSxcbi5pb24taW9zLWJvbmZpcmUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1ib29rOmJlZm9yZSxcbi5pb24taW9zLWJvb2stb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1ib29rbWFyazpiZWZvcmUsXG4uaW9uLWlvcy1ib29rbWFyay1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWJvb2ttYXJrczpiZWZvcmUsXG4uaW9uLWlvcy1ib29rbWFya3Mtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1ib3d0aWU6YmVmb3JlLFxuLmlvbi1pb3MtYm93dGllLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYnJpZWZjYXNlOmJlZm9yZSxcbi5pb24taW9zLWJyaWVmY2FzZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWJyb3dzZXJzOmJlZm9yZSxcbi5pb24taW9zLWJyb3dzZXJzLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYnJ1c2g6YmVmb3JlLFxuLmlvbi1pb3MtYnJ1c2gtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1idWc6YmVmb3JlLFxuLmlvbi1pb3MtYnVnLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtYnVpbGQ6YmVmb3JlLFxuLmlvbi1pb3MtYnVpbGQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1idWxiOmJlZm9yZSxcbi5pb24taW9zLWJ1bGItb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1idXM6YmVmb3JlLFxuLmlvbi1pb3MtYnVzLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtY2FmZTpiZWZvcmUsXG4uaW9uLWlvcy1jYWZlLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtY2FsY3VsYXRvcjpiZWZvcmUsXG4uaW9uLWlvcy1jYWxjdWxhdG9yLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtY2FsZW5kYXI6YmVmb3JlLFxuLmlvbi1pb3MtY2FsZW5kYXItb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jYWxsOmJlZm9yZSxcbi5pb24taW9zLWNhbGwtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jYW1lcmE6YmVmb3JlLFxuLmlvbi1pb3MtY2FtZXJhLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtY2FyOmJlZm9yZSxcbi5pb24taW9zLWNhci1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNhcmQ6YmVmb3JlLFxuLmlvbi1pb3MtY2FyZC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNhcnQ6YmVmb3JlLFxuLmlvbi1pb3MtY2FydC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNhc2g6YmVmb3JlLFxuLmlvbi1pb3MtY2FzaC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNoYXRib3hlczpiZWZvcmUsXG4uaW9uLWlvcy1jaGF0Ym94ZXMtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jaGF0YnViYmxlczpiZWZvcmUsXG4uaW9uLWlvcy1jaGF0YnViYmxlcy1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNoZWNrYm94OmJlZm9yZSxcbi5pb24taW9zLWNoZWNrYm94LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtY2hlY2ttYXJrOmJlZm9yZSxcbi5pb24taW9zLWNoZWNrbWFyay1jaXJjbGU6YmVmb3JlLFxuLmlvbi1pb3MtY2hlY2ttYXJrLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNoZWNrbWFyay1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNsaXBib2FyZDpiZWZvcmUsXG4uaW9uLWlvcy1jbGlwYm9hcmQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jbG9jazpiZWZvcmUsXG4uaW9uLWlvcy1jbG9jay1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNsb3NlOmJlZm9yZSxcbi5pb24taW9zLWNsb3NlLWNpcmNsZTpiZWZvcmUsXG4uaW9uLWlvcy1jbG9zZS1jaXJjbGUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jbG9zZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZSxcbi5pb24taW9zLWNsb3NlZC1jYXB0aW9uaW5nLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtY2xvdWQ6YmVmb3JlLFxuLmlvbi1pb3MtY2xvdWQtY2lyY2xlOmJlZm9yZSxcbi5pb24taW9zLWNsb3VkLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNsb3VkLWRvbmU6YmVmb3JlLFxuLmlvbi1pb3MtY2xvdWQtZG9uZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNsb3VkLWRvd25sb2FkOmJlZm9yZSxcbi5pb24taW9zLWNsb3VkLWRvd25sb2FkLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtY2xvdWQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jbG91ZC11cGxvYWQ6YmVmb3JlLFxuLmlvbi1pb3MtY2xvdWQtdXBsb2FkLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtY2xvdWR5OmJlZm9yZSxcbi5pb24taW9zLWNsb3VkeS1uaWdodDpiZWZvcmUsXG4uaW9uLWlvcy1jbG91ZHktbmlnaHQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jbG91ZHktb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jb2RlOmJlZm9yZSxcbi5pb24taW9zLWNvZGUtZG93bmxvYWQ6YmVmb3JlLFxuLmlvbi1pb3MtY29kZS1kb3dubG9hZC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNvZGUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jb2RlLXdvcmtpbmc6YmVmb3JlLFxuLmlvbi1pb3MtY29kZS13b3JraW5nLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtY29nOmJlZm9yZSxcbi5pb24taW9zLWNvZy1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNvbG9yLWZpbGw6YmVmb3JlLFxuLmlvbi1pb3MtY29sb3ItZmlsbC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNvbG9yLWZpbHRlcjpiZWZvcmUsXG4uaW9uLWlvcy1jb2xvci1maWx0ZXItb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jb2xvci1wYWxldHRlOmJlZm9yZSxcbi5pb24taW9zLWNvbG9yLXBhbGV0dGUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jb2xvci13YW5kOmJlZm9yZSxcbi5pb24taW9zLWNvbG9yLXdhbmQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jb21wYXNzOmJlZm9yZSxcbi5pb24taW9zLWNvbXBhc3Mtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jb25zdHJ1Y3Q6YmVmb3JlLFxuLmlvbi1pb3MtY29uc3RydWN0LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtY29udGFjdDpiZWZvcmUsXG4uaW9uLWlvcy1jb250YWN0LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtY29udGFjdHM6YmVmb3JlLFxuLmlvbi1pb3MtY29udGFjdHMtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1jb250cmFjdDpiZWZvcmUsXG4uaW9uLWlvcy1jb250cmFjdC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNvbnRyYXN0OmJlZm9yZSxcbi5pb24taW9zLWNvbnRyYXN0LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtY29weTpiZWZvcmUsXG4uaW9uLWlvcy1jb3B5LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtY3JlYXRlOmJlZm9yZSxcbi5pb24taW9zLWNyZWF0ZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWNyb3A6YmVmb3JlLFxuLmlvbi1pb3MtY3JvcC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWN1YmU6YmVmb3JlLFxuLmlvbi1pb3MtY3ViZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWN1dDpiZWZvcmUsXG4uaW9uLWlvcy1jdXQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1kZXNrdG9wOmJlZm9yZSxcbi5pb24taW9zLWRlc2t0b3Atb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1kaXNjOmJlZm9yZSxcbi5pb24taW9zLWRpc2Mtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1kb2N1bWVudDpiZWZvcmUsXG4uaW9uLWlvcy1kb2N1bWVudC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWRvbmUtYWxsOmJlZm9yZSxcbi5pb24taW9zLWRvbmUtYWxsLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtZG93bmxvYWQ6YmVmb3JlLFxuLmlvbi1pb3MtZG93bmxvYWQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1lYXNlbDpiZWZvcmUsXG4uaW9uLWlvcy1lYXNlbC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWVnZzpiZWZvcmUsXG4uaW9uLWlvcy1lZ2ctb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1leGl0OmJlZm9yZSxcbi5pb24taW9zLWV4aXQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1leHBhbmQ6YmVmb3JlLFxuLmlvbi1pb3MtZXhwYW5kLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtZXllOmJlZm9yZSxcbi5pb24taW9zLWV5ZS1vZmY6YmVmb3JlLFxuLmlvbi1pb3MtZXllLW9mZi1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWV5ZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWZhc3Rmb3J3YXJkOmJlZm9yZSxcbi5pb24taW9zLWZhc3Rmb3J3YXJkLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtZmVtYWxlOmJlZm9yZSxcbi5pb24taW9zLWZlbWFsZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWZpbGluZzpiZWZvcmUsXG4uaW9uLWlvcy1maWxpbmctb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1maWxtOmJlZm9yZSxcbi5pb24taW9zLWZpbG0tb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1maW5nZXItcHJpbnQ6YmVmb3JlLFxuLmlvbi1pb3MtZmluZ2VyLXByaW50LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtZmxhZzpiZWZvcmUsXG4uaW9uLWlvcy1mbGFnLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtZmxhbWU6YmVmb3JlLFxuLmlvbi1pb3MtZmxhbWUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1mbGFzaDpiZWZvcmUsXG4uaW9uLWlvcy1mbGFzaC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWZsYXNrOmJlZm9yZSxcbi5pb24taW9zLWZsYXNrLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtZmxvd2VyOmJlZm9yZSxcbi5pb24taW9zLWZsb3dlci1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWZvbGRlcjpiZWZvcmUsXG4uaW9uLWlvcy1mb2xkZXItb3BlbjpiZWZvcmUsXG4uaW9uLWlvcy1mb2xkZXItb3Blbi1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWZvbGRlci1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWZvb3RiYWxsOmJlZm9yZSxcbi5pb24taW9zLWZvb3RiYWxsLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtZnVubmVsOmJlZm9yZSxcbi5pb24taW9zLWZ1bm5lbC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWdhbWUtY29udHJvbGxlci1hOmJlZm9yZSxcbi5pb24taW9zLWdhbWUtY29udHJvbGxlci1hLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWI6YmVmb3JlLFxuLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWItb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1naXQtYnJhbmNoOmJlZm9yZSxcbi5pb24taW9zLWdpdC1icmFuY2gtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1naXQtY29tbWl0OmJlZm9yZSxcbi5pb24taW9zLWdpdC1jb21taXQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1naXQtY29tcGFyZTpiZWZvcmUsXG4uaW9uLWlvcy1naXQtY29tcGFyZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWdpdC1tZXJnZTpiZWZvcmUsXG4uaW9uLWlvcy1naXQtbWVyZ2Utb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1naXQtbmV0d29yazpiZWZvcmUsXG4uaW9uLWlvcy1naXQtbmV0d29yay1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWdpdC1wdWxsLXJlcXVlc3Q6YmVmb3JlLFxuLmlvbi1pb3MtZ2l0LXB1bGwtcmVxdWVzdC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWdsYXNzZXM6YmVmb3JlLFxuLmlvbi1pb3MtZ2xhc3Nlcy1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWdsb2JlOmJlZm9yZSxcbi5pb24taW9zLWdsb2JlLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtZ3JpZDpiZWZvcmUsXG4uaW9uLWlvcy1ncmlkLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtaGFtbWVyOmJlZm9yZSxcbi5pb24taW9zLWhhbW1lci1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWhhbmQ6YmVmb3JlLFxuLmlvbi1pb3MtaGFuZC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWhhcHB5OmJlZm9yZSxcbi5pb24taW9zLWhhcHB5LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtaGVhZHNldDpiZWZvcmUsXG4uaW9uLWlvcy1oZWFkc2V0LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtaGVhcnQ6YmVmb3JlLFxuLmlvbi1pb3MtaGVhcnQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1oZWxwOmJlZm9yZSxcbi5pb24taW9zLWhlbHAtYnVveTpiZWZvcmUsXG4uaW9uLWlvcy1oZWxwLWJ1b3ktb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1oZWxwLWNpcmNsZTpiZWZvcmUsXG4uaW9uLWlvcy1oZWxwLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWhlbHAtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1ob21lOmJlZm9yZSxcbi5pb24taW9zLWhvbWUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1pY2UtY3JlYW06YmVmb3JlLFxuLmlvbi1pb3MtaWNlLWNyZWFtLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtaW1hZ2U6YmVmb3JlLFxuLmlvbi1pb3MtaW1hZ2Utb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1pbWFnZXM6YmVmb3JlLFxuLmlvbi1pb3MtaW1hZ2VzLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtaW5maW5pdGU6YmVmb3JlLFxuLmlvbi1pb3MtaW5maW5pdGUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1pbmZvcm1hdGlvbjpiZWZvcmUsXG4uaW9uLWlvcy1pbmZvcm1hdGlvbi1jaXJjbGU6YmVmb3JlLFxuLmlvbi1pb3MtaW5mb3JtYXRpb24tY2lyY2xlLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtaW5mb3JtYXRpb24tb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1pb25pYzpiZWZvcmUsXG4uaW9uLWlvcy1pb25pYy1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWlvbml0cm9uOmJlZm9yZSxcbi5pb24taW9zLWlvbml0cm9uLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtamV0OmJlZm9yZSxcbi5pb24taW9zLWpldC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWtleTpiZWZvcmUsXG4uaW9uLWlvcy1rZXktb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1rZXlwYWQ6YmVmb3JlLFxuLmlvbi1pb3Mta2V5cGFkLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtbGFwdG9wOmJlZm9yZSxcbi5pb24taW9zLWxhcHRvcC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWxlYWY6YmVmb3JlLFxuLmlvbi1pb3MtbGVhZi1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWxpbms6YmVmb3JlLFxuLmlvbi1pb3MtbGluay1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWxpc3Q6YmVmb3JlLFxuLmlvbi1pb3MtbGlzdC1ib3g6YmVmb3JlLFxuLmlvbi1pb3MtbGlzdC1ib3gtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1saXN0LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtbG9jYXRlOmJlZm9yZSxcbi5pb24taW9zLWxvY2F0ZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWxvY2s6YmVmb3JlLFxuLmlvbi1pb3MtbG9jay1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLWxvZy1pbjpiZWZvcmUsXG4uaW9uLWlvcy1sb2ctaW4tb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1sb2ctb3V0OmJlZm9yZSxcbi5pb24taW9zLWxvZy1vdXQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1tYWduZXQ6YmVmb3JlLFxuLmlvbi1pb3MtbWFnbmV0LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtbWFpbDpiZWZvcmUsXG4uaW9uLWlvcy1tYWlsLW9wZW46YmVmb3JlLFxuLmlvbi1pb3MtbWFpbC1vcGVuLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtbWFpbC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLW1hbGU6YmVmb3JlLFxuLmlvbi1pb3MtbWFsZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLW1hbjpiZWZvcmUsXG4uaW9uLWlvcy1tYW4tb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1tYXA6YmVmb3JlLFxuLmlvbi1pb3MtbWFwLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtbWVkYWw6YmVmb3JlLFxuLmlvbi1pb3MtbWVkYWwtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1tZWRpY2FsOmJlZm9yZSxcbi5pb24taW9zLW1lZGljYWwtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1tZWRraXQ6YmVmb3JlLFxuLmlvbi1pb3MtbWVka2l0LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtbWVnYXBob25lOmJlZm9yZSxcbi5pb24taW9zLW1lZ2FwaG9uZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLW1lbnU6YmVmb3JlLFxuLmlvbi1pb3MtbWVudS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLW1pYzpiZWZvcmUsXG4uaW9uLWlvcy1taWMtb2ZmOmJlZm9yZSxcbi5pb24taW9zLW1pYy1vZmYtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1taWMtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1taWNyb3Bob25lOmJlZm9yZSxcbi5pb24taW9zLW1pY3JvcGhvbmUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1tb29uOmJlZm9yZSxcbi5pb24taW9zLW1vb24tb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1tb3JlOmJlZm9yZSxcbi5pb24taW9zLW1vcmUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1tb3ZlOmJlZm9yZSxcbi5pb24taW9zLW1vdmUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1tdXNpY2FsLW5vdGU6YmVmb3JlLFxuLmlvbi1pb3MtbXVzaWNhbC1ub3RlLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtbXVzaWNhbC1ub3RlczpiZWZvcmUsXG4uaW9uLWlvcy1tdXNpY2FsLW5vdGVzLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtbmF2aWdhdGU6YmVmb3JlLFxuLmlvbi1pb3MtbmF2aWdhdGUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1uby1zbW9raW5nOmJlZm9yZSxcbi5pb24taW9zLW5vLXNtb2tpbmctb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1ub3RpZmljYXRpb25zOmJlZm9yZSxcbi5pb24taW9zLW5vdGlmaWNhdGlvbnMtb2ZmOmJlZm9yZSxcbi5pb24taW9zLW5vdGlmaWNhdGlvbnMtb2ZmLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtbm90aWZpY2F0aW9ucy1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLW51Y2xlYXI6YmVmb3JlLFxuLmlvbi1pb3MtbnVjbGVhci1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLW51dHJpdGlvbjpiZWZvcmUsXG4uaW9uLWlvcy1udXRyaXRpb24tb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1vcGVuOmJlZm9yZSxcbi5pb24taW9zLW9wZW4tb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1vcHRpb25zOmJlZm9yZSxcbi5pb24taW9zLW9wdGlvbnMtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1vdXRsZXQ6YmVmb3JlLFxuLmlvbi1pb3Mtb3V0bGV0LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcGFwZXI6YmVmb3JlLFxuLmlvbi1pb3MtcGFwZXItb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1wYXBlci1wbGFuZTpiZWZvcmUsXG4uaW9uLWlvcy1wYXBlci1wbGFuZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXBhcnRseS1zdW5ueTpiZWZvcmUsXG4uaW9uLWlvcy1wYXJ0bHktc3Vubnktb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1wYXVzZTpiZWZvcmUsXG4uaW9uLWlvcy1wYXVzZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXBhdzpiZWZvcmUsXG4uaW9uLWlvcy1wYXctb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1wZW9wbGU6YmVmb3JlLFxuLmlvbi1pb3MtcGVvcGxlLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcGVyc29uOmJlZm9yZSxcbi5pb24taW9zLXBlcnNvbi1hZGQ6YmVmb3JlLFxuLmlvbi1pb3MtcGVyc29uLWFkZC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXBlcnNvbi1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXBob25lLWxhbmRzY2FwZTpiZWZvcmUsXG4uaW9uLWlvcy1waG9uZS1sYW5kc2NhcGUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1waG9uZS1wb3J0cmFpdDpiZWZvcmUsXG4uaW9uLWlvcy1waG9uZS1wb3J0cmFpdC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXBob3RvczpiZWZvcmUsXG4uaW9uLWlvcy1waG90b3Mtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1waWU6YmVmb3JlLFxuLmlvbi1pb3MtcGllLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcGluOmJlZm9yZSxcbi5pb24taW9zLXBpbi1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXBpbnQ6YmVmb3JlLFxuLmlvbi1pb3MtcGludC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXBpenphOmJlZm9yZSxcbi5pb24taW9zLXBpenphLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcGxhbmU6YmVmb3JlLFxuLmlvbi1pb3MtcGxhbmUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1wbGFuZXQ6YmVmb3JlLFxuLmlvbi1pb3MtcGxhbmV0LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcGxheTpiZWZvcmUsXG4uaW9uLWlvcy1wbGF5LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcG9kaXVtOmJlZm9yZSxcbi5pb24taW9zLXBvZGl1bS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXBvd2VyOmJlZm9yZSxcbi5pb24taW9zLXBvd2VyLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcHJpY2V0YWc6YmVmb3JlLFxuLmlvbi1pb3MtcHJpY2V0YWctb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1wcmljZXRhZ3M6YmVmb3JlLFxuLmlvbi1pb3MtcHJpY2V0YWdzLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcHJpbnQ6YmVmb3JlLFxuLmlvbi1pb3MtcHJpbnQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1wdWxzZTpiZWZvcmUsXG4uaW9uLWlvcy1wdWxzZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXFyLXNjYW5uZXI6YmVmb3JlLFxuLmlvbi1pb3MtcXItc2Nhbm5lci1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXF1b3RlOmJlZm9yZSxcbi5pb24taW9zLXF1b3RlLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcmFkaW86YmVmb3JlLFxuLmlvbi1pb3MtcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUsXG4uaW9uLWlvcy1yYWRpby1idXR0b24tb2ZmLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSxcbi5pb24taW9zLXJhZGlvLWJ1dHRvbi1vbi1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXJhZGlvLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcmFpbnk6YmVmb3JlLFxuLmlvbi1pb3MtcmFpbnktb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1yZWNvcmRpbmc6YmVmb3JlLFxuLmlvbi1pb3MtcmVjb3JkaW5nLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcmVkbzpiZWZvcmUsXG4uaW9uLWlvcy1yZWRvLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcmVmcmVzaDpiZWZvcmUsXG4uaW9uLWlvcy1yZWZyZXNoLWNpcmNsZTpiZWZvcmUsXG4uaW9uLWlvcy1yZWZyZXNoLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXJlZnJlc2gtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1yZW1vdmU6YmVmb3JlLFxuLmlvbi1pb3MtcmVtb3ZlLWNpcmNsZTpiZWZvcmUsXG4uaW9uLWlvcy1yZW1vdmUtY2lyY2xlLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcmVtb3ZlLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcmVvcmRlcjpiZWZvcmUsXG4uaW9uLWlvcy1yZW9yZGVyLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtcmVwZWF0OmJlZm9yZSxcbi5pb24taW9zLXJlcGVhdC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXJlc2l6ZTpiZWZvcmUsXG4uaW9uLWlvcy1yZXNpemUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1yZXN0YXVyYW50OmJlZm9yZSxcbi5pb24taW9zLXJlc3RhdXJhbnQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1yZXR1cm4tbGVmdDpiZWZvcmUsXG4uaW9uLWlvcy1yZXR1cm4tbGVmdC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXJldHVybi1yaWdodDpiZWZvcmUsXG4uaW9uLWlvcy1yZXR1cm4tcmlnaHQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1yZXZlcnNlLWNhbWVyYTpiZWZvcmUsXG4uaW9uLWlvcy1yZXZlcnNlLWNhbWVyYS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXJld2luZDpiZWZvcmUsXG4uaW9uLWlvcy1yZXdpbmQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1yaWJib246YmVmb3JlLFxuLmlvbi1pb3MtcmliYm9uLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtcm9zZTpiZWZvcmUsXG4uaW9uLWlvcy1yb3NlLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtc2FkOmJlZm9yZSxcbi5pb24taW9zLXNhZC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXNjaG9vbDpiZWZvcmUsXG4uaW9uLWlvcy1zY2hvb2wtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1zZWFyY2g6YmVmb3JlLFxuLmlvbi1pb3Mtc2VhcmNoLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtc2VuZDpiZWZvcmUsXG4uaW9uLWlvcy1zZW5kLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtc2V0dGluZ3M6YmVmb3JlLFxuLmlvbi1pb3Mtc2V0dGluZ3Mtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1zaGFyZTpiZWZvcmUsXG4uaW9uLWlvcy1zaGFyZS1hbHQ6YmVmb3JlLFxuLmlvbi1pb3Mtc2hhcmUtYWx0LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtc2hhcmUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1zaGlydDpiZWZvcmUsXG4uaW9uLWlvcy1zaGlydC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXNodWZmbGU6YmVmb3JlLFxuLmlvbi1pb3Mtc2h1ZmZsZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXNraXAtYmFja3dhcmQ6YmVmb3JlLFxuLmlvbi1pb3Mtc2tpcC1iYWNrd2FyZC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXNraXAtZm9yd2FyZDpiZWZvcmUsXG4uaW9uLWlvcy1za2lwLWZvcndhcmQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1zbm93OmJlZm9yZSxcbi5pb24taW9zLXNub3ctb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1zcGVlZG9tZXRlcjpiZWZvcmUsXG4uaW9uLWlvcy1zcGVlZG9tZXRlci1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXNxdWFyZTpiZWZvcmUsXG4uaW9uLWlvcy1zcXVhcmUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1zdGFyOmJlZm9yZSxcbi5pb24taW9zLXN0YXItaGFsZjpiZWZvcmUsXG4uaW9uLWlvcy1zdGFyLWhhbGYtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1zdGFyLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtc3RhdHM6YmVmb3JlLFxuLmlvbi1pb3Mtc3RhdHMtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy1zdG9wd2F0Y2g6YmVmb3JlLFxuLmlvbi1pb3Mtc3RvcHdhdGNoLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtc3Vid2F5OmJlZm9yZSxcbi5pb24taW9zLXN1YndheS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXN1bm55OmJlZm9yZSxcbi5pb24taW9zLXN1bm55LW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtc3dhcDpiZWZvcmUsXG4uaW9uLWlvcy1zd2FwLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtc3dpdGNoOmJlZm9yZSxcbi5pb24taW9zLXN3aXRjaC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXN5bmM6YmVmb3JlLFxuLmlvbi1pb3Mtc3luYy1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXRhYmxldC1sYW5kc2NhcGU6YmVmb3JlLFxuLmlvbi1pb3MtdGFibGV0LWxhbmRzY2FwZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXRhYmxldC1wb3J0cmFpdDpiZWZvcmUsXG4uaW9uLWlvcy10YWJsZXQtcG9ydHJhaXQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy10ZW5uaXNiYWxsOmJlZm9yZSxcbi5pb24taW9zLXRlbm5pc2JhbGwtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy10ZXh0OmJlZm9yZSxcbi5pb24taW9zLXRleHQtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy10aGVybW9tZXRlcjpiZWZvcmUsXG4uaW9uLWlvcy10aGVybW9tZXRlci1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXRodW1icy1kb3duOmJlZm9yZSxcbi5pb24taW9zLXRodW1icy1kb3duLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtdGh1bWJzLXVwOmJlZm9yZSxcbi5pb24taW9zLXRodW1icy11cC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXRodW5kZXJzdG9ybTpiZWZvcmUsXG4uaW9uLWlvcy10aHVuZGVyc3Rvcm0tb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy10aW1lOmJlZm9yZSxcbi5pb24taW9zLXRpbWUtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy10aW1lcjpiZWZvcmUsXG4uaW9uLWlvcy10aW1lci1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXRyYWluOmJlZm9yZSxcbi5pb24taW9zLXRyYWluLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtdHJhbnNnZW5kZXI6YmVmb3JlLFxuLmlvbi1pb3MtdHJhbnNnZW5kZXItb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy10cmFzaDpiZWZvcmUsXG4uaW9uLWlvcy10cmFzaC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXRyZW5kaW5nLWRvd246YmVmb3JlLFxuLmlvbi1pb3MtdHJlbmRpbmctZG93bi1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXRyZW5kaW5nLXVwOmJlZm9yZSxcbi5pb24taW9zLXRyZW5kaW5nLXVwLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtdHJvcGh5OmJlZm9yZSxcbi5pb24taW9zLXRyb3BoeS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXVtYnJlbGxhOmJlZm9yZSxcbi5pb24taW9zLXVtYnJlbGxhLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtdW5kbzpiZWZvcmUsXG4uaW9uLWlvcy11bmRvLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3MtdW5sb2NrOmJlZm9yZSxcbi5pb24taW9zLXVubG9jay1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXZpZGVvY2FtOmJlZm9yZSxcbi5pb24taW9zLXZpZGVvY2FtLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtdm9sdW1lLWRvd246YmVmb3JlLFxuLmlvbi1pb3Mtdm9sdW1lLWRvd24tb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy12b2x1bWUtbXV0ZTpiZWZvcmUsXG4uaW9uLWlvcy12b2x1bWUtbXV0ZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXZvbHVtZS1vZmY6YmVmb3JlLFxuLmlvbi1pb3Mtdm9sdW1lLW9mZi1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXZvbHVtZS11cDpiZWZvcmUsXG4uaW9uLWlvcy12b2x1bWUtdXAtb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy13YWxrOmJlZm9yZSxcbi5pb24taW9zLXdhbGstb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy13YXJuaW5nOmJlZm9yZSxcbi5pb24taW9zLXdhcm5pbmctb3V0bGluZTpiZWZvcmUsXG4uaW9uLWlvcy13YXRjaDpiZWZvcmUsXG4uaW9uLWlvcy13YXRjaC1vdXRsaW5lOmJlZm9yZSxcbi5pb24taW9zLXdhdGVyOmJlZm9yZSxcbi5pb24taW9zLXdhdGVyLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtd2lmaTpiZWZvcmUsXG4uaW9uLWlvcy13aWZpLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtd2luZTpiZWZvcmUsXG4uaW9uLWlvcy13aW5lLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1pb3Mtd29tYW46YmVmb3JlLFxuLmlvbi1pb3Mtd29tYW4tb3V0bGluZTpiZWZvcmUsXG4uaW9uLWxvZ28tYW5kcm9pZDpiZWZvcmUsXG4uaW9uLWxvZ28tYW5ndWxhcjpiZWZvcmUsXG4uaW9uLWxvZ28tYXBwbGU6YmVmb3JlLFxuLmlvbi1sb2dvLWJpdGNvaW46YmVmb3JlLFxuLmlvbi1sb2dvLWJ1ZmZlcjpiZWZvcmUsXG4uaW9uLWxvZ28tY2hyb21lOmJlZm9yZSxcbi5pb24tbG9nby1jb2RlcGVuOmJlZm9yZSxcbi5pb24tbG9nby1jc3MzOmJlZm9yZSxcbi5pb24tbG9nby1kZXNpZ25lcm5ld3M6YmVmb3JlLFxuLmlvbi1sb2dvLWRyaWJiYmxlOmJlZm9yZSxcbi5pb24tbG9nby1kcm9wYm94OmJlZm9yZSxcbi5pb24tbG9nby1ldXJvOmJlZm9yZSxcbi5pb24tbG9nby1mYWNlYm9vazpiZWZvcmUsXG4uaW9uLWxvZ28tZm91cnNxdWFyZTpiZWZvcmUsXG4uaW9uLWxvZ28tZnJlZWJzZC1kZXZpbDpiZWZvcmUsXG4uaW9uLWxvZ28tZ2l0aHViOmJlZm9yZSxcbi5pb24tbG9nby1nb29nbGU6YmVmb3JlLFxuLmlvbi1sb2dvLWdvb2dsZXBsdXM6YmVmb3JlLFxuLmlvbi1sb2dvLWhhY2tlcm5ld3M6YmVmb3JlLFxuLmlvbi1sb2dvLWh0bWw1OmJlZm9yZSxcbi5pb24tbG9nby1pbnN0YWdyYW06YmVmb3JlLFxuLmlvbi1sb2dvLWphdmFzY3JpcHQ6YmVmb3JlLFxuLmlvbi1sb2dvLWxpbmtlZGluOmJlZm9yZSxcbi5pb24tbG9nby1tYXJrZG93bjpiZWZvcmUsXG4uaW9uLWxvZ28tbm9kZWpzOmJlZm9yZSxcbi5pb24tbG9nby1vY3RvY2F0OmJlZm9yZSxcbi5pb24tbG9nby1waW50ZXJlc3Q6YmVmb3JlLFxuLmlvbi1sb2dvLXBsYXlzdGF0aW9uOmJlZm9yZSxcbi5pb24tbG9nby1weXRob246YmVmb3JlLFxuLmlvbi1sb2dvLXJlZGRpdDpiZWZvcmUsXG4uaW9uLWxvZ28tcnNzOmJlZm9yZSxcbi5pb24tbG9nby1zYXNzOmJlZm9yZSxcbi5pb24tbG9nby1za3lwZTpiZWZvcmUsXG4uaW9uLWxvZ28tc25hcGNoYXQ6YmVmb3JlLFxuLmlvbi1sb2dvLXN0ZWFtOmJlZm9yZSxcbi5pb24tbG9nby10dW1ibHI6YmVmb3JlLFxuLmlvbi1sb2dvLXR1eDpiZWZvcmUsXG4uaW9uLWxvZ28tdHdpdGNoOmJlZm9yZSxcbi5pb24tbG9nby10d2l0dGVyOmJlZm9yZSxcbi5pb24tbG9nby11c2Q6YmVmb3JlLFxuLmlvbi1sb2dvLXZpbWVvOmJlZm9yZSxcbi5pb24tbG9nby13aGF0c2FwcDpiZWZvcmUsXG4uaW9uLWxvZ28td2luZG93czpiZWZvcmUsXG4uaW9uLWxvZ28td29yZHByZXNzOmJlZm9yZSxcbi5pb24tbG9nby14Ym94OmJlZm9yZSxcbi5pb24tbG9nby15YWhvbzpiZWZvcmUsXG4uaW9uLWxvZ28teWVuOmJlZm9yZSxcbi5pb24tbG9nby15b3V0dWJlOmJlZm9yZSxcbi5pb24tbWQtYWRkOmJlZm9yZSxcbi5pb24tbWQtYWRkLWNpcmNsZTpiZWZvcmUsXG4uaW9uLW1kLWFsYXJtOmJlZm9yZSxcbi5pb24tbWQtYWxidW1zOmJlZm9yZSxcbi5pb24tbWQtYWxlcnQ6YmVmb3JlLFxuLmlvbi1tZC1hbWVyaWNhbi1mb290YmFsbDpiZWZvcmUsXG4uaW9uLW1kLWFuYWx5dGljczpiZWZvcmUsXG4uaW9uLW1kLWFwZXJ0dXJlOmJlZm9yZSxcbi5pb24tbWQtYXBwczpiZWZvcmUsXG4uaW9uLW1kLWFwcHN0b3JlOmJlZm9yZSxcbi5pb24tbWQtYXJjaGl2ZTpiZWZvcmUsXG4uaW9uLW1kLWFycm93LWJhY2s6YmVmb3JlLFxuLmlvbi1tZC1hcnJvdy1kb3duOmJlZm9yZSxcbi5pb24tbWQtYXJyb3ctZHJvcGRvd246YmVmb3JlLFxuLmlvbi1tZC1hcnJvdy1kcm9wZG93bi1jaXJjbGU6YmVmb3JlLFxuLmlvbi1tZC1hcnJvdy1kcm9wbGVmdDpiZWZvcmUsXG4uaW9uLW1kLWFycm93LWRyb3BsZWZ0LWNpcmNsZTpiZWZvcmUsXG4uaW9uLW1kLWFycm93LWRyb3ByaWdodDpiZWZvcmUsXG4uaW9uLW1kLWFycm93LWRyb3ByaWdodC1jaXJjbGU6YmVmb3JlLFxuLmlvbi1tZC1hcnJvdy1kcm9wdXA6YmVmb3JlLFxuLmlvbi1tZC1hcnJvdy1kcm9wdXAtY2lyY2xlOmJlZm9yZSxcbi5pb24tbWQtYXJyb3ctZm9yd2FyZDpiZWZvcmUsXG4uaW9uLW1kLWFycm93LXJvdW5kLWJhY2s6YmVmb3JlLFxuLmlvbi1tZC1hcnJvdy1yb3VuZC1kb3duOmJlZm9yZSxcbi5pb24tbWQtYXJyb3ctcm91bmQtZm9yd2FyZDpiZWZvcmUsXG4uaW9uLW1kLWFycm93LXJvdW5kLXVwOmJlZm9yZSxcbi5pb24tbWQtYXJyb3ctdXA6YmVmb3JlLFxuLmlvbi1tZC1hdDpiZWZvcmUsXG4uaW9uLW1kLWF0dGFjaDpiZWZvcmUsXG4uaW9uLW1kLWJhY2tzcGFjZTpiZWZvcmUsXG4uaW9uLW1kLWJhcmNvZGU6YmVmb3JlLFxuLmlvbi1tZC1iYXNlYmFsbDpiZWZvcmUsXG4uaW9uLW1kLWJhc2tldDpiZWZvcmUsXG4uaW9uLW1kLWJhc2tldGJhbGw6YmVmb3JlLFxuLmlvbi1tZC1iYXR0ZXJ5LWNoYXJnaW5nOmJlZm9yZSxcbi5pb24tbWQtYmF0dGVyeS1kZWFkOmJlZm9yZSxcbi5pb24tbWQtYmF0dGVyeS1mdWxsOmJlZm9yZSxcbi5pb24tbWQtYmVha2VyOmJlZm9yZSxcbi5pb24tbWQtYmVlcjpiZWZvcmUsXG4uaW9uLW1kLWJpY3ljbGU6YmVmb3JlLFxuLmlvbi1tZC1ibHVldG9vdGg6YmVmb3JlLFxuLmlvbi1tZC1ib2F0OmJlZm9yZSxcbi5pb24tbWQtYm9keTpiZWZvcmUsXG4uaW9uLW1kLWJvbmZpcmU6YmVmb3JlLFxuLmlvbi1tZC1ib29rOmJlZm9yZSxcbi5pb24tbWQtYm9va21hcms6YmVmb3JlLFxuLmlvbi1tZC1ib29rbWFya3M6YmVmb3JlLFxuLmlvbi1tZC1ib3d0aWU6YmVmb3JlLFxuLmlvbi1tZC1icmllZmNhc2U6YmVmb3JlLFxuLmlvbi1tZC1icm93c2VyczpiZWZvcmUsXG4uaW9uLW1kLWJydXNoOmJlZm9yZSxcbi5pb24tbWQtYnVnOmJlZm9yZSxcbi5pb24tbWQtYnVpbGQ6YmVmb3JlLFxuLmlvbi1tZC1idWxiOmJlZm9yZSxcbi5pb24tbWQtYnVzOmJlZm9yZSxcbi5pb24tbWQtY2FmZTpiZWZvcmUsXG4uaW9uLW1kLWNhbGN1bGF0b3I6YmVmb3JlLFxuLmlvbi1tZC1jYWxlbmRhcjpiZWZvcmUsXG4uaW9uLW1kLWNhbGw6YmVmb3JlLFxuLmlvbi1tZC1jYW1lcmE6YmVmb3JlLFxuLmlvbi1tZC1jYXI6YmVmb3JlLFxuLmlvbi1tZC1jYXJkOmJlZm9yZSxcbi5pb24tbWQtY2FydDpiZWZvcmUsXG4uaW9uLW1kLWNhc2g6YmVmb3JlLFxuLmlvbi1tZC1jaGF0Ym94ZXM6YmVmb3JlLFxuLmlvbi1tZC1jaGF0YnViYmxlczpiZWZvcmUsXG4uaW9uLW1kLWNoZWNrYm94OmJlZm9yZSxcbi5pb24tbWQtY2hlY2tib3gtb3V0bGluZTpiZWZvcmUsXG4uaW9uLW1kLWNoZWNrbWFyazpiZWZvcmUsXG4uaW9uLW1kLWNoZWNrbWFyay1jaXJjbGU6YmVmb3JlLFxuLmlvbi1tZC1jaGVja21hcmstY2lyY2xlLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1tZC1jbGlwYm9hcmQ6YmVmb3JlLFxuLmlvbi1tZC1jbG9jazpiZWZvcmUsXG4uaW9uLW1kLWNsb3NlOmJlZm9yZSxcbi5pb24tbWQtY2xvc2UtY2lyY2xlOmJlZm9yZSxcbi5pb24tbWQtY2xvc2VkLWNhcHRpb25pbmc6YmVmb3JlLFxuLmlvbi1tZC1jbG91ZDpiZWZvcmUsXG4uaW9uLW1kLWNsb3VkLWNpcmNsZTpiZWZvcmUsXG4uaW9uLW1kLWNsb3VkLWRvbmU6YmVmb3JlLFxuLmlvbi1tZC1jbG91ZC1kb3dubG9hZDpiZWZvcmUsXG4uaW9uLW1kLWNsb3VkLW91dGxpbmU6YmVmb3JlLFxuLmlvbi1tZC1jbG91ZC11cGxvYWQ6YmVmb3JlLFxuLmlvbi1tZC1jbG91ZHk6YmVmb3JlLFxuLmlvbi1tZC1jbG91ZHktbmlnaHQ6YmVmb3JlLFxuLmlvbi1tZC1jb2RlOmJlZm9yZSxcbi5pb24tbWQtY29kZS1kb3dubG9hZDpiZWZvcmUsXG4uaW9uLW1kLWNvZGUtd29ya2luZzpiZWZvcmUsXG4uaW9uLW1kLWNvZzpiZWZvcmUsXG4uaW9uLW1kLWNvbG9yLWZpbGw6YmVmb3JlLFxuLmlvbi1tZC1jb2xvci1maWx0ZXI6YmVmb3JlLFxuLmlvbi1tZC1jb2xvci1wYWxldHRlOmJlZm9yZSxcbi5pb24tbWQtY29sb3Itd2FuZDpiZWZvcmUsXG4uaW9uLW1kLWNvbXBhc3M6YmVmb3JlLFxuLmlvbi1tZC1jb25zdHJ1Y3Q6YmVmb3JlLFxuLmlvbi1tZC1jb250YWN0OmJlZm9yZSxcbi5pb24tbWQtY29udGFjdHM6YmVmb3JlLFxuLmlvbi1tZC1jb250cmFjdDpiZWZvcmUsXG4uaW9uLW1kLWNvbnRyYXN0OmJlZm9yZSxcbi5pb24tbWQtY29weTpiZWZvcmUsXG4uaW9uLW1kLWNyZWF0ZTpiZWZvcmUsXG4uaW9uLW1kLWNyb3A6YmVmb3JlLFxuLmlvbi1tZC1jdWJlOmJlZm9yZSxcbi5pb24tbWQtY3V0OmJlZm9yZSxcbi5pb24tbWQtZGVza3RvcDpiZWZvcmUsXG4uaW9uLW1kLWRpc2M6YmVmb3JlLFxuLmlvbi1tZC1kb2N1bWVudDpiZWZvcmUsXG4uaW9uLW1kLWRvbmUtYWxsOmJlZm9yZSxcbi5pb24tbWQtZG93bmxvYWQ6YmVmb3JlLFxuLmlvbi1tZC1lYXNlbDpiZWZvcmUsXG4uaW9uLW1kLWVnZzpiZWZvcmUsXG4uaW9uLW1kLWV4aXQ6YmVmb3JlLFxuLmlvbi1tZC1leHBhbmQ6YmVmb3JlLFxuLmlvbi1tZC1leWU6YmVmb3JlLFxuLmlvbi1tZC1leWUtb2ZmOmJlZm9yZSxcbi5pb24tbWQtZmFzdGZvcndhcmQ6YmVmb3JlLFxuLmlvbi1tZC1mZW1hbGU6YmVmb3JlLFxuLmlvbi1tZC1maWxpbmc6YmVmb3JlLFxuLmlvbi1tZC1maWxtOmJlZm9yZSxcbi5pb24tbWQtZmluZ2VyLXByaW50OmJlZm9yZSxcbi5pb24tbWQtZmxhZzpiZWZvcmUsXG4uaW9uLW1kLWZsYW1lOmJlZm9yZSxcbi5pb24tbWQtZmxhc2g6YmVmb3JlLFxuLmlvbi1tZC1mbGFzazpiZWZvcmUsXG4uaW9uLW1kLWZsb3dlcjpiZWZvcmUsXG4uaW9uLW1kLWZvbGRlcjpiZWZvcmUsXG4uaW9uLW1kLWZvbGRlci1vcGVuOmJlZm9yZSxcbi5pb24tbWQtZm9vdGJhbGw6YmVmb3JlLFxuLmlvbi1tZC1mdW5uZWw6YmVmb3JlLFxuLmlvbi1tZC1nYW1lLWNvbnRyb2xsZXItYTpiZWZvcmUsXG4uaW9uLW1kLWdhbWUtY29udHJvbGxlci1iOmJlZm9yZSxcbi5pb24tbWQtZ2l0LWJyYW5jaDpiZWZvcmUsXG4uaW9uLW1kLWdpdC1jb21taXQ6YmVmb3JlLFxuLmlvbi1tZC1naXQtY29tcGFyZTpiZWZvcmUsXG4uaW9uLW1kLWdpdC1tZXJnZTpiZWZvcmUsXG4uaW9uLW1kLWdpdC1uZXR3b3JrOmJlZm9yZSxcbi5pb24tbWQtZ2l0LXB1bGwtcmVxdWVzdDpiZWZvcmUsXG4uaW9uLW1kLWdsYXNzZXM6YmVmb3JlLFxuLmlvbi1tZC1nbG9iZTpiZWZvcmUsXG4uaW9uLW1kLWdyaWQ6YmVmb3JlLFxuLmlvbi1tZC1oYW1tZXI6YmVmb3JlLFxuLmlvbi1tZC1oYW5kOmJlZm9yZSxcbi5pb24tbWQtaGFwcHk6YmVmb3JlLFxuLmlvbi1tZC1oZWFkc2V0OmJlZm9yZSxcbi5pb24tbWQtaGVhcnQ6YmVmb3JlLFxuLmlvbi1tZC1oZWFydC1vdXRsaW5lOmJlZm9yZSxcbi5pb24tbWQtaGVscDpiZWZvcmUsXG4uaW9uLW1kLWhlbHAtYnVveTpiZWZvcmUsXG4uaW9uLW1kLWhlbHAtY2lyY2xlOmJlZm9yZSxcbi5pb24tbWQtaG9tZTpiZWZvcmUsXG4uaW9uLW1kLWljZS1jcmVhbTpiZWZvcmUsXG4uaW9uLW1kLWltYWdlOmJlZm9yZSxcbi5pb24tbWQtaW1hZ2VzOmJlZm9yZSxcbi5pb24tbWQtaW5maW5pdGU6YmVmb3JlLFxuLmlvbi1tZC1pbmZvcm1hdGlvbjpiZWZvcmUsXG4uaW9uLW1kLWluZm9ybWF0aW9uLWNpcmNsZTpiZWZvcmUsXG4uaW9uLW1kLWlvbmljOmJlZm9yZSxcbi5pb24tbWQtaW9uaXRyb246YmVmb3JlLFxuLmlvbi1tZC1qZXQ6YmVmb3JlLFxuLmlvbi1tZC1rZXk6YmVmb3JlLFxuLmlvbi1tZC1rZXlwYWQ6YmVmb3JlLFxuLmlvbi1tZC1sYXB0b3A6YmVmb3JlLFxuLmlvbi1tZC1sZWFmOmJlZm9yZSxcbi5pb24tbWQtbGluazpiZWZvcmUsXG4uaW9uLW1kLWxpc3Q6YmVmb3JlLFxuLmlvbi1tZC1saXN0LWJveDpiZWZvcmUsXG4uaW9uLW1kLWxvY2F0ZTpiZWZvcmUsXG4uaW9uLW1kLWxvY2s6YmVmb3JlLFxuLmlvbi1tZC1sb2ctaW46YmVmb3JlLFxuLmlvbi1tZC1sb2ctb3V0OmJlZm9yZSxcbi5pb24tbWQtbWFnbmV0OmJlZm9yZSxcbi5pb24tbWQtbWFpbDpiZWZvcmUsXG4uaW9uLW1kLW1haWwtb3BlbjpiZWZvcmUsXG4uaW9uLW1kLW1hbGU6YmVmb3JlLFxuLmlvbi1tZC1tYW46YmVmb3JlLFxuLmlvbi1tZC1tYXA6YmVmb3JlLFxuLmlvbi1tZC1tZWRhbDpiZWZvcmUsXG4uaW9uLW1kLW1lZGljYWw6YmVmb3JlLFxuLmlvbi1tZC1tZWRraXQ6YmVmb3JlLFxuLmlvbi1tZC1tZWdhcGhvbmU6YmVmb3JlLFxuLmlvbi1tZC1tZW51OmJlZm9yZSxcbi5pb24tbWQtbWljOmJlZm9yZSxcbi5pb24tbWQtbWljLW9mZjpiZWZvcmUsXG4uaW9uLW1kLW1pY3JvcGhvbmU6YmVmb3JlLFxuLmlvbi1tZC1tb29uOmJlZm9yZSxcbi5pb24tbWQtbW9yZTpiZWZvcmUsXG4uaW9uLW1kLW1vdmU6YmVmb3JlLFxuLmlvbi1tZC1tdXNpY2FsLW5vdGU6YmVmb3JlLFxuLmlvbi1tZC1tdXNpY2FsLW5vdGVzOmJlZm9yZSxcbi5pb24tbWQtbmF2aWdhdGU6YmVmb3JlLFxuLmlvbi1tZC1uby1zbW9raW5nOmJlZm9yZSxcbi5pb24tbWQtbm90aWZpY2F0aW9uczpiZWZvcmUsXG4uaW9uLW1kLW5vdGlmaWNhdGlvbnMtb2ZmOmJlZm9yZSxcbi5pb24tbWQtbm90aWZpY2F0aW9ucy1vdXRsaW5lOmJlZm9yZSxcbi5pb24tbWQtbnVjbGVhcjpiZWZvcmUsXG4uaW9uLW1kLW51dHJpdGlvbjpiZWZvcmUsXG4uaW9uLW1kLW9wZW46YmVmb3JlLFxuLmlvbi1tZC1vcHRpb25zOmJlZm9yZSxcbi5pb24tbWQtb3V0bGV0OmJlZm9yZSxcbi5pb24tbWQtcGFwZXI6YmVmb3JlLFxuLmlvbi1tZC1wYXBlci1wbGFuZTpiZWZvcmUsXG4uaW9uLW1kLXBhcnRseS1zdW5ueTpiZWZvcmUsXG4uaW9uLW1kLXBhdXNlOmJlZm9yZSxcbi5pb24tbWQtcGF3OmJlZm9yZSxcbi5pb24tbWQtcGVvcGxlOmJlZm9yZSxcbi5pb24tbWQtcGVyc29uOmJlZm9yZSxcbi5pb24tbWQtcGVyc29uLWFkZDpiZWZvcmUsXG4uaW9uLW1kLXBob25lLWxhbmRzY2FwZTpiZWZvcmUsXG4uaW9uLW1kLXBob25lLXBvcnRyYWl0OmJlZm9yZSxcbi5pb24tbWQtcGhvdG9zOmJlZm9yZSxcbi5pb24tbWQtcGllOmJlZm9yZSxcbi5pb24tbWQtcGluOmJlZm9yZSxcbi5pb24tbWQtcGludDpiZWZvcmUsXG4uaW9uLW1kLXBpenphOmJlZm9yZSxcbi5pb24tbWQtcGxhbmU6YmVmb3JlLFxuLmlvbi1tZC1wbGFuZXQ6YmVmb3JlLFxuLmlvbi1tZC1wbGF5OmJlZm9yZSxcbi5pb24tbWQtcG9kaXVtOmJlZm9yZSxcbi5pb24tbWQtcG93ZXI6YmVmb3JlLFxuLmlvbi1tZC1wcmljZXRhZzpiZWZvcmUsXG4uaW9uLW1kLXByaWNldGFnczpiZWZvcmUsXG4uaW9uLW1kLXByaW50OmJlZm9yZSxcbi5pb24tbWQtcHVsc2U6YmVmb3JlLFxuLmlvbi1tZC1xci1zY2FubmVyOmJlZm9yZSxcbi5pb24tbWQtcXVvdGU6YmVmb3JlLFxuLmlvbi1tZC1yYWRpbzpiZWZvcmUsXG4uaW9uLW1kLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlLFxuLmlvbi1tZC1yYWRpby1idXR0b24tb246YmVmb3JlLFxuLmlvbi1tZC1yYWlueTpiZWZvcmUsXG4uaW9uLW1kLXJlY29yZGluZzpiZWZvcmUsXG4uaW9uLW1kLXJlZG86YmVmb3JlLFxuLmlvbi1tZC1yZWZyZXNoOmJlZm9yZSxcbi5pb24tbWQtcmVmcmVzaC1jaXJjbGU6YmVmb3JlLFxuLmlvbi1tZC1yZW1vdmU6YmVmb3JlLFxuLmlvbi1tZC1yZW1vdmUtY2lyY2xlOmJlZm9yZSxcbi5pb24tbWQtcmVvcmRlcjpiZWZvcmUsXG4uaW9uLW1kLXJlcGVhdDpiZWZvcmUsXG4uaW9uLW1kLXJlc2l6ZTpiZWZvcmUsXG4uaW9uLW1kLXJlc3RhdXJhbnQ6YmVmb3JlLFxuLmlvbi1tZC1yZXR1cm4tbGVmdDpiZWZvcmUsXG4uaW9uLW1kLXJldHVybi1yaWdodDpiZWZvcmUsXG4uaW9uLW1kLXJldmVyc2UtY2FtZXJhOmJlZm9yZSxcbi5pb24tbWQtcmV3aW5kOmJlZm9yZSxcbi5pb24tbWQtcmliYm9uOmJlZm9yZSxcbi5pb24tbWQtcm9zZTpiZWZvcmUsXG4uaW9uLW1kLXNhZDpiZWZvcmUsXG4uaW9uLW1kLXNjaG9vbDpiZWZvcmUsXG4uaW9uLW1kLXNlYXJjaDpiZWZvcmUsXG4uaW9uLW1kLXNlbmQ6YmVmb3JlLFxuLmlvbi1tZC1zZXR0aW5nczpiZWZvcmUsXG4uaW9uLW1kLXNoYXJlOmJlZm9yZSxcbi5pb24tbWQtc2hhcmUtYWx0OmJlZm9yZSxcbi5pb24tbWQtc2hpcnQ6YmVmb3JlLFxuLmlvbi1tZC1zaHVmZmxlOmJlZm9yZSxcbi5pb24tbWQtc2tpcC1iYWNrd2FyZDpiZWZvcmUsXG4uaW9uLW1kLXNraXAtZm9yd2FyZDpiZWZvcmUsXG4uaW9uLW1kLXNub3c6YmVmb3JlLFxuLmlvbi1tZC1zcGVlZG9tZXRlcjpiZWZvcmUsXG4uaW9uLW1kLXNxdWFyZTpiZWZvcmUsXG4uaW9uLW1kLXNxdWFyZS1vdXRsaW5lOmJlZm9yZSxcbi5pb24tbWQtc3RhcjpiZWZvcmUsXG4uaW9uLW1kLXN0YXItaGFsZjpiZWZvcmUsXG4uaW9uLW1kLXN0YXItb3V0bGluZTpiZWZvcmUsXG4uaW9uLW1kLXN0YXRzOmJlZm9yZSxcbi5pb24tbWQtc3RvcHdhdGNoOmJlZm9yZSxcbi5pb24tbWQtc3Vid2F5OmJlZm9yZSxcbi5pb24tbWQtc3Vubnk6YmVmb3JlLFxuLmlvbi1tZC1zd2FwOmJlZm9yZSxcbi5pb24tbWQtc3dpdGNoOmJlZm9yZSxcbi5pb24tbWQtc3luYzpiZWZvcmUsXG4uaW9uLW1kLXRhYmxldC1sYW5kc2NhcGU6YmVmb3JlLFxuLmlvbi1tZC10YWJsZXQtcG9ydHJhaXQ6YmVmb3JlLFxuLmlvbi1tZC10ZW5uaXNiYWxsOmJlZm9yZSxcbi5pb24tbWQtdGV4dDpiZWZvcmUsXG4uaW9uLW1kLXRoZXJtb21ldGVyOmJlZm9yZSxcbi5pb24tbWQtdGh1bWJzLWRvd246YmVmb3JlLFxuLmlvbi1tZC10aHVtYnMtdXA6YmVmb3JlLFxuLmlvbi1tZC10aHVuZGVyc3Rvcm06YmVmb3JlLFxuLmlvbi1tZC10aW1lOmJlZm9yZSxcbi5pb24tbWQtdGltZXI6YmVmb3JlLFxuLmlvbi1tZC10cmFpbjpiZWZvcmUsXG4uaW9uLW1kLXRyYW5zZ2VuZGVyOmJlZm9yZSxcbi5pb24tbWQtdHJhc2g6YmVmb3JlLFxuLmlvbi1tZC10cmVuZGluZy1kb3duOmJlZm9yZSxcbi5pb24tbWQtdHJlbmRpbmctdXA6YmVmb3JlLFxuLmlvbi1tZC10cm9waHk6YmVmb3JlLFxuLmlvbi1tZC11bWJyZWxsYTpiZWZvcmUsXG4uaW9uLW1kLXVuZG86YmVmb3JlLFxuLmlvbi1tZC11bmxvY2s6YmVmb3JlLFxuLmlvbi1tZC12aWRlb2NhbTpiZWZvcmUsXG4uaW9uLW1kLXZvbHVtZS1kb3duOmJlZm9yZSxcbi5pb24tbWQtdm9sdW1lLW11dGU6YmVmb3JlLFxuLmlvbi1tZC12b2x1bWUtb2ZmOmJlZm9yZSxcbi5pb24tbWQtdm9sdW1lLXVwOmJlZm9yZSxcbi5pb24tbWQtd2FsazpiZWZvcmUsXG4uaW9uLW1kLXdhcm5pbmc6YmVmb3JlLFxuLmlvbi1tZC13YXRjaDpiZWZvcmUsXG4uaW9uLW1kLXdhdGVyOmJlZm9yZSxcbi5pb24tbWQtd2lmaTpiZWZvcmUsXG4uaW9uLW1kLXdpbmU6YmVmb3JlLFxuLmlvbi1tZC13b21hbjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIklvbmljb25zXCI7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uaW9uLWlvcy1hZGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDJcIjsgfVxuXG4uaW9uLWlvcy1hZGQtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAxXCI7IH1cblxuLmlvbi1pb3MtYWRkLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAwXCI7IH1cblxuLmlvbi1pb3MtYWRkLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDJcIjsgfVxuXG4uaW9uLWlvcy1hbGFybTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjOFwiOyB9XG5cbi5pb24taW9zLWFsYXJtLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzdcIjsgfVxuXG4uaW9uLWlvcy1hbGJ1bXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2FcIjsgfVxuXG4uaW9uLWlvcy1hbGJ1bXMtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjOVwiOyB9XG5cbi5pb24taW9zLWFsZXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA0XCI7IH1cblxuLmlvbi1pb3MtYWxlcnQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwM1wiOyB9XG5cbi5pb24taW9zLWFtZXJpY2FuLWZvb3RiYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7IH1cblxuLmlvbi1pb3MtYW1lcmljYW4tZm9vdGJhbGwtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiOyB9XG5cbi5pb24taW9zLWFuYWx5dGljczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjZVwiOyB9XG5cbi5pb24taW9zLWFuYWx5dGljcy1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NkXCI7IH1cblxuLmlvbi1pb3MtYXBlcnR1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDhcIjsgfVxuXG4uaW9uLWlvcy1hcGVydHVyZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA3XCI7IH1cblxuLmlvbi1pb3MtYXBwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYVwiOyB9XG5cbi5pb24taW9zLWFwcHMtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOVwiOyB9XG5cbi5pb24taW9zLWFwcHN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7IH1cblxuLmlvbi1pb3MtYXBwc3RvcmUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYlwiOyB9XG5cbi5pb24taW9zLWFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGVcIjsgfVxuXG4uaW9uLWlvcy1hcmNoaXZlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGRcIjsgfVxuXG4uaW9uLWlvcy1hcnJvdy1iYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NmXCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctYmFjay1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NmXCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkMFwiOyB9XG5cbi5pb24taW9zLWFycm93LWRvd24tb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkMFwiOyB9XG5cbi5pb24taW9zLWFycm93LWRyb3Bkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEwXCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctZHJvcGRvd24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBmXCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctZHJvcGRvd24tY2lyY2xlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGZcIjsgfVxuXG4uaW9uLWlvcy1hcnJvdy1kcm9wZG93bi1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEwXCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctZHJvcGxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTJcIjsgfVxuXG4uaW9uLWlvcy1hcnJvdy1kcm9wbGVmdC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjsgfVxuXG4uaW9uLWlvcy1hcnJvdy1kcm9wbGVmdC1jaXJjbGUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMVwiOyB9XG5cbi5pb24taW9zLWFycm93LWRyb3BsZWZ0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTJcIjsgfVxuXG4uaW9uLWlvcy1hcnJvdy1kcm9wcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTRcIjsgfVxuXG4uaW9uLWlvcy1hcnJvdy1kcm9wcmlnaHQtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEzXCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctZHJvcHJpZ2h0LWNpcmNsZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEzXCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctZHJvcHJpZ2h0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTRcIjsgfVxuXG4uaW9uLWlvcy1hcnJvdy1kcm9wdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTZcIjsgfVxuXG4uaW9uLWlvcy1hcnJvdy1kcm9wdXAtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE1XCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctZHJvcHVwLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE1XCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctZHJvcHVwLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTZcIjsgfVxuXG4uaW9uLWlvcy1hcnJvdy1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QxXCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctZm9yd2FyZC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QxXCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctcm91bmQtYmFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExN1wiOyB9XG5cbi5pb24taW9zLWFycm93LXJvdW5kLWJhY2stb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExN1wiOyB9XG5cbi5pb24taW9zLWFycm93LXJvdW5kLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMThcIjsgfVxuXG4uaW9uLWlvcy1hcnJvdy1yb3VuZC1kb3duLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMThcIjsgfVxuXG4uaW9uLWlvcy1hcnJvdy1yb3VuZC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE5XCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctcm91bmQtZm9yd2FyZC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE5XCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctcm91bmQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWFcIjsgfVxuXG4uaW9uLWlvcy1hcnJvdy1yb3VuZC11cC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFhXCI7IH1cblxuLmlvbi1pb3MtYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDhcIjsgfVxuXG4uaW9uLWlvcy1hcnJvdy11cC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q4XCI7IH1cblxuLmlvbi1pb3MtYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGFcIjsgfVxuXG4uaW9uLWlvcy1hdC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q5XCI7IH1cblxuLmlvbi1pb3MtYXR0YWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFiXCI7IH1cblxuLmlvbi1pb3MtYXR0YWNoLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWJcIjsgfVxuXG4uaW9uLWlvcy1iYWNrc3BhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWRcIjsgfVxuXG4uaW9uLWlvcy1iYWNrc3BhY2Utb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExY1wiOyB9XG5cbi5pb24taW9zLWJhcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGNcIjsgfVxuXG4uaW9uLWlvcy1iYXJjb2RlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGJcIjsgfVxuXG4uaW9uLWlvcy1iYXNlYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkZVwiOyB9XG5cbi5pb24taW9zLWJhc2ViYWxsLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGRcIjsgfVxuXG4uaW9uLWlvcy1iYXNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWZcIjsgfVxuXG4uaW9uLWlvcy1iYXNrZXQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZVwiOyB9XG5cbi5pb24taW9zLWJhc2tldGJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTBcIjsgfVxuXG4uaW9uLWlvcy1iYXNrZXRiYWxsLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGZcIjsgfVxuXG4uaW9uLWlvcy1iYXR0ZXJ5LWNoYXJnaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIwXCI7IH1cblxuLmlvbi1pb3MtYmF0dGVyeS1jaGFyZ2luZy1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIwXCI7IH1cblxuLmlvbi1pb3MtYmF0dGVyeS1kZWFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIxXCI7IH1cblxuLmlvbi1pb3MtYmF0dGVyeS1kZWFkLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjFcIjsgfVxuXG4uaW9uLWlvcy1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjJcIjsgfVxuXG4uaW9uLWlvcy1iYXR0ZXJ5LWZ1bGwtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMlwiOyB9XG5cbi5pb24taW9zLWJlYWtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNFwiOyB9XG5cbi5pb24taW9zLWJlYWtlci1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIzXCI7IH1cblxuLmlvbi1pb3MtYmVlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNlwiOyB9XG5cbi5pb24taW9zLWJlZXItb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNVwiOyB9XG5cbi5pb24taW9zLWJpY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjsgfVxuXG4uaW9uLWlvcy1iaWN5Y2xlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjsgfVxuXG4uaW9uLWlvcy1ibHVldG9vdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjhcIjsgfVxuXG4uaW9uLWlvcy1ibHVldG9vdGgtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOFwiOyB9XG5cbi5pb24taW9zLWJvYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmFcIjsgfVxuXG4uaW9uLWlvcy1ib2F0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjlcIjsgfVxuXG4uaW9uLWlvcy1ib2R5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U0XCI7IH1cblxuLmlvbi1pb3MtYm9keS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UzXCI7IH1cblxuLmlvbi1pb3MtYm9uZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyY1wiOyB9XG5cbi5pb24taW9zLWJvbmZpcmUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYlwiOyB9XG5cbi5pb24taW9zLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZThcIjsgfVxuXG4uaW9uLWlvcy1ib29rLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTdcIjsgfVxuXG4uaW9uLWlvcy1ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyZVwiOyB9XG5cbi5pb24taW9zLWJvb2ttYXJrLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmRcIjsgfVxuXG4uaW9uLWlvcy1ib29rbWFya3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWFcIjsgfVxuXG4uaW9uLWlvcy1ib29rbWFya3Mtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlOVwiOyB9XG5cbi5pb24taW9zLWJvd3RpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzMFwiOyB9XG5cbi5pb24taW9zLWJvd3RpZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJmXCI7IH1cblxuLmlvbi1pb3MtYnJpZWZjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VlXCI7IH1cblxuLmlvbi1pb3MtYnJpZWZjYXNlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWRcIjsgfVxuXG4uaW9uLWlvcy1icm93c2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmMFwiOyB9XG5cbi5pb24taW9zLWJyb3dzZXJzLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWZcIjsgfVxuXG4uaW9uLWlvcy1icnVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzMlwiOyB9XG5cbi5pb24taW9zLWJydXNoLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzFcIjsgfVxuXG4uaW9uLWlvcy1idWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzRcIjsgfVxuXG4uaW9uLWlvcy1idWctb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzM1wiOyB9XG5cbi5pb24taW9zLWJ1aWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM2XCI7IH1cblxuLmlvbi1pb3MtYnVpbGQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzNVwiOyB9XG5cbi5pb24taW9zLWJ1bGI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzhcIjsgfVxuXG4uaW9uLWlvcy1idWxiLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzdcIjsgfVxuXG4uaW9uLWlvcy1idXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2FcIjsgfVxuXG4uaW9uLWlvcy1idXMtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzOVwiOyB9XG5cbi5pb24taW9zLWNhZmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2NcIjsgfVxuXG4uaW9uLWlvcy1jYWZlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2JcIjsgfVxuXG4uaW9uLWlvcy1jYWxjdWxhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2YyXCI7IH1cblxuLmlvbi1pb3MtY2FsY3VsYXRvci1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2YxXCI7IH1cblxuLmlvbi1pb3MtY2FsZW5kYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjRcIjsgfVxuXG4uaW9uLWlvcy1jYWxlbmRhci1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2YzXCI7IH1cblxuLmlvbi1pb3MtY2FsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZVwiOyB9XG5cbi5pb24taW9zLWNhbGwtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZFwiOyB9XG5cbi5pb24taW9zLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmNlwiOyB9XG5cbi5pb24taW9zLWNhbWVyYS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y1XCI7IH1cblxuLmlvbi1pb3MtY2FyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQwXCI7IH1cblxuLmlvbi1pb3MtY2FyLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2ZcIjsgfVxuXG4uaW9uLWlvcy1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQyXCI7IH1cblxuLmlvbi1pb3MtY2FyZC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQxXCI7IH1cblxuLmlvbi1pb3MtY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmOFwiOyB9XG5cbi5pb24taW9zLWNhcnQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmN1wiOyB9XG5cbi5pb24taW9zLWNhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDRcIjsgfVxuXG4uaW9uLWlvcy1jYXNoLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDNcIjsgfVxuXG4uaW9uLWlvcy1jaGF0Ym94ZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmFcIjsgfVxuXG4uaW9uLWlvcy1jaGF0Ym94ZXMtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmOVwiOyB9XG5cbi5pb24taW9zLWNoYXRidWJibGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ2XCI7IH1cblxuLmlvbi1pb3MtY2hhdGJ1YmJsZXMtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NVwiOyB9XG5cbi5pb24taW9zLWNoZWNrYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ4XCI7IH1cblxuLmlvbi1pb3MtY2hlY2tib3gtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0N1wiOyB9XG5cbi5pb24taW9zLWNoZWNrbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZlwiOyB9XG5cbi5pb24taW9zLWNoZWNrbWFyay1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGFcIjsgfVxuXG4uaW9uLWlvcy1jaGVja21hcmstY2lyY2xlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDlcIjsgfVxuXG4uaW9uLWlvcy1jaGVja21hcmstb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZlwiOyB9XG5cbi5pb24taW9zLWNsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0Y1wiOyB9XG5cbi5pb24taW9zLWNsaXBib2FyZC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRiXCI7IH1cblxuLmlvbi1pb3MtY2xvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDNcIjsgfVxuXG4uaW9uLWlvcy1jbG9jay1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDAyXCI7IH1cblxuLmlvbi1pb3MtY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDZcIjsgfVxuXG4uaW9uLWlvcy1jbG9zZS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGVcIjsgfVxuXG4uaW9uLWlvcy1jbG9zZS1jaXJjbGUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZFwiOyB9XG5cbi5pb24taW9zLWNsb3NlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDZcIjsgfVxuXG4uaW9uLWlvcy1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MFwiOyB9XG5cbi5pb24taW9zLWNsb3NlZC1jYXB0aW9uaW5nLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGZcIjsgfVxuXG4uaW9uLWlvcy1jbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwY1wiOyB9XG5cbi5pb24taW9zLWNsb3VkLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MlwiOyB9XG5cbi5pb24taW9zLWNsb3VkLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUxXCI7IH1cblxuLmlvbi1pb3MtY2xvdWQtZG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NFwiOyB9XG5cbi5pb24taW9zLWNsb3VkLWRvbmUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1M1wiOyB9XG5cbi5pb24taW9zLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA4XCI7IH1cblxuLmlvbi1pb3MtY2xvdWQtZG93bmxvYWQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwN1wiOyB9XG5cbi5pb24taW9zLWNsb3VkLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDlcIjsgfVxuXG4uaW9uLWlvcy1jbG91ZC11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGJcIjsgfVxuXG4uaW9uLWlvcy1jbG91ZC11cGxvYWQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwYVwiOyB9XG5cbi5pb24taW9zLWNsb3VkeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxMFwiOyB9XG5cbi5pb24taW9zLWNsb3VkeS1uaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwZVwiOyB9XG5cbi5pb24taW9zLWNsb3VkeS1uaWdodC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBkXCI7IH1cblxuLmlvbi1pb3MtY2xvdWR5LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGZcIjsgfVxuXG4uaW9uLWlvcy1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7IH1cblxuLmlvbi1pb3MtY29kZS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiOyB9XG5cbi5pb24taW9zLWNvZGUtZG93bmxvYWQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiOyB9XG5cbi5pb24taW9zLWNvZGUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiOyB9XG5cbi5pb24taW9zLWNvZGUtd29ya2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NlwiOyB9XG5cbi5pb24taW9zLWNvZGUtd29ya2luZy1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU2XCI7IH1cblxuLmlvbi1pb3MtY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEyXCI7IH1cblxuLmlvbi1pb3MtY29nLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTFcIjsgfVxuXG4uaW9uLWlvcy1jb2xvci1maWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU5XCI7IH1cblxuLmlvbi1pb3MtY29sb3ItZmlsbC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7IH1cblxuLmlvbi1pb3MtY29sb3ItZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE0XCI7IH1cblxuLmlvbi1pb3MtY29sb3ItZmlsdGVyLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTNcIjsgfVxuXG4uaW9uLWlvcy1jb2xvci1wYWxldHRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTViXCI7IH1cblxuLmlvbi1pb3MtY29sb3ItcGFsZXR0ZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVhXCI7IH1cblxuLmlvbi1pb3MtY29sb3Itd2FuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNlwiOyB9XG5cbi5pb24taW9zLWNvbG9yLXdhbmQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNVwiOyB9XG5cbi5pb24taW9zLWNvbXBhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWRcIjsgfVxuXG4uaW9uLWlvcy1jb21wYXNzLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWNcIjsgfVxuXG4uaW9uLWlvcy1jb25zdHJ1Y3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWZcIjsgfVxuXG4uaW9uLWlvcy1jb25zdHJ1Y3Qtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZVwiOyB9XG5cbi5pb24taW9zLWNvbnRhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWFcIjsgfVxuXG4uaW9uLWlvcy1jb250YWN0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTlcIjsgfVxuXG4uaW9uLWlvcy1jb250YWN0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MVwiOyB9XG5cbi5pb24taW9zLWNvbnRhY3RzLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjBcIjsgfVxuXG4uaW9uLWlvcy1jb250cmFjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MlwiOyB9XG5cbi5pb24taW9zLWNvbnRyYWN0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjJcIjsgfVxuXG4uaW9uLWlvcy1jb250cmFzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2M1wiOyB9XG5cbi5pb24taW9zLWNvbnRyYXN0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjNcIjsgfVxuXG4uaW9uLWlvcy1jb3B5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFjXCI7IH1cblxuLmlvbi1pb3MtY29weS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFiXCI7IH1cblxuLmlvbi1pb3MtY3JlYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY1XCI7IH1cblxuLmlvbi1pb3MtY3JlYXRlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjRcIjsgfVxuXG4uaW9uLWlvcy1jcm9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFlXCI7IH1cblxuLmlvbi1pb3MtY3JvcC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY2XCI7IH1cblxuLmlvbi1pb3MtY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OFwiOyB9XG5cbi5pb24taW9zLWN1YmUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2N1wiOyB9XG5cbi5pb24taW9zLWN1dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YVwiOyB9XG5cbi5pb24taW9zLWN1dC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY5XCI7IH1cblxuLmlvbi1pb3MtZGVza3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2Y1wiOyB9XG5cbi5pb24taW9zLWRlc2t0b3Atb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YlwiOyB9XG5cbi5pb24taW9zLWRpc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmVcIjsgfVxuXG4uaW9uLWlvcy1kaXNjLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmRcIjsgfVxuXG4uaW9uLWlvcy1kb2N1bWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MFwiOyB9XG5cbi5pb24taW9zLWRvY3VtZW50LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmZcIjsgfVxuXG4uaW9uLWlvcy1kb25lLWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiOyB9XG5cbi5pb24taW9zLWRvbmUtYWxsLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzFcIjsgfVxuXG4uaW9uLWlvcy1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyMFwiOyB9XG5cbi5pb24taW9zLWRvd25sb2FkLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWZcIjsgfVxuXG4uaW9uLWlvcy1lYXNlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3M1wiOyB9XG5cbi5pb24taW9zLWVhc2VsLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzJcIjsgfVxuXG4uaW9uLWlvcy1lZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzVcIjsgfVxuXG4uaW9uLWlvcy1lZ2ctb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NFwiOyB9XG5cbi5pb24taW9zLWV4aXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzdcIjsgfVxuXG4uaW9uLWlvcy1leGl0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzZcIjsgfVxuXG4uaW9uLWlvcy1leHBhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzhcIjsgfVxuXG4uaW9uLWlvcy1leHBhbmQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3OFwiOyB9XG5cbi5pb24taW9zLWV5ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyNVwiOyB9XG5cbi5pb24taW9zLWV5ZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2FcIjsgfVxuXG4uaW9uLWlvcy1leWUtb2ZmLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzlcIjsgfVxuXG4uaW9uLWlvcy1leWUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyNFwiOyB9XG5cbi5pb24taW9zLWZhc3Rmb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI3XCI7IH1cblxuLmlvbi1pb3MtZmFzdGZvcndhcmQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyNlwiOyB9XG5cbi5pb24taW9zLWZlbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3YlwiOyB9XG5cbi5pb24taW9zLWZlbWFsZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdiXCI7IH1cblxuLmlvbi1pb3MtZmlsaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI5XCI7IH1cblxuLmlvbi1pb3MtZmlsaW5nLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjhcIjsgfVxuXG4uaW9uLWlvcy1maWxtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJiXCI7IH1cblxuLmlvbi1pb3MtZmlsbS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJhXCI7IH1cblxuLmlvbi1pb3MtZmluZ2VyLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdjXCI7IH1cblxuLmlvbi1pb3MtZmluZ2VyLXByaW50LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2NcIjsgfVxuXG4uaW9uLWlvcy1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJkXCI7IH1cblxuLmlvbi1pb3MtZmxhZy1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJjXCI7IH1cblxuLmlvbi1pb3MtZmxhbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmZcIjsgfVxuXG4uaW9uLWlvcy1mbGFtZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJlXCI7IH1cblxuLmlvbi1pb3MtZmxhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2VcIjsgfVxuXG4uaW9uLWlvcy1mbGFzaC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdkXCI7IH1cblxuLmlvbi1pb3MtZmxhc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzFcIjsgfVxuXG4uaW9uLWlvcy1mbGFzay1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMwXCI7IH1cblxuLmlvbi1pb3MtZmxvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMzXCI7IH1cblxuLmlvbi1pb3MtZmxvd2VyLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzJcIjsgfVxuXG4uaW9uLWlvcy1mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzVcIjsgfVxuXG4uaW9uLWlvcy1mb2xkZXItb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MFwiOyB9XG5cbi5pb24taW9zLWZvbGRlci1vcGVuLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2ZcIjsgfVxuXG4uaW9uLWlvcy1mb2xkZXItb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzNFwiOyB9XG5cbi5pb24taW9zLWZvb3RiYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDM3XCI7IH1cblxuLmlvbi1pb3MtZm9vdGJhbGwtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzNlwiOyB9XG5cbi5pb24taW9zLWZ1bm5lbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MlwiOyB9XG5cbi5pb24taW9zLWZ1bm5lbC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgxXCI7IH1cblxuLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzlcIjsgfVxuXG4uaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDM4XCI7IH1cblxuLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0M2JcIjsgfVxuXG4uaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYi1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDNhXCI7IH1cblxuLmlvbi1pb3MtZ2l0LWJyYW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4M1wiOyB9XG5cbi5pb24taW9zLWdpdC1icmFuY2gtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4M1wiOyB9XG5cbi5pb24taW9zLWdpdC1jb21taXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODRcIjsgfVxuXG4uaW9uLWlvcy1naXQtY29tbWl0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODRcIjsgfVxuXG4uaW9uLWlvcy1naXQtY29tcGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NVwiOyB9XG5cbi5pb24taW9zLWdpdC1jb21wYXJlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODVcIjsgfVxuXG4uaW9uLWlvcy1naXQtbWVyZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODZcIjsgfVxuXG4uaW9uLWlvcy1naXQtbWVyZ2Utb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NlwiOyB9XG5cbi5pb24taW9zLWdpdC1uZXR3b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg3XCI7IH1cblxuLmlvbi1pb3MtZ2l0LW5ldHdvcmstb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4N1wiOyB9XG5cbi5pb24taW9zLWdpdC1wdWxsLXJlcXVlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODhcIjsgfVxuXG4uaW9uLWlvcy1naXQtcHVsbC1yZXF1ZXN0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODhcIjsgfVxuXG4uaW9uLWlvcy1nbGFzc2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDNmXCI7IH1cblxuLmlvbi1pb3MtZ2xhc3Nlcy1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDNlXCI7IH1cblxuLmlvbi1pb3MtZ2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGFcIjsgfVxuXG4uaW9uLWlvcy1nbG9iZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg5XCI7IH1cblxuLmlvbi1pb3MtZ3JpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4Y1wiOyB9XG5cbi5pb24taW9zLWdyaWQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YlwiOyB9XG5cbi5pb24taW9zLWhhbW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4ZVwiOyB9XG5cbi5pb24taW9zLWhhbW1lci1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThkXCI7IH1cblxuLmlvbi1pb3MtaGFuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MFwiOyB9XG5cbi5pb24taW9zLWhhbmQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4ZlwiOyB9XG5cbi5pb24taW9zLWhhcHB5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkyXCI7IH1cblxuLmlvbi1pb3MtaGFwcHktb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MVwiOyB9XG5cbi5pb24taW9zLWhlYWRzZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTRcIjsgfVxuXG4uaW9uLWlvcy1oZWFkc2V0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTNcIjsgfVxuXG4uaW9uLWlvcy1oZWFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0M1wiOyB9XG5cbi5pb24taW9zLWhlYXJ0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NDJcIjsgfVxuXG4uaW9uLWlvcy1oZWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDQ2XCI7IH1cblxuLmlvbi1pb3MtaGVscC1idW95OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk2XCI7IH1cblxuLmlvbi1pb3MtaGVscC1idW95LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjsgfVxuXG4uaW9uLWlvcy1oZWxwLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OFwiOyB9XG5cbi5pb24taW9zLWhlbHAtY2lyY2xlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTdcIjsgfVxuXG4uaW9uLWlvcy1oZWxwLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NDZcIjsgfVxuXG4uaW9uLWlvcy1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDQ4XCI7IH1cblxuLmlvbi1pb3MtaG9tZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDQ3XCI7IH1cblxuLmlvbi1pb3MtaWNlLWNyZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlhXCI7IH1cblxuLmlvbi1pb3MtaWNlLWNyZWFtLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTlcIjsgfVxuXG4uaW9uLWlvcy1pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5Y1wiOyB9XG5cbi5pb24taW9zLWltYWdlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWJcIjsgfVxuXG4uaW9uLWlvcy1pbWFnZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWVcIjsgfVxuXG4uaW9uLWlvcy1pbWFnZXMtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZFwiOyB9XG5cbi5pb24taW9zLWluZmluaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRhXCI7IH1cblxuLmlvbi1pb3MtaW5maW5pdGUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0OVwiOyB9XG5cbi5pb24taW9zLWluZm9ybWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRkXCI7IH1cblxuLmlvbi1pb3MtaW5mb3JtYXRpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEwXCI7IH1cblxuLmlvbi1pb3MtaW5mb3JtYXRpb24tY2lyY2xlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWZcIjsgfVxuXG4uaW9uLWlvcy1pbmZvcm1hdGlvbi1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRkXCI7IH1cblxuLmlvbi1pb3MtaW9uaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTFcIjsgfVxuXG4uaW9uLWlvcy1pb25pYy1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRlXCI7IH1cblxuLmlvbi1pb3MtaW9uaXRyb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTNcIjsgfVxuXG4uaW9uLWlvcy1pb25pdHJvbi1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7IH1cblxuLmlvbi1pb3MtamV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE1XCI7IH1cblxuLmlvbi1pb3MtamV0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTRcIjsgfVxuXG4uaW9uLWlvcy1rZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTdcIjsgfVxuXG4uaW9uLWlvcy1rZXktb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNlwiOyB9XG5cbi5pb24taW9zLWtleXBhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1MFwiOyB9XG5cbi5pb24taW9zLWtleXBhZC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRmXCI7IH1cblxuLmlvbi1pb3MtbGFwdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7IH1cblxuLmlvbi1pb3MtbGFwdG9wLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYThcIjsgfVxuXG4uaW9uLWlvcy1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFhXCI7IH1cblxuLmlvbi1pb3MtbGVhZi1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE5XCI7IH1cblxuLmlvbi1pb3MtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYVwiOyB9XG5cbi5pb24taW9zLWxpbmstb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYVwiOyB9XG5cbi5pb24taW9zLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTRcIjsgfVxuXG4uaW9uLWlvcy1saXN0LWJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhY1wiOyB9XG5cbi5pb24taW9zLWxpc3QtYm94LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWJcIjsgfVxuXG4uaW9uLWlvcy1saXN0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTRcIjsgfVxuXG4uaW9uLWlvcy1sb2NhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWVcIjsgfVxuXG4uaW9uLWlvcy1sb2NhdGUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhZFwiOyB9XG5cbi5pb24taW9zLWxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjBcIjsgfVxuXG4uaW9uLWlvcy1sb2NrLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWZcIjsgfVxuXG4uaW9uLWlvcy1sb2ctaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjFcIjsgfVxuXG4uaW9uLWlvcy1sb2ctaW4tb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiMVwiOyB9XG5cbi5pb24taW9zLWxvZy1vdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjJcIjsgfVxuXG4uaW9uLWlvcy1sb2ctb3V0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjJcIjsgfVxuXG4uaW9uLWlvcy1tYWduZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjRcIjsgfVxuXG4uaW9uLWlvcy1tYWduZXQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiM1wiOyB9XG5cbi5pb24taW9zLW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjhcIjsgfVxuXG4uaW9uLWlvcy1tYWlsLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjZcIjsgfVxuXG4uaW9uLWlvcy1tYWlsLW9wZW4tb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNVwiOyB9XG5cbi5pb24taW9zLW1haWwtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiN1wiOyB9XG5cbi5pb24taW9zLW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjlcIjsgfVxuXG4uaW9uLWlvcy1tYWxlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjlcIjsgfVxuXG4uaW9uLWlvcy1tYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmJcIjsgfVxuXG4uaW9uLWlvcy1tYW4tb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiYVwiOyB9XG5cbi5pb24taW9zLW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiZFwiOyB9XG5cbi5pb24taW9zLW1hcC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJjXCI7IH1cblxuLmlvbi1pb3MtbWVkYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmZcIjsgfVxuXG4uaW9uLWlvcy1tZWRhbC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJlXCI7IH1cblxuLmlvbi1pb3MtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1Y1wiOyB9XG5cbi5pb24taW9zLW1lZGljYWwtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1YlwiOyB9XG5cbi5pb24taW9zLW1lZGtpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1ZVwiOyB9XG5cbi5pb24taW9zLW1lZGtpdC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDVkXCI7IH1cblxuLmlvbi1pb3MtbWVnYXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMxXCI7IH1cblxuLmlvbi1pb3MtbWVnYXBob25lLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzBcIjsgfVxuXG4uaW9uLWlvcy1tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMzXCI7IH1cblxuLmlvbi1pb3MtbWVudS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMyXCI7IH1cblxuLmlvbi1pb3MtbWljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDYxXCI7IH1cblxuLmlvbi1pb3MtbWljLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1ZlwiOyB9XG5cbi5pb24taW9zLW1pYy1vZmYtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNFwiOyB9XG5cbi5pb24taW9zLW1pYy1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDYwXCI7IH1cblxuLmlvbi1pb3MtbWljcm9waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNlwiOyB9XG5cbi5pb24taW9zLW1pY3JvcGhvbmUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNVwiOyB9XG5cbi5pb24taW9zLW1vb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjhcIjsgfVxuXG4uaW9uLWlvcy1tb29uLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjdcIjsgfVxuXG4uaW9uLWlvcy1tb3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM4XCI7IH1cblxuLmlvbi1pb3MtbW9yZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM3XCI7IH1cblxuLmlvbi1pb3MtbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYlwiOyB9XG5cbi5pb24taW9zLW1vdmUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYlwiOyB9XG5cbi5pb24taW9zLW11c2ljYWwtbm90ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2YlwiOyB9XG5cbi5pb24taW9zLW11c2ljYWwtbm90ZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNjXCI7IH1cblxuLmlvbi1pb3MtbXVzaWNhbC1ub3RlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2Y1wiOyB9XG5cbi5pb24taW9zLW11c2ljYWwtbm90ZXMtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZFwiOyB9XG5cbi5pb24taW9zLW5hdmlnYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDZlXCI7IH1cblxuLmlvbi1pb3MtbmF2aWdhdGUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2ZFwiOyB9XG5cbi5pb24taW9zLW5vLXNtb2tpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2ZcIjsgfVxuXG4uaW9uLWlvcy1uby1zbW9raW5nLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2VcIjsgfVxuXG4uaW9uLWlvcy1ub3RpZmljYXRpb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQzXCI7IH1cblxuLmlvbi1pb3Mtbm90aWZpY2F0aW9ucy1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDFcIjsgfVxuXG4uaW9uLWlvcy1ub3RpZmljYXRpb25zLW9mZi1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQwXCI7IH1cblxuLmlvbi1pb3Mtbm90aWZpY2F0aW9ucy1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQyXCI7IH1cblxuLmlvbi1pb3MtbnVjbGVhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNVwiOyB9XG5cbi5pb24taW9zLW51Y2xlYXItb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNFwiOyB9XG5cbi5pb24taW9zLW51dHJpdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3MFwiOyB9XG5cbi5pb24taW9zLW51dHJpdGlvbi1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDZmXCI7IH1cblxuLmlvbi1pb3Mtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkN1wiOyB9XG5cbi5pb24taW9zLW9wZW4tb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNlwiOyB9XG5cbi5pb24taW9zLW9wdGlvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDlcIjsgfVxuXG4uaW9uLWlvcy1vcHRpb25zLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDhcIjsgfVxuXG4uaW9uLWlvcy1vdXRsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGJcIjsgfVxuXG4uaW9uLWlvcy1vdXRsZXQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkYVwiOyB9XG5cbi5pb24taW9zLXBhcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDcyXCI7IH1cblxuLmlvbi1pb3MtcGFwZXItb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3MVwiOyB9XG5cbi5pb24taW9zLXBhcGVyLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRkXCI7IH1cblxuLmlvbi1pb3MtcGFwZXItcGxhbmUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkY1wiOyB9XG5cbi5pb24taW9zLXBhcnRseS1zdW5ueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkZlwiOyB9XG5cbi5pb24taW9zLXBhcnRseS1zdW5ueS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRlXCI7IH1cblxuLmlvbi1pb3MtcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzhcIjsgfVxuXG4uaW9uLWlvcy1wYXVzZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDc3XCI7IH1cblxuLmlvbi1pb3MtcGF3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDdhXCI7IH1cblxuLmlvbi1pb3MtcGF3LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzlcIjsgfVxuXG4uaW9uLWlvcy1wZW9wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0N2NcIjsgfVxuXG4uaW9uLWlvcy1wZW9wbGUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3YlwiOyB9XG5cbi5pb24taW9zLXBlcnNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3ZVwiOyB9XG5cbi5pb24taW9zLXBlcnNvbi1hZGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTFcIjsgfVxuXG4uaW9uLWlvcy1wZXJzb24tYWRkLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTBcIjsgfVxuXG4uaW9uLWlvcy1wZXJzb24tb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3ZFwiOyB9XG5cbi5pb24taW9zLXBob25lLWxhbmRzY2FwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMlwiOyB9XG5cbi5pb24taW9zLXBob25lLWxhbmRzY2FwZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUyXCI7IH1cblxuLmlvbi1pb3MtcGhvbmUtcG9ydHJhaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTNcIjsgfVxuXG4uaW9uLWlvcy1waG9uZS1wb3J0cmFpdC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUzXCI7IH1cblxuLmlvbi1pb3MtcGhvdG9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDgyXCI7IH1cblxuLmlvbi1pb3MtcGhvdG9zLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ODFcIjsgfVxuXG4uaW9uLWlvcy1waWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ODRcIjsgfVxuXG4uaW9uLWlvcy1waWUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4M1wiOyB9XG5cbi5pb24taW9zLXBpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNVwiOyB9XG5cbi5pb24taW9zLXBpbi1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU0XCI7IH1cblxuLmlvbi1pb3MtcGludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4NlwiOyB9XG5cbi5pb24taW9zLXBpbnQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4NVwiOyB9XG5cbi5pb24taW9zLXBpenphOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU3XCI7IH1cblxuLmlvbi1pb3MtcGl6emEtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNlwiOyB9XG5cbi5pb24taW9zLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU5XCI7IH1cblxuLmlvbi1pb3MtcGxhbmUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlOFwiOyB9XG5cbi5pb24taW9zLXBsYW5ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYlwiOyB9XG5cbi5pb24taW9zLXBsYW5ldC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVhXCI7IH1cblxuLmlvbi1pb3MtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4OFwiOyB9XG5cbi5pb24taW9zLXBsYXktb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4N1wiOyB9XG5cbi5pb24taW9zLXBvZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZFwiOyB9XG5cbi5pb24taW9zLXBvZGl1bS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVjXCI7IH1cblxuLmlvbi1pb3MtcG93ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWZcIjsgfVxuXG4uaW9uLWlvcy1wb3dlci1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVlXCI7IH1cblxuLmlvbi1pb3MtcHJpY2V0YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OGRcIjsgfVxuXG4uaW9uLWlvcy1wcmljZXRhZy1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDhjXCI7IH1cblxuLmlvbi1pb3MtcHJpY2V0YWdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDhmXCI7IH1cblxuLmlvbi1pb3MtcHJpY2V0YWdzLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OGVcIjsgfVxuXG4uaW9uLWlvcy1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiOyB9XG5cbi5pb24taW9zLXByaW50LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjBcIjsgfVxuXG4uaW9uLWlvcy1wdWxzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5M1wiOyB9XG5cbi5pb24taW9zLXB1bHNlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjJcIjsgfVxuXG4uaW9uLWlvcy1xci1zY2FubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYzXCI7IH1cblxuLmlvbi1pb3MtcXItc2Nhbm5lci1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYzXCI7IH1cblxuLmlvbi1pb3MtcXVvdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjVcIjsgfVxuXG4uaW9uLWlvcy1xdW90ZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7IH1cblxuLmlvbi1pb3MtcmFkaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjlcIjsgfVxuXG4uaW9uLWlvcy1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY2XCI7IH1cblxuLmlvbi1pb3MtcmFkaW8tYnV0dG9uLW9mZi1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY2XCI7IH1cblxuLmlvbi1pb3MtcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY3XCI7IH1cblxuLmlvbi1pb3MtcmFkaW8tYnV0dG9uLW9uLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjdcIjsgfVxuXG4uaW9uLWlvcy1yYWRpby1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY4XCI7IH1cblxuLmlvbi1pb3MtcmFpbnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTVcIjsgfVxuXG4uaW9uLWlvcy1yYWlueS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDk0XCI7IH1cblxuLmlvbi1pb3MtcmVjb3JkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDk3XCI7IH1cblxuLmlvbi1pb3MtcmVjb3JkaW5nLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTZcIjsgfVxuXG4uaW9uLWlvcy1yZWRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDk5XCI7IH1cblxuLmlvbi1pb3MtcmVkby1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDk4XCI7IH1cblxuLmlvbi1pb3MtcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5Y1wiOyB9XG5cbi5pb24taW9zLXJlZnJlc2gtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI2XCI7IH1cblxuLmlvbi1pb3MtcmVmcmVzaC1jaXJjbGUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNFwiOyB9XG5cbi5pb24taW9zLXJlZnJlc2gtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5Y1wiOyB9XG5cbi5pb24taW9zLXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmY1wiOyB9XG5cbi5pb24taW9zLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmJcIjsgfVxuXG4uaW9uLWlvcy1yZW1vdmUtY2lyY2xlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmFcIjsgfVxuXG4uaW9uLWlvcy1yZW1vdmUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmY1wiOyB9XG5cbi5pb24taW9zLXJlb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmRcIjsgfVxuXG4uaW9uLWlvcy1yZW9yZGVyLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmRcIjsgfVxuXG4uaW9uLWlvcy1yZXBlYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmVcIjsgfVxuXG4uaW9uLWlvcy1yZXBlYXQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZVwiOyB9XG5cbi5pb24taW9zLXJlc2l6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZlwiOyB9XG5cbi5pb24taW9zLXJlc2l6ZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZmXCI7IH1cblxuLmlvbi1pb3MtcmVzdGF1cmFudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMVwiOyB9XG5cbi5pb24taW9zLXJlc3RhdXJhbnQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMFwiOyB9XG5cbi5pb24taW9zLXJldHVybi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAyXCI7IH1cblxuLmlvbi1pb3MtcmV0dXJuLWxlZnQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMlwiOyB9XG5cbi5pb24taW9zLXJldHVybi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwM1wiOyB9XG5cbi5pb24taW9zLXJldHVybi1yaWdodC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAzXCI7IH1cblxuLmlvbi1pb3MtcmV2ZXJzZS1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OWZcIjsgfVxuXG4uaW9uLWlvcy1yZXZlcnNlLWNhbWVyYS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDllXCI7IH1cblxuLmlvbi1pb3MtcmV3aW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGExXCI7IH1cblxuLmlvbi1pb3MtcmV3aW5kLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YTBcIjsgfVxuXG4uaW9uLWlvcy1yaWJib246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDVcIjsgfVxuXG4uaW9uLWlvcy1yaWJib24tb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwNFwiOyB9XG5cbi5pb24taW9zLXJvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YTNcIjsgfVxuXG4uaW9uLWlvcy1yb3NlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YTJcIjsgfVxuXG4uaW9uLWlvcy1zYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDdcIjsgfVxuXG4uaW9uLWlvcy1zYWQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwNlwiOyB9XG5cbi5pb24taW9zLXNjaG9vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOVwiOyB9XG5cbi5pb24taW9zLXNjaG9vbC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA4XCI7IH1cblxuLmlvbi1pb3Mtc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGE1XCI7IH1cblxuLmlvbi1pb3Mtc2VhcmNoLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGFcIjsgfVxuXG4uaW9uLWlvcy1zZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBjXCI7IH1cblxuLmlvbi1pb3Mtc2VuZC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBiXCI7IH1cblxuLmlvbi1pb3Mtc2V0dGluZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YTdcIjsgfVxuXG4uaW9uLWlvcy1zZXR0aW5ncy1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBkXCI7IH1cblxuLmlvbi1pb3Mtc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTFcIjsgfVxuXG4uaW9uLWlvcy1zaGFyZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGZcIjsgfVxuXG4uaW9uLWlvcy1zaGFyZS1hbHQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZVwiOyB9XG5cbi5pb24taW9zLXNoYXJlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTBcIjsgfVxuXG4uaW9uLWlvcy1zaGlydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxM1wiOyB9XG5cbi5pb24taW9zLXNoaXJ0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTJcIjsgfVxuXG4uaW9uLWlvcy1zaHVmZmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGE5XCI7IH1cblxuLmlvbi1pb3Mtc2h1ZmZsZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGE5XCI7IH1cblxuLmlvbi1pb3Mtc2tpcC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNVwiOyB9XG5cbi5pb24taW9zLXNraXAtYmFja3dhcmQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNFwiOyB9XG5cbi5pb24taW9zLXNraXAtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxN1wiOyB9XG5cbi5pb24taW9zLXNraXAtZm9yd2FyZC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE2XCI7IH1cblxuLmlvbi1pb3Mtc25vdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxOFwiOyB9XG5cbi5pb24taW9zLXNub3ctb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyY1wiOyB9XG5cbi5pb24taW9zLXNwZWVkb21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGIwXCI7IH1cblxuLmlvbi1pb3Mtc3BlZWRvbWV0ZXItb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRhZlwiOyB9XG5cbi5pb24taW9zLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxYVwiOyB9XG5cbi5pb24taW9zLXNxdWFyZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE5XCI7IH1cblxuLmlvbi1pb3Mtc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiM1wiOyB9XG5cbi5pb24taW9zLXN0YXItaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiMVwiOyB9XG5cbi5pb24taW9zLXN0YXItaGFsZi1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGIxXCI7IH1cblxuLmlvbi1pb3Mtc3Rhci1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGIyXCI7IH1cblxuLmlvbi1pb3Mtc3RhdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWNcIjsgfVxuXG4uaW9uLWlvcy1zdGF0cy1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFiXCI7IH1cblxuLmlvbi1pb3Mtc3RvcHdhdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGI1XCI7IH1cblxuLmlvbi1pb3Mtc3RvcHdhdGNoLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YjRcIjsgfVxuXG4uaW9uLWlvcy1zdWJ3YXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWVcIjsgfVxuXG4uaW9uLWlvcy1zdWJ3YXktb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZFwiOyB9XG5cbi5pb24taW9zLXN1bm55OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGI3XCI7IH1cblxuLmlvbi1pb3Mtc3Vubnktb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiNlwiOyB9XG5cbi5pb24taW9zLXN3YXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWZcIjsgfVxuXG4uaW9uLWlvcy1zd2FwLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWZcIjsgfVxuXG4uaW9uLWlvcy1zd2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjFcIjsgfVxuXG4uaW9uLWlvcy1zd2l0Y2gtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyMFwiOyB9XG5cbi5pb24taW9zLXN5bmM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjJcIjsgfVxuXG4uaW9uLWlvcy1zeW5jLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjJcIjsgfVxuXG4uaW9uLWlvcy10YWJsZXQtbGFuZHNjYXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIzXCI7IH1cblxuLmlvbi1pb3MtdGFibGV0LWxhbmRzY2FwZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIzXCI7IH1cblxuLmlvbi1pb3MtdGFibGV0LXBvcnRyYWl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRlXCI7IH1cblxuLmlvbi1pb3MtdGFibGV0LXBvcnRyYWl0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGVcIjsgfVxuXG4uaW9uLWlvcy10ZW5uaXNiYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGJiXCI7IH1cblxuLmlvbi1pb3MtdGVubmlzYmFsbC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGJhXCI7IH1cblxuLmlvbi1pb3MtdGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MFwiOyB9XG5cbi5pb24taW9zLXRleHQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0ZlwiOyB9XG5cbi5pb24taW9zLXRoZXJtb21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUyXCI7IH1cblxuLmlvbi1pb3MtdGhlcm1vbWV0ZXItb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MVwiOyB9XG5cbi5pb24taW9zLXRodW1icy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU0XCI7IH1cblxuLmlvbi1pb3MtdGh1bWJzLWRvd24tb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1M1wiOyB9XG5cbi5pb24taW9zLXRodW1icy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NlwiOyB9XG5cbi5pb24taW9zLXRodW1icy11cC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU1XCI7IH1cblxuLmlvbi1pb3MtdGh1bmRlcnN0b3JtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGJkXCI7IH1cblxuLmlvbi1pb3MtdGh1bmRlcnN0b3JtLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YmNcIjsgfVxuXG4uaW9uLWlvcy10aW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGJmXCI7IH1cblxuLmlvbi1pb3MtdGltZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGJlXCI7IH1cblxuLmlvbi1pb3MtdGltZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YzFcIjsgfVxuXG4uaW9uLWlvcy10aW1lci1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGMwXCI7IH1cblxuLmlvbi1pb3MtdHJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNThcIjsgfVxuXG4uaW9uLWlvcy10cmFpbi1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU3XCI7IH1cblxuLmlvbi1pb3MtdHJhbnNnZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTlcIjsgfVxuXG4uaW9uLWlvcy10cmFuc2dlbmRlci1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU5XCI7IH1cblxuLmlvbi1pb3MtdHJhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YzVcIjsgfVxuXG4uaW9uLWlvcy10cmFzaC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGM0XCI7IH1cblxuLmlvbi1pb3MtdHJlbmRpbmctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1YVwiOyB9XG5cbi5pb24taW9zLXRyZW5kaW5nLWRvd24tb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1YVwiOyB9XG5cbi5pb24taW9zLXRyZW5kaW5nLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjViXCI7IH1cblxuLmlvbi1pb3MtdHJlbmRpbmctdXAtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1YlwiOyB9XG5cbi5pb24taW9zLXRyb3BoeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1ZFwiOyB9XG5cbi5pb24taW9zLXRyb3BoeS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVjXCI7IH1cblxuLmlvbi1pb3MtdW1icmVsbGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWZcIjsgfVxuXG4uaW9uLWlvcy11bWJyZWxsYS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVlXCI7IH1cblxuLmlvbi1pb3MtdW5kbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjN1wiOyB9XG5cbi5pb24taW9zLXVuZG8tb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjNlwiOyB9XG5cbi5pb24taW9zLXVubG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2MVwiOyB9XG5cbi5pb24taW9zLXVubG9jay1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYwXCI7IH1cblxuLmlvbi1pb3MtdmlkZW9jYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0Y2RcIjsgfVxuXG4uaW9uLWlvcy12aWRlb2NhbS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGNjXCI7IH1cblxuLmlvbi1pb3Mtdm9sdW1lLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjJcIjsgfVxuXG4uaW9uLWlvcy12b2x1bWUtZG93bi1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYyXCI7IH1cblxuLmlvbi1pb3Mtdm9sdW1lLW11dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjNcIjsgfVxuXG4uaW9uLWlvcy12b2x1bWUtbXV0ZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYzXCI7IH1cblxuLmlvbi1pb3Mtdm9sdW1lLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NFwiOyB9XG5cbi5pb24taW9zLXZvbHVtZS1vZmYtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NFwiOyB9XG5cbi5pb24taW9zLXZvbHVtZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NVwiOyB9XG5cbi5pb24taW9zLXZvbHVtZS11cC1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY1XCI7IH1cblxuLmlvbi1pb3Mtd2FsazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NlwiOyB9XG5cbi5pb24taW9zLXdhbGstb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NlwiOyB9XG5cbi5pb24taW9zLXdhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjhcIjsgfVxuXG4uaW9uLWlvcy13YXJuaW5nLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjdcIjsgfVxuXG4uaW9uLWlvcy13YXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2OVwiOyB9XG5cbi5pb24taW9zLXdhdGNoLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjlcIjsgfVxuXG4uaW9uLWlvcy13YXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2YlwiOyB9XG5cbi5pb24taW9zLXdhdGVyLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmFcIjsgfVxuXG4uaW9uLWlvcy13aWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZkXCI7IH1cblxuLmlvbi1pb3Mtd2lmaS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZjXCI7IH1cblxuLmlvbi1pb3Mtd2luZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2ZlwiOyB9XG5cbi5pb24taW9zLXdpbmUtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2ZVwiOyB9XG5cbi5pb24taW9zLXdvbWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcxXCI7IH1cblxuLmlvbi1pb3Mtd29tYW4tb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MFwiOyB9XG5cbi5pb24tbG9nby1hbmRyb2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI1XCI7IH1cblxuLmlvbi1sb2dvLWFuZ3VsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjdcIjsgfVxuXG4uaW9uLWxvZ28tYXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjlcIjsgfVxuXG4uaW9uLWxvZ28tYml0Y29pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYlwiOyB9XG5cbi5pb24tbG9nby1idWZmZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmRcIjsgfVxuXG4uaW9uLWxvZ28tY2hyb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJmXCI7IH1cblxuLmlvbi1sb2dvLWNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzBcIjsgfVxuXG4uaW9uLWxvZ28tY3NzMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMVwiOyB9XG5cbi5pb24tbG9nby1kZXNpZ25lcm5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzJcIjsgfVxuXG4uaW9uLWxvZ28tZHJpYmJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzNcIjsgfVxuXG4uaW9uLWxvZ28tZHJvcGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNFwiOyB9XG5cbi5pb24tbG9nby1ldXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7IH1cblxuLmlvbi1sb2dvLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM2XCI7IH1cblxuLmlvbi1sb2dvLWZvdXJzcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzdcIjsgfVxuXG4uaW9uLWxvZ28tZnJlZWJzZC1kZXZpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzOFwiOyB9XG5cbi5pb24tbG9nby1naXRodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzlcIjsgfVxuXG4uaW9uLWxvZ28tZ29vZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNhXCI7IH1cblxuLmlvbi1sb2dvLWdvb2dsZXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2JcIjsgfVxuXG4uaW9uLWxvZ28taGFja2VybmV3czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzY1wiOyB9XG5cbi5pb24tbG9nby1odG1sNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzZFwiOyB9XG5cbi5pb24tbG9nby1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2VcIjsgfVxuXG4uaW9uLWxvZ28tamF2YXNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzZlwiOyB9XG5cbi5pb24tbG9nby1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MFwiOyB9XG5cbi5pb24tbG9nby1tYXJrZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MVwiOyB9XG5cbi5pb24tbG9nby1ub2RlanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDJcIjsgfVxuXG4uaW9uLWxvZ28tb2N0b2NhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0M1wiOyB9XG5cbi5pb24tbG9nby1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDRcIjsgfVxuXG4uaW9uLWxvZ28tcGxheXN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDVcIjsgfVxuXG4uaW9uLWxvZ28tcHl0aG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ2XCI7IH1cblxuLmlvbi1sb2dvLXJlZGRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0N1wiOyB9XG5cbi5pb24tbG9nby1yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDhcIjsgfVxuXG4uaW9uLWxvZ28tc2FzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0OVwiOyB9XG5cbi5pb24tbG9nby1za3lwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0YVwiOyB9XG5cbi5pb24tbG9nby1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0YlwiOyB9XG5cbi5pb24tbG9nby1zdGVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0Y1wiOyB9XG5cbi5pb24tbG9nby10dW1ibHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGRcIjsgfVxuXG4uaW9uLWxvZ28tdHV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFlXCI7IH1cblxuLmlvbi1sb2dvLXR3aXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZlwiOyB9XG5cbi5pb24tbG9nby10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIwXCI7IH1cblxuLmlvbi1sb2dvLXVzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMVwiOyB9XG5cbi5pb24tbG9nby12aW1lbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNFwiOyB9XG5cbi5pb24tbG9nby13aGF0c2FwcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNVwiOyB9XG5cbi5pb24tbG9nby13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzJmXCI7IH1cblxuLmlvbi1sb2dvLXdvcmRwcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzMFwiOyB9XG5cbi5pb24tbG9nby14Ym94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzRjXCI7IH1cblxuLmlvbi1sb2dvLXlhaG9vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzRkXCI7IH1cblxuLmlvbi1sb2dvLXllbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM0ZVwiOyB9XG5cbi5pb24tbG9nby15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzRmXCI7IH1cblxuLmlvbi1tZC1hZGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzNcIjsgfVxuXG4uaW9uLW1kLWFkZC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzJcIjsgfVxuXG4uaW9uLW1kLWFsYXJtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc0XCI7IH1cblxuLmlvbi1tZC1hbGJ1bXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzVcIjsgfVxuXG4uaW9uLW1kLWFsZXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc2XCI7IH1cblxuLmlvbi1tZC1hbWVyaWNhbi1mb290YmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3N1wiOyB9XG5cbi5pb24tbWQtYW5hbHl0aWNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc4XCI7IH1cblxuLmlvbi1tZC1hcGVydHVyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3OVwiOyB9XG5cbi5pb24tbWQtYXBwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3YVwiOyB9XG5cbi5pb24tbWQtYXBwc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2JcIjsgfVxuXG4uaW9uLW1kLWFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2NcIjsgfVxuXG4uaW9uLW1kLWFycm93LWJhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2RcIjsgfVxuXG4uaW9uLW1kLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2VcIjsgfVxuXG4uaW9uLW1kLWFycm93LWRyb3Bkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgwXCI7IH1cblxuLmlvbi1tZC1hcnJvdy1kcm9wZG93bi1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2ZcIjsgfVxuXG4uaW9uLW1kLWFycm93LWRyb3BsZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgyXCI7IH1cblxuLmlvbi1tZC1hcnJvdy1kcm9wbGVmdC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODFcIjsgfVxuXG4uaW9uLW1kLWFycm93LWRyb3ByaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NFwiOyB9XG5cbi5pb24tbWQtYXJyb3ctZHJvcHJpZ2h0LWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4M1wiOyB9XG5cbi5pb24tbWQtYXJyb3ctZHJvcHVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg2XCI7IH1cblxuLmlvbi1tZC1hcnJvdy1kcm9wdXAtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg1XCI7IH1cblxuLmlvbi1tZC1hcnJvdy1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg3XCI7IH1cblxuLmlvbi1tZC1hcnJvdy1yb3VuZC1iYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg4XCI7IH1cblxuLmlvbi1tZC1hcnJvdy1yb3VuZC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg5XCI7IH1cblxuLmlvbi1tZC1hcnJvdy1yb3VuZC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhhXCI7IH1cblxuLmlvbi1tZC1hcnJvdy1yb3VuZC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4YlwiOyB9XG5cbi5pb24tbWQtYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGNcIjsgfVxuXG4uaW9uLW1kLWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhkXCI7IH1cblxuLmlvbi1tZC1hdHRhY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGVcIjsgfVxuXG4uaW9uLW1kLWJhY2tzcGFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4ZlwiOyB9XG5cbi5pb24tbWQtYmFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MFwiOyB9XG5cbi5pb24tbWQtYmFzZWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTFcIjsgfVxuXG4uaW9uLW1kLWJhc2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MlwiOyB9XG5cbi5pb24tbWQtYmFza2V0YmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5M1wiOyB9XG5cbi5pb24tbWQtYmF0dGVyeS1jaGFyZ2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5NFwiOyB9XG5cbi5pb24tbWQtYmF0dGVyeS1kZWFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk1XCI7IH1cblxuLmlvbi1tZC1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTZcIjsgfVxuXG4uaW9uLW1kLWJlYWtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5N1wiOyB9XG5cbi5pb24tbWQtYmVlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OFwiOyB9XG5cbi5pb24tbWQtYmljeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OVwiOyB9XG5cbi5pb24tbWQtYmx1ZXRvb3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjlhXCI7IH1cblxuLmlvbi1tZC1ib2F0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjliXCI7IH1cblxuLmlvbi1tZC1ib2R5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjljXCI7IH1cblxuLmlvbi1tZC1ib25maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjlkXCI7IH1cblxuLmlvbi1tZC1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjllXCI7IH1cblxuLmlvbi1tZC1ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5ZlwiOyB9XG5cbi5pb24tbWQtYm9va21hcmtzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmEwXCI7IH1cblxuLmlvbi1tZC1ib3d0aWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTFcIjsgfVxuXG4uaW9uLW1kLWJyaWVmY2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMlwiOyB9XG5cbi5pb24tbWQtYnJvd3NlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTNcIjsgfVxuXG4uaW9uLW1kLWJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE0XCI7IH1cblxuLmlvbi1tZC1idWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTVcIjsgfVxuXG4uaW9uLW1kLWJ1aWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE2XCI7IH1cblxuLmlvbi1tZC1idWxiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE3XCI7IH1cblxuLmlvbi1tZC1idXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYThcIjsgfVxuXG4uaW9uLW1kLWNhZmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTlcIjsgfVxuXG4uaW9uLW1kLWNhbGN1bGF0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWFcIjsgfVxuXG4uaW9uLW1kLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFiXCI7IH1cblxuLmlvbi1tZC1jYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFjXCI7IH1cblxuLmlvbi1tZC1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWRcIjsgfVxuXG4uaW9uLW1kLWNhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMlwiOyB9XG5cbi5pb24tbWQtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiM1wiOyB9XG5cbi5pb24tbWQtY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNFwiOyB9XG5cbi5pb24tbWQtY2FzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNVwiOyB9XG5cbi5pb24tbWQtY2hhdGJveGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI2XCI7IH1cblxuLmlvbi1tZC1jaGF0YnViYmxlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiN1wiOyB9XG5cbi5pb24tbWQtY2hlY2tib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjlcIjsgfVxuXG4uaW9uLW1kLWNoZWNrYm94LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjhcIjsgfVxuXG4uaW9uLW1kLWNoZWNrbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiY1wiOyB9XG5cbi5pb24tbWQtY2hlY2ttYXJrLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiYlwiOyB9XG5cbi5pb24tbWQtY2hlY2ttYXJrLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJhXCI7IH1cblxuLmlvbi1tZC1jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmRcIjsgfVxuXG4uaW9uLW1kLWNsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJlXCI7IH1cblxuLmlvbi1tZC1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjMFwiOyB9XG5cbi5pb24tbWQtY2xvc2UtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJmXCI7IH1cblxuLmlvbi1tZC1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjMVwiOyB9XG5cbi5pb24tbWQtY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzlcIjsgfVxuXG4uaW9uLW1kLWNsb3VkLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjMlwiOyB9XG5cbi5pb24tbWQtY2xvdWQtZG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjM1wiOyB9XG5cbi5pb24tbWQtY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzZcIjsgfVxuXG4uaW9uLW1kLWNsb3VkLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzdcIjsgfVxuXG4uaW9uLW1kLWNsb3VkLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjOFwiOyB9XG5cbi5pb24tbWQtY2xvdWR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNiXCI7IH1cblxuLmlvbi1tZC1jbG91ZHktbmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2FcIjsgfVxuXG4uaW9uLW1kLWNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2VcIjsgfVxuXG4uaW9uLW1kLWNvZGUtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2NcIjsgfVxuXG4uaW9uLW1kLWNvZGUtd29ya2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjZFwiOyB9XG5cbi5pb24tbWQtY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNmXCI7IH1cblxuLmlvbi1tZC1jb2xvci1maWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQwXCI7IH1cblxuLmlvbi1tZC1jb2xvci1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDFcIjsgfVxuXG4uaW9uLW1kLWNvbG9yLXBhbGV0dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDJcIjsgfVxuXG4uaW9uLW1kLWNvbG9yLXdhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDNcIjsgfVxuXG4uaW9uLW1kLWNvbXBhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDRcIjsgfVxuXG4uaW9uLW1kLWNvbnN0cnVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkNVwiOyB9XG5cbi5pb24tbWQtY29udGFjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkNlwiOyB9XG5cbi5pb24tbWQtY29udGFjdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDdcIjsgfVxuXG4uaW9uLW1kLWNvbnRyYWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ4XCI7IH1cblxuLmlvbi1tZC1jb250cmFzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkOVwiOyB9XG5cbi5pb24tbWQtY29weTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYVwiOyB9XG5cbi5pb24tbWQtY3JlYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRiXCI7IH1cblxuLmlvbi1tZC1jcm9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRjXCI7IH1cblxuLmlvbi1tZC1jdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRkXCI7IH1cblxuLmlvbi1tZC1jdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGVcIjsgfVxuXG4uaW9uLW1kLWRlc2t0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGZcIjsgfVxuXG4uaW9uLW1kLWRpc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTBcIjsgfVxuXG4uaW9uLW1kLWRvY3VtZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmUxXCI7IH1cblxuLmlvbi1tZC1kb25lLWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlMlwiOyB9XG5cbi5pb24tbWQtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTNcIjsgfVxuXG4uaW9uLW1kLWVhc2VsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmU0XCI7IH1cblxuLmlvbi1tZC1lZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTVcIjsgfVxuXG4uaW9uLW1kLWV4aXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTZcIjsgfVxuXG4uaW9uLW1kLWV4cGFuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlN1wiOyB9XG5cbi5pb24tbWQtZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmU5XCI7IH1cblxuLmlvbi1tZC1leWUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmU4XCI7IH1cblxuLmlvbi1tZC1mYXN0Zm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlYVwiOyB9XG5cbi5pb24tbWQtZmVtYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmViXCI7IH1cblxuLmlvbi1tZC1maWxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZWNcIjsgfVxuXG4uaW9uLW1kLWZpbG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZWRcIjsgfVxuXG4uaW9uLW1kLWZpbmdlci1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlZVwiOyB9XG5cbi5pb24tbWQtZmxhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlZlwiOyB9XG5cbi5pb24tbWQtZmxhbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjBcIjsgfVxuXG4uaW9uLW1kLWZsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmYxXCI7IH1cblxuLmlvbi1tZC1mbGFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmMlwiOyB9XG5cbi5pb24tbWQtZmxvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmYzXCI7IH1cblxuLmlvbi1tZC1mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjVcIjsgfVxuXG4uaW9uLW1kLWZvbGRlci1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmY0XCI7IH1cblxuLmlvbi1tZC1mb290YmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmNlwiOyB9XG5cbi5pb24tbWQtZnVubmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmY3XCI7IH1cblxuLmlvbi1tZC1nYW1lLWNvbnRyb2xsZXItYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmOFwiOyB9XG5cbi5pb24tbWQtZ2FtZS1jb250cm9sbGVyLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjlcIjsgfVxuXG4uaW9uLW1kLWdpdC1icmFuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZmFcIjsgfVxuXG4uaW9uLW1kLWdpdC1jb21taXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZmJcIjsgfVxuXG4uaW9uLW1kLWdpdC1jb21wYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmZjXCI7IH1cblxuLmlvbi1tZC1naXQtbWVyZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZmRcIjsgfVxuXG4uaW9uLW1kLWdpdC1uZXR3b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmZlXCI7IH1cblxuLmlvbi1tZC1naXQtcHVsbC1yZXF1ZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmZmXCI7IH1cblxuLmlvbi1tZC1nbGFzc2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzAwXCI7IH1cblxuLmlvbi1tZC1nbG9iZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwMVwiOyB9XG5cbi5pb24tbWQtZ3JpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwMlwiOyB9XG5cbi5pb24tbWQtaGFtbWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzAzXCI7IH1cblxuLmlvbi1tZC1oYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzA0XCI7IH1cblxuLmlvbi1tZC1oYXBweTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwNVwiOyB9XG5cbi5pb24tbWQtaGVhZHNldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwNlwiOyB9XG5cbi5pb24tbWQtaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDhcIjsgfVxuXG4uaW9uLW1kLWhlYXJ0LW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDdcIjsgfVxuXG4uaW9uLW1kLWhlbHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMGJcIjsgfVxuXG4uaW9uLW1kLWhlbHAtYnVveTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwOVwiOyB9XG5cbi5pb24tbWQtaGVscC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMGFcIjsgfVxuXG4uaW9uLW1kLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMGNcIjsgfVxuXG4uaW9uLW1kLWljZS1jcmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwZFwiOyB9XG5cbi5pb24tbWQtaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMGVcIjsgfVxuXG4uaW9uLW1kLWltYWdlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwZlwiOyB9XG5cbi5pb24tbWQtaW5maW5pdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMTBcIjsgfVxuXG4uaW9uLW1kLWluZm9ybWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzEyXCI7IH1cblxuLmlvbi1tZC1pbmZvcm1hdGlvbi1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMTFcIjsgfVxuXG4uaW9uLW1kLWlvbmljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzEzXCI7IH1cblxuLmlvbi1tZC1pb25pdHJvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMxNFwiOyB9XG5cbi5pb24tbWQtamV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzE1XCI7IH1cblxuLmlvbi1tZC1rZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMTZcIjsgfVxuXG4uaW9uLW1kLWtleXBhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMxN1wiOyB9XG5cbi5pb24tbWQtbGFwdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzE4XCI7IH1cblxuLmlvbi1tZC1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzE5XCI7IH1cblxuLmlvbi1tZC1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJlXCI7IH1cblxuLmlvbi1tZC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzFiXCI7IH1cblxuLmlvbi1tZC1saXN0LWJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMxYVwiOyB9XG5cbi5pb24tbWQtbG9jYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzFjXCI7IH1cblxuLmlvbi1tZC1sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzFkXCI7IH1cblxuLmlvbi1tZC1sb2ctaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMWVcIjsgfVxuXG4uaW9uLW1kLWxvZy1vdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMWZcIjsgfVxuXG4uaW9uLW1kLW1hZ25ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMyMFwiOyB9XG5cbi5pb24tbWQtbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMyMlwiOyB9XG5cbi5pb24tbWQtbWFpbC1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzIxXCI7IH1cblxuLmlvbi1tZC1tYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzIzXCI7IH1cblxuLmlvbi1tZC1tYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMjRcIjsgfVxuXG4uaW9uLW1kLW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMyNVwiOyB9XG5cbi5pb24tbWQtbWVkYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMjZcIjsgfVxuXG4uaW9uLW1kLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMjdcIjsgfVxuXG4uaW9uLW1kLW1lZGtpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMyOFwiOyB9XG5cbi5pb24tbWQtbWVnYXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzI5XCI7IH1cblxuLmlvbi1tZC1tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzJhXCI7IH1cblxuLmlvbi1tZC1taWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMmNcIjsgfVxuXG4uaW9uLW1kLW1pYy1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMmJcIjsgfVxuXG4uaW9uLW1kLW1pY3JvcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMmRcIjsgfVxuXG4uaW9uLW1kLW1vb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMmVcIjsgfVxuXG4uaW9uLW1kLW1vcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzlcIjsgfVxuXG4uaW9uLW1kLW1vdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzFcIjsgfVxuXG4uaW9uLW1kLW11c2ljYWwtbm90ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzMlwiOyB9XG5cbi5pb24tbWQtbXVzaWNhbC1ub3RlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzM1wiOyB9XG5cbi5pb24tbWQtbmF2aWdhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzRcIjsgfVxuXG4uaW9uLW1kLW5vLXNtb2tpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzVcIjsgfVxuXG4uaW9uLW1kLW5vdGlmaWNhdGlvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzhcIjsgfVxuXG4uaW9uLW1kLW5vdGlmaWNhdGlvbnMtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzM2XCI7IH1cblxuLmlvbi1tZC1ub3RpZmljYXRpb25zLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzdcIjsgfVxuXG4uaW9uLW1kLW51Y2xlYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzlcIjsgfVxuXG4uaW9uLW1kLW51dHJpdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzYVwiOyB9XG5cbi5pb24tbWQtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzYlwiOyB9XG5cbi5pb24tbWQtb3B0aW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzY1wiOyB9XG5cbi5pb24tbWQtb3V0bGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzNkXCI7IH1cblxuLmlvbi1tZC1wYXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzZlwiOyB9XG5cbi5pb24tbWQtcGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzM2VcIjsgfVxuXG4uaW9uLW1kLXBhcnRseS1zdW5ueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM0MFwiOyB9XG5cbi5pb24tbWQtcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNDFcIjsgfVxuXG4uaW9uLW1kLXBhdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM0MlwiOyB9XG5cbi5pb24tbWQtcGVvcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzQzXCI7IH1cblxuLmlvbi1tZC1wZXJzb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNDVcIjsgfVxuXG4uaW9uLW1kLXBlcnNvbi1hZGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNDRcIjsgfVxuXG4uaW9uLW1kLXBob25lLWxhbmRzY2FwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM0NlwiOyB9XG5cbi5pb24tbWQtcGhvbmUtcG9ydHJhaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNDdcIjsgfVxuXG4uaW9uLW1kLXBob3RvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM0OFwiOyB9XG5cbi5pb24tbWQtcGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzQ5XCI7IH1cblxuLmlvbi1tZC1waW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNGFcIjsgfVxuXG4uaW9uLW1kLXBpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNGJcIjsgfVxuXG4uaW9uLW1kLXBpenphOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzU0XCI7IH1cblxuLmlvbi1tZC1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1NVwiOyB9XG5cbi5pb24tbWQtcGxhbmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzU2XCI7IH1cblxuLmlvbi1tZC1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzU3XCI7IH1cblxuLmlvbi1tZC1wb2RpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNThcIjsgfVxuXG4uaW9uLW1kLXBvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzU5XCI7IH1cblxuLmlvbi1tZC1wcmljZXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1YVwiOyB9XG5cbi5pb24tbWQtcHJpY2V0YWdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzViXCI7IH1cblxuLmlvbi1tZC1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1Y1wiOyB9XG5cbi5pb24tbWQtcHVsc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWRcIjsgfVxuXG4uaW9uLW1kLXFyLXNjYW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWVcIjsgfVxuXG4uaW9uLW1kLXF1b3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVmXCI7IH1cblxuLmlvbi1tZC1yYWRpbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2MlwiOyB9XG5cbi5pb24tbWQtcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2MFwiOyB9XG5cbi5pb24tbWQtcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzYxXCI7IH1cblxuLmlvbi1tZC1yYWlueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2M1wiOyB9XG5cbi5pb24tbWQtcmVjb3JkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY0XCI7IH1cblxuLmlvbi1tZC1yZWRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY1XCI7IH1cblxuLmlvbi1tZC1yZWZyZXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY2XCI7IH1cblxuLmlvbi1tZC1yZWZyZXNoLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOFwiOyB9XG5cbi5pb24tbWQtcmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY4XCI7IH1cblxuLmlvbi1tZC1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY3XCI7IH1cblxuLmlvbi1tZC1yZW9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY5XCI7IH1cblxuLmlvbi1tZC1yZXBlYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmFcIjsgfVxuXG4uaW9uLW1kLXJlc2l6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2YlwiOyB9XG5cbi5pb24tbWQtcmVzdGF1cmFudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2Y1wiOyB9XG5cbi5pb24tbWQtcmV0dXJuLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmRcIjsgfVxuXG4uaW9uLW1kLXJldHVybi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZVwiOyB9XG5cbi5pb24tbWQtcmV2ZXJzZS1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmZcIjsgfVxuXG4uaW9uLW1kLXJld2luZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MFwiOyB9XG5cbi5pb24tbWQtcmliYm9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzcxXCI7IH1cblxuLmlvbi1tZC1yb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzcyXCI7IH1cblxuLmlvbi1tZC1zYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzNcIjsgfVxuXG4uaW9uLW1kLXNjaG9vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3NFwiOyB9XG5cbi5pb24tbWQtc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc1XCI7IH1cblxuLmlvbi1tZC1zZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc2XCI7IH1cblxuLmlvbi1tZC1zZXR0aW5nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3N1wiOyB9XG5cbi5pb24tbWQtc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzlcIjsgfVxuXG4uaW9uLW1kLXNoYXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3OFwiOyB9XG5cbi5pb24tbWQtc2hpcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2FcIjsgfVxuXG4uaW9uLW1kLXNodWZmbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2JcIjsgfVxuXG4uaW9uLW1kLXNraXAtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2NcIjsgfVxuXG4uaW9uLW1kLXNraXAtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3ZFwiOyB9XG5cbi5pb24tbWQtc25vdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3ZVwiOyB9XG5cbi5pb24tbWQtc3BlZWRvbWV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2ZcIjsgfVxuXG4uaW9uLW1kLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4MVwiOyB9XG5cbi5pb24tbWQtc3F1YXJlLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODBcIjsgfVxuXG4uaW9uLW1kLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODRcIjsgfVxuXG4uaW9uLW1kLXN0YXItaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4MlwiOyB9XG5cbi5pb24tbWQtc3Rhci1vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzgzXCI7IH1cblxuLmlvbi1tZC1zdGF0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4NVwiOyB9XG5cbi5pb24tbWQtc3RvcHdhdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg2XCI7IH1cblxuLmlvbi1tZC1zdWJ3YXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODdcIjsgfVxuXG4uaW9uLW1kLXN1bm55OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg4XCI7IH1cblxuLmlvbi1tZC1zd2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg5XCI7IH1cblxuLmlvbi1tZC1zd2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGFcIjsgfVxuXG4uaW9uLW1kLXN5bmM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGJcIjsgfVxuXG4uaW9uLW1kLXRhYmxldC1sYW5kc2NhcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGNcIjsgfVxuXG4uaW9uLW1kLXRhYmxldC1wb3J0cmFpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZFwiOyB9XG5cbi5pb24tbWQtdGVubmlzYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZVwiOyB9XG5cbi5pb24tbWQtdGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZlwiOyB9XG5cbi5pb24tbWQtdGhlcm1vbWV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTBcIjsgfVxuXG4uaW9uLW1kLXRodW1icy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkxXCI7IH1cblxuLmlvbi1tZC10aHVtYnMtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTJcIjsgfVxuXG4uaW9uLW1kLXRodW5kZXJzdG9ybTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5M1wiOyB9XG5cbi5pb24tbWQtdGltZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5NFwiOyB9XG5cbi5pb24tbWQtdGltZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTVcIjsgfVxuXG4uaW9uLW1kLXRyYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk2XCI7IH1cblxuLmlvbi1tZC10cmFuc2dlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5N1wiOyB9XG5cbi5pb24tbWQtdHJhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOThcIjsgfVxuXG4uaW9uLW1kLXRyZW5kaW5nLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTlcIjsgfVxuXG4uaW9uLW1kLXRyZW5kaW5nLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzlhXCI7IH1cblxuLmlvbi1tZC10cm9waHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWJcIjsgfVxuXG4uaW9uLW1kLXVtYnJlbGxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzljXCI7IH1cblxuLmlvbi1tZC11bmRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzlkXCI7IH1cblxuLmlvbi1tZC11bmxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWVcIjsgfVxuXG4uaW9uLW1kLXZpZGVvY2FtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzlmXCI7IH1cblxuLmlvbi1tZC12b2x1bWUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhMFwiOyB9XG5cbi5pb24tbWQtdm9sdW1lLW11dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTFcIjsgfVxuXG4uaW9uLW1kLXZvbHVtZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTJcIjsgfVxuXG4uaW9uLW1kLXZvbHVtZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhM1wiOyB9XG5cbi5pb24tbWQtd2FsazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhNFwiOyB9XG5cbi5pb24tbWQtd2FybmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhNVwiOyB9XG5cbi5pb24tbWQtd2F0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTZcIjsgfVxuXG4uaW9uLW1kLXdhdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E3XCI7IH1cblxuLmlvbi1tZC13aWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E4XCI7IH1cblxuLmlvbi1tZC13aW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E5XCI7IH1cblxuLmlvbi1tZC13b21hbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhYVwiOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgc3JjOiB1cmwoXCIvZm9udHMvaW9uaWNvbnMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi9mb250cy9pb25pY29ucy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9mb250cy9pb25pY29ucy50dGZcIikgZm9ybWF0KFwidHRmXCIpLCB1cmwoXCIvZm9udHMvaW9uaWNvbnMuZW90I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSB1cmwoXCIvZm9udHMvaW9uaWNvbnMuc3ZnI0lvbmljb25zXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0VpbmEnO1xuICBzcmM6IHVybChcIi9mb250cy9laW5hL2VpbmEtMDEtYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiL2ZvbnRzL2VpbmEvZWluYS0wMS1ib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2ZvbnRzL2VpbmEvZWluYS0wMS1ib2xkLnR0ZlwiKSBmb3JtYXQoXCJ0dGZcIiksIHVybChcIi9mb250cy9laW5hL2VpbmEtMDEtYm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0VpbmEnO1xuICBzcmM6IHVybChcIi9mb250cy9laW5hL2VpbmEtMDEtc2VtaWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi9mb250cy9laW5hL2VpbmEtMDEtc2VtaWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvZm9udHMvZWluYS9laW5hLTAxLXNlbWlib2xkLnR0ZlwiKSBmb3JtYXQoXCJ0dGZcIiksIHVybChcIi9mb250cy9laW5hL2VpbmEtMDEtc2VtaWJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIik7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdFaW5hJztcbiAgc3JjOiB1cmwoXCIvZm9udHMvZWluYS9laW5hLTAxLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi9mb250cy9laW5hL2VpbmEtMDEtcmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9mb250cy9laW5hL2VpbmEtMDEtcmVndWxhci50dGZcIikgZm9ybWF0KFwidHRmXCIpLCB1cmwoXCIvZm9udHMvZWluYS9laW5hLTAxLXJlZ3VsYXIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItTWVkaXVtLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1NZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItTWVkaXVtSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1NZWRpdW1JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItU2VtaUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLVNlbWlCb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLVNlbWlCb2xkSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1TZW1pQm9sZEl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjtcbiAgc3JjOiB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLUJvbGRJdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLUJvbGRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItRXh0cmFCb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1FeHRyYUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogODAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItRXh0cmFCb2xkSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1FeHRyYUJvbGRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvaW50ZXIvSW50ZXItQmxhY2sud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLUJsYWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybChcImh0dHBzOi8vY29kZS5pb25pY2ZyYW1ld29yay5jb20vYXNzZXRzL2ZvbnRzL2ludGVyL0ludGVyLUJsYWNrSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy9pbnRlci9JbnRlci1CbGFja0l0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRnJlaWdodFRleHRQcm8nO1xuICBmb250LXdlaWdodDogNDAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvMjlEMjZBXzBfMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvMjlEMjZBXzBfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy8yOUQyNkFfMF8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvMjlEMjZBXzBfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRnJlaWdodFRleHRQcm8nO1xuICBmb250LXdlaWdodDogNTAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvMjlEMjZBXzFfMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvMjlEMjZBXzFfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJodHRwczovL2NvZGUuaW9uaWNmcmFtZXdvcmsuY29tL2Fzc2V0cy9mb250cy8yOUQyNkFfMV8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvMjlEMjZBXzFfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXI6IDA7IH1cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udDogaW5oZXJpdDtcbiAgbWFyZ2luOiAwOyB9XG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDsgfVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiEgU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzICovXG5AbWVkaWEgcHJpbnQge1xuICAqLFxuICAqOmJlZm9yZSxcbiAgKjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBhW2hyZWZePVwiI1wiXTphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgLm5hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYnRuID4gLmNhcmV0LFxuICAuZHJvcHVwID4gLmJ0biA+IC5jYXJldCB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMCAhaW1wb3J0YW50OyB9XG4gIC5sYWJlbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDsgfVxuICAudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDsgfVxuICAgIC50YWJsZSB0ZCxcbiAgICAudGFibGUgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG4gIC50YWJsZS1ib3JkZXJlZCB0aCxcbiAgLnRhYmxlLWJvcmRlcmVkIHRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7IH0gfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvYm9vdHN0cmFwL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9ib290c3RyYXAvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvYm9vdHN0cmFwL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIuc3ZnI2dseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuLmdseXBoaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5nbHlwaGljb24tYXN0ZXJpc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDJhXCI7IH1cblxuLmdseXBoaWNvbi1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyYlwiOyB9XG5cbi5nbHlwaGljb24tZXVybzpiZWZvcmUsXG4uZ2x5cGhpY29uLWV1cjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjBhY1wiOyB9XG5cbi5nbHlwaGljb24tbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIyMTJcIjsgfVxuXG4uZ2x5cGhpY29uLWNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNjAxXCI7IH1cblxuLmdseXBoaWNvbi1lbnZlbG9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjcwOVwiOyB9XG5cbi5nbHlwaGljb24tcGVuY2lsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNzBmXCI7IH1cblxuLmdseXBoaWNvbi1nbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMVwiOyB9XG5cbi5nbHlwaGljb24tbXVzaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDJcIjsgfVxuXG4uZ2x5cGhpY29uLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwM1wiOyB9XG5cbi5nbHlwaGljb24taGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDVcIjsgfVxuXG4uZ2x5cGhpY29uLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDZcIjsgfVxuXG4uZ2x5cGhpY29uLXN0YXItZW1wdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDdcIjsgfVxuXG4uZ2x5cGhpY29uLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDhcIjsgfVxuXG4uZ2x5cGhpY29uLWZpbG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDlcIjsgfVxuXG4uZ2x5cGhpY29uLXRoLWxhcmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDEwXCI7IH1cblxuLmdseXBoaWNvbi10aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxMVwiOyB9XG5cbi5nbHlwaGljb24tdGgtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxMlwiOyB9XG5cbi5nbHlwaGljb24tb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTNcIjsgfVxuXG4uZ2x5cGhpY29uLXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxNFwiOyB9XG5cbi5nbHlwaGljb24tem9vbS1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxNVwiOyB9XG5cbi5nbHlwaGljb24tem9vbS1vdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTZcIjsgfVxuXG4uZ2x5cGhpY29uLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxN1wiOyB9XG5cbi5nbHlwaGljb24tc2lnbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE4XCI7IH1cblxuLmdseXBoaWNvbi1jb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTlcIjsgfVxuXG4uZ2x5cGhpY29uLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDIwXCI7IH1cblxuLmdseXBoaWNvbi1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDIxXCI7IH1cblxuLmdseXBoaWNvbi1maWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDIyXCI7IH1cblxuLmdseXBoaWNvbi10aW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDIzXCI7IH1cblxuLmdseXBoaWNvbi1yb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDI0XCI7IH1cblxuLmdseXBoaWNvbi1kb3dubG9hZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjVcIjsgfVxuXG4uZ2x5cGhpY29uLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDI2XCI7IH1cblxuLmdseXBoaWNvbi11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjdcIjsgfVxuXG4uZ2x5cGhpY29uLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDI4XCI7IH1cblxuLmdseXBoaWNvbi1wbGF5LWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyOVwiOyB9XG5cbi5nbHlwaGljb24tcmVwZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDMwXCI7IH1cblxuLmdseXBoaWNvbi1yZWZyZXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDMxXCI7IH1cblxuLmdseXBoaWNvbi1saXN0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzMlwiOyB9XG5cbi5nbHlwaGljb24tbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzM1wiOyB9XG5cbi5nbHlwaGljb24tZmxhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzNFwiOyB9XG5cbi5nbHlwaGljb24taGVhZHBob25lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzNVwiOyB9XG5cbi5nbHlwaGljb24tdm9sdW1lLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzNlwiOyB9XG5cbi5nbHlwaGljb24tdm9sdW1lLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzdcIjsgfVxuXG4uZ2x5cGhpY29uLXZvbHVtZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzOFwiOyB9XG5cbi5nbHlwaGljb24tcXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDM5XCI7IH1cblxuLmdseXBoaWNvbi1iYXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQwXCI7IH1cblxuLmdseXBoaWNvbi10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDFcIjsgfVxuXG4uZ2x5cGhpY29uLXRhZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDJcIjsgfVxuXG4uZ2x5cGhpY29uLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDNcIjsgfVxuXG4uZ2x5cGhpY29uLWJvb2ttYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ0XCI7IH1cblxuLmdseXBoaWNvbi1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0NVwiOyB9XG5cbi5nbHlwaGljb24tY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ2XCI7IH1cblxuLmdseXBoaWNvbi1mb250OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ3XCI7IH1cblxuLmdseXBoaWNvbi1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ4XCI7IH1cblxuLmdseXBoaWNvbi1pdGFsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDlcIjsgfVxuXG4uZ2x5cGhpY29uLXRleHQtaGVpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDUwXCI7IH1cblxuLmdseXBoaWNvbi10ZXh0LXdpZHRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDUxXCI7IH1cblxuLmdseXBoaWNvbi1hbGlnbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDUyXCI7IH1cblxuLmdseXBoaWNvbi1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTNcIjsgfVxuXG4uZ2x5cGhpY29uLWFsaWduLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU0XCI7IH1cblxuLmdseXBoaWNvbi1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU1XCI7IH1cblxuLmdseXBoaWNvbi1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU2XCI7IH1cblxuLmdseXBoaWNvbi1pbmRlbnQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1N1wiOyB9XG5cbi5nbHlwaGljb24taW5kZW50LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU4XCI7IH1cblxuLmdseXBoaWNvbi1mYWNldGltZS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1OVwiOyB9XG5cbi5nbHlwaGljb24tcGljdHVyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2MFwiOyB9XG5cbi5nbHlwaGljb24tbWFwLW1hcmtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2MlwiOyB9XG5cbi5nbHlwaGljb24tYWRqdXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYzXCI7IH1cblxuLmdseXBoaWNvbi10aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY0XCI7IH1cblxuLmdseXBoaWNvbi1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY1XCI7IH1cblxuLmdseXBoaWNvbi1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2NlwiOyB9XG5cbi5nbHlwaGljb24tY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjdcIjsgfVxuXG4uZ2x5cGhpY29uLW1vdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjhcIjsgfVxuXG4uZ2x5cGhpY29uLXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjlcIjsgfVxuXG4uZ2x5cGhpY29uLWZhc3QtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzBcIjsgfVxuXG4uZ2x5cGhpY29uLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDcxXCI7IH1cblxuLmdseXBoaWNvbi1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDcyXCI7IH1cblxuLmdseXBoaWNvbi1wYXVzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3M1wiOyB9XG5cbi5nbHlwaGljb24tc3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3NFwiOyB9XG5cbi5nbHlwaGljb24tZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3NVwiOyB9XG5cbi5nbHlwaGljb24tZmFzdC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc2XCI7IH1cblxuLmdseXBoaWNvbi1zdGVwLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzdcIjsgfVxuXG4uZ2x5cGhpY29uLWVqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc4XCI7IH1cblxuLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzlcIjsgfVxuXG4uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODBcIjsgfVxuXG4uZ2x5cGhpY29uLXBsdXMtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MVwiOyB9XG5cbi5nbHlwaGljb24tbWludXMtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MlwiOyB9XG5cbi5nbHlwaGljb24tcmVtb3ZlLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODNcIjsgfVxuXG4uZ2x5cGhpY29uLW9rLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODRcIjsgfVxuXG4uZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODVcIjsgfVxuXG4uZ2x5cGhpY29uLWluZm8tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4NlwiOyB9XG5cbi5nbHlwaGljb24tc2NyZWVuc2hvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4N1wiOyB9XG5cbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4OFwiOyB9XG5cbi5nbHlwaGljb24tb2stY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg5XCI7IH1cblxuLmdseXBoaWNvbi1iYW4tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDkwXCI7IH1cblxuLmdseXBoaWNvbi1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDkxXCI7IH1cblxuLmdseXBoaWNvbi1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5MlwiOyB9XG5cbi5nbHlwaGljb24tYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTNcIjsgfVxuXG4uZ2x5cGhpY29uLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTRcIjsgfVxuXG4uZ2x5cGhpY29uLXNoYXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5NVwiOyB9XG5cbi5nbHlwaGljb24tcmVzaXplLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTZcIjsgfVxuXG4uZ2x5cGhpY29uLXJlc2l6ZS1zbWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5N1wiOyB9XG5cbi5nbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwMVwiOyB9XG5cbi5nbHlwaGljb24tZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwMlwiOyB9XG5cbi5nbHlwaGljb24tbGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwM1wiOyB9XG5cbi5nbHlwaGljb24tZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwNFwiOyB9XG5cbi5nbHlwaGljb24tZXllLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDVcIjsgfVxuXG4uZ2x5cGhpY29uLWV5ZS1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwNlwiOyB9XG5cbi5nbHlwaGljb24td2FybmluZy1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTA3XCI7IH1cblxuLmdseXBoaWNvbi1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwOFwiOyB9XG5cbi5nbHlwaGljb24tY2FsZW5kYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDlcIjsgfVxuXG4uZ2x5cGhpY29uLXJhbmRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExMFwiOyB9XG5cbi5nbHlwaGljb24tY29tbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExMVwiOyB9XG5cbi5nbHlwaGljb24tbWFnbmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTEyXCI7IH1cblxuLmdseXBoaWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTEzXCI7IH1cblxuLmdseXBoaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTRcIjsgfVxuXG4uZ2x5cGhpY29uLXJldHdlZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTVcIjsgfVxuXG4uZ2x5cGhpY29uLXNob3BwaW5nLWNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTZcIjsgfVxuXG4uZ2x5cGhpY29uLWZvbGRlci1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExN1wiOyB9XG5cbi5nbHlwaGljb24tZm9sZGVyLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMThcIjsgfVxuXG4uZ2x5cGhpY29uLXJlc2l6ZS12ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExOVwiOyB9XG5cbi5nbHlwaGljb24tcmVzaXplLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjBcIjsgfVxuXG4uZ2x5cGhpY29uLWhkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEyMVwiOyB9XG5cbi5nbHlwaGljb24tYnVsbGhvcm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjJcIjsgfVxuXG4uZ2x5cGhpY29uLWJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjNcIjsgfVxuXG4uZ2x5cGhpY29uLWNlcnRpZmljYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTI0XCI7IH1cblxuLmdseXBoaWNvbi10aHVtYnMtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjVcIjsgfVxuXG4uZ2x5cGhpY29uLXRodW1icy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTI2XCI7IH1cblxuLmdseXBoaWNvbi1oYW5kLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTI3XCI7IH1cblxuLmdseXBoaWNvbi1oYW5kLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjhcIjsgfVxuXG4uZ2x5cGhpY29uLWhhbmQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjlcIjsgfVxuXG4uZ2x5cGhpY29uLWhhbmQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzMFwiOyB9XG5cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTMxXCI7IH1cblxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzMlwiOyB9XG5cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTMzXCI7IH1cblxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzNFwiOyB9XG5cbi5nbHlwaGljb24tZ2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzVcIjsgfVxuXG4uZ2x5cGhpY29uLXdyZW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzNlwiOyB9XG5cbi5nbHlwaGljb24tdGFza3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzdcIjsgfVxuXG4uZ2x5cGhpY29uLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzOFwiOyB9XG5cbi5nbHlwaGljb24tYnJpZWZjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTM5XCI7IH1cblxuLmdseXBoaWNvbi1mdWxsc2NyZWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQwXCI7IH1cblxuLmdseXBoaWNvbi1kYXNoYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDFcIjsgfVxuXG4uZ2x5cGhpY29uLXBhcGVyY2xpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE0MlwiOyB9XG5cbi5nbHlwaGljb24taGVhcnQtZW1wdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDNcIjsgfVxuXG4uZ2x5cGhpY29uLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDRcIjsgfVxuXG4uZ2x5cGhpY29uLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQ1XCI7IH1cblxuLmdseXBoaWNvbi1wdXNocGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQ2XCI7IH1cblxuLmdseXBoaWNvbi11c2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDhcIjsgfVxuXG4uZ2x5cGhpY29uLWdicDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE0OVwiOyB9XG5cbi5nbHlwaGljb24tc29ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1MFwiOyB9XG5cbi5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1MVwiOyB9XG5cbi5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNTJcIjsgfVxuXG4uZ2x5cGhpY29uLXNvcnQtYnktb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNTNcIjsgfVxuXG4uZ2x5cGhpY29uLXNvcnQtYnktb3JkZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTU0XCI7IH1cblxuLmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNTVcIjsgfVxuXG4uZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlcy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNTZcIjsgfVxuXG4uZ2x5cGhpY29uLXVuY2hlY2tlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1N1wiOyB9XG5cbi5nbHlwaGljb24tZXhwYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTU4XCI7IH1cblxuLmdseXBoaWNvbi1jb2xsYXBzZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTU5XCI7IH1cblxuLmdseXBoaWNvbi1jb2xsYXBzZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2MFwiOyB9XG5cbi5nbHlwaGljb24tbG9nLWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTYxXCI7IH1cblxuLmdseXBoaWNvbi1mbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2MlwiOyB9XG5cbi5nbHlwaGljb24tbG9nLW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2M1wiOyB9XG5cbi5nbHlwaGljb24tbmV3LXdpbmRvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2NFwiOyB9XG5cbi5nbHlwaGljb24tcmVjb3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTY1XCI7IH1cblxuLmdseXBoaWNvbi1zYXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTY2XCI7IH1cblxuLmdseXBoaWNvbi1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTY3XCI7IH1cblxuLmdseXBoaWNvbi1zYXZlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE2OFwiOyB9XG5cbi5nbHlwaGljb24taW1wb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTY5XCI7IH1cblxuLmdseXBoaWNvbi1leHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNzBcIjsgfVxuXG4uZ2x5cGhpY29uLXNlbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNzFcIjsgfVxuXG4uZ2x5cGhpY29uLWZsb3BweS1kaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTcyXCI7IH1cblxuLmdseXBoaWNvbi1mbG9wcHktc2F2ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNzNcIjsgfVxuXG4uZ2x5cGhpY29uLWZsb3BweS1yZW1vdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNzRcIjsgfVxuXG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc1XCI7IH1cblxuLmdseXBoaWNvbi1mbG9wcHktb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3NlwiOyB9XG5cbi5nbHlwaGljb24tY3JlZGl0LWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNzdcIjsgfVxuXG4uZ2x5cGhpY29uLXRyYW5zZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc4XCI7IH1cblxuLmdseXBoaWNvbi1jdXRsZXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc5XCI7IH1cblxuLmdseXBoaWNvbi1oZWFkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODBcIjsgfVxuXG4uZ2x5cGhpY29uLWNvbXByZXNzZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODFcIjsgfVxuXG4uZ2x5cGhpY29uLWVhcnBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTgyXCI7IH1cblxuLmdseXBoaWNvbi1waG9uZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODNcIjsgfVxuXG4uZ2x5cGhpY29uLXRvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg0XCI7IH1cblxuLmdseXBoaWNvbi1zdGF0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE4NVwiOyB9XG5cbi5nbHlwaGljb24tc2QtdmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODZcIjsgfVxuXG4uZ2x5cGhpY29uLWhkLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg3XCI7IH1cblxuLmdseXBoaWNvbi1zdWJ0aXRsZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODhcIjsgfVxuXG4uZ2x5cGhpY29uLXNvdW5kLXN0ZXJlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE4OVwiOyB9XG5cbi5nbHlwaGljb24tc291bmQtZG9sYnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTBcIjsgfVxuXG4uZ2x5cGhpY29uLXNvdW5kLTUtMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE5MVwiOyB9XG5cbi5nbHlwaGljb24tc291bmQtNi0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTkyXCI7IH1cblxuLmdseXBoaWNvbi1zb3VuZC03LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTNcIjsgfVxuXG4uZ2x5cGhpY29uLWNvcHlyaWdodC1tYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTk0XCI7IH1cblxuLmdseXBoaWNvbi1yZWdpc3RyYXRpb24tbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE5NVwiOyB9XG5cbi5nbHlwaGljb24tY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTdcIjsgfVxuXG4uZ2x5cGhpY29uLWNsb3VkLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE5OFwiOyB9XG5cbi5nbHlwaGljb24tdHJlZS1jb25pZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTk5XCI7IH1cblxuLmdseXBoaWNvbi10cmVlLWRlY2lkdW91czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIwMFwiOyB9XG5cbi5nbHlwaGljb24tY2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDFcIjsgfVxuXG4uZ2x5cGhpY29uLXNhdmUtZmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIwMlwiOyB9XG5cbi5nbHlwaGljb24tb3Blbi1maWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjAzXCI7IH1cblxuLmdseXBoaWNvbi1sZXZlbC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIwNFwiOyB9XG5cbi5nbHlwaGljb24tY29weTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIwNVwiOyB9XG5cbi5nbHlwaGljb24tcGFzdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDZcIjsgfVxuXG4uZ2x5cGhpY29uLWFsZXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjA5XCI7IH1cblxuLmdseXBoaWNvbi1lcXVhbGl6ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTBcIjsgfVxuXG4uZ2x5cGhpY29uLWtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTFcIjsgfVxuXG4uZ2x5cGhpY29uLXF1ZWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjEyXCI7IH1cblxuLmdseXBoaWNvbi1wYXduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjEzXCI7IH1cblxuLmdseXBoaWNvbi1iaXNob3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTRcIjsgfVxuXG4uZ2x5cGhpY29uLWtuaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIxNVwiOyB9XG5cbi5nbHlwaGljb24tYmFieS1mb3JtdWxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjE2XCI7IH1cblxuLmdseXBoaWNvbi10ZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNmZhXCI7IH1cblxuLmdseXBoaWNvbi1ibGFja2JvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjE4XCI7IH1cblxuLmdseXBoaWNvbi1iZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTlcIjsgfVxuXG4uZ2x5cGhpY29uLWFwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGZmXCI7IH1cblxuLmdseXBoaWNvbi1lcmFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIyMVwiOyB9XG5cbi5nbHlwaGljb24taG91cmdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMzFiXCI7IH1cblxuLmdseXBoaWNvbi1sYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjIzXCI7IH1cblxuLmdseXBoaWNvbi1kdXBsaWNhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMjRcIjsgfVxuXG4uZ2x5cGhpY29uLXBpZ2d5LWJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMjVcIjsgfVxuXG4uZ2x5cGhpY29uLXNjaXNzb3JzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjI2XCI7IH1cblxuLmdseXBoaWNvbi1iaXRjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH1cblxuLmdseXBoaWNvbi1idGM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMjdcIjsgfVxuXG4uZ2x5cGhpY29uLXhidDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIyN1wiOyB9XG5cbi5nbHlwaGljb24teWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwwMGE1XCI7IH1cblxuLmdseXBoaWNvbi1qcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDAwYTVcIjsgfVxuXG4uZ2x5cGhpY29uLXJ1YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMGJkXCI7IH1cblxuLmdseXBoaWNvbi1ydWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwYmRcIjsgfVxuXG4uZ2x5cGhpY29uLXNjYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjMwXCI7IH1cblxuLmdseXBoaWNvbi1pY2UtbG9sbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzFcIjsgfVxuXG4uZ2x5cGhpY29uLWljZS1sb2xseS10YXN0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzJcIjsgfVxuXG4uZ2x5cGhpY29uLWVkdWNhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzM1wiOyB9XG5cbi5nbHlwaGljb24tb3B0aW9uLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzRcIjsgfVxuXG4uZ2x5cGhpY29uLW9wdGlvbi12ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzNVwiOyB9XG5cbi5nbHlwaGljb24tbWVudS1oYW1idXJnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzZcIjsgfVxuXG4uZ2x5cGhpY29uLW1vZGFsLXdpbmRvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzN1wiOyB9XG5cbi5nbHlwaGljb24tb2lsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjM4XCI7IH1cblxuLmdseXBoaWNvbi1ncmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzOVwiOyB9XG5cbi5nbHlwaGljb24tc3VuZ2xhc3NlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0MFwiOyB9XG5cbi5nbHlwaGljb24tdGV4dC1zaXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQxXCI7IH1cblxuLmdseXBoaWNvbi10ZXh0LWNvbG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQyXCI7IH1cblxuLmdseXBoaWNvbi10ZXh0LWJhY2tncm91bmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDNcIjsgfVxuXG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi10b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDRcIjsgfVxuXG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDVcIjsgfVxuXG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ob3Jpem9udGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQ2XCI7IH1cblxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0N1wiOyB9XG5cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLXZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQ4XCI7IH1cblxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDlcIjsgfVxuXG4uZ2x5cGhpY29uLXRyaWFuZ2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjUwXCI7IH1cblxuLmdseXBoaWNvbi10cmlhbmdsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjUxXCI7IH1cblxuLmdseXBoaWNvbi10cmlhbmdsZS1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTJcIjsgfVxuXG4uZ2x5cGhpY29uLXRyaWFuZ2xlLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1M1wiOyB9XG5cbi5nbHlwaGljb24tY29uc29sZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1NFwiOyB9XG5cbi5nbHlwaGljb24tc3VwZXJzY3JpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTVcIjsgfVxuXG4uZ2x5cGhpY29uLXN1YnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1NlwiOyB9XG5cbi5nbHlwaGljb24tbWVudS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjU3XCI7IH1cblxuLmdseXBoaWNvbi1tZW51LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjU4XCI7IH1cblxuLmdseXBoaWNvbi1tZW51LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTlcIjsgfVxuXG4uZ2x5cGhpY29uLW1lbnUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNjBcIjsgfVxuXG4qIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyOTtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmEge1xuICBjb2xvcjogIzMzN2FiNztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMjM1MjdjO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xuICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaW1nLXJlc3BvbnNpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmltZy1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogNHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZWVlZTsgfVxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsIC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cbiAgaDEgc21hbGwsXG4gIGgxIC5zbWFsbCwgaDIgc21hbGwsXG4gIGgyIC5zbWFsbCwgaDMgc21hbGwsXG4gIGgzIC5zbWFsbCwgaDQgc21hbGwsXG4gIGg0IC5zbWFsbCwgaDUgc21hbGwsXG4gIGg1IC5zbWFsbCwgaDYgc21hbGwsXG4gIGg2IC5zbWFsbCxcbiAgLmgxIHNtYWxsLFxuICAuaDEgLnNtYWxsLCAuaDIgc21hbGwsXG4gIC5oMiAuc21hbGwsIC5oMyBzbWFsbCxcbiAgLmgzIC5zbWFsbCwgLmg0IHNtYWxsLFxuICAuaDQgLnNtYWxsLCAuaDUgc21hbGwsXG4gIC5oNSAuc21hbGwsIC5oNiBzbWFsbCxcbiAgLmg2IC5zbWFsbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzc3Nzc3NzsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIGgxIHNtYWxsLFxuICBoMSAuc21hbGwsIC5oMSBzbWFsbCxcbiAgLmgxIC5zbWFsbCxcbiAgaDIgc21hbGwsXG4gIGgyIC5zbWFsbCwgLmgyIHNtYWxsLFxuICAuaDIgLnNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDMgLnNtYWxsLCAuaDMgc21hbGwsXG4gIC5oMyAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNjUlOyB9XG5cbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgaDQgc21hbGwsXG4gIGg0IC5zbWFsbCwgLmg0IHNtYWxsLFxuICAuaDQgLnNtYWxsLFxuICBoNSBzbWFsbCxcbiAgaDUgLnNtYWxsLCAuaDUgc21hbGwsXG4gIC5oNSAuc21hbGwsXG4gIGg2IHNtYWxsLFxuICBoNiAuc21hbGwsIC5oNiBzbWFsbCxcbiAgLmg2IC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA3NSU7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMzZweDsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAzMHB4OyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDI0cHg7IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDEycHg7IH1cblxucCB7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cblxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmxlYWQge1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cblxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IDg1JTsgfVxuXG5tYXJrLFxuLm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzO1xuICBwYWRkaW5nOiAuMmVtOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbi50ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuXG4udGV4dC11cHBlcmNhc2UsIC5pbml0aWFsaXNtIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogIzc3Nzc3NzsgfVxuXG4udGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICMzMzdhYjc7IH1cblxuYS50ZXh0LXByaW1hcnk6aG92ZXIge1xuICBjb2xvcjogIzI4NjA5MDsgfVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgY29sb3I6ICMzYzc2M2Q7IH1cblxuYS50ZXh0LXN1Y2Nlc3M6aG92ZXIge1xuICBjb2xvcjogIzJiNTQyYzsgfVxuXG4udGV4dC1pbmZvIHtcbiAgY29sb3I6ICMzMTcwOGY7IH1cblxuYS50ZXh0LWluZm86aG92ZXIge1xuICBjb2xvcjogIzI0NTI2OTsgfVxuXG4udGV4dC13YXJuaW5nIHtcbiAgY29sb3I6ICM4YTZkM2I7IH1cblxuYS50ZXh0LXdhcm5pbmc6aG92ZXIge1xuICBjb2xvcjogIzY2NTEyYzsgfVxuXG4udGV4dC1kYW5nZXIge1xuICBjb2xvcjogI2E5NDQ0MjsgfVxuXG5hLnRleHQtZGFuZ2VyOmhvdmVyIHtcbiAgY29sb3I6ICM4NDM1MzQ7IH1cblxuLmJnLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uYmctcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7IH1cblxuYS5iZy1wcmltYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4NjA5MDsgfVxuXG4uYmctc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7IH1cblxuYS5iZy1zdWNjZXNzOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MxZTJiMzsgfVxuXG4uYmctaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7IH1cblxuYS5iZy1pbmZvOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FmZDllZTsgfVxuXG4uYmctd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7IH1cblxuYS5iZy13YXJuaW5nOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZWNiNTsgfVxuXG4uYmctZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTsgfVxuXG5hLmJnLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGI5Yjk7IH1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDlweDtcbiAgbWFyZ2luOiA0MHB4IDAgMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxudWwsXG5vbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgdWwgdWwsXG4gIHVsIG9sLFxuICBvbCB1bCxcbiAgb2wgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmxpc3QtaW5saW5lIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogLTVweDsgfVxuICAubGlzdC1pbmxpbmUgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuZHQsXG5kZCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyOTsgfVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRsLWhvcml6b250YWwgZGQ6YmVmb3JlLCAuZGwtaG9yaXpvbnRhbCBkZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uZGwtaG9yaXpvbnRhbCBkZDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZGwtaG9yaXpvbnRhbCBkdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAuZGwtaG9yaXpvbnRhbCBkZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4MHB4OyB9IH1cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM3Nzc3Nzc7IH1cblxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBmb250LXNpemU6IDE3LjVweDtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZWVlZWVlOyB9XG4gIGJsb2NrcXVvdGUgcDpsYXN0LWNoaWxkLFxuICBibG9ja3F1b3RlIHVsOmxhc3QtY2hpbGQsXG4gIGJsb2NrcXVvdGUgb2w6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBibG9ja3F1b3RlIGZvb3RlcixcbiAgYmxvY2txdW90ZSBzbWFsbCxcbiAgYmxvY2txdW90ZSAuc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyOTtcbiAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgIGJsb2NrcXVvdGUgZm9vdGVyOmJlZm9yZSxcbiAgICBibG9ja3F1b3RlIHNtYWxsOmJlZm9yZSxcbiAgICBibG9ja3F1b3RlIC5zbWFsbDpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwQTAnOyB9XG5cbi5ibG9ja3F1b3RlLXJldmVyc2UsXG5ibG9ja3F1b3RlLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICNlZWVlZWU7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuYmxvY2txdW90ZS1yZXZlcnNlIGZvb3RlcjpiZWZvcmUsXG4gIC5ibG9ja3F1b3RlLXJldmVyc2Ugc21hbGw6YmVmb3JlLFxuICAuYmxvY2txdW90ZS1yZXZlcnNlIC5zbWFsbDpiZWZvcmUsXG4gIGJsb2NrcXVvdGUucHVsbC1yaWdodCBmb290ZXI6YmVmb3JlLFxuICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgc21hbGw6YmVmb3JlLFxuICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgLnNtYWxsOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7IH1cbiAgLmJsb2NrcXVvdGUtcmV2ZXJzZSBmb290ZXI6YWZ0ZXIsXG4gIC5ibG9ja3F1b3RlLXJldmVyc2Ugc21hbGw6YWZ0ZXIsXG4gIC5ibG9ja3F1b3RlLXJldmVyc2UgLnNtYWxsOmFmdGVyLFxuICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgZm9vdGVyOmFmdGVyLFxuICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgc21hbGw6YWZ0ZXIsXG4gIGJsb2NrcXVvdGUucHVsbC1yaWdodCAuc21hbGw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXDAwQTAgXFwyMDE0JzsgfVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7IH1cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7IH1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogIzREOENGNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbmtiZCB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gIGtiZCBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDkuNXB4O1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyOTtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgcHJlIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6IDM0MHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLmNvbnRhaW5lciB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuICAuY29udGFpbmVyOmJlZm9yZSwgLmNvbnRhaW5lcjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmNvbnRhaW5lcjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNzUwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA5NzBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMTcwcHg7IH0gfVxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gIC5jb250YWluZXItZmx1aWQ6YmVmb3JlLCAuY29udGFpbmVyLWZsdWlkOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuY29udGFpbmVyLWZsdWlkOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ucm93IHtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9XG4gIC5yb3c6YmVmb3JlLCAucm93OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucm93OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uY29sLXhzLTEsIC5jb2wtc20tMSwgLmNvbC1tZC0xLCAuY29sLWxnLTEsIC5jb2wteHMtMiwgLmNvbC1zbS0yLCAuY29sLW1kLTIsIC5jb2wtbGctMiwgLmNvbC14cy0zLCAuY29sLXNtLTMsIC5jb2wtbWQtMywgLmNvbC1sZy0zLCAuY29sLXhzLTQsIC5jb2wtc20tNCwgLmNvbC1tZC00LCAuY29sLWxnLTQsIC5jb2wteHMtNSwgLmNvbC1zbS01LCAuY29sLW1kLTUsIC5jb2wtbGctNSwgLmNvbC14cy02LCAuY29sLXNtLTYsIC5jb2wtbWQtNiwgLmNvbC1sZy02LCAuY29sLXhzLTcsIC5jb2wtc20tNywgLmNvbC1tZC03LCAuY29sLWxnLTcsIC5jb2wteHMtOCwgLmNvbC1zbS04LCAuY29sLW1kLTgsIC5jb2wtbGctOCwgLmNvbC14cy05LCAuY29sLXNtLTksIC5jb2wtbWQtOSwgLmNvbC1sZy05LCAuY29sLXhzLTEwLCAuY29sLXNtLTEwLCAuY29sLW1kLTEwLCAuY29sLWxnLTEwLCAuY29sLXhzLTExLCAuY29sLXNtLTExLCAuY29sLW1kLTExLCAuY29sLWxnLTExLCAuY29sLXhzLTEyLCAuY29sLXNtLTEyLCAuY29sLW1kLTEyLCAuY29sLWxnLTEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG4uY29sLXhzLTEsIC5jb2wteHMtMiwgLmNvbC14cy0zLCAuY29sLXhzLTQsIC5jb2wteHMtNSwgLmNvbC14cy02LCAuY29sLXhzLTcsIC5jb2wteHMtOCwgLmNvbC14cy05LCAuY29sLXhzLTEwLCAuY29sLXhzLTExLCAuY29sLXhzLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbC14cy0xIHtcbiAgd2lkdGg6IDguMzMzMzMzMzMzMyU7IH1cblxuLmNvbC14cy0yIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclOyB9XG5cbi5jb2wteHMtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmNvbC14cy00IHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlOyB9XG5cbi5jb2wteHMtNSB7XG4gIHdpZHRoOiA0MS42NjY2NjY2NjY3JTsgfVxuXG4uY29sLXhzLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5jb2wteHMtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTsgfVxuXG4uY29sLXhzLTgge1xuICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7IH1cblxuLmNvbC14cy05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uY29sLXhzLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlOyB9XG5cbi5jb2wteHMtMTEge1xuICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7IH1cblxuLmNvbC14cy0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jb2wteHMtcHVsbC0wIHtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLmNvbC14cy1wdWxsLTEge1xuICByaWdodDogOC4zMzMzMzMzMzMzJTsgfVxuXG4uY29sLXhzLXB1bGwtMiB7XG4gIHJpZ2h0OiAxNi42NjY2NjY2NjY3JTsgfVxuXG4uY29sLXhzLXB1bGwtMyB7XG4gIHJpZ2h0OiAyNSU7IH1cblxuLmNvbC14cy1wdWxsLTQge1xuICByaWdodDogMzMuMzMzMzMzMzMzMyU7IH1cblxuLmNvbC14cy1wdWxsLTUge1xuICByaWdodDogNDEuNjY2NjY2NjY2NyU7IH1cblxuLmNvbC14cy1wdWxsLTYge1xuICByaWdodDogNTAlOyB9XG5cbi5jb2wteHMtcHVsbC03IHtcbiAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMlOyB9XG5cbi5jb2wteHMtcHVsbC04IHtcbiAgcmlnaHQ6IDY2LjY2NjY2NjY2NjclOyB9XG5cbi5jb2wteHMtcHVsbC05IHtcbiAgcmlnaHQ6IDc1JTsgfVxuXG4uY29sLXhzLXB1bGwtMTAge1xuICByaWdodDogODMuMzMzMzMzMzMzMyU7IH1cblxuLmNvbC14cy1wdWxsLTExIHtcbiAgcmlnaHQ6IDkxLjY2NjY2NjY2NjclOyB9XG5cbi5jb2wteHMtcHVsbC0xMiB7XG4gIHJpZ2h0OiAxMDAlOyB9XG5cbi5jb2wteHMtcHVzaC0wIHtcbiAgbGVmdDogYXV0bzsgfVxuXG4uY29sLXhzLXB1c2gtMSB7XG4gIGxlZnQ6IDguMzMzMzMzMzMzMyU7IH1cblxuLmNvbC14cy1wdXNoLTIge1xuICBsZWZ0OiAxNi42NjY2NjY2NjY3JTsgfVxuXG4uY29sLXhzLXB1c2gtMyB7XG4gIGxlZnQ6IDI1JTsgfVxuXG4uY29sLXhzLXB1c2gtNCB7XG4gIGxlZnQ6IDMzLjMzMzMzMzMzMzMlOyB9XG5cbi5jb2wteHMtcHVzaC01IHtcbiAgbGVmdDogNDEuNjY2NjY2NjY2NyU7IH1cblxuLmNvbC14cy1wdXNoLTYge1xuICBsZWZ0OiA1MCU7IH1cblxuLmNvbC14cy1wdXNoLTcge1xuICBsZWZ0OiA1OC4zMzMzMzMzMzMzJTsgfVxuXG4uY29sLXhzLXB1c2gtOCB7XG4gIGxlZnQ6IDY2LjY2NjY2NjY2NjclOyB9XG5cbi5jb2wteHMtcHVzaC05IHtcbiAgbGVmdDogNzUlOyB9XG5cbi5jb2wteHMtcHVzaC0xMCB7XG4gIGxlZnQ6IDgzLjMzMzMzMzMzMzMlOyB9XG5cbi5jb2wteHMtcHVzaC0xMSB7XG4gIGxlZnQ6IDkxLjY2NjY2NjY2NjclOyB9XG5cbi5jb2wteHMtcHVzaC0xMiB7XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmNvbC14cy1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uY29sLXhzLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7IH1cblxuLmNvbC14cy1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTsgfVxuXG4uY29sLXhzLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uY29sLXhzLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7IH1cblxuLmNvbC14cy1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmNvbC14cy1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTsgfVxuXG4uY29sLXhzLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTEyIHtcbiAgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtc20tMSwgLmNvbC1zbS0yLCAuY29sLXNtLTMsIC5jb2wtc20tNCwgLmNvbC1zbS01LCAuY29sLXNtLTYsIC5jb2wtc20tNywgLmNvbC1zbS04LCAuY29sLXNtLTksIC5jb2wtc20tMTAsIC5jb2wtc20tMTEsIC5jb2wtc20tMTIge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jb2wtc20tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1zbS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1zbS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5jb2wtc20tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtc20tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtc20tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuY29sLXNtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLXNtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTsgfVxuICAuY29sLXNtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmNvbC1zbS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtc20tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLXNtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29sLXNtLXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmNvbC1zbS1wdWxsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtc20tcHVsbC0yIHtcbiAgICByaWdodDogMTYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1zbS1wdWxsLTMge1xuICAgIHJpZ2h0OiAyNSU7IH1cbiAgLmNvbC1zbS1wdWxsLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMzMzMzMzJTsgfVxuICAuY29sLXNtLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtc20tcHVsbC02IHtcbiAgICByaWdodDogNTAlOyB9XG4gIC5jb2wtc20tcHVsbC03IHtcbiAgICByaWdodDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1zbS1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY3JTsgfVxuICAuY29sLXNtLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTsgfVxuICAuY29sLXNtLXB1bGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMzMzMzMzJTsgfVxuICAuY29sLXNtLXB1bGwtMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLXNtLXB1bGwtMTIge1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5jb2wtc20tcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5jb2wtc20tcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtc20tcHVzaC0yIHtcbiAgICBsZWZ0OiAxNi42NjY2NjY2NjY3JTsgfVxuICAuY29sLXNtLXB1c2gtMyB7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5jb2wtc20tcHVzaC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMzMzJTsgfVxuICAuY29sLXNtLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1zbS1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTsgfVxuICAuY29sLXNtLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1zbS1wdXNoLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtc20tcHVzaC05IHtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLmNvbC1zbS1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMzMzJTsgfVxuICAuY29sLXNtLXB1c2gtMTEge1xuICAgIGxlZnQ6IDkxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtc20tcHVzaC0xMiB7XG4gICAgbGVmdDogMTAwJTsgfVxuICAuY29sLXNtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLXNtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLXNtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuY29sLXNtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb2wtbWQtMSwgLmNvbC1tZC0yLCAuY29sLW1kLTMsIC5jb2wtbWQtNCwgLmNvbC1tZC01LCAuY29sLW1kLTYsIC5jb2wtbWQtNywgLmNvbC1tZC04LCAuY29sLW1kLTksIC5jb2wtbWQtMTAsIC5jb2wtbWQtMTEsIC5jb2wtbWQtMTIge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jb2wtbWQtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1tZC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1tZC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5jb2wtbWQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbWQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbWQtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuY29sLW1kLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLW1kLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTsgfVxuICAuY29sLW1kLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmNvbC1tZC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbWQtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLW1kLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29sLW1kLXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmNvbC1tZC1wdWxsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbWQtcHVsbC0yIHtcbiAgICByaWdodDogMTYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1tZC1wdWxsLTMge1xuICAgIHJpZ2h0OiAyNSU7IH1cbiAgLmNvbC1tZC1wdWxsLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMzMzMzMzJTsgfVxuICAuY29sLW1kLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbWQtcHVsbC02IHtcbiAgICByaWdodDogNTAlOyB9XG4gIC5jb2wtbWQtcHVsbC03IHtcbiAgICByaWdodDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1tZC1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY3JTsgfVxuICAuY29sLW1kLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTsgfVxuICAuY29sLW1kLXB1bGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMzMzMzMzJTsgfVxuICAuY29sLW1kLXB1bGwtMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLW1kLXB1bGwtMTIge1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5jb2wtbWQtcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5jb2wtbWQtcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbWQtcHVzaC0yIHtcbiAgICBsZWZ0OiAxNi42NjY2NjY2NjY3JTsgfVxuICAuY29sLW1kLXB1c2gtMyB7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5jb2wtbWQtcHVzaC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMzMzJTsgfVxuICAuY29sLW1kLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1tZC1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTsgfVxuICAuY29sLW1kLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1tZC1wdXNoLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbWQtcHVzaC05IHtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLmNvbC1tZC1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMzMzJTsgfVxuICAuY29sLW1kLXB1c2gtMTEge1xuICAgIGxlZnQ6IDkxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbWQtcHVzaC0xMiB7XG4gICAgbGVmdDogMTAwJTsgfVxuICAuY29sLW1kLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLW1kLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLW1kLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuY29sLW1kLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuY29sLWxnLTEsIC5jb2wtbGctMiwgLmNvbC1sZy0zLCAuY29sLWxnLTQsIC5jb2wtbGctNSwgLmNvbC1sZy02LCAuY29sLWxnLTcsIC5jb2wtbGctOCwgLmNvbC1sZy05LCAuY29sLWxnLTEwLCAuY29sLWxnLTExLCAuY29sLWxnLTEyIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuY29sLWxnLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbGctMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbGctMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuY29sLWxnLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTsgfVxuICAuY29sLWxnLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLWxnLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmNvbC1sZy03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1sZy04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1sZy05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5jb2wtbGctMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTsgfVxuICAuY29sLWxnLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1sZy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbC1sZy1wdWxsLTAge1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5jb2wtbGctcHVsbC0xIHtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLWxnLXB1bGwtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbGctcHVsbC0zIHtcbiAgICByaWdodDogMjUlOyB9XG4gIC5jb2wtbGctcHVsbC00IHtcbiAgICByaWdodDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1sZy1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLWxnLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTsgfVxuICAuY29sLWxnLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbGctcHVsbC04IHtcbiAgICByaWdodDogNjYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1sZy1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7IH1cbiAgLmNvbC1sZy1wdWxsLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1sZy1wdWxsLTExIHtcbiAgICByaWdodDogOTEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1sZy1wdWxsLTEyIHtcbiAgICByaWdodDogMTAwJTsgfVxuICAuY29sLWxnLXB1c2gtMCB7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuY29sLWxnLXB1c2gtMSB7XG4gICAgbGVmdDogOC4zMzMzMzMzMzMzJTsgfVxuICAuY29sLWxnLXB1c2gtMiB7XG4gICAgbGVmdDogMTYuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1sZy1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTsgfVxuICAuY29sLWxnLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1sZy1wdXNoLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbGctcHVzaC02IHtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLmNvbC1sZy1wdXNoLTcge1xuICAgIGxlZnQ6IDU4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbGctcHVzaC04IHtcbiAgICBsZWZ0OiA2Ni42NjY2NjY2NjY3JTsgfVxuICAuY29sLWxnLXB1c2gtOSB7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5jb2wtbGctcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1sZy1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY3JTsgfVxuICAuY29sLWxnLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTsgfVxuICAuY29sLWxnLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTsgfVxuICAuY29sLWxnLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuY29sLWxnLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTsgfVxuICAuY29sLWxnLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJTsgfSB9XG5cbnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIGNvbG9yOiAjNzc3Nzc3O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50YWJsZSwgLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgdGFibGUgPiB0aGVhZCA+IHRyID4gdGQsXG4gIHRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuICB0YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcbiAgdGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG4gIHRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLCAudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4gIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCxcbiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuICAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDI5O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7IH1cbiAgdGFibGUgPiB0aGVhZCA+IHRyID4gdGgsIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RkZDsgfVxuICB0YWJsZSA+IGNhcHRpb24gKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsXG4gIHRhYmxlID4gY2FwdGlvbiArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcbiAgdGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbiAgdGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcbiAgdGFibGUgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsXG4gIHRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLCAudGFibGUgPiBjYXB0aW9uICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLFxuICAudGFibGUgPiBjYXB0aW9uICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLFxuICAudGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbiAgLnRhYmxlID4gY29sZ3JvdXAgKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4gIC50YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbiAgLnRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gIHRhYmxlID4gdGJvZHkgKyB0Ym9keSwgLnRhYmxlID4gdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkZGQ7IH1cbiAgdGFibGUgLnRhYmxlLCAudGFibGUgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi50YWJsZS1jb25kZW5zZWQgPiB0aGVhZCA+IHRyID4gdGgsXG4udGFibGUtY29uZGVuc2VkID4gdGhlYWQgPiB0ciA+IHRkLFxuLnRhYmxlLWNvbmRlbnNlZCA+IHRib2R5ID4gdHIgPiB0aCxcbi50YWJsZS1jb25kZW5zZWQgPiB0Ym9keSA+IHRyID4gdGQsXG4udGFibGUtY29uZGVuc2VkID4gdGZvb3QgPiB0ciA+IHRoLFxuLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0ZCB7XG4gIHBhZGRpbmc6IDVweDsgfVxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOyB9XG4gIC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCxcbiAgLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkLFxuICAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGgsXG4gIC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZCxcbiAgLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoLFxuICAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7IH1cbiAgLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoLFxuICAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDsgfVxuXG4udGFibGUtc3RyaXBlZCA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IH1cblxudGFibGUgY29sW2NsYXNzKj1cImNvbC1cIl0ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogdGFibGUtY29sdW1uOyB9XG5cbnRhYmxlIHRkW2NsYXNzKj1cImNvbC1cIl0sXG50YWJsZSB0aFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cblxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLmFjdGl2ZSxcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5hY3RpdmUsXG4udGFibGUgPiB0aGVhZCA+IHRyLmFjdGl2ZSA+IHRkLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5hY3RpdmUgPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5hY3RpdmUsXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGguYWN0aXZlLFxuLnRhYmxlID4gdGJvZHkgPiB0ci5hY3RpdmUgPiB0ZCxcbi50YWJsZSA+IHRib2R5ID4gdHIuYWN0aXZlID4gdGgsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQuYWN0aXZlLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLmFjdGl2ZSxcbi50YWJsZSA+IHRmb290ID4gdHIuYWN0aXZlID4gdGQsXG4udGFibGUgPiB0Zm9vdCA+IHRyLmFjdGl2ZSA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsgfVxuXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGQuYWN0aXZlOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLmFjdGl2ZTpob3Zlcixcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuYWN0aXZlOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyOmhvdmVyID4gLmFjdGl2ZSxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuYWN0aXZlOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGU4OyB9XG5cbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5zdWNjZXNzLFxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLnN1Y2Nlc3MsXG4udGFibGUgPiB0aGVhZCA+IHRyLnN1Y2Nlc3MgPiB0ZCxcbi50YWJsZSA+IHRoZWFkID4gdHIuc3VjY2VzcyA+IHRoLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLnN1Y2Nlc3MsXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGguc3VjY2Vzcyxcbi50YWJsZSA+IHRib2R5ID4gdHIuc3VjY2VzcyA+IHRkLFxuLnRhYmxlID4gdGJvZHkgPiB0ci5zdWNjZXNzID4gdGgsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQuc3VjY2Vzcyxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5zdWNjZXNzLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5zdWNjZXNzID4gdGQsXG4udGFibGUgPiB0Zm9vdCA+IHRyLnN1Y2Nlc3MgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7IH1cblxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLnN1Y2Nlc3M6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGguc3VjY2Vzczpob3Zlcixcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuc3VjY2Vzczpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5zdWNjZXNzLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5zdWNjZXNzOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBlOWM2OyB9XG5cbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5pbmZvLFxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLmluZm8sXG4udGFibGUgPiB0aGVhZCA+IHRyLmluZm8gPiB0ZCxcbi50YWJsZSA+IHRoZWFkID4gdHIuaW5mbyA+IHRoLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmluZm8sXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGguaW5mbyxcbi50YWJsZSA+IHRib2R5ID4gdHIuaW5mbyA+IHRkLFxuLnRhYmxlID4gdGJvZHkgPiB0ci5pbmZvID4gdGgsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQuaW5mbyxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5pbmZvLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5pbmZvID4gdGQsXG4udGFibGUgPiB0Zm9vdCA+IHRyLmluZm8gPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7IH1cblxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLmluZm86aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGguaW5mbzpob3Zlcixcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuaW5mbzpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5pbmZvLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5pbmZvOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRlM2YzOyB9XG5cbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC53YXJuaW5nLFxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLndhcm5pbmcsXG4udGFibGUgPiB0aGVhZCA+IHRyLndhcm5pbmcgPiB0ZCxcbi50YWJsZSA+IHRoZWFkID4gdHIud2FybmluZyA+IHRoLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLndhcm5pbmcsXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGgud2FybmluZyxcbi50YWJsZSA+IHRib2R5ID4gdHIud2FybmluZyA+IHRkLFxuLnRhYmxlID4gdGJvZHkgPiB0ci53YXJuaW5nID4gdGgsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQud2FybmluZyxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aC53YXJuaW5nLFxuLnRhYmxlID4gdGZvb3QgPiB0ci53YXJuaW5nID4gdGQsXG4udGFibGUgPiB0Zm9vdCA+IHRyLndhcm5pbmcgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7IH1cblxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLndhcm5pbmc6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGgud2FybmluZzpob3Zlcixcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIud2FybmluZzpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC53YXJuaW5nLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci53YXJuaW5nOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmMmNjOyB9XG5cbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5kYW5nZXIsXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGguZGFuZ2VyLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5kYW5nZXIgPiB0ZCxcbi50YWJsZSA+IHRoZWFkID4gdHIuZGFuZ2VyID4gdGgsXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGQuZGFuZ2VyLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLmRhbmdlcixcbi50YWJsZSA+IHRib2R5ID4gdHIuZGFuZ2VyID4gdGQsXG4udGFibGUgPiB0Ym9keSA+IHRyLmRhbmdlciA+IHRoLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLmRhbmdlcixcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5kYW5nZXIsXG4udGFibGUgPiB0Zm9vdCA+IHRyLmRhbmdlciA+IHRkLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5kYW5nZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7IH1cblxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLmRhbmdlcjpob3Zlcixcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0aC5kYW5nZXI6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmRhbmdlcjpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5kYW5nZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmRhbmdlcjpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2NjYzsgfVxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDAuMDElOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOyB9XG4gICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICBib3JkZXI6IDA7IH1cbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQ6bGFzdC1jaGlsZCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQ6bGFzdC1jaGlsZCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGgsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGgsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7IH0gfVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBtaW4td2lkdGg6IDA7IH1cblxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzMzMzMzMztcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbjogNHB4IDAgMDtcbiAgbWFyZ2luLXRvcDogMXB4IFxcOTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuXG5zZWxlY3RbbXVsdGlwbGVdLFxuc2VsZWN0W3NpemVdIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzIHtcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxub3V0cHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDI5O1xuICBjb2xvcjogIzU1NTU1NTsgfVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM0cHg7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyOTtcbiAgY29sb3I6ICM1NTU1NTU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgMC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgMC4xNXM7XG4gIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAwLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAwLjE1cztcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IDAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IDAuMTVzOyB9XG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY2YWZlOTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgOHB4IHJnYmEoMTAyLCAxNzUsIDIzMywgMC42KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA4cHggcmdiYSgxMDIsIDE3NSwgMjMzLCAwLjYpOyB9XG4gIC5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOTk5OyB9XG4gIC5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOTk5OyB9XG4gIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuZm9ybS1jb250cm9sW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5mb3JtLWNvbnRyb2wge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZm9ybS1jb250cm9sW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5mb3JtLWNvbnRyb2wge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICBsaW5lLWhlaWdodDogMzRweDsgfVxuICAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLmlucHV0LXNtLCAuaW5wdXQtZ3JvdXAtc20gPiBpbnB1dC5mb3JtLWNvbnRyb2xbdHlwZT1cImRhdGVcIl0sXG4gICAgLmlucHV0LWdyb3VwLXNtID4gaW5wdXQuaW5wdXQtZ3JvdXAtYWRkb25bdHlwZT1cImRhdGVcIl0sXG4gICAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IGlucHV0LmJ0blt0eXBlPVwiZGF0ZVwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRpbWVcIl0uaW5wdXQtc20sXG4gICAgLmlucHV0LWdyb3VwLXNtID4gaW5wdXQuZm9ybS1jb250cm9sW3R5cGU9XCJ0aW1lXCJdLFxuICAgIC5pbnB1dC1ncm91cC1zbSA+IGlucHV0LmlucHV0LWdyb3VwLWFkZG9uW3R5cGU9XCJ0aW1lXCJdLFxuICAgIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiBpbnB1dC5idG5bdHlwZT1cInRpbWVcIl0sXG4gICAgLmlucHV0LWdyb3VwLXNtXG4gICAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmlucHV0LXNtLFxuICAgIC5pbnB1dC1ncm91cC1zbSA+IGlucHV0LmZvcm0tY29udHJvbFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gICAgLmlucHV0LWdyb3VwLXNtID4gaW5wdXQuaW5wdXQtZ3JvdXAtYWRkb25bdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAgIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiBpbnB1dC5idG5bdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAgIC5pbnB1dC1ncm91cC1zbVxuICAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwibW9udGhcIl0uaW5wdXQtc20sXG4gICAgLmlucHV0LWdyb3VwLXNtID4gaW5wdXQuZm9ybS1jb250cm9sW3R5cGU9XCJtb250aFwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtc20gPiBpbnB1dC5pbnB1dC1ncm91cC1hZGRvblt0eXBlPVwibW9udGhcIl0sXG4gICAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IGlucHV0LmJ0blt0eXBlPVwibW9udGhcIl0sXG4gICAgLmlucHV0LWdyb3VwLXNtXG4gICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gICAgaW5wdXRbdHlwZT1cImRhdGVcIl0uaW5wdXQtbGcsIC5pbnB1dC1ncm91cC1sZyA+IGlucHV0LmZvcm0tY29udHJvbFt0eXBlPVwiZGF0ZVwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtbGcgPiBpbnB1dC5pbnB1dC1ncm91cC1hZGRvblt0eXBlPVwiZGF0ZVwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gaW5wdXQuYnRuW3R5cGU9XCJkYXRlXCJdLFxuICAgIC5pbnB1dC1ncm91cC1sZyBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgICBpbnB1dFt0eXBlPVwidGltZVwiXS5pbnB1dC1sZyxcbiAgICAuaW5wdXQtZ3JvdXAtbGcgPiBpbnB1dC5mb3JtLWNvbnRyb2xbdHlwZT1cInRpbWVcIl0sXG4gICAgLmlucHV0LWdyb3VwLWxnID4gaW5wdXQuaW5wdXQtZ3JvdXAtYWRkb25bdHlwZT1cInRpbWVcIl0sXG4gICAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IGlucHV0LmJ0blt0eXBlPVwidGltZVwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtbGdcbiAgICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0uaW5wdXQtbGcsXG4gICAgLmlucHV0LWdyb3VwLWxnID4gaW5wdXQuZm9ybS1jb250cm9sW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtbGcgPiBpbnB1dC5pbnB1dC1ncm91cC1hZGRvblt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gICAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IGlucHV0LmJ0blt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gICAgLmlucHV0LWdyb3VwLWxnXG4gICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAgIGlucHV0W3R5cGU9XCJtb250aFwiXS5pbnB1dC1sZyxcbiAgICAuaW5wdXQtZ3JvdXAtbGcgPiBpbnB1dC5mb3JtLWNvbnRyb2xbdHlwZT1cIm1vbnRoXCJdLFxuICAgIC5pbnB1dC1ncm91cC1sZyA+IGlucHV0LmlucHV0LWdyb3VwLWFkZG9uW3R5cGU9XCJtb250aFwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gaW5wdXQuYnRuW3R5cGU9XCJtb250aFwiXSxcbiAgICAuaW5wdXQtZ3JvdXAtbGdcbiAgICBpbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7IH0gfVxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAucmFkaW8gbGFiZWwsXG4gIC5jaGVja2JveCBsYWJlbCB7XG4gICAgbWluLWhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4uY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbWFyZ2luLXRvcDogNHB4IFxcOTsgfVxuXG4ucmFkaW8gKyAucmFkaW8sXG4uY2hlY2tib3ggKyAuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAtNXB4OyB9XG5cbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5yYWRpby1pbmxpbmUgKyAucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSArIC5jaGVja2JveC1pbmxpbmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwicmFkaW9cIl0uZGlzYWJsZWQsXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdW2Rpc2FibGVkXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5kaXNhYmxlZCxcbmZpZWxkc2V0W2Rpc2FibGVkXVxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4ucmFkaW8taW5saW5lLmRpc2FibGVkLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lLmRpc2FibGVkLFxuZmllbGRzZXRbZGlzYWJsZWRdXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4ucmFkaW8uZGlzYWJsZWQgbGFiZWwsXG5maWVsZHNldFtkaXNhYmxlZF0gLnJhZGlvIGxhYmVsLFxuLmNoZWNrYm94LmRpc2FibGVkIGxhYmVsLFxuZmllbGRzZXRbZGlzYWJsZWRdXG4uY2hlY2tib3ggbGFiZWwge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWluLWhlaWdodDogMzRweDsgfVxuICAuZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1sZywgLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbC1zdGF0aWMuZm9ybS1jb250cm9sLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmJ0biwgLmZvcm0tY29udHJvbC1zdGF0aWMuaW5wdXQtc20sIC5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmZvcm0tY29udHJvbCxcbiAgLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbC1zdGF0aWMuaW5wdXQtZ3JvdXAtYWRkb24sXG4gIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuZm9ybS1jb250cm9sLXN0YXRpYy5idG4ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5pbnB1dC1zbSwgLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuc2VsZWN0LmlucHV0LXNtLCAuaW5wdXQtZ3JvdXAtc20gPiBzZWxlY3QuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gc2VsZWN0LmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IHNlbGVjdC5idG4ge1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG5cbnRleHRhcmVhLmlucHV0LXNtLCAuaW5wdXQtZ3JvdXAtc20gPiB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiB0ZXh0YXJlYS5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiB0ZXh0YXJlYS5idG4sXG5zZWxlY3RbbXVsdGlwbGVdLmlucHV0LXNtLFxuLmlucHV0LWdyb3VwLXNtID4gc2VsZWN0LmZvcm0tY29udHJvbFttdWx0aXBsZV0sXG4uaW5wdXQtZ3JvdXAtc20gPiBzZWxlY3QuaW5wdXQtZ3JvdXAtYWRkb25bbXVsdGlwbGVdLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IHNlbGVjdC5idG5bbXVsdGlwbGVdIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4uZm9ybS1ncm91cC1zbSBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDsgfVxuXG4uZm9ybS1ncm91cC1zbSB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4uZm9ybS1ncm91cC1zbSBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWluLWhlaWdodDogMzJweDsgfVxuXG4uaW5wdXQtbGcsIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIGhlaWdodDogNDZweDtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuXG5zZWxlY3QuaW5wdXQtbGcsIC5pbnB1dC1ncm91cC1sZyA+IHNlbGVjdC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gc2VsZWN0LmJ0biB7XG4gIGhlaWdodDogNDZweDtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7IH1cblxudGV4dGFyZWEuaW5wdXQtbGcsIC5pbnB1dC1ncm91cC1sZyA+IHRleHRhcmVhLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IHRleHRhcmVhLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IHRleHRhcmVhLmJ0bixcbnNlbGVjdFttdWx0aXBsZV0uaW5wdXQtbGcsXG4uaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3QuZm9ybS1jb250cm9sW211bHRpcGxlXSxcbi5pbnB1dC1ncm91cC1sZyA+IHNlbGVjdC5pbnB1dC1ncm91cC1hZGRvblttdWx0aXBsZV0sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gc2VsZWN0LmJ0blttdWx0aXBsZV0ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogNDZweDtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuXG4uZm9ybS1ncm91cC1sZyBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiA0NnB4O1xuICBsaW5lLWhlaWdodDogNDZweDsgfVxuXG4uZm9ybS1ncm91cC1sZyB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4uZm9ybS1ncm91cC1sZyBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIGhlaWdodDogNDZweDtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7XG4gIG1pbi1oZWlnaHQ6IDM4cHg7IH1cblxuLmhhcy1mZWVkYmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQyLjVweDsgfVxuXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmlucHV0LWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjaywgLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbiArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiA0NnB4O1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NnB4OyB9XG5cbi5pbnB1dC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssIC5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmhlbHAtYmxvY2ssXG4uaGFzLXN1Y2Nlc3MgLmNvbnRyb2wtbGFiZWwsXG4uaGFzLXN1Y2Nlc3MgLnJhZGlvLFxuLmhhcy1zdWNjZXNzIC5jaGVja2JveCxcbi5oYXMtc3VjY2VzcyAucmFkaW8taW5saW5lLFxuLmhhcy1zdWNjZXNzIC5jaGVja2JveC1pbmxpbmUsXG4uaGFzLXN1Y2Nlc3MucmFkaW8gbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuY2hlY2tib3ggbGFiZWwsXG4uaGFzLXN1Y2Nlc3MucmFkaW8taW5saW5lIGxhYmVsLFxuLmhhcy1zdWNjZXNzLmNoZWNrYm94LWlubGluZSBsYWJlbCB7XG4gIGNvbG9yOiAjM2M3NjNkOyB9XG5cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjM2M3NjNkO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpOyB9XG4gIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMyYjU0MmM7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA2cHggIzY3YjE2ODtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA2cHggIzY3YjE2ODsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6ICMzYzc2M2Q7XG4gIGJvcmRlci1jb2xvcjogIzNjNzYzZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiAjM2M3NjNkOyB9XG5cbi5oYXMtd2FybmluZyAuaGVscC1ibG9jayxcbi5oYXMtd2FybmluZyAuY29udHJvbC1sYWJlbCxcbi5oYXMtd2FybmluZyAucmFkaW8sXG4uaGFzLXdhcm5pbmcgLmNoZWNrYm94LFxuLmhhcy13YXJuaW5nIC5yYWRpby1pbmxpbmUsXG4uaGFzLXdhcm5pbmcgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtd2FybmluZy5yYWRpbyBsYWJlbCxcbi5oYXMtd2FybmluZy5jaGVja2JveCBsYWJlbCxcbi5oYXMtd2FybmluZy5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcuY2hlY2tib3gtaW5saW5lIGxhYmVsIHtcbiAgY29sb3I6ICM4YTZkM2I7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICM4YTZkM2I7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cbiAgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY2NTEyYztcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDZweCAjYzBhMTZiO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDZweCAjYzBhMTZiOyB9XG5cbi5oYXMtd2FybmluZyAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBjb2xvcjogIzhhNmQzYjtcbiAgYm9yZGVyLWNvbG9yOiAjOGE2ZDNiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOyB9XG5cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICM4YTZkM2I7IH1cblxuLmhhcy1lcnJvciAuaGVscC1ibG9jayxcbi5oYXMtZXJyb3IgLmNvbnRyb2wtbGFiZWwsXG4uaGFzLWVycm9yIC5yYWRpbyxcbi5oYXMtZXJyb3IgLmNoZWNrYm94LFxuLmhhcy1lcnJvciAucmFkaW8taW5saW5lLFxuLmhhcy1lcnJvciAuY2hlY2tib3gtaW5saW5lLFxuLmhhcy1lcnJvci5yYWRpbyBsYWJlbCxcbi5oYXMtZXJyb3IuY2hlY2tib3ggbGFiZWwsXG4uaGFzLWVycm9yLnJhZGlvLWlubGluZSBsYWJlbCxcbi5oYXMtZXJyb3IuY2hlY2tib3gtaW5saW5lIGxhYmVsIHtcbiAgY29sb3I6ICNhOTQ0NDI7IH1cblxuLmhhcy1lcnJvciAuZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTk0NDQyO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpOyB9XG4gIC5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjODQzNTM0O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNnB4ICNjZTg0ODM7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNnB4ICNjZTg0ODM7IH1cblxuLmhhcy1lcnJvciAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBjb2xvcjogI2E5NDQ0MjtcbiAgYm9yZGVyLWNvbG9yOiAjYTk0NDQyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlOyB9XG5cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiAjYTk0NDQyOyB9XG5cbi5oYXMtZmVlZGJhY2sgbGFiZWwgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgdG9wOiAyNXB4OyB9XG5cbi5oYXMtZmVlZGJhY2sgbGFiZWwuc3Itb25seSB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB0b3A6IDA7IH1cblxuLmhlbHAtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogIzczNzM3MzsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvcm0taW5saW5lIC5mb3JtLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uLFxuICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ0bixcbiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mb3JtLWlubGluZSAuY29udHJvbC1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5mb3JtLWlubGluZSAucmFkaW8sXG4gIC5mb3JtLWlubGluZSAuY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mb3JtLWlubGluZSAucmFkaW8gbGFiZWwsXG4gICAgLmZvcm0taW5saW5lIC5jaGVja2JveCBsYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmZvcm0taW5saW5lIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIC5mb3JtLWlubGluZSAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmZvcm0taW5saW5lIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgdG9wOiAwOyB9IH1cblxuLmZvcm0taG9yaXpvbnRhbCAucmFkaW8sXG4uZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCxcbi5mb3JtLWhvcml6b250YWwgLnJhZGlvLWlubGluZSxcbi5mb3JtLWhvcml6b250YWwgLmNoZWNrYm94LWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiA3cHg7IH1cblxuLmZvcm0taG9yaXpvbnRhbCAucmFkaW8sXG4uZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCB7XG4gIG1pbi1oZWlnaHQ6IDI3cHg7IH1cblxuLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDsgfVxuICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwOmJlZm9yZSwgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtbGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDdweDsgfSB9XG5cbi5mb3JtLWhvcml6b250YWwgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgcmlnaHQ6IDE1cHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAtbGcgLmNvbnRyb2wtbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiAxNC4zMzMzMzNweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLXNtIC5jb250cm9sLWxhYmVsIHtcbiAgICBwYWRkaW5nLXRvcDogNnB4OyB9IH1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDI5O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLmJ0bjpmb2N1cywgLmJ0bi5mb2N1cywgLmJ0bjphY3RpdmU6Zm9jdXMsIC5idG46YWN0aXZlLmZvY3VzLCAuYnRuLmFjdGl2ZTpmb2N1cywgLmJ0bi5hY3RpdmUuZm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xuICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuICAuYnRuOmhvdmVyLCAuYnRuOmZvY3VzLCAuYnRuLmZvY3VzIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJ0bjphY3RpdmUsIC5idG4uYWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpOyB9XG4gIC5idG4uZGlzYWJsZWQsIC5idG5bZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0biB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmJ0bi1kZWZhdWx0IHtcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuYnRuLWRlZmF1bHQ6aG92ZXIsIC5idG4tZGVmYXVsdDpmb2N1cywgLmJ0bi1kZWZhdWx0LmZvY3VzLCAuYnRuLWRlZmF1bHQ6YWN0aXZlLCAuYnRuLWRlZmF1bHQuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tZGVmYXVsdC5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU1ZTU7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWRhZGFkOyB9XG4gIC5idG4tZGVmYXVsdDphY3RpdmUsIC5idG4tZGVmYXVsdC5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1kZWZhdWx0LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICAuYnRuLWRlZmF1bHQuZGlzYWJsZWQsIC5idG4tZGVmYXVsdC5kaXNhYmxlZDpob3ZlciwgLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmZvY3VzLCAuYnRuLWRlZmF1bHQuZGlzYWJsZWQuZm9jdXMsIC5idG4tZGVmYXVsdC5kaXNhYmxlZDphY3RpdmUsIC5idG4tZGVmYXVsdC5kaXNhYmxlZC5hY3RpdmUsIC5idG4tZGVmYXVsdFtkaXNhYmxlZF0sIC5idG4tZGVmYXVsdFtkaXNhYmxlZF06aG92ZXIsIC5idG4tZGVmYXVsdFtkaXNhYmxlZF06Zm9jdXMsIC5idG4tZGVmYXVsdFtkaXNhYmxlZF0uZm9jdXMsIC5idG4tZGVmYXVsdFtkaXNhYmxlZF06YWN0aXZlLCAuYnRuLWRlZmF1bHRbZGlzYWJsZWRdLmFjdGl2ZSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdC5mb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDphY3RpdmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuYnRuLWRlZmF1bHQgLmJhZGdlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XG5cbi5idG4tcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3O1xuICBib3JkZXItY29sb3I6ICMyZTZkYTQ7IH1cbiAgLmJ0bi1wcmltYXJ5OmhvdmVyLCAuYnRuLXByaW1hcnk6Zm9jdXMsIC5idG4tcHJpbWFyeS5mb2N1cywgLmJ0bi1wcmltYXJ5OmFjdGl2ZSwgLmJ0bi1wcmltYXJ5LmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjg2MDkwO1xuICAgIGJvcmRlci1jb2xvcjogIzIwNGQ3NDsgfVxuICAuYnRuLXByaW1hcnk6YWN0aXZlLCAuYnRuLXByaW1hcnkuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLCAuYnRuLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idG4tcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLCAuYnRuLXByaW1hcnkuZGlzYWJsZWQ6YWN0aXZlLCAuYnRuLXByaW1hcnkuZGlzYWJsZWQuYWN0aXZlLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdLmZvY3VzLCAuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmFjdGl2ZSwgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXS5hY3RpdmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnksXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnk6aG92ZXIsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnk6Zm9jdXMsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnkuZm9jdXMsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnk6YWN0aXZlLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5LmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNztcbiAgICBib3JkZXItY29sb3I6ICMyZTZkYTQ7IH1cbiAgLmJ0bi1wcmltYXJ5IC5iYWRnZSB7XG4gICAgY29sb3I6ICMzMzdhYjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uYnRuLXN1Y2Nlc3Mge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjYjg1YztcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZTRjOyB9XG4gIC5idG4tc3VjY2Vzczpob3ZlciwgLmJ0bi1zdWNjZXNzOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuZm9jdXMsIC5idG4tc3VjY2VzczphY3RpdmUsIC5idG4tc3VjY2Vzcy5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0OWQ0NDtcbiAgICBib3JkZXItY29sb3I6ICMzOTg0Mzk7IH1cbiAgLmJ0bi1zdWNjZXNzOmFjdGl2ZSwgLmJ0bi1zdWNjZXNzLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gIC5idG4tc3VjY2Vzcy5kaXNhYmxlZCwgLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cywgLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmFjdGl2ZSwgLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmFjdGl2ZSwgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXSwgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXS5mb2N1cywgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTphY3RpdmUsIC5idG4tc3VjY2Vzc1tkaXNhYmxlZF0uYWN0aXZlLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzOmZvY3VzLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzLmZvY3VzLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzOmFjdGl2ZSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzcy5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1Y2I4NWM7XG4gICAgYm9yZGVyLWNvbG9yOiAjNGNhZTRjOyB9XG4gIC5idG4tc3VjY2VzcyAuYmFkZ2Uge1xuICAgIGNvbG9yOiAjNWNiODVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmJ0bi1pbmZvIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YmMwZGU7XG4gIGJvcmRlci1jb2xvcjogIzQ2YjhkYTsgfVxuICAuYnRuLWluZm86aG92ZXIsIC5idG4taW5mbzpmb2N1cywgLmJ0bi1pbmZvLmZvY3VzLCAuYnRuLWluZm86YWN0aXZlLCAuYnRuLWluZm8uYWN0aXZlLFxuICAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMWIwZDU7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjY5YWJjOyB9XG4gIC5idG4taW5mbzphY3RpdmUsIC5idG4taW5mby5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICAuYnRuLWluZm8uZGlzYWJsZWQsIC5idG4taW5mby5kaXNhYmxlZDpob3ZlciwgLmJ0bi1pbmZvLmRpc2FibGVkOmZvY3VzLCAuYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5idG4taW5mby5kaXNhYmxlZDphY3RpdmUsIC5idG4taW5mby5kaXNhYmxlZC5hY3RpdmUsIC5idG4taW5mb1tkaXNhYmxlZF0sIC5idG4taW5mb1tkaXNhYmxlZF06aG92ZXIsIC5idG4taW5mb1tkaXNhYmxlZF06Zm9jdXMsIC5idG4taW5mb1tkaXNhYmxlZF0uZm9jdXMsIC5idG4taW5mb1tkaXNhYmxlZF06YWN0aXZlLCAuYnRuLWluZm9bZGlzYWJsZWRdLmFjdGl2ZSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mby5mb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzphY3RpdmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm8uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWJjMGRlO1xuICAgIGJvcmRlci1jb2xvcjogIzQ2YjhkYTsgfVxuICAuYnRuLWluZm8gLmJhZGdlIHtcbiAgICBjb2xvcjogIzViYzBkZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5idG4td2FybmluZyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBhZDRlO1xuICBib3JkZXItY29sb3I6ICNlZWEyMzY7IH1cbiAgLmJ0bi13YXJuaW5nOmhvdmVyLCAuYnRuLXdhcm5pbmc6Zm9jdXMsIC5idG4td2FybmluZy5mb2N1cywgLmJ0bi13YXJuaW5nOmFjdGl2ZSwgLmJ0bi13YXJuaW5nLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM5NzFmO1xuICAgIGJvcmRlci1jb2xvcjogI2Q1ODUxMjsgfVxuICAuYnRuLXdhcm5pbmc6YWN0aXZlLCAuYnRuLXdhcm5pbmcuYWN0aXZlLFxuICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmJ0bi13YXJuaW5nLmRpc2FibGVkLCAuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idG4td2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLCAuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6YWN0aXZlLCAuYnRuLXdhcm5pbmcuZGlzYWJsZWQuYWN0aXZlLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdLmZvY3VzLCAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmFjdGl2ZSwgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXS5hY3RpdmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmcsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmc6aG92ZXIsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmc6Zm9jdXMsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmcuZm9jdXMsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmc6YWN0aXZlLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTtcbiAgICBib3JkZXItY29sb3I6ICNlZWEyMzY7IH1cbiAgLmJ0bi13YXJuaW5nIC5iYWRnZSB7XG4gICAgY29sb3I6ICNmMGFkNGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uYnRuLWRhbmdlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1MzRmO1xuICBib3JkZXItY29sb3I6ICNkNDNmM2E7IH1cbiAgLmJ0bi1kYW5nZXI6aG92ZXIsIC5idG4tZGFuZ2VyOmZvY3VzLCAuYnRuLWRhbmdlci5mb2N1cywgLmJ0bi1kYW5nZXI6YWN0aXZlLCAuYnRuLWRhbmdlci5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzkzMDJjO1xuICAgIGJvcmRlci1jb2xvcjogI2FjMjkyNTsgfVxuICAuYnRuLWRhbmdlcjphY3RpdmUsIC5idG4tZGFuZ2VyLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmJ0bi1kYW5nZXIuZGlzYWJsZWQsIC5idG4tZGFuZ2VyLmRpc2FibGVkOmhvdmVyLCAuYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsIC5idG4tZGFuZ2VyLmRpc2FibGVkOmFjdGl2ZSwgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuYWN0aXZlLCAuYnRuLWRhbmdlcltkaXNhYmxlZF0sIC5idG4tZGFuZ2VyW2Rpc2FibGVkXTpob3ZlciwgLmJ0bi1kYW5nZXJbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLWRhbmdlcltkaXNhYmxlZF0uZm9jdXMsIC5idG4tZGFuZ2VyW2Rpc2FibGVkXTphY3RpdmUsIC5idG4tZGFuZ2VyW2Rpc2FibGVkXS5hY3RpdmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6Zm9jdXMsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlci5mb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyOmFjdGl2ZSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTM0ZjtcbiAgICBib3JkZXItY29sb3I6ICNkNDNmM2E7IH1cbiAgLmJ0bi1kYW5nZXIgLmJhZGdlIHtcbiAgICBjb2xvcjogI2Q5NTM0ZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5idG4tbGluayB7XG4gIGNvbG9yOiAjMzM3YWI3O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5idG4tbGluaywgLmJ0bi1saW5rOmFjdGl2ZSwgLmJ0bi1saW5rLmFjdGl2ZSwgLmJ0bi1saW5rW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmJ0bi1saW5rLCAuYnRuLWxpbms6aG92ZXIsIC5idG4tbGluazpmb2N1cywgLmJ0bi1saW5rOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLWxpbms6aG92ZXIsIC5idG4tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICMyMzUyN2M7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi1saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbGluazpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idG4tbGcsIC5idG4tZ3JvdXAtbGcgPiAuYnRuIHtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuXG4uYnRuLXNtLCAuYnRuLWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4uYnRuLXhzLCAuYnRuLWdyb3VwLXhzID4gLmJ0biB7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tdG9wOiA1cHg7IH1cblxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idG4tYmxvY2ssXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0uYnRuLWJsb2NrLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idG4tYmxvY2sge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjsgfVxuICAuZmFkZS5pbiB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5jb2xsYXBzZS5pbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxudHIuY29sbGFwc2UuaW4ge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cblxudGJvZHkuY29sbGFwc2UuaW4ge1xuICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIHZpc2liaWxpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgdmlzaWJpbGl0eTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjM1cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zNXM7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOyB9XG5cbi5jYXJldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXRvcDogNHB4IGRhc2hlZDtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLmRyb3B1cCxcbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbjogMnB4IDAgMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgfVxuICAuZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi1tZW51IC5kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IDlweCAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsgfVxuICAuZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMjYyNjI2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG5cbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEsIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6aG92ZXIsIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3OyB9XG5cbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSwgLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLCAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzc3Nzc3NzsgfVxuXG4uZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLm9wZW4gPiAuZHJvcGRvd24tbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vcGVuID4gYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLW1lbnUtY2VudGVyIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7XG4gIGNvbG9yOiAjNzc3Nzc3O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5kcm9wZG93bi1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTA7IH1cblxuLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wdXAgLmNhcmV0LFxuLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIC5jYXJldCB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZDtcbiAgY29udGVudDogXCJcIjsgfVxuXG4uZHJvcHVwIC5kcm9wZG93bi1tZW51LFxuLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDJweDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhci1yaWdodCAuZHJvcGRvd24tbWVudSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubmF2YmFyLXJpZ2h0IC5kcm9wZG93bi1tZW51LWxlZnQge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH0gfVxuXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5idG4tZ3JvdXAgPiAuYnRuLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmJ0bi1ncm91cCA+IC5idG46aG92ZXIsIC5idG4tZ3JvdXAgPiAuYnRuOmZvY3VzLCAuYnRuLWdyb3VwID4gLmJ0bjphY3RpdmUsIC5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSxcbiAgICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjphY3RpdmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4uYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7IH1cblxuLmJ0bi1ncm91cCAuYnRuICsgLmJ0bixcbi5idG4tZ3JvdXAgLmJ0biArIC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLFxuLmJ0bi1ncm91cCAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG5cbi5idG4tdG9vbGJhciB7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4OyB9XG4gIC5idG4tdG9vbGJhcjpiZWZvcmUsIC5idG4tdG9vbGJhcjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmJ0bi10b29sYmFyOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnRuLXRvb2xiYXIgLmJ0bi1ncm91cCxcbiAgLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmJ0bi10b29sYmFyID4gLmJ0bixcbiAgLmJ0bi10b29sYmFyID4gLmJ0bi1ncm91cCxcbiAgLmJ0bi10b29sYmFyID4gLmlucHV0LWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOmxhc3QtY2hpbGQsXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4OyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZSwgLmJ0bi1ncm91cC1sZy5idG4tZ3JvdXAgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTJweDsgfVxuXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7IH1cbiAgLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLWxpbmsge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5idG4gLmNhcmV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmJ0bi1sZyAuY2FyZXQsIC5idG4tZ3JvdXAtbGcgPiAuYnRuIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG5cbi5kcm9wdXAgLmJ0bi1sZyAuY2FyZXQsIC5kcm9wdXAgLmJ0bi1ncm91cC1sZyA+IC5idG4gLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpiZWZvcmUsIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bjpsYXN0LWNoaWxkLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5kcm9wZG93bi10b2dnbGUge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAtanVzdGlmaWVkIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyB9XG4gIC5idG4tZ3JvdXAtanVzdGlmaWVkID4gLmJ0bixcbiAgLmJ0bi1ncm91cC1qdXN0aWZpZWQgPiAuYnRuLWdyb3VwIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiAxJTsgfVxuICAuYnRuLWdyb3VwLWp1c3RpZmllZCA+IC5idG4tZ3JvdXAgLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJ0bi1ncm91cC1qdXN0aWZpZWQgPiAuYnRuLWdyb3VwIC5kcm9wZG93bi1tZW51IHtcbiAgICBsZWZ0OiBhdXRvOyB9XG5cbltkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIl0gPiAuYnRuIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbltkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIl0gPiAuYnRuIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbltkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIl0gPiAuYnRuLWdyb3VwID4gLmJ0biBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyB9XG4gIC5pbnB1dC1ncm91cFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuLFxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLFxuICAuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksXG4gIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHdpZHRoOiAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICM1NTU1NTU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbi5pbnB1dC1zbSxcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuICAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmlucHV0LWdyb3VwLWFkZG9uLmJ0biB7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAuaW5wdXQtZ3JvdXAtYWRkb24uaW5wdXQtbGcsXG4gIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5pbnB1dC1ncm91cC1hZGRvbi5idG4ge1xuICAgIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIC5pbnB1dC1ncm91cC1hZGRvbiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuICsgLmJ0biB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDsgfVxuICAgIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuOmhvdmVyLCAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0bjpmb2N1cywgLmlucHV0LWdyb3VwLWJ0biA+IC5idG46YWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sXG4gIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7IH1cbiAgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbiAgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cblxuLm5hdiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAubmF2OmJlZm9yZSwgLm5hdjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLm5hdjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm5hdiA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAubmF2ID4gbGkgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4OyB9XG4gICAgICAubmF2ID4gbGkgPiBhOmhvdmVyLCAubmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgLm5hdiA+IGxpLmRpc2FibGVkID4gYSB7XG4gICAgICBjb2xvcjogIzc3Nzc3NzsgfVxuICAgICAgLm5hdiA+IGxpLmRpc2FibGVkID4gYTpob3ZlciwgLm5hdiA+IGxpLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5uYXYgLm9wZW4gPiBhLCAubmF2IC5vcGVuID4gYTpob3ZlciwgLm5hdiAub3BlbiA+IGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzM3YWI3OyB9XG4gIC5uYXYgLm5hdi1kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IDlweCAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsgfVxuICAubmF2ID4gbGkgPiBhID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7IH1cbiAgLm5hdi10YWJzID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7IH1cbiAgICAubmF2LXRhYnMgPiBsaSA+IGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwOyB9XG4gICAgICAubmF2LXRhYnMgPiBsaSA+IGE6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNlZWVlZWUgI2VlZWVlZSAjZGRkOyB9XG4gICAgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYSwgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYTpob3ZlciwgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogIzU1NTU1NTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLm5hdi1waWxscyA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm5hdi1waWxscyA+IGxpID4gYSB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5uYXYtcGlsbHMgPiBsaSArIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XG4gIC5uYXYtcGlsbHMgPiBsaS5hY3RpdmUgPiBhLCAubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYTpob3ZlciwgLm5hdi1waWxscyA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7IH1cblxuLm5hdi1zdGFja2VkID4gbGkge1xuICBmbG9hdDogbm9uZTsgfVxuICAubmF2LXN0YWNrZWQgPiBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLm5hdi1qdXN0aWZpZWQsIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm5hdi1qdXN0aWZpZWQgPiBsaSwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAubmF2LWp1c3RpZmllZCA+IGxpID4gYSwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC5uYXYtanVzdGlmaWVkID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2LWp1c3RpZmllZCA+IGxpLCAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogMSU7IH1cbiAgICAgIC5uYXYtanVzdGlmaWVkID4gbGkgPiBhLCAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IGxpID4gYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4ubmF2LXRhYnMtanVzdGlmaWVkLCAubmF2LXRhYnMubmF2LWp1c3RpZmllZCB7XG4gIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLm5hdi10YWJzLWp1c3RpZmllZCA+IGxpID4gYSwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgLm5hdi10YWJzLWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhLCAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhLFxuICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpmb2N1cyxcbiAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2LXRhYnMtanVzdGlmaWVkID4gbGkgPiBhLCAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IGxpID4gYSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwOyB9XG4gICAgLm5hdi10YWJzLWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhLCAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhLFxuICAgIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAgIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpmb2N1cyxcbiAgICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7IH0gfVxuXG4udGFiLWNvbnRlbnQgPiAudGFiLXBhbmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50YWItY29udGVudCA+IC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAubmF2YmFyOmJlZm9yZSwgLm5hdmJhcjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLm5hdmJhcjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmJhciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7IH0gfVxuXG4ubmF2YmFyLWhlYWRlcjpiZWZvcmUsIC5uYXZiYXItaGVhZGVyOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5uYXZiYXItaGVhZGVyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItaGVhZGVyIHtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuICAubmF2YmFyLWNvbGxhcHNlOmJlZm9yZSwgLm5hdmJhci1jb2xsYXBzZTphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLm5hdmJhci1jb2xsYXBzZTphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm5hdmJhci1jb2xsYXBzZS5pbiB7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5uYXZiYXItY29sbGFwc2UuaW4ge1xuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlOyB9XG4gICAgICAubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWNvbGxhcHNlLFxuICAgICAgLm5hdmJhci1zdGF0aWMtdG9wIC5uYXZiYXItY29sbGFwc2UsXG4gICAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZSxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2Uge1xuICBtYXgtaGVpZ2h0OiAzNDBweDsgfVxuICBAbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6IDQ4MHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWNvbGxhcHNlLFxuICAgIC5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgbWF4LWhlaWdodDogMjAwcHg7IH0gfVxuXG4uY29udGFpbmVyID4gLm5hdmJhci1oZWFkZXIsXG4uY29udGFpbmVyID4gLm5hdmJhci1jb2xsYXBzZSxcbi5jb250YWluZXItZmx1aWQgPiAubmF2YmFyLWhlYWRlcixcbi5jb250YWluZXItZmx1aWQgPiAubmF2YmFyLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250YWluZXIgPiAubmF2YmFyLWhlYWRlcixcbiAgICAuY29udGFpbmVyID4gLm5hdmJhci1jb2xsYXBzZSxcbiAgICAuY29udGFpbmVyLWZsdWlkID4gLm5hdmJhci1oZWFkZXIsXG4gICAgLmNvbnRhaW5lci1mbHVpZCA+IC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4ubmF2YmFyLXN0YXRpYy10b3Age1xuICB6LWluZGV4OiAxMDAwO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuXG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2YmFyLWZpeGVkLXRvcCxcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cblxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDsgfVxuXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwOyB9XG5cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMTVweCAxNXB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBoZWlnaHQ6IDUwcHg7IH1cbiAgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5uYXZiYXItYnJhbmQgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyIC5uYXZiYXItYnJhbmQsXG4gICAgLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQgLm5hdmJhci1icmFuZCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7IH0gfVxuXG4ubmF2YmFyLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmc6IDlweCAxMHB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgLm5hdmJhci10b2dnbGU6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7IH1cbiAgLm5hdmJhci10b2dnbGUgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmJhci10b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5uYXZiYXItbmF2IHtcbiAgbWFyZ2luOiA3LjVweCAtMTVweDsgfVxuICAubmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYSxcbiAgICAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMjVweDsgfVxuICAgICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDsgfVxuICAgICAgICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5hdmJhci1uYXYgPiBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfSB9XG5cbi5uYXZiYXItZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm5hdmJhci1mb3JtIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm5hdmJhci1mb3JtIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idG4sXG4gICAgICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm5hdmJhci1mb3JtIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm5hdmJhci1mb3JtIC5yYWRpbyxcbiAgICAubmF2YmFyLWZvcm0gLmNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLm5hdmJhci1mb3JtIC5yYWRpbyBsYWJlbCxcbiAgICAgIC5uYXZiYXItZm9ybSAuY2hlY2tib3ggbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAubmF2YmFyLWZvcm0gLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAubmF2YmFyLWZvcm0gLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5uYXZiYXItZm9ybSAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICAgdG9wOiAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgICAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmJhci1mb3JtIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG5cbi5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLm5hdmJhci1idG4ge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAubmF2YmFyLWJ0bi5idG4tc20sIC5idG4tZ3JvdXAtc20gPiAubmF2YmFyLWJ0bi5idG4ge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAubmF2YmFyLWJ0bi5idG4teHMsIC5idG4tZ3JvdXAteHMgPiAubmF2YmFyLWJ0bi5idG4ge1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuXG4ubmF2YmFyLXRleHQge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZiYXItdGV4dCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9XG4gICAgLm5hdmJhci1yaWdodCB+IC5uYXZiYXItcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLm5hdmJhci1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRhOGJmYztcbiAgYm9yZGVyLWNvbG9yOiAjNGE4YmZjOyB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICM3Nzc7IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYSwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6aG92ZXIsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2NjYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4ODg7IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWZvcm0ge1xuICAgIGJvcmRlci1jb2xvcjogIzRhOGJmYzsgfVxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGEsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuICAgICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6aG92ZXIsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLCAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cyxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpob3ZlcixcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpmb2N1cyB7XG4gICAgICBjb2xvcjogI2NjYzsgfVxuXG4ubmF2YmFyLWludmVyc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICBib3JkZXItY29sb3I6ICMwOTA4MDg7IH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAjOWQ5ZDlkOyB9XG4gICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICM5ZDlkOWQ7IH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogIzlkOWQ5ZDsgfVxuICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGEsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA5MDgwODsgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogIzMzMzsgfVxuICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7IH1cbiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWZvcm0ge1xuICAgIGJvcmRlci1jb2xvcjogIzEwMTAxMDsgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAub3BlbiA+IGEsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkwODA4O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDkwODA4OyB9XG4gICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IC5kaXZpZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTA4MDg7IH1cbiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICM5ZDlkOWQ7IH1cbiAgICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTA4MDg7IH1cbiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjNDQ0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogIzlkOWQ5ZDsgfVxuICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLm5hdmJhci1pbnZlcnNlIC5idG4tbGluayB7XG4gICAgY29sb3I6ICM5ZDlkOWQ7IH1cbiAgICAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLm5hdmJhci1pbnZlcnNlIC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmhvdmVyLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjNDQ0OyB9XG5cbi5uYXZiYXItZGVmYXVsdC5uYXZiYXItc3RpY2t5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICBib3gtc2hhZG93OiAwIDJweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBzYXR1cmF0ZSgxODAlKSBibHVyKDIwcHgpKSB7XG4gICAgLm5hdmJhci1kZWZhdWx0Lm5hdmJhci1zdGlja3kge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgYmFja2Ryb3AtZmlsdGVyOiBzYXR1cmF0ZSgxODAlKSBibHVyKDIwcHgpOyB9IH1cbiAgLm5hdmJhci1kZWZhdWx0Lm5hdmJhci1zdGlja3kgLm5hdmJhci1uYXYgPiBsaS5oZWFkZXItYnRuLXdoaXRlIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODhhZmY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQubmF2YmFyLXN0aWNreSAubmF2YmFyLW5hdiA+IGxpLmhlYWRlci1idG4td2hpdGUgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDc0LCAxMzksIDI1MiwgMC45KTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5uYXZiYXItZGVmYXVsdC5uYXZiYXItc3RpY2t5LS1zaG93LCAubmF2YmFyLWRlZmF1bHQubmF2YmFyLXN0aWNreS0taGlkZSB7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7IH1cbiAgLm5hdmJhci1kZWZhdWx0Lm5hdmJhci1zdGlja3ktLWhpZGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xcztcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGV1cDsgfVxuXG5Aa2V5ZnJhbWVzIHNsaWRldXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuICAubmF2YmFyLWRlZmF1bHQubmF2YmFyLXN0aWNreS0tc2hvdyB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZWRvd247XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7IH1cblxuQGtleWZyYW1lcyBzbGlkZWRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfVxuICAxJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubmF2YmFyLWRlZmF1bHQubmF2YmFyLXN0aWNreSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDEwcHg7XG4gIHBhZGRpbmc6IDNweCA3cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgLmJhZGdlOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5idG4gLmJhZGdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4OyB9XG4gIC5idG4teHMgLmJhZGdlLCAuYnRuLWdyb3VwLXhzID4gLmJ0biAuYmFkZ2UsXG4gIC5idG4tZ3JvdXAteHMgPiAuYnRuIC5iYWRnZSB7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDFweCA1cHg7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgPiAuYmFkZ2UsXG4gIC5uYXYtcGlsbHMgPiAuYWN0aXZlID4gYSA+IC5iYWRnZSB7XG4gICAgY29sb3I6ICMzMzdhYjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAubGlzdC1ncm91cC1pdGVtID4gLmJhZGdlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbSA+IC5iYWRnZSArIC5iYWRnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgLm5hdi1waWxscyA+IGxpID4gYSA+IC5iYWRnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDsgfVxuXG5hLmJhZGdlOmhvdmVyLCBhLmJhZGdlOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ubW9kYWwge1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA1MDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBvdXRsaW5lOiAwOyB9XG4gIC5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7IH1cbiAgLm1vZGFsLmluIC5tb2RhbC1kaWFsb2cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5tb2RhbC1vcGVuIC5tb2RhbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAxMHB4OyB9XG5cbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCA5cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3gtc2hhZG93OiAwIDNweCA5cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBvdXRsaW5lOiAwOyB9XG5cbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDQwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIC5tb2RhbC1iYWNrZHJvcC5mYWRlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsgfVxuICAubW9kYWwtYmFja2Ryb3AuaW4ge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApOyB9XG5cbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgbWluLWhlaWdodDogMTYuNDI4NTcxNDI5cHg7IH1cblxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBtYXJnaW4tdG9wOiAtMnB4OyB9XG5cbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDI5OyB9XG5cbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxNXB4OyB9XG5cbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cbiAgLm1vZGFsLWZvb3RlcjpiZWZvcmUsIC5tb2RhbC1mb290ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5tb2RhbC1mb290ZXI6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tb2RhbC1mb290ZXIgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubW9kYWwtZm9vdGVyIC5idG4tZ3JvdXAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG4gIC5tb2RhbC1mb290ZXIgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICB3aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87IH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgLm1vZGFsLXNtIHtcbiAgICB3aWR0aDogMzAwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1vZGFsLWxnIHtcbiAgICB3aWR0aDogOTAwcHg7IH0gfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA3MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOyB9XG4gIC50b29sdGlwLmluIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTkwKTsgfVxuICAudG9vbHRpcC50b3Age1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcGFkZGluZzogNXB4IDA7IH1cbiAgLnRvb2x0aXAucmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgLnRvb2x0aXAuYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgcGFkZGluZzogNXB4IDA7IH1cbiAgLnRvb2x0aXAubGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cblxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4udG9vbHRpcC50b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwOyB9XG5cbi50b29sdGlwLnRvcC1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgYm90dG9tOiAwO1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDVweCA1cHggMDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsgfVxuXG4udG9vbHRpcC50b3AtcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDA7XG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDA7IH1cblxuLnRvb2x0aXAucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7IH1cblxuLnRvb2x0aXAubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggMCA1cHggNXB4O1xuICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDsgfVxuXG4udG9vbHRpcC5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJvcmRlci13aWR0aDogMCA1cHggNXB4O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwOyB9XG5cbi50b29sdGlwLmJvdHRvbS1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgdG9wOiAwO1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDsgfVxuXG4udG9vbHRpcC5ib3R0b20tcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDVweDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7IH1cblxuLmNsZWFyZml4OmJlZm9yZSwgLmNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5jZW50ZXItYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5zaG93IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDsgfVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG5ALW1zLXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG4udmlzaWJsZS14cyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS1zbSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS1tZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS1sZyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudmlzaWJsZS14cyB7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgdHIudmlzaWJsZS14cyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgudmlzaWJsZS14cyxcbiAgdGQudmlzaWJsZS14cyB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC52aXNpYmxlLXhzLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC52aXNpYmxlLXhzLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC52aXNpYmxlLXNtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIHRyLnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoLnZpc2libGUtc20sXG4gIHRkLnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC52aXNpYmxlLXNtLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnZpc2libGUtc20taW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgLnZpc2libGUtbWQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgdHIudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgudmlzaWJsZS1tZCxcbiAgdGQudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC52aXNpYmxlLW1kLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC52aXNpYmxlLW1kLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgLnZpc2libGUtbWQtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnZpc2libGUtbGcge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgdHIudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgudmlzaWJsZS1sZyxcbiAgdGQudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAudmlzaWJsZS1sZy1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnZpc2libGUtbGctaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZGVuLXhzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuaGlkZGVuLXNtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgLmhpZGRlbi1tZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuaGlkZGVuLWxnIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4udmlzaWJsZS1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAudmlzaWJsZS1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICB0YWJsZS52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICB0ci52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aC52aXNpYmxlLXByaW50LFxuICB0ZC52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG4udmlzaWJsZS1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIC52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4udmlzaWJsZS1wcmludC1pbmxpbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAudmlzaWJsZS1wcmludC1pbmxpbmUge1xuICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH0gfVxuXG4udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAudmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuaGlkZGVuLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uaGlnaGxpZ2h0IC5jIHtcbiAgY29sb3I6ICM5OTk5ODg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiBDb21tZW50ICovXG4uaGlnaGxpZ2h0IC5lcnIge1xuICBjb2xvcjogI2E2MTcxNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UzZDJkMjsgfVxuXG4vKiBFcnJvciAqL1xuLmhpZ2hsaWdodCAuayB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIEtleXdvcmQgKi9cbi5oaWdobGlnaHQgLm8ge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBPcGVyYXRvciAqL1xuLmhpZ2hsaWdodCAuY20ge1xuICBjb2xvcjogIzk5OTk4ODtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qIENvbW1lbnQuTXVsdGlsaW5lICovXG4uaGlnaGxpZ2h0IC5jcCB7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBDb21tZW50LlByZXByb2MgKi9cbi5oaWdobGlnaHQgLmMxIHtcbiAgY29sb3I6ICM5OTk5ODg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiBDb21tZW50LlNpbmdsZSAqL1xuLmhpZ2hsaWdodCAuY3Mge1xuICBjb2xvcjogIzk5OTk5OTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiBDb21tZW50LlNwZWNpYWwgKi9cbi5oaWdobGlnaHQgLmdkIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmRkZGQ7IH1cblxuLyogR2VuZXJpYy5EZWxldGVkICovXG4uaGlnaGxpZ2h0IC5nZCAueCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhYWFhOyB9XG5cbi8qIEdlbmVyaWMuRGVsZXRlZC5TcGVjaWZpYyAqL1xuLmhpZ2hsaWdodCAuZ2Uge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyogR2VuZXJpYy5FbXBoICovXG4uaGlnaGxpZ2h0IC5nciB7XG4gIGNvbG9yOiAjYWEwMDAwOyB9XG5cbi8qIEdlbmVyaWMuRXJyb3IgKi9cbi5oaWdobGlnaHQgLmdoIHtcbiAgY29sb3I6ICM5OTk5OTk7IH1cblxuLyogR2VuZXJpYy5IZWFkaW5nICovXG4uaGlnaGxpZ2h0IC5naSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRmZmRkOyB9XG5cbi8qIEdlbmVyaWMuSW5zZXJ0ZWQgKi9cbi5oaWdobGlnaHQgLmdpIC54IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYWZmYWE7IH1cblxuLyogR2VuZXJpYy5JbnNlcnRlZC5TcGVjaWZpYyAqL1xuLmhpZ2hsaWdodCAuZ28ge1xuICBjb2xvcjogIzg4ODg4ODsgfVxuXG4vKiBHZW5lcmljLk91dHB1dCAqL1xuLmhpZ2hsaWdodCAuZ3Age1xuICBjb2xvcjogIzU1NTU1NTsgfVxuXG4vKiBHZW5lcmljLlByb21wdCAqL1xuLmhpZ2hsaWdodCAuZ3Mge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBHZW5lcmljLlN0cm9uZyAqL1xuLmhpZ2hsaWdodCAuZ3Uge1xuICBjb2xvcjogI2FhYWFhYTsgfVxuXG4vKiBHZW5lcmljLlN1YmhlYWRpbmcgKi9cbi5oaWdobGlnaHQgLmd0IHtcbiAgY29sb3I6ICNhYTAwMDA7IH1cblxuLyogR2VuZXJpYy5UcmFjZWJhY2sgKi9cbi5oaWdobGlnaHQgLmtjIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogS2V5d29yZC5Db25zdGFudCAqL1xuLmhpZ2hsaWdodCAua2Qge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBLZXl3b3JkLkRlY2xhcmF0aW9uICovXG4uaGlnaGxpZ2h0IC5rcCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIEtleXdvcmQuUHNldWRvICovXG4uaGlnaGxpZ2h0IC5rciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIEtleXdvcmQuUmVzZXJ2ZWQgKi9cbi5oaWdobGlnaHQgLmt0IHtcbiAgY29sb3I6ICM0NDU1ODg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIEtleXdvcmQuVHlwZSAqL1xuLmhpZ2hsaWdodCAubSB7XG4gIGNvbG9yOiAjMDA5OTk5OyB9XG5cbi8qIExpdGVyYWwuTnVtYmVyICovXG4uaGlnaGxpZ2h0IC5zIHtcbiAgY29sb3I6ICNkMTQ7IH1cblxuLyogTGl0ZXJhbC5TdHJpbmcgKi9cbi5oaWdobGlnaHQgLm5hIHtcbiAgY29sb3I6ICMwMDgwODA7IH1cblxuLyogTmFtZS5BdHRyaWJ1dGUgKi9cbi5oaWdobGlnaHQgLm5iIHtcbiAgY29sb3I6ICMwMDg2QjM7IH1cblxuLyogTmFtZS5CdWlsdGluICovXG4uaGlnaGxpZ2h0IC5uYyB7XG4gIGNvbG9yOiAjNDQ1NTg4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBOYW1lLkNsYXNzICovXG4uaGlnaGxpZ2h0IC5ubyB7XG4gIGNvbG9yOiAjMDA4MDgwOyB9XG5cbi8qIE5hbWUuQ29uc3RhbnQgKi9cbi5oaWdobGlnaHQgLm5pIHtcbiAgY29sb3I6ICM4MDAwODA7IH1cblxuLyogTmFtZS5FbnRpdHkgKi9cbi5oaWdobGlnaHQgLm5lIHtcbiAgY29sb3I6ICM5OTAwMDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIE5hbWUuRXhjZXB0aW9uICovXG4uaGlnaGxpZ2h0IC5uZiB7XG4gIGNvbG9yOiAjOTkwMDAwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBOYW1lLkZ1bmN0aW9uICovXG4uaGlnaGxpZ2h0IC5ubiB7XG4gIGNvbG9yOiAjNTU1NTU1OyB9XG5cbi8qIE5hbWUuTmFtZXNwYWNlICovXG4uaGlnaGxpZ2h0IC5udCB7XG4gIGNvbG9yOiAjMDAwMDgwOyB9XG5cbi8qIE5hbWUuVGFnICovXG4uaGlnaGxpZ2h0IC5udiB7XG4gIGNvbG9yOiAjMDA4MDgwOyB9XG5cbi8qIE5hbWUuVmFyaWFibGUgKi9cbi5oaWdobGlnaHQgLm93IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogT3BlcmF0b3IuV29yZCAqL1xuLmhpZ2hsaWdodCAudyB7XG4gIGNvbG9yOiAjYmJiYmJiOyB9XG5cbi8qIFRleHQuV2hpdGVzcGFjZSAqL1xuLmhpZ2hsaWdodCAubWYge1xuICBjb2xvcjogIzAwOTk5OTsgfVxuXG4vKiBMaXRlcmFsLk51bWJlci5GbG9hdCAqL1xuLmhpZ2hsaWdodCAubWgge1xuICBjb2xvcjogIzAwOTk5OTsgfVxuXG4vKiBMaXRlcmFsLk51bWJlci5IZXggKi9cbi5oaWdobGlnaHQgLm1pIHtcbiAgY29sb3I6ICMwMDk5OTk7IH1cblxuLyogTGl0ZXJhbC5OdW1iZXIuSW50ZWdlciAqL1xuLmhpZ2hsaWdodCAubW8ge1xuICBjb2xvcjogIzAwOTk5OTsgfVxuXG4vKiBMaXRlcmFsLk51bWJlci5PY3QgKi9cbi5oaWdobGlnaHQgLnNiIHtcbiAgY29sb3I6ICNkMTQ7IH1cblxuLyogTGl0ZXJhbC5TdHJpbmcuQmFja3RpY2sgKi9cbi5oaWdobGlnaHQgLnNjIHtcbiAgY29sb3I6ICNkMTQ7IH1cblxuLyogTGl0ZXJhbC5TdHJpbmcuQ2hhciAqL1xuLmhpZ2hsaWdodCAuc2Qge1xuICBjb2xvcjogI2QxNDsgfVxuXG4vKiBMaXRlcmFsLlN0cmluZy5Eb2MgKi9cbi5oaWdobGlnaHQgLnMyIHtcbiAgY29sb3I6ICNkMTQ7IH1cblxuLyogTGl0ZXJhbC5TdHJpbmcuRG91YmxlICovXG4uaGlnaGxpZ2h0IC5zZSB7XG4gIGNvbG9yOiAjZDE0OyB9XG5cbi8qIExpdGVyYWwuU3RyaW5nLkVzY2FwZSAqL1xuLmhpZ2hsaWdodCAuc2gge1xuICBjb2xvcjogI2QxNDsgfVxuXG4vKiBMaXRlcmFsLlN0cmluZy5IZXJlZG9jICovXG4uaGlnaGxpZ2h0IC5zaSB7XG4gIGNvbG9yOiAjZDE0OyB9XG5cbi8qIExpdGVyYWwuU3RyaW5nLkludGVycG9sICovXG4uaGlnaGxpZ2h0IC5zeCB7XG4gIGNvbG9yOiAjZDE0OyB9XG5cbi8qIExpdGVyYWwuU3RyaW5nLk90aGVyICovXG4uaGlnaGxpZ2h0IC5zciB7XG4gIGNvbG9yOiAjMDA5OTI2OyB9XG5cbi8qIExpdGVyYWwuU3RyaW5nLlJlZ2V4ICovXG4uaGlnaGxpZ2h0IC5zMSB7XG4gIGNvbG9yOiAjZDE0OyB9XG5cbi8qIExpdGVyYWwuU3RyaW5nLlNpbmdsZSAqL1xuLmhpZ2hsaWdodCAuc3Mge1xuICBjb2xvcjogIzk5MDA3MzsgfVxuXG4vKiBMaXRlcmFsLlN0cmluZy5TeW1ib2wgKi9cbi5oaWdobGlnaHQgLmJwIHtcbiAgY29sb3I6ICM5OTk5OTk7IH1cblxuLyogTmFtZS5CdWlsdGluLlBzZXVkbyAqL1xuLmhpZ2hsaWdodCAudmMge1xuICBjb2xvcjogIzAwODA4MDsgfVxuXG4vKiBOYW1lLlZhcmlhYmxlLkNsYXNzICovXG4uaGlnaGxpZ2h0IC52ZyB7XG4gIGNvbG9yOiAjMDA4MDgwOyB9XG5cbi8qIE5hbWUuVmFyaWFibGUuR2xvYmFsICovXG4uaGlnaGxpZ2h0IC52aSB7XG4gIGNvbG9yOiAjMDA4MDgwOyB9XG5cbi8qIE5hbWUuVmFyaWFibGUuSW5zdGFuY2UgKi9cbi5oaWdobGlnaHQgLmlsIHtcbiAgY29sb3I6ICMwMDk5OTk7IH1cblxuLyogTGl0ZXJhbC5OdW1iZXIuSW50ZWdlci5Mb25nICovXG5wcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4uaGxqcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjVlbTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIGNvbG9yOiAjMzE0MzYxOyB9XG5cbi5obGpzLWNvbW1lbnQsXG4uaGxqcy10ZW1wbGF0ZV9jb21tZW50LFxuLmhsanMtamF2YWRvYyxcbi5obGpzLWNvbW1lbnQgKiB7XG4gIGNvbG9yOiAjOTk5OTg4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLmhsanMta2V5d29yZCxcbi5tZXRob2QsXG4uaGxqcy1saXN0IC5obGpzLXRpdGxlLFxuLmNsb2p1cmUgLmhsanMtYnVpbHRfaW4sXG4ubmdpbnggLmhsanMtdGl0bGUsXG4uaGxqcy10YWcgLmhsanMtdGl0bGUsXG4uc2V0dGluZyAuaGxqcy12YWx1ZSxcbi5obGpzLXdpbnV0aWxzLFxuLnRleCAuaGxqcy1jb21tYW5kLFxuLmh0dHAgLmhsanMtdGl0bGUsXG4uaGxqcy1yZXF1ZXN0LFxuLmhsanMtc3RhdHVzIHtcbiAgY29sb3I6ICM0YTg2ZWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5obGpzLWVudnZhcixcbi50ZXggLmhsanMtc3BlY2lhbCB7XG4gIGNvbG9yOiAjNjYwOyB9XG5cbi5obGpzLXN0cmluZyxcbi5obGpzLXRhZyAuaGxqcy12YWx1ZSxcbi5obGpzLWNkYXRhLFxuLmhsanMtZmlsdGVyIC5obGpzLWFyZ3VtZW50LFxuLmhsanMtYXR0cl9zZWxlY3Rvcixcbi5hcGFjaGUgLmhsanMtY2JyYWNrZXQsXG4uaGxqcy1kYXRlLFxuLmhsanMtcmVnZXhwLFxuLmNvZmZlZXNjcmlwdCAuaGxqcy1hdHRyaWJ1dGUge1xuICBjb2xvcjogI2YyNTc2ZDsgfVxuXG4uaGxqcy1zdWIgLmhsanMtaWRlbnRpZmllcixcbi5obGpzLXBpLFxuLmhsanMtdGFnLFxuLmhsanMtdGFnIC5obGpzLWtleXdvcmQsXG4uaGxqcy1kZWNvcmF0b3IsXG4uaW5pIC5obGpzLXRpdGxlLFxuLmhsanMtc2hlYmFuZyxcbi5obGpzLXByb21wdCxcbi5obGpzLWhleGNvbG9yLFxuLmhsanMtcnVsZXMgLmhsanMtdmFsdWUsXG4uY3NzIC5obGpzLXZhbHVlIC5obGpzLW51bWJlcixcbi5obGpzLWxpdGVyYWwsXG4uaGxqcy1zeW1ib2wsXG4ucnVieSAuaGxqcy1zeW1ib2wgLmhsanMtc3RyaW5nLFxuLmhsanMtbnVtYmVyLFxuLmNzcyAuaGxqcy1mdW5jdGlvbixcbi5jbG9qdXJlIC5obGpzLWF0dHJpYnV0ZSB7XG4gIGNvbG9yOiAjMDBiMDdkOyB9XG5cbi5obGpzLWNsYXNzIC5obGpzLXRpdGxlLFxuLmhhc2tlbGwgLmhsanMtdHlwZSxcbi5zbWFsbHRhbGsgLmhsanMtY2xhc3MsXG4uaGxqcy1qYXZhZG9jdGFnLFxuLmhsanMteWFyZG9jdGFnLFxuLmhsanMtcGhwZG9jLFxuLmhsanMtdHlwZW5hbWUsXG4uaGxqcy10YWcgLmhsanMtYXR0cmlidXRlLFxuLmhsanMtZG9jdHlwZSxcbi5obGpzLWNsYXNzIC5obGpzLWlkLFxuLmhsanMtYnVpbHRfaW4sXG4uc2V0dGluZyxcbi5obGpzLXBhcmFtcyxcbi5obGpzLXZhcmlhYmxlLFxuLmNsb2p1cmUgLmhsanMtdGl0bGUge1xuICBjb2xvcjogIzNkYWZkNDsgfVxuXG4uY3NzIC5obGpzLXRhZyxcbi5obGpzLXJ1bGVzIC5obGpzLXByb3BlcnR5LFxuLmhsanMtcHNldWRvLFxuLmhsanMtc3Vic3Qge1xuICBjb2xvcjogIzAwMDsgfVxuXG4uY3NzIC5obGpzLWNsYXNzLFxuLmNzcyAuaGxqcy1pZCB7XG4gIGNvbG9yOiAjOUI3MDNGOyB9XG5cbi5obGpzLXZhbHVlIC5obGpzLWltcG9ydGFudCB7XG4gIGNvbG9yOiAjZmY3NzAwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGxqcy1ydWxlcyAuaGxqcy1rZXl3b3JkIHtcbiAgY29sb3I6ICNDNUFGNzU7IH1cblxuLmhsanMtYW5ub3RhdGlvbixcbi5hcGFjaGUgLmhsanMtc3FicmFja2V0LFxuLm5naW54IC5obGpzLWJ1aWx0X2luIHtcbiAgY29sb3I6ICM5Qjg1OUQ7IH1cblxuLmhsanMtcHJlcHJvY2Vzc29yLFxuLmhsanMtcHJlcHJvY2Vzc29yICosXG4uaGxqcy1wcmFnbWEge1xuICBjb2xvcjogIzQ0NDsgfVxuXG4udGV4IC5obGpzLWZvcm11bGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLmRpZmYgLmhsanMtaGVhZGVyLFxuLmhsanMtY2h1bmsge1xuICBjb2xvcjogIzgwODA4MDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmRpZmYgLmhsanMtY2hhbmdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0JDQ0ZGOTsgfVxuXG4uaGxqcy1hZGRpdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCQUVFQkE7IH1cblxuLmhsanMtZGVsZXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDOEJEOyB9XG5cbi5obGpzLWNvbW1lbnQgLmhsanMteWFyZG9jdGFnIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cblxuYSB7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4yczsgfVxuICBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxucC5sZyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM4OTg5ODk7IH1cbiAgcC5sZy5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgcC5sZy5saWdodCB7XG4gICAgY29sb3I6ICM4OTg5ODk7IH1cblxucC5zbSB7XG4gIGZvbnQtc2l6ZTogMTNweDsgfVxuXG5wLnhzIHtcbiAgZm9udC1zaXplOiAxMXB4OyB9XG5cbi5zdWJoZWFkaW5nIHtcbiAgY29sb3I6ICM4ODg7XG4gIGZvbnQtc2l6ZTogMTVweDsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGNyb3NzRmFkZUluT3V0IHtcbiAgMCUsIDQwJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUsIDkwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBTbWFsbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42NjcsIDAuNjY3KSB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IC41O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42NjcsIDAuNjY3KSB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHRpbHRJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTMwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNpbXBsZUhvdmVyWSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzaW1wbGVIb3Zlclgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjI1cHgsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNpbXBsZUhvdmVyWFNtYWxsIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwcHgsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGluZXJ0aWFUaWx0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XG4gIDE1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTFkZWcpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMWRlZyk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxuICA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDFkZWcpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTFkZWcpOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhvdmVyWSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTsgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMnB4KSBzY2FsZSgxKTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0zcHgpIHNjYWxlKDEpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgM3B4KSBzY2FsZSgxKTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xcHgpIHNjYWxlKDEpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgMCkgc2NhbGUoMSk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtM3B4KSBzY2FsZSgxKTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMnB4KSBzY2FsZSgxKTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0zcHgpIHNjYWxlKDEpOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgMXB4KSBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmlndXJlZWlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAyJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxcHgsIDAuNXB4LCAwKTsgfVxuICA1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgycHgsIDFweCwgMCk7IH1cbiAgNyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoM3B4LCAxLjVweCwgMCk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDRweCwgMS44cHgsIDApOyB9XG4gIDEyJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDJweCwgMCk7IH1cbiAgMTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDZweCwgMS44cHgsIDApOyB9XG4gIDE3JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg3cHgsIDEuNXB4LCAwKTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LCAxcHgsIDApOyB9XG4gIDIyJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4LjZweCwgMC41cHgsIDApOyB9XG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg5cHgsIDAsIDApOyB9XG4gIDI3JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4LjNweCwgLTAuNXB4LCAwKTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LCAtMXB4LCAwKTsgfVxuICAzMiUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoN3B4LCAtMS41cHgsIDApOyB9XG4gIDM1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg2cHgsIC0xLjhweCwgMCk7IH1cbiAgMzclIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgLTJweCwgMCk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDRweCwgLTEuOHB4LCAwKTsgfVxuICA0MiUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoM3B4LCAtMS41cHgsIDApOyB9XG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgycHgsIC0xcHgsIDApOyB9XG4gIDQ3JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxcHgsIC0wLjVweCwgMCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDUyJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMXB4LCAwLjVweCwgMCk7IH1cbiAgNTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0ycHgsIDFweCwgMCk7IH1cbiAgNTclIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zcHgsIDEuNXB4LCAwKTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTRweCwgMS44cHgsIDApOyB9XG4gIDYyJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAycHgsIDApOyB9XG4gIDY1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNnB4LCAxLjhweCwgMCk7IH1cbiAgNjclIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC03cHgsIDEuNXB4LCAwKTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLThweCwgMXB4LCAwKTsgfVxuICA3MiUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTguNnB4LCAwLjVweCwgMCk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC05cHgsIDAsIDApOyB9XG4gIDc3JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOC4zcHgsIC0xcHgsIDApOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAtMnB4LCAwKTsgfVxuICA4MiUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTdweCwgLTEuNXB4LCAwKTsgfVxuICA4NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTZweCwgLTEuOHB4LCAwKTsgfVxuICA4NyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgLTJweCwgMCk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00cHgsIC0xLjhweCwgMCk7IH1cbiAgOTIlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zcHgsIC0xLjVweCwgMCk7IH1cbiAgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0ycHgsIC0xcHgsIDApOyB9XG4gIDk3JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMXB4LCAtMC41cHgsIDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGRvdEV4cGFuZCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDIsIDIsIDEpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGdsb3cge1xuICAwJSwgMzAlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDE1JSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgc3ByZWFkIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xuICAgIG9wYWNpdHk6IC41OyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmxvYXRpbmdDbG91ZCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC42LCAwLjYsIDEpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IC45OyB9XG4gIDEwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA5NSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNTAlLCAxMDAlLCAwKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbG9hdGluZ0Nsb3VkLTIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMiwgMC4yLCAxKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAuOTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgOTUlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTEwJSwgMzAlLCAwKSBzY2FsZTNkKDAuNCwgMC40LCAxKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbG9hdGluZ0Nsb3VkLTMge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNTAlLCA3MCUsIDApIHNjYWxlM2QoMC44LCAwLjgsIDEpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDkwJSB7XG4gICAgb3BhY2l0eTogLjk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNCwgMC40LCAxKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbG9hdGluZ0Nsb3VkLTQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMiwgMS4yLCAxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDExMCUsIDE1MCUsIDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgOTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDk1JSB7XG4gICAgb3BhY2l0eTogLjk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOCwgMC44LCAxKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByYWluRHJvcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNSUge1xuICAgIG9wYWNpdHk6IC45OyB9XG4gIDEwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA5NSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA4MDAlLCAwKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBzY3JlZW5Qb3AtMSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDA7IH1cbiAgODklIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDk1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgOTYlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuQGtleWZyYW1lcyBzY3JlZW5Qb3AtMiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMzElIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEpOyB9XG4gIDM1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNjklIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDcwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBzY3JlZW5Qb3AtMyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDYzJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjQlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEpOyB9XG4gIDY4JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgOTYlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhvbWUtYXBwLWdyb3VwLWlwaG9uZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTVkZWcpIHRyYW5zbGF0ZTNkKDgwcHgsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgxNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhvbWUtYXBwLWdyb3VwLWFuZHJvaWQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDE1ZGVnKSB0cmFuc2xhdGUzZCgtNzRweCwgNDBweCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDE1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgaG9tZS1hcHAtaXBob25lIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzBweCwgLTEwcHgsIDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhvbWUtYXBwLWFuZHJvaWQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAtNHB4LCAwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBjYXJvdXNlbCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cblxuLmJhbm5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYmFubmVyLS1oZXJvIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNzAwcHg7IH1cbiAgLmJhbm5lci0taGVybyBoMSB7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjRlbTsgfVxuICAuYmFubmVyLS1oZXJvIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS44ZW07IH1cblxuLmJhci5uYXZ5IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMWQyNTM0IDAlLCAjMjQzNDUyIDEwMCUpOyB9XG4gIC5iYXIubmF2eSBoMSxcbiAgLmJhci5uYXZ5IGgyLFxuICAuYmFyLm5hdnkgaDMsXG4gIC5iYXIubmF2eSBoNCxcbiAgLmJhci5uYXZ5IGg1IHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmJhci5uYXZ5IHAge1xuICAgIGNvbG9yOiAjYTJiNWQ2OyB9XG5cbi5iYXIgaDEsXG4uYmFyIGgyLFxuLmJhciBoMyxcbi5iYXIgaDQsXG4uYmFyIGg1IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uYmFyIHAge1xuICBtYXJnaW4tYm90dG9tOiAyN3B4OyB9XG5cbi5iYXIgLmJ0biB7XG4gIHBhZGRpbmc6IDIwcHggMjFweCAxNXB4OyB9XG5cbi5iYXIgLmhlcm8ge1xuICBwYWRkaW5nOiA5NXB4IDAgMTAxcHg7IH1cblxuYmFyLWNoYXJ0LFxuLnN1cnZleS1sYXlvdXQgbWFpbiBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDQ4cHg7IH1cbiAgYmFyLWNoYXJ0ID4gc3ZnLFxuICAuc3VydmV5LWxheW91dCBtYWluIHN2ZyA+IHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgYmFyLWNoYXJ0IC50aWNrIGxpbmUsXG4gIC5zdXJ2ZXktbGF5b3V0IG1haW4gc3ZnIC50aWNrIGxpbmUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgYmFyLWNoYXJ0IC50aWNrIHRzcGFuLFxuICAuc3VydmV5LWxheW91dCBtYWluIHN2ZyAudGljayB0c3BhbiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cbiAgYmFyLWNoYXJ0IC5jMy10ZXh0LFxuICAuc3VydmV5LWxheW91dCBtYWluIHN2ZyAuYzMtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cbiAgYmFyLWNoYXJ0IC5kb21haW4sXG4gIC5zdXJ2ZXktbGF5b3V0IG1haW4gc3ZnIC5kb21haW4ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgYmFyLWNoYXJ0IC5jMy1ncmlkIGxpbmUsXG4gIC5zdXJ2ZXktbGF5b3V0IG1haW4gc3ZnIC5jMy1ncmlkIGxpbmUge1xuICAgIHN0cm9rZTogI2VlZTtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAwOyB9XG4gIGJhci1jaGFydCAuYzMtYmFyLl9leHBhbmRlZF8sXG4gIC5zdXJ2ZXktbGF5b3V0IG1haW4gc3ZnIC5jMy1iYXIuX2V4cGFuZGVkXyB7XG4gICAgZmlsbC1vcGFjaXR5OiAxOyB9XG5cbi5jaGVja21hcmstbGlzdC0tbGFyZ2Uge1xuICBtYXgtd2lkdGg6IDM4MHB4OyB9XG4gIC5jaGVja21hcmstbGlzdC0tbGFyZ2UgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBjb2xvcjogIzYxNkU3RTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jaGVja21hcmstbGlzdC0tbGFyZ2UgbGkgKyBsaSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuY2hlY2ttYXJrLWxpc3QtLWxhcmdlIGkge1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgZmxleDogMCAwIDI0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzczODQ5QTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7IH1cbiAgLmNoZWNrbWFyay1saXN0LS1sYXJnZSBpb24taWNvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5jaGVja21hcmstbGlzdC0tbGFyZ2UgaGdyb3VwIGg1IHtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGNvbG9yOiAjM0M1MzZGO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmNoZWNrbWFyay1saXN0LS1sYXJnZSBoZ3JvdXAgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGNvbG9yOiAjOTJBMUIzOyB9XG5cbi5jaGVja21hcmstbGlzdC0tc21hbGwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmNoZWNrbWFyay1saXN0LS1zbWFsbCBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjNUI3MDhCO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNoZWNrbWFyay1saXN0LS1zbWFsbCBpb24taWNvbiB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAjOTJBMUIzO1xuICAgIGZsZXg6IDAgMCAxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOyB9XG5cbi5tb2RhbCBmb3JtLFxuLmZvcm0taW5saW5lIHtcbiAgbWF4LXdpZHRoOiA0MjBweDsgfVxuICAubW9kYWwgZm9ybSBpbnB1dCxcbiAgLm1vZGFsIGZvcm0gLnNlbGVjdC13cmFwcGVyLFxuICAubW9kYWwgZm9ybSB0ZXh0YXJlYSxcbiAgLmZvcm0taW5saW5lIGlucHV0LFxuICAuZm9ybS1pbmxpbmUgLnNlbGVjdC13cmFwcGVyLFxuICAuZm9ybS1pbmxpbmUgdGV4dGFyZWEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMWU1ZWQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4ycztcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLm1vZGFsIGZvcm0gaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgLm1vZGFsIGZvcm0gLnNlbGVjdC13cmFwcGVyOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAgIC5tb2RhbCBmb3JtIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAgIC5mb3JtLWlubGluZSBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgICAuZm9ybS1pbmxpbmUgLnNlbGVjdC13cmFwcGVyOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAgIC5mb3JtLWlubGluZSB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2EwYTViMDsgfVxuICAgIC5tb2RhbCBmb3JtIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbiAgICAubW9kYWwgZm9ybSAuc2VsZWN0LXdyYXBwZXI6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICAgIC5tb2RhbCBmb3JtIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbiAgICAuZm9ybS1pbmxpbmUgaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICAgIC5mb3JtLWlubGluZSAuc2VsZWN0LXdyYXBwZXI6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICAgIC5mb3JtLWlubGluZSB0ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNhMGE1YjA7IH1cbiAgICAubW9kYWwgZm9ybSBpbnB1dDp2YWxpZCxcbiAgICAubW9kYWwgZm9ybSAuc2VsZWN0LXdyYXBwZXI6dmFsaWQsXG4gICAgLm1vZGFsIGZvcm0gdGV4dGFyZWE6dmFsaWQsXG4gICAgLmZvcm0taW5saW5lIGlucHV0OnZhbGlkLFxuICAgIC5mb3JtLWlubGluZSAuc2VsZWN0LXdyYXBwZXI6dmFsaWQsXG4gICAgLmZvcm0taW5saW5lIHRleHRhcmVhOnZhbGlkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0I0QkJDNTsgfVxuICAgIC5tb2RhbCBmb3JtIGlucHV0OmhvdmVyLCAubW9kYWwgZm9ybSBpbnB1dDpmb2N1cywgLm1vZGFsIGZvcm0gaW5wdXQ6YWN0aXZlLFxuICAgIC5tb2RhbCBmb3JtIC5zZWxlY3Qtd3JhcHBlcjpob3ZlcixcbiAgICAubW9kYWwgZm9ybSAuc2VsZWN0LXdyYXBwZXI6Zm9jdXMsXG4gICAgLm1vZGFsIGZvcm0gLnNlbGVjdC13cmFwcGVyOmFjdGl2ZSxcbiAgICAubW9kYWwgZm9ybSB0ZXh0YXJlYTpob3ZlcixcbiAgICAubW9kYWwgZm9ybSB0ZXh0YXJlYTpmb2N1cyxcbiAgICAubW9kYWwgZm9ybSB0ZXh0YXJlYTphY3RpdmUsXG4gICAgLmZvcm0taW5saW5lIGlucHV0OmhvdmVyLFxuICAgIC5mb3JtLWlubGluZSBpbnB1dDpmb2N1cyxcbiAgICAuZm9ybS1pbmxpbmUgaW5wdXQ6YWN0aXZlLFxuICAgIC5mb3JtLWlubGluZSAuc2VsZWN0LXdyYXBwZXI6aG92ZXIsXG4gICAgLmZvcm0taW5saW5lIC5zZWxlY3Qtd3JhcHBlcjpmb2N1cyxcbiAgICAuZm9ybS1pbmxpbmUgLnNlbGVjdC13cmFwcGVyOmFjdGl2ZSxcbiAgICAuZm9ybS1pbmxpbmUgdGV4dGFyZWE6aG92ZXIsXG4gICAgLmZvcm0taW5saW5lIHRleHRhcmVhOmZvY3VzLFxuICAgIC5mb3JtLWlubGluZSB0ZXh0YXJlYTphY3RpdmUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzRhOGJmYztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLm1vZGFsIGZvcm0gaW5wdXQuaW52YWxpZCxcbiAgLm1vZGFsIGZvcm0gaW5wdXQubmctdG91Y2hlZDpub3QoOmZvY3VzKTpub3QoOnZhbGlkKSxcbiAgLmZvcm0taW5saW5lIGlucHV0LmludmFsaWQsXG4gIC5mb3JtLWlubGluZSBpbnB1dC5uZy10b3VjaGVkOm5vdCg6Zm9jdXMpOm5vdCg6dmFsaWQpIHtcbiAgICBib3JkZXItY29sb3I6ICNmODU1NmM7IH1cbiAgLm1vZGFsIGZvcm0gaW5wdXQsXG4gIC5tb2RhbCBmb3JtIC5zZWxlY3Qtd3JhcHBlcixcbiAgLm1vZGFsIGZvcm0gaW5wdXQuZm9ybS1jb250cm9sLFxuICAuZm9ybS1pbmxpbmUgaW5wdXQsXG4gIC5mb3JtLWlubGluZSAuc2VsZWN0LXdyYXBwZXIsXG4gIC5mb3JtLWlubGluZSBpbnB1dC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxOTBweDtcbiAgICBtYXJnaW46IDAgN3B4IDEwcHggMDtcbiAgICBoZWlnaHQ6IDQzcHg7IH1cbiAgICAubW9kYWwgZm9ybSBpbnB1dDpudGgtY2hpbGQoMiksIC5tb2RhbCBmb3JtIGlucHV0Om50aC1jaGlsZCg0KSwgLm1vZGFsIGZvcm0gaW5wdXQ6bnRoLWNoaWxkKDYpLCAubW9kYWwgZm9ybSBpbnB1dDpudGgtY2hpbGQoOCksXG4gICAgLm1vZGFsIGZvcm0gLnNlbGVjdC13cmFwcGVyOm50aC1jaGlsZCgyKSxcbiAgICAubW9kYWwgZm9ybSAuc2VsZWN0LXdyYXBwZXI6bnRoLWNoaWxkKDQpLFxuICAgIC5tb2RhbCBmb3JtIC5zZWxlY3Qtd3JhcHBlcjpudGgtY2hpbGQoNiksXG4gICAgLm1vZGFsIGZvcm0gLnNlbGVjdC13cmFwcGVyOm50aC1jaGlsZCg4KSxcbiAgICAubW9kYWwgZm9ybSBpbnB1dC5mb3JtLWNvbnRyb2w6bnRoLWNoaWxkKDIpLFxuICAgIC5tb2RhbCBmb3JtIGlucHV0LmZvcm0tY29udHJvbDpudGgtY2hpbGQoNCksXG4gICAgLm1vZGFsIGZvcm0gaW5wdXQuZm9ybS1jb250cm9sOm50aC1jaGlsZCg2KSxcbiAgICAubW9kYWwgZm9ybSBpbnB1dC5mb3JtLWNvbnRyb2w6bnRoLWNoaWxkKDgpLFxuICAgIC5mb3JtLWlubGluZSBpbnB1dDpudGgtY2hpbGQoMiksXG4gICAgLmZvcm0taW5saW5lIGlucHV0Om50aC1jaGlsZCg0KSxcbiAgICAuZm9ybS1pbmxpbmUgaW5wdXQ6bnRoLWNoaWxkKDYpLFxuICAgIC5mb3JtLWlubGluZSBpbnB1dDpudGgtY2hpbGQoOCksXG4gICAgLmZvcm0taW5saW5lIC5zZWxlY3Qtd3JhcHBlcjpudGgtY2hpbGQoMiksXG4gICAgLmZvcm0taW5saW5lIC5zZWxlY3Qtd3JhcHBlcjpudGgtY2hpbGQoNCksXG4gICAgLmZvcm0taW5saW5lIC5zZWxlY3Qtd3JhcHBlcjpudGgtY2hpbGQoNiksXG4gICAgLmZvcm0taW5saW5lIC5zZWxlY3Qtd3JhcHBlcjpudGgtY2hpbGQoOCksXG4gICAgLmZvcm0taW5saW5lIGlucHV0LmZvcm0tY29udHJvbDpudGgtY2hpbGQoMiksXG4gICAgLmZvcm0taW5saW5lIGlucHV0LmZvcm0tY29udHJvbDpudGgtY2hpbGQoNCksXG4gICAgLmZvcm0taW5saW5lIGlucHV0LmZvcm0tY29udHJvbDpudGgtY2hpbGQoNiksXG4gICAgLmZvcm0taW5saW5lIGlucHV0LmZvcm0tY29udHJvbDpudGgtY2hpbGQoOCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDE5MHB4OyB9XG4gICAgLm1vZGFsIGZvcm0gaW5wdXQuZnVsbC13aWR0aCwgLm1vZGFsIGZvcm0gaW5wdXQuZnVsbC13aWR0aDpudGgtY2hpbGQoMiksIC5tb2RhbCBmb3JtIGlucHV0LmZ1bGwtd2lkdGg6bnRoLWNoaWxkKDQpLCAubW9kYWwgZm9ybSBpbnB1dC5mdWlsbC13aWR0aDpudGgtY2hpbGQoNiksIC5tb2RhbCBmb3JtIGlucHV0LmZ1aWxsLXdpZHRoOm50aC1jaGlsZCg4KSxcbiAgICAubW9kYWwgZm9ybSAuc2VsZWN0LXdyYXBwZXIuZnVsbC13aWR0aCxcbiAgICAubW9kYWwgZm9ybSAuc2VsZWN0LXdyYXBwZXIuZnVsbC13aWR0aDpudGgtY2hpbGQoMiksXG4gICAgLm1vZGFsIGZvcm0gLnNlbGVjdC13cmFwcGVyLmZ1bGwtd2lkdGg6bnRoLWNoaWxkKDQpLFxuICAgIC5tb2RhbCBmb3JtIC5zZWxlY3Qtd3JhcHBlci5mdWlsbC13aWR0aDpudGgtY2hpbGQoNiksXG4gICAgLm1vZGFsIGZvcm0gLnNlbGVjdC13cmFwcGVyLmZ1aWxsLXdpZHRoOm50aC1jaGlsZCg4KSxcbiAgICAubW9kYWwgZm9ybSBpbnB1dC5mb3JtLWNvbnRyb2wuZnVsbC13aWR0aCxcbiAgICAubW9kYWwgZm9ybSBpbnB1dC5mb3JtLWNvbnRyb2wuZnVsbC13aWR0aDpudGgtY2hpbGQoMiksXG4gICAgLm1vZGFsIGZvcm0gaW5wdXQuZm9ybS1jb250cm9sLmZ1bGwtd2lkdGg6bnRoLWNoaWxkKDQpLFxuICAgIC5tb2RhbCBmb3JtIGlucHV0LmZvcm0tY29udHJvbC5mdWlsbC13aWR0aDpudGgtY2hpbGQoNiksXG4gICAgLm1vZGFsIGZvcm0gaW5wdXQuZm9ybS1jb250cm9sLmZ1aWxsLXdpZHRoOm50aC1jaGlsZCg4KSxcbiAgICAuZm9ybS1pbmxpbmUgaW5wdXQuZnVsbC13aWR0aCxcbiAgICAuZm9ybS1pbmxpbmUgaW5wdXQuZnVsbC13aWR0aDpudGgtY2hpbGQoMiksXG4gICAgLmZvcm0taW5saW5lIGlucHV0LmZ1bGwtd2lkdGg6bnRoLWNoaWxkKDQpLFxuICAgIC5mb3JtLWlubGluZSBpbnB1dC5mdWlsbC13aWR0aDpudGgtY2hpbGQoNiksXG4gICAgLmZvcm0taW5saW5lIGlucHV0LmZ1aWxsLXdpZHRoOm50aC1jaGlsZCg4KSxcbiAgICAuZm9ybS1pbmxpbmUgLnNlbGVjdC13cmFwcGVyLmZ1bGwtd2lkdGgsXG4gICAgLmZvcm0taW5saW5lIC5zZWxlY3Qtd3JhcHBlci5mdWxsLXdpZHRoOm50aC1jaGlsZCgyKSxcbiAgICAuZm9ybS1pbmxpbmUgLnNlbGVjdC13cmFwcGVyLmZ1bGwtd2lkdGg6bnRoLWNoaWxkKDQpLFxuICAgIC5mb3JtLWlubGluZSAuc2VsZWN0LXdyYXBwZXIuZnVpbGwtd2lkdGg6bnRoLWNoaWxkKDYpLFxuICAgIC5mb3JtLWlubGluZSAuc2VsZWN0LXdyYXBwZXIuZnVpbGwtd2lkdGg6bnRoLWNoaWxkKDgpLFxuICAgIC5mb3JtLWlubGluZSBpbnB1dC5mb3JtLWNvbnRyb2wuZnVsbC13aWR0aCxcbiAgICAuZm9ybS1pbmxpbmUgaW5wdXQuZm9ybS1jb250cm9sLmZ1bGwtd2lkdGg6bnRoLWNoaWxkKDIpLFxuICAgIC5mb3JtLWlubGluZSBpbnB1dC5mb3JtLWNvbnRyb2wuZnVsbC13aWR0aDpudGgtY2hpbGQoNCksXG4gICAgLmZvcm0taW5saW5lIGlucHV0LmZvcm0tY29udHJvbC5mdWlsbC13aWR0aDpudGgtY2hpbGQoNiksXG4gICAgLmZvcm0taW5saW5lIGlucHV0LmZvcm0tY29udHJvbC5mdWlsbC13aWR0aDpudGgtY2hpbGQoOCkge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1vZGFsIGZvcm0gLnNlbGVjdC13cmFwcGVyLFxuICAuZm9ybS1pbmxpbmUgLnNlbGVjdC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgICAubW9kYWwgZm9ybSAuc2VsZWN0LXdyYXBwZXIgLnVwLFxuICAgIC5mb3JtLWlubGluZSAuc2VsZWN0LXdyYXBwZXIgLnVwIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICM5ZGE1YjM7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiAxM3B4OyB9XG4gICAgLm1vZGFsIGZvcm0gLnNlbGVjdC13cmFwcGVyIC5kbixcbiAgICAuZm9ybS1pbmxpbmUgLnNlbGVjdC13cmFwcGVyIC5kbiB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAjOWRhNWIzO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogMjBweDsgfVxuICAgIC5tb2RhbCBmb3JtIC5zZWxlY3Qtd3JhcHBlciBzZWxlY3QsXG4gICAgLmZvcm0taW5saW5lIC5zZWxlY3Qtd3JhcHBlciBzZWxlY3Qge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubW9kYWwgZm9ybSAuc2VsZWN0LXdyYXBwZXIubnVsbCxcbiAgICAuZm9ybS1pbmxpbmUgLnNlbGVjdC13cmFwcGVyLm51bGwge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWJlZWYyOyB9XG4gICAgICAubW9kYWwgZm9ybSAuc2VsZWN0LXdyYXBwZXIubnVsbCBzZWxlY3QsXG4gICAgICAuZm9ybS1pbmxpbmUgLnNlbGVjdC13cmFwcGVyLm51bGwgc2VsZWN0IHtcbiAgICAgICAgY29sb3I6ICNhMGE1YjA7IH1cbiAgICAgIC5tb2RhbCBmb3JtIC5zZWxlY3Qtd3JhcHBlci5udWxsIC51cCxcbiAgICAgIC5mb3JtLWlubGluZSAuc2VsZWN0LXdyYXBwZXIubnVsbCAudXAge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjYTBhNWIwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5tb2RhbCBmb3JtIC5zZWxlY3Qtd3JhcHBlci5udWxsIC5kbixcbiAgICAgIC5mb3JtLWlubGluZSAuc2VsZWN0LXdyYXBwZXIubnVsbCAuZG4ge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjYTBhNWIwICFpbXBvcnRhbnQ7IH1cbiAgLm1vZGFsIGZvcm0gdGV4dGFyZWEsXG4gIC5mb3JtLWlubGluZSB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTJweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAubW9kYWwgZm9ybSBpbnB1dCxcbiAgICAubW9kYWwgZm9ybSBpbnB1dDpudGgtY2hpbGQoMiksXG4gICAgLm1vZGFsIGZvcm0gaW5wdXQ6bnRoLWNoaWxkKDYpLFxuICAgIC5tb2RhbCBmb3JtIHNlbGVjdDpudGgtY2hpbGQoNCksXG4gICAgLmZvcm0taW5saW5lIGlucHV0LFxuICAgIC5mb3JtLWlubGluZSBpbnB1dDpudGgtY2hpbGQoMiksXG4gICAgLmZvcm0taW5saW5lIGlucHV0Om50aC1jaGlsZCg2KSxcbiAgICAuZm9ybS1pbmxpbmUgc2VsZWN0Om50aC1jaGlsZCg0KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC5tb2RhbCBmb3JtIGJ1dHRvbixcbiAgLmZvcm0taW5saW5lIGJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBhZGRpbmc6IDEwcHggMTNweCA4cHg7XG4gICAgaGVpZ2h0OiA0MXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm1vZGFsIGZvcm0gLnN1Y2Nlc3MsXG4gIC5mb3JtLWlubGluZSAuc3VjY2VzcyB7XG4gICAgY29sb3I6ICMxZWQxNzY7IH1cbiAgLm1vZGFsIGZvcm0gLmVycm9yLFxuICAuZm9ybS1pbmxpbmUgLmVycm9yIHtcbiAgICBjb2xvcjogI2Y4NTU2YzsgfVxuXG4ubmF2YmFyLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMzNDdlZmYsICMxZWEzZmYpO1xuICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtaW4taGVpZ2h0OiAzMnB4O1xuICB6LWluZGV4OiAzMDtcbiAgYm9yZGVyOiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5uYXZiYXItZGVmYXVsdCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAxcHg7XG4gICAgICBtaW4taGVpZ2h0OiA1MHB4OyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQucHJvZHVjdHMtcGFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDsgfSB9XG4gIC5uYXZiYXItZGVmYXVsdC5lbnRlcnByaXNlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0LmVudGVycHJpc2UgLm5hdmJhci1icmFuZCBzdmcge1xuICAgICAgZmlsbDogIzAwMDsgfVxuICAgIC5uYXZiYXItZGVmYXVsdC5lbnRlcnByaXNlIC5uYXZiYXItdG9nZ2xlIGkge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQuZW50ZXJwcmlzZSAubmF2YmFyLXRvZ2dsZTpob3ZlciBpIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItaGVhZGVyIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQge1xuICAgIGhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nOiAxcHggMCAwIDEzcHg7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBvcGFjaXR5OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7IH0gfVxuICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kIGltZyB7XG4gICAgICB3aWR0aDogMTI4cHg7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gIC5uYXZiYXItZGVmYXVsdC50cmFuc3BhcmVudCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5uYXZiYXItZGVmYXVsdC50cmFuc3BhcmVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IDBweCByZ2JhKDAsIDIwLCA1NiwgMC4wNik7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9IH1cbiAgLm5hdmJhci1kZWZhdWx0ICNpb25pYy1pby1sb2dvIHtcbiAgICBmaWxsOiAjZmZmO1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogOTZweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAubGlnaHQgLm5hdmJhci1kZWZhdWx0ICNpb25pYy1pby1sb2dvLCAubmF2YmFyLWRlZmF1bHQgI2lvbmljLWlvLWxvZ28ubGlnaHQge1xuICAgICAgZmlsbDogIzM4ODBGRjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLm5hdmJhci1kZWZhdWx0ICNpb25pYy1pby1sb2dvIHtcbiAgICAgICAgZmlsbDogIzM4ODBGRjsgfSB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LWhlaWdodDogMzJweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdi5uYXZiYXItY2VudGVyIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Lm5hdmJhci1jZW50ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDZweDsgfSB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaS5zbS1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkuaGlkZS1sdC1sZyxcbiAgICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpIC5oaWRlLWx0LWxnIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkuaGlkZS1ndC1tZCxcbiAgICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpIC5oaWRlLWd0LW1kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZzogNnB4IDhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG4gICAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgY29sb3I7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA5cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA5cHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkub3BlbiA+IGEge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSkgIWltcG9ydGFudDsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KTsgfVxuICAgIC5saWdodCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaS5vcGVuID4gYSB7XG4gICAgICBjb2xvcjogIzEzMTkyNCAhaW1wb3J0YW50OyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkuaGVhZGVyLWJ0bi13aGl0ZSBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHBhZGRpbmc6IDZweCA4cHggNnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgY29sb3I6ICM0YThiZmM7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGJveC1zaGFkb3csIDAuM3MgYmFja2dyb3VuZDsgfVxuICAgICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkuaGVhZGVyLWJ0bi13aGl0ZSBhOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICM0YThiZmM7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkuaGVhZGVyLWJ0bi13aGl0ZSBhOmFjdGl2ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpLmhlYWRlci1idG4td2hpdGUuYmx1ZSBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNGE4YmZjOyB9XG4gICAgICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpLmhlYWRlci1idG4td2hpdGUuYmx1ZSBhOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDc0LCAxMzksIDI1MiwgMC45KTsgfSB9XG4gIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgb3BhY2l0eSAwLjNzOyB9XG4gIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24ub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgdmlzaWJpbGl0eTogMTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpOyB9XG4gIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRpdmlkZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlZWYyO1xuICAgIG1hcmdpbjogNnB4IDAgMTNweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICB0b3A6IDM5cHg7XG4gICAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyOHB4IHJnYmEoMCwgMTYsIDQ0LCAwLjE4KSwgMCAxcHggNXB4IHJnYmEoMCwgMTYsIDQ0LCAwLjIpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRvcDogLTIwMDBweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtMTBweCwgMCkgc2NhbGUoMSwgMSkgcGVyc3BlY3RpdmUoMXB4KTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzYsIDAuNjYsIDAuMDQsIDEpLCBvcGFjaXR5IDAuMnMgbGluZWFyLCB0b3AgMC4yNXMgc3RlcC1lbmQ7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnVfX3RleHQtLWwxLCAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51X190ZXh0LS1sMiwgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudV9fdGV4dC0tbDMsIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnVfX3RleHQtLWw0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgICAgIGNvbG9yOiAjNTI5MEZFOyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51X190ZXh0LS1sMSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51X190ZXh0LS1sMSBpb24taWNvbiB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIDAuMnM7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgM3B4KTsgfVxuICAgICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51X190ZXh0LS1sMTpob3ZlciBpb24taWNvbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAzcHgpOyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51X190ZXh0LS1sMiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudV9fdGV4dC0tbDMge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudV9fdGV4dC0tbDQge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjQjJCRUNEO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHVsICsgaDYge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNnB4OyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IGEsXG4gICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IGxpLFxuICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSBhLFxuICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSBzcGFuLFxuICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogOHB4IDI4cHg7XG4gICAgICAgIG1pbi13aWR0aDogMjMwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgY29sb3I7IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgYS5kcm9wZG93bi1tZW51X190ZXh0LS1sMSB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMjhweDsgfVxuICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSBhLmRyb3Bkb3duLW1lbnVfX3RleHQtLWwzIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDI4cHg7IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgYSB7XG4gICAgICAgIGNvbG9yOiAjNTI5MEZFOyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5iaWcgYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNjVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmJpZyBhIHN2ZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgICAgdG9wOiAxNXB4OyB9XG4gICAgICAgIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmJpZyBhIHNwYW4ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIGNvbG9yOiAjNzM4NDlBICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSAuYmlnIGEgc3Ryb25nIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBjb2xvcjogIzUyOTBGRTsgfVxuICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudS0td2l0aGJpZ3Mge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51LS13aXRoYmlncyAuYmlnOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudS0td2l0aGJpZ3MgLmJpZyArIC5kaXZpZGVyIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxOHB4OyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICMzMzc2ZTg7IH1cbiAgICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSBhOmhvdmVyIHN0cm9uZyxcbiAgICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSBhOmhvdmVyIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAjMzM3NmU4OyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kaXZpZGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmOGY5ZmI7XG4gICAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZGl2aWRlciB+IGxpIGEsXG4gICAgICAgIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRpdmlkZXIgfiBsaSBzcGFuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjZGOEZCOyB9XG4gICAgICAgIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRpdmlkZXIgfiBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xNXB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMXB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4OyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5zcGxpdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBtaW4td2lkdGg6IDM2MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XG4gICAgICAgIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLnNwbGl0IGEsXG4gICAgICAgIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLnNwbGl0IHNwYW4ge1xuICAgICAgICAgIG1pbi13aWR0aDogMDsgfVxuICAgICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5zcGxpdCAuc20ge1xuICAgICAgICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIHBhZGRpbmc6IDRweCAyOHB4OyB9XG4gICAgICAgICAgLm5hdmJhci1kZWZhdWx0IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSAuc3BsaXQgLnNtOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjN2NhYmZkOyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51OjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDE5cHg7IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnU6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICByaWdodDogY2FsYyg1MCUgLSA3cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24ub3BlbiAuZHJvcGRvd24tbWVudSxcbiAgICAubmF2YmFyLWRlZmF1bHQgLmRyb3Bkb3duOmhvdmVyIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0b3A6IDM5cHg7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCkgc2NhbGUoMSwgMSkgcGVyc3BlY3RpdmUoMXB4KTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMC4xNywgMC42NywgMC41MiwgMSksIG9wYWNpdHkgMC4xcyBsaW5lYXIsIHRvcCAwLjI1cyBzdGVwLXN0YXJ0O1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yczsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAuZHJvcGRvd24gLmNhcmV0IHtcbiAgICAgIGJvcmRlci10b3A6IDNweCBkYXNoZWQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7IH0gfVxuICAubmF2YmFyLWRlZmF1bHQgLnZlcnNpb24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC52ZXJzaW9uID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDEycHggNXB4IDA7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgLm5hdmJhci1kZWZhdWx0IC52ZXJzaW9uID4gbGkgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAxM3B4IDEwcHggMDsgfSB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLnZlcnNpb24gPiBsaSA+IGE6YWN0aXZlLCAubmF2YmFyLWRlZmF1bHQgLnZlcnNpb24gPiBsaSA+IGE6Zm9jdXMsIC5uYXZiYXItZGVmYXVsdCAudmVyc2lvbiA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAudmVyc2lvbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHBhZGRpbmc6IDEycHggMCAxMHB4O1xuICAgICAgdG9wOiA1MnB4O1xuICAgICAgbGVmdDogNzBweDtcbiAgICAgIHJpZ2h0OiAtMTAwcHg7XG4gICAgICBtaW4td2lkdGg6IDIwNXB4O1xuICAgICAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4wMSk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAyMCUgOHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTU1LCAxLjEwNSwgMC4yOTUsIDEuMTIpLCBvcGFjaXR5IDAuMXMgbGluZWFyOyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLnZlcnNpb24gLmRyb3Bkb3duLW1lbnUgYSB7XG4gICAgICAgIHBhZGRpbmc6IDZweCAyM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgICAgLm5hdmJhci1kZWZhdWx0IC52ZXJzaW9uIC5kcm9wZG93bi1tZW51IGEgaTo6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogN3B4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAgICAgLm5hdmJhci1kZWZhdWx0IC52ZXJzaW9uIC5kcm9wZG93bi1tZW51IGEuYWN0aXZlLCAubmF2YmFyLWRlZmF1bHQgLnZlcnNpb24gLmRyb3Bkb3duLW1lbnUgYS5hY3RpdmU6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCAudmVyc2lvbiAuZHJvcGRvd24tbWVudTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9pY28tbmF2LWFycm93LnBuZ1wiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICBsZWZ0OiAzNXB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgei1pbmRleDogNTsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAudmVyc2lvbi5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIC5uYXZiYXItZGVmYXVsdCAuaGVhZGVyLWZvcm0ge1xuICAgIG1hcmdpbjogNnB4IDAgMCAxMTBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMzMwcHgpIHtcbiAgICAgIC5uYXZiYXItZGVmYXVsdCAuaGVhZGVyLWZvcm0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5oZWFkZXItZm9ybSAuZm9ybS1ncm91cCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLmhlYWRlci1mb3JtIC5mb3JtLWdyb3VwIGlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4MDBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzOHB4O1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjIsIDAuODUsIDAuMiwgMS4xKTsgfVxuICAgICAgICAubmF2YmFyLWRlZmF1bHQgLmhlYWRlci1mb3JtIC5mb3JtLWdyb3VwIGlucHV0OmZvY3VzIHtcbiAgICAgICAgICB3aWR0aDogMjcwcHg7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7IH1cbiAgICAgICAgLm5hdmJhci1kZWZhdWx0IC5oZWFkZXItZm9ybSAuZm9ybS1ncm91cCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCAuaGVhZGVyLWZvcm0gLmZvcm0tZ3JvdXA6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgY29udGVudDogJ1xcZjRhNSc7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgbGVmdDogMTRweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgIC5uYXZiYXItZGVmYXVsdCAuaGVhZGVyLWZvcm0gLmZvcm0tZ3JvdXA6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgIC5uYXZiYXItZGVmYXVsdCAuaGVhZGVyLWZvcm0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDsgfVxuICAgICAgICAubmF2YmFyLWRlZmF1bHQgLmhlYWRlci1mb3JtIC5mb3JtLWdyb3VwIGlucHV0OmZvY3VzIHtcbiAgICAgICAgICB3aWR0aDogMTkycHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLm5hdmJhci1kZWZhdWx0IC5oZWFkZXItZm9ybSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAgICAgLm5hdmJhci1kZWZhdWx0IC5oZWFkZXItZm9ybSAuZm9ybS1ncm91cCBpbnB1dCB7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgLm5hdmJhci1kZWZhdWx0IC5oZWFkZXItZm9ybSAuZm9ybS1ncm91cCBpbnB1dDpmb2N1cyB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcbiAgICAgICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDM4cHg7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZSxcbiAgLm5hdmJhci1kZWZhdWx0IC5zaWRlYmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZSBpLFxuICAgIC5uYXZiYXItZGVmYXVsdCAuc2lkZWJhci10b2dnbGUgaSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBmb250LXNpemU6IDI3cHg7XG4gICAgICB0b3A6IC0zcHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MsIHRyYW5zZm9ybSAwLjNzLCBvcGFjaXR5IDAuM3M7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6YWN0aXZlLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6Zm9jdXMsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpob3ZlcixcbiAgICAubmF2YmFyLWRlZmF1bHQgLnNpZGViYXItdG9nZ2xlOmFjdGl2ZSxcbiAgICAubmF2YmFyLWRlZmF1bHQgLnNpZGViYXItdG9nZ2xlOmZvY3VzLFxuICAgIC5uYXZiYXItZGVmYXVsdCAuc2lkZWJhci10b2dnbGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6YWN0aXZlIGksIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpmb2N1cyBpLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6aG92ZXIgaSxcbiAgICAgIC5uYXZiYXItZGVmYXVsdCAuc2lkZWJhci10b2dnbGU6YWN0aXZlIGksXG4gICAgICAubmF2YmFyLWRlZmF1bHQgLnNpZGViYXItdG9nZ2xlOmZvY3VzIGksXG4gICAgICAubmF2YmFyLWRlZmF1bHQgLnNpZGViYXItdG9nZ2xlOmhvdmVyIGkge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZSAuaW9uLW1kLWNsb3NlLFxuICAgIC5uYXZiYXItZGVmYXVsdCAuc2lkZWJhci10b2dnbGUgLmlvbi1tZC1jbG9zZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlLmFjdGl2ZSBpLFxuICAgIC5uYXZiYXItZGVmYXVsdCAuc2lkZWJhci10b2dnbGUuYWN0aXZlIGkge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlLmFjdGl2ZSBpOm5vdCguaW9uLW1kLWNsb3NlKSxcbiAgICAubmF2YmFyLWRlZmF1bHQgLnNpZGViYXItdG9nZ2xlLmFjdGl2ZSBpOm5vdCguaW9uLW1kLWNsb3NlKSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlLmFjdGl2ZSAuaW9uLW1kLWNsb3NlLFxuICAgIC5uYXZiYXItZGVmYXVsdCAuc2lkZWJhci10b2dnbGUuYWN0aXZlIC5pb24tbWQtY2xvc2Uge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAubmF2YmFyLWRlZmF1bHQudHJhbnNwYXJlbnQgLm5hdmJhci10b2dnbGUgaSxcbiAgLm5hdmJhci1kZWZhdWx0LnRyYW5zcGFyZW50IC5zaWRlYmFyLXRvZ2dsZSBpIHtcbiAgICBjb2xvcjogIzRhOGJmYzsgfVxuICAubmF2YmFyLWRlZmF1bHQudHJhbnNwYXJlbnQgLm5hdmJhci10b2dnbGU6YWN0aXZlIGksIC5uYXZiYXItZGVmYXVsdC50cmFuc3BhcmVudCAubmF2YmFyLXRvZ2dsZTpmb2N1cyBpLCAubmF2YmFyLWRlZmF1bHQudHJhbnNwYXJlbnQgLm5hdmJhci10b2dnbGU6aG92ZXIgaSxcbiAgLm5hdmJhci1kZWZhdWx0LnRyYW5zcGFyZW50IC5zaWRlYmFyLXRvZ2dsZTphY3RpdmUgaSxcbiAgLm5hdmJhci1kZWZhdWx0LnRyYW5zcGFyZW50IC5zaWRlYmFyLXRvZ2dsZTpmb2N1cyBpLFxuICAubmF2YmFyLWRlZmF1bHQudHJhbnNwYXJlbnQgLnNpZGViYXItdG9nZ2xlOmhvdmVyIGkge1xuICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gIC5uYXZiYXItZGVmYXVsdCAuc2lkZWJhci10b2dnbGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogOHB4IDEwcHggMDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubmF2YmFyLWRlZmF1bHQgLnNpZGViYXItdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAubmF2YmFyLWRlZmF1bHQgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgbWluLWhlaWdodDogNjJweDtcbiAgICBwYWRkaW5nLXRvcDogMTNweDtcbiAgICBtYXJnaW4tdG9wOiAtMjdweDsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAuY29udGFpbmVyLWZsdWlkIC5uYXZiYXItbmF2IHtcbiAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICAgLm5hdmJhci1kZWZhdWx0IC5jb250YWluZXItZmx1aWQgLm5hdmJhci1uYXYge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4OyB9IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCAuY29udGFpbmVyLWZsdWlkIC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyM3B4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyM3B4OyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5jb250YWluZXItZmx1aWQgLmhlYWRlci1idG4td2hpdGUge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLm5hdmJhci1kZWZhdWx0IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjhweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDE1MTRweCkge1xuICAgICAgLm5hdmJhci1kZWZhdWx0IC5jb250YWluZXItZmx1aWQgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTA2cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm5hdmJhci1kZWZhdWx0IC5jb250YWluZXItZmx1aWQgLmhpZGUtc20sXG4gICAgICAubmF2YmFyLWRlZmF1bHQgLmNvbnRhaW5lci1mbHVpZCAuc20taGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgIC5uYXZiYXItZGVmYXVsdCAuY29udGFpbmVyLWZsdWlkIC5oaWRlLWx0LWxnIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAgICAgLm5hdmJhci1kZWZhdWx0IC5jb250YWluZXItZmx1aWQgLmhpZGUtZ3QtbWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODkycHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm5hdmJhci1kZWZhdWx0IC5jb250YWluZXItZmx1aWQgLmhlYWRlci1idG4sXG4gICAgICAubmF2YmFyLWRlZmF1bHQgLmNvbnRhaW5lci1mbHVpZCAuaGVhZGVyLWJ0bi13aGl0ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5uYXZiYXItZGVmYXVsdCAuY29udGFpbmVyLWZsdWlkICNpb25pYy1kb2NzLWJhY2ssXG4gICAgLm5hdmJhci1kZWZhdWx0IC5jb250YWluZXItZmx1aWQgI2lvbmljLWRvY3MtbG9nbyB7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgdHJhbnNmb3JtLCAwLjNzIG9wYWNpdHk7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAubmF2YmFyLWRlZmF1bHQgLmNvbnRhaW5lci1mbHVpZCAjaW9uaWMtZG9jcy1iYWNrLFxuICAgICAgICAubmF2YmFyLWRlZmF1bHQgLmNvbnRhaW5lci1mbHVpZCAjaW9uaWMtZG9jcy1sb2dvIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xM3B4OyB9IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLmNvbnRhaW5lci1mbHVpZCAjaW9uaWMtZG9jcy1iYWNrIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgbGVmdDogMTNweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEpOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5jb250YWluZXItZmx1aWQgI2lvbmljLWRvY3MtdGV4dCB7XG4gICAgICB3aWR0aDogNTZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLmNvbnRhaW5lci1mbHVpZCAjaW9uaWMtcHJvLWRvY3MtdGV4dCB7XG4gICAgICB3aWR0aDogMzZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLmNvbnRhaW5lci1mbHVpZCAubmF2YmFyLWJyYW5kIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCAuY29udGFpbmVyLWZsdWlkIC5uYXZiYXItYnJhbmQgaW1nIHtcbiAgICAgICAgd2lkdGg6IDg4cHg7IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCAuY29udGFpbmVyLWZsdWlkIC5uYXZiYXItYnJhbmQubG9nbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDZweDsgfVxuICAgICAgICAubmF2YmFyLWRlZmF1bHQgLmNvbnRhaW5lci1mbHVpZCAubmF2YmFyLWJyYW5kLmxvZ286aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAubmF2YmFyLWRlZmF1bHQgLmNvbnRhaW5lci1mbHVpZCAubmF2YmFyLWJyYW5kLmxvZ286aG92ZXIgI2lvbmljLWRvY3MtbG9nbyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtM3B4LCAwLCAwKSBzY2FsZTNkKDEuMSwgMS4xLCAxKTsgfVxuICAgICAgICAgIC5uYXZiYXItZGVmYXVsdCAuY29udGFpbmVyLWZsdWlkIC5uYXZiYXItYnJhbmQubG9nbzpob3ZlciAjaW9uaWMtZG9jcy1iYWNrIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zcHgsIDAsIDApIHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgICAgICAgLm5hdmJhci1kZWZhdWx0IC5jb250YWluZXItZmx1aWQgLm5hdmJhci1icmFuZC5sb2dvOmFjdGl2ZSwgLm5hdmJhci1kZWZhdWx0IC5jb250YWluZXItZmx1aWQgLm5hdmJhci1icmFuZC5sb2dvOmZvY3VzLCAubmF2YmFyLWRlZmF1bHQgLmNvbnRhaW5lci1mbHVpZCAubmF2YmFyLWJyYW5kLmxvZ286aG92ZXI6YWN0aXZlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zcHgsIDAsIDApIHNjYWxlM2QoMC45LCAwLjksIDEpO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDEyMCUgODAlOyB9XG4gIC5uYXZiYXItZGVmYXVsdCArIC5jdGEgLmJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICAgIG1pbi1oZWlnaHQ6IDY0cHg7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgKyAuY3RhIC5iYXIgLmNvbnRhaW5lciA+IGRpdixcbiAgICAubmF2YmFyLWRlZmF1bHQgKyAuY3RhIC5iYXIgcCB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgLm5hdmJhci1kZWZhdWx0ICsgLmN0YSAuYmFyLmFmZml4LXRvcCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0ICsgLmN0YSAuYmFyLmFmZml4IHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHotaW5kZXg6IDEwMDsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCArIC5jdGEgLmJhci50YWJiZWQge1xuICAgICAgYmFja2dyb3VuZDogI2ZiZmNmZDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjlmYWZiO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCArIC5jdGEgLmJhci50YWJiZWQuYWZmaXgge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSksIDAgMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICAgICAgICAubmF2YmFyLWRlZmF1bHQgKyAuY3RhIC5iYXIudGFiYmVkLmFmZml4IHVsIGxpIGEge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCArIC5jdGEgLmJhci50YWJiZWQgdWwge1xuICAgICAgICBwYWRkaW5nOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLm5hdmJhci1kZWZhdWx0ICsgLmN0YSAuYmFyLnRhYmJlZCB1bCBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgICAgLm5hdmJhci1kZWZhdWx0ICsgLmN0YSAuYmFyLnRhYmJlZCB1bCBsaSBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMThweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggLTFweDtcbiAgICAgICAgICAgIGNvbG9yOiAjNTc2MDcwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycywgYm9yZGVyLWNvbG9yIDAuMnM7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgICAgICAgLm5hdmJhci1kZWZhdWx0ICsgLmN0YSAuYmFyLnRhYmJlZCB1bCBsaSBhOmZvY3VzIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAubmF2YmFyLWRlZmF1bHQgKyAuY3RhIC5iYXIudGFiYmVkIHVsIGxpLmFjdGl2ZSBhIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzRhOGJmYzsgfVxuICAgICAgICAgIC5uYXZiYXItZGVmYXVsdCArIC5jdGEgLmJhci50YWJiZWQgdWwgbGkuYWN0aXZlIGEsXG4gICAgICAgICAgLm5hdmJhci1kZWZhdWx0ICsgLmN0YSAuYmFyLnRhYmJlZCB1bCBsaSBhOmFjdGl2ZSxcbiAgICAgICAgICAubmF2YmFyLWRlZmF1bHQgKyAuY3RhIC5iYXIudGFiYmVkIHVsIGxpIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICM0YThiZmM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAubmF2YmFyLWRlZmF1bHQgKyAuY3RhIC5iYXIudGFiYmVkIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgICAgICAgIC5uYXZiYXItZGVmYXVsdCArIC5jdGEgLmJhci50YWJiZWQgdWwgbGkgYSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2YmFyLWRlZmF1bHQubGlnaHQgI2lvbmljLWlvLWxvZ28ge1xuICAgICAgZmlsbDogIzRmNjM4NDsgfVxuICAgIC5uYXZiYXItZGVmYXVsdC5saWdodCAubmF2YmFyLW5hdiA+IGxpOm5vdCguaGVhZGVyLWJ0bi13aGl0ZSkgPiBhLFxuICAgIC5uYXZiYXItZGVmYXVsdC5saWdodCAubmF2YmFyLW5hdiBpb25pYy1zZWFyY2ggaW9uLWljb24ge1xuICAgICAgY29sb3I6ICM3ODgyOTQ7IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdC5saWdodCAubmF2YmFyLW5hdiA+IGxpOm5vdCguaGVhZGVyLWJ0bi13aGl0ZSkgPiBhOmhvdmVyLFxuICAgICAgLm5hdmJhci1kZWZhdWx0LmxpZ2h0IC5uYXZiYXItbmF2IGlvbmljLXNlYXJjaCBpb24taWNvbjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0LmxpZ2h0IC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYSB7XG4gICAgICBjb2xvcjogI2M3ZDBlMDsgfVxuICAgIC5uYXZiYXItZGVmYXVsdC5lbnRlcnByaXNlIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwYWRkaW5nLXRvcDogMzZweDsgfVxuICAgICAgLm5hdmJhci1kZWZhdWx0LmVudGVycHJpc2UgLm5hdmJhci1uYXYgPiBsaTpub3QoLmhlYWRlci1idG4td2hpdGUpID4gYSxcbiAgICAgIC5uYXZiYXItZGVmYXVsdC5lbnRlcnByaXNlIC5uYXZiYXItbmF2IGlvbmljLXNlYXJjaCBpb24taWNvbiB7XG4gICAgICAgIGNvbG9yOiAjNEU1QjZBOyB9XG4gICAgICAgIC5uYXZiYXItZGVmYXVsdC5lbnRlcnByaXNlIC5uYXZiYXItbmF2ID4gbGk6bm90KC5oZWFkZXItYnRuLXdoaXRlKSA+IGE6aG92ZXIsXG4gICAgICAgIC5uYXZiYXItZGVmYXVsdC5lbnRlcnByaXNlIC5uYXZiYXItbmF2IGlvbmljLXNlYXJjaCBpb24taWNvbjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM5MkExQjM7IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdC5lbnRlcnByaXNlIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYSxcbiAgICAgIC5uYXZiYXItZGVmYXVsdC5lbnRlcnByaXNlIC5uYXZiYXItbmF2ID4gbGkub3BlbiA+IGEge1xuICAgICAgICBjb2xvcjogIzkyQTFCMyAhaW1wb3J0YW50OyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQuZW50ZXJwcmlzZSAubmF2YmFyLW5hdiA+IGxpOm5vdCguaGVhZGVyLWJ0bi13aGl0ZSkgPiBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogMCAxNHB4IDEwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQuZW50ZXJwcmlzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogIzRFNUI2QTsgfVxuICAgICAgLm5hdmJhci1kZWZhdWx0LmVudGVycHJpc2UgLm5hdmJhci1yaWdodCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDNweDsgfVxuICAgICAgLm5hdmJhci1kZWZhdWx0LmVudGVycHJpc2UgLm5hdmJhci1jZW50ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLm5hdmJhci1kZWZhdWx0LmVudGVycHJpc2UubmF2YmFyLXN0aWNreSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0ICNoZWFkZXItYnRuLW91dGxpbmUge1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBib3JkZXI7XG4gICAgICBwYWRkaW5nOiAycHggMTBweCA0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICAgIGNvbG9yOiAjMzg4MEZGO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTYsIDEyOCwgMjU1LCAwLjQpO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAubmF2YmFyLWRlZmF1bHQgI2hlYWRlci1idG4tb3V0bGluZTpob3ZlciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTYsIDEyOCwgMjU1LCAwLjgpOyB9IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItcmlnaHQgPiBsaSA+IGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuICAubmF2YmFyLWRlZmF1bHQubmF2YmFyLXN0aWNreSB7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHBhZGRpbmc6IDIwcHggMHB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDQpLCAwcHggNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjAyKTsgfVxuICAubmF2YmFyLWRlZmF1bHQgaW9uaWMtc2VhcmNoOm5vdCguaHlkcmF0ZWQpIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAzMXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZG9jcyAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYubmF2YmFyLWNlbnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5ib2R5LnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4ubmF2YmFyLWRhcmsge1xuICBiYWNrZ3JvdW5kOiAjMTExOTJhOyB9XG5cbi5leHRlcm5hbC1pY29uIC5leHRlcm5hbC1pY29uX19iYWNrZ3JvdW5kIHtcbiAgZmlsbDogIzk3QkRGRjsgfVxuXG4uZXh0ZXJuYWwtaWNvbiAuZXh0ZXJuYWwtaWNvbl9fZm9yZWdyb3VuZCB7XG4gIGZpbGw6ICNmZmY7IH1cblxuLmxpZ2h0IC5leHRlcm5hbC1pY29uIC5leHRlcm5hbC1pY29uX19iYWNrZ3JvdW5kLFxuLmV4dGVybmFsLWljb24tLWxpZ2h0IC5leHRlcm5hbC1pY29uX19iYWNrZ3JvdW5kIHtcbiAgZmlsbDogI2U1ZTdlYTsgfVxuXG4ubGlnaHQgLmV4dGVybmFsLWljb24gLmV4dGVybmFsLWljb25fX2ZvcmVncm91bmQsXG4uZXh0ZXJuYWwtaWNvbi0tbGlnaHQgLmV4dGVybmFsLWljb25fX2ZvcmVncm91bmQge1xuICBmaWxsOiAjN2E4NDk2OyB9XG5cbi5oYnNwdC1mb3JtIHtcbiAgbWF4LXdpZHRoOiA0MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmhic3B0LWZvcm0gLmhzLWZvcm0tcmVxdWlyZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhic3B0LWZvcm0gZm9ybSBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMiAuaW5wdXQge1xuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxuICAuaGJzcHQtZm9ybSBmb3JtLnN0YWNrZWQgLmZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgLmhic3B0LWZvcm0gLmhzLWlucHV0LFxuICAuaGJzcHQtZm9ybSBpbnB1dC5ocy1pbnB1dCxcbiAgLmhic3B0LWZvcm0gc2VsZWN0LmhzLWlucHV0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTFlNWVkO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMnM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGhlaWdodDogMzBweDtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDI5OyB9XG4gICAgLmhic3B0LWZvcm0gLmhzLWlucHV0OnBsYWNlaG9sZGVyLFxuICAgIC5oYnNwdC1mb3JtIGlucHV0LmhzLWlucHV0OnBsYWNlaG9sZGVyLFxuICAgIC5oYnNwdC1mb3JtIHNlbGVjdC5ocy1pbnB1dDpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2EwYTViMDsgfVxuICAgIC5oYnNwdC1mb3JtIC5ocy1pbnB1dDpob3ZlciwgLmhic3B0LWZvcm0gLmhzLWlucHV0OmZvY3VzLCAuaGJzcHQtZm9ybSAuaHMtaW5wdXQ6YWN0aXZlLFxuICAgIC5oYnNwdC1mb3JtIGlucHV0LmhzLWlucHV0OmhvdmVyLFxuICAgIC5oYnNwdC1mb3JtIGlucHV0LmhzLWlucHV0OmZvY3VzLFxuICAgIC5oYnNwdC1mb3JtIGlucHV0LmhzLWlucHV0OmFjdGl2ZSxcbiAgICAuaGJzcHQtZm9ybSBzZWxlY3QuaHMtaW5wdXQ6aG92ZXIsXG4gICAgLmhic3B0LWZvcm0gc2VsZWN0LmhzLWlucHV0OmZvY3VzLFxuICAgIC5oYnNwdC1mb3JtIHNlbGVjdC5ocy1pbnB1dDphY3RpdmUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzRhOGJmYztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuaGJzcHQtZm9ybSAuaHMtaW5wdXQuaHMtaW5wdXQuZXJyb3IsXG4gICAgLmhic3B0LWZvcm0gaW5wdXQuaHMtaW5wdXQuaHMtaW5wdXQuZXJyb3IsXG4gICAgLmhic3B0LWZvcm0gc2VsZWN0LmhzLWlucHV0LmhzLWlucHV0LmVycm9yIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y4NTU2YzsgfVxuICAuaGJzcHQtZm9ybSBzZWxlY3QuaHMtaW5wdXQge1xuICAgIGhlaWdodDogNDRweDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgNnB4KSAhaW1wb3J0YW50OyB9XG4gIC5oYnNwdC1mb3JtIHRleHRhcmVhLmhzLWlucHV0IHtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzcHgpICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMTkycHg7IH1cbiAgLmhic3B0LWZvcm0gLmhzX3N1Ym1pdCBpbnB1dC5ocy1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHggMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6ICM0YThiZmM7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBsaW5lYXI7XG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgICAuaGJzcHQtZm9ybSAuaHNfc3VibWl0IGlucHV0LmhzLWJ1dHRvbjpob3ZlciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgIGJhY2tncm91bmQ6ICM1OTk1ZmM7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuaGJzcHQtZm9ybSAuaHNfc3VibWl0IGlucHV0LmhzLWJ1dHRvbjphY3RpdmUsIC5oYnNwdC1mb3JtIC5oc19zdWJtaXQgaW5wdXQuaHMtYnV0dG9uOmFjdGl2ZTpub3QoLmluYWN0aXZlKTpub3QoLmxpbmspLCAuaGJzcHQtZm9ybSAuaHNfc3VibWl0IGlucHV0LmhzLWJ1dHRvbjpmb2N1czpub3QoLmluYWN0aXZlKSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICBiYWNrZ3JvdW5kOiAjNTk5NWZjO1xuICAgICAgb3V0bGluZTogMDsgfVxuICAuaGJzcHQtZm9ybSAuc3VibWl0dGVkLW1lc3NhZ2Uge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBwYWRkaW5nOiAzNHB4IDAgNzhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzM1YWY1NTtcbiAgICBtYXgtd2lkdGg6IDQxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLmhic3B0LWZvcm0gLnN1Ym1pdHRlZC1tZXNzYWdlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9jaGVja21hcmstbGlnaHQtZ3JlZW4uc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuXG4ubW9kYWwgLmhic3B0LWZvcm0gLmhzX3N1Ym1pdCBpbnB1dC5ocy1idXR0b24ge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIHtcbiAgZm9udC1mYW1pbHk6IGFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgLmh1YnNwb3Qtb3ZlcnJpZGUgLmhic3B0LWZvcm0sXG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIGZpZWxkc2V0IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmh1YnNwb3Qtb3ZlcnJpZGUgLmhic3B0LWZvcm0gLmhzLWZvcm0tZmllbGQge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgLmh1YnNwb3Qtb3ZlcnJpZGUgLmhic3B0LWZvcm0gbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDNweDsgfVxuICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSAuaHMtZm9ybS1yZXF1aXJlZCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGNvbG9yOiAjRjQ1NDU0O1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cbiAgLmh1YnNwb3Qtb3ZlcnJpZGUgLmhic3B0LWZvcm0gLmhzLXJpY2h0ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgLmh1YnNwb3Qtb3ZlcnJpZGUgLmhic3B0LWZvcm0gLmhzLWlucHV0LFxuICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSBpbnB1dC5ocy1pbnB1dCB7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuM3M7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NlZDZlMztcbiAgICBsaW5lLWhlaWdodDogMS4zOTI4NjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcGFkZGluZzogMTFweCAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjNTA1ODYzOyB9XG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIGlucHV0LmhzLWlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIGlucHV0LmhzLWlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSBpbnB1dC5ocy1pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIGlucHV0LmhzLWlucHV0W3R5cGU9XCJ0ZWxcIl0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAgIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIGlucHV0LmhzLWlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICAgIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIGlucHV0LmhzLWlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbiAgICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSBpbnB1dC5ocy1pbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzYyOWVmZjsgfVxuICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSBpbnB1dC5ocy1pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIGlucHV0LmhzLWlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIC5ocy1mb3JtLWJvb2xlYW5jaGVja2JveC1kaXNwbGF5IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIHNlbGVjdC5ocy1pbnB1dCB7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCA1MCUsIGdyYXkgNTAlKSwgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgZ3JheSA1MCUsIHRyYW5zcGFyZW50IDUwJSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMjBweCkgNTAlLCBjYWxjKDEwMCUgLSAxNXB4KSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1cHggNXB4LCA1cHggNXB4LCAxcHggMS41ZW07XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSBmb3JtIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0yIC5pbnB1dCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0yIC5ocy1mb3JtLWZpZWxkIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMiAuaHMtZm9ybS1maWVsZDpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMiAuaHMtZm9ybS1maWVsZDpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmh1YnNwb3Qtb3ZlcnJpZGUgLmhic3B0LWZvcm0gLmlucHV0cy1saXN0LFxuICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSAuaHMtZXJyb3ItbXNncyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIC5pbnB1dHMtbGlzdC5tdWx0aS1jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSAuaW5wdXRzLWxpc3QubXVsdGktY29udGFpbmVyIGxpOm50aC1sYXN0LWNoaWxkKG4rNik6Zmlyc3QtY2hpbGQsXG4gICAgLmh1YnNwb3Qtb3ZlcnJpZGUgLmhic3B0LWZvcm0gLmlucHV0cy1saXN0Lm11bHRpLWNvbnRhaW5lciBsaTpudGgtbGFzdC1jaGlsZChuKzYpOmZpcnN0LWNoaWxkIH4gbGkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxuICAgIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIC5pbnB1dHMtbGlzdC5tdWx0aS1jb250YWluZXIgbGk6bnRoLWxhc3QtY2hpbGQobis2KTpmaXJzdC1jaGlsZCB+IGxpOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMXB4OyB9XG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIC5ocy1mb3JtLWNoZWNrYm94LWRpc3BsYXkge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIC5ocy1mb3JtLWNoZWNrYm94LWRpc3BsYXkgLmhzLWlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIC5ocy1mb3JtLWNoZWNrYm94LWRpc3BsYXkgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAjNTA1ODYzOyB9XG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIC5ocy1lcnJvci1tc2dzIHtcbiAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogI0Y0NTQ1NDsgfVxuICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSAuaHNfc3VibWl0IHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIC5oc19zdWJtaXQgaW5wdXQuaHMtYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjMzg4MGZmO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07IH1cbiAgICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSAuaHNfc3VibWl0IGlucHV0LmhzLWJ1dHRvbjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDdweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgICAgYmFja2dyb3VuZDogIzRkOGRmZDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMiAuaHMtZm9ybS1maWVsZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmh1YnNwb3Qtb3ZlcnJpZGUgLmhic3B0LWZvcm0gZmllbGRzZXQuZm9ybS1jb2x1bW5zLTIgLmhzLWZvcm0tZmllbGQgKyAuaHMtZm9ybS1maWVsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH1cbiAgICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSAuaW5wdXRzLWxpc3QubXVsdGktY29udGFpbmVyIGxpOm50aC1sYXN0LWNoaWxkKG4rNik6Zmlyc3QtY2hpbGQsXG4gICAgLmh1YnNwb3Qtb3ZlcnJpZGUgLmhic3B0LWZvcm0gLmlucHV0cy1saXN0Lm11bHRpLWNvbnRhaW5lciBsaTpudGgtbGFzdC1jaGlsZChuKzYpOmZpcnN0LWNoaWxkIH4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAuaHVic3BvdC1vdmVycmlkZSAuaGJzcHQtZm9ybSAuaW5wdXRzLWxpc3QubXVsdGktY29udGFpbmVyIGxpOm50aC1sYXN0LWNoaWxkKG4rNik6Zmlyc3QtY2hpbGQgfiBsaTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLmh1YnNwb3Qtb3ZlcnJpZGUgLmhic3B0LWZvcm0gLmhzX3N1Ym1pdCBpbnB1dC5ocy1idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uaHVic3BvdC1vdmVycmlkZS0tbGFyZ2UgLmhic3B0LWZvcm0gbGFiZWw6bm90KC5ocy1mb3JtLWJvb2xlYW5jaGVja2JveC1kaXNwbGF5KSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG5cbi5odWJzcG90LW92ZXJyaWRlLS1sYXJnZSAuaGJzcHQtZm9ybSAuaHMtZm9ybS1ib29sZWFuY2hlY2tib3gtZGlzcGxheSB7XG4gIGZvbnQtc2l6ZTogMTVweDsgfVxuXG4uaHVic3BvdC1vdmVycmlkZS0tbGFyZ2UgLmhic3B0LWZvcm0gLmhzLXJpY2h0ZXh0IHAgc3Bhbixcbi5odWJzcG90LW92ZXJyaWRlLS1sYXJnZSAuaGJzcHQtZm9ybSAuaHMtcmljaHRleHQgcCBhIHtcbiAgZm9udC1zaXplOiAxNXB4OyB9XG5cbi5odWJzcG90LW92ZXJyaWRlLS1sYXJnZSAuaGJzcHQtZm9ybSAuaHMtaW5wdXQsXG4uaHVic3BvdC1vdmVycmlkZS0tbGFyZ2UgLmhic3B0LWZvcm0gaW5wdXQuaHMtaW5wdXQge1xuICBwYWRkaW5nOiAxNnB4IDIwcHggMThweDtcbiAgZm9udC1zaXplOiAxOHB4OyB9XG5cbi5odWJzcG90LW92ZXJyaWRlLS1sYXJnZSAuaGJzcHQtZm9ybSBzZWxlY3QuaHMtaW5wdXQge1xuICB0ZXh0LWluZGVudDogMTBweDtcbiAgaGVpZ2h0OiA2MHB4OyB9XG5cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gIC5odWJzcG90LW92ZXJyaWRlLS1sYXJnZSAuaGJzcHQtZm9ybSBzZWxlY3QuaHMtaW5wdXQge1xuICAgIHRleHQtaW5kZW50OiAwOyB9IH1cblxuLmh1YnNwb3Qtb3ZlcnJpZGUtLWxhcmdlIC5oYnNwdC1mb3JtIC5ocy1lcnJvci1tc2dzIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLmh1YnNwb3Qtb3ZlcnJpZGUtLWxhcmdlIC5oYnNwdC1mb3JtIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0yIC5ocy1mb3JtLWZpZWxkIHtcbiAgcGFkZGluZzogMCAyMHB4OyB9XG5cbi5odWJzcG90LW92ZXJyaWRlLS1sYXJnZSAuaGJzcHQtZm9ybSAuaHNfc3VibWl0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMThweDsgfVxuXG4uaHVic3BvdC1vdmVycmlkZS0tbGFyZ2UgLmhic3B0LWZvcm0gLmhzX3N1Ym1pdCBpbnB1dC5ocy1idXR0b24ge1xuICBwYWRkaW5nOiAyMnB4IDI3cHggMjRweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaHVic3BvdC1vdmVycmlkZS0tbGFyZ2UgLmhic3B0LWZvcm0gZmllbGRzZXQuZm9ybS1jb2x1bW5zLTIgLmhzLWZvcm0tZmllbGQge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uaHVic3BvdC1vdmVycmlkZS0tbWVhc3VyZSB7XG4gIG1heC13aWR0aDogNzQ4cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiBUaGUgU3ViIEhlYWRlciBzaXRzIHVuZGVyIHRoZSBtYWluIG5hdmlnYXRpb24gdG8gZGlzcGxheSBjb250ZXh0LXNwZWNpZmljXG4gKiBwYWdlIGluZm9ybWF0aW9uLCB3aWRnZXRzLCBhbmQgbGlua3MuXG4gKiBTZXB0ZW1iZXIgMjAxN1xuICovXG4uc3ViLWhlYWRlciA+IC5jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjNjk3Mzg0O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5zdWItaGVhZGVyID4gLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgZmxleDogMCAwIDEwMCU7IH1cbiAgLnN1Yi1oZWFkZXIgPiAuY29udGFpbmVyOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3ViLWhlYWRlciB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnN1Yi1oZWFkZXIgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnN1Yi1oZWFkZXIgdWw6bm90KC5icmVhZGNydW1icykge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICBmb250LXNpemU6IDExcHg7IH1cbiAgLnN1Yi1oZWFkZXIgdWw6bm90KC5icmVhZGNydW1icykgbGkge1xuICAgIHBhZGRpbmc6IDE4cHggMTVweDsgfVxuICAuc3ViLWhlYWRlciB1bDpub3QoLmJyZWFkY3J1bWJzKSBsaTpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5zdWItaGVhZGVyIHVsOm5vdCguYnJlYWRjcnVtYnMpIGE6bm90KC5idG4pIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgcGFkZGluZzogMCAwIDRweDsgfVxuICAuc3ViLWhlYWRlciB1bDpub3QoLmJyZWFkY3J1bWJzKSBhOm5vdCguYnRuKTpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuc3ViLWhlYWRlciB1bDpub3QoLmJyZWFkY3J1bWJzKSBhOm5vdCguYnRuKS5hY3RpdmUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zdWItaGVhZGVyIHVsOm5vdCguYnJlYWRjcnVtYnMpIGxpIHtcbiAgICAgIHBhZGRpbmc6IDE4cHggOHB4OyB9IH1cblxuLnN1Yi1oZWFkZXIgLmJyZWFkY3J1bWJzIHtcbiAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG4gIC5zdWItaGVhZGVyIC5icmVhZGNydW1icy5zbSB7XG4gICAgZm9udC1zaXplOiAxM3B4OyB9XG4gIC5zdWItaGVhZGVyIC5icmVhZGNydW1icyBsaSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMTdweCAwOyB9XG4gICAgLnN1Yi1oZWFkZXIgLmJyZWFkY3J1bWJzIGxpOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnLyc7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IDBweDsgfVxuICAgIC5zdWItaGVhZGVyIC5icmVhZGNydW1icyBsaTpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnN1Yi1oZWFkZXIgLmJyZWFkY3J1bWJzIGxpIGEsIC5zdWItaGVhZGVyIC5icmVhZGNydW1icyBsaTo6YWZ0ZXIge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuc3ViLWhlYWRlciAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRyYW5zaXRpb246IC4ycyBjb2xvcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogLTFweDsgfVxuICAgIC5zdWItaGVhZGVyIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH1cblxuLnN1Yi1oZWFkZXIgLmJyZWFkY3J1bWJzLS1zbWFsbCxcbi5zdWItaGVhZGVyIC5icmVhZGNydW1icy0tc21hbGwgbGk6YWZ0ZXIge1xuICBmb250LXNpemU6IDEzcHg7IH1cblxuLnN1Yi1oZWFkZXIgLmJyZWFkY3J1bWJzLS1zbWFsbCBsaSBhIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uc3ViLWhlYWRlciBhIHtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAxOHB4IDE1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiAuMnMgY29sb3I7IH1cbiAgLnN1Yi1oZWFkZXIgYS5jdXJyZW50LCAuc3ViLWhlYWRlciBhLmFjdGl2ZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgfVxuICAuc3ViLWhlYWRlciBhOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpOyB9XG4gIC5zdWItaGVhZGVyIGEuYnRuIHtcbiAgICBwYWRkaW5nOiA2cHggOHB4IDVweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDlweDtcbiAgICB0cmFuc2l0aW9uOiAuM3MgYm94LXNoYWRvdywgLjNzIGJhY2tncm91bmQ7IH1cbiAgICAuc3ViLWhlYWRlciBhLmJ0bjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuICAgIC5zdWItaGVhZGVyIGEuYnRuOmFjdGl2ZSB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbmJvZHkubGlnaHQgLnN1Yi1oZWFkZXIgLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNik7IH1cblxuYm9keS5saWdodCAuc3ViLWhlYWRlciAuYnJlYWRjcnVtYnMgbGkge1xuICBjb2xvcjogIzI3MmEyZjsgfVxuICBib2R5LmxpZ2h0IC5zdWItaGVhZGVyIC5icmVhZGNydW1icyBsaTo6YWZ0ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuYm9keS5saWdodCAuc3ViLWhlYWRlciAuYnJlYWRjcnVtYnMgYSB7XG4gIGNvbG9yOiAjN2E4OGEwOyB9XG4gIGJvZHkubGlnaHQgLnN1Yi1oZWFkZXIgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNGE4YmZjOyB9XG5cbmJvZHkubGlnaHQgLnN1Yi1oZWFkZXIgYSB7XG4gIGNvbG9yOiAjNjk3Mzg0OyB9XG4gIGJvZHkubGlnaHQgLnN1Yi1oZWFkZXIgYS5jdXJyZW50LCBib2R5LmxpZ2h0IC5zdWItaGVhZGVyIGEuYWN0aXZlIHtcbiAgICBjb2xvcjogI2IxYmJjYTsgfVxuICBib2R5LmxpZ2h0IC5zdWItaGVhZGVyIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNGE4YmZjOyB9XG5cbi5oZXJvIHtcbiAgcGFkZGluZy10b3A6IDEyOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5oZXJvLmxlZnQgLmNvbnRlbnQge1xuICAgIHdpZHRoOiA0MTVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgIC5oZXJvLmxlZnQgLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogNDAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmhlcm8ubGVmdCAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmhlcm8ubGVmdCAuZ3JhcGhpY3Mge1xuICAgIHRvcDogMTUwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5oZXJvLnJpZ2h0IC5jb250ZW50IHtcbiAgICB3aWR0aDogNDUxcHg7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuaGVyby5yaWdodCAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTsgfSB9XG4gICAgLmhlcm8ucmlnaHQgLmNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgY2xlYXI6IHJpZ2h0OyB9XG4gIC5oZXJvIC5ncmFwaGljcyB7XG4gICAgd2lkdGg6IDUwMHB4OyB9XG4gICAgLmhlcm8gLmdyYXBoaWNzIHZpZGVvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICB0b3A6IDEwcHg7IH1cbiAgICAgIC5oZXJvIC5ncmFwaGljcyB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zdGFydC1wbGF5YmFjay1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmhlcm8gLmdyYXBoaWNzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmhlcm8gLmdyYXBoaWNzIHZpZGVvIHtcbiAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuaGVybyBwIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6ICM1NzYwNzA7IH1cbiAgICAuaGVybyBwICsgLmJ0bnMge1xuICAgICAgbWFyZ2luLXRvcDogMzdweDsgfVxuICAuaGVybyAuZmVhdHVyZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmhlcm8gLmZlYXR1cmUgc3BhbiB7XG4gICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgY3ViaWMtYmV6aWVyKDAuMTU1LCAxLjEwNSwgMC4yOTUsIDEuMTIpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5oZXJvIC5mZWF0dXJlOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTRweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM0QzU1NUE7XG4gICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGN1YmljLWJlemllcigwLjE1NSwgMS4xMDUsIDAuMjk1LCAxLjEyKTsgfVxuICAgIC5oZXJvIC5mZWF0dXJlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMzVweDtcbiAgICAgIHRvcDogOXB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTU1LCAxLjEwNSwgMC4yOTUsIDEuMTIpO1xuICAgICAgd2lkdGg6IDExcHg7XG4gICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDAuMWVtIHNvbGlkO1xuICAgICAgYm9yZGVyLXRvcDogMC4xZW0gc29saWQ7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMSkgcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgtMjVweCwgMjVweCwgMCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtOyB9XG4gICAgLmhlcm8gLmZlYXR1cmU6aG92ZXIgc3BhbiB7XG4gICAgICBsZWZ0OiA1cHg7IH1cbiAgICAuaGVybyAuZmVhdHVyZTpob3ZlcjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpIHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgICAuaGVybyAuZmVhdHVyZTpob3ZlcjphZnRlciB7XG4gICAgICByaWdodDogLTI1cHg7IH1cbiAgICAuaGVybyAuZmVhdHVyZSArIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgICBjb2xvcjogIzI3MmEyZjtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmhlcm8gaDIge1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4OyB9XG4gIC5oZXJvIGgzICsgcCB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4OyB9XG5cbi50cmFuc3BhcmVudCAuY3RhIHtcbiAgbWFyZ2luLXRvcDogLTc4cHg7XG4gIHBhZGRpbmctdG9wOiA3OHB4OyB9XG5cbi5jdGEge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6ICM0YThiZmM7IH1cbiAgLmN0YS5ncmFkaWVudCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjMzQ3ZWZmIDAlLCAjMjk5MGZmIDUwJSwgIzIyODVmZiA1MCUsICMxZWExZmYgMTAwJSk7IH1cbiAgLmN0YSAuY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmN0YSBoZ3JvdXAge1xuICAgIHBhZGRpbmctdG9wOiAzM3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiA5NHB4O1xuICAgIG1heC13aWR0aDogODAwcHg7IH1cbiAgICAuY3RhIGhncm91cCBoMSB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTsgfVxuICAgIC5jdGEgaGdyb3VwIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTVweDsgfVxuICAgIC5jdGEgaGdyb3VwIHAge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAuY3RhIGhncm91cCBhIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7IH1cbiAgICAgIC5jdGEgaGdyb3VwIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5jdGEgaGdyb3VwIHNtYWxsIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuY3RhIC50YWJzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmN2ZhOyB9XG4gICAgLmN0YSAudGFicyAuY29udGFpbmVyIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3RhIC50YWJzIGxpIHtcbiAgICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogNDNweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5jdGEgLnRhYnMgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgIC5jdGEgLnRhYnMgbGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAgICAgLmN0YSAudGFicyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgLmN0YSAudGFicyBoMyB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogIzI3MmEyZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3RhIC50YWJzIHAge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICM3MjdhODc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmN0YSAudGFicyBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMzJweCAwIDI4cHggODVweDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgICAgLmN0YSAudGFicyBhOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcyBib3gtc2hhZG93LCAuM3MgdHJhbnNmb3JtLCAuM3MgYmFja2dyb3VuZCwgLjNzIGJvcmRlci1yYWRpdXM7IH1cbiAgICAgIC5jdGEgLnRhYnMgYTpob3ZlciwgLmN0YSAudGFicyBhOmFjdGl2ZSwgLmN0YSAudGFicyBhOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIC5jdGEgLnRhYnMgYTpob3Zlcjo6YmVmb3JlLCAuY3RhIC50YWJzIGE6YWN0aXZlOjpiZWZvcmUsIC5jdGEgLnRhYnMgYTpmb2N1czo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpLCAwIDZweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEsIDEuMSk7IH1cbiAgICAgICAgLmN0YSAudGFicyBhOmhvdmVyOjphZnRlciwgLmN0YSAudGFicyBhOmFjdGl2ZTo6YWZ0ZXIsIC5jdGEgLnRhYnMgYTpmb2N1czo6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5jdGEgLnRhYnMgYS5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAwLjA1KSwgMCA2cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMiwgMS4yKTsgfVxuICAgICAgLmN0YSAudGFicyBhLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuY3RhIC50YWJzIGE6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9nZXR0aW5nLXN0YXJ0ZWQvZ2V0dGluZy1zdGFydGVkLXRvZ2dsZS1pY29ucy5wbmdcIikgbm8tcmVwZWF0IDAgMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3MHB4O1xuICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICB0cmFuc2l0aW9uOiAuM3Mgb3BhY2l0eTsgfVxuICAgICAgLmN0YSAudGFicyBhLmNyZWF0b3I6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQwcHg7IH1cbiAgLmN0YSAuYWxlcnQge1xuICAgIGNvbG9yOiAjZmZlZWQ2O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgICAuY3RhIC5hbGVydDo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBjb250ZW50OiBcIlxcZjE3ZVwiOyB9XG4gICAgLmN0YSAuYWxlcnQgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5jdGEgLmFsZXJ0IGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cblxuI3ByZS1mb290ZXIge1xuICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICBjb2xvcjogIzcyN2E4NztcbiAgcGFkZGluZy10b3A6IDgwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA3MnB4OyB9XG4gICNwcmUtZm9vdGVyIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI3ByZS1mb290ZXIgdWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAjcHJlLWZvb3RlciB1bCBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA0NSU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwOHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjcHJlLWZvb3RlciB1bCBsaTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9ob21lL2ljb25zLWxnLnBuZz8xXCIpIG5vLXJlcGVhdCAwIC0zNzJweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5M3B4O1xuICAgICAgICBoZWlnaHQ6IDkzcHg7XG4gICAgICAgIHdpZHRoOiA5M3B4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTlweDtcbiAgICAgICAgdG9wOiAtNXB4OyB9XG4gICAgICAjcHJlLWZvb3RlciB1bCBsaTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRlMWVhO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTEwJTtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAjcHJlLWZvb3RlciB1bCBsaS5leHBsb3ItZG9jczo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjc5cHg7IH1cbiAgICAgICNwcmUtZm9vdGVyIHVsIGxpLmZvcnVtOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00NjVweDsgfVxuICAgICAgI3ByZS1mb290ZXIgdWwgbGkuYmxvZzo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTU4cHg7IH1cbiAgICAgICNwcmUtZm9vdGVyIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgI3ByZS1mb290ZXIgdWwgbGk6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICNwcmUtZm9vdGVyIHVsIGxpIGEge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgfVxuICAgICAgICAjcHJlLWZvb3RlciB1bCBsaSBhOjphZnRlciB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICAgICAgY29udGVudDogJ1xcZjI4Nyc7XG4gICAgICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdHJhbnNpdGlvbjogLjNzIHRyYW5zZm9ybTsgfVxuICAgICAgICAjcHJlLWZvb3RlciB1bCBsaSBhOmhvdmVyLCAjcHJlLWZvb3RlciB1bCBsaSBhOmFjdGl2ZSwgI3ByZS1mb290ZXIgdWwgbGkgYTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICMxODZiZmI7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICAgI3ByZS1mb290ZXIgdWwgbGkgYTpob3Zlcjo6YWZ0ZXIsICNwcmUtZm9vdGVyIHVsIGxpIGE6YWN0aXZlOjphZnRlciwgI3ByZS1mb290ZXIgdWwgbGkgYTpmb2N1czo6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOyB9XG4gICAgICAjcHJlLWZvb3RlciB1bCBsaSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgICAgIGNvbG9yOiAjNzI3YTg3O1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgI3ByZS1mb290ZXIgdWwgbGkge1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgI3ByZS1mb290ZXIgdWwgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICAgICAgICNwcmUtZm9vdGVyIHVsIGxpOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmRvY3MgI3ByZS1mb290ZXIge1xuICBtYXJnaW4tbGVmdDogMjMwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmRvY3MgI3ByZS1mb290ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAuZG9jcyAjcHJlLWZvb3RlciAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnByZS1oZWFkZXIge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGJhY2tncm91bmQ6ICNGOEZBRkM7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDBweCAwIHJnYmEoMCwgMjAsIDU2LCAwLjA2KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk7XG4gIHBhZGRpbmc6IDZweCAwIDdweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzczODQ5QTsgfVxuICAucHJlLWhlYWRlciAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07IH1cbiAgICAucHJlLWhlYWRlciAuY29udGFpbmVyOmJlZm9yZSwgLnByZS1oZWFkZXIgLmNvbnRhaW5lcjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wcmUtaGVhZGVyICNvcHRpbWl6ZWx5IHtcbiAgICB0cmFuc2l0aW9uOiAuMnMgb3BhY2l0eTsgfVxuICAucHJlLWhlYWRlciBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLnByZS1oZWFkZXIgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDIwODE0OyB9XG4gIC5wcmUtaGVhZGVyIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3M2E1ZmY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICBwYWRkaW5nOiA2cHggOHB4IDVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjAyZW07XG4gICAgdHJhbnNpdGlvbjogLjJzIGJhY2tncm91bmQtY29sb3IsIC4ycyBib3gtc2hhZG93OyB9XG4gICAgLnByZS1oZWFkZXIgYTo6YWZ0ZXIge1xuICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICBjb250ZW50OiAnXFxmM2QxJztcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7IH1cbiAgICAucHJlLWhlYWRlciBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4ZGI1ZmY7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5wcmUtaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucHJlLWhlYWRlci5iYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjlGOUY5O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nOiAzcHggMDsgfVxuICAgIC5wcmUtaGVhZGVyLmJhY2sgYSB7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICAgIC5wcmUtaGVhZGVyLmJhY2sgYTo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAucHJlLWhlYWRlci5iYWNrIGEgaW9uLWljb24ge1xuICAgICAgICBjb2xvcjogcmdiYSg1NiwgMTI4LCAyNTUsIDAuNyk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSBlYXNlLCAuMnMgb3BhY2l0eTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cbiAgICAgICAgLnByZS1oZWFkZXIuYmFjayBhIGlvbi1pY29uLmh5ZHJhdGVkIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAucHJlLWhlYWRlci5iYWNrIGE6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAgIC5wcmUtaGVhZGVyLmJhY2sgYTpob3ZlciBpb24taWNvbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpOyB9XG5cbi5kb2NzLWNvbnRhaW5lciArIGZvb3RlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGM0Y1Rjk7XG4gIHBhZGRpbmctdG9wOiA3MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICBmb290ZXIgLmxvZ28gc3ZnIHtcbiAgICBmaWxsOiAjMzg4MEZGO1xuICAgIHdpZHRoOiA3OHB4O1xuICAgIGhlaWdodDogMjZweDsgfVxuICBmb290ZXIgbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIGZvb3RlciBuYXYuY29udGFpbmVyOjpiZWZvcmUsIGZvb3RlciBuYXYuY29udGFpbmVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgZm9vdGVyIG5hdiAubG9nbyxcbiAgICBmb290ZXIgbmF2IHVsIHtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICBmb290ZXIgbmF2IHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICBmb290ZXIgbmF2IHVsOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFweDsgfVxuICAgICAgZm9vdGVyIG5hdiB1bCBzdHJvbmcge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsgfVxuICAgICAgZm9vdGVyIG5hdiB1bCBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgICAgIGNvbG9yOiAjNzM4NDlBO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBwYWRkaW5nOiAxMXB4IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgXCJJbnRlciBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gICAgICAgIGZvb3RlciBuYXYgdWwgYTpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gIGZvb3RlciAuc2lnbnVwIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBmb290ZXIgLnNpZ251cDo6YmVmb3JlLCBmb290ZXIgLnNpZ251cDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIGZvb3RlciAuc2lnbnVwIGhncm91cCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIGZvb3RlciAuc2lnbnVwIGlvbmljLW5ld3NsZXR0ZXItc2lnbnVwIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtYXJnaW4tbGVmdDogNjBweDsgfVxuICAgIGZvb3RlciAuc2lnbnVwIGZvcm0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogNTBweDsgfVxuICAgIGZvb3RlciAuc2lnbnVwIGhncm91cCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2Zvb3Rlci9mb290ZXItbmV3c2xldHRlci1pY29uLnBuZ1wiKSBuby1yZXBlYXQgMXB4IDhweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNjNweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cbiAgICAgIGZvb3RlciAuc2lnbnVwIGhncm91cCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTFweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgfVxuICAgICAgZm9vdGVyIC5zaWdudXAgaGdyb3VwIHAge1xuICAgICAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICM3Mzg0OUE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxNmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIGZvb3RlciB7XG4gICAgICBwYWRkaW5nLXRvcDogNDZweDsgfVxuICAgICAgZm9vdGVyIG5hdiB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgIGZvb3RlciBuYXYgLmxvZ28ge1xuICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIGZvb3RlciAuc2lnbnVwIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICBmb290ZXIgLnNpZ251cCBoZ3JvdXAsXG4gICAgICAgIGZvb3RlciAuc2lnbnVwIGlvbmljLW5ld3NsZXR0ZXItc2lnbnVwIHtcbiAgICAgICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgICBmb290ZXIgLnNpZ251cCBpb25pYy1uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgZm9vdGVyIG5hdiAubG9nbyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgZm9vdGVyIG5hdiB1bCB7XG4gICAgICBmbGV4OiAwIDAgMzMlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzZweDsgfVxuICAgIGZvb3RlciBuYXYgdWwgbGkgYSB7XG4gICAgICBwYWRkaW5nOiA5cHggMDsgfVxuICAgIGZvb3RlciAuc2lnbnVwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICBmb290ZXIgbmF2IHVsIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH1cbiAgICBmb290ZXIgLnNpZ251cCBpb25pYy1uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIGZvb3RlciAuc3ViLWZvb3RlciB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjOWRhNWIzO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWZmMWY1O1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgcGFkZGluZy10b3A6IDI5cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIGZvb3RlciAuc3ViLWZvb3RlciB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgZm9vdGVyIC5zdWItZm9vdGVyIHVsOmxhc3QtY2hpbGQgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuICAgIGZvb3RlciAuc3ViLWZvb3RlciAubGljZW5zZSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogLTNweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZm9vdGVyIC5zdWItZm9vdGVyIC5saWNlbnNlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAgIGZvb3RlciAuc3ViLWZvb3RlciBhIHtcbiAgICAgIGNvbG9yOiAjYmNjNWQ1OyB9XG4gICAgICBmb290ZXIgLnN1Yi1mb290ZXIgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjOWRhNWIzOyB9XG4gICAgZm9vdGVyIC5zdWItZm9vdGVyIC5jb3B5cmlnaHQsXG4gICAgZm9vdGVyIC5zdWItZm9vdGVyIC5wcml2YWN5LFxuICAgIGZvb3RlciAuc3ViLWZvb3RlciAudG9zIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG4gICAgZm9vdGVyIC5zdWItZm9vdGVyIC5jb3B5cmlnaHQge1xuICAgICAgZmxleDogMCAwIDc3cHg7IH1cbiAgICBmb290ZXIgLnN1Yi1mb290ZXIgLnByaXZhY3kge1xuICAgICAgaGVpZ2h0OiAxZW07IH1cbiAgICBmb290ZXIgLnN1Yi1mb290ZXIgYVtpZF49YnRuLWZvb3Rlcl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICBmb290ZXIgLnN1Yi1mb290ZXIgYVtpZF49YnRuLWZvb3Rlcl0gc3ZnIHtcbiAgICAgICAgZmlsbDogI0NFRDZFMDsgfVxuICAgICAgZm9vdGVyIC5zdWItZm9vdGVyIGFbaWRePWJ0bi1mb290ZXJdOmhvdmVyIHN2ZyB7XG4gICAgICAgIGZpbGw6ICNCNEJCQzU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRlLXhzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zaG93LXNtLFxuICAuc2hvdy1tZCxcbiAgLnNob3ctbGcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuaGlkZS1zbSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2hvdy14cyxcbiAgLnNob3ctbWQsXG4gIC5zaG93LWxnIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC5oaWRlLW1kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zaG93LXhzLFxuICAuc2hvdy1zbSxcbiAgLnNob3ctbGcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5oaWRlLWxnIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zaG93LXhzLFxuICAuc2hvdy1zbSxcbiAgLnNob3ctbWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uYnRuLFxuLm5hdmJhciAuYnRuIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBsaW5lLWhlaWdodDogMS40ZW07XG4gIHBhZGRpbmc6IDE0cHggMzNweCAxNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICBjb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBiYWNrZ3JvdW5kOiAjMzg4MGZmO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsgfVxuICAuYnRuOmxhc3QtY2hpbGQsXG4gIC5uYXZiYXIgLmJ0bjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ0bjpob3ZlciwgLmJ0bjpmb2N1cyxcbiAgLm5hdmJhciAuYnRuOmhvdmVyLFxuICAubmF2YmFyIC5idG46Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgYmFja2dyb3VuZDogIzRkOGRmZDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5idG46YWN0aXZlLCAuYnRuOmFjdGl2ZTpmb2N1cywgLmJ0bjphY3RpdmU6aG92ZXIsXG4gIC5uYXZiYXIgLmJ0bjphY3RpdmUsXG4gIC5uYXZiYXIgLmJ0bjphY3RpdmU6Zm9jdXMsXG4gIC5uYXZiYXIgLmJ0bjphY3RpdmU6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgYmFja2dyb3VuZDogIzU5OTVmYztcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5idG4ub3V0bGluZSxcbiAgLm5hdmJhciAuYnRuLm91dGxpbmUge1xuICAgIGJvcmRlci1jb2xvcjogIzRhOGJmYztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzRhOGJmYztcbiAgICBib3JkZXItd2lkdGg6IDFweDsgfVxuICAgIC5idG4ub3V0bGluZTpob3ZlciwgLmJ0bi5vdXRsaW5lOmZvY3VzLFxuICAgIC5uYXZiYXIgLmJ0bi5vdXRsaW5lOmhvdmVyLFxuICAgIC5uYXZiYXIgLmJ0bi5vdXRsaW5lOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzU5OTVmYztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoNzQsIDEzOSwgMjUyLCAwLjA1KTsgfVxuICAgIC5idG4ub3V0bGluZS5mYWRlZCxcbiAgICAubmF2YmFyIC5idG4ub3V0bGluZS5mYWRlZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU0LCA3NCwgMTEwLCAwLjUpO1xuICAgICAgY29sb3I6ICNBMUFCQkM7IH1cbiAgICAgIC5idG4ub3V0bGluZS5mYWRlZDpob3ZlciwgLmJ0bi5vdXRsaW5lLmZhZGVkOmZvY3VzLFxuICAgICAgLm5hdmJhciAuYnRuLm91dGxpbmUuZmFkZWQ6aG92ZXIsXG4gICAgICAubmF2YmFyIC5idG4ub3V0bGluZS5mYWRlZDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYWFiM2MyO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2MSwgMTcxLCAxODgsIDAuMDUpOyB9XG4gIC5idG4uYnRuLXByaW1hcnksIC5idG4ubGlnaHQtYmx1ZSxcbiAgLm5hdmJhciAuYnRuLmJ0bi1wcmltYXJ5LFxuICAubmF2YmFyIC5idG4ubGlnaHQtYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogIzUyOWVmZjsgfVxuICAgIC5idG4uYnRuLXByaW1hcnk6aG92ZXIsIC5idG4uYnRuLXByaW1hcnk6Zm9jdXMsIC5idG4uYnRuLXByaW1hcnk6YWN0aXZlLCAuYnRuLmxpZ2h0LWJsdWU6aG92ZXIsIC5idG4ubGlnaHQtYmx1ZTpmb2N1cywgLmJ0bi5saWdodC1ibHVlOmFjdGl2ZSxcbiAgICAubmF2YmFyIC5idG4uYnRuLXByaW1hcnk6aG92ZXIsXG4gICAgLm5hdmJhciAuYnRuLmJ0bi1wcmltYXJ5OmZvY3VzLFxuICAgIC5uYXZiYXIgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmUsXG4gICAgLm5hdmJhciAuYnRuLmxpZ2h0LWJsdWU6aG92ZXIsXG4gICAgLm5hdmJhciAuYnRuLmxpZ2h0LWJsdWU6Zm9jdXMsXG4gICAgLm5hdmJhciAuYnRuLmxpZ2h0LWJsdWU6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICM2MWE3ZmY7IH1cbiAgICAuYnRuLmJ0bi1wcmltYXJ5Lm91dGxpbmUsIC5idG4ubGlnaHQtYmx1ZS5vdXRsaW5lLFxuICAgIC5uYXZiYXIgLmJ0bi5idG4tcHJpbWFyeS5vdXRsaW5lLFxuICAgIC5uYXZiYXIgLmJ0bi5saWdodC1ibHVlLm91dGxpbmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNTI5ZWZmO1xuICAgICAgY29sb3I6ICM1MjllZmY7IH1cbiAgLmJ0bi5yZWQsXG4gIC5uYXZiYXIgLmJ0bi5yZWQge1xuICAgIGJhY2tncm91bmQ6ICNmODU1NmM7IH1cbiAgICAuYnRuLnJlZDpob3ZlciwgLmJ0bi5yZWQ6Zm9jdXMsIC5idG4ucmVkOmFjdGl2ZSxcbiAgICAubmF2YmFyIC5idG4ucmVkOmhvdmVyLFxuICAgIC5uYXZiYXIgLmJ0bi5yZWQ6Zm9jdXMsXG4gICAgLm5hdmJhciAuYnRuLnJlZDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI0ZGNjE3NzsgfVxuICAuYnRuLmxpZ2h0LFxuICAubmF2YmFyIC5idG4ubGlnaHQge1xuICAgIGJhY2tncm91bmQ6ICNGMEY2RkY7XG4gICAgY29sb3I6ICM0YThiZmM7IH1cbiAgICAuYnRuLmxpZ2h0OmhvdmVyLCAuYnRuLmxpZ2h0OmZvY3VzLCAuYnRuLmxpZ2h0OmFjdGl2ZSxcbiAgICAubmF2YmFyIC5idG4ubGlnaHQ6aG92ZXIsXG4gICAgLm5hdmJhciAuYnRuLmxpZ2h0OmZvY3VzLFxuICAgIC5uYXZiYXIgLmJ0bi5saWdodDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZjBmZjsgfVxuICAuYnRuLm5hdnksXG4gIC5uYXZiYXIgLmJ0bi5uYXZ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAzOWEyOyB9XG4gICAgLmJ0bi5uYXZ5OmhvdmVyLCAuYnRuLm5hdnk6Zm9jdXMsIC5idG4ubmF2eTphY3RpdmUsXG4gICAgLm5hdmJhciAuYnRuLm5hdnk6aG92ZXIsXG4gICAgLm5hdmJhciAuYnRuLm5hdnk6Zm9jdXMsXG4gICAgLm5hdmJhciAuYnRuLm5hdnk6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDI3NmY7IH1cbiAgLmJ0bi5ncmVlbixcbiAgLm5hdmJhciAuYnRuLmdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWVkMTc2OyB9XG4gICAgLmJ0bi5ncmVlbjpob3ZlciwgLmJ0bi5ncmVlbjpmb2N1cywgLmJ0bi5ncmVlbjphY3RpdmUsIC5idG4uZ3JlZW46YWN0aXZlOmZvY3VzLCAuYnRuLmdyZWVuOmFjdGl2ZTpob3ZlcixcbiAgICAubmF2YmFyIC5idG4uZ3JlZW46aG92ZXIsXG4gICAgLm5hdmJhciAuYnRuLmdyZWVuOmZvY3VzLFxuICAgIC5uYXZiYXIgLmJ0bi5ncmVlbjphY3RpdmUsXG4gICAgLm5hdmJhciAuYnRuLmdyZWVuOmFjdGl2ZTpmb2N1cyxcbiAgICAubmF2YmFyIC5idG4uZ3JlZW46YWN0aXZlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzZmUzOTA7IH1cbiAgLmJ0bi53aGl0ZSxcbiAgLm5hdmJhciAuYnRuLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBjb2xvcjogIzRhOGJmYzsgfVxuICAgIC5idG4ud2hpdGU6aG92ZXIsIC5idG4ud2hpdGU6Zm9jdXMsIC5idG4ud2hpdGU6YWN0aXZlLFxuICAgIC5uYXZiYXIgLmJ0bi53aGl0ZTpob3ZlcixcbiAgICAubmF2YmFyIC5idG4ud2hpdGU6Zm9jdXMsXG4gICAgLm5hdmJhciAuYnRuLndoaXRlOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzRhOGJmYztcbiAgICAgIGNvbG9yOiAjNjM5YmZjOyB9XG4gICAgLmJ0bi53aGl0ZTphY3RpdmUsIC5idG4ud2hpdGU6YWN0aXZlOmZvY3VzLCAuYnRuLndoaXRlOmFjdGl2ZTpob3ZlcixcbiAgICAubmF2YmFyIC5idG4ud2hpdGU6YWN0aXZlLFxuICAgIC5uYXZiYXIgLmJ0bi53aGl0ZTphY3RpdmU6Zm9jdXMsXG4gICAgLm5hdmJhciAuYnRuLndoaXRlOmFjdGl2ZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAgIC5idG4ud2hpdGUub3V0bGluZSxcbiAgICAubmF2YmFyIC5idG4ud2hpdGUub3V0bGluZSB7XG4gICAgICBjb2xvcjogIzRhOGJmYztcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gICAgICAuYnRuLndoaXRlLm91dGxpbmU6aG92ZXIsIC5idG4ud2hpdGUub3V0bGluZTpmb2N1cywgLmJ0bi53aGl0ZS5vdXRsaW5lOmFjdGl2ZSxcbiAgICAgIC5uYXZiYXIgLmJ0bi53aGl0ZS5vdXRsaW5lOmhvdmVyLFxuICAgICAgLm5hdmJhciAuYnRuLndoaXRlLm91dGxpbmU6Zm9jdXMsXG4gICAgICAubmF2YmFyIC5idG4ud2hpdGUub3V0bGluZTphY3RpdmUge1xuICAgICAgICBjb2xvcjogIzE4NmJmYjtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgLmJ0bi5ncmV5LFxuICAubmF2YmFyIC5idG4uZ3JleSB7XG4gICAgYmFja2dyb3VuZDogIzlkYTViMzsgfVxuICAgIC5idG4uZ3JleTpob3ZlciwgLmJ0bi5ncmV5OmZvY3VzLCAuYnRuLmdyZXk6YWN0aXZlLFxuICAgIC5uYXZiYXIgLmJ0bi5ncmV5OmhvdmVyLFxuICAgIC5uYXZiYXIgLmJ0bi5ncmV5OmZvY3VzLFxuICAgIC5uYXZiYXIgLmJ0bi5ncmV5OmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOWRhNWIzOyB9XG4gICAgLmJ0bi5ncmV5Lm91dGxpbmUsXG4gICAgLm5hdmJhciAuYnRuLmdyZXkub3V0bGluZSB7XG4gICAgICBjb2xvcjogIzlkYTViMztcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuYnRuLmdyZXkub3V0bGluZTpob3ZlciwgLmJ0bi5ncmV5Lm91dGxpbmU6Zm9jdXMsIC5idG4uZ3JleS5vdXRsaW5lOmFjdGl2ZSwgLmJ0bi5ncmV5Lm91dGxpbmU6YWN0aXZlOmZvY3VzLCAuYnRuLmdyZXkub3V0bGluZTphY3RpdmU6aG92ZXIsXG4gICAgICAubmF2YmFyIC5idG4uZ3JleS5vdXRsaW5lOmhvdmVyLFxuICAgICAgLm5hdmJhciAuYnRuLmdyZXkub3V0bGluZTpmb2N1cyxcbiAgICAgIC5uYXZiYXIgLmJ0bi5ncmV5Lm91dGxpbmU6YWN0aXZlLFxuICAgICAgLm5hdmJhciAuYnRuLmdyZXkub3V0bGluZTphY3RpdmU6Zm9jdXMsXG4gICAgICAubmF2YmFyIC5idG4uZ3JleS5vdXRsaW5lOmFjdGl2ZTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjODA4YjlkO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmRhcmssXG4gIC5uYXZiYXIgLmJ0bi5kYXJrIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmJ0bi5kYXJrLXBpbmssXG4gIC5uYXZiYXIgLmJ0bi5kYXJrLXBpbmsge1xuICAgIGJhY2tncm91bmQ6ICMyMTJmNDU7XG4gICAgY29sb3I6ICNmZjU2N2I7IH1cbiAgICAuYnRuLmRhcmstcGluazpob3ZlciwgLmJ0bi5kYXJrLXBpbms6Zm9jdXMsIC5idG4uZGFyay1waW5rOmFjdGl2ZSwgLmJ0bi5kYXJrLXBpbms6YWN0aXZlOmZvY3VzLCAuYnRuLmRhcmstcGluazphY3RpdmU6aG92ZXIsXG4gICAgLm5hdmJhciAuYnRuLmRhcmstcGluazpob3ZlcixcbiAgICAubmF2YmFyIC5idG4uZGFyay1waW5rOmZvY3VzLFxuICAgIC5uYXZiYXIgLmJ0bi5kYXJrLXBpbms6YWN0aXZlLFxuICAgIC5uYXZiYXIgLmJ0bi5kYXJrLXBpbms6YWN0aXZlOmZvY3VzLFxuICAgIC5uYXZiYXIgLmJ0bi5kYXJrLXBpbms6YWN0aXZlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmY1NjdiO1xuICAgICAgYmFja2dyb3VuZDogIzI5M2I1NjsgfVxuICAuYnRuLm9yYW5nZSxcbiAgLm5hdmJhciAuYnRuLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYTgwMDsgfVxuICAgIC5idG4ub3JhbmdlOmhvdmVyLFxuICAgIC5uYXZiYXIgLmJ0bi5vcmFuZ2U6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlYjMyMzsgfVxuICAuYnRuLnNtLFxuICAubmF2YmFyIC5idG4uc20ge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDEycHggMTlweCAxMHB4OyB9XG4gIC5idG4ucm91bmRlZCxcbiAgLm5hdmJhciAuYnRuLnJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IDIuNWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDE5cHggMjVweCAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgICAuYnRuLnJvdW5kZWQuc20sXG4gICAgLm5hdmJhciAuYnRuLnJvdW5kZWQuc20ge1xuICAgICAgcGFkZGluZzogMTRweCAyNHB4IDE0cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5idG4udXBwZXJjYXNlLFxuICAubmF2YmFyIC5idG4udXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5idG4ubWljcm8sXG4gIC5uYXZiYXIgLmJ0bi5taWNybyB7XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU2LCAxMjgsIDI1NSwgMC4zKTtcbiAgICBjb2xvcjogIzM4ODBmZjtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmJ0bi5taWNybzpob3ZlcixcbiAgICAubmF2YmFyIC5idG4ubWljcm86aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzg4MGZmOyB9XG4gICAgLmJ0bi5taWNybzphY3RpdmUsIC5idG4ubWljcm86YWN0aXZlOmZvY3VzLCAuYnRuLm1pY3JvOmFjdGl2ZTpob3ZlcixcbiAgICAubmF2YmFyIC5idG4ubWljcm86YWN0aXZlLFxuICAgIC5uYXZiYXIgLmJ0bi5taWNybzphY3RpdmU6Zm9jdXMsXG4gICAgLm5hdmJhciAuYnRuLm1pY3JvOmFjdGl2ZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjJmOGZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODViMWZmO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uZHJhZ2dhYmxlIHtcbiAgaGVpZ2h0OiAzNDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcmFnZ2FibGUgLmNvZGUsXG4gIC5kcmFnZ2FibGUgLmFwcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7IH1cbiAgLmRyYWdnYWJsZSAuYXBwIHtcbiAgICByaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiA5cHggMCAwIDlweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZSB1cmwoXCIvaW1nL2hvbWUvaW9zLWxpc3QtZGVzaWduLnBuZ1wiKSBuby1yZXBlYXQgMCBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiA1NDBweDsgfVxuICAuZHJhZ2dhYmxlIC5jb2RlIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAuZHJhZ2dhYmxlIC5jb2RlIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBsaW5lLWhlaWdodDogMGVtO1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpbmU7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5kcmFnZ2FibGUgLmNvZGUgcHJlOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogI2YzZjdmZjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZHJhZ2dhYmxlIC5jb2RlIHByZSBzcGFuLmxpbmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMnB4IDAgMTJweCA1NXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZHJhZ2dhYmxlIC5jb2RlIHByZSBzcGFuLmxpbmU6YmVmb3JlIHtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpbmU7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGluZSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogIzc5YTVmMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4OyB9XG4gIC5kcmFnZ2FibGUgLnRvZ2dsZSB7XG4gICAgd2lkdGg6IDRweDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgY3Vyc29yOiBncmFiOyB9XG4gICAgLmRyYWdnYWJsZSAudG9nZ2xlOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2hvbWUvZHJhZy1idXR0b24ucG5nXCIpIG5vLXJlcGVhdCAwIDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDY0cHg7XG4gICAgICB3aWR0aDogNjRweDtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gNDBweCk7XG4gICAgICBsZWZ0OiAtMjhweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4vKiEgalF1ZXJ5IFVJIC0gdjEuMTIuMSAtIDIwMTYtMTEtMTRcbiogaHR0cDovL2pxdWVyeXVpLmNvbVxuKiBJbmNsdWRlczogZHJhZ2dhYmxlLmNzcywgdGhlbWUuY3NzXG4qIFRvIHZpZXcgYW5kIG1vZGlmeSB0aGlzIHRoZW1lLCB2aXNpdCBodHRwOi8vanF1ZXJ5dWkuY29tL3RoZW1lcm9sbGVyLz9zY29wZT0mZm9sZGVyTmFtZT1iYXNlJmNvcm5lclJhZGl1c1NoYWRvdz04cHgmb2Zmc2V0TGVmdFNoYWRvdz0wcHgmb2Zmc2V0VG9wU2hhZG93PTBweCZ0aGlja25lc3NTaGFkb3c9NXB4Jm9wYWNpdHlTaGFkb3c9MzAmYmdJbWdPcGFjaXR5U2hhZG93PTAmYmdUZXh0dXJlU2hhZG93PWZsYXQmYmdDb2xvclNoYWRvdz02NjY2NjYmb3BhY2l0eU92ZXJsYXk9MzAmYmdJbWdPcGFjaXR5T3ZlcmxheT0wJmJnVGV4dHVyZU92ZXJsYXk9ZmxhdCZiZ0NvbG9yT3ZlcmxheT1hYWFhYWEmaWNvbkNvbG9yRXJyb3I9Y2MwMDAwJmZjRXJyb3I9NWYzZjNmJmJvcmRlckNvbG9yRXJyb3I9ZjFhODk5JmJnVGV4dHVyZUVycm9yPWZsYXQmYmdDb2xvckVycm9yPWZkZGZkZiZpY29uQ29sb3JIaWdobGlnaHQ9Nzc3NjIwJmZjSGlnaGxpZ2h0PTc3NzYyMCZib3JkZXJDb2xvckhpZ2hsaWdodD1kYWQ1NWUmYmdUZXh0dXJlSGlnaGxpZ2h0PWZsYXQmYmdDb2xvckhpZ2hsaWdodD1mZmZhOTAmaWNvbkNvbG9yQWN0aXZlPWZmZmZmZiZmY0FjdGl2ZT1mZmZmZmYmYm9yZGVyQ29sb3JBY3RpdmU9MDAzZWZmJmJnVGV4dHVyZUFjdGl2ZT1mbGF0JmJnQ29sb3JBY3RpdmU9MDA3ZmZmJmljb25Db2xvckhvdmVyPTU1NTU1NSZmY0hvdmVyPTJiMmIyYiZib3JkZXJDb2xvckhvdmVyPWNjY2NjYyZiZ1RleHR1cmVIb3Zlcj1mbGF0JmJnQ29sb3JIb3Zlcj1lZGVkZWQmaWNvbkNvbG9yRGVmYXVsdD03Nzc3NzcmZmNEZWZhdWx0PTQ1NDU0NSZib3JkZXJDb2xvckRlZmF1bHQ9YzVjNWM1JmJnVGV4dHVyZURlZmF1bHQ9ZmxhdCZiZ0NvbG9yRGVmYXVsdD1mNmY2ZjYmaWNvbkNvbG9yQ29udGVudD00NDQ0NDQmZmNDb250ZW50PTMzMzMzMyZib3JkZXJDb2xvckNvbnRlbnQ9ZGRkZGRkJmJnVGV4dHVyZUNvbnRlbnQ9ZmxhdCZiZ0NvbG9yQ29udGVudD1mZmZmZmYmaWNvbkNvbG9ySGVhZGVyPTQ0NDQ0NCZmY0hlYWRlcj0zMzMzMzMmYm9yZGVyQ29sb3JIZWFkZXI9ZGRkZGRkJmJnVGV4dHVyZUhlYWRlcj1mbGF0JmJnQ29sb3JIZWFkZXI9ZTllOWU5JmNvcm5lclJhZGl1cz0zcHgmZndEZWZhdWx0PW5vcm1hbCZmc0RlZmF1bHQ9MWVtJmZmRGVmYXVsdD1BcmlhbCUyQ0hlbHZldGljYSUyQ3NhbnMtc2VyaWZcbiogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnM7IExpY2Vuc2VkIE1JVCAqL1xuLnVpLWRyYWdnYWJsZS1oYW5kbGUge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLyogQ29tcG9uZW50IGNvbnRhaW5lcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXdpZGdldCB7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLnVpLXdpZGdldCAudWktd2lkZ2V0IHtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLnVpLXdpZGdldCBpbnB1dCxcbi51aS13aWRnZXQgc2VsZWN0LFxuLnVpLXdpZGdldCB0ZXh0YXJlYSxcbi51aS13aWRnZXQgYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4udWktd2lkZ2V0LnVpLXdpZGdldC1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M1YzVjNTsgfVxuXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzMzMzMzMzsgfVxuXG4udWktd2lkZ2V0LWNvbnRlbnQgYSB7XG4gIGNvbG9yOiAjMzMzMzMzOyB9XG5cbi51aS13aWRnZXQtaGVhZGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcbiAgYmFja2dyb3VuZDogI2U5ZTllOTtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi51aS13aWRnZXQtaGVhZGVyIGEge1xuICBjb2xvcjogIzMzMzMzMzsgfVxuXG4vKiBJbnRlcmFjdGlvbiBzdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdCxcbi51aS1idXR0b24sXG5odG1sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6aG92ZXIsXG5odG1sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6YWN0aXZlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M1YzVjNTtcbiAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM0NTQ1NDU7IH1cblxuLnVpLXN0YXRlLWRlZmF1bHQgYSxcbi51aS1zdGF0ZS1kZWZhdWx0IGE6bGluayxcbi51aS1zdGF0ZS1kZWZhdWx0IGE6dmlzaXRlZCxcbmEudWktYnV0dG9uLFxuYTpsaW5rLnVpLWJ1dHRvbixcbmE6dmlzaXRlZC51aS1idXR0b24sXG4udWktYnV0dG9uIHtcbiAgY29sb3I6ICM0NTQ1NDU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4udWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyxcbi51aS1idXR0b246aG92ZXIsXG4udWktYnV0dG9uOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMyYjJiMmI7IH1cblxuLnVpLXN0YXRlLWhvdmVyIGEsXG4udWktc3RhdGUtaG92ZXIgYTpob3Zlcixcbi51aS1zdGF0ZS1ob3ZlciBhOmxpbmssXG4udWktc3RhdGUtaG92ZXIgYTp2aXNpdGVkLFxuLnVpLXN0YXRlLWZvY3VzIGEsXG4udWktc3RhdGUtZm9jdXMgYTpob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyBhOmxpbmssXG4udWktc3RhdGUtZm9jdXMgYTp2aXNpdGVkLFxuYS51aS1idXR0b246aG92ZXIsXG5hLnVpLWJ1dHRvbjpmb2N1cyB7XG4gIGNvbG9yOiAjMmIyYjJiO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnVpLXZpc3VhbC1mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggMXB4ICM1ZTllZDY7IH1cblxuLnVpLXN0YXRlLWFjdGl2ZSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSxcbmEudWktYnV0dG9uOmFjdGl2ZSxcbi51aS1idXR0b246YWN0aXZlLFxuLnVpLWJ1dHRvbi51aS1zdGF0ZS1hY3RpdmU6aG92ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAzZWZmO1xuICBiYWNrZ3JvdW5kOiAjMDA3ZmZmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udWktaWNvbi1iYWNrZ3JvdW5kLFxuLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbi1iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyOiAjMDAzZWZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi51aS1zdGF0ZS1hY3RpdmUgYSxcbi51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLFxuLnVpLXN0YXRlLWFjdGl2ZSBhOnZpc2l0ZWQge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIEludGVyYWN0aW9uIEN1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWhpZ2hsaWdodCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWQ1NWU7XG4gIGJhY2tncm91bmQ6ICNmZmZhOTA7XG4gIGNvbG9yOiAjNzc3NjIwOyB9XG5cbi51aS1zdGF0ZS1jaGVja2VkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RhZDU1ZTtcbiAgYmFja2dyb3VuZDogI2ZmZmE5MDsgfVxuXG4udWktc3RhdGUtaGlnaGxpZ2h0IGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCBhLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhIHtcbiAgY29sb3I6ICM3Nzc2MjA7IH1cblxuLnVpLXN0YXRlLWVycm9yLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMWE4OTk7XG4gIGJhY2tncm91bmQ6ICNmZGRmZGY7XG4gIGNvbG9yOiAjNWYzZjNmOyB9XG5cbi51aS1zdGF0ZS1lcnJvciBhLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvciBhLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIGEge1xuICBjb2xvcjogIzVmM2YzZjsgfVxuXG4udWktc3RhdGUtZXJyb3ItdGV4dCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3ItdGV4dCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvci10ZXh0IHtcbiAgY29sb3I6ICM1ZjNmM2Y7IH1cblxuLnVpLXByaW9yaXR5LXByaW1hcnksXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXByaW1hcnksXG4udWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktcHJpbWFyeSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi51aS1wcmlvcml0eS1zZWNvbmRhcnksXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXNlY29uZGFyeSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1zZWNvbmRhcnkge1xuICBvcGFjaXR5OiAuNztcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTcwKTtcbiAgLyogc3VwcG9ydDogSUU4ICovXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLnVpLXN0YXRlLWRpc2FibGVkLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kaXNhYmxlZCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IC4zNTtcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTM1KTtcbiAgLyogc3VwcG9ydDogSUU4ICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLnVpLXN0YXRlLWRpc2FibGVkIC51aS1pY29uIHtcbiAgZmlsdGVyOiBBbHBoYShPcGFjaXR5PTM1KTtcbiAgLyogc3VwcG9ydDogSUU4IC0gU2VlICM2MDU5ICovIH1cblxuLyogSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogc3RhdGVzIGFuZCBpbWFnZXMgKi9cbi51aS1pY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDsgfVxuXG4udWktaWNvbixcbi51aS13aWRnZXQtY29udGVudCAudWktaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc180NDQ0NDRfMjU2eDI0MC5wbmdcIik7IH1cblxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNDQ0NDQ0XzI1NngyNDAucG5nXCIpOyB9XG5cbi51aS1zdGF0ZS1ob3ZlciAudWktaWNvbixcbi51aS1zdGF0ZS1mb2N1cyAudWktaWNvbixcbi51aS1idXR0b246aG92ZXIgLnVpLWljb24sXG4udWktYnV0dG9uOmZvY3VzIC51aS1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzU1NTU1NV8yNTZ4MjQwLnBuZ1wiKTsgfVxuXG4udWktc3RhdGUtYWN0aXZlIC51aS1pY29uLFxuLnVpLWJ1dHRvbjphY3RpdmUgLnVpLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfZmZmZmZmXzI1NngyNDAucG5nXCIpOyB9XG5cbi51aS1zdGF0ZS1oaWdobGlnaHQgLnVpLWljb24sXG4udWktYnV0dG9uIC51aS1zdGF0ZS1oaWdobGlnaHQudWktaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc183Nzc2MjBfMjU2eDI0MC5wbmdcIik7IH1cblxuLnVpLXN0YXRlLWVycm9yIC51aS1pY29uLFxuLnVpLXN0YXRlLWVycm9yLXRleHQgLnVpLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfY2MwMDAwXzI1NngyNDAucG5nXCIpOyB9XG5cbi51aS1idXR0b24gLnVpLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNzc3Nzc3XzI1NngyNDAucG5nXCIpOyB9XG5cbi8qIHBvc2l0aW9uaW5nICovXG4udWktaWNvbi1ibGFuayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDE2cHggMTZweDsgfVxuXG4udWktaWNvbi1jYXJldC0xLW4ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cblxuLnVpLWljb24tY2FyZXQtMS1uZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IDA7IH1cblxuLnVpLWljb24tY2FyZXQtMS1lIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsgfVxuXG4udWktaWNvbi1jYXJldC0xLXNlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggMDsgfVxuXG4udWktaWNvbi1jYXJldC0xLXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjVweCAwOyB9XG5cbi51aS1pY29uLWNhcmV0LTEtc3cge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XG5cbi51aS1pY29uLWNhcmV0LTEtdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IDA7IH1cblxuLnVpLWljb24tY2FyZXQtMS1udyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAwOyB9XG5cbi51aS1pY29uLWNhcmV0LTItbi1zIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IDA7IH1cblxuLnVpLWljb24tY2FyZXQtMi1lLXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggMDsgfVxuXG4udWktaWNvbi10cmlhbmdsZS0xLW4ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNnB4OyB9XG5cbi51aS1pY29uLXRyaWFuZ2xlLTEtbmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTZweDsgfVxuXG4udWktaWNvbi10cmlhbmdsZS0xLWUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTZweDsgfVxuXG4udWktaWNvbi10cmlhbmdsZS0xLXNlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2cHg7IH1cblxuLnVpLWljb24tdHJpYW5nbGUtMS1zIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1cHggLTE2cHg7IH1cblxuLnVpLWljb24tdHJpYW5nbGUtMS1zdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNnB4OyB9XG5cbi51aS1pY29uLXRyaWFuZ2xlLTEtdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNnB4OyB9XG5cbi51aS1pY29uLXRyaWFuZ2xlLTEtbncge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2cHg7IH1cblxuLnVpLWljb24tdHJpYW5nbGUtMi1uLXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2cHg7IH1cblxuLnVpLWljb24tdHJpYW5nbGUtMi1lLXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE2cHg7IH1cblxuLnVpLWljb24tYXJyb3ctMS1uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzJweDsgfVxuXG4udWktaWNvbi1hcnJvdy0xLW5lIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTMycHg7IH1cblxuLnVpLWljb24tYXJyb3ctMS1lIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTMycHg7IH1cblxuLnVpLWljb24tYXJyb3ctMS1zZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0zMnB4OyB9XG5cbi51aS1pY29uLWFycm93LTEtcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IC0zMnB4OyB9XG5cbi51aS1pY29uLWFycm93LTEtc3cge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMzJweDsgfVxuXG4udWktaWNvbi1hcnJvdy0xLXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMzJweDsgfVxuXG4udWktaWNvbi1hcnJvdy0xLW53IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0zMnB4OyB9XG5cbi51aS1pY29uLWFycm93LTItbi1zIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0zMnB4OyB9XG5cbi51aS1pY29uLWFycm93LTItbmUtc3cge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTMycHg7IH1cblxuLnVpLWljb24tYXJyb3ctMi1lLXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTMycHg7IH1cblxuLnVpLWljb24tYXJyb3ctMi1zZS1udyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMzJweDsgfVxuXG4udWktaWNvbi1hcnJvd3N0b3AtMS1uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0zMnB4OyB9XG5cbi51aS1pY29uLWFycm93c3RvcC0xLWUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTMycHg7IH1cblxuLnVpLWljb24tYXJyb3dzdG9wLTEtcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMzJweDsgfVxuXG4udWktaWNvbi1hcnJvd3N0b3AtMS13IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0zMnB4OyB9XG5cbi51aS1pY29uLWFycm93dGhpY2stMS1uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IC00OHB4OyB9XG5cbi51aS1pY29uLWFycm93dGhpY2stMS1uZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC00OHB4OyB9XG5cbi51aS1pY29uLWFycm93dGhpY2stMS1lIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTQ4cHg7IH1cblxuLnVpLWljb24tYXJyb3d0aGljay0xLXNlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTQ4cHg7IH1cblxuLnVpLWljb24tYXJyb3d0aGljay0xLXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtNDhweDsgfVxuXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtc3cge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDhweDsgfVxuXG4udWktaWNvbi1hcnJvd3RoaWNrLTEtdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC00OHB4OyB9XG5cbi51aS1pY29uLWFycm93dGhpY2stMS1udyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNDhweDsgfVxuXG4udWktaWNvbi1hcnJvd3RoaWNrLTItbi1zIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC00OHB4OyB9XG5cbi51aS1pY29uLWFycm93dGhpY2stMi1uZS1zdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNDhweDsgfVxuXG4udWktaWNvbi1hcnJvd3RoaWNrLTItZS13IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC00OHB4OyB9XG5cbi51aS1pY29uLWFycm93dGhpY2stMi1zZS1udyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNDhweDsgfVxuXG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLW4ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTQ4cHg7IH1cblxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1lIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC00OHB4OyB9XG5cbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtNDhweDsgfVxuXG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTQ4cHg7IH1cblxuLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02NHB4OyB9XG5cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTY0cHg7IH1cblxuLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLWUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNjRweDsgfVxuXG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC02NHB4OyB9XG5cbi51aS1pY29uLWFycm93cmV0dXJuLTEtdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC02NHB4OyB9XG5cbi51aS1pY29uLWFycm93cmV0dXJuLTEtbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC02NHB4OyB9XG5cbi51aS1pY29uLWFycm93cmV0dXJuLTEtZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC02NHB4OyB9XG5cbi51aS1pY29uLWFycm93cmV0dXJuLTEtcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNjRweDsgfVxuXG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS13IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC02NHB4OyB9XG5cbi51aS1pY29uLWFycm93cmVmcmVzaC0xLW4ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTY0cHg7IH1cblxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNjRweDsgfVxuXG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1zIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC02NHB4OyB9XG5cbi51aS1pY29uLWFycm93LTQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MHB4OyB9XG5cbi51aS1pY29uLWFycm93LTQtZGlhZyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC04MHB4OyB9XG5cbi51aS1pY29uLWV4dGxpbmsge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtODBweDsgfVxuXG4udWktaWNvbi1uZXd3aW4ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtODBweDsgfVxuXG4udWktaWNvbi1yZWZyZXNoIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTgwcHg7IH1cblxuLnVpLWljb24tc2h1ZmZsZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC04MHB4OyB9XG5cbi51aS1pY29uLXRyYW5zZmVyLWUtdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC04MHB4OyB9XG5cbi51aS1pY29uLXRyYW5zZmVydGhpY2stZS13IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC04MHB4OyB9XG5cbi51aS1pY29uLWZvbGRlci1jb2xsYXBzZWQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9XG5cbi51aS1pY29uLWZvbGRlci1vcGVuIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTk2cHg7IH1cblxuLnVpLWljb24tZG9jdW1lbnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTZweDsgfVxuXG4udWktaWNvbi1kb2N1bWVudC1iIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTk2cHg7IH1cblxuLnVpLWljb24tbm90ZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC05NnB4OyB9XG5cbi51aS1pY29uLW1haWwtY2xvc2VkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTk2cHg7IH1cblxuLnVpLWljb24tbWFpbC1vcGVuIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTk2cHg7IH1cblxuLnVpLWljb24tc3VpdGNhc2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTk2cHg7IH1cblxuLnVpLWljb24tY29tbWVudCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtOTZweDsgfVxuXG4udWktaWNvbi1wZXJzb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTk2cHg7IH1cblxuLnVpLWljb24tcHJpbnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTk2cHg7IH1cblxuLnVpLWljb24tdHJhc2gge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTk2cHg7IH1cblxuLnVpLWljb24tbG9ja2VkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC05NnB4OyB9XG5cbi51aS1pY29uLXVubG9ja2VkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC05NnB4OyB9XG5cbi51aS1pY29uLWJvb2ttYXJrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC05NnB4OyB9XG5cbi51aS1pY29uLXRhZyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtOTZweDsgfVxuXG4udWktaWNvbi1ob21lIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTEycHg7IH1cblxuLnVpLWljb24tZmxhZyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMTJweDsgfVxuXG4udWktaWNvbi1jYWxlbmRhciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMTJweDsgfVxuXG4udWktaWNvbi1jYXJ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTExMnB4OyB9XG5cbi51aS1pY29uLXBlbmNpbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMTJweDsgfVxuXG4udWktaWNvbi1jbG9jayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMTJweDsgfVxuXG4udWktaWNvbi1kaXNrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTExMnB4OyB9XG5cbi51aS1pY29uLWNhbGN1bGF0b3Ige1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTExMnB4OyB9XG5cbi51aS1pY29uLXpvb21pbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTEycHg7IH1cblxuLnVpLWljb24tem9vbW91dCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTEycHg7IH1cblxuLnVpLWljb24tc2VhcmNoIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMTJweDsgfVxuXG4udWktaWNvbi13cmVuY2gge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTExMnB4OyB9XG5cbi51aS1pY29uLWdlYXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTExMnB4OyB9XG5cbi51aS1pY29uLWhlYXJ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMTJweDsgfVxuXG4udWktaWNvbi1zdGFyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMTJweDsgfVxuXG4udWktaWNvbi1saW5rIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMTJweDsgfVxuXG4udWktaWNvbi1jYW5jZWwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxuXG4udWktaWNvbi1wbHVzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTEyOHB4OyB9XG5cbi51aS1pY29uLXBsdXN0aGljayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMjhweDsgfVxuXG4udWktaWNvbi1taW51cyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMjhweDsgfVxuXG4udWktaWNvbi1taW51c3RoaWNrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTEyOHB4OyB9XG5cbi51aS1pY29uLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTEyOHB4OyB9XG5cbi51aS1pY29uLWNsb3NldGhpY2sge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTI4cHg7IH1cblxuLnVpLWljb24ta2V5IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMjhweDsgfVxuXG4udWktaWNvbi1saWdodGJ1bGIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTEyOHB4OyB9XG5cbi51aS1pY29uLXNjaXNzb3JzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMjhweDsgfVxuXG4udWktaWNvbi1jbGlwYm9hcmQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTEyOHB4OyB9XG5cbi51aS1pY29uLWNvcHkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTEyOHB4OyB9XG5cbi51aS1pY29uLWNvbnRhY3Qge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTEyOHB4OyB9XG5cbi51aS1pY29uLWltYWdlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMjhweDsgfVxuXG4udWktaWNvbi12aWRlbyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTI4cHg7IH1cblxuLnVpLWljb24tc2NyaXB0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMjhweDsgfVxuXG4udWktaWNvbi1hbGVydCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0NHB4OyB9XG5cbi51aS1pY29uLWluZm8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTQ0cHg7IH1cblxuLnVpLWljb24tbm90aWNlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE0NHB4OyB9XG5cbi51aS1pY29uLWhlbHAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTQ0cHg7IH1cblxuLnVpLWljb24tY2hlY2sge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTQ0cHg7IH1cblxuLnVpLWljb24tYnVsbGV0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE0NHB4OyB9XG5cbi51aS1pY29uLXJhZGlvLW9uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE0NHB4OyB9XG5cbi51aS1pY29uLXJhZGlvLW9mZiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTQ0cHg7IH1cblxuLnVpLWljb24tcGluLXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE0NHB4OyB9XG5cbi51aS1pY29uLXBpbi1zIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNDRweDsgfVxuXG4udWktaWNvbi1wbGF5IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTYwcHg7IH1cblxuLnVpLWljb24tcGF1c2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTYwcHg7IH1cblxuLnVpLWljb24tc2Vlay1uZXh0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2MHB4OyB9XG5cbi51aS1pY29uLXNlZWstcHJldiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNjBweDsgfVxuXG4udWktaWNvbi1zZWVrLWVuZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNjBweDsgfVxuXG4udWktaWNvbi1zZWVrLXN0YXJ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9XG5cbi8qIHVpLWljb24tc2Vlay1maXJzdCBpcyBkZXByZWNhdGVkLCB1c2UgdWktaWNvbi1zZWVrLXN0YXJ0IGluc3RlYWQgKi9cbi51aS1pY29uLXNlZWstZmlyc3Qge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTYwcHg7IH1cblxuLnVpLWljb24tc3RvcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNjBweDsgfVxuXG4udWktaWNvbi1lamVjdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTYwcHg7IH1cblxuLnVpLWljb24tdm9sdW1lLW9mZiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTYwcHg7IH1cblxuLnVpLWljb24tdm9sdW1lLW9uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNjBweDsgfVxuXG4udWktaWNvbi1wb3dlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE3NnB4OyB9XG5cbi51aS1pY29uLXNpZ25hbC1kaWFnIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE3NnB4OyB9XG5cbi51aS1pY29uLXNpZ25hbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNzZweDsgfVxuXG4udWktaWNvbi1iYXR0ZXJ5LTAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTc2cHg7IH1cblxuLnVpLWljb24tYmF0dGVyeS0xIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE3NnB4OyB9XG5cbi51aS1pY29uLWJhdHRlcnktMiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNzZweDsgfVxuXG4udWktaWNvbi1iYXR0ZXJ5LTMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTc2cHg7IH1cblxuLnVpLWljb24tY2lyY2xlLXBsdXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xOTJweDsgfVxuXG4udWktaWNvbi1jaXJjbGUtbWludXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTkycHg7IH1cblxuLnVpLWljb24tY2lyY2xlLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE5MnB4OyB9XG5cbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1lIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE5MnB4OyB9XG5cbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1zIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE5MnB4OyB9XG5cbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE5MnB4OyB9XG5cbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE5MnB4OyB9XG5cbi51aS1pY29uLWNpcmNsZS1hcnJvdy1lIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xOTJweDsgfVxuXG4udWktaWNvbi1jaXJjbGUtYXJyb3ctcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTkycHg7IH1cblxuLnVpLWljb24tY2lyY2xlLWFycm93LXcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE5MnB4OyB9XG5cbi51aS1pY29uLWNpcmNsZS1hcnJvdy1uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xOTJweDsgfVxuXG4udWktaWNvbi1jaXJjbGUtem9vbWluIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xOTJweDsgfVxuXG4udWktaWNvbi1jaXJjbGUtem9vbW91dCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTkycHg7IH1cblxuLnVpLWljb24tY2lyY2xlLWNoZWNrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xOTJweDsgfVxuXG4udWktaWNvbi1jaXJjbGVzbWFsbC1wbHVzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjA4cHg7IH1cblxuLnVpLWljb24tY2lyY2xlc21hbGwtbWludXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjA4cHg7IH1cblxuLnVpLWljb24tY2lyY2xlc21hbGwtY2xvc2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjA4cHg7IH1cblxuLnVpLWljb24tc3F1YXJlc21hbGwtcGx1cyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0yMDhweDsgfVxuXG4udWktaWNvbi1zcXVhcmVzbWFsbC1taW51cyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0yMDhweDsgfVxuXG4udWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMDhweDsgfVxuXG4udWktaWNvbi1ncmlwLWRvdHRlZC12ZXJ0aWNhbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIyNHB4OyB9XG5cbi51aS1pY29uLWdyaXAtZG90dGVkLWhvcml6b250YWwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjI0cHg7IH1cblxuLnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMjRweDsgfVxuXG4udWktaWNvbi1ncmlwLXNvbGlkLWhvcml6b250YWwge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjI0cHg7IH1cblxuLnVpLWljb24tZ3JpcHNtYWxsLWRpYWdvbmFsLXNlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIyNHB4OyB9XG5cbi51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjI0cHg7IH1cblxuLyogTWlzYyB2aXN1YWxzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIENvcm5lciByYWRpdXMgKi9cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci10b3AsXG4udWktY29ybmVyLWxlZnQsXG4udWktY29ybmVyLXRsIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4OyB9XG5cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci10b3AsXG4udWktY29ybmVyLXJpZ2h0LFxuLnVpLWNvcm5lci10ciB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7IH1cblxuLnVpLWNvcm5lci1hbGwsXG4udWktY29ybmVyLWJvdHRvbSxcbi51aS1jb3JuZXItbGVmdCxcbi51aS1jb3JuZXItYmwge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7IH1cblxuLnVpLWNvcm5lci1hbGwsXG4udWktY29ybmVyLWJvdHRvbSxcbi51aS1jb3JuZXItcmlnaHQsXG4udWktY29ybmVyLWJyIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsgfVxuXG4vKiBPdmVybGF5cyAqL1xuLnVpLXdpZGdldC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZDogI2FhYWFhYTtcbiAgb3BhY2l0eTogLjM7XG4gIGZpbHRlcjogQWxwaGEoT3BhY2l0eT0zMCk7XG4gIC8qIHN1cHBvcnQ6IElFOCAqLyB9XG5cbi51aS13aWRnZXQtc2hhZG93IHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDVweCAjNjY2NjY2O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDVweCAjNjY2NjY2OyB9XG5cbi5hbGVydCxcbi5kb2NzLWNvbnRhaW5lciBtYWluIC5hbGVydCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAyMHB4IDI4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjUzLCAyMDAsIDY5LCAwLjEpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1MywgMjAwLCA2OSwgMC4zKTtcbiAgY29sb3I6ICMzNTM5NDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgLypcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxmMTM3JztcbiAgICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMjVweDtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOSk7XG4gIH1cbiAgKi8gfVxuICAuYWxlcnQgYSxcbiAgLmFsZXJ0IGE6bm90KC5idG4pLFxuICAuZG9jcy1jb250YWluZXIgbWFpbiAuYWxlcnQgYSxcbiAgLmRvY3MtY29udGFpbmVyIG1haW4gLmFsZXJ0IGE6bm90KC5idG4pIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIC5hbGVydCBhOmhvdmVyLFxuICAgIC5hbGVydCBhOm5vdCguYnRuKTpob3ZlcixcbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiAuYWxlcnQgYTpob3ZlcixcbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiAuYWxlcnQgYTpub3QoLmJ0bik6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmFsZXJ0LXN1Y2Nlc3MsXG4gIC5kb2NzLWNvbnRhaW5lciBtYWluIC5hbGVydC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMwLCAyMDksIDExOCwgMC4xKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMzAsIDIwOSwgMTE4LCAwLjMpOyB9XG5cbi5zaWRlLW5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgb3ZlcmZsb3cteTogLW1vei1zY3JvbGxiYXJzLW5vbmU7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICAuc2lkZS1uYXY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnNpZGUtbmF2IC5iYWNrLXRvLW1haW4gYSB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlOWVlO1xuICAgIHBhZGRpbmc6IDEwcHggMTJweCAxM3B4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogLjJzIGJvcmRlci1jb2xvciwgLjJzIGNvbG9yLCAuMnMgYmFja2dyb3VuZCwgLjJzIGJveC1zaGFkb3c7IH1cbiAgICAuc2lkZS1uYXYgLmJhY2stdG8tbWFpbiBhOjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIGNvbnRlbnQ6ICdcXGYzY2YnO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgIHRvcDogMnB4OyB9XG4gICAgLnNpZGUtbmF2IC5iYWNrLXRvLW1haW4gYTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNERkUzRTg7XG4gICAgICBjb2xvcjogIzRhOGJmYztcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgICAgYmFja2dyb3VuZDogI2ZkZmRmZDsgfVxuICAgIC5zaWRlLW5hdiAuYmFjay10by1tYWluIGE6Zm9jdXM6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnNpZGUtbmF2IC5mb3JtLWdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU5ZWU7XG4gICAgbWluLWhlaWdodDogNTRweDsgfVxuICAgIC5zaWRlLW5hdiAuZm9ybS1ncm91cC5zZWFyY2gge1xuICAgICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuc2lkZS1uYXYgLmZvcm0tZ3JvdXAuc2VhcmNoOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2E0YWJiNTsgfVxuICAgICAgLnNpZGUtbmF2IC5mb3JtLWdyb3VwLnNlYXJjaDo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGY0YTUnO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIGNvbG9yOiAjYmRjM2NjO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgbGVmdDogMzRweDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIGNvbG9yOyB9XG4gICAgICAuc2lkZS1uYXYgLmZvcm0tZ3JvdXAuc2VhcmNoIGlucHV0IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTllZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDAgNnB4IDM1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6ICNiZGMzY2M7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBib3JkZXItY29sb3IsIC4ycyBib3gtc2hhZG93OyB9XG4gICAgICAgIC5zaWRlLW5hdiAuZm9ybS1ncm91cC5zZWFyY2ggaW5wdXQ6Zm9jdXMsIC5zaWRlLW5hdiAuZm9ybS1ncm91cC5zZWFyY2ggaW5wdXQ6aG92ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGE4YmZjOyB9XG4gICAgLnNpZGUtbmF2IC5mb3JtLWdyb3VwIHNlbGVjdCB7XG4gICAgICBwYWRkaW5nOiAxN3B4IDIwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgY29sb3I6ICM5ZGE1YjM7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogLjJzIGJvcmRlci1jb2xvciwgLjJzIGNvbG9yLCAuMnMgYmFja2dyb3VuZCwgLjJzIGJveC1zaGFkb3c7IH1cbiAgICAgIC5zaWRlLW5hdiAuZm9ybS1ncm91cCBzZWxlY3Q6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0YThiZmM7XG4gICAgICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmRmZGZkOyB9XG4gICAgLnNpZGUtbmF2IC5mb3JtLWdyb3VwOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBib3JkZXItY29sb3I7IH1cbiAgICAgIC5zaWRlLW5hdiAuZm9ybS1ncm91cDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0YThiZmM7IH1cbiAgICAuc2lkZS1uYXYgLmZvcm0tZ3JvdXAuYXBpLXNlbGVjdDo6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICBjb250ZW50OiAnXFxmM2QwJztcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBjb2xvcjogI2E0YWJiNTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTdweDtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgdHJhbnNpdGlvbjogLjJzIGNvbG9yOyB9XG4gIC5zaWRlLW5hdiA+IHVsLm5lc3RlZC1tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgY29sb3I6ICM5ZGE1YjM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuc2lkZS1uYXYgPiB1bCA+IC5hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogIzRmNTM1ODsgfVxuICAuc2lkZS1uYXYgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMThweCAwIDIwcHggMjBweDsgfVxuICAgIC5zaWRlLW5hdiB1bCBhIHtcbiAgICAgIGNvbG9yOiAjOWRhNWIzO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc2lkZS1uYXYgdWwgYTo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjNGE4YmZjO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwLjAwMDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjA4cyBlYXNlLWluLW91dDsgfVxuICAgIC5zaWRlLW5hdiB1bCB1bCxcbiAgICAuc2lkZS1uYXYgdWwgLmNhcGl0YWxpemUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zaWRlLW5hdiB1bCB1bCBhLFxuICAgICAgLnNpZGUtbmF2IHVsIC5jYXBpdGFsaXplIGEge1xuICAgICAgICBjb2xvcjogIzRDNTU1QTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IGN1YmljLWJlemllcigwLjM2LCAwLjY2LCAwLjA0LCAxKSAwLjNzLCBwYWRkaW5nIGN1YmljLWJlemllcigwLjM2LCAwLjY2LCAwLjA0LCAxKSAwLjNzLCBjb2xvciAwLjJzOyB9XG4gICAgICAgIC5zaWRlLW5hdiB1bCB1bCBhOmVtcHR5LFxuICAgICAgICAuc2lkZS1uYXYgdWwgLmNhcGl0YWxpemUgYTplbXB0eSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnNpZGUtbmF2IHVsIHVsLm5nLWhpZGUtYWRkLCAuc2lkZS1uYXYgdWwgdWwubmctaGlkZS1yZW1vdmUsXG4gICAgICAuc2lkZS1uYXYgdWwgLmNhcGl0YWxpemUubmctaGlkZS1hZGQsXG4gICAgICAuc2lkZS1uYXYgdWwgLmNhcGl0YWxpemUubmctaGlkZS1yZW1vdmUge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IGN1YmljLWJlemllcigwLjM2LCAwLjY2LCAwLjA0LCAxKSAwLjNzOyB9XG4gICAgICAuc2lkZS1uYXYgdWwgdWwubmctaGlkZSxcbiAgICAgIC5zaWRlLW5hdiB1bCAuY2FwaXRhbGl6ZS5uZy1oaWRlIHtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAuc2lkZS1uYXYgdWwgdWwubmctaGlkZSBhLFxuICAgICAgICAuc2lkZS1uYXYgdWwgLmNhcGl0YWxpemUubmctaGlkZSBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnNpZGUtbmF2IHVsIHVsIC5hY3RpdmUgPiBhLFxuICAgIC5zaWRlLW5hdiB1bCAuY2FwaXRhbGl6ZS5hY3RpdmUgPiBhLFxuICAgIC5zaWRlLW5hdiB1bCBhOmhvdmVyLFxuICAgIC5zaWRlLW5hdiB1bCAuYWN0aXZlLnRvcC1sZXZlbCA+IGEge1xuICAgICAgY29sb3I6ICM0YThiZmM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgLnNpZGUtbmF2IHVsIHVsIC5hY3RpdmUgPiBhOjphZnRlcixcbiAgICAuc2lkZS1uYXYgdWwgLmNhcGl0YWxpemUuYWN0aXZlID4gYTo6YWZ0ZXIsXG4gICAgLnNpZGUtbmF2IHVsIGE6Zm9jdXM6OmFmdGVyLFxuICAgIC5zaWRlLW5hdiB1bCAuYWN0aXZlLnRvcC1sZXZlbCA+IGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2lkZS1uYXYgLmJldGEge1xuICAgIGJhY2tncm91bmQ6ICM0YThiZmM7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4OyB9XG4gIC5zaWRlLW5hdiAucGFpZCB7XG4gICAgYmFja2dyb3VuZDogIzRhOGJmYztcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgcGFkZGluZzogMCAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7IH1cbiAgLnNpZGUtbmF2IC52NC1iZXRhIHtcbiAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuICAgIC5zaWRlLW5hdiAudjQtYmV0YSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICM1OTZjOGM7XG4gICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCAzOXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAuc2lkZS1uYXYgLnY0LWJldGEgYSA+IHN0cm9uZyxcbiAgICAgIC5zaWRlLW5hdiAudjQtYmV0YSBhID4gaSxcbiAgICAgIC5zaWRlLW5hdiAudjQtYmV0YSBhID4gc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLnNpZGUtbmF2IC52NC1iZXRhIGE6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlIHVybChcIi9pbWcvZG9jcy9pb25pYy1zaWRlLWljb24ucG5nXCIpIG5vLXJlcGVhdCAwIDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzIGJveC1zaGFkb3cgZWFzZS1vdXQ7IH1cbiAgICAgIC5zaWRlLW5hdiAudjQtYmV0YSBhOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cbiAgICAuc2lkZS1uYXYgLnY0LWJldGEgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICMwZjE2MjI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjAxZW07IH1cbiAgICAuc2lkZS1uYXYgLnY0LWJldGEgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjAxZW07IH1cbiAgICAuc2lkZS1uYXYgLnY0LWJldGEgYSA+IGkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGNvbG9yOiAjZDJkNmRkO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDEwcHgpOyB9XG5cbmJvZHk6bm90KC5uZy1zY29wZSkgLnNpZGUtbmF2IHVsIGEge1xuICB0cmFuc2l0aW9uOiBub25lOyB9XG5cbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbi50YWJsZSA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbi50YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHIgPiB0aCxcbi50YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbi50YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHIgPiB0aCxcbi50YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCB7XG4gIHBhZGRpbmc6IDExcHggMTFweCAxMnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQsXG4udGFibGUgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4udGFibGUgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyID4gdGQsXG4udGFibGUgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4udGFibGUgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4udGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyID4gdGQsXG4udGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQge1xuICBwYWRkaW5nOiAxMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgY29sb3I6ICM1NTU7IH1cblxuLnRvYyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLnRvYyAudG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjYjFiYWM4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC50b2MgLnRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgZm9udC1mYW1pbHk6IElvbmljb25zO1xuICAgICAgY29udGVudDogJ1xcZjNkMCc7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgdHJhbnNpdGlvbjogLjNzIHRyYW5zZm9ybSBlYXNlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtNXB4OyB9XG4gIC50b2MgLmV4cGFuZGVkIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgIC50b2MgLmV4cGFuZGVkIHVsIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAudG9jIC5leHBhbmRlZCB1bCBsaSBhIHtcbiAgICAgICAgY29sb3I6ICM0YThiZmM7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyNXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIG1heC1oZWlnaHQgY3ViaWMtYmV6aWVyKDAuMzYsIDAuNjYsIDAuMDQsIDEpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICAudG9jIC5leHBhbmRlZCA+IHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAudG9jIC5leHBhbmRlZCA+IHVsID4gbGkge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyZW07IH1cbiAgICAgIC50b2MgLmV4cGFuZGVkID4gdWwgPiBsaSA+IGEge1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC50b2MuY29sbGFwc2VkIC50b2dnbGU6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7IH1cbiAgLnRvYy5jb2xsYXBzZWQgLmV4cGFuZGVkIHVsIGxpIGEge1xuICAgIG1heC1oZWlnaHQ6IDA7IH1cblxuLnBhZ2UtcHJvLWRvY3MgLmRvY3MtY29udGFpbmVyIG1haW4gaDIge1xuICBwYWRkaW5nLXRvcDogMC41ZW07IH1cblxuLnBhZ2UtcHJvLWRvY3MgLmRvY3MtY29udGFpbmVyIG1haW4gcCB7XG4gIG1hcmdpbi10b3A6IDAuN2VtO1xuICBtYXJnaW4tYm90dG9tOiAwLjdlbTsgfVxuXG4ucGFnZS1wcm8tZG9jcyAuc2lkZS1uYXYgPiB1bC5uZXN0ZWQtbWVudSA+IGxpID4gdWwgPiBsaSA+IGEge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5kb2NzLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgLmRvY3MtY29udGFpbmVyIC5maXhlZC1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAyMzBweDtcbiAgICB0b3A6IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTllZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAwcHggMzhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgICAuZG9jcy1jb250YWluZXIgLmZpeGVkLWhlYWRlciA+IGhncm91cCB7XG4gICAgICBoZWlnaHQ6IDc0cHg7XG4gICAgICBsaW5lLWhlaWdodDogNzRweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5kb2NzLWNvbnRhaW5lciAuZml4ZWQtaGVhZGVyID4gaGdyb3VwIHtcbiAgICAgICAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7IH0gfVxuICAgICAgLmRvY3MtY29udGFpbmVyIC5maXhlZC1oZWFkZXIgPiBoZ3JvdXAgPiAqIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAgIC5kb2NzLWNvbnRhaW5lciAuZml4ZWQtaGVhZGVyID4gaGdyb3VwIGgzICsgaDQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMxcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40czsgfVxuICAgICAgICAuZG9jcy1jb250YWluZXIgLmZpeGVkLWhlYWRlciA+IGhncm91cCBoMyArIGg0Lm5vdC1zaG93biB7XG4gICAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAuZG9jcy1jb250YWluZXIgLmZpeGVkLWhlYWRlciA+IGhncm91cCBoMyArIGg0OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogLTI0cHg7XG4gICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDVweCk7XG4gICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZDtcbiAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICAgIC5kb2NzLWNvbnRhaW5lciAuZml4ZWQtaGVhZGVyID4gaGdyb3VwIGgzICsgaDQgPiBub2JyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG9wYWNpdHkgMC4zczsgfVxuICAgICAgICAgIC5kb2NzLWNvbnRhaW5lciAuZml4ZWQtaGVhZGVyID4gaGdyb3VwIGgzICsgaDQgPiBub2JyLnRvcCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI4cHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAgIC5kb2NzLWNvbnRhaW5lciAuZml4ZWQtaGVhZGVyID4gaGdyb3VwIGgzICsgaDQgPiBub2JyLm1pZGRsZSwgLmRvY3MtY29udGFpbmVyIC5maXhlZC1oZWFkZXIgPiBoZ3JvdXAgaDMgKyBoNCA+IG5vYnIudG9wLm1pZGRsZSwgLmRvY3MtY29udGFpbmVyIC5maXhlZC1oZWFkZXIgPiBoZ3JvdXAgaDMgKyBoNCA+IG5vYnIuYm90dG9tLm1pZGRsZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAuZG9jcy1jb250YWluZXIgLmZpeGVkLWhlYWRlciA+IGhncm91cCBoMyArIGg0ID4gbm9ici5ib3R0b20ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMycHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAgIC5kb2NzLWNvbnRhaW5lciAuZml4ZWQtaGVhZGVyID4gaGdyb3VwIGgzICsgaDQgPiBub2JyLm5vLXRyYW5zaXRpb24ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMsIDBzOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5kb2NzLWNvbnRhaW5lciAuZml4ZWQtaGVhZGVyIHtcbiAgICAgIGxlZnQ6IDBweDsgfSB9XG4gIC5kb2NzLWNvbnRhaW5lciBtYWluIHtcbiAgICBwYWRkaW5nOiA1MHB4IDQwcHggMTAwcHg7IH1cbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoMSxcbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoMixcbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoMyxcbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoNCxcbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoNSB7XG4gICAgICBjb2xvcjogIzI0MjgyZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICAgIG1hcmdpbjogMmVtIDAgMWVtO1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG4gICAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoMTpmaXJzdC1jaGlsZCxcbiAgICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIGgyOmZpcnN0LWNoaWxkLFxuICAgICAgLmRvY3MtY29udGFpbmVyIG1haW4gaDM6Zmlyc3QtY2hpbGQsXG4gICAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoNDpmaXJzdC1jaGlsZCxcbiAgICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIGg1OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmRvY3MtY29udGFpbmVyIG1haW4gaDEgYS5hbmNob3I6OmJlZm9yZSxcbiAgICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIGgyIGEuYW5jaG9yOjpiZWZvcmUsXG4gICAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoMyBhLmFuY2hvcjo6YmVmb3JlLFxuICAgICAgLmRvY3MtY29udGFpbmVyIG1haW4gaDQgYS5hbmNob3I6OmJlZm9yZSxcbiAgICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIGg1IGEuYW5jaG9yOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMjJhJztcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICNlNmU5ZWU7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcyBjb2xvcjsgfVxuICAgICAgLmRvY3MtY29udGFpbmVyIG1haW4gaDEgYS5hbmNob3I6aG92ZXI6OmJlZm9yZSwgLmRvY3MtY29udGFpbmVyIG1haW4gaDEgYS5hbmNob3I6YWN0aXZlOjpiZWZvcmUsXG4gICAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoMiBhLmFuY2hvcjpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmRvY3MtY29udGFpbmVyIG1haW4gaDIgYS5hbmNob3I6YWN0aXZlOjpiZWZvcmUsXG4gICAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoMyBhLmFuY2hvcjpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmRvY3MtY29udGFpbmVyIG1haW4gaDMgYS5hbmNob3I6YWN0aXZlOjpiZWZvcmUsXG4gICAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoNCBhLmFuY2hvcjpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmRvY3MtY29udGFpbmVyIG1haW4gaDQgYS5hbmNob3I6YWN0aXZlOjpiZWZvcmUsXG4gICAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoNSBhLmFuY2hvcjpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmRvY3MtY29udGFpbmVyIG1haW4gaDUgYS5hbmNob3I6YWN0aXZlOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSg3NCwgMTM5LCAyNTIsIDAuNik7IH1cbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoMSBhLmFuY2hvcjo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yM3B4OyB9XG4gICAgLmRvY3MtY29udGFpbmVyIG1haW4gaDIge1xuICAgICAgcGFkZGluZzogMmVtIDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfVxuICAgICAgLmRvY3MtY29udGFpbmVyIG1haW4gaDIuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0YwRjNGNztcbiAgICAgICAgbWFyZ2luLXRvcDogNS42ZW07IH1cbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiBoMyB7XG4gICAgICBtYXJnaW46IDMuMmVtIDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgICAgLmRvY3MtY29udGFpbmVyIG1haW4gaDMubm8tcGFyYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIGg2IHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIHAge1xuICAgICAgY29vcjogIzNhM2Y0NztcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjFlbTtcbiAgICAgIG1hcmdpbjogMS4yZW0gMCAxLjZlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiBwcmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTllZTtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gICAgLmRvY3MtY29udGFpbmVyIG1haW4gYTpub3QoLmJ0bikge1xuICAgICAgY29sb3I6ICM0YThiZmM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiAuMnMgY29sb3I7IH1cbiAgICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIGE6bm90KC5idG4pOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM5NWJiZmQ7IH1cbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiB0YWJsZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIHRkLFxuICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIHRoIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIHRkOmxhc3QtY2hpbGQsXG4gICAgICAuZG9jcy1jb250YWluZXIgbWFpbiB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgd2lkdGg6IDk5JTsgfVxuICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIGIsXG4gICAgLmRvY3MtY29udGFpbmVyIG1haW4gc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzI2MjkyZTsgfVxuICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIC5maXhlZC13aWR0aCB7XG4gICAgICBmb250LWZhbWlseTogTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlOyB9XG4gICAgLmRvY3MtY29udGFpbmVyIG1haW4gLm5hdiBhIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG4gICAgLmRvY3MtY29udGFpbmVyIG1haW4gYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICBtYXJnaW46IDQwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2VlZWVlZTsgfVxuICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIGltZy5zZWN0aW9uLWhlYWRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogNTBweCAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDM3cHg7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIC5iZXRhIHtcbiAgICAgIGJhY2tncm91bmQ6ICM0YThiZmM7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgcGFkZGluZzogMCAycHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC05cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiAuYmV0YS1ub3RpY2Uge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG4gICAgICAuZG9jcy1jb250YWluZXIgbWFpbiAuYmV0YS1ub3RpY2U6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYyNzYnO1xuICAgICAgICBjb2xvcjogIzRhOGJmYztcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4OyB9XG4gICAgLmRvY3MtY29udGFpbmVyIG1haW4gLnBhaWQge1xuICAgICAgYmFja2dyb3VuZDogIzRhOGJmYztcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBwYWRkaW5nOiAwIDJweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTlweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIC5wYWlkLW5vdGljZSB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cbiAgICAgIC5kb2NzLWNvbnRhaW5lciBtYWluIC5wYWlkLW5vdGljZTo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgICAgICAgY29udGVudDogJ1xcZjQ4ZCc7XG4gICAgICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7IH1cbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiAuYXBpLXRpdGxlIC5iZXRhLCAuZG9jcy1jb250YWluZXIgbWFpbiAuYXBpLXRpdGxlIC5wYWlkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7IH1cbiAgLmRvY3MtY29udGFpbmVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgLnBhZ2UtY29tcG9uZW50cyAuZG9jcy1jb250YWluZXIgaDMge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNzJweCk7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cblxuYm9keS5kb2NzICNzbmFwLWJhciArICNwcm8taGVhZGVyLm5hdmJhciB7XG4gIG1hcmdpbi10b3A6IDIycHg7IH1cblxuI3Byby1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAjcHJvLWhlYWRlciAuY29udGFpbmVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VFRjBGMztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAjcHJvLWhlYWRlciBhIHtcbiAgICBjb2xvcjogIzczN0I4ODsgfVxuXG4jcHJvLWRvY3MgaDEsICNwcm8tZG9jcyBoMiwgI3Byby1kb2NzIGgzLCAjcHJvLWRvY3MgaDQsICNwcm8tZG9jcyBoNSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuI3Byby1kb2NzIHRkOm5vdCg6Zmlyc3QtY2hpbGQpLCAjcHJvLWRvY3MgdGg6bm90KDpmaXJzdC1jaGlsZCkge1xuICB3aGl0ZS1zcGFjZTogaW5oZXJpdDsgfVxuXG4jcHJvLWRvY3MgLnJlc3BvbnNpdmUtc2lkZS1uYXYuYWZmaXggKyBtYWluLFxuI3Byby1kb2NzIC5yZXNwb25zaXZlLXNpZGUtbmF2LmFmZml4LWJvdHRvbSArIG1haW4ge1xuICBtYXJnaW4tbGVmdDogMzAwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3Byby1kb2NzIC5yZXNwb25zaXZlLXNpZGUtbmF2LmFmZml4ICsgbWFpbixcbiAgICAjcHJvLWRvY3MgLnJlc3BvbnNpdmUtc2lkZS1uYXYuYWZmaXgtYm90dG9tICsgbWFpbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbiNwcm8tZG9jcyAucmVzcG9uc2l2ZS1zaWRlLW5hdiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICNwcm8tZG9jcyAucmVzcG9uc2l2ZS1zaWRlLW5hdi5zaWRlLW5hdiB1bCB1bCBhLCAjcHJvLWRvY3MgLnJlc3BvbnNpdmUtc2lkZS1uYXYuc2lkZS1uYXYgdWwgLmNhcGl0YWxpemUgYSB7XG4gICAgaGVpZ2h0OiAyOHB4OyB9XG4gICNwcm8tZG9jcyAucmVzcG9uc2l2ZS1zaWRlLW5hdiB1bCBhOjphZnRlciB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgI3Byby1kb2NzIC5yZXNwb25zaXZlLXNpZGUtbmF2IGEge1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIHBhZGRpbmc6IDBweCAwOyB9XG4gICAgI3Byby1kb2NzIC5yZXNwb25zaXZlLXNpZGUtbmF2IGEuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNGE4YmZjICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7IH1cbiAgICAjcHJvLWRvY3MgLnJlc3BvbnNpdmUtc2lkZS1uYXYgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzNiM2Y0NCAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50OyB9XG4gICNwcm8tZG9jcyAucmVzcG9uc2l2ZS1zaWRlLW5hdiA+IHVsLm5lc3RlZC1tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgI3Byby1kb2NzIC5yZXNwb25zaXZlLXNpZGUtbmF2ID4gdWwubmVzdGVkLW1lbnUgPiBsaSA+IHVsID4gbGkgPiB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI3cHg7IH1cbiAgICAjcHJvLWRvY3MgLnJlc3BvbnNpdmUtc2lkZS1uYXYgPiB1bC5uZXN0ZWQtbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGNvbG9yOiAjNTA1NjVlO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAjcHJvLWRvY3MgLnJlc3BvbnNpdmUtc2lkZS1uYXYgPiB1bC5uZXN0ZWQtbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cbiAgI3Byby1kb2NzIC5yZXNwb25zaXZlLXNpZGUtbmF2ID4gdWwjcHJvLW5hdi5uZXN0ZWQtbWVudSA+IGxpID4gdWwgPiBsaSA+IGE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vc2lkZWJhci1pY29uLXNwcml0ZS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAjcHJvLWRvY3MgLnJlc3BvbnNpdmUtc2lkZS1uYXYgPiB1bC5uZXN0ZWQtbWVudSA+IGxpID4gdWwgPiBsaSA+IGEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMyNDI4MmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDBweDsgfVxuICAgICNwcm8tZG9jcyAucmVzcG9uc2l2ZS1zaWRlLW5hdiA+IHVsLm5lc3RlZC1tZW51ID4gbGkgPiB1bCA+IGxpID4gYTo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcHJvLWRvY3MgLnJlc3BvbnNpdmUtc2lkZS1uYXYge1xuICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgICAgICNwcm8tZG9jcyAucmVzcG9uc2l2ZS1zaWRlLW5hdiA+IHVsLm5lc3RlZC1tZW51ID4gbGkgPiB1bCA+IGxpID4gYTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNwcm8tZG9jcyAucHJvLWludHJvLWxpbms6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwcHg7IH1cblxuI3Byby1kb2NzIC5wcm8tdmlldy1saW5rOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTQ4cHg7IH1cblxuI3Byby1kb2NzIC5wcm8tZGVwbG95LWxpbms6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNjRweDsgfVxuXG4jcHJvLWRvY3MgLnByby1wYWNrYWdlLWxpbms6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtODBweDsgfVxuXG4jcHJvLWRvY3MgLnByby1tb25pdG9yaW5nLWxpbms6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtOTZweDsgfVxuXG4jcHJvLWRvY3MgLnByby1kZXZhcHAtbGluazo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMjhweDsgfVxuXG4jcHJvLWRvY3MgLnByby1hZHZhbmNlZC1saW5rOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE2MHB4OyB9XG5cbiNicmFuY2gtc21zLWJveCB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAjYnJhbmNoLXNtcy1ib3ggLmJ0biB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLnByb21vIHtcbiAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZy10b3A6IDY0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNWY5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnByb21vIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnByb21vIC5jb250YWluZXI6OmJlZm9yZSwgLnByb21vIC5jb250YWluZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnByb21vIGhncm91cCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQycHg7IH1cbiAgLnByb21vIGgyLFxuICAucHJvbW8gcCB7XG4gICAgbWF4LXdpZHRoOiA0NjBweDsgfVxuICAucHJvbW8gaDIge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnByb21vIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBjb2xvcjogIzc4ODQ5NztcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLnByb21vIC5idG4ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDc5ZmY7IH1cbiAgICAucHJvbW8gLmJ0bjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ4NmZiOyB9XG4gICAgLnByb21vIC5idG4ud2hpdGUge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgICAgIC5wcm9tbyAuYnRuLndoaXRlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgLnByb21vLS1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTEyMDM3OyB9XG4gICAgLnByb21vLS1kYXJrIGgyIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnByb21vLS1kYXJrIHAge1xuICAgICAgY29sb3I6ICNhOGIwYmU7IH1cbiAgLnByb21vX19pbGx1c3RyYXRpb24ge1xuICAgIHdpZHRoOiA0NTlweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQ4MHB4KTtcbiAgICB6LWluZGV4OiAzOyB9XG4gIC5wcm9tby5wcm9tby1yZXZlcnNlZCAuY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAucHJvbW8ucHJvbW8tcmV2ZXJzZWQgLmNvbnRhaW5lciBoZ3JvdXAge1xuICAgICAgZmxleDogMTsgfVxuICAucHJvbW8gLnByb21vX19pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMzJweCAxNXB4OyB9XG4gIC5wcm9tby5wcm9tby1idG5zIGhncm91cCwgLnByb21vLnByb21vLW5ld3NsZXR0ZXIgaGdyb3VwIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDQ2cHggMDsgfVxuICAucHJvbW8ucHJvbW8tYnRucyAuY29udGFpbmVyLCAucHJvbW8ucHJvbW8tbmV3c2xldHRlciAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMzdweDsgfVxuICAucHJvbW8ucHJvbW8tYnRucyBoMixcbiAgLnByb21vLnByb21vLWJ0bnMgcCwgLnByb21vLnByb21vLW5ld3NsZXR0ZXIgaDIsXG4gIC5wcm9tby5wcm9tby1uZXdzbGV0dGVyIHAge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAucHJvbW8ucHJvbW8tYnRucyBoMiwgLnByb21vLnByb21vLW5ld3NsZXR0ZXIgaDIge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAucHJvbW8ucHJvbW8tYnRucyBwLCAucHJvbW8ucHJvbW8tbmV3c2xldHRlciBwIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAzMWVtOyB9XG4gICAgLnByb21vLnByb21vLWJ0bnMgcDpsYXN0LWNoaWxkLCAucHJvbW8ucHJvbW8tbmV3c2xldHRlciBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucHJvbW8ucHJvbW8tYnRucyBoMSxcbiAgLnByb21vLnByb21vLWJ0bnMgaDIsXG4gIC5wcm9tby5wcm9tby1idG5zIGgzLCAucHJvbW8ucHJvbW8tbmV3c2xldHRlciBoMSxcbiAgLnByb21vLnByb21vLW5ld3NsZXR0ZXIgaDIsXG4gIC5wcm9tby5wcm9tby1uZXdzbGV0dGVyIGgzIHtcbiAgICBjb2xvcjogIzRhOGJmYzsgfVxuICAucHJvbW8ucHJvbW8tYnRucyAuYnRucywgLnByb21vLnByb21vLW5ld3NsZXR0ZXIgLmJ0bnMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5wcm9tby5wcm9tby1idG5zLCAucHJvbW8ucHJvbW8tbmV3c2xldHRlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDsgfVxuICAgICAgLnByb21vLnByb21vLWJ0bnMgLmJ0bnMsIC5wcm9tby5wcm9tby1uZXdzbGV0dGVyIC5idG5zIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAucHJvbW8ucHJvbW8tYnRucyAuYnRuLCAucHJvbW8ucHJvbW8tbmV3c2xldHRlciAuYnRuIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsgfSB9XG4gIC5wcm9tby5wcm9tby1uZXdzbGV0dGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAgIC5wcm9tby5wcm9tby1uZXdzbGV0dGVyIC5jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDZweDsgfVxuICAgIC5wcm9tby5wcm9tby1uZXdzbGV0dGVyIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnByb21vLnByb21vLW5ld3NsZXR0ZXIgLmJ0bnMge1xuICAgICAgZmxleDogMCAxIDQ3NnB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgLnByb21vLnByb21vLW5ld3NsZXR0ZXIgLmJ0bnMge1xuICAgICAgICAgIGZsZXg6IDA7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5wcm9tby5wcm9tby1uZXdzbGV0dGVyIC5idG5zIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQ3NnB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLnByb21vX19pbGx1c3RyYXRpb24ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAucHJvbW8ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDI3MnB4OyB9XG4gICAgICAucHJvbW8ucHJvbW8taW5saW5lIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY0cHg7IH1cbiAgICAgIC5wcm9tbyAuY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5wcm9tbyBoZ3JvdXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAucHJvbW8gaDIsXG4gICAgICAucHJvbW8gcCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC5wcm9tb19faWxsdXN0cmF0aW9uIHtcbiAgICAgICAgd2lkdGg6IDM4MHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE5MHB4KTsgfSB9XG4gIC5wcm9tby0tdHJpLWN0YSB7XG4gICAgYmFja2dyb3VuZDogI0Y2RjhGQjsgfVxuICAgIC5wcm9tby0tdHJpLWN0YSB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsgfVxuICAgIC5wcm9tby0tdHJpLWN0YSBsaSB7XG4gICAgICBtYXJnaW46IDI0cHggNDhweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMlIC0gNjRweCk7IH1cbiAgICAgIC5wcm9tby0tdHJpLWN0YSBsaTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcmlnaHQ6IC00OHB4O1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gNDhweCk7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREVFM0VBOyB9XG4gICAgICAucHJvbW8tLXRyaS1jdGEgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgLnByb21vLS10cmktY3RhIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLnByb21vLS10cmktY3RhIGxpOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnByb21vLS10cmktY3RhIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucHJvbW8tLXRyaS1jdGEgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGNvbG9yOiAjNzM4NDlBOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAucHJvbW8tLXRyaS1jdGEge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDsgfVxuICAgICAgICAucHJvbW8tLXRyaS1jdGEgbGkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiA0OHB4IDE2cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgLnByb21vLS10cmktY3RhIGxpOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgLnByb21vLS10cmktY3RhIGxpIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgICAgLnByb21vLS10cmktY3RhIGxpIC5idG4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4ubW9iaWxlLW5hdiB7XG4gIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5OTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogdG91Y2g7IH1cbiAgLm1vYmlsZS1uYXYub3BlbiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJldmVhbEluO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7IH1cbiAgLm1vYmlsZS1uYXYuY2xvc2VkIHtcbiAgICBhbmltYXRpb24tbmFtZTogcmV2ZWFsT3V0O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgfVxuXG5Aa2V5ZnJhbWVzIHJldmVhbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcmV2ZWFsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5tb2JpbGUtbmF2X193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4ubW9iaWxlLW5hdl9fbWVudSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBUUFBQUMxSEF3Q0FBQUFDMGxFUVZSNDJtTmtZQUFBQUFZQUFqQ0IwQzhBQUFBQVNVVk9SSzVDWUlJPSk7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWF4LXdpZHRoOiAyNzBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy10b3A6IDgwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNjBweDsgfVxuICAubW9iaWxlLW5hdl9fbWVudSBoNiB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGNvbG9yOiAjYjBiY2NmOyB9XG4gIC5vcGVuIC5tb2JpbGUtbmF2X19tZW51IHtcbiAgICBhbmltYXRpb24tbmFtZTogbmF2TWVudUluO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMXM7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuY2xvc2VkIC5tb2JpbGUtbmF2X19tZW51IHtcbiAgICBhbmltYXRpb24tbmFtZTogbmF2TWVudU91dDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7IH1cblxuQGtleWZyYW1lcyBuYXZNZW51SW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIG5hdk1lbnVPdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ubW9iaWxlLW5hdi0tZW50ZXJwcmlzZSAubW9iaWxlLW5hdl9fbWVudSB7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4ubW9iaWxlLW5hdl9fbWVudWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tdG9wOiAyOHB4OyB9XG4gIC5tb2JpbGUtbmF2X19tZW51aXRlbSArIGg2IHtcbiAgICBtYXJnaW4tdG9wOiA0NnB4OyB9XG4gIC5tb2JpbGUtbmF2X19tZW51aXRlbSBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogIzEzMTkyNDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1vYmlsZS1uYXZfX21lbnVpdGVtLnBybyBhOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAubW9iaWxlLW5hdl9fbWVudWl0ZW0ucHJvIGE6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNHB4OyB9XG4gIC5tb2JpbGUtbmF2X19tZW51aXRlbS5lbnRlcnByaXNlIGE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzM2cHg7IH1cbiAgLm1vYmlsZS1uYXZfX21lbnVpdGVtLmVudGVycHJpc2UgYTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM2MHB4OyB9XG4gIC5tb2JpbGUtbmF2X19tZW51aXRlbS5mcmFtZXdvcmsgYTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC01MjhweDsgfVxuICAubW9iaWxlLW5hdl9fbWVudWl0ZW0uZnJhbWV3b3JrIGE6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC01NTJweDsgfVxuICAubW9iaWxlLW5hdl9fbWVudWl0ZW0uc3RlbmNpbCBhOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEwNTZweDsgfVxuICAubW9iaWxlLW5hdl9fbWVudWl0ZW0uc3RlbmNpbCBhOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTA4MHB4OyB9XG4gIC5tb2JpbGUtbmF2X19tZW51aXRlbS5jYXBhY2l0b3IgYTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTA0cHg7IH1cbiAgLm1vYmlsZS1uYXZfX21lbnVpdGVtLmNhcGFjaXRvciBhOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTEyOHB4OyB9XG4gIC5tb2JpbGUtbmF2X19tZW51aXRlbS5pb25pY29uIGE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTE1MnB4OyB9XG4gIC5tb2JpbGUtbmF2X19tZW51aXRlbS5pb25pY29uIGE6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTc2cHg7IH1cbiAgLm1vYmlsZS1uYXZfX21lbnVpdGVtLmZyYW1ld29yay1kb2NzIGE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQ0MHB4OyB9XG4gIC5tb2JpbGUtbmF2X19tZW51aXRlbS5mcmFtZXdvcmstZG9jcyBhOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQ2NHB4OyB9XG4gIC5tb2JpbGUtbmF2X19tZW51aXRlbS5wcm8tZG9jcyBhOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ4cHg7IH1cbiAgLm1vYmlsZS1uYXZfX21lbnVpdGVtLnByby1kb2NzIGE6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC03MnB4OyB9XG5cbi5tb2JpbGUtbmF2LS1lbnRlcnByaXNlIC5tb2JpbGUtbmF2X19tZW51aXRlbSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5tb2JpbGUtbmF2LS1lbnRlcnByaXNlIC5tb2JpbGUtbmF2X19tZW51aXRlbSArIC5tb2JpbGUtbmF2X19tZW51aXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDsgfVxuXG4ubW9iaWxlLW5hdi0tZW50ZXJwcmlzZSAubW9iaWxlLW5hdl9fbWVudWl0ZW0tLWN0YSBhIHtcbiAgY29sb3I6ICMzODgwRkY7IH1cblxuLm1vYmlsZS1uYXZfX21lbnVpdGVtLS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi10b3A6IDI2cHg7IH1cbiAgLm1vYmlsZS1uYXZfX21lbnVpdGVtICsgLm1vYmlsZS1uYXZfX21lbnVpdGVtLS1zbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogNTZweDsgfVxuICAubW9iaWxlLW5hdl9fbWVudWl0ZW0tLXNtYWxsIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogIzU5NzdhODsgfVxuXG4ubW9iaWxlLW5hdl9fbG9nbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5cHg7XG4gIGxlZnQ6IDEzcHg7XG4gIGZpbGw6ICMzODgwRkY7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogMDsgfVxuXG4ubW9iaWxlLW5hdi0tZW50ZXJwcmlzZSAubW9iaWxlLW5hdl9fbG9nbyB7XG4gIGZpbGw6ICMwMDA7IH1cblxuLm1vYmlsZS1uYXZfX2Nsb3NlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIG9wYWNpdHk6IDAuNDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICB6LWluZGV4OiAyOyB9XG4gIC5tb2JpbGUtbmF2X19jbG9zZTpob3ZlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubW9iaWxlLW5hdl9fY2xvc2Ugc3ZnIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgZmlsbDogIzU5NzdhODtcbiAgICBtYXJnaW46IDA7IH1cblxuLm1vYmlsZS1uYXZfX2Zvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY4ZmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMTRweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAubW9iaWxlLW5hdl9fZm9vdGVyIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm1vYmlsZS1uYXZfX2Zvb3RlciBhICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cbiAgLm1vYmlsZS1uYXZfX2Zvb3RlciAuYnRuIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHggMTBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm9wZW4gLm1vYmlsZS1uYXZfX2Zvb3RlciB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IG5hdkZvb3RlckluO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42cztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMXM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5jbG9zZWQgLm1vYmlsZS1uYXZfX2Zvb3RlciB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IG5hdkZvb3Rlck91dDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7IH1cblxuQGtleWZyYW1lcyBuYXZGb290ZXJJbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgbmF2Rm9vdGVyT3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ubW9iaWxlLW5hdi0tZW50ZXJwcmlzZSAubW9iaWxlLW5hdl9fZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogI0Y5RjlGOTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1vYmlsZS1uYXYtLWVudGVycHJpc2UgLm1vYmlsZS1uYXZfX2Zvb3RlciBhIHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgY29sb3I6ICMzODgwRkY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAubW9iaWxlLW5hdi0tZW50ZXJwcmlzZSAubW9iaWxlLW5hdl9fZm9vdGVyIGlvbi1pY29uIHtcbiAgICBjb2xvcjogcmdiYSg1NiwgMTI4LCAyNTUsIDAuNyk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IC0ycHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtIGVhc2UsIC4ycyBvcGFjaXR5O1xuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XG4gICAgLm1vYmlsZS1uYXYtLWVudGVycHJpc2UgLm1vYmlsZS1uYXZfX2Zvb3RlciBpb24taWNvbi5oeWRyYXRlZCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5yZXNwb25zaXZlLWRvY3MtY29udGFpbmVyLmRvY3MtY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDUwcHg7IH1cbiAgLnJlc3BvbnNpdmUtZG9jcy1jb250YWluZXIuZG9jcy1jb250YWluZXIgLnJlc3BvbnNpdmUtc2lkZS1uYXYge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICAucmVzcG9uc2l2ZS1kb2NzLWNvbnRhaW5lci5kb2NzLWNvbnRhaW5lciAucmVzcG9uc2l2ZS1zaWRlLW5hdi5hZmZpeC10b3Age1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRvcDogMTgycHg7IH1cbiAgICAucmVzcG9uc2l2ZS1kb2NzLWNvbnRhaW5lci5kb2NzLWNvbnRhaW5lciAucmVzcG9uc2l2ZS1zaWRlLW5hdi5hZmZpeCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDE1cHg7IH1cbiAgICAucmVzcG9uc2l2ZS1kb2NzLWNvbnRhaW5lci5kb2NzLWNvbnRhaW5lciAucmVzcG9uc2l2ZS1zaWRlLW5hdi5hZmZpeC1ib3R0b20ge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgICAucmVzcG9uc2l2ZS1kb2NzLWNvbnRhaW5lci5kb2NzLWNvbnRhaW5lciAucmVzcG9uc2l2ZS1zaWRlLW5hdiAubmVzdGVkLW1lbnUge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnJlc3BvbnNpdmUtZG9jcy1jb250YWluZXIuZG9jcy1jb250YWluZXIgbWFpbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgY29sb3I6ICMzNTM5NDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7IH1cbiAgICAucmVzcG9uc2l2ZS1kb2NzLWNvbnRhaW5lci5kb2NzLWNvbnRhaW5lciBtYWluIHAge1xuICAgICAgY29sb3I6ICMzNTM5NDA7XG4gICAgICBtYXJnaW46IDEuMmVtIDAgMS42ZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7IH1cbiAgICAucmVzcG9uc2l2ZS1kb2NzLWNvbnRhaW5lci5kb2NzLWNvbnRhaW5lciBtYWluIGgxIHtcbiAgICAgIGNvbG9yOiAjMjQyODJlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgICAgbWFyZ2luOiAyZW0gMCAxZW07XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cbiAgICAgIC5yZXNwb25zaXZlLWRvY3MtY29udGFpbmVyLmRvY3MtY29udGFpbmVyIG1haW4gaDE6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnJlc3BvbnNpdmUtZG9jcy1jb250YWluZXIuZG9jcy1jb250YWluZXIgbWFpbiBoMiB7XG4gICAgICBwYWRkaW5nLXRvcDogMGVtOyB9XG5cbi5yZXNvdXJjZS1jYXJkLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfVxuXG4ucmVzb3VyY2UtY2FyZCB7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH1cblxuLnJlc291cmNlLWNhcmQtbGlzdC0tdGhpcmQgLnJlc291cmNlLWNhcmQge1xuICB3aWR0aDogMzMuMzMlOyB9XG5cbi5yZXNvdXJjZS1jYXJkLWxpc3QtLXF1YXJ0ZXIgLnJlc291cmNlLWNhcmQge1xuICB3aWR0aDogMjUlOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAucmVzb3VyY2UtY2FyZC1saXN0IHtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTJweDsgfVxuICAucmVzb3VyY2UtY2FyZCB7XG4gICAgcGFkZGluZzogMTJweDsgfVxuICAucmVzb3VyY2UtY2FyZC1saXN0LS10aGlyZCAucmVzb3VyY2UtY2FyZCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnJlc291cmNlLWNhcmQtbGlzdC0tcXVhcnRlciAucmVzb3VyY2UtY2FyZCB7XG4gICAgd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAucmVzb3VyY2UtY2FyZC1saXN0IHtcbiAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC04cHg7IH1cbiAgLnJlc291cmNlLWNhcmQge1xuICAgIHBhZGRpbmc6IDhweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAucmVzb3VyY2UtY2FyZC1saXN0LS1xdWFydGVyIC5yZXNvdXJjZS1jYXJkIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5yZXNvdXJjZS1jYXJkX19pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5yZXNvdXJjZS1jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgaGVpZ2h0OiAyNzJweDsgfVxuICAucmVzb3VyY2UtY2FyZCBhIHtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNHM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAxOHB4IDIycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyODJlO1xuICAgIGJveC1zaGFkb3c6IDBweCA4cHggMTZweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwcHggMnB4IDRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDsgfVxuICAgIC5yZXNvdXJjZS1jYXJkIGEgLnRpdGxlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXgtd2lkdGg6IDM1MHB4OyB9XG4gICAgLnJlc291cmNlLWNhcmQgYSAuZXllYnJvdyB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAucmVzb3VyY2UtY2FyZCBhIC5hY3Rpb24ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5yZXNvdXJjZS1jYXJkOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH1cbiAgLnJlc291cmNlLWNhcmQ6aG92ZXIgYSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDEycHggMjRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5yZXNvdXJjZS1jYXJkLS1saWdodCBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAucmVzb3VyY2UtY2FyZC0tbGlnaHQgYSAudGl0bGUge1xuICAgIGNvbG9yOiAjMjQyODJlOyB9XG4gIC5yZXNvdXJjZS1jYXJkLS1saWdodCBhIC5leWVicm93IHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIC5yZXNvdXJjZS1jYXJkLS1saWdodCBhIC5hY3Rpb24ge1xuICAgIGNvbG9yOiAjNGE4YmZjOyB9XG5cbi5yZXNvdXJjZS1jYXJkLWxhcmdlIGEgLnRpdGxlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzJweDsgfVxuXG4ucmVzb3VyY2UtY2FyZC1sYXJnZSBhIC5leWVicm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuXG4ucmVzb3VyY2UtY2FyZC1sYXJnZSBhIC5hY3Rpb246OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICBjb250ZW50OiAnXFxmMjg3JztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW4tbGVmdDogNnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnJlc291cmNlLWNhcmQtbGFyZ2UgYTpob3ZlciAuYWN0aW9uOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoM3B4LCAwLCAwKTsgfVxuXG4ubW9kYWwgLmNvbnRyb2wtbGFiZWwge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5tb2RhbCAuZm9ybS1jb250cm9sIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4ubW9kYWwgLmNsb3NlLFxuLm1vZGFsIC5nby1iYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMHB4O1xuICByaWdodDogLTEwcHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgYm94LXNoYWRvdzogMXB4IDFweCA1cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBvdXRsaW5lOiBub25lOyB9XG4gIC5tb2RhbCAuY2xvc2U6OmJlZm9yZSxcbiAgLm1vZGFsIC5nby1iYWNrOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGYyYzAnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjNTc2MDcwO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAubW9kYWwgLmNsb3NlIHNwYW4sXG4gIC5tb2RhbCAuZ28tYmFjayBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5tb2RhbCAuZ28tYmFjayB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAtMTBweDsgfVxuICAubW9kYWwgLmdvLWJhY2s6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjI3ZCc7IH1cblxuLm1vZGFsLmZ1bGxzY3JlZW4gLmNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubW9kYWwuZnVsbHNjcmVlbiAuY2xvc2Uge1xuICByaWdodDogMzZweDtcbiAgdG9wOiAyN3B4O1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZWJlZmY1OyB9XG4gIC5tb2RhbC5mdWxsc2NyZWVuIC5jbG9zZTo6YmVmb3JlIHtcbiAgICBjb2xvcjogIzgzOGZhNTsgfVxuXG4ubW9kYWwuZnVsbHNjcmVlbiAubW9kYWwtZGlhbG9nIHtcbiAgd2lkdGg6IDY1MXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpOyB9XG5cbi5tb2RhbC5mdWxsc2NyZWVuLmluIC5tb2RhbC1kaWFsb2cge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ubW9kYWwuZnVsbHNjcmVlbiAubW9kYWwtY29udGVudCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnNpdGUtc2VhcmNoIHtcbiAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9XG5cbi5zaXRlLXNlYXJjaF9fdHJpZ2dlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuc2l0ZS1zZWFyY2hfX3RyaWdnZXIgc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMnM7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZpbGw6ICNhOGIwYmU7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4OyB9XG4gIC5zaXRlLXNlYXJjaF9fdHJpZ2dlcjpob3ZlciBzdmcge1xuICAgIGZpbGw6ICM2MDZjODI7IH1cblxuLnNpdGUtc2VhcmNoX19pbnB1dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI3NuYXAtYmFyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDcwOTBlLCAjMmY0NTYyKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgcGFkZGluZzogMTNweCAxMHB4IDlweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAuMDA0ZW07IH1cbiAgI3NuYXAtYmFyIHN0cm9uZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDA0ZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgI3NuYXAtYmFyIC5sb2FkaW5nIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207IH1cbiAgI3NuYXAtYmFyIGEge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIGJhY2tncm91bmQ6ICMwYTBmMTY7XG4gICAgY29sb3I6ICM2YWIwZmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiA2cHggN3B4IDVweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA5ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAuMnMgY29sb3I7IH1cbiAgICAjc25hcC1iYXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgI3NuYXAtYmFyIGkge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTFweDsgfVxuICAjc25hcC1iYXIgKyAubmF2YmFyIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNzbmFwLWJhciArIC5uYXZiYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7IH0gfVxuXG5ib2R5LmRvY3MgI3NuYXAtYmFyICsgLm5hdmJhciB7XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgYm9keS5kb2NzICNzbmFwLWJhciArIC5uYXZiYXIge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG5ib2R5Lmhhcy1zbmFwIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICBib2R5Lmhhcy1zbmFwIC5zaWRlLW5hdi5hZmZpeC10b3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDM4cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgYm9keS5oYXMtc25hcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuYm9keS5kb2NzICNzbmFwLWJhciB+IC5kb2NzLWNvbnRhaW5lciAuc2lkZS1uYXYge1xuICBwYWRkaW5nLXRvcDogMzZweDsgfVxuXG5pb25pYy1zbmFwLWJhcjpub3QoLmh5ZHJhdGVkKSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIGlvbmljLXNuYXAtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuI3NvY2lhbC1zaGFyZS1zaWRlYmFyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDUwcHg7XG4gIGNvbG9yOiAjYmFjMmNmO1xuICB3aWR0aDogMjAwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAyMDBweDtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IC41cyBvcGFjaXR5OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTIwcHgpIHtcbiAgICAjc29jaWFsLXNoYXJlLXNpZGViYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNzb2NpYWwtc2hhcmUtc2lkZWJhci5hZmZpeCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMjAwcHg7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG4gICNzb2NpYWwtc2hhcmUtc2lkZWJhciBoNCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNiYWMyY2Y7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbjogLjVzIGZhZGVJbiBsaW5lYXIgM3M7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7IH1cbiAgI3NvY2lhbC1zaGFyZS1zaWRlYmFyIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAjc29jaWFsLXNoYXJlLXNpZGViYXIgbGkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIGFuaW1hdGlvbjogLjVzIGZhZGVJblVwIGxpbmVhciAzLjVzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOyB9XG4gICAgI3NvY2lhbC1zaGFyZS1zaWRlYmFyIGxpOm50aC1jaGlsZCgyKSB7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDMuOHM7IH1cbiAgICAjc29jaWFsLXNoYXJlLXNpZGViYXIgbGk6bnRoLWNoaWxkKDMpIHtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogNC4xczsgfVxuICAgICNzb2NpYWwtc2hhcmUtc2lkZWJhciBsaTpudGgtY2hpbGQoNCkge1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiA0LjNzOyB9XG4gICNzb2NpYWwtc2hhcmUtc2lkZWJhciBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cbiAgICAjc29jaWFsLXNoYXJlLXNpZGViYXIgYTo6YmVmb3JlLCAjc29jaWFsLXNoYXJlLXNpZGViYXIgYTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9zdXJ2ZXkvYmxvZy1zaGFyZS1pY29ucy5wbmdcIikgbm8tcmVwZWF0IDAgMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgb3BhY2l0eTsgfVxuICAgICNzb2NpYWwtc2hhcmUtc2lkZWJhciBhOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgI3NvY2lhbC1zaGFyZS1zaWRlYmFyIGE6aG92ZXI6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAjc29jaWFsLXNoYXJlLXNpZGViYXIgYS50d2l0dGVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMHB4OyB9XG4gICAgI3NvY2lhbC1zaGFyZS1zaWRlYmFyIGEuZmFjZWJvb2s6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4OyB9XG4gICAgI3NvY2lhbC1zaGFyZS1zaWRlYmFyIGEuZmFjZWJvb2s6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwcHg7IH1cbiAgICAjc29jaWFsLXNoYXJlLXNpZGViYXIgYS5nb29nbGUtcGx1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH1cbiAgICAjc29jaWFsLXNoYXJlLXNpZGViYXIgYS5nb29nbGUtcGx1czo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTAwcHg7IH1cbiAgICAjc29jaWFsLXNoYXJlLXNpZGViYXIgYS5idWZmZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjBweDsgfVxuICAgICNzb2NpYWwtc2hhcmUtc2lkZWJhciBhLmJ1ZmZlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQwcHg7IH1cblxuLnJvdW5kZWQtdGFicyB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDAgLTIwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnJvdW5kZWQtdGFicyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXgtd2lkdGg6IDQ2MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG4ucm91bmRlZC10YWJzX190YWIge1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5yb3VuZGVkLXRhYnNfX3RhYjo6YmVmb3JlLCAucm91bmRlZC10YWJzX190YWI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBmbGV4OiAwIDAgNTZweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDU2cHggNjRweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5yb3VuZGVkLXRhYnNfX3RhYjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2dldHRpbmctc3RhcnRlZC90YWItYm9yZGVyLWxlZnQucG5nXCIpOyB9XG4gIC5yb3VuZGVkLXRhYnNfX3RhYjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvZ2V0dGluZy1zdGFydGVkL3RhYi1ib3JkZXItcmlnaHQucG5nXCIpOyB9XG4gIC5yb3VuZGVkLXRhYnNfX3RhYiArIC5yb3VuZGVkLXRhYnNfX3RhYiB7XG4gICAgbWFyZ2luLWxlZnQ6IC01NHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5yb3VuZGVkLXRhYnNfX3RhYiB7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4zcztcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnJvdW5kZWQtdGFic19fdGFiOjpiZWZvcmUsIC5yb3VuZGVkLXRhYnNfX3RhYjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAucm91bmRlZC10YWJzX190YWIgKyAucm91bmRlZC10YWJzX190YWIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjhweDsgfSB9XG5cbi5yb3VuZGVkLXRhYnNfX3RhYi1pbm5lciB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogNjRweDtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbiAgcGFkZGluZzogMCAycHg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI0Q1RUFGRjsgfVxuICAucm91bmRlZC10YWJzX190YWItaW5uZXIgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBmbGV4OiAwIDAgMjBweDsgfVxuICAucm91bmRlZC10YWJzX190YWItaW5uZXIgc3BhbiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLnJvdW5kZWQtdGFic19fdGFiLWlubmVyIC5mcm9udCB7XG4gICAgZmlsbDogI0UxRjBGRjsgfVxuICAucm91bmRlZC10YWJzX190YWItaW5uZXIgLm1pZGRsZSB7XG4gICAgZmlsbDogIzhEQzBGRjsgfVxuICAucm91bmRlZC10YWJzX190YWItaW5uZXIgLmJhY2sge1xuICAgIGZpbGw6ICM2RkFERkY7IH1cbiAgLnJvdW5kZWQtdGFic19fdGFiLWlubmVyIC5mcm9udC0tYm9yZGVyIHtcbiAgICBzdHJva2U6ICM0RDkyRkY7IH1cbiAgLnJvdW5kZWQtdGFic19fdGFiLWlubmVyIC5taWRkbGUtLWJvcmRlciB7XG4gICAgc3Ryb2tlOiAjNEQ5M0ZGOyB9XG4gIC5yb3VuZGVkLXRhYnNfX3RhYi1pbm5lcjpob3ZlciB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5yb3VuZGVkLXRhYnNfX3RhYi1pbm5lcjpob3ZlciAuZnJvbnQge1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAucm91bmRlZC10YWJzX190YWItaW5uZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNHB4O1xuICAgICAgZmxleDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4OyB9XG4gICAgICAucm91bmRlZC10YWJzX190YWItaW5uZXIgc3ZnIHtcbiAgICAgICAgbWFyZ2luOiA4cHggMCAxMHB4OyB9IH1cblxuLnJvdW5kZWQtdGFic19fdGFiLS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucm91bmRlZC10YWJzX190YWItLWFjdGl2ZTo6YmVmb3JlLCAucm91bmRlZC10YWJzX190YWItLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5yb3VuZGVkLXRhYnNfX3RhYi0tYWN0aXZlIC5yb3VuZGVkLXRhYnNfX3RhYi1pbm5lcixcbiAgICAucm91bmRlZC10YWJzX190YWItLWFjdGl2ZSAucm91bmRlZC10YWJzX190YWItaW5uZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGNvbG9yOiAjMTYxQTFGOyB9XG4gICAgICAucm91bmRlZC10YWJzX190YWItLWFjdGl2ZSAucm91bmRlZC10YWJzX190YWItaW5uZXIgLmZyb250LFxuICAgICAgLnJvdW5kZWQtdGFic19fdGFiLS1hY3RpdmUgLnJvdW5kZWQtdGFic19fdGFiLWlubmVyOmhvdmVyIC5mcm9udCB7XG4gICAgICAgIGZpbGw6ICMzODgwRkY7IH1cbiAgICAucm91bmRlZC10YWJzX190YWItLWFjdGl2ZSAuZnJvbnQge1xuICAgICAgZmlsbDogIzM4ODBGRjsgfVxuICAgIC5yb3VuZGVkLXRhYnNfX3RhYi0tYWN0aXZlIC5taWRkbGUge1xuICAgICAgZmlsbDogI0IxRDlGRjsgfVxuICAgIC5yb3VuZGVkLXRhYnNfX3RhYi0tYWN0aXZlIC5iYWNrIHtcbiAgICAgIGZpbGw6ICNDRkU3RkY7IH1cbiAgICAucm91bmRlZC10YWJzX190YWItLWFjdGl2ZSAuZnJvbnQtLWJvcmRlcixcbiAgICAucm91bmRlZC10YWJzX190YWItLWFjdGl2ZSAubWlkZGxlLS1ib3JkZXIge1xuICAgICAgc3Ryb2tlOiAjZmZmOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnJvdW5kZWQtdGFic19fdGFiLS1hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuICAgICAgLnJvdW5kZWQtdGFic19fdGFiLS1hY3RpdmUgLnJvdW5kZWQtdGFic19fdGFiLWlubmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLnJvdW5kZWQtdGFic19fdGFiLS1hY3RpdmUgLnJvdW5kZWQtdGFic19fdGFiLWlubmVyIC5mcm9udCB7XG4gICAgICAgICAgZmlsbDogI2ZmZjsgfSB9XG5cbiNwYWdlLXByaWNpbmcgLnRhYi1jb250ZW50LFxuI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3BhZ2UtcHJpY2luZyAudGFiLWNvbnRlbnQtLWFjdGl2ZSxcbiAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudC0tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGFnLFxuLmRvY3MtY29udGFpbmVyIG1haW4gLnRhZyB7XG4gIGJhY2tncm91bmQ6ICM0YThiZmM7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nOiA1cHggN3B4IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IC41cHg7IH1cbiAgLnRhZy5ncmV5LFxuICAuZG9jcy1jb250YWluZXIgbWFpbiAudGFnLmdyZXkge1xuICAgIGJhY2tncm91bmQ6ICM4OTg5ODk7IH1cblxuLnRlc3RpbW9uaWFsLXNsaWRlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNHM7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLnRlc3RpbW9uaWFsLXNsaWRlcyB7XG4gICAgICBtaW4taGVpZ2h0OiAzNjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NjBweCkge1xuICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMge1xuICAgICAgbWluLWhlaWdodDogNDAwcHg7IH0gfVxuICAudGVzdGltb25pYWwtc2xpZGVzIC5zbGlkZSB7XG4gICAgcGFkZGluZzogOTBweCAwIDE0NnB4O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlIGg1IHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW46IDQwcHggMDsgfVxuICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlIC5hdHRyaWJ1dGlvbiB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cbiAgICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlIC5hdHRyaWJ1dGlvbiBiIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG4gICAgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUgaGdyb3VwIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA3NHB4OyB9XG4gICAgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUgLnNsaWRlX190b3BiYXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAudGVzdGltb25pYWwtc2xpZGVzIC5zbGlkZSAuc2xpZGVfX2N0YSB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgICBwYWRkaW5nOiA0cHggOHB4IDNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlIC5zbGlkZV9fY3RhIGIge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxuICAgICAgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUgLnNsaWRlX19jdGEgc3ZnIHtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjJzO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgICAgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUgLnNsaWRlX19jdGEgc3ZnOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7IH1cbiAgICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlIC5zbGlkZV9fY3RhOmhvdmVyIHN2ZzpsYXN0LWNoaWxkIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlIHtcbiAgICAgICAgcGFkZGluZzogMzJweCAwIDEwNnB4OyB9XG4gICAgICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlIC5zbGlkZV9fdG9wYmFyIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUgLnNsaWRlX19jdGEge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAgICAgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUgaDUge1xuICAgICAgICAgIG1hcmdpbjogMjBweCAwOyB9XG4gICAgICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlIGhncm91cCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMjRweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAudGVzdGltb25pYWwtc2xpZGVzIC5zbGlkZSBoZ3JvdXAge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUgLnNsaWRlX190b3BiYXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAudGVzdGltb25pYWwtc2xpZGVzIC5zbGlkZSBoNSB7XG4gICAgICAgIG1hcmdpbjogMzBweCAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTYwcHgpIHtcbiAgICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlIC5zbGlkZV9fdG9wYmFyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cbiAgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUtLWFpcmJ1cyAubG9nbyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy90ZXN0aW1vbmlhbHMvbG9nby1zcHJpdGUucG5nXCIpIG5vLXJlcGVhdCAwIC0zOHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTk4cHggNjlweDtcbiAgICB3aWR0aDogMTMxcHg7XG4gICAgaGVpZ2h0OiAzMXB4OyB9XG4gIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlLS1haXJidXMgLmF0dHJpYnV0aW9uIHtcbiAgICBjb2xvcjogIzkzOWNkNTsgfVxuICAudGVzdGltb25pYWwtc2xpZGVzIC5zbGlkZS0tYWlyYnVzIC5zbGlkZV9fY3RhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUzNjk5O1xuICAgIGNvbG9yOiAjYjViYmUyOyB9XG4gICAgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUtLWFpcmJ1cyAuc2xpZGVfX2N0YSBzdmc6Zmlyc3QtY2hpbGQge1xuICAgICAgZmlsbDogI2E4YWVkNjsgfVxuICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlLS1haXJidXMgLnNsaWRlX19jdGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI4M2FhNTsgfVxuICAudGVzdGltb25pYWwtc2xpZGVzIC5zbGlkZS0tbWFya2V0d2F0Y2ggLmxvZ28ge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvdGVzdGltb25pYWxzL2xvZ28tc3ByaXRlLnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTk4cHggNjlweDtcbiAgICB3aWR0aDogMTk4cHg7XG4gICAgaGVpZ2h0OiAzMXB4OyB9XG4gIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlLS1tYXJrZXR3YXRjaCAuYXR0cmlidXRpb24ge1xuICAgIGNvbG9yOiAjODY4ODkzOyB9XG4gIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlLS1tYXJrZXR3YXRjaCAuc2xpZGVfX2N0YSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBhMmUzNjtcbiAgICBjb2xvcjogI2E4YjBiZTsgfVxuICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlLS1tYXJrZXR3YXRjaCAuc2xpZGVfX2N0YSBzdmc6Zmlyc3QtY2hpbGQge1xuICAgICAgZmlsbDogIzlkYWJhZjsgfVxuICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlLS1tYXJrZXR3YXRjaCAuc2xpZGVfX2N0YTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGMzOTQzOyB9XG4gIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlLWltZ3Mge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlLWltZ3Mge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAudGVzdGltb25pYWwtc2xpZGVzIC5zbGlkZS1pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgICAudGVzdGltb25pYWwtc2xpZGVzIC5zbGlkZS1pbWctLWFpcmJ1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Rlc3RpbW9uaWFscy90ZXN0aW1vbmlhbC1iZy1haXJidXMuanBnXCIpOyB9XG4gICAgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUtaW1nLS1tYXJrZXR3YXRjaCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Rlc3RpbW9uaWFscy90ZXN0aW1vbmlhbC1iZy1tYXJrZXR3YXRjaC5qcGdcIik7IH1cbiAgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUtaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7XG4gICAgYm90dG9tOiAxNnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlLWluZGljYXRvciBzcGFuIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBvcGFjaXR5OiAwLjI7IH1cbiAgICAgIC50ZXN0aW1vbmlhbC1zbGlkZXMgLnNsaWRlLWluZGljYXRvciBzcGFuOmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsgfVxuICAgICAgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUtaW5kaWNhdG9yIHNwYW46aG92ZXI6bm90KC5hY3RpdmUpOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjQpOyB9XG4gICAgICAudGVzdGltb25pYWwtc2xpZGVzIC5zbGlkZS1pbmRpY2F0b3Igc3Bhbjpob3ZlciwgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUtaW5kaWNhdG9yIHNwYW4uYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnRlc3RpbW9uaWFsLXNsaWRlcyAuc2xpZGUtaW5kaWNhdG9yIHNwYW4uYWN0aXZlIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4udG9vbHRpcCB7XG4gIHdpZHRoOiAzMDBweDsgfVxuICAudG9vbHRpcCAudG9vbHRpcC1pbm5lciB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpOyB9XG4gIC50b29sdGlwIC50b29sdGlwLWFycm93IHtcbiAgICBvcGFjaXR5OiAuODU7IH1cblxudGlwcHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgdGlwcHkgLnRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAxKTtcbiAgICB0cmFuc2l0aW9uOiAuMTVzIHRyYW5zZm9ybSBsaW5lYXI7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAyMDBweDsgfVxuICAgIHRpcHB5IC50aXA6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC01cHg7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgdGlwcHkgLnRpcDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDAgNXB4IDVweCA1cHg7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTVweDtcbiAgICAgIHJpZ2h0OiA2cHg7IH1cbiAgICB0aXBweSAudGlwIGEge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICB0aXBweSAudGlwIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICB0aXBweSAudGlwLnJpZ2h0LCB0aXBweSAudGlwLmxlZnQge1xuICAgICAgbGVmdDogMjhweDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDI1N3B4O1xuICAgICAgdG9wOiAtNzZweDtcbiAgICAgIGJhY2tncm91bmQ6ICMzYjQzNGY7XG4gICAgICBwYWRkaW5nOiAxNHB4IDIwcHggNnB4O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjA3cHg7IH1cbiAgICAgIHRpcHB5IC50aXAucmlnaHQ6OmFmdGVyLCB0aXBweSAudGlwLmxlZnQ6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICMzYjQzNGYgNTAlLCB0cmFuc3BhcmVudCA1MCUpO1xuICAgICAgICB0b3A6IGNhbGMoNTAlICsgN3B4KTtcbiAgICAgICAgbGVmdDogLTZweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgICB0aXBweSAudGlwLmxlZnQge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAyOHB4OyB9XG4gICAgICB0aXBweSAudGlwLmxlZnQ6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC02cHg7IH1cbiAgICB0aXBweSAudGlwLmJvdHRvbSB7XG4gICAgICBsZWZ0OiAtMTcwcHg7IH1cbiAgICB0aXBweSAudGlwLnRvcCB7XG4gICAgICBsZWZ0OiAtMTcwcHg7XG4gICAgICBib3R0b206IDIzcHg7IH1cbiAgICAgIHRpcHB5IC50aXAudG9wOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICByaWdodDogMThweDsgfVxuICAgIHRpcHB5IC50aXAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgdGlwcHkgPiBpIHtcbiAgICBmb250LXNpemU6IDY3JTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMWVtO1xuICAgIHBhZGRpbmc6IDNweCA1cHggMnB4O1xuICAgIGJhY2tncm91bmQ6ICNjMmM4ZDI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTAuMmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgdGlwcHk6aG92ZXIgLnRpcCwgdGlwcHkuYWN0aXZlIC50aXAge1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMS41LCAwLjUsIDEpO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4zcztcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSW50ZXIgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIGJvZHkge1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH0gfVxuICBib2R5IC5kb2NzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmOWZhZmIsICNmOWZhZmIgMjMwcHgsIHdoaXRlIDIzMHB4LCB3aGl0ZSAxMDAlKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5I3BhZ2UtcHJpY2luZy10YWJsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMHB4OyB9IH1cbiAgYm9keS5uby1zY3JvbGwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxubWFpbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuI2NvbXBvbmVudHMtaW5kZXggdWwubmF2ID4gbGkgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y5RkFGQjsgfVxuXG4uaW1wcm92ZS1kb2NzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMy41ZW07XG4gIHRvcDogMjBweDsgfVxuXG4uaW1wcm92ZS12Mi1kb2NzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogLTdlbTsgfVxuXG4uY29tcG9uZW50LWRvYy1kZW1vIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogLTMuMWVtO1xuICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAuY29tcG9uZW50LWRvYy1kZW1vIC5jb21wb25lbnQtZG9jLWRlbW8tbW9iaWxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDsgfVxuXG4uY29tcG9uZW50LWRvYy1kZW1vLW1vYmlsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogM3B4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0YThiZmM7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi5kb2NzLWNvbnRhaW5lciAuc2lkZS1uYXYge1xuICB3aWR0aDogMjMwcHg7IH1cblxuLmRvY3MtY29udGFpbmVyID4gbWFpbiB7XG4gIG1hcmdpbi1sZWZ0OiAyMzBweDsgfVxuXG4uZG9jcy1jb250YWluZXIgPiBhc2lkZSB7XG4gIHdpZHRoOiA0NjdweDsgfVxuICAuZG9jcy1jb250YWluZXIgPiBhc2lkZSArIG1haW4ge1xuICAgIG1hcmdpbi1yaWdodDogNDA3cHg7XG4gICAgbWluLWhlaWdodDogNzc3cHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAuZG9jcy1jb250YWluZXIgYXNpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZG9jcy1jb250YWluZXIgYXNpZGUgKyBtYWluIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuZG9jcy1jb250YWluZXIgLmNvbXBvbmVudC1kb2MtZGVtby1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZG9jcy1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAuZG9jcy1jb250YWluZXIgbWFpbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweCAxMDBweDsgfVxuICAgIC5kb2NzLWNvbnRhaW5lciAjc2lkZS1uYXYge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogLTRweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjMwcHgpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlOyB9XG4gICAgICAuZG9jcy1jb250YWluZXIgI3NpZGUtbmF2LnNob3duIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTsgfSB9XG5cbmh0bWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgLTEzMHB4OyB9XG5cbmEge1xuICBjb2xvcjogIzRhOGJmYztcbiAgdHJhbnNpdGlvbjogLjNzIGNvbG9yOyB9XG5cbi5mb290ZXItbGlua3Mge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDI3MHB4O1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMTMwcHg7XG4gIHJpZ2h0OiA0MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5mb290ZXItbGlua3Mge1xuICAgICAgbGVmdDogNDBweDsgfSB9XG5cbmEuZm9vdGVyLWxpbmsge1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogNTAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICByaWdodDogNDBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4yczsgfVxuICBhLmZvb3Rlci1saW5rLnByZXYge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgYS5mb290ZXItbGluay5wcmV2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgYS5mb290ZXItbGluay5wcmV2OjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1ByZXZpb3VzJzsgfVxuICAgIGEuZm9vdGVyLWxpbmsucHJldjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAtMjVweDtcbiAgICAgIGNvbnRlbnQ6ICdcXGYxMTcnOyB9XG4gIGEuZm9vdGVyLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gIGEuZm9vdGVyLWxpbms6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJ05leHQnO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzlkYTViMztcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIGEuZm9vdGVyLWxpbms6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFxmMTE5JztcbiAgICBmb250LWZhbWlseTogSW9uaWNvbnM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMjVweDtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3R0b206IC0xMHB4OyB9XG5cbi5wbGF0Zm9ybS1wcmV2aWV3IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICByaWdodDogLTIwcHg7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC5wbGF0Zm9ybS1wcmV2aWV3LmZpeGV5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwOyB9XG4gIC5wbGF0Zm9ybS1wcmV2aWV3ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTI1cHg7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gICAgLnBsYXRmb3JtLXByZXZpZXcgPiBhLCAucGxhdGZvcm0tcHJldmlldyA+IGE6aG92ZXIsIC5wbGF0Zm9ybS1wcmV2aWV3ID4gYTphY3RpdmUsIC5wbGF0Zm9ybS1wcmV2aWV3ID4gYTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnBsYXRmb3JtLXByZXZpZXcgLnBsYXRmb3JtLXRvZ2dsZSBhLCAuZG9jcy1jb250YWluZXIgLnNhc3MtcGxhdGZvcm0tdG9nZ2xlIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNHB4IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGNvbG9yOiAjOWRhNWIzO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB0cmFuc2l0aW9uOiAuMnMgY29sb3IsIC4ycyBiYWNrZ3JvdW5kLWNvbG9yOyB9XG4gIC5wbGF0Zm9ybS1wcmV2aWV3IC5wbGF0Zm9ybS10b2dnbGUgYS5hY3RpdmUsIC5wbGF0Zm9ybS1wcmV2aWV3IC5wbGF0Zm9ybS10b2dnbGUgYS5hY3RpdmU6aG92ZXIsIC5kb2NzLWNvbnRhaW5lciAuc2Fzcy1wbGF0Zm9ybS10b2dnbGUgYS5hY3RpdmUsIC5kb2NzLWNvbnRhaW5lciAuc2Fzcy1wbGF0Zm9ybS10b2dnbGUgYS5hY3RpdmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YThiZmM7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC5wbGF0Zm9ybS1wcmV2aWV3IC5wbGF0Zm9ybS10b2dnbGUgYTpob3ZlciwgLmRvY3MtY29udGFpbmVyIC5zYXNzLXBsYXRmb3JtLXRvZ2dsZSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzRhOGJmYztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnBsYXRmb3JtLXByZXZpZXcgLnBsYXRmb3JtLXRvZ2dsZSB7XG4gIHBhZGRpbmc6IDhweCAxMHB4IDRweDsgfVxuXG4uZG9jcy1jb250YWluZXIgLnNhc3MtcGxhdGZvcm0tdG9nZ2xlIHtcbiAgcGFkZGluZy10b3A6IDBweCAxMHB4IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbiNzYXNzLXZhcmlhYmxlLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgcGFkZGluZy1ib3R0b206IDBweDsgfVxuXG4jc2Fzcy12YXJpYWJsZXMge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm90dG9tOiAxNXB4OyB9XG4gICNzYXNzLXZhcmlhYmxlcyAudGFibGUucGFyYW0tdGFibGUgdGQsXG4gICNzYXNzLXZhcmlhYmxlcyAudGFibGUucGFyYW0tdGFibGUgdGgge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAjc2Fzcy12YXJpYWJsZXMgLnRhYmxlLnBhcmFtLXRhYmxlIHRkOmxhc3QtY2hpbGQsICNzYXNzLXZhcmlhYmxlcyAudGFibGUucGFyYW0tdGFibGUgdGQ6bnRoLWxhc3QtY2hpbGQoMiksXG4gICAgI3Nhc3MtdmFyaWFibGVzIC50YWJsZS5wYXJhbS10YWJsZSB0aDpsYXN0LWNoaWxkLFxuICAgICNzYXNzLXZhcmlhYmxlcyAudGFibGUucGFyYW0tdGFibGUgdGg6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAgICNzYXNzLXZhcmlhYmxlcyAudGFibGUucGFyYW0tdGFibGUgdGQ6bnRoLWxhc3QtY2hpbGQoMiksXG4gICAgI3Nhc3MtdmFyaWFibGVzIC50YWJsZS5wYXJhbS10YWJsZSB0aDpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICB3aWR0aDogMTAlOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzAwcHgpIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAjc2Fzcy12YXJpYWJsZXMge1xuICAgIGJvdHRvbTogLTEwcHg7IH1cbiAgICAjc2Fzcy12YXJpYWJsZXMgLnRhYmxlLnBhcmFtLXRhYmxlIHRkLFxuICAgICNzYXNzLXZhcmlhYmxlcyAudGFibGUucGFyYW0tdGFibGUgdGgge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAgICAgI3Nhc3MtdmFyaWFibGVzIC50YWJsZS5wYXJhbS10YWJsZSB0ZDpudGgtbGFzdC1jaGlsZCgyKSxcbiAgICAgICNzYXNzLXZhcmlhYmxlcyAudGFibGUucGFyYW0tdGFibGUgdGg6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAjc2Fzcy12YXJpYWJsZXMge1xuICAgIGJvdHRvbTogLTI1cHg7IH1cbiAgICAjc2Fzcy12YXJpYWJsZXMgLnRhYmxlLnBhcmFtLXRhYmxlIHRyLCAjc2Fzcy12YXJpYWJsZXMgLnRhYmxlLnBhcmFtLXRhYmxlIHRkIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH0gfVxuXG4jZGVtby1kZXZpY2UtaW9zLCAjZGVtby1kZXZpY2UtYW5kcm9pZCwgI2RlbW8tZGV2aWNlLXdpbmRvd3Mge1xuICB3aWR0aDogNDY3cHg7XG4gIGhlaWdodDogODAwcHg7XG4gIGJhY2tncm91bmQ6IGNlbnRlciB0b3Agbm8tcmVwZWF0IHVybChcIi9pbWcvZGV2aWNlcy1zcHJpdGUuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQ2N3B4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICAjZGVtby1kZXZpY2UtaW9zIGlmcmFtZSwgI2RlbW8tZGV2aWNlLWFuZHJvaWQgaWZyYW1lLCAjZGVtby1kZXZpY2Utd2luZG93cyBpZnJhbWUge1xuICAgIG1hcmdpbi10b3A6IDg1cHg7XG4gICAgd2lkdGg6IDMyMHB4O1xuICAgIGhlaWdodDogNTY4cHg7IH1cblxuI2RlbW8tZGV2aWNlLWFuZHJvaWQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9XG4gICNkZW1vLWRldmljZS1hbmRyb2lkIGlmcmFtZSB7XG4gICAgbWFyZ2luLXRvcDogNjRweDtcbiAgICB3aWR0aDogMzYwcHg7XG4gICAgaGVpZ2h0OiA1OTBweDsgfVxuXG4jZGVtby1kZXZpY2Utd2luZG93cyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207IH1cbiAgI2RlbW8tZGV2aWNlLXdpbmRvd3MgaWZyYW1lIHtcbiAgICBtYXJnaW4tdG9wOiA3MnB4O1xuICAgIHdpZHRoOiAzNTBweDtcbiAgICBoZWlnaHQ6IDYyMnB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG5cbmxpLm5hdi1pdGVtLWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICBsZWZ0OiAtOTk5OXB4OyB9XG5cbnVsLmRvY3MtY29udGVudCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cbiAgdWwuZG9jcy1jb250ZW50IGxpLmRvY3MtY29udGVudC1oZWFkZXIge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICNCOUJFQzU7IH1cblxudWwuZG9jcy1leGFtcGxlIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogM2VtIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICB1bC5kb2NzLWV4YW1wbGUgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlOWVlO1xuICAgIHdpZHRoOiAzMiU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDglIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgdWwuZG9jcy1leGFtcGxlIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH0gfVxuICAgIHVsLmRvY3MtZXhhbXBsZSBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMSU7IH1cbiAgdWwuZG9jcy1leGFtcGxlIGxpIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDU1LjclOyB9XG5cbi5oaWdobGlnaHQgLmVyciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLnBhcmFtLXRhYmxlIHRkIHAge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG5cbi5wYXJhbS10YWJsZSB0ZCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogLTdweDtcbiAgbWFyZ2luLWxlZnQ6IC05MnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlOWVlO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgcGFkZGluZzogMTBweCAxN3B4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC41ZW07IH1cbiAgLnBhcmFtLXRhYmxlIHRkIHVsIGxpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMTdweCAwOyB9XG5cbi5yZXR1cm4tdmFsdWUgYjo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBjb250ZW50OiAnXFxmMjAzJztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgdG9wOiAycHg7IH1cblxuLmRvY3MtY29udGFpbmVyIGgyIGE6bm90KFtyb2xlPVwiYnV0dG9uXCJdKSwgLmRvY3MtY29udGFpbmVyIGgzIGE6bm90KFtyb2xlPVwiYnV0dG9uXCJdKSB7XG4gIGNvbG9yOiAjMjYyOTJlICFpbXBvcnRhbnQ7IH1cbiAgLmRvY3MtY29udGFpbmVyIGgyIGE6bm90KFtyb2xlPVwiYnV0dG9uXCJdKTpob3ZlciwgLmRvY3MtY29udGFpbmVyIGgzIGE6bm90KFtyb2xlPVwiYnV0dG9uXCJdKTpob3ZlciB7XG4gICAgY29sb3I6ICMyNjI5MmUgIWltcG9ydGFudDsgfVxuXG4uaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZmFxLXNlY3Rpb24ge1xuICBtYXJnaW46IDgwcHggYXV0bzsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZS1zbSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLm5hdGl2ZS1kb2NzIGEge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuW25nXFw6Y2xvYWtdLCBbbmctY2xvYWtdLCBbZGF0YS1uZy1jbG9ha10sIFt4LW5nLWNsb2FrXSwgLm5nLWNsb2FrLCAueC1uZy1jbG9hayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4jaHVic3BvdC1tZXNzYWdlcy1pZnJhbWUtY29udGFpbmVyIHtcbiAgei1pbmRleDogMTsgfVxuXG4ucGFnZS00MDQgLmZvdXItb2gtZm91ciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGFnZS00MDQgLmZvdXItb2gtZm91ciBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzM2cHg7IH1cbiAgLnBhZ2UtNDA0IC5mb3VyLW9oLWZvdXIgcCB7XG4gICAgY29sb3I6ICM5ZGE1YjM7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC5wYWdlLTQwNCAuZm91ci1vaC1mb3VyIGEge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLnBhZ2UtNDA0IC5mb3VyLW9oLWZvdXIgYTo6YWZ0ZXIge1xuICAgICAgZm9udC1mYW1pbHk6IElvbmljb25zO1xuICAgICAgY29udGVudDogJ1xcZjI4Nyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMnB4OyB9XG5cbiNwYWdlLWFydGljbGVzLXdoeS1oeWJyaWQgLnNpZ251cC1mb3JtIC5jYXJkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9hcnRpY2xlcy93aHktaHlicmlkLWNvdmVyLmpwZ1wiKTsgfVxuXG4jcGFnZS1ib29rcy1uYXRpdmUtdi1oeWJyaWQge1xuICBiYWNrZ3JvdW5kOiAjZTFlNmVmO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNlMWU2ZWYsICNlMWU2ZWYgNTAlLCAjMTIyMTM4IDUwJSwgIzEyMjU0MSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gICNwYWdlLWJvb2tzLW5hdGl2ZS12LWh5YnJpZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICMxMTFjMmMsICMxMjI1NDEpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMDsgfVxuICAjcGFnZS1ib29rcy1uYXRpdmUtdi1oeWJyaWQgbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgI3BhZ2UtYm9va3MtbmF0aXZlLXYtaHlicmlkIGFzaWRlLFxuICAjcGFnZS1ib29rcy1uYXRpdmUtdi1oeWJyaWQgaGdyb3VwIHtcbiAgICBmbGV4OiAwIDAgNTAlOyB9XG4gICNwYWdlLWJvb2tzLW5hdGl2ZS12LWh5YnJpZCBhc2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvYm9va3Mvd2ViLWVib29rLWNvdmVyLmpwZ1wiKSBuby1yZXBlYXQgY2FsYygxMDAlIC0gMXB4KSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxNjBweDsgfVxuICAjcGFnZS1ib29rcy1uYXRpdmUtdi1oeWJyaWQgaGdyb3VwIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7IH1cbiAgICAjcGFnZS1ib29rcy1uYXRpdmUtdi1oeWJyaWQgaGdyb3VwIGgxIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS40ZW07IH1cbiAgICAjcGFnZS1ib29rcy1uYXRpdmUtdi1oeWJyaWQgaGdyb3VwIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuN2VtO1xuICAgICAgbWFyZ2luOiAzOHB4IDA7IH1cbiAgICAjcGFnZS1ib29rcy1uYXRpdmUtdi1oeWJyaWQgaGdyb3VwIC5idG4ge1xuICAgICAgY29sb3I6ICM3NzNlMDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZjYjJjOyB9XG4gICNwYWdlLWJvb2tzLW5hdGl2ZS12LWh5YnJpZCAubW9kYWwgaGdyb3VwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7IH1cbiAgI3BhZ2UtYm9va3MtbmF0aXZlLXYtaHlicmlkIC5tb2RhbCBoMyB7XG4gICAgY29sb3I6ICMyNDI4MmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3BhZ2UtYm9va3MtbmF0aXZlLXYtaHlicmlkIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlMWU2ZWY7IH1cbiAgICAgICNwYWdlLWJvb2tzLW5hdGl2ZS12LWh5YnJpZDo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgI3BhZ2UtYm9va3MtbmF0aXZlLXYtaHlicmlkIG1haW4ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAjcGFnZS1ib29rcy1uYXRpdmUtdi1oeWJyaWQgbWFpbiBhc2lkZSB7XG4gICAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDUwJSArIDMzcHgpIDUwJTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA2NHB4OyB9XG4gICAgICAgICNwYWdlLWJvb2tzLW5hdGl2ZS12LWh5YnJpZCBtYWluIGhncm91cCB7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDQ4cHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgICNwYWdlLWJvb2tzLW5hdGl2ZS12LWh5YnJpZCBtYWluIGhncm91cDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgIzExMWMyYywgIzEyMjU0MSk7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICAgICAgICAgIGxlZnQ6IC0xNXB4O1xuICAgICAgICAgICAgYm90dG9tOiAwOyB9XG4gICAgICAgICAgI3BhZ2UtYm9va3MtbmF0aXZlLXYtaHlicmlkIG1haW4gaGdyb3VwID4gKiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG4uYm9vay1wcmV2aWV3IHtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIyNTQxO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICMxMTFjMmMsICMxMjI1NDEpO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbiNwYWdlLWNvbW11bml0eSAuYmFubmVyLFxuI3BhZ2UtY29tbXVuaXR5IG1haW4ge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgaDEsXG4gICNwYWdlLWNvbW11bml0eSAuYmFubmVyIGgyLFxuICAjcGFnZS1jb21tdW5pdHkgLmJhbm5lciBoMyxcbiAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgaDQsXG4gICNwYWdlLWNvbW11bml0eSAuYmFubmVyIHN0cm9uZyxcbiAgI3BhZ2UtY29tbXVuaXR5IG1haW4gaDEsXG4gICNwYWdlLWNvbW11bml0eSBtYWluIGgyLFxuICAjcGFnZS1jb21tdW5pdHkgbWFpbiBoMyxcbiAgI3BhZ2UtY29tbXVuaXR5IG1haW4gaDQsXG4gICNwYWdlLWNvbW11bml0eSBtYWluIHN0cm9uZyB7XG4gICAgY29sb3I6ICMwZjE2MjI7XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICAjcGFnZS1jb21tdW5pdHkgLmJhbm5lciBhLFxuICAjcGFnZS1jb21tdW5pdHkgbWFpbiBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgaGdyb3VwIHAsXG4gICNwYWdlLWNvbW11bml0eSBtYWluIGhncm91cCBwIHtcbiAgICBjb2xvcjogIzRhNTg2ZjsgfVxuXG4jcGFnZS1jb21tdW5pdHkgLmJhbm5lciB7XG4gIGJhY2tncm91bmQ6ICNmY2ZkZmYgbm8tcmVwZWF0IDAgMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9jb21tdW5pdHkvaGVyby1iZy5qcGdcIiksIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmYWZjZmQsICNmNGY1ZjcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyLCAxMDAlO1xuICBwYWRkaW5nLXRvcDogMjI2cHg7XG4gIG1hcmdpbi10b3A6IC0xMTBweDtcbiAgd2lsbC1jaGFuZ2U6IHRyYXNuZm9ybTsgfVxuICAjcGFnZS1jb21tdW5pdHkgLmJhbm5lciBoZ3JvdXAge1xuICAgIG1heC13aWR0aDogNzY4cHg7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYXNuZm9ybTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgaGdyb3VwIGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLmJhbm5lciBoZ3JvdXAgbGkgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjNweDsgfVxuICAjcGFnZS1jb21tdW5pdHkgLmJhbm5lciBwIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcbiAgICBsaW5lLWhlaWdodDogMzZweDsgfVxuICAjcGFnZS1jb21tdW5pdHkgLmJhbm5lciB1bCB7XG4gICAgcGFkZGluZzogMzNweCAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICNwYWdlLWNvbW11bml0eSAuYmFubmVyIGxpIHtcbiAgICBmb250LXNpemU6IDI0cHg7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmJhbm5lciBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICNwYWdlLWNvbW11bml0eSAuYmFubmVyIGxpIGEge1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyNGVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZTtcbiAgICAgIGNvbG9yOiAjMDA3OWZmO1xuICAgICAgdHJhbnNpdGlvbjogLjFzIG9wYWNpdHksIC4xcyBjb2xvcjsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgbGkgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNGRhMWZmOyB9XG4gICAgICAgICNwYWdlLWNvbW11bml0eSAuYmFubmVyIGxpIGE6aG92ZXIgaW9uLWljb24ge1xuICAgICAgICAgIGNvbG9yOiAjNGRhMWZmO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgbGkgaW9uLWljb24ge1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IC0xMCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0cmFuc2l0aW9uOiAuMXMgdHJhbnNmb3JtIGVhc2Utb3V0OyB9XG4gICNwYWdlLWNvbW11bml0eSAuYmFubmVyIC5mZWF0dXJlcyB7XG4gICAgbWF4LXdpZHRoOiA5ODJweDtcbiAgICBtYXJnaW4tdG9wOiAxMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjdweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lsbC1jaGFuZ2U6IHRyYXNuZm9ybTsgfVxuICAgICNwYWdlLWNvbW11bml0eSAuYmFubmVyIC5mZWF0dXJlczo6YmVmb3JlLCAjcGFnZS1jb21tdW5pdHkgLmJhbm5lciAuZmVhdHVyZXM6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmJhbm5lciAuZmVhdHVyZXMgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWluLXdpZHRoOiAxMjhweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMnB4OyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgLmZlYXR1cmVzIHN0cm9uZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMzdweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gICAgICBsaW5lLWhlaWdodDogNDBweDsgfVxuICAgICNwYWdlLWNvbW11bml0eSAuYmFubmVyIC5mZWF0dXJlcyBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICM3MjdjOGU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNwYWdlLWNvbW11bml0eSAuYmFubmVyIC5mZWF0dXJlcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgaDEsXG4gICNwYWdlLWNvbW11bml0eSAuYmFubmVyIHAsXG4gICNwYWdlLWNvbW11bml0eSAuYmFubmVyIGxpIHtcbiAgICBhbmltYXRpb246IDFzIGZhZGVJblVwIGZvcndhcmRzO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgaDEge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLjhzOyB9XG4gICNwYWdlLWNvbW11bml0eSAuYmFubmVyIHAge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMXM7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgaGdyb3VwIGxpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDEuNnM7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmJhbm5lciBoZ3JvdXAgbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMS43czsgfVxuICAgICNwYWdlLWNvbW11bml0eSAuYmFubmVyIGhncm91cCBsaTpudGgtY2hpbGQoMykge1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjhzOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgaGdyb3VwIGxpOm50aC1jaGlsZCg0KSB7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDEuOXM7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgLmZlYXR1cmVzIGxpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDIuMnM7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmJhbm5lciAuZmVhdHVyZXMgbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMi4zczsgfVxuICAgICNwYWdlLWNvbW11bml0eSAuYmFubmVyIC5mZWF0dXJlcyBsaTpudGgtY2hpbGQoMykge1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAyLjRzOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIgLmZlYXR1cmVzIGxpOm50aC1jaGlsZCg0KSB7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDIuNXM7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5iYW5uZXIge1xuICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAuYmFubmVyIGhncm91cCxcbiAgICAgICNwYWdlLWNvbW11bml0eSAuYmFubmVyIC5mZWF0dXJlcyB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuI3BhZ2UtY29tbXVuaXR5IG1haW4ge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbiNwYWdlLWNvbW11bml0eSAubWVldHVwcyB7XG4gIHBhZGRpbmctdG9wOiA5NnB4OyB9XG4gICNwYWdlLWNvbW11bml0eSAubWVldHVwcyAuc3BsaXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICNwYWdlLWNvbW11bml0eSAubWVldHVwcyAuc3BsaXQgLmJ0bnMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAubWVldHVwcyAuc3BsaXQgLmJ0biB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgLnNwbGl0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5tZWV0dXBzIGhncm91cCB7XG4gICAgbWF4LXdpZHRoOiA1OTJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgaGdyb3VwIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMzFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMDZlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgaGdyb3VwIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMDVlbTsgfVxuICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgLmJ0bnMge1xuICAgIHBhZGRpbmctdG9wOiA3OHB4OyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5tZWV0dXBzIC5idG5zIDpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDZweDsgfVxuICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgLmJ0biB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDE0cHggMThweCAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTsgfVxuICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDY0cHggMCA4MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIGFuaW1hdGlvbjogMXMgZmFkZUluIGZvcndhcmRzIDFzOyB9XG4gICNwYWdlLWNvbW11bml0eSAubWVldHVwcyBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4OyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5tZWV0dXBzIGxpIGEge1xuICAgICAgcGFkZGluZzogMTZweCAzNXB4IDE0cHggNzNweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjogLjRzIHRyYW5zZm9ybSBlYXNlOyB9XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgbGkgYTo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgOCwgMjQsIDAuMDgpLCAwIDJweCA0cHggcmdiYSgwLCA4LCAyNCwgMC4wNCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjFzIGVhc2UsIHRyYW5zZm9ybSAuMXMgZWFzZTsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5tZWV0dXBzIGxpIGE6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9jb21tdW5pdHkvZmxhZ3MucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDhweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAxMXB4O1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMjRweCk7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgbGkgYS51azo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDBweDsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5tZWV0dXBzIGxpIGEuY2g6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5tZWV0dXBzIGxpIGEuZGU6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5tZWV0dXBzIGxpIGEuaWw6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQ0cHg7IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAubWVldHVwcyBsaSBhLnVzOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgbGkgYS5icjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNDBweDsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5tZWV0dXBzIGxpIGEubmw6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjg4cHg7IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAubWVldHVwcyBsaSBhLmVzOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMzNnB4OyB9XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgbGkgYS5hbXM6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzg0cHg7IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAubWVldHVwcyBsaSBhLmluOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQzMnB4OyB9XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgbGkgYS55dnI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDgwcHg7IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAubWVldHVwcyBsaSBhLnRyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTUyOHB4OyB9XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgbGkgYS5hdTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC01NzZweDsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5tZWV0dXBzIGxpIGEuZGs6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjI0cHg7IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAubWVldHVwcyBsaSBhLmh1OjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY3MnB4OyB9XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgbGkgYS5jbzo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC03MjBweDsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5tZWV0dXBzIGxpIGEuanA6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzY4cHg7IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAubWVldHVwcyBsaSBhLnVnOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgxNnB4OyB9XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgbGkgYS5oazo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04NjRweDsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5tZWV0dXBzIGxpIGEubmc6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTEycHg7IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAubWVldHVwcyBsaSBhLnR6OjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk2MHB4OyB9XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgbGkgYS50aDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMDA4cHg7IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAubWVldHVwcyBsaSBhOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9XG4gICAgICAgICNwYWdlLWNvbW11bml0eSAubWVldHVwcyBsaSBhOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAxOHB4IHJnYmEoMCwgOCwgMjQsIDAuMSksIDAgNHB4IDhweCByZ2JhKDAsIDgsIDI0LCAwLjA4KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMSwgMS4wMiwgMSk7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgbGkgc3Ryb25nLFxuICAgICNwYWdlLWNvbW11bml0eSAubWVldHVwcyBsaSBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLm1lZXR1cHMgbGkgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICBjb2xvcjogIzBmMTYyMjsgfVxuICAgICNwYWdlLWNvbW11bml0eSAubWVldHVwcyBsaSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG4gICAgICBjb2xvcjogIzUwNjE3NjsgfVxuXG4jcGFnZS1jb21tdW5pdHkgLmltYWdlLXdhbGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLXRvcDogMjIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICNwYWdlLWNvbW11bml0eSAuaW1hZ2Utd2FsbCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG4gICNwYWdlLWNvbW11bml0eSAuaW1hZ2Utd2FsbCBpbWcge1xuICAgIGhlaWdodDogMjU2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLWNvbW11bml0eSAuaW1hZ2Utd2FsbCBpbWcge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWNvbW11bml0eSAuaW1hZ2Utd2FsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTVweDsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5pbWFnZS13YWxsIGltZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDEyOHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ0MHB4KSB7XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5pbWFnZS13YWxsIGltZyB7XG4gICAgICBoZWlnaHQ6IDY0cHg7IH0gfVxuXG4jcGFnZS1jb21tdW5pdHkgLmxlYWRlcnMge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjdmOWZiLCB3aGl0ZSA1MCUsIHdoaXRlKTtcbiAgbWFyZ2luLXRvcDogLTE0MnB4O1xuICBwYWRkaW5nLXRvcDogMTgycHg7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIGhncm91cCB7XG4gICAgbWFyZ2luOiA4NHB4IGF1dG8gNjZweDtcbiAgICBtYXgtd2lkdGg6IDY4NHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICNwYWdlLWNvbW11bml0eSAubGVhZGVycyBoZ3JvdXAgaDIge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsgfVxuICAgICNwYWdlLWNvbW11bml0eSAubGVhZGVycyBoZ3JvdXAgcCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMTVweDsgfVxuICAgICNwYWdlLWNvbW11bml0eSAubGVhZGVycyB1bDo6YmVmb3JlLCAjcGFnZS1jb21tdW5pdHkgLmxlYWRlcnMgdWw6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIGxpIHtcbiAgICBmbGV4OiAwIDAgMjcxcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiA4MnB4IDI0cHggMThweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDU1cHg7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmxlYWRlcnMgbGk6OmJlZm9yZSwgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIGxpOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICNwYWdlLWNvbW11bml0eSAubGVhZGVycyBsaTo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgOCwgMjQsIDAuMDgpLCAwcHggOHB4IDMycHggcmdiYSgwLCA4LCAyNCwgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBib3gtc2hhZG93IGVhc2Utb3V0LCAuMnMgdHJhbnNmb3JtIGVhc2Utb3V0OyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIGxpOjphZnRlciB7XG4gICAgICB0b3A6IC0yMHB4O1xuICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gNDVweCk7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2NvbW11bml0eS9jb21tdW5pdHktbGVhZGVycy1hdmF0YXJzLnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA5MHB4O1xuICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgd2lkdGg6IDkwcHg7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmxlYWRlcnMgbGkuc2ltb246OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMHB4OyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIGxpLmpvc2g6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTkwcHg7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmxlYWRlcnMgbGkuam9yZ2U6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE4MHB4OyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIGxpLnZlbmk6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI3MHB4OyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIGxpLmFzaHRleWE6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM2MHB4OyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIGxpLnBhdWw6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ1MHB4OyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIGxpLnNhbmk6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTU0MHB4OyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIGxpLmxlaWY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYzMHB4OyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIGxpLmRhdmlkOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC03MjBweDsgfVxuICAgICNwYWdlLWNvbW11bml0eSAubGVhZGVycyBsaS5jaHJpczo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODEwcHg7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmxlYWRlcnMgbGkuZGF5YW5hOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05MDBweDsgfVxuICAgICNwYWdlLWNvbW11bml0eSAubGVhZGVycyBsaS5hYXJvbjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTkwcHg7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmxlYWRlcnMgbGk6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCA4LCAyNCwgMC4wOCksIDBweCA4cHggMzJweCByZ2JhKDAsIDgsIDI0LCAwLjEpLCAwIDhweCAxOHB4IHJnYmEoMCwgOCwgMjQsIDAuMSk7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIHN0cm9uZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOyB9XG4gICNwYWdlLWNvbW11bml0eSAubGVhZGVycyBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogN3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmxlYWRlcnMgcCBhIHtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBjb2xvciBlYXNlLW91dDsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIHAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDQ1Y2Y1OyB9XG4gICNwYWdlLWNvbW11bml0eSAubGVhZGVycyAudHdpdHRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOXB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICNkNmRkZWE7XG4gICAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSBlYXNlLW91dCwgLjJzIGNvbG9yIGVhc2Utb3V0OyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5sZWFkZXJzIC50d2l0dGVyOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMiwgMS4yLCAxKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjcGFnZS1jb21tdW5pdHkgLmxlYWRlcnMgdWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICNwYWdlLWNvbW11bml0eSAubGVhZGVycyBsaSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG5cbiNwYWdlLWNvbW11bml0eSAuam9pbiAuc3BsaXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjcGFnZS1jb21tdW5pdHkgLmpvaW4gLnNwbGl0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcGFnZS1jb21tdW5pdHkgLmpvaW4gLnNwbGl0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAuam9pbiAuc3BsaXQgaGdyb3VwIHtcbiAgICAgICAgZmxleDogMDsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5qb2luIC5zcGxpdCBhc2lkZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbiNwYWdlLWNvbW11bml0eSAuam9pbiBoZ3JvdXAge1xuICBmbGV4OiAwIDUwOHB4OyB9XG4gICNwYWdlLWNvbW11bml0eSAuam9pbiBoZ3JvdXAgaDIge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5qb2luIGhncm91cCBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiNwYWdlLWNvbW11bml0eSAuam9pbiBhc2lkZSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogNDYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5qb2luIGFzaWRlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5qb2luIGFzaWRlIGgzIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyB9XG4gICNwYWdlLWNvbW11bml0eSAuam9pbiBhc2lkZSBpb25pYy1uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgbWFyZ2luLXRvcDogMTFweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4jcGFnZS1jb21tdW5pdHkgLmpvaW4gdWwge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDI3cHg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5qb2luIHVsIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cblxuI3BhZ2UtY29tbXVuaXR5IC5qb2luIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogNThweDtcbiAgd2lkdGg6IDMzN3B4OyB9XG4gICNwYWdlLWNvbW11bml0eSAuam9pbiBsaSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgycHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5qb2luIGxpIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2NvbW11bml0eS9zb2NpYWwtaWNvbnMucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDcwcHg7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICB3aWR0aDogNzBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDMzcHgpO1xuICAgICAgbGVmdDogLTJweDtcbiAgICAgIHRyYW5zaXRpb246IC4ycyB0cmFuc2Zvcm0gZWFzZS1vdXQ7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmpvaW4gbGkgYTpob3ZlciBzdHJvbmcge1xuICAgICAgY29sb3I6IGJsYWNrOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5qb2luIGxpIGE6aG92ZXIgc3BhbiB7XG4gICAgICBjb2xvcjogIzRjNTg2OTsgfVxuICAgICNwYWdlLWNvbW11bml0eSAuam9pbiBsaSBhOmhvdmVyOjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5qb2luIGxpLnNsYWNrIGE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwcHg7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5qb2luIGxpLmZvcnVtIGE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzBweDsgfVxuICAjcGFnZS1jb21tdW5pdHkgLmpvaW4gbGkudHdpdHRlciBhOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0MHB4OyB9XG4gICNwYWdlLWNvbW11bml0eSAuam9pbiBsaS5naXRodWIgYTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMTBweDsgfVxuICAjcGFnZS1jb21tdW5pdHkgLmpvaW4gbGkuc28gYTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yODBweDsgfVxuICAjcGFnZS1jb21tdW5pdHkgLmpvaW4gbGkuZmFjZWJvb2sgYTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zNTBweDsgfVxuICAjcGFnZS1jb21tdW5pdHkgLmpvaW4gbGkueW91dHViZSBhOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQyMHB4OyB9XG4gICNwYWdlLWNvbW11bml0eSAuam9pbiBsaS5ibG9nIGE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDkwcHg7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5qb2luIGxpLm1lZGl1bSBhOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTU2MHB4OyB9XG4gICNwYWdlLWNvbW11bml0eSAuam9pbiBsaSBzdHJvbmcge1xuICAgIHRyYW5zaXRpb246IC4ycyBjb2xvciBlYXNlOyB9XG4gICNwYWdlLWNvbW11bml0eSAuam9pbiBsaSBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGNvbG9yOiAjMGYxNjIyO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDsgfVxuICAjcGFnZS1jb21tdW5pdHkgLmpvaW4gbGkgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDE0ZW07XG4gICAgY29sb3I6ICM2YzdlOTU7IH1cblxuI3BhZ2UtY29tbXVuaXR5IC5sYXRlc3Qge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjdmOWZjLCAjZmVmZWZmKTtcbiAgbWFyZ2luLXRvcDogMTAxcHg7XG4gIHBhZGRpbmctdG9wOiAxMzhweDsgfVxuICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCBoZ3JvdXAge1xuICAgIG1hcmdpbjogMCBhdXRvIDcycHg7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCBoZ3JvdXAgaDIge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCBoZ3JvdXAgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjAwNmVtOyB9XG4gICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC50dXRvcmlhbHMsXG4gICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC52aWRlb3Mge1xuICAgIG1hcmdpbi10b3A6IDI2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5sYXRlc3QgLnR1dG9yaWFscyBoMyxcbiAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudmlkZW9zIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjA4ZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5sYXRlc3QgLnR1dG9yaWFscyAuc3Vic2NyaWJlLFxuICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC52aWRlb3MgLnN1YnNjcmliZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb2xvcjogIzM4ODBmZjtcbiAgICAgIGJhY2tncm91bmQ6ICNkZmVkZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgcGFkZGluZzogNHB4IDExcHggNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IC0ycHg7IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC50dXRvcmlhbHMgLnN1YnNjcmliZSBpb24taWNvbixcbiAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC52aWRlb3MgLnN1YnNjcmliZSBpb24taWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtNSU7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudHV0b3JpYWxzIHVsLFxuICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC52aWRlb3MgdWwge1xuICAgICAgcGFkZGluZzogMjRweCAwcHg7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC50dXRvcmlhbHMgbGksXG4gICAgI3BhZ2UtY29tbXVuaXR5IC5sYXRlc3QgLnZpZGVvcyBsaSB7XG4gICAgICBmbGV4OiAwIDMzM3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudHV0b3JpYWxzIGxpLFxuICAgICAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudmlkZW9zIGxpIHtcbiAgICAgICAgICBmbGV4OiAwIDMwMHB4OyB9IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC50dXRvcmlhbHMgbGkgYSxcbiAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC52aWRlb3MgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxcHggMCAxcHggMzlweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC50dXRvcmlhbHMgbGkgYTo6YmVmb3JlLFxuICAgICAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudmlkZW9zIGxpIGE6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9jb21tdW5pdHkvbGF0ZXN0LXJzcy1pY29ucy5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI4cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtIGVhc2Utb3V0OyB9XG4gICAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC50dXRvcmlhbHMgbGkgYTpob3ZlciBzdHJvbmcsXG4gICAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC52aWRlb3MgbGkgYTpob3ZlciBzdHJvbmcge1xuICAgICAgICAgIGNvbG9yOiBibGFjazsgfVxuICAgICAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudHV0b3JpYWxzIGxpIGE6aG92ZXIgcCxcbiAgICAgICAgI3BhZ2UtY29tbXVuaXR5IC5sYXRlc3QgLnZpZGVvcyBsaSBhOmhvdmVyIHAge1xuICAgICAgICAgIGNvbG9yOiAjMzIzYzRjOyB9XG4gICAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC50dXRvcmlhbHMgbGkgYTpob3ZlciBzcGFuLFxuICAgICAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudmlkZW9zIGxpIGE6aG92ZXIgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICM1ZjcwODU7IH1cbiAgICAgICAgI3BhZ2UtY29tbXVuaXR5IC5sYXRlc3QgLnR1dG9yaWFscyBsaSBhOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC52aWRlb3MgbGkgYTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5sYXRlc3QgLnR1dG9yaWFscyBsaSBzdHJvbmcsXG4gICAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudHV0b3JpYWxzIGxpIHAsXG4gICAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudHV0b3JpYWxzIGxpIHNwYW4sXG4gICAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudmlkZW9zIGxpIHN0cm9uZyxcbiAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC52aWRlb3MgbGkgcCxcbiAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC52aWRlb3MgbGkgc3BhbiB7XG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBjb2xvciBlYXNlOyB9XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudHV0b3JpYWxzIGxpIHN0cm9uZyxcbiAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC52aWRlb3MgbGkgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxOGVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43NWVtOyB9XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudHV0b3JpYWxzIGxpIHAsXG4gICAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudmlkZW9zIGxpIHAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICM1MTYwN2E7XG4gICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS45ZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC50dXRvcmlhbHMgbGkgc3BhbixcbiAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC52aWRlb3MgbGkgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogIzg3OTZhOTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAzZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudHV0b3JpYWxzIHVsLFxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5sYXRlc3QgLnZpZGVvcyB1bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsgfVxuICAgICAgI3BhZ2UtY29tbXVuaXR5IC5sYXRlc3QgLnR1dG9yaWFscyBsaSxcbiAgICAgICNwYWdlLWNvbW11bml0eSAubGF0ZXN0IC52aWRlb3MgbGkge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuICAjcGFnZS1jb21tdW5pdHkgLmxhdGVzdCAudmlkZW9zIGxpIGE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjhweDsgfVxuXG4jcGFnZS1jb21tdW5pdHkgLmVkdWNhdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMxMjFiMmMgdXJsKFwiL2ltZy9jb21tdW5pdHkvY29tbXVuaXR5LWVkdS1iZy5qcGdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNjgwcHg7XG4gIG1hcmdpbi10b3A6IDkzcHg7XG4gIHBhZGRpbmctdG9wOiAxMzhweDtcbiAgcGFkZGluZy1ib3R0b206IDc1cHg7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gaDIsXG4gICNwYWdlLWNvbW11bml0eSAuZWR1Y2F0aW9uIGgzLFxuICAjcGFnZS1jb21tdW5pdHkgLmVkdWNhdGlvbiBoNCxcbiAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAjcGFnZS1jb21tdW5pdHkgLmVkdWNhdGlvbiBwLFxuICAjcGFnZS1jb21tdW5pdHkgLmVkdWNhdGlvbiBoNCB7XG4gICAgb3BhY2l0eTogLjg7IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gaGdyb3VwIHtcbiAgICBtYXgtd2lkdGg6IDU4MHB4OyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gaGdyb3VwIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMzFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAjcGFnZS1jb21tdW5pdHkgLmVkdWNhdGlvbiBoZ3JvdXAgcCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxM3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDI2ZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLWNvbW11bml0eSAuZWR1Y2F0aW9uIGhncm91cCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAjcGFnZS1jb21tdW5pdHkgLmVkdWNhdGlvbiB1bCB7XG4gICAgcGFkZGluZzogNDdweCAxcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgICAjcGFnZS1jb21tdW5pdHkgLmVkdWNhdGlvbiB1bCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cbiAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gbGkge1xuICAgIGZsZXg6IDAgMjcwcHg7XG4gICAgaGVpZ2h0OiAyMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTFweDtcbiAgICBtYXJnaW4tbGVmdDogMTFweDsgfVxuICAgICNwYWdlLWNvbW11bml0eSAuZWR1Y2F0aW9uIGxpIGEge1xuICAgICAgcGFkZGluZzogMTJweCAyOXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAuZWR1Y2F0aW9uIGxpIGE6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZDogIzM4ODBmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtIGVhc2U7IH1cbiAgICAgICNwYWdlLWNvbW11bml0eSAuZWR1Y2F0aW9uIGxpIGE6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAxLCAxLjAxLCAxKTsgfVxuICAgICNwYWdlLWNvbW11bml0eSAuZWR1Y2F0aW9uIGxpIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjE1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gbGkgaDMge1xuICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gbGkgcCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDE1cHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsZWZ0OiAyOHB4O1xuICAgICAgcmlnaHQ6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gbGk6bnRoLWNoaWxkKDIpIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjg3ZWExOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gbGk6bnRoLWNoaWxkKDMpIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZGE1YjcwOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gbGk6bnRoLWNoaWxkKDQpIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOTViMjUxOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gbGk6bnRoLWNoaWxkKDUpIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzBhZWViOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gbGk6bnRoLWNoaWxkKDYpIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNGE2MjhhOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gbGk6bnRoLWNoaWxkKDcpIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOGQ1Y2UzOyB9XG4gICAgI3BhZ2UtY29tbXVuaXR5IC5lZHVjYXRpb24gbGk6bnRoLWNoaWxkKDgpIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjQ4ZjYzOyB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyBtYWluIHtcbiAgY29sb3I6ICMxNjFhMWY7XG4gIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuI3BhZ2UtY29udHJpYnV0b3JzIC5idG4ge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDEycHggMjBweDsgfVxuICAjcGFnZS1jb250cmlidXRvcnMgLmJ0bi0tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTAyMjQyOyB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAuY3RhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgcGFkZGluZy10b3A6IDEyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtY29udHJpYnV0b3JzIC5jdGEge1xuICAgICAgcGFkZGluZy10b3A6IDE4MHB4OyB9IH1cblxuI3BhZ2UtY29udHJpYnV0b3JzIC5jdGEgaDEge1xuICBjb2xvcjogIzczQUJGRjtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuXG4jcGFnZS1jb250cmlidXRvcnMgLmN0YSBoMSBzcGFuIHtcbiAgY29sb3I6ICMzODgwRkY7IH1cblxuI3BhZ2UtY29udHJpYnV0b3JzIC5jdGEgLnR5cGVkLWN1cnNvciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogNTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC00cHg7XG4gIGJhY2tncm91bmQ6ICNCRkQ2RkY7XG4gIG9wYWNpdHk6IDE7XG4gIGFuaW1hdGlvbjogdHlwZWRqc0JsaW5rIDFzIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgdHlwZWRqc0JsaW5rIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAuY3RhIHAge1xuICBjb2xvcjogIzUwNTg2MztcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gIG1hcmdpbjogMC43NWVtIGF1dG8gMS4yNWVtO1xuICBtYXgtd2lkdGg6IDU3MHB4OyB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAuY3RhIC5jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtY29udHJpYnV0b3JzIC5jdGEgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH0gfVxuXG4jcGFnZS1jb250cmlidXRvcnMgLnNlY3Rpb24taGVhZGVyIHtcbiAgY29sb3I6ICMyZjM3NDQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIG1hcmdpbi1ib3R0b206IDRlbTtcbiAgbWFyZ2luLXRvcDogNGVtO1xuICBtYXgtd2lkdGg6IDMyZW07IH1cblxuI3BhZ2UtY29udHJpYnV0b3JzIC5zZWN0aW9uLWhlYWRlciBoMiB7XG4gIGNvbG9yOiAjMjQyODJlO1xuICBmb250LXNpemU6IDEuOGVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjY1ZW07IH1cblxuI3BhZ2UtY29udHJpYnV0b3JzIC5vc3MgLnNlY3Rpb24taGVhZGVyIGgyIHNwYW4sXG4jcGFnZS1jb250cmlidXRvcnMgLnBybyAuc2VjdGlvbi1oZWFkZXIgaDIgc3BhbiB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDRweCAjMjQyODJlOyB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAuZmVhdHVyZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07IH1cblxuI3BhZ2UtY29udHJpYnV0b3JzIC5mZWF0dXJlX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9jb250cmlidXRvcnMvY29udHJpYnV0b3JzLWZlYXR1cmUtaWNvbnMucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDAgMCA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIG1hcmdpbi1yaWdodDogMmVtO1xuICB3aWR0aDogNDhweDsgfVxuICAjcGFnZS1jb250cmlidXRvcnMgLmZlYXR1cmVfX2ljb24udGFsayB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XG4gICNwYWdlLWNvbnRyaWJ1dG9ycyAuZmVhdHVyZV9faWNvbi5zdG9yeSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtNDhweDsgfVxuICAjcGFnZS1jb250cmlidXRvcnMgLmZlYXR1cmVfX2ljb24uYmxvZyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtOTZweDsgfVxuXG4jcGFnZS1jb250cmlidXRvcnMgLmZlYXR1cmVfX3RleHQgc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07IH1cblxuI3BhZ2UtY29udHJpYnV0b3JzIC5mZWF0dXJlX190ZXh0IHAge1xuICBjb2xvcjogIzc4ODQ5NztcbiAgbGluZS1oZWlnaHQ6IDEuNjU7IH1cblxuI3BhZ2UtY29udHJpYnV0b3JzIC5mZWF0dXJlLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCA0ZW07XG4gIHBhZGRpbmc6IDA7IH1cblxuI3BhZ2UtY29udHJpYnV0b3JzIC5mZWF0dXJlLWxpc3QgPiBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI3BhZ2UtY29udHJpYnV0b3JzIC5mZWF0dXJlLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICNwYWdlLWNvbnRyaWJ1dG9ycyAuZmVhdHVyZS1saXN0ID4gbGkge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZy1yaWdodDogM2VtO1xuICAgIG1hcmdpbi1ib3R0b206IDRlbTsgfVxuICAjcGFnZS1jb250cmlidXRvcnMgLmZlYXR1cmUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgI3BhZ2UtY29udHJpYnV0b3JzIC5mZWF0dXJlX19pY29uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07IH0gfVxuXG4jcGFnZS1jb250cmlidXRvcnMgLnRvcGljcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNjYwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNDIzNTU7XG4gIGNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICNwYWdlLWNvbnRyaWJ1dG9ycyAudG9waWNzOmJlZm9yZSwgI3BhZ2UtY29udHJpYnV0b3JzIC50b3BpY3M6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgI3BhZ2UtY29udHJpYnV0b3JzIC50b3BpY3M6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0xODBkZWcsICMyNDIzNTUgMCUsIHJnYmEoMzYsIDM1LCA4NSwgMCkgMTAwJSk7IH1cbiAgI3BhZ2UtY29udHJpYnV0b3JzIC50b3BpY3M6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgcmdiYSgzNiwgMzUsIDg1LCAwKSAwJSwgIzI0MjM1NSAxMDAlKTsgfVxuICAjcGFnZS1jb250cmlidXRvcnMgLnRvcGljcyBoZ3JvdXAge1xuICAgIG1heC13aWR0aDogNDQwcHg7XG4gICAgbWFyZ2luLXRvcDogNzJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICNwYWdlLWNvbnRyaWJ1dG9ycyAudG9waWNzIGgxIHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0xLjJweDtcbiAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICNwYWdlLWNvbnRyaWJ1dG9ycyAudG9waWNzIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogI0JGQzVFNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNjJweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuICAjcGFnZS1jb250cmlidXRvcnMgLnRvcGljcy5pbWFnZS1mYWxsYmFjazphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDM4OHB4O1xuICAgIGhlaWdodDogNjU4cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2NvbnRyaWJ1dG9ycy9jb250cmlidXRvcnMtdG9waWNzLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzg4cHggNjU4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLWNvbnRyaWJ1dG9ycyAudG9waWNzOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICNwYWdlLWNvbnRyaWJ1dG9ycyAudG9waWNzOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDAuMzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLWNvbnRyaWJ1dG9ycyAudG9waWNzLmltYWdlLWZhbGxiYWNrOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICNwYWdlLWNvbnRyaWJ1dG9ycyAudG9waWNzIGhncm91cCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxMzZweDsgfSB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAudG9waWNzX19hbmltYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDkwJSk7XG4gIHotaW5kZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI3BhZ2UtY29udHJpYnV0b3JzIC50b3BpY3NfX2FuaW1hdGlvbiAudGV4dCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIGZpbGw6ICNmZmY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtY29udHJpYnV0b3JzIC50b3BpY3NfX2FuaW1hdGlvbiB7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTsgfSB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAucXVvdGVzIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtY29udHJpYnV0b3JzIC5xdW90ZXMge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAucXVvdGVzX19jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA0OTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAucXVvdGVzX19xdW90ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmc6IDgwcHg7XG4gIGNvbG9yOiAjMjQyODJlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICNwYWdlLWNvbnRyaWJ1dG9ycyAucXVvdGVzX19xdW90ZSB7XG4gICAgICBwYWRkaW5nOiA0MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtY29udHJpYnV0b3JzIC5xdW90ZXNfX3F1b3RlOmZpcnN0LWNoaWxkIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAjcGFnZS1jb250cmlidXRvcnMgLnF1b3Rlc19fcXVvdGUubW9yb255IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlGMkZGOyB9XG4gICNwYWdlLWNvbnRyaWJ1dG9ycyAucXVvdGVzX19xdW90ZS52ZXJnYW5hcmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEMEUyRkQ7IH1cblxuI3BhZ2UtY29udHJpYnV0b3JzIC5xdW90ZXNfX2F2YXRhciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvY29udHJpYnV0b3JzL2NvbnRyaWJ1dG9ycy10ZXN0aW1vbmlhbC1hdmF0YXJzLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNjJweDtcbiAgaGVpZ2h0OiA2MnB4O1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDYycHg7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAjcGFnZS1jb250cmlidXRvcnMgLnF1b3Rlc19fYXZhdGFyLm1vcm9ueSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XG4gICNwYWdlLWNvbnRyaWJ1dG9ycyAucXVvdGVzX19hdmF0YXIudmVyZ2FuYXJhIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC01NnB4OyB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAucXVvdGVzIGJsb2NrcXVvdGUge1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAucXVvdGVzIGEge1xuICBjb2xvcjogaW5pdGlhbDtcbiAgdGV4dC11bmRlcmxpbmU6IG5vbmU7IH1cblxuI3BhZ2UtY29udHJpYnV0b3JzIC5xdW90ZXMgYSBibG9ja3F1b3RlID4gc21hbGwge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAjcGFnZS1jb250cmlidXRvcnMgLnF1b3RlcyBhIGJsb2NrcXVvdGUgPiBzbWFsbCA+IHNwYW4ge1xuICAgIHBhZGRpbmctbGVmdDogMC41ZW07IH1cbiAgI3BhZ2UtY29udHJpYnV0b3JzIC5xdW90ZXMgYSBibG9ja3F1b3RlID4gc21hbGw6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAubW9yb255IGEgYmxvY2txdW90ZSA+IHNtYWxsID4gc3BhbiB7XG4gIGNvbG9yOiAjOTNBOEM2OyB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAudmVyZ2FuYXJhIGEgYmxvY2txdW90ZSA+IHNtYWxsID4gc3BhbiB7XG4gIGNvbG9yOiAjNUM3NDlCOyB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAuYXBwbHkge1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfVxuICAjcGFnZS1jb250cmlidXRvcnMgLmFwcGx5IC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgI3BhZ2UtY29udHJpYnV0b3JzIC5hcHBseSAuY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1jb250cmlidXRvcnMgLmFwcGx5IHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuXG4jcGFnZS1jb250cmlidXRvcnMgLmFwcGx5X19mb3JtIHtcbiAgZmxleDogMCAwIDY4NXB4O1xuICBwYWRkaW5nOiA0NnB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggMCByZ2JhKDAsIDE0LCAzOSwgMC4xMiksIDAgMTBweCAyMHB4IDAgcmdiYSgwLCAxNCwgMzksIDAuMTIpO1xuICBib3JkZXItcmFkaXVzOiAxNXB4OyB9XG4gICNwYWdlLWNvbnRyaWJ1dG9ycyAuYXBwbHlfX2Zvcm0gaDIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0xLjJweDtcbiAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICBjb2xvcjogIzE2MUExRjsgfVxuICAjcGFnZS1jb250cmlidXRvcnMgLmFwcGx5X19mb3JtIC5oYnNwdC1mb3JtIHtcbiAgICBtYXJnaW46IDQ0cHggMCAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgICAjcGFnZS1jb250cmlidXRvcnMgLmFwcGx5X19mb3JtIHtcbiAgICAgIGZsZXg6IDAgMCA1ODBweDsgfSB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAuYXBwbHlfX2JlbmVmaXRzIHtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICBtYXJnaW4tdG9wOiA2MnB4OyB9XG4gICNwYWdlLWNvbnRyaWJ1dG9ycyAuYXBwbHlfX2JlbmVmaXRzIGg0IHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBjb2xvcjogIzE2MUExRjtcbiAgICBtYXJnaW46IDAgMCAzNnB4OyB9XG5cbiNwYWdlLWNvbnRyaWJ1dG9ycyAuYmVuZWZpdC1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuI3BhZ2UtY29udHJpYnV0b3JzIC5iZW5lZml0LWxpc3RfX2l0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gIG1hcmdpbi10b3A6IDI4cHg7XG4gIGJhY2tncm91bmQ6IHVybCgvaW1nL2ZyYW1ld29yay9jaGVja21hcmstaWNvbi5wbmcpIG5vLXJlcGVhdCAwIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweDsgfVxuICAjcGFnZS1jb250cmlidXRvcnMgLmJlbmVmaXQtbGlzdF9faXRlbSBoNSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMxNjFBMUY7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gICNwYWdlLWNvbnRyaWJ1dG9ycyAuYmVuZWZpdC1saXN0X19pdGVtIHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzc0N0Y5MjtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMjVweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBtYXgtd2lkdGg6IDI4MHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1jb250cmlidXRvcnMgLmFwcGx5X19mb3JtIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBwYWRkaW5nOiAyNnB4OyB9XG4gICAgI3BhZ2UtY29udHJpYnV0b3JzIC5hcHBseV9fZm9ybSBoMiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBtYXJnaW46IDE2cHggMDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAjcGFnZS1jb250cmlidXRvcnMgLmFwcGx5X19iZW5lZml0cyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICNwYWdlLWNvbnRyaWJ1dG9ycyAuYmVuZWZpdC1saXN0X19pdGVtIHAge1xuICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAjcGFnZS1kZW1vIC5kZW1vLWN0YSxcbiAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuZGVtby1jdGEge1xuICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4jcGFnZS1kZW1vIC5kZW1vLWN0YSA+IC5jb250YWluZXIsXG4jcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5kZW1vLWN0YSA+IC5jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLWJvdHRvbTogMTA0cHg7XG4gIHBhZGRpbmctdG9wOiA1M3B4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWRlbW8gLmRlbW8tY3RhID4gLmNvbnRhaW5lcixcbiAgICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5kZW1vLWN0YSA+IC5jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmctdG9wOiAyM3B4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuI3BhZ2UtZGVtbyAuZGVtby1jdGEgaGdyb3VwLFxuI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuZGVtby1jdGEgaGdyb3VwIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2UtZGVtbyAuZGVtby1jdGEgaGdyb3VwLFxuICAgICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLmRlbW8tY3RhIGhncm91cCB7XG4gICAgICBtYXgtd2lkdGg6IDQ4MHB4OyB9IH1cblxuI3BhZ2UtZGVtbyAuZGVtby1jdGEgaGdyb3VwIHAsXG4jcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5kZW1vLWN0YSBoZ3JvdXAgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2UtZGVtbyAuZGVtby1jdGEgaGdyb3VwIHAsXG4gICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuZGVtby1jdGEgaGdyb3VwIHAge1xuICAgICAgZm9udC1zaXplOiAxNXB4OyB9IH1cblxuI3BhZ2UtZGVtbyAuZGVtby1jdGEgaDEsXG4jcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5kZW1vLWN0YSBoMSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAjcGFnZS1kZW1vIC5kZW1vLWN0YSBoMSxcbiAgICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5kZW1vLWN0YSBoMSB7XG4gICAgICBmb250LXNpemU6IDMycHg7IH0gfVxuXG4jcGFnZS1kZW1vIC5kZW1vLWN0YV9faWNvbixcbiNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLmRlbW8tY3RhX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgd2lkdGg6IDY0cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2UtZGVtbyAuZGVtby1jdGFfX2ljb24sXG4gICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuZGVtby1jdGFfX2ljb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9IH1cblxuI3BhZ2UtZGVtbyAuZGVtby1mb3JtLFxuI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuZGVtby1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgI3BhZ2UtZGVtbyAuZGVtby1mb3JtOjpiZWZvcmUsICNwYWdlLWRlbW8gLmRlbW8tZm9ybTo6YWZ0ZXIsXG4gICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLmRlbW8tZm9ybTo6YmVmb3JlLFxuICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5kZW1vLWZvcm06OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNwYWdlLWRlbW8gLmRlbW8tZm9ybSAuaGJzcHQtZm9ybSxcbiAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuZGVtby1mb3JtIC5oYnNwdC1mb3JtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIG1hcmdpbi10b3A6IC00MHB4O1xuICAgIHBhZGRpbmc6IDY0cHggNjRweCAyNHB4OyB9XG4gICAgI3BhZ2UtZGVtbyAuZGVtby1mb3JtIC5oYnNwdC1mb3JtIGZvcm0sXG4gICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuZGVtby1mb3JtIC5oYnNwdC1mb3JtIGZvcm0ge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgI3BhZ2UtZGVtbyAuZGVtby1mb3JtIC5oYnNwdC1mb3JtIGZvcm0gaDMsXG4gICAgICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5kZW1vLWZvcm0gLmhic3B0LWZvcm0gZm9ybSBoMyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAjcGFnZS1kZW1vIC5kZW1vLWZvcm0gLmhic3B0LWZvcm0gZm9ybTpiZWZvcmUsXG4gICAgICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5kZW1vLWZvcm0gLmhic3B0LWZvcm0gZm9ybTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3BhZ2UtZGVtbyAuZGVtby1mb3JtIC5oYnNwdC1mb3JtIC5ocy1mb3JtLXJlcXVpcmVkLFxuICAgICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLmRlbW8tZm9ybSAuaGJzcHQtZm9ybSAuaHMtZm9ybS1yZXF1aXJlZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICNwYWdlLWRlbW8gLmRlbW8tZm9ybSAuaGJzcHQtZm9ybSBidXR0b24sXG4gICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuZGVtby1mb3JtIC5oYnNwdC1mb3JtIGJ1dHRvbiB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAjcGFnZS1kZW1vIC5kZW1vLWZvcm0gLmhic3B0LWZvcm0gLmhzLWlucHV0LFxuICAgICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLmRlbW8tZm9ybSAuaGJzcHQtZm9ybSAuaHMtaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgI3BhZ2UtZGVtbyAuZGVtby1mb3JtIC5oYnNwdC1mb3JtIC5mb3JtLWNvbHVtbnMtMSAuaW5wdXQsXG4gICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuZGVtby1mb3JtIC5oYnNwdC1mb3JtIC5mb3JtLWNvbHVtbnMtMSAuaW5wdXQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICNwYWdlLWRlbW8gLmRlbW8tZm9ybV9fYXNpZGUsXG4gICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLmRlbW8tZm9ybV9fYXNpZGUge1xuICAgIHBhZGRpbmc6IDRlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgICNwYWdlLWRlbW8gLmRlbW8tZm9ybV9fYXNpZGUgaW1nLFxuICAgICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLmRlbW8tZm9ybV9fYXNpZGUgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAjcGFnZS1kZW1vIC5kZW1vLWZvcm1fX2FzaWRlIHVsLFxuICAgICNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLmRlbW8tZm9ybV9fYXNpZGUgdWwge1xuICAgICAgY29sb3I6ICM3MjdhODc7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgI3BhZ2UtZGVtbyAuZGVtby1mb3JtX19hc2lkZSB1bCA+IGxpLFxuICAgICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuZGVtby1mb3JtX19hc2lkZSB1bCA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAjcGFnZS1kZW1vIC5kZW1vLWZvcm1fX2FzaWRlIHVsID4gbGk6YmVmb3JlLFxuICAgICAgICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5kZW1vLWZvcm1fX2FzaWRlIHVsID4gbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzRhOGJmYztcbiAgICAgICAgICBjb250ZW50OiAnXFxmMmJhJztcbiAgICAgICAgICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7IH1cbiAgICAjcGFnZS1kZW1vIC5kZW1vLWZvcm1fX2FzaWRlID4gcCxcbiAgICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5kZW1vLWZvcm1fX2FzaWRlID4gcCB7XG4gICAgICBjb2xvcjogIzcwN2M4ODtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wNzVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLWRlbW8gLmRlbW8tZm9ybV9fYXNpZGUsXG4gICAgICAjcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5kZW1vLWZvcm1fX2FzaWRlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjcGFnZS1kZW1vIC5kZW1vLWZvcm1fX2FzaWRlLFxuICAgICAgI3BhZ2Utc3RyYXRlZ3ktc2Vzc2lvbiAuZGVtby1mb3JtX19hc2lkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4jcGFnZS1pZGVudGl0eS12YXVsdCBtYWluIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgXCJJbnRlciBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCBtYWluIGgxLFxuICAjcGFnZS1pZGVudGl0eS12YXVsdCBtYWluIGgyLFxuICAjcGFnZS1pZGVudGl0eS12YXVsdCBtYWluIGgzLFxuICAjcGFnZS1pZGVudGl0eS12YXVsdCBtYWluIGg0LFxuICAjcGFnZS1pZGVudGl0eS12YXVsdCBtYWluIC5idG4ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH1cblxuI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnN1Yi1oZWFkZXIgLnZhdWx0LWxpbmsge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmctbGVmdDogMXB4O1xuICBwYWRkaW5nLXRvcDogMTdweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wM2VtOyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC5zdWItaGVhZGVyIC52YXVsdC1saW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9lbnRlcnByaXNlL2lkZW50aXR5LXZhdWx0L3ZhdWx0LW5hdi1sb2dvLnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogOXB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMTFweDsgfVxuXG4jcGFnZS1pZGVudGl0eS12YXVsdCAuc3ViLWhlYWRlciAuZGVtbyB7XG4gIHBhZGRpbmc6IDE5cHggMXB4IDE4cHggMTVweDsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAuc3ViLWhlYWRlciAuZGVtbzo6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgIGNvbnRlbnQ6IFwi74+RXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTFweDsgfVxuXG4jcGFnZS1pZGVudGl0eS12YXVsdCAudG9wIHtcbiAgbWFyZ2luLXRvcDogLTE3MnB4O1xuICBwYWRkaW5nLXRvcDogMjc2cHg7XG4gIGJhY2tncm91bmQ6ICMwYzFjMWM7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzBlMWUyZSAwJSwgIzIwM2U1YSAxMDAlKTtcbiAgbWluLWhlaWdodDogOTcycHg7IH1cbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnRvcCAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAudG9wIC5jb250YWluZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9pZGVudGl0eS12YXVsdC9oZXJvLWltZy5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIHdpZHRoOiA1ODlweDtcbiAgICAgIGhlaWdodDogNzYwcHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC04MnB4O1xuICAgICAgdG9wOiAtNzJweDsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAudG9wIGhncm91cCB7XG4gICAgbWF4LXdpZHRoOiA1NDBweDsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAudG9wIGgxIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAudG9wIGgzIHtcbiAgICBjb2xvcjogIzdiYmZmZjtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE2ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzllbTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDlweDsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAudG9wIHAge1xuICAgIGNvbG9yOiAjYzNjZWRmO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTsgfVxuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC50b3AgcCBzdHJvbmcge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC50b3AgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogNTFweDtcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHggMTJweCAxOXB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDZlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnRvcCAuYnRuOjphZnRlciB7XG4gICAgICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgICAgIGNvbnRlbnQ6ICfvj5EnO1xuICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAtNHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnRvcCBoZ3JvdXAge1xuICAgICAgbWF4LXdpZHRoOiA0MjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC50b3AgaGdyb3VwIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC50b3AgaDEsXG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnRvcCBoMyB7XG4gICAgICBtYXgtd2lkdGg6IDQ2MHB4OyB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnRvcCAuY29udGFpbmVyOjphZnRlciB7XG4gICAgICB3aWR0aDogMjk0cHg7XG4gICAgICBoZWlnaHQ6IDM4MHB4O1xuICAgICAgcmlnaHQ6IC0zMXB4O1xuICAgICAgdG9wOiAtODBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC50b3Age1xuICAgICAgcGFkZGluZy10b3A6IDQwMHB4OyB9XG4gICAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAudG9wIC5jb250YWluZXI6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDE0N3B4O1xuICAgICAgICBoZWlnaHQ6IDE5MHB4O1xuICAgICAgICByaWdodDogY2FsYyg1MCUgLSA5NXB4KTtcbiAgICAgICAgdG9wOiAtMTkwcHg7IH1cbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC50b3AgaGdyb3VwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAudG9wIGgxLFxuICAgICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnRvcCBoMyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbiNwYWdlLWlkZW50aXR5LXZhdWx0IC5nYW5kYWxmIHtcbiAgcGFkZGluZy10b3A6IDEwNHB4O1xuICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC5nYW5kYWxmIC5zcGxpdCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5nYW5kYWxmIC5zcGxpdCA+IGRpdiB7XG4gICAgICBmbGV4OiAwIDEgNTIwcHg7IH1cbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgaDIge1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtOyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC5nYW5kYWxmIGgzIHtcbiAgICBtYXJnaW4tdG9wOiA2OHB4O1xuICAgIGZvbnQtc2l6ZTogMjdweDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC5nYW5kYWxmIHAge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMDVlbTtcbiAgICBsaW5lLWhlaWdodDogMS45MmVtO1xuICAgIGNvbG9yOiAjNTE2NTdkOyB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgcCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAuZ2FuZGFsZiB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZmxleDogMCAxIDUxNHB4O1xuICAgIG1hcmdpbi10b3A6IDM0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgdWwge1xuICAgICAgICBmbGV4LWJhc2lzOiAzOTJweDsgfSB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgdWwgbGk6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7IH1cbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgbGkge1xuICAgIHBhZGRpbmctbGVmdDogNTVweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDIyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzhlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICAgIGNvbG9yOiAjNTE2NTdkOyB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgbGk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2VudGVycHJpc2UvaWRlbnRpdHktdmF1bHQvbG9jay1jaGVja21hcmsucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMycHg7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDdweDtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5nYW5kYWxmIC5zcGxpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgLnNwbGl0ID4gZGl2IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgbGkge1xuICAgICAgdG9wOiAwOyB9IH1cbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgZmlndXJlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmNWY4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgcGFkZGluZzogMjRweCAzMHB4O1xuICAgIG1hcmdpbi10b3A6IDU5cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDI3OHB4OyB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgZmlndXJlOjpiZWZvcmUsICNwYWdlLWlkZW50aXR5LXZhdWx0IC5nYW5kYWxmIGZpZ3VyZTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9lbnRlcnByaXNlL2lkZW50aXR5LXZhdWx0L2l2LWRpYWdyYW0tc3RhdGVzLnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgd2lkdGg6IDExMDBweDtcbiAgICAgIGhlaWdodDogMjQycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAyMXB4O1xuICAgICAgdG9wOiAyNHB4O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRyYW5zaXRpb246IC4ycyBvcGFjaXR5LCAuMnMgdHJhbnNmb3JtIGVhc2Utb3V0OyB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgZmlndXJlOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEpOyB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgZmlndXJlIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxNXB4OyB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgZmlndXJlIGEge1xuICAgICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgICAgdmVydGljYWwtYWxpZ246IC00cHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgNHB4IGluc2V0IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBib3JkZXItY29sb3I7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5nYW5kYWxmIGZpZ3VyZSBhOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtIGVhc2U7IH1cbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAuZ2FuZGFsZiBmaWd1cmUuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxKTsgfVxuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5nYW5kYWxmIGZpZ3VyZS5hY3RpdmU6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAuZ2FuZGFsZiBmaWd1cmUuYWN0aXZlIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVkYWZmZTsgfVxuICAgICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgZmlndXJlLmFjdGl2ZSBhOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDlweCwgMCwgMCk7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAuZ2FuZGFsZiBmaWd1cmUge1xuICAgICAgICBtaW4taGVpZ2h0OiAyNDRweDsgfVxuICAgICAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAuZ2FuZGFsZiBmaWd1cmU6OmJlZm9yZSwgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgZmlndXJlOjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDg5NnB4O1xuICAgICAgICAgIGhlaWdodDogMTk2cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgZmlndXJlIHtcbiAgICAgICAgbWluLWhlaWdodDogMTk0cHg7IH1cbiAgICAgICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmdhbmRhbGYgZmlndXJlOjpiZWZvcmUsICNwYWdlLWlkZW50aXR5LXZhdWx0IC5nYW5kYWxmIGZpZ3VyZTo6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiA2NzhweDtcbiAgICAgICAgICBoZWlnaHQ6IDE0OXB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5nYW5kYWxmIGZpZ3VyZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4jcGFnZS1pZGVudGl0eS12YXVsdCAucG9pbnRzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnBvaW50cyBoMiB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAucG9pbnRzIHAge1xuICAgIG1hcmdpbi10b3A6IDE3cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAucG9pbnRzIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy10b3A6IDY4cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wb2ludHMgbGkge1xuICAgIGZsZXg6IDAgMCAzMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDY5cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNjFweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wb2ludHMgbGkge1xuICAgICAgICBmbGV4LWJhc2lzOiAyNTZweDsgfSB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnBvaW50cyBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9pZGVudGl0eS12YXVsdC9iZW5lZml0cy1pY29ucy5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDhweDtcbiAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnBvaW50cyBsaS5wcm90ZWN0aW9uOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfVxuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wb2ludHMgbGkuY29kZTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk2cHg7IH1cbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAucG9pbnRzIGxpLmJhY2tlbmQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfVxuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wb2ludHMgbGkudG9rZW5zOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH1cbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAucG9pbnRzIGxpLnN1cHBvcnQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNDBweDsgfVxuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wb2ludHMgbGkgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnBvaW50cyBsaSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcbiAgICAgIGNvbG9yOiAjNTE2NTdkOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wb2ludHMgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnBvaW50cyBsaSB7XG4gICAgICBmbGV4LWJhc2lzOiAzNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wb2ludHMgbGkge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnBvaW50cyBsaTo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAyNHB4KTsgfSB9XG5cbiNwYWdlLWlkZW50aXR5LXZhdWx0IC5wcm90ZWN0LFxuI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmludGVncmF0aW9ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAucHJvdGVjdDo6YmVmb3JlLFxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAuaW50ZWdyYXRpb25zOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9pZGVudGl0eS12YXVsdC9wcm90ZWN0aW9uLWltZy5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgd2lkdGg6IDU2MHB4O1xuICAgIGhlaWdodDogNTYwcHg7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLTEwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wcm90ZWN0OjpiZWZvcmUsXG4gICAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAuaW50ZWdyYXRpb25zOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgICAgIGhlaWdodDogMjgwcHg7IH0gfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAucHJvdGVjdCBoZ3JvdXAsXG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC5pbnRlZ3JhdGlvbnMgaGdyb3VwIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA0NnB4KTtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wcm90ZWN0IGhncm91cCxcbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5pbnRlZ3JhdGlvbnMgaGdyb3VwIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNjZweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wcm90ZWN0IGhncm91cCBoMyxcbiAgICAgICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmludGVncmF0aW9ucyBoZ3JvdXAgaDMge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wcm90ZWN0IGhncm91cCxcbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5pbnRlZ3JhdGlvbnMgaGdyb3VwIHtcbiAgICAgICAgd2lkdGg6IDQ2MHB4OyB9IH1cbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnByb3RlY3QgaDMsXG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC5pbnRlZ3JhdGlvbnMgaDMge1xuICAgIHBhZGRpbmctdG9wOiAxMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnByb3RlY3QgcCxcbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmludGVncmF0aW9ucyBwIHtcbiAgICBjb2xvcjogIzUxNjU3ZDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtOyB9XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnByb3RlY3QgcC5sZyxcbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAuaW50ZWdyYXRpb25zIHAubGcge1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMDRlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjllbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxN3B4OyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wcm90ZWN0IHVsLFxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAuaW50ZWdyYXRpb25zIHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMzlweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wcm90ZWN0IHVsLFxuICAgICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmludGVncmF0aW9ucyB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLnByb3RlY3QgbGksXG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC5pbnRlZ3JhdGlvbnMgbGkge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAzMXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzM4ODBmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDsgfVxuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wcm90ZWN0IGxpOjpiZWZvcmUsXG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmludGVncmF0aW9ucyBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZW50ZXJwcmlzZS9pZGVudGl0eS12YXVsdC9jaGVja21hcmsucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMXB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wcm90ZWN0LFxuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5pbnRlZ3JhdGlvbnMge1xuICAgICAgcGFkZGluZy10b3A6IDIwMHB4OyB9XG4gICAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAucHJvdGVjdDo6YmVmb3JlLFxuICAgICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmludGVncmF0aW9uczo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gMTQwcHgpOyB9XG4gICAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAucHJvdGVjdCBoZ3JvdXAsXG4gICAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAuaW50ZWdyYXRpb25zIGhncm91cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5wcm90ZWN0IGxpLFxuICAgICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmludGVncmF0aW9ucyBsaSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuXG4jcGFnZS1pZGVudGl0eS12YXVsdCAuaW50ZWdyYXRpb25zIHtcbiAgcGFkZGluZy1ib3R0b206IDk5cHg7IH1cbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmludGVncmF0aW9uczo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2VudGVycHJpc2UvaWRlbnRpdHktdmF1bHQvaW50ZWdyYXRpb24taW1nLnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB3aWR0aDogNTYwcHg7XG4gICAgaGVpZ2h0OiA1NjBweDtcbiAgICB0b3A6IDEwMXB4O1xuICAgIGxlZnQ6IC0xMXB4O1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC5pbnRlZ3JhdGlvbnMgaGdyb3VwIHtcbiAgICBwYWRkaW5nLXRvcDogNTZweDtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA1OXB4KTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5pbnRlZ3JhdGlvbnMgaGdyb3VwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTAwcHgpOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmludGVncmF0aW9uczo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgIGhlaWdodDogMjgwcHg7IH1cbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAuaW50ZWdyYXRpb25zIGhncm91cCB7XG4gICAgICB3aWR0aDogNDQwcHg7IH1cbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAuaW50ZWdyYXRpb25zIGgzIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmludGVncmF0aW9ucyB7XG4gICAgICBwYWRkaW5nLXRvcDogMzMwcHg7IH1cbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5pbnRlZ3JhdGlvbnM6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogODBweDtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNDBweCk7IH1cbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5pbnRlZ3JhdGlvbnMgaGdyb3VwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmludGVncmF0aW9ucyBoMyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9XG4gICAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAuaW50ZWdyYXRpb25zIGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbiNwYWdlLWlkZW50aXR5LXZhdWx0IC53aGF0LXlvdS1nb3Qge1xuICBiYWNrZ3JvdW5kOiAjMTAxOTI4IHVybChcIi9pbWcvZW50ZXJwcmlzZS9pZGVudGl0eS12YXVsdC9iZy1wYW5lcy5wbmdcIikgNTAlIDAgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMDBweDsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAud2hhdC15b3UtZ290IC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7IH1cbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLndoYXQteW91LWdvdCBoZ3JvdXAge1xuICAgIHBhZGRpbmctdG9wOiAxNzhweDtcbiAgICBtYXgtd2lkdGg6IDcxMnB4OyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC53aGF0LXlvdS1nb3QgaDMge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC53aGF0LXlvdS1nb3QgcCB7XG4gICAgY29sb3I6ICNiNmMzZDY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgfVxuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC53aGF0LXlvdS1nb3QgcCBzdHJvbmcge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAud2hhdC15b3UtZ290IHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogNjlweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLndoYXQteW91LWdvdCBsaSB7XG4gICAgZmxleDogMCAwIDUxOHB4O1xuICAgIHBhZGRpbmctbGVmdDogNTZweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC53aGF0LXlvdS1nb3QgbGkge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDUwcHgpOyB9IH1cbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAud2hhdC15b3UtZ290IGxpOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9lbnRlcnByaXNlL2lkZW50aXR5LXZhdWx0L2xvY2stY2hlY2ttYXJrLnBuZ1wiKSAwIDEwMCUgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzMnB4O1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLndoYXQteW91LWdvdCBoZ3JvdXAge1xuICAgICAgcGFkZGluZy10b3A6IDkycHg7XG4gICAgICBtYXgtd2lkdGg6IDcxMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLndoYXQteW91LWdvdCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAud2hhdC15b3UtZ290IGxpIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG5cbiNwYWdlLWlkZW50aXR5LXZhdWx0IC5kZW1vIHtcbiAgcGFkZGluZy10b3A6IDk3cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMTBweDsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAuZGVtbyBoZ3JvdXAgc3Ryb25nIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDZlbTtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC5kZW1vIGhncm91cCBoMiB7XG4gICAgbWFyZ2luLXRvcDogMzlweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC5kZW1vIGhncm91cCBwIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07IH1cbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAuZGVtbyBoZ3JvdXAgcCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7IH1cbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmRlbW8gLmZvcm0ge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgbWF4LXdpZHRoOiA5MzBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLmRlbW8ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC5kZW1vIC5mb3JtIHRleHRhcmVhLmhzLWlucHV0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOHB4KSAhaW1wb3J0YW50OyB9IH1cblxuI3BhZ2UtaWRlbnRpdHktdmF1bHQgLndhdGNoIHtcbiAgYmFja2dyb3VuZDogI2Y2ZjhmYjsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAud2F0Y2ggLmNhcmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA4NXB4O1xuICAgIHRvcDogNjhweDsgfVxuICAjcGFnZS1pZGVudGl0eS12YXVsdCAud2F0Y2ggaW1nIHtcbiAgICB3aWR0aDogNDYwcHg7IH1cbiAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLndhdGNoIGhncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDExOXB4O1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDUwcHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC53YXRjaCBoZ3JvdXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwMHB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9XG4gICAgICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC53YXRjaCBoZ3JvdXAgcCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC53YXRjaCBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC53YXRjaCBwIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtOyB9XG4gICNwYWdlLWlkZW50aXR5LXZhdWx0IC53YXRjaCAuYnRuIHtcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHggMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAud2F0Y2ggLmJ0biBpbWcge1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgI3BhZ2UtaWRlbnRpdHktdmF1bHQgLndhdGNoIC5jYXJkIHtcbiAgICAgIGxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAud2F0Y2ggaW1nIHtcbiAgICAgIHdpZHRoOiAyMzBweDsgfVxuICAgICNwYWdlLWlkZW50aXR5LXZhdWx0IC53YXRjaCBoZ3JvdXAge1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjYwcHgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAud2F0Y2ggLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMjAwcHg7IH1cbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAud2F0Y2ggLmNhcmQge1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAxMTVweCk7IH1cbiAgICAjcGFnZS1pZGVudGl0eS12YXVsdCAud2F0Y2ggaGdyb3VwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuI3BhZ2UtZW50ZXJwcmlzZS10cmFpbmluZyAuYmFubmVyIHtcbiAgcGFkZGluZy10b3A6IDE5OHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbiAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICAjcGFnZS1lbnRlcnByaXNlLXRyYWluaW5nIC5iYW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAxOGVtOyB9XG4gICNwYWdlLWVudGVycHJpc2UtdHJhaW5pbmcgLmJhbm5lciBwIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07IH1cblxuI3BhZ2UtZW50ZXJwcmlzZS10cmFpbmluZyBtYWluIHtcbiAgbWF4LXdpZHRoOiA2MzBweDsgfVxuICAjcGFnZS1lbnRlcnByaXNlLXRyYWluaW5nIG1haW4gaDIge1xuICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDRlbTtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICNwYWdlLWVudGVycHJpc2UtdHJhaW5pbmcgbWFpbiBoMyB7XG4gICAgbWFyZ2luLXRvcDogMzlweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDA1ZW07IH1cbiAgI3BhZ2UtZW50ZXJwcmlzZS10cmFpbmluZyBtYWluIHAge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDJlbTtcbiAgICBsaW5lLWhlaWdodDogMS45ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgICNwYWdlLWVudGVycHJpc2UtdHJhaW5pbmcgbWFpbiBwICsgdWwge1xuICAgICAgbWFyZ2luLXRvcDogLTE2cHg7IH1cbiAgI3BhZ2UtZW50ZXJwcmlzZS10cmFpbmluZyBtYWluIHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7IH1cbiAgI3BhZ2UtZW50ZXJwcmlzZS10cmFpbmluZyBtYWluIGxpIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMDVlbTtcbiAgICBsaW5lLWhlaWdodDogMS44ZW07IH1cblxuI3BhZ2UtZW50ZXJwcmlzZS10cmFpbmluZyBhc2lkZSB7XG4gIG1heC13aWR0aDogNTIwcHg7XG4gIG1hcmdpbi10b3A6IDQ2cHg7XG4gIG1hcmdpbi1ib3R0b206IDc4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjcGFnZS1lbnRlcnByaXNlLXRyYWluaW5nIGFzaWRlIGgzIHtcbiAgICBjb2xvcjogIzM4ODBmZjtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07IH1cbiAgICAjcGFnZS1lbnRlcnByaXNlLXRyYWluaW5nIGFzaWRlIGgzIGkge1xuICAgICAgY29sb3I6ICM5M2EyYmM7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgI3BhZ2UtZW50ZXJwcmlzZS10cmFpbmluZyBhc2lkZSAuY2FyZCB7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luOiAzMnB4IGF1dG87XG4gICAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuI3BhZ2UtZ2V0dGluZy1zdGFydGVkIHtcbiAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLmN0YS5ncmFkaWVudCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMzg4MGZmIDE1JSwgIzY3YTdmZiAxMDAlKTsgfVxuICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLmN0YSBoZ3JvdXAge1xuICAgIHBhZGRpbmctdG9wOiA2MnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLmN0YSBoMSxcbiAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC5jdGEgaDQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWF4LXdpZHRoOiA1NDBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC5jdGEgaDEsXG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLmN0YSBoNCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gICNwYWdlLWdldHRpbmctc3RhcnRlZCAuY3RhIGgxIHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLmN0YSBoNCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIGNvbG9yOiAjRTNFOUY0O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC5jdGEgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MnB4OyB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC5jdGEgaDQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICNwYWdlLWdldHRpbmctc3RhcnRlZCAuY3Jhc2gtY291cnNlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogMC4ycyB0cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDAuMiwgMC43OCwgMC42NiwgMS43Myk7IH1cbiAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLmNyYXNoLWNvdXJzZSBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAzNThweDsgfVxuICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAuY3Jhc2gtY291cnNlIGgzIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLThweCwgLTkxcHgpIHJvdGF0ZSgzLjdkZWcpOyB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC5jcmFzaC1jb3Vyc2U6aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyLCAxLjAyKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC5jcmFzaC1jb3Vyc2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAuY3Jhc2gtY291cnNlIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLmNyYXNoLWNvdXJzZSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDgwcHggMCAwOyB9IH1cbiAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5jb250YWluZXI6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VkZjJmNztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmNvbnRhaW5lcjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfSB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAubG9nbyB7XG4gICAgICB3aWR0aDogMTU4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCBoZ3JvdXAge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDU4MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgaGdyb3VwIC5idG4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMnB4OyB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCBoMSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cbiAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxMmVtO1xuICAgICAgbWFyZ2luLXRvcDogMTRweDsgfVxuICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgaDMge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IGgzLnRoaW4ge1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCBoNCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGNvbG9yOiAjMEYxNjIwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgXCJJbnRlciBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsgfVxuICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgY29kZSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBjb2xvcjogI0UwNUM3QjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCBwcmUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUY3RkE7XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgcHJlIGNvZGUge1xuICAgICAgICBjb2xvcjogIzI3MkEyRjtcbiAgICAgICAgcGFkZGluZzogMTZweCAyNHB4IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxuICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgb2wge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCBvbCBsaSB7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogc3RlcC1jb3VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCBvbCBsaSBoMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgb2wgbGkgKyBsaSxcbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgb2wgbGkgKyAuc3VwZXJjaGFyZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNDBweDsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IG9sIGxpICsgbGksXG4gICAgICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCBvbCBsaSArIC5zdXBlcmNoYXJnZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgb2wgbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoc3RlcC1jb3VudGVyKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBmbGV4OiAwIDAgMjVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzODgwRkY7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCBvbCBsaSA+IGRpdiB7XG4gICAgICAgIGZsZXg6IDE7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IG9sIGxpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9XG4gICAgICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCBvbCBsaTo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IG9sIGxpIGgxIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgb2wgbGkgKyAuc3VwZXJjaGFyZ2UgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5jb250ZW50LXJvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTI0cHg7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmNvbnRlbnQtcm93ICsgLmNvbnRlbnQtcm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5jb250ZW50LXJvdyArIC5jb250ZW50LXJvdyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmNvbnRlbnQtcm93IC5jb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmNvbnRlbnQtcm93IC5jb2wtLWhhbGYge1xuICAgICAgICBmbGV4OiAwIDAgNTAlOyB9XG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5jb250ZW50LXJvdyAuY29sLS10aGlyZCB7XG4gICAgICAgIGZsZXg6IDAgMCAzMyU7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmNvbnRlbnQtcm93IC5jb2wtLWZ1bGwge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuY29udGVudC1yb3cgLmNvbC0tY2VudGVyZWQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuY29udGVudC1yb3cgLmNvbC0tY2VudGVyZWQgY29kZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuY29udGVudC1yb3cge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuY29udGVudC1yb3cgLmNvbCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmNvbnRlbnQtcm93IC5jb2wgKyAuY29sIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH0gfVxuICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmZvcm0tcm93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmZvcm0tcm93IC5mb3JtLXdyYXBwZXIge1xuICAgICAgICBmbGV4OiAwIDAgNjQwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5mb3JtLXJvdyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmZvcm0ge1xuICAgICAgcGFkZGluZzogNjRweDtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCAwIHJnYmEoMCwgMTMsIDM2LCAwLjE2KSwgMCAycHggOHB4IDAgcmdiYSgwLCAxMywgMzYsIDAuMDgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTZweDsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuZm9ybSBoMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmZvcm0gaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MnB4OyB9XG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5mb3JtIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBjb2xvcjogIzNCNDM0RDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNWVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjJzO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDM0NEREY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgcGFkZGluZzogMTFweCAxNnB4OyB9XG4gICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4gICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzM4ODBmZjsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuZm9ybSAuZXJyb3IgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5mb3JtIC5lcnJvciBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmNDU0NTQ7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmZvcm0gLmNoZWNrYm94LWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICM3MjdBODc7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuZm9ybSAuZm9ybS1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmZvcm0gLmZvcm0tbWVzc2FnZSB7XG4gICAgICAgIGNvbG9yOiAjZjQ1NDU0O1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmZvcm0gLmZvcm0tbWVzc2FnZS0tc21hbGwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmZvcm0gLmJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuZm9ybSAuZGlzY2xhaW1lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgY29sb3I6ICNhMGE5Yjc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmZvcm0gLndlbGwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMUU1RUQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgY29sb3I6ICMzQjQyNEQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuZm9ybSAudGV4dC1saW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5mb3JtIHtcbiAgICAgICAgICBwYWRkaW5nOiAzNnB4IDI4cHg7IH0gfVxuICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmVycm9ybGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgY29sb3I6ICNmNDU0NTQ7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOHB4OyB9XG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5lcnJvcmxpc3QuZXJyb3Ige1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmJlbmVmaXRzIHtcbiAgICAgIG1heC13aWR0aDogMzkwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogNDhweDtcbiAgICAgIG1hcmdpbi10b3A6IDc2cHg7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmJlbmVmaXRzID4gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGNvbG9yOiAjNDI0QzVBO1xuICAgICAgICBtYXJnaW4tdG9wOiAxOHB4OyB9XG4gICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmJlbmVmaXRzID4gcCBiIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGNvbG9yOiAjNDI0QzVBOyB9XG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5iZW5lZml0cyB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiA2MHB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuYmVuZWZpdHMgaDUge1xuICAgICAgICBjb2xvcjogIzE2MUExRjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5iZW5lZml0cyBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MnB4OyB9XG4gICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmJlbmVmaXRzIGxpIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICBjb2xvcjogIzU0NUM2QTsgfVxuICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5iZW5lZml0cyBsaTo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBJb25pY29ucztcbiAgICAgICAgICBjb250ZW50OiAnXFxmMmJjJztcbiAgICAgICAgICBjb2xvcjogI0QwRTZGRjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjNjdBMkZGO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuYmVuZWZpdHMgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuYmVuZWZpdHMge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5iZW5lZml0cyB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5iZW5lZml0cyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1OTBweDsgfSB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuc2lnbi11cC1sb2dvcyB7XG4gICAgICBwYWRkaW5nOiAxMDBweCAwIDQwcHg7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLnNpZ24tdXAtbG9nb3MgLnNpZ24tdXAtbG9nb3NfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi10b3A6IDM0cHg7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLnNpZ24tdXAtbG9nb3MgLnNpZ24tdXAtbG9nb3NfX2NvbnRlbnQgPiBkaXYge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2dldHRpbmctc3RhcnRlZC9nZXR0aW5nLXN0YXJ0ZWQtc2lnbnVwLWxvZ28tc3ByaXRlLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjhweCAxODZweDsgfVxuICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5zaWduLXVwLWxvZ29zIC5zaWduLXVwLWxvZ29zX19jb250ZW50ID4gZGl2LnRhcmdldCB7XG4gICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5zaWduLXVwLWxvZ29zIC5zaWduLXVwLWxvZ29zX19jb250ZW50ID4gZGl2LnZlcml6b24ge1xuICAgICAgICAgIHdpZHRoOiA3OXB4O1xuICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yM3B4OyB9XG4gICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLnNpZ24tdXAtbG9nb3MgLnNpZ24tdXAtbG9nb3NfX2NvbnRlbnQgPiBkaXYuYW10cmFrIHtcbiAgICAgICAgICB3aWR0aDogNTJweDtcbiAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDJweDsgfVxuICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5zaWduLXVwLWxvZ29zIC5zaWduLXVwLWxvZ29zX19jb250ZW50ID4gZGl2Lm1hcmtldHdhdGNoIHtcbiAgICAgICAgICB3aWR0aDogMTI5cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY1cHg7IH1cbiAgICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuc2lnbi11cC1sb2dvcyAuc2lnbi11cC1sb2dvc19fY29udGVudCA+IGRpdi51c2FybXkge1xuICAgICAgICAgIHdpZHRoOiA1MnB4O1xuICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04NHB4OyB9XG4gICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLnNpZ24tdXAtbG9nb3MgLnNpZ24tdXAtbG9nb3NfX2NvbnRlbnQgPiBkaXYuZ2Uge1xuICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMDNweDsgfVxuICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5zaWduLXVwLWxvZ29zIC5zaWduLXVwLWxvZ29zX19jb250ZW50ID4gZGl2LmNvbWNhc3Qge1xuICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjZweDsgfVxuICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5zaWduLXVwLWxvZ29zIC5zaWduLXVwLWxvZ29zX19jb250ZW50ID4gZGl2LmVhIHtcbiAgICAgICAgICB3aWR0aDogMzdweDtcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQ5cHg7IH1cbiAgICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuc2lnbi11cC1sb2dvcyAuc2lnbi11cC1sb2dvc19fY29udGVudCA+IGRpdi5pYm0ge1xuICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjhweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLnNpZ24tdXAtbG9nb3MgLnNpZ24tdXAtbG9nb3NfX2NvbnRlbnQge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIG1heC13aWR0aDogNTkwcHg7XG4gICAgICAgICAgbWFyZ2luOiAzNHB4IGF1dG8gMDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuc2lnbi11cC1sb2dvcyAuc2lnbi11cC1sb2dvc19fY29udGVudCA+IGRpdiB7XG4gICAgICAgICAgbWFyZ2luOiAwIDIwcHggMzBweDtcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfSB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuY29udGVudC10aXAge1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMnM7XG4gICAgICBjb2xvcjogIzg1OTRBRjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTFFNUVEO1xuICAgICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5jb250ZW50LXRpcDpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2M1Y2ZlMjsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuY29udGVudC10aXA6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICc/JztcbiAgICAgICAgYmFja2dyb3VuZDogI0FCQjhDRTtcbiAgICAgICAgcGFkZGluZzogMCAycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgZmxleDogMCAwIDE0cHg7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLmNvbnRlbnQtdGlwOjphZnRlciB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBJb25pY29ucztcbiAgICAgICAgY29udGVudDogJ1xcZjNkMSc7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgICAgICB0cmFuc2l0aW9uOiAuM3MgdHJhbnNmb3JtO1xuICAgICAgICBmbGV4OiAwIDAgNnB4OyB9XG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5jb250ZW50LXRpcDpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgycHgsIC0xcHgpOyB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuc3VwZXJjaGFyZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC05MGRlZywgIzcyNDVEOSAwJSwgIzRDNUJFMyA1MiUsICMyNDcyRUYgMTAwJSk7XG4gICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCAwIHJnYmEoMCwgMTMsIDM2LCAwLjE2KSwgMCAycHggOHB4IDAgcmdiYSgwLCAxMywgMzYsIDAuMDgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTFweDtcbiAgICAgIHBhZGRpbmc6IDQwcHggNDBweCAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLnN1cGVyY2hhcmdlOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMzRweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHdpZHRoOiA2OHB4O1xuICAgICAgICBoZWlnaHQ6IDY4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvZ2V0dGluZy1zdGFydGVkL3N1cGVyY2hhcmdlLWxvZ28ucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5zdXBlcmNoYXJnZSBsaTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgY29sb3I6ICMzODgwRkY7IH1cbiAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLnN1cGVyY2hhcmdlIHByZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xOCk7IH1cbiAgICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuc3VwZXJjaGFyZ2UgcHJlIGNvZGUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5zdXBlcmNoYXJnZSAuaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDhweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLnN1cGVyY2hhcmdlIHtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMDsgfVxuICAgICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLnN1cGVyY2hhcmdlIC5pbWcge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAubGVhcm4tbW9yZSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDAgNjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAubGVhcm4tbW9yZSBwIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAubmV4dC1zdGVwcyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0VERURFRDsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAubmV4dC1zdGVwcyBoZ3JvdXAge1xuICAgICAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5uZXh0LXN0ZXBzIC5jb250ZW50LXJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQ0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTJweDsgfVxuICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5uZXh0LXN0ZXBzIC5jb250ZW50LXJvdyAuY29sIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cbiAgICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAubmV4dC1zdGVwcyAuY29udGVudC1yb3cgLmNvbnRlbnQtY2FyZCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5uZXh0LXN0ZXBzIC5jb250ZW50LXJvdyAuY29udGVudC1jYXJkOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0NHB4O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDcycHgpOyB9XG4gICAgICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAubmV4dC1zdGVwcyAuY29udGVudC1yb3cgLmNvbnRlbnQtY2FyZDpudGgtY2hpbGQoMSk6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2dldHRpbmctc3RhcnRlZC9pb25pYy1uYXRpdmUtY2FyZC5wbmcpOyB9XG4gICAgICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAubmV4dC1zdGVwcyAuY29udGVudC1yb3cgLmNvbnRlbnQtY2FyZDpudGgtY2hpbGQoMik6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2dldHRpbmctc3RhcnRlZC9jb21wb25lbnRzLWNhcmQucG5nKTsgfVxuICAgICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLm5leHQtc3RlcHMgLmNvbnRlbnQtcm93IC5jb250ZW50LWNhcmQ6bnRoLWNoaWxkKDMpOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9nZXR0aW5nLXN0YXJ0ZWQvdGhlbWluZy1jYXJkLnBuZyk7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5uZXh0LXN0ZXBzIGhncm91cCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDQycHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5uZXh0LXN0ZXBzIC5jb250ZW50LXJvdyB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICAgICNwYWdlLWdldHRpbmctc3RhcnRlZCAudGFiLWNvbnRlbnQgLm5leHQtc3RlcHMgLmNvbnRlbnQtcm93IC5jb2wge1xuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDEycHggMTJweCAwOyB9IH1cbiAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5jb250ZW50LWNhcmQge1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzO1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggMCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBwYWRkaW5nOiAxNnB4IDkycHggMTZweCAzMnB4OyB9XG4gICAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnRhYi1jb250ZW50IC5jb250ZW50LWNhcmQgaDMge1xuICAgICAgICBjb2xvcjogIzBGMTYyMDsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuY29udGVudC1jYXJkIHAge1xuICAgICAgICBjb2xvcjogIzU0NUM2QTsgfVxuICAgICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC50YWItY29udGVudCAuY29udGVudC1jYXJkOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTBweCAwIHJnYmEoMCwgMTMsIDM2LCAwLjA4KSwgMCAycHggOHB4IDAgcmdiYSgwLCAxMywgMzYsIDAuMDgpOyB9XG4gICNwYWdlLWdldHRpbmctc3RhcnRlZCAuYnRuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDIwcHggMjJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC5idG4gaSB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC5idG46aG92ZXIgaSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgycHgsIDApOyB9XG4gICNwYWdlLWdldHRpbmctc3RhcnRlZCAuc2NyZWVuc2hvdC1ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI3BhZ2UtZ2V0dGluZy1zdGFydGVkIC5zY3JlZW5zaG90LWdyb3VwIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAjcGFnZS1nZXR0aW5nLXN0YXJ0ZWQgLnNjcmVlbnNob3QtZ3JvdXAgaW1nOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBhbmltYXRpb246IDEwcyBjcm9zc0ZhZGVJbk91dCBpbmZpbml0ZTsgfVxuXG4jcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSxcbiNwYWdlLWdvLXdoeS1oeWJyaWQge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkludGVyIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgaDEsXG4gICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIGgyLFxuICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSBoMyxcbiAgI3BhZ2UtZ28td2h5LWh5YnJpZCBoMSxcbiAgI3BhZ2UtZ28td2h5LWh5YnJpZCBoMixcbiAgI3BhZ2UtZ28td2h5LWh5YnJpZCBoMyB7XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSAuYmFubmVyLFxuICAjcGFnZS1nby13aHktaHlicmlkIC5iYW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY4ZmM7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgbWFyZ2luLXRvcDogLTEzOHB4O1xuICAgIHBhZGRpbmctdG9wOiA3OHB4OyB9XG4gICAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLmJhbm5lciBzdmcsXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuYmFubmVyIHN2ZyB7XG4gICAgICBmaWxsOiAjNGY2Mzg0OyB9XG4gICAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLmJhbm5lciBoZ3JvdXAsXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuYmFubmVyIGhncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmctdG9wOiA4MXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDcycHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2MzJweDsgfVxuICAgICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIC5iYW5uZXIgaDEsXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuYmFubmVyIGgxIHtcbiAgICAgIGNvbG9yOiAjMjQyODJlO1xuICAgICAgZm9udC1zaXplOiAzN3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMzRlbTtcbiAgICAgIG1hcmdpbjogNzdweCAwIDIycHg7IH1cbiAgICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSAuYmFubmVyIHAsXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuYmFubmVyIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogIzYyNmM3ZDtcbiAgICAgIG1heC13aWR0aDogODAwcHg7IH1cbiAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLmNvbnRlbnQsXG4gICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIC5zaWdudXAtZm9ybSxcbiAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuY29udGVudCxcbiAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuc2lnbnVwLWZvcm0ge1xuICAgIGZsZXg6IDEgMDsgfVxuICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSAuY29udGVudCxcbiAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDI3OXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjNGU1NDVlO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIG1heC13aWR0aDogNTI2cHg7IH1cbiAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgbWFpbixcbiAgI3BhZ2UtZ28td2h5LWh5YnJpZCBtYWluIHtcbiAgICBtYXJnaW4tdG9wOiAtMjQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSBtYWluOjpiZWZvcmUsICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIG1haW46OmFmdGVyLFxuICAgICNwYWdlLWdvLXdoeS1oeWJyaWQgbWFpbjo6YmVmb3JlLFxuICAgICNwYWdlLWdvLXdoeS1oeWJyaWQgbWFpbjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIG1haW4gLmxnLFxuICAgICNwYWdlLWdvLXdoeS1oeWJyaWQgbWFpbiAubGcge1xuICAgICAgY29sb3I6ICM2ZTdmOTk7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIHBlcnNwZWN0aXZlOiA2MDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7IH1cbiAgICAgICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIG1haW4gLmxnOjpiZWZvcmUsXG4gICAgICAjcGFnZS1nby13aHktaHlicmlkIG1haW4gLmxnOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2FydGljbGVzL3B3YS1jb3Zlci10aXRsZS5wbmdcIiksIHVybChcIi9pbWcvYXJ0aWNsZXMvcHdhLWNvdmVyLWJnLnBuZ1wiKSwgbGluZWFyLWdyYWRpZW50KDYwZGVnLCAjNzNjNWZmIDAsICMzODgwZmYgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjQlLCAxMDAlLCAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQsIHJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAlIDEyJSwgNTAlIDUwJSwgNTAlIDUwJTtcbiAgICAgICAgaGVpZ2h0OiAyODFweDtcbiAgICAgICAgd2lkdGg6IDE4NnB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNjFweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTJkZWcpO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNjRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSBtYWluIHAsXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCBtYWluIHAge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgbWFpbiB1bCxcbiAgICAjcGFnZS1nby13aHktaHlicmlkIG1haW4gdWwge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMCAwIDQ2cHg7IH1cbiAgICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSBtYWluIGxpLFxuICAgICNwYWdlLWdvLXdoeS1oeWJyaWQgbWFpbiBsaSB7XG4gICAgICBwYWRkaW5nOiAwcHggMCAwIDIxcHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyMWVtOyB9XG4gICAgICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSBtYWluIGxpIHN0cm9uZyxcbiAgICAgICNwYWdlLWdvLXdoeS1oeWJyaWQgbWFpbiBsaSBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSBtYWluIGxpOmJlZm9yZSxcbiAgICAgICNwYWdlLWdvLXdoeS1oeWJyaWQgbWFpbiBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAn4oCiJztcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDdweDsgfVxuICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSAuc2lnbnVwLWZvcm0sXG4gICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIC50aGFuay15b3UgYXNpZGUsXG4gICNwYWdlLWdvLXdoeS1oeWJyaWQgLnNpZ251cC1mb3JtLFxuICAjcGFnZS1nby13aHktaHlicmlkIC50aGFuay15b3UgYXNpZGUge1xuICAgIHBhZGRpbmc6IDQycHggNDhweCA0OHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDQ4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBtYXgtd2lkdGg6IDUzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSAuc2lnbnVwLWZvcm0gaDMsXG4gICAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLnRoYW5rLXlvdSBhc2lkZSBoMyxcbiAgICAjcGFnZS1nby13aHktaHlicmlkIC5zaWdudXAtZm9ybSBoMyxcbiAgICAjcGFnZS1nby13aHktaHlicmlkIC50aGFuay15b3UgYXNpZGUgaDMge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTsgfVxuICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSAuY29tcGFueSxcbiAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuY29tcGFueSB7XG4gICAgbWFyZ2luOiAyMzJweCAwIDY4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLmNvbXBhbnkgaDIsXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuY29tcGFueSBoMiB7XG4gICAgICBjb2xvcjogIzdmOGZhYjtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLmNvbXBhbnkgc3Ryb25nLFxuICAgICNwYWdlLWdvLXdoeS1oeWJyaWQgLmNvbXBhbnkgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAjMTMxOTI0O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIC5jb21wYW55IC5sb2dvcyxcbiAgICAjcGFnZS1nby13aHktaHlicmlkIC5jb21wYW55IC5sb2dvcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLXRvcDogNTFweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG4gICAgICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSAuY29tcGFueSAubG9nb3M6OmJlZm9yZSwgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLmNvbXBhbnkgLmxvZ29zOjphZnRlcixcbiAgICAgICNwYWdlLWdvLXdoeS1oeWJyaWQgLmNvbXBhbnkgLmxvZ29zOjpiZWZvcmUsXG4gICAgICAjcGFnZS1nby13aHktaHlicmlkIC5jb21wYW55IC5sb2dvczo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2hvbWVwYWdlL2VudGVycHJpc2UtbG9nb3MucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgd2lkdGg6IDQ5NHB4O1xuICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLmNvbXBhbnkgLmxvZ29zOjphZnRlcixcbiAgICAgICNwYWdlLWdvLXdoeS1oeWJyaWQgLmNvbXBhbnkgLmxvZ29zOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgYm90dG9tOyB9XG4gICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIC5nZXQtc3RhcnRlZCxcbiAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuZ2V0LXN0YXJ0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNmMWY0Zjg7XG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSAuZ2V0LXN0YXJ0ZWQgLmNvbnRhaW5lcixcbiAgICAjcGFnZS1nby13aHktaHlicmlkIC5nZXQtc3RhcnRlZCAuY29udGFpbmVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMTBweDsgfVxuICAgICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIC5nZXQtc3RhcnRlZCBoZ3JvdXAsXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuZ2V0LXN0YXJ0ZWQgaGdyb3VwIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyNWVtO1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLmdldC1zdGFydGVkIGgyLFxuICAgICNwYWdlLWdvLXdoeS1oeWJyaWQgLmdldC1zdGFydGVkIGgyIHtcbiAgICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgICAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gICAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLmdldC1zdGFydGVkIHAsXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuZ2V0LXN0YXJ0ZWQgcCB7XG4gICAgICBjb2xvcjogIzI0MjgyZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSAuZ2V0LXN0YXJ0ZWQgLmJ0bixcbiAgICAjcGFnZS1nby13aHktaHlicmlkIC5nZXQtc3RhcnRlZCAuYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLmJhbm5lciBoZ3JvdXAsXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuYmFubmVyIGhncm91cCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgaDEsXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCBoMSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIHAubGcsXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCBwLmxnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxuICAgICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIG1haW4sXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLmNvbnRlbnQsXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLnNpZ251cC1mb3JtLFxuICAgICNwYWdlLWdvLXdoeS1oeWJyaWQgLnNpZ251cC1mb3JtIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIC5jb21wYW55LFxuICAgICNwYWdlLWdvLXdoeS1oeWJyaWQgLmNvbXBhbnkge1xuICAgICAgbWFyZ2luLXRvcDogMTI4cHg7IH1cbiAgICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSAuZ2V0LXN0YXJ0ZWQgLmJ0biArIC5idG4sXG4gICAgI3BhZ2UtZ28td2h5LWh5YnJpZCAuZ2V0LXN0YXJ0ZWQgLmJ0biArIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cbiAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLmJhbm5lciAudGhhbmsteW91LFxuICAjcGFnZS1nby13aHktaHlicmlkIC5iYW5uZXIgLnRoYW5rLXlvdSB7XG4gICAgbWluLWhlaWdodDogNDkwcHg7IH1cbiAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgbWFpbi50aGFuay15b3UsXG4gICNwYWdlLWdvLXdoeS1oeWJyaWQgbWFpbi50aGFuay15b3Uge1xuICAgIG1hcmdpbi10b3A6IC0zNDBweDsgfVxuICAjcGFnZS1nby1wd2EtYXJjaGl0ZWN0cy1ndWlkZSAudGhhbmsteW91IGFzaWRlLFxuICAjcGFnZS1nby13aHktaHlicmlkIC50aGFuay15b3UgYXNpZGUge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDUwMHB4OyB9XG4gICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIC50aGFuay15b3UgcDo6YmVmb3JlLFxuICAjcGFnZS1nby13aHktaHlicmlkIC50aGFuay15b3UgcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lOyB9XG4gICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIC50aGFuay15b3UgLmJ0bixcbiAgI3BhZ2UtZ28td2h5LWh5YnJpZCAudGhhbmsteW91IC5idG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlIC50aGFuay15b3UgcC5sZyxcbiAgI3BhZ2UtZ28td2h5LWh5YnJpZCAudGhhbmsteW91IHAubGcge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLnRoYW5rLXlvdSAuYWxzbyxcbiAgI3BhZ2UtZ28td2h5LWh5YnJpZCAudGhhbmsteW91IC5hbHNvIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDY0cHg7IH1cbiAgI3BhZ2UtZ28tcHdhLWFyY2hpdGVjdHMtZ3VpZGUgLnRoYW5rLXlvdSAuY29tcGFueSxcbiAgI3BhZ2UtZ28td2h5LWh5YnJpZCAudGhhbmsteW91IC5jb21wYW55IHtcbiAgICBtYXJnaW4tdG9wOiAxMjhweDsgfVxuXG4jcGFnZS1nby13aHktaHlicmlkIG1haW4gLmxnOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2FydGljbGVzL3doeS1oeWJyaWQtY292ZXIuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgaGVpZ2h0OiAyNDJweDsgfVxuXG4jaW9uaWMtc2xpZGVyIHtcbiAgbWFyZ2luLXRvcDogLTcycHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiA4NjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNpb25pYy1zbGlkZXIgW3Nsb3Q9XCJzbGlkZS0wXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjaW9uaWMtc2xpZGVyIFtzbG90Xj1cInNsaWRlLVwiXSB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICNpb25pYy1zbGlkZXIgW3Nsb3RePVwic2xpZGUtXCJdIGhncm91cCB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNpb25pYy1zbGlkZXIgW3Nsb3RePVwic2xpZGUtXCJdIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3NHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07IH1cbiAgICAjaW9uaWMtc2xpZGVyIFtzbG90Xj1cInNsaWRlLVwiXSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgY29sb3I6ICNlNGYxZmY7IH1cbiAgICAjaW9uaWMtc2xpZGVyIFtzbG90Xj1cInNsaWRlLVwiXSAuYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgICAgcGFkZGluZzogMjBweCAyMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAjaW9uaWMtc2xpZGVyIFtzbG90Xj1cInNsaWRlLVwiXSAuYnRuIGlvbi1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICNpb25pYy1zbGlkZXIgW3Nsb3RePVwic2xpZGUtXCJdIC52ZXJzaW9uLXRleHQge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDExcHg7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgW3Nsb3RePVwic2xpZGUtXCJdIC52ZXJzaW9uLXRleHQgYSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciBbc2xvdF49XCJzbGlkZS1cIl0gLnZlcnNpb24tdGV4dCBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAjaW9uaWMtc2xpZGVyICNzbGlkZS1saW1pdGxlc3Mge1xuICAgIGJhY2tncm91bmQ6ICM1NDhmZmYgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNDI3OGZmLCAjNjdhN2ZmKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1saW1pdGxlc3MgLmJ0biB7XG4gICAgICBjb2xvcjogIzM4ODBmZjsgfVxuICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLWxpbWl0bGVzcyB1bCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLWxpbWl0bGVzcyBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtbGltaXRsZXNzIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtbGltaXRsZXNzIGxpOmxhc3QtY2hpbGQgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IC04cHg7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLWxpbWl0bGVzcyBsaSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgIG9wYWNpdHk6IC42OyB9XG4gICAgI2lvbmljLXNsaWRlciAjc2xpZGUtbGltaXRsZXNzIC5ncmFwaGljcyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1saW1pdGxlc3MgLmdyYXBoaWNzIGxpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbmltYXRpb246IGZhZGVJblVwIDFzIGVhc2UgZm9yd2FyZHM7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtbGltaXRsZXNzIC5ncmFwaGljcyBsaS5pcGhvbmUteCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9ob21lcGFnZS9oZXJvLWlwaG9uZS14LnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICBib3R0b206IC02M3B4O1xuICAgICAgICAgIGxlZnQ6IC0xOTFweDtcbiAgICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMDZweDtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC44czsgfVxuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1saW1pdGxlc3MgLmdyYXBoaWNzIGxpLmlwaG9uZS14cy1tYXgge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2UvaGVyby1pcGhvbmUteHMtbWF4LnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICBib3R0b206IC0zOXB4O1xuICAgICAgICAgIGxlZnQ6IDE3MHB4O1xuICAgICAgICAgIHdpZHRoOiA0OTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDM3OHB4O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjlzOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLWxpbWl0bGVzcyAuZ3JhcGhpY3MgbGkucGl4ZWwtMyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9ob21lcGFnZS9oZXJvLWdvb2dsZS1waXhlbDMucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgIGJvdHRvbTogLTQwcHg7XG4gICAgICAgICAgbGVmdDogNjA3cHg7XG4gICAgICAgICAgd2lkdGg6IDQ5MHB4O1xuICAgICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxczsgfVxuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1saW1pdGxlc3MgLmdyYXBoaWNzIGxpLmdhbGF4eSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9ob21lcGFnZS9oZXJvLWFuZHJvaWQtZ2FsYXh5LnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICBib3R0b206IC00MXB4O1xuICAgICAgICAgIGxlZnQ6IDEwNjNweDtcbiAgICAgICAgICB3aWR0aDogNDUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNTZweDtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEuMXM7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtbGltaXRsZXNzIC5ncmFwaGljcyBsaS5pcGFkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2hvbWVwYWdlL2hlcm8taXBhZC5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgYm90dG9tOiAtNDRweDtcbiAgICAgICAgICBsZWZ0OiAxNDg0cHg7XG4gICAgICAgICAgd2lkdGg6IDYxMHB4O1xuICAgICAgICAgIGhlaWdodDogNTI0cHg7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjJzOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLWxpbWl0bGVzcyAuZ3JhcGhpY3MgbGkubWFjYm9vayB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9ob21lcGFnZS9oZXJvLW1hY2Jvb2sucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgIGJvdHRvbTogLTYzcHg7XG4gICAgICAgICAgbGVmdDogMjA2MXB4O1xuICAgICAgICAgIHdpZHRoOiAxNDcwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1NzBweDtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEuM3M7IH1cbiAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQge1xuICAgIGJhY2tncm91bmQ6ICMwMTA1MGM7IH1cbiAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2UvYmctcGhvbmUucG5nXCIpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IGhncm91cCB7XG4gICAgICBwYWRkaW5nLXRvcDogNThweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC13aWR0aDogNjIwcHg7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IGhncm91cCBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IGhncm91cCBoNCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICAgICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzNweDsgfVxuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgaGdyb3VwIGgxIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTsgfVxuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgaGdyb3VwIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMThweDsgfVxuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgaGdyb3VwIC5idG4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyN3B4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA4ZW07IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgaGdyb3VwIC5idG4ud2hpdGUge1xuICAgICAgICAgIGNvbG9yOiAjMTMxYTI2O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IGhncm91cCAuYnRuLmRhcmsge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMzNDNkNGQ7IH1cbiAgICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCBoZ3JvdXAgLmJ0bi5kYXJrOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzZTQ5NWM7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgaGdyb3VwIC5idG4gaW9uLWljb24ge1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XG4gICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgLmZlYXR1cmVzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMzVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgLmZlYXR1cmVzIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCAuZmVhdHVyZXMgdWwgbGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgLmZlYXR1cmVzIHVsOjpiZWZvcmUsICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyB1bDo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDY1cHg7XG4gICAgICAgIHdpZHRoOiAxNDVweDtcbiAgICAgICAgY29sb3I6ICM4YTk0YTM7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgLmZlYXR1cmVzIGxpOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2UvdjQtZmVhdHVyZS1pY29ucy5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAyNHB4KTtcbiAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgLmZlYXR1cmVzIGxpLnBlcmZvcm1hbmNlOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMHB4OyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyBsaS50aGVtaW5nOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ4cHg7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgLmZlYXR1cmVzIGxpLnN0YW5kYXJkczo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyBsaS5jb21wYXRpYmxlOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0NHB4OyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyBsaS5kb2NzOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgLmZlYXR1cmVzIHtcbiAgICAgICAgICBib3R0b206IDA7IH1cbiAgICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCAuZmVhdHVyZXMgdWwge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3MHB4KSB7XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQ6OmJlZm9yZSB7XG4gICAgICBhbmltYXRpb246IGZhZGVJblVwIDEuNnMgLjhzIGVhc2UgZm9yd2FyZHM7IH1cbiAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCAuZmVhdHVyZXMgbGkge1xuICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyAuMXMgZWFzZSBmb3J3YXJkczsgfVxuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgLmZlYXR1cmVzIGxpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjJzOyB9XG4gICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS12NCAuZmVhdHVyZXMgbGk6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuM3M7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLXY0IC5mZWF0dXJlcyBsaTpudGgtY2hpbGQoNCkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC40czsgfVxuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtdjQgLmZlYXR1cmVzIGxpOm50aC1jaGlsZCg1KSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjVzOyB9XG4gICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA4NDBweDsgfVxuICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgLm5vdGlmaWNhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjZGOEZCO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgICBwYWRkaW5nOiA3cHggMTVweCA3cHg7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgLm5vdGlmaWNhdGlvbiBzdHJvbmcge1xuICAgICAgICBjb2xvcjogIzFBMjMyRjsgfVxuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSAubm90aWZpY2F0aW9uOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc+JzsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgLm5vdGlmaWNhdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSBoZ3JvdXAge1xuICAgICAgbWF4LXdpZHRoOiA0NjRweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogNTZweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgaGdyb3VwIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA2NHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNjRweDtcbiAgICAgICAgY29sb3I6ICMwMjA4MTQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDdweDsgfVxuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSBoZ3JvdXAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM3cHg7XG4gICAgICAgIGNvbG9yOiByZ2JhKDkxLCAxMTIsIDEzOSwgMC45KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDRlbTsgfVxuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSBoZ3JvdXAgLmJ0biB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0RDhERkY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMTZweCAxMnB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgaGdyb3VwIC5idG46aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM2NzlkZmY7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSBoZ3JvdXAgLmJ0bjphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM0RDhERkY7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSBoZ3JvdXAgLmJ0biBpbWcge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgaGdyb3VwIHNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICAgIGNvbG9yOiAjQjJCRUNEOyB9XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgaGdyb3VwIHNtYWxsIGEge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBjb2xvcjogIzkyYTBiMzsgfVxuICAgICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgaGdyb3VwIHNtYWxsIGE6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUzZWE7IH1cbiAgICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IGhncm91cCBzbWFsbCBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNGE4YmZjOyB9XG4gICAgICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IGhncm91cCBzbWFsbCBhOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM0YThiZmM7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IGhncm91cCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA2NHB4OyB9IH1cbiAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IC5ncmFwaGljIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgdG9wOiAxMjBweDtcbiAgICAgIGhlaWdodDogNTYzcHg7XG4gICAgICB3aWR0aDogNTkwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSAuZ3JhcGhpYyB7XG4gICAgICAgICAgdG9wOiAxMjhweDtcbiAgICAgICAgICByaWdodDogLTY0cHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgLmdyYXBoaWMge1xuICAgICAgICAgIHdpZHRoOiAzMDJweDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgdG9wOiAxODBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSAuZ3JhcGhpYyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSAuc3RhdHMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMjFweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSAuc3RhdHMgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgICBjb2xvcjogIzkyQTFCMztcbiAgICAgICAgcGFkZGluZzogMCAxOHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAuM3MgY29sb3I7IH1cbiAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSAuc3RhdHMgYSBzdmcge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtM3B4OyB9XG4gICAgICAgICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSAuc3RhdHMgYSBzdmcgcGF0aCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3MgZmlsbDsgfVxuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IC5zdGF0cyBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzc0ODc5ZTsgfVxuICAgICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgLnN0YXRzIGE6aG92ZXIgc3ZnIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogIzc0ODc5ZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkgLnN0YXRzIHtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE0MHB4KTsgfSB9XG4gICAgI2lvbmljLXNsaWRlciAjc2xpZGUtb25lLWFueSBpb25pYy1uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDI5cHg7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzBweCk7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IGlvbmljLW5ld3NsZXR0ZXItc2lnbnVwIHtcbiAgICAgICAgICBib3R0b206IC0yNnB4O1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjAwcHgpOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IGlvbmljLW5ld3NsZXR0ZXItc2lnbnVwIHtcbiAgICAgICAgICBsZWZ0OiAxNXB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNpb25pYy1zbGlkZXIgI3NsaWRlLW9uZS1hbnkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjaW9uaWMtc2xpZGVyICNzbGlkZS1vbmUtYW55IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjaW9uaWMtc2xpZGVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuXG4jcGFnZS1ob21lICN1c2VkLWJ5IHtcbiAgYm9yZGVyLXRvcDogMXB4ICNFRkYzRjggc29saWQ7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNThweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFRkYzRjg7IH1cbiAgI3BhZ2UtaG9tZSAjdXNlZC1ieSAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDk1MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjcGFnZS1ob21lICN1c2VkLWJ5IC5jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLWhvbWUgI3VzZWQtYnkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNwYWdlLWhvbWUgc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxNzBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNzVlbTtcbiAgcGFkZGluZy1ib3R0b206IDE3MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI3BhZ2UtaG9tZSBzZWN0aW9uLmNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNwYWdlLWhvbWUgc2VjdGlvbi5sZWZ0LCAjcGFnZS1ob21lIHNlY3Rpb24ucmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAjcGFnZS1ob21lIHNlY3Rpb24ubGVmdCAuY29udGVudCwgI3BhZ2UtaG9tZSBzZWN0aW9uLnJpZ2h0IC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiA0NzBweDsgfVxuICAjcGFnZS1ob21lIHNlY3Rpb24ucmlnaHQgLmNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICNwYWdlLWhvbWUgc2VjdGlvbiBoMiB7XG4gICAgZm9udC1zaXplOiA0N3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICBjb2xvcjogIzBkMTIxYzsgfVxuICAjcGFnZS1ob21lIHNlY3Rpb24gaDMge1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDE2ZW07IH1cbiAgI3BhZ2UtaG9tZSBzZWN0aW9uIGg0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICM4MDhmYTc7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlOyB9XG4gICAgI3BhZ2UtaG9tZSBzZWN0aW9uIGg0ICsgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMzZweDsgfVxuICAjcGFnZS1ob21lIHNlY3Rpb24gaDUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgI3BhZ2UtaG9tZSBzZWN0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzhjOWJiOTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzhlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMjhlbTsgfVxuICAjcGFnZS1ob21lIHNlY3Rpb24gaGdyb3VwIHAsXG4gICNwYWdlLWhvbWUgc2VjdGlvbiBwLmxnIHtcbiAgICBjb2xvcjogIzU5NmE4OTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH1cbiAgICAjcGFnZS1ob21lIHNlY3Rpb24gaGdyb3VwIHAgc3Ryb25nLFxuICAgICNwYWdlLWhvbWUgc2VjdGlvbiBwLmxnIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNwYWdlLWhvbWUgc2VjdGlvbiAuY3RhIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMTFweDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBjb2xvcjogIzVhOThmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IC4zcyBvcGFjaXR5OyB9XG4gICAgI3BhZ2UtaG9tZSBzZWN0aW9uIC5jdGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogLjY7IH1cbiAgICAjcGFnZS1ob21lIHNlY3Rpb24gLmN0YTpob3ZlciwgI3BhZ2UtaG9tZSBzZWN0aW9uIC5jdGE6YWN0aXZlLCAjcGFnZS1ob21lIHNlY3Rpb24gLmN0YTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAjcGFnZS1ob21lIHNlY3Rpb24gLmN0YTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RiZTZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjcGFnZS1ob21lIHNlY3Rpb24gLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4jcGFnZS1ob21lICNmb3ItZGV2cyB7XG4gIHBhZGRpbmctYm90dG9tOiA4N3B4OyB9XG4gICNwYWdlLWhvbWUgI2Zvci1kZXZzIGhncm91cCB7XG4gICAgbWF4LXdpZHRoOiA3NDBweDsgfVxuICAjcGFnZS1ob21lICNmb3ItZGV2cyB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLXRvcDogNDZweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBtYXgtd2lkdGg6IDEwNjRweDtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgdWw6OmJlZm9yZSwgI3BhZ2UtaG9tZSAjZm9yLWRldnMgdWw6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAjcGFnZS1ob21lICNmb3ItZGV2cyBsaSBhIHtcbiAgICAgIGNvbG9yOiAjNzk4ZmI4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmctdG9wOiA3M3B4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wOGVtO1xuICAgICAgdHJhbnNpdGlvbjogLjJzIGNvbG9yO1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICAjcGFnZS1ob21lICNmb3ItZGV2cyBsaSBhOjpiZWZvcmUsICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpIGE6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9ob21lcGFnZS9vZmZlcmluZy1pY29ucy5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1NnB4O1xuICAgICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjhweCk7IH1cbiAgICAgICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzRhOGJmYzsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gICAgICAgICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpIGEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0OHB4OyB9IH1cbiAgICAjcGFnZS1ob21lICNmb3ItZGV2cyBsaSBhOjpiZWZvcmUsICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpIGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBvcGFjaXR5OyB9XG4gICAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgbGkgYTo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpOmhvdmVyIGE6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAjcGFnZS1ob21lICNmb3ItZGV2cyBsaS5vc3MgYTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMHB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgbGkub3NzIGE6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTU2cHg7IH1cbiAgICAjcGFnZS1ob21lICNmb3ItZGV2cyBsaS5kZXZvcHMgYTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExMnB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgbGkuZGV2b3BzIGE6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2OHB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjZm9yLWRldnMgbGkuaWRlIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfVxuICAgICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpLmlkZSBhOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yODBweDsgfVxuICAgICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpLmludGVncmF0aW9uIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMzZweDsgfVxuICAgICNwYWdlLWhvbWUgI2Zvci1kZXZzIGxpLmludGVncmF0aW9uIGE6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM5MnB4OyB9XG5cbiNwYWdlLWhvbWUgI29zcyB7XG4gIHBhZGRpbmctdG9wOiAxNzZweDtcbiAgcGFkZGluZy1ib3R0b206IDQwMHB4O1xuICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuICAjcGFnZS1ob21lICNvc3MgLmZyYW1ld29ya3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDMzcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAjcGFnZS1ob21lICNvc3MgLmZyYW1ld29ya3MgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI3BhZ2UtaG9tZSAjb3NzIC5mcmFtZXdvcmtzIGxpIHtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XG4gICAgICAjcGFnZS1ob21lICNvc3MgLmZyYW1ld29ya3MgbGkuZnJhbWV3b3Jrc19fYW5ndWxhciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvaG9tZXBhZ2UvZnJhbWV3b3JrLXN1cHBvcnQtYW5ndWxhci5wbmdcIik7IH1cbiAgICAgICNwYWdlLWhvbWUgI29zcyAuZnJhbWV3b3JrcyBsaS5mcmFtZXdvcmtzX19yZWFjdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvaG9tZXBhZ2UvZnJhbWV3b3JrLXN1cHBvcnQtcmVhY3QucG5nXCIpOyB9XG4gICAgICAjcGFnZS1ob21lICNvc3MgLmZyYW1ld29ya3MgbGkuZnJhbWV3b3Jrc19fdnVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9ob21lcGFnZS9mcmFtZXdvcmstc3VwcG9ydC12dWUucG5nXCIpOyB9XG4gICAgICAjcGFnZS1ob21lICNvc3MgLmZyYW1ld29ya3MgbGkuZnJhbWV3b3Jrc19fanMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2hvbWVwYWdlL2ZyYW1ld29yay1zdXBwb3J0LWphdmFzY3JpcHQucG5nXCIpOyB9XG4gICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI1cHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgaGVpZ2h0OiA1MDBweDsgfVxuICAgICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3MuYWN0aXZlOjpiZWZvcmUsICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3MuYWN0aXZlOjphZnRlciB7XG4gICAgICBhbmltYXRpb246IGZhZGVJblVwIDFzIC44cyBlYXNlIGZvcndhcmRzOyB9XG4gICAgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljcy5hY3RpdmU6OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLjRzOyB9XG4gICAgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljcy5hY3RpdmUgLnNoYWRvdyB7XG4gICAgICBhbmltYXRpb246IGZhZGVJbiAycyAuMnMgZWFzZSBmb3J3YXJkczsgfVxuICAgICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3M6OmJlZm9yZSwgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljczo6YWZ0ZXIsXG4gICAgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljcyAuc2hhZG93IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2UvZnJhbWV3b3JrLWRldmljZS1hbmRyb2lkLmpwZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgdG9wOiA3OHB4O1xuICAgICAgcmlnaHQ6IDk5cHg7XG4gICAgICB3aWR0aDogNDcwcHg7XG4gICAgICBoZWlnaHQ6IDYyNHB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljczo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9ob21lcGFnZS9mcmFtZXdvcmstZGV2aWNlLWlwaG9uZS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICB3aWR0aDogNDkwcHg7XG4gICAgICBoZWlnaHQ6IDc5MHB4O1xuICAgICAgdG9wOiAwcHg7XG4gICAgICByaWdodDogMHB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljcyAuc2hhZG93IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvaG9tZXBhZ2UvZnJhbWV3b3JrLWRldmljZXMtc2hhZG93LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIHdpZHRoOiAxMjY2cHg7XG4gICAgICBoZWlnaHQ6IDIxNHB4O1xuICAgICAgdG9wOiA2NTRweDtcbiAgICAgIHJpZ2h0OiAtMjAwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICNwYWdlLWhvbWUgI29zcyB7XG4gICAgICBwYWRkaW5nLXRvcDogMTIwcHg7IH1cbiAgICAgICNwYWdlLWhvbWUgI29zcyAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAzODBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3Mge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUsIDAuNSk7XG4gICAgICB0b3A6IDIwMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2UtaG9tZSAjb3NzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzI4cHg7IH1cbiAgICAgICNwYWdlLWhvbWUgI29zcyAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgI3BhZ2UtaG9tZSAjb3NzIC5jb250ZW50IC5mcmFtZXdvcmtzIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtaG9tZSAjb3NzIC5ncmFwaGljcyB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDYwcHgpO1xuICAgICAgICBib3R0b206IC0xMDFweDtcbiAgICAgICAgdG9wOiBhdXRvOyB9XG4gICAgICAgICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3M6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAzOXB4O1xuICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICAgIHdpZHRoOiAyMzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDMxMnB4OyB9XG4gICAgICAgICNwYWdlLWhvbWUgI29zcyAuZ3JhcGhpY3M6OmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogMjQ1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzOTVweDsgfVxuICAgICAgICAjcGFnZS1ob21lICNvc3MgLmdyYXBoaWNzIC5zaGFkb3cge1xuICAgICAgICAgIHdpZHRoOiA2MzNweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwN3B4O1xuICAgICAgICAgIHRvcDogMzI3cHg7XG4gICAgICAgICAgcmlnaHQ6IC0xMDBweDsgfSB9XG5cbiNwYWdlLWhvbWUgI2Rldm9wcyB7XG4gIHBhZGRpbmctdG9wOiAyMDRweDtcbiAgcGFkZGluZy1ib3R0b206IDI1MnB4OyB9XG4gICNwYWdlLWhvbWUgI2Rldm9wcyAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNwYWdlLWhvbWUgI2Rldm9wcyAuZ2l0LWhvc3RzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgI3BhZ2UtaG9tZSAjZGV2b3BzIC5naXQtaG9zdHMgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI3BhZ2UtaG9tZSAjZGV2b3BzIC5naXQtaG9zdHMgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxOXB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjZGV2b3BzIC5naXQtaG9zdHMgaW1nIHtcbiAgICAgIGhlaWdodDogMjBweDsgfVxuICAjcGFnZS1ob21lICNkZXZvcHMgLmdyYXBoaWNzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2hvbWVwYWdlL2Rldm9wcy1hcHBmbG93LXByZXZpZXcucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHdpZHRoOiAxMzI0cHg7XG4gICAgaGVpZ2h0OiA4MTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNHB4O1xuICAgIGxlZnQ6IC0yMjdweDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgI3BhZ2UtaG9tZSAjZGV2b3BzIC5ncmFwaGljcy5hY3RpdmUge1xuICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlIGZvcndhcmRzOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAjcGFnZS1ob21lICNkZXZvcHMge1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7IH1cbiAgICAgICNwYWdlLWhvbWUgI2Rldm9wcyAuZ3JhcGhpY3Mge1xuICAgICAgICB3aWR0aDogOTMzcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjcGFnZS1ob21lICNkZXZvcHMgLmdyYXBoaWNzIHtcbiAgICAgIHdpZHRoOiA2NjJweDtcbiAgICAgIHRvcDogMTgwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcGFnZS1ob21lICNkZXZvcHMge1xuICAgICAgcGFkZGluZy10b3A6IDE2MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQyMHB4OyB9XG4gICAgICAjcGFnZS1ob21lICNkZXZvcHMgLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgI3BhZ2UtaG9tZSAjZGV2b3BzIC5naXQtaG9zdHMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgI3BhZ2UtaG9tZSAjZGV2b3BzIC5ncmFwaGljcyB7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTUwcHgpO1xuICAgICAgICB3aWR0aDogMzMxcHg7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAyMDNweDtcbiAgICAgICAgYm90dG9tOiAxNzBweDsgfSB9XG5cbiNwYWdlLWhvbWUgI3N0dWRpbyB7XG4gIHBhZGRpbmctYm90dG9tOiA1NHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNTBweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIG1hcmdpbi10b3A6IDE1MHB4OyB9XG4gICNwYWdlLWhvbWUgI3N0dWRpbyAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA3MjBweDsgfVxuICAjcGFnZS1ob21lICNzdHVkaW8gLmdyYXBoaWNzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2hvbWVwYWdlL3N0dWRpby1kZXNrdG9wLWJnLmpwZ1wiKSA1MCUgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIG1hcmdpbi10b3A6IDU4cHg7IH1cbiAgICAjcGFnZS1ob21lICNzdHVkaW8gLmdyYXBoaWNzIHZpZGVvIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMjJweCA3MHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNTYpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWhvbWUgI3N0dWRpbyB7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICNwYWdlLWhvbWUgI3N0dWRpbyAuZ3JhcGhpY3MgdmlkZW8ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbiNwYWdlLWhvbWUgI2ludGVncmF0aW9ucyB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNHB4OyB9XG4gICNwYWdlLWhvbWUgI2ludGVncmF0aW9ucyAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA4OTRweDsgfVxuICAjcGFnZS1ob21lICNpbnRlZ3JhdGlvbnMgLmludGVncmF0aW9uLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDM2MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDQ4cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb246IGZhZGVJbiAxcyAxcyBmb3J3YXJkczsgfVxuICAgICNwYWdlLWhvbWUgI2ludGVncmF0aW9ucyAuaW50ZWdyYXRpb24tbGlzdCBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgI3BhZ2UtaG9tZSAjaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbi1saXN0IGltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTI4cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3gtc2hhZG93OiAwIDZweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAgICAgI3BhZ2UtaG9tZSAjaW50ZWdyYXRpb25zIC5pbnRlZ3JhdGlvbi1saXN0IGltZy5tIHtcbiAgICAgICAgd2lkdGg6IDY0cHg7IH1cbiAgICAgICNwYWdlLWhvbWUgI2ludGVncmF0aW9ucyAuaW50ZWdyYXRpb24tbGlzdCBpbWcubSB7XG4gICAgICAgIHdpZHRoOiA5NnB4OyB9XG5cbiNwYWdlLWhvbWUgI3doeS1idWlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiA5MHB4OyB9XG4gICNwYWdlLWhvbWUgI3doeS1idWlsZCAud2h5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogNzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjd2h5LWJ1aWxkIC53aHkgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI3BhZ2UtaG9tZSAjd2h5LWJ1aWxkIC53aHkgbGkge1xuICAgICAgcGFkZGluZy10b3A6IDYxcHg7XG4gICAgICBtYXgtd2lkdGg6IDMxMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjcGFnZS1ob21lICN3aHktYnVpbGQgLndoeSBsaS53aHlfX2Z1dHVyZS1wcm9vZjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwcHg7IH1cbiAgICAgICNwYWdlLWhvbWUgI3doeS1idWlsZCAud2h5IGxpLndoeV9fY29tbXVuaXR5OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00OHB4OyB9XG4gICAgICAjcGFnZS1ob21lICN3aHktYnVpbGQgLndoeSBsaS53aHlfX29zOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9XG4gICAgICAjcGFnZS1ob21lICN3aHktYnVpbGQgLndoeSBsaTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9ob21lcGFnZS93aHktYnVpbGQtaWNvbnMucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAjcGFnZS1ob21lICN3aHktYnVpbGQgLndoeSBsaSBwIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgI3BhZ2UtaG9tZSAjd2h5LWJ1aWxkIC53aHkgbGkge1xuICAgICAgbWF4LXdpZHRoOiAyODBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLWhvbWUgI3doeS1idWlsZCAud2h5IGxpIHtcbiAgICAgIG1heC13aWR0aDogMjEwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcGFnZS1ob21lICN3aHktYnVpbGQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAjcGFnZS1ob21lICN3aHktYnVpbGQgLndoeSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgICAgICNwYWdlLWhvbWUgI3doeS1idWlsZCAud2h5IGxpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAjcGFnZS1ob21lICN3aHktYnVpbGQgLndoeSBsaTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjRweCk7IH0gfVxuXG4jcGFnZS1ob21lICNkaWZmZXJlbmNlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA2OXB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsgfVxuICAjcGFnZS1ob21lICNkaWZmZXJlbmNlIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNwYWdlLWhvbWUgI2RpZmZlcmVuY2UgLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvaG9tZXBhZ2UvaHlicmlkLXZzLW5hdGl2ZS1pb25pYy1lYm9vay5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIHdpZHRoOiA0MjRweDtcbiAgICAgIGhlaWdodDogMzEwcHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTY5cHg7XG4gICAgICBsZWZ0OiA1MnB4OyB9XG4gICNwYWdlLWhvbWUgI2RpZmZlcmVuY2UgaGdyb3VwIHtcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAjcGFnZS1ob21lICNkaWZmZXJlbmNlIGg1IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICBjb2xvcjogIzFmMzI1NjsgfVxuICAjcGFnZS1ob21lICNkaWZmZXJlbmNlIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuICAgIGNvbG9yOiAjNmM4MWE2OyB9XG4gICNwYWdlLWhvbWUgI2RpZmZlcmVuY2UgLmJ0biB7XG4gICAgcGFkZGluZzogMTJweCAxM3B4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjhiZmY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICNwYWdlLWhvbWUgI2RpZmZlcmVuY2UgLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAjcGFnZS1ob21lICNkaWZmZXJlbmNlIGhncm91cCB7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3BhZ2UtaG9tZSAjZGlmZmVyZW5jZSBoZ3JvdXAge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAjcGFnZS1ob21lICNkaWZmZXJlbmNlIC5jb250YWluZXI6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMjEycHg7XG4gICAgICBoZWlnaHQ6IDE1NXB4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDM3MHB4KSB7XG4gICAgI3BhZ2UtaG9tZSAjZGlmZmVyZW5jZSAuY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSB7XG4gIHBhZGRpbmctdG9wOiAxNTlweDtcbiAgcGFkZGluZy1ib3R0b206IDIwMnB4OyB9XG4gICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSBoZ3JvdXAge1xuICAgIG1heC13aWR0aDogNzMycHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAjcGFnZS1ob21lICNnb29kLWNvbXBhbnkgaGdyb3VwIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY2FzZS1zdHVkaWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogNTRweDsgfVxuICAgICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY2FzZS1zdHVkaWVzIGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY2FzZS1zdHVkaWVzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAyNzBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgICAjcGFnZS1ob21lICNnb29kLWNvbXBhbnkgLmNhc2Utc3R1ZGllcyBhIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIHBhZGRpbmc6IDIzNnB4IDI3cHggMjNweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDMwLCA4NCwgMC4xMiksIDAgMXB4IDNweCByZ2JhKDAsIDMwLCA4NCwgMC4wOCk7XG4gICAgICB0cmFuc2l0aW9uOiAuMTVzIGJveC1zaGFkb3cgZWFzZSwgLjE1cyBjb2xvciwgLjE1cyB0cmFuc2Zvcm07IH1cbiAgICAgICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY2FzZS1zdHVkaWVzIGE6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggcmdiYSgwLCAzMCwgODQsIDAuMSksIDAgM3B4IDZweCByZ2JhKDAsIDMwLCA4NCwgMC4wOCk7IH1cbiAgICAjcGFnZS1ob21lICNnb29kLWNvbXBhbnkgLmNhc2Utc3R1ZGllcyBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7IH1cbiAgICAjcGFnZS1ob21lICNnb29kLWNvbXBhbnkgLmNhc2Utc3R1ZGllcyBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMjUzOTUwOyB9XG4gICAgI3BhZ2UtaG9tZSAjZ29vZC1jb21wYW55IC5jYXNlLXN0dWRpZXMgcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtOyB9XG4gICAgI3BhZ2UtaG9tZSAjZ29vZC1jb21wYW55IC5jYXNlLXN0dWRpZXMgLmN0YSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LWZhbWlseTogRWluYTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wM2VtOyB9XG4gICAgICAjcGFnZS1ob21lICNnb29kLWNvbXBhbnkgLmNhc2Utc3R1ZGllcyAuY3RhOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3BhZ2UtaG9tZSAjZ29vZC1jb21wYW55IC5vdGhlcnMge1xuICAgIHdpZHRoOiA4MDdweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDQ5cHggYXV0byAzNXB4OyB9XG4gICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY3RhOjphZnRlciB7XG4gICAgY29sb3I6ICNkYmU2ZmY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY2FzZS1zdHVkaWVzIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAyMjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAuY2FzZS1zdHVkaWVzIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgICAjcGFnZS1ob21lICNnb29kLWNvbXBhbnkgLmNhc2Utc3R1ZGllcyBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAyODBweDsgfVxuICAgICNwYWdlLWhvbWUgI2dvb2QtY29tcGFueSAub3RoZXJzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuI3BhZ2UtaG9tZSAjam9pbiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzRmNzRmZSwgIzcwYWFmYik7XG4gIHBhZGRpbmctdG9wOiAxMzJweDtcbiAgcGFkZGluZy1ib3R0b206IDE2MHB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjcGFnZS1ob21lICNqb2luIGhncm91cCB7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICAgIG1heC13aWR0aDogNzkwcHg7IH1cbiAgI3BhZ2UtaG9tZSAjam9pbiBoMSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiA0NnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2NHB4OyB9XG4gICNwYWdlLWhvbWUgI2pvaW4gLmJ0bnMge1xuICAgIG1hcmdpbi10b3A6IDQ0cHg7IH1cbiAgI3BhZ2UtaG9tZSAjam9pbiAuYnRuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHBhZGRpbmc6IDIxcHggMjRweCAxOXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDk2ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgICNwYWdlLWhvbWUgI2pvaW4gLmJ0biBpb24taWNvbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4OyB9XG4gICAgI3BhZ2UtaG9tZSAjam9pbiAuYnRuLmxpZ2h0IHtcbiAgICAgIGJhY2tncm91bmQ6ICM3YmIzZmY7IH1cbiAgICAgICNwYWdlLWhvbWUgI2pvaW4gLmJ0bi5saWdodDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM5NWMyZmY7IH1cbiAgICAjcGFnZS1ob21lICNqb2luIC5idG46bm90KDpob3Zlcik6bm90KDphY3RpdmUpIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuYm9keS5wcmVzcy1yZWxlYXNlIG1haW4uY29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6IFwiQWRvYmUgQ2FzbG9uXCIsIEdlb3JnaWEsIFRpbWVzLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiAgbWF4LXdpZHRoOiA3MzBweDsgfVxuICBib2R5LnByZXNzLXJlbGVhc2UgbWFpbi5jb250YWluZXIgaDEsXG4gIGJvZHkucHJlc3MtcmVsZWFzZSBtYWluLmNvbnRhaW5lciBoMixcbiAgYm9keS5wcmVzcy1yZWxlYXNlIG1haW4uY29udGFpbmVyIGgzLFxuICBib2R5LnByZXNzLXJlbGVhc2UgbWFpbi5jb250YWluZXIgaDQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH1cbiAgYm9keS5wcmVzcy1yZWxlYXNlIG1haW4uY29udGFpbmVyIGgxIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDEwMXB4O1xuICAgIG1hcmdpbi10b3A6IDY3cHg7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICBsaW5lLWhlaWdodDogNDRweDsgfVxuICAgIGJvZHkucHJlc3MtcmVsZWFzZSBtYWluLmNvbnRhaW5lciBoMTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvcHJlc3MvcHJlc3MtdGh1bWJuYWlsLnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA3MnB4O1xuICAgICAgd2lkdGg6IDcycHg7XG4gICAgICBoZWlnaHQ6IDcycHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDsgfVxuICAgIGJvZHkucHJlc3MtcmVsZWFzZSBtYWluLmNvbnRhaW5lciBoMSArIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDAzZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIGJvZHkucHJlc3MtcmVsZWFzZSBtYWluLmNvbnRhaW5lciBoMyArIGg0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICM5MjljYWM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDU4cHg7IH1cbiAgYm9keS5wcmVzcy1yZWxlYXNlIG1haW4uY29udGFpbmVyIGgyLFxuICBib2R5LnByZXNzLXJlbGVhc2UgbWFpbi5jb250YWluZXIgaDMge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgYm9keS5wcmVzcy1yZWxlYXNlIG1haW4uY29udGFpbmVyIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgYm9keS5wcmVzcy1yZWxlYXNlIG1haW4uY29udGFpbmVyIHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIGJvZHkucHJlc3MtcmVsZWFzZSBtYWluLmNvbnRhaW5lciBsaSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyZW07IH1cblxuI3BhZ2UtcHJvZHVjdHMtY29udGFjdCAucHJpY2luZy1zdXJ2ZXkge1xuICB3aWR0aDogNjAwcHg7XG4gIG1hcmdpbjogNDBweCBhdXRvIDQwcHggYXV0bzsgfVxuXG4jcGFnZS1wcm9kdWN0cy1jb250YWN0IC5jdGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuI3BhZ2UtcHJvZHVjdHMtY29udGFjdCAuYnV0dG9uLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWRlcGxveSAudG9wIHtcbiAgbWFyZ2luLXRvcDogLTEzOHB4O1xuICBwYWRkaW5nLXRvcDogMTcwcHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLWJvdHRvbTogNTIycHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlIHVybChcIi9pbWcvcHJvL2RlcGxveS9kZXBsb3ktaGVyby1mbGF0LWltZy5wbmdcIikgNTAlIDEwMCUgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDExMDhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgLnRvcCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDc4MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDM2MHB4OyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IC50b3AgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgLnRvcCAuY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICNwYWdlLXByb2R1Y3RzLWRlcGxveSAudG9wIC5jb250YWluZXI6YmVmb3JlLFxuICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgLnRvcCAuY29udGFpbmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNwYWdlLXByb2R1Y3RzLWRlcGxveSAudG9wIGhncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDk5cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDU1NXB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IC50b3AgaGdyb3VwOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9wcm8vZGVwbG95L2RlcGxveS1oZXJvLWljb24ucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSAudG9wIGhncm91cCBoMSB7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgLnRvcCBoZ3JvdXAgcCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWRlcGxveSAudG9wIC5idG5zIHtcbiAgICBtYXJnaW4tdG9wOiAxNTBweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSAudG9wIC5idG5zIC5idG4ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IC50b3AgLmJ0bnMgLmJ0bi5wdXJwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNTY1N2ZiO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxOXB4IDEwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSAudG9wIC5idG5zIC5idG4ud2hpdGUge1xuICAgICAgICBjb2xvcjogIzU2NTdmYjtcbiAgICAgICAgcGFkZGluZzogMTJweCAxOXB4IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IC50b3AgLmJ0bnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IC50b3AgaGdyb3VwOmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IC50b3AgaGdyb3VwLFxuICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSAudG9wIC5idG5zIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSAudG9wIGhncm91cCxcbiAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgLnRvcCBoZ3JvdXAgaDEge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5za2lwIHtcbiAgYmFja2dyb3VuZDogI2Y2ZjhmYzsgfVxuICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5za2lwIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzhweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5za2lwIGhncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDcycHg7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNzdweCk7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5za2lwIGhncm91cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5za2lwIGgyIHtcbiAgICBsaW5lLWhlaWdodDogNDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLnNraXAgcCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24uc2tpcCBwIHN0cm9uZyB7XG4gICAgICBjb2xvcjogIzM2M2E0MDsgfVxuICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5za2lwIC5pdGVtcyB7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA1MHB4KTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24uc2tpcCAuaXRlbXMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24uc2tpcCAuaXRlbXMgcCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDI2ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgY29sb3I6ICM1ZTY3Nzc7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24uc2tpcCBsaSB7XG4gICAgZmxleDogMCAxIDI1NHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLnNraXAgbGkge1xuICAgICAgICBmbGV4LWJhc2lzOiAzMjFweDtcbiAgICAgICAgei1pbmRleDogMTsgfSB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24uc2tpcCBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL2RlcGxveS9mZWF0dXJlLWljb25zLXNtLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDhweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLnNraXAgbGkubGl2ZTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLnNraXAgbGkuYXV0b21hdGljOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLnNraXAgbGkuc3BsaXQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24uc2tpcCBsaS5jb21wbGlhbnQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5za2lwIC5ncmFwaGljcyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9wcm8vZGVwbG95L2ZlYXR1cmUtaW1nLXNraXAucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3MjRweDtcbiAgICB3aWR0aDogNzI0cHg7XG4gICAgaGVpZ2h0OiA3MzlweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IC4ycyBvcGFjaXR5OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5za2lwIC5ncmFwaGljcyB7XG4gICAgICAgIHJpZ2h0OiAtMTYwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24uc2tpcCAuZ3JhcGhpY3Mge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5za2lwIC5ncmFwaGljcy5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4jcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5saXZlIGgyLCAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5sYXRlc3QgaDIsICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLnJ1biBoMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5saXZlIGgyOjpiZWZvcmUsICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxhdGVzdCBoMjo6YmVmb3JlLCAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5ydW4gaDI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9wcm8vZGVwbG95L2ZlYXR1cmUtaWNvbnMtbGcucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICB3aWR0aDogNjRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgY29udGVudDogJyc7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxpdmUgaDI6OmJlZm9yZSwgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGF0ZXN0IGgyOjpiZWZvcmUsICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLnJ1biBoMjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5saXZlIC5ncmFwaGljcywgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGF0ZXN0IC5ncmFwaGljcywgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ucnVuIC5ncmFwaGljcyB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxpdmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM1YjRjZmMgMCUsICM4ZTgzZmYgMTAwJSk7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGl2ZSBoZ3JvdXAge1xuICAgIHBhZGRpbmctdG9wOiAxMjdweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTA3cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxpdmUgaGdyb3VwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxpdmUgaDIge1xuICAgIHBhZGRpbmctdG9wOiA4M3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgbGluZS1oZWlnaHQ6IDQycHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5saXZlIGgyIHNwYW4ge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxpdmUgcCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5saXZlIC5ncmFwaGljcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5saXZlIC5ncmFwaGljcyAuaXBob25lLFxuICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxpdmUgLmdyYXBoaWNzIC5hbmRyb2lkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAzMzBweDtcbiAgICAgIGhlaWdodDogNTE4cHg7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGl2ZSAuZ3JhcGhpY3MgLmlwaG9uZTo6YWZ0ZXIsXG4gICAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5saXZlIC5ncmFwaGljcyAuYW5kcm9pZDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgMCAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAzMzBweDtcbiAgICAgICAgaGVpZ2h0OiA1MThweDtcbiAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxpdmUgLmdyYXBoaWNzIC5pcGhvbmUgLnNjcmVlbixcbiAgICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxpdmUgLmdyYXBoaWNzIC5hbmRyb2lkIC5zY3JlZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgMCAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYW5pbWF0aW9uOiAxMHMgc2NyZWVuUG9wLTEgaW5maW5pdGU7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGl2ZSAuZ3JhcGhpY3MgLmlwaG9uZSAuc2NyZWVuOm50aC1jaGlsZCgyKSxcbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGl2ZSAuZ3JhcGhpY3MgLmFuZHJvaWQgLnNjcmVlbjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzY3JlZW5Qb3AtMjsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5saXZlIC5ncmFwaGljcyAuaXBob25lIC5zY3JlZW46bnRoLWNoaWxkKDMpLFxuICAgICAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5saXZlIC5ncmFwaGljcyAuYW5kcm9pZCAuc2NyZWVuOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNjcmVlblBvcC0zOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGl2ZSAuZ3JhcGhpY3MgLmlwaG9uZSB7XG4gICAgICByaWdodDogMjUwcHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGl2ZSAuZ3JhcGhpY3MgLmlwaG9uZSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMHB4OyB9IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxpdmUgLmdyYXBoaWNzIC5pcGhvbmU6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vZGVwbG95L2ZlYXR1cmUtaXBob25lLWRldmljZS5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzMwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxpdmUgLmdyYXBoaWNzIC5pcGhvbmUgLnNjcmVlbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL2RlcGxveS9mZWF0dXJlLWlwaG9uZS1zY3JlZW4tMS5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjY2cHg7XG4gICAgICAgIHdpZHRoOiAyNjZweDtcbiAgICAgICAgaGVpZ2h0OiAzOTZweDtcbiAgICAgICAgcmlnaHQ6IDMycHg7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGl2ZSAuZ3JhcGhpY3MgLmlwaG9uZSAuc2NyZWVuOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vZGVwbG95L2ZlYXR1cmUtaXBob25lLXNjcmVlbi0yLnBuZ1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI2NnB4OyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxpdmUgLmdyYXBoaWNzIC5pcGhvbmUgLnNjcmVlbjpudGgtY2hpbGQoMykge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL2RlcGxveS9mZWF0dXJlLWlwaG9uZS1zY3JlZW4tMy5wbmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNjZweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxpdmUgLmdyYXBoaWNzIC5hbmRyb2lkOjphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL2RlcGxveS9mZWF0dXJlLWFuZHJvaWQtZGV2aWNlLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMzMwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5saXZlIC5ncmFwaGljcyAuYW5kcm9pZCAuc2NyZWVuIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL2RlcGxveS9mZWF0dXJlLWFuZHJvaWQtc2NyZWVuLTEucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyODBweDtcbiAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgIGhlaWdodDogNDYycHg7XG4gICAgICByaWdodDogMjZweDtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLjI1czsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGl2ZSAuZ3JhcGhpY3MgLmFuZHJvaWQgLnNjcmVlbjpudGgtY2hpbGQoMikge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9kZXBsb3kvZmVhdHVyZS1hbmRyb2lkLXNjcmVlbi0yLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyODBweDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuMjVzOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5saXZlIC5ncmFwaGljcyAuYW5kcm9pZCAuc2NyZWVuOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL2RlcGxveS9mZWF0dXJlLWFuZHJvaWQtc2NyZWVuLTMucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI4MHB4O1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC4yNXM7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGF0ZXN0IGhncm91cCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEwOHB4KTtcbiAgcGFkZGluZy10b3A6IDEzMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTIxcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGF0ZXN0IGhncm91cCB7XG4gICAgICB3aWR0aDogNDUlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGF0ZXN0IGhncm91cCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5sYXRlc3QgaDIge1xuICBwYWRkaW5nLXRvcDogODdweDtcbiAgZm9udC1zaXplOiAyN3B4O1xuICBsZXR0ZXItc3BhY2luZzogLS4wMjRlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgbGluZS1oZWlnaHQ6IDQycHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGF0ZXN0IGgyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGF0ZXN0IHAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmxhdGVzdCAuZ3JhcGhpY3Mge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3Byby9kZXBsb3kvZmVhdHVyZS1pbWctbGF0ZXN0LnBuZ1wiKSAwIDUwJSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNTg5cHg7XG4gIHdpZHRoOiA1ODlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogLjJzIG9wYWNpdHk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGF0ZXN0IC5ncmFwaGljcyB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ubGF0ZXN0IC5ncmFwaGljcy5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ucnVuIHtcbiAgYmFja2dyb3VuZDogI2Y2ZjhmYzsgfVxuICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5ydW4gaGdyb3VwIHtcbiAgICBwYWRkaW5nLXRvcDogMTI2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwOHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5ydW4gaGdyb3VwIHtcbiAgICAgICAgd2lkdGg6IDQ1JTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5ydW4gaGdyb3VwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLnJ1biBoMiB7XG4gICAgcGFkZGluZy10b3A6IDgzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBsaW5lLWhlaWdodDogNDJweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLnJ1biBoMjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLnJ1biBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ucnVuIC5ncmFwaGljcyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9wcm8vZGVwbG95L2ZlYXR1cmUtaW1nLWFidGVzdC5wbmdcIikgNTAlIDEwMCUgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTI2cHg7XG4gICAgd2lkdGg6IDUyNnB4O1xuICAgIGhlaWdodDogNTEzcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAuMnMgb3BhY2l0eTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24ucnVuIC5ncmFwaGljcyB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5ydW4gLmdyYXBoaWNzLmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmdldC1zdGFydGVkIHtcbiAgYmFja2dyb3VuZDogI2U3ZWNmNjsgfVxuICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5nZXQtc3RhcnRlZCBoMiB7XG4gICAgY29sb3I6ICMyNzJhMmY7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24uZ2V0LXN0YXJ0ZWQgcCB7XG4gICAgY29sb3I6ICM1ZTY3Nzc7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHNlY3Rpb24uZ2V0LXN0YXJ0ZWQgLmJ0biB7XG4gICAgcGFkZGluZzogMTJweCAxOXB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLWRlcGxveSBzZWN0aW9uLmdldC1zdGFydGVkIC5idG4ud2hpdGUge1xuICAgICAgY29sb3I6ICM1MjQ0ZmY7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1kZXBsb3kgc2VjdGlvbi5nZXQtc3RhcnRlZCAuYnRuLnB1cnBsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNWE0ZGZjO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cblxuLnByb2R1Y3RzLXBhZ2Uge1xuICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnByb2R1Y3RzLXBhZ2UgLnRvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnByb2R1Y3RzLXBhZ2UgLnRvcCBoMSB7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDsgfVxuICAgIC5wcm9kdWN0cy1wYWdlIC50b3AgcCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICBjb2xvcjogIzJmMzc0NDsgfVxuICAgIC5wcm9kdWN0cy1wYWdlIC50b3AgLmdyYXBoaWNzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAucHJvZHVjdHMtcGFnZSAuY2VudGVyIGhncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDc0OHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDE4cHg7IH1cbiAgICAucHJvZHVjdHMtcGFnZSAuY2VudGVyIGhncm91cCBoMiB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcbiAgICAgIGNvbG9yOiAjMTYxYTFmOyB9XG4gICAgLnByb2R1Y3RzLXBhZ2UgLmNlbnRlciBoZ3JvdXAgcCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBjb2xvcjogIzVlNjc3NztcbiAgICAgIG1hcmdpbi10b3A6IDI5cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucHJvZHVjdHMtcGFnZSAuY2VudGVyIGhncm91cCBwIHN0cm9uZyB7XG4gICAgICBjb2xvcjogIzI3MmEyZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnByb2R1Y3RzLXBhZ2UgdWwuaXRlbXMge1xuICAgIHBhZGRpbmc6IDQ4cHggMTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucHJvZHVjdHMtcGFnZSB1bC5pdGVtcyBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZy10b3A6IDY3cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5wcm9kdWN0cy1wYWdlIHVsLml0ZW1zIGxpOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAwIDAgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7IH1cbiAgICAgIC5wcm9kdWN0cy1wYWdlIHVsLml0ZW1zIGxpIHN0cm9uZyB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMDFlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAucHJvZHVjdHMtcGFnZSB1bC5pdGVtcyBsaSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMjZlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBjb2xvcjogIzVlNjc3NzsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5wcm9kdWN0cy1wYWdlIHVsLml0ZW1zIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgIC5wcm9kdWN0cy1wYWdlIHVsLml0ZW1zIGxpOjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAyNHB4KTsgfSB9XG4gIC5wcm9kdWN0cy1wYWdlIHNlY3Rpb24ubGVmdCAuY29udGFpbmVyLFxuICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLnJpZ2h0IC5jb250YWluZXIsXG4gIC5wcm9kdWN0cy1wYWdlIHNlY3Rpb24uYm90aCAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnByb2R1Y3RzLXBhZ2Ugc2VjdGlvbi5sZWZ0IGhncm91cCxcbiAgLnByb2R1Y3RzLXBhZ2Ugc2VjdGlvbi5yaWdodCBoZ3JvdXAsXG4gIC5wcm9kdWN0cy1wYWdlIHNlY3Rpb24uYm90aCBoZ3JvdXAge1xuICAgIHBhZGRpbmctdG9wOiAyMDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTUxcHg7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMTQ3cHgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgLnByb2R1Y3RzLXBhZ2Ugc2VjdGlvbi5sZWZ0IGhncm91cCxcbiAgICAgIC5wcm9kdWN0cy1wYWdlIHNlY3Rpb24ucmlnaHQgaGdyb3VwLFxuICAgICAgLnByb2R1Y3RzLXBhZ2Ugc2VjdGlvbi5ib3RoIGhncm91cCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQ4cHgpOyB9IH1cbiAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLmxlZnQgaGdyb3VwOjpiZWZvcmUsXG4gICAgLnByb2R1Y3RzLXBhZ2Ugc2VjdGlvbi5yaWdodCBoZ3JvdXA6OmJlZm9yZSxcbiAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLmJvdGggaGdyb3VwOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogMCAwIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEyNnB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLmxlZnQgaGdyb3VwOjphZnRlcixcbiAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLnJpZ2h0IGhncm91cDo6YWZ0ZXIsXG4gICAgLnByb2R1Y3RzLXBhZ2Ugc2VjdGlvbi5ib3RoIGhncm91cDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnByb2R1Y3RzLXBhZ2Ugc2VjdGlvbi5sZWZ0IGhncm91cCBoMixcbiAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLnJpZ2h0IGhncm91cCBoMixcbiAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLmJvdGggaGdyb3VwIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgICBsaW5lLWhlaWdodDogNDJweDsgfVxuICAgIC5wcm9kdWN0cy1wYWdlIHNlY3Rpb24ubGVmdCBoZ3JvdXAgcCxcbiAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLnJpZ2h0IGhncm91cCBwLFxuICAgIC5wcm9kdWN0cy1wYWdlIHNlY3Rpb24uYm90aCBoZ3JvdXAgcCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDI2ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgY29sb3I6ICM1ZTY3Nzc7IH1cbiAgICAgIC5wcm9kdWN0cy1wYWdlIHNlY3Rpb24ubGVmdCBoZ3JvdXAgcCBzdHJvbmcsXG4gICAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLnJpZ2h0IGhncm91cCBwIHN0cm9uZyxcbiAgICAgIC5wcm9kdWN0cy1wYWdlIHNlY3Rpb24uYm90aCBoZ3JvdXAgcCBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5wcm9kdWN0cy1wYWdlIHNlY3Rpb24ubGVmdCAuZ3JhcGhpY3MsXG4gIC5wcm9kdWN0cy1wYWdlIHNlY3Rpb24ucmlnaHQgLmdyYXBoaWNzLFxuICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLmJvdGggLmdyYXBoaWNzIHtcbiAgICBiYWNrZ3JvdW5kOiAwIDUwJSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHdpZHRoOiA0NzBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLnByb2R1Y3RzLXBhZ2Ugc2VjdGlvbi5sZWZ0IC5ncmFwaGljcy5hY3RpdmF0ZU9uU2Nyb2xsLFxuICAgIC5wcm9kdWN0cy1wYWdlIHNlY3Rpb24ucmlnaHQgLmdyYXBoaWNzLmFjdGl2YXRlT25TY3JvbGwsXG4gICAgLnByb2R1Y3RzLXBhZ2Ugc2VjdGlvbi5ib3RoIC5ncmFwaGljcy5hY3RpdmF0ZU9uU2Nyb2xsIHtcbiAgICAgIGZpbHRlcjogYmx1cigxMHB4KTtcbiAgICAgIHRyYW5zaXRpb246IC40cyBvcGFjaXR5LCAuNHMgZmlsdGVyOyB9XG4gICAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLmxlZnQgLmdyYXBoaWNzLmFjdGl2YXRlT25TY3JvbGwuYWN0aXZlLFxuICAgICAgLnByb2R1Y3RzLXBhZ2Ugc2VjdGlvbi5yaWdodCAuZ3JhcGhpY3MuYWN0aXZhdGVPblNjcm9sbC5hY3RpdmUsXG4gICAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLmJvdGggLmdyYXBoaWNzLmFjdGl2YXRlT25TY3JvbGwuYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgZmlsdGVyOiBibHVyKDApOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLmxlZnQgLmdyYXBoaWNzLFxuICAgICAgLnByb2R1Y3RzLXBhZ2Ugc2VjdGlvbi5yaWdodCAuZ3JhcGhpY3MsXG4gICAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLmJvdGggLmdyYXBoaWNzIHtcbiAgICAgICAgcmlnaHQ6IC0yMCU7IH0gfVxuICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLnJpZ2h0IGhncm91cCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5wcm9kdWN0cy1wYWdlIHNlY3Rpb24ucmlnaHQgLmdyYXBoaWNzIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLnJpZ2h0IC5ncmFwaGljcyB7XG4gICAgICAgIGxlZnQ6IC0yMCU7IH0gfVxuICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLmJvdGggLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLmJvdGggLmNvbnRhaW5lcjo6YmVmb3JlLCAucHJvZHVjdHMtcGFnZSBzZWN0aW9uLmJvdGggLmNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAucHJvZHVjdHMtcGFnZSAuZ2V0LXN0YXJ0ZWQge1xuICAgIGJhY2tncm91bmQ6IDAgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgIC5wcm9kdWN0cy1wYWdlIC5nZXQtc3RhcnRlZCAuY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLXRvcDogMTAxcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAycHg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAucHJvZHVjdHMtcGFnZSAuZ2V0LXN0YXJ0ZWQgLmNvbnRhaW5lcjo6YmVmb3JlLCAucHJvZHVjdHMtcGFnZSAuZ2V0LXN0YXJ0ZWQgLmNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgLnByb2R1Y3RzLXBhZ2UgLmdldC1zdGFydGVkIC5jb250YWluZXIge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgLnByb2R1Y3RzLXBhZ2UgLmdldC1zdGFydGVkIGhncm91cCxcbiAgICAucHJvZHVjdHMtcGFnZSAuZ2V0LXN0YXJ0ZWQgLmJ0bnMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnByb2R1Y3RzLXBhZ2UgLmdldC1zdGFydGVkIGhncm91cCB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAucHJvZHVjdHMtcGFnZSAuZ2V0LXN0YXJ0ZWQgaDIge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnByb2R1Y3RzLXBhZ2UgLmdldC1zdGFydGVkIHAge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgICBjb2xvcjogIzAwM2U4MjsgfVxuICAgIC5wcm9kdWN0cy1wYWdlIC5nZXQtc3RhcnRlZCAuYnRucyAuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDEycHggMTlweCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnByb2R1Y3RzLXBhZ2UgLmdldC1zdGFydGVkIC5idG5zIC5idG46bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTVweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5wcm9kdWN0cy1wYWdlIC5nZXQtc3RhcnRlZCAuYnRucyAuYnRuIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAxNnB4IGF1dG87IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgLnByb2R1Y3RzLXBhZ2UgLmdldC1zdGFydGVkIC5idG5zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1tb25pdG9yIC50b3Age1xuICBtYXJnaW4tdG9wOiAtMTUwcHg7XG4gIHBhZGRpbmctdG9wOiAxNzRweDtcbiAgYmFja2dyb3VuZDogIzBjMWMxYztcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDUxMzEyIDAlLCAjMTEyNjI0IDEwMCUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAudG9wIGhncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDk3cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDM1NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLnRvcCBoZ3JvdXA6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3Byby9tb25pdG9yL21vbml0b3ItY3RhLWljb24ucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHg7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSA0MHB4KTsgfVxuICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC50b3AgaDEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIG1heC13aWR0aDogODYwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLnRvcCBwIHtcbiAgICBjb2xvcjogI2FiYjNiMjtcbiAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC50b3AgcCBzdHJvbmcge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC50b3AgLmJ0bnMge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC50b3AgLmJ0bnMgLmJ0biB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC50b3AgLmJ0bnMgLmJ0bi5ncmVlbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzMWNhNzQ7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTlweCAxMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAudG9wIC5idG5zIC5idG4uZGFyayB7XG4gICAgICAgIGNvbG9yOiAjMzFjYTc0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzEzZjNmO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE5cHggMTBweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1tb25pdG9yICNoZWFydC1tb25pdG9yLXN0YWdlIHtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgd2lkdGg6IDQwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNjRweDtcbiAgbGVmdDogY2FsYyg1MCUgLSAyMDBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAjaGVhcnQtbW9uaXRvci1zdGFnZSAjZ3JpZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDI0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSAyNSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkgMjYlLCB0cmFuc3BhcmVudCAyNyUsIHRyYW5zcGFyZW50IDc0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSA3NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkgNzYlLCB0cmFuc3BhcmVudCA3NyUsIHRyYW5zcGFyZW50KSwgbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCAyNCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkgMjUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpIDI2JSwgdHJhbnNwYXJlbnQgMjclLCB0cmFuc3BhcmVudCA3NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkgNzUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpIDc2JSwgdHJhbnNwYXJlbnQgNzclLCB0cmFuc3BhcmVudCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTBweCA1MHB4O1xuICAgIG1hc2staW1hZ2U6IHJhZGlhbC1ncmFkaWVudChibGFjayAyMCUsIHRyYW5zcGFyZW50IDcwJSk7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAjaGVhcnQtbW9uaXRvci1zdGFnZSAjZWRnZXMsXG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgI2hlYXJ0LW1vbml0b3Itc3RhZ2UgI3Nwb3RsaWdodCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDUxNDEzLCAjMTAyNjI0KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFzay1pbWFnZTogcmFkaWFsLWdyYWRpZW50KHRyYW5zcGFyZW50IDUwJSwgYmxhY2sgNzAlKTsgfVxuICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yICNoZWFydC1tb25pdG9yLXN0YWdlICNzcG90bGlnaHQge1xuICAgIGxlZnQ6IC0xMDAlO1xuICAgIG1hc2staW1hZ2U6IHJhZGlhbC1ncmFkaWVudCh0cmFuc3BhcmVudCAzMCUsIGJsYWNrIDgwJSk7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAjaGVhcnQtbW9uaXRvci1zdGFnZSBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgI2hlYXJ0LW1vbml0b3Itc3RhZ2UgLnBhdGgge1xuICAgIGZpbGw6IHRyYW5zcGFyZW50O1xuICAgIHN0cm9rZTogcmdiYSgwLCAyMDAsIDEyNiwgMC41KTtcbiAgICBzdHJva2UtbWl0ZXJsaW1pdDogMTA7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAjaGVhcnQtbW9uaXRvci1zdGFnZSAucGF0aC0zIHtcbiAgICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgICBzdHJva2U6IHJnYmEoMCwgMjAwLCAxMjYsIDAuOCk7XG4gICAgc3Ryb2tlLW1pdGVybGltaXQ6IDEwOyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgI2hlYXJ0LW1vbml0b3Itc3RhZ2UgLnBhdGgtMiB7XG4gICAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gICAgc3Ryb2tlOiAjOWFmZmMwO1xuICAgIHN0cm9rZS1taXRlcmxpbWl0OiAyMDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1tb25pdG9yIC5waW5wb2ludCAuY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDkycHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAucGlucG9pbnQgaGdyb3VwIHtcbiAgbWF4LXdpZHRoOiA5NjBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC5waW5wb2ludCBoZ3JvdXAgaDMge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICMxZWQxNzY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA2ZW07XG4gICAgZm9udC1zaXplOiAyNHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLnBpbnBvaW50IGhncm91cCBoMiB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC5waW5wb2ludCBoZ3JvdXAgcCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAucGlucG9pbnQgLml0ZW1zIHtcbiAgcGFkZGluZzogNTBweCAwIDQ2cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAucGlucG9pbnQgLml0ZW1zIGxpIHtcbiAgICBmbGV4OiAwIDEgMzAzcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLnBpbnBvaW50IC5pdGVtcyBsaSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDIwMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLnBpbnBvaW50IC5pdGVtcyBsaSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLnBpbnBvaW50IC5pdGVtcyBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvcHJvL21vbml0b3IvZmVhdHVyZS1pY29ucy1zbS5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDhweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLnBpbnBvaW50IC5pdGVtcyBsaS5idWlsdDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ4cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC5waW5wb2ludCAuaXRlbXMgbGkudHlwZXNjcmlwdDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk2cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAucGlucG9pbnQgLml0ZW1zIHN0cm9uZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC5waW5wb2ludCAuaXRlbXMgcCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAucGlucG9pbnQgLmdldC1zdGFydGVkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjBmNGY4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAucGlucG9pbnQgLmdldC1zdGFydGVkIGhncm91cCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLnBpbnBvaW50IC5nZXQtc3RhcnRlZCBoMiB7XG4gICAgY29sb3I6ICMxZWQxNzY7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLnBpbnBvaW50IC5nZXQtc3RhcnRlZCBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC5waW5wb2ludCAuZ2V0LXN0YXJ0ZWQgcCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLnBpbnBvaW50IC5nZXQtc3RhcnRlZCAuYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWVkMTc2O1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTlweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDFlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC5waW5wb2ludCAuZ2V0LXN0YXJ0ZWQgLmJ0bnMge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1tb25pdG9yIHNlY3Rpb24ubGVmdCBoZ3JvdXA6OmJlZm9yZSxcbiNwYWdlLXByb2R1Y3RzLW1vbml0b3Igc2VjdGlvbi5yaWdodCBoZ3JvdXA6OmJlZm9yZSxcbiNwYWdlLXByb2R1Y3RzLW1vbml0b3Igc2VjdGlvbi5ib3RoIGhncm91cDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vbW9uaXRvci9mZWF0dXJlLWljb25zLWxnLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA2NHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLW1vbml0b3Igc2VjdGlvbi5sZWZ0IGhncm91cDo6YmVmb3JlLFxuICAgICNwYWdlLXByb2R1Y3RzLW1vbml0b3Igc2VjdGlvbi5yaWdodCBoZ3JvdXA6OmJlZm9yZSxcbiAgICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIHNlY3Rpb24uYm90aCBoZ3JvdXA6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDMycHgpOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciBzZWN0aW9uLmxlZnQgaDIsXG4jcGFnZS1wcm9kdWN0cy1tb25pdG9yIHNlY3Rpb24ucmlnaHQgaDIsXG4jcGFnZS1wcm9kdWN0cy1tb25pdG9yIHNlY3Rpb24uYm90aCBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtc2l6ZTogMzZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gIGxpbmUtaGVpZ2h0OiA0MnB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLW1vbml0b3Igc2VjdGlvbi5sZWZ0IHAsXG4jcGFnZS1wcm9kdWN0cy1tb25pdG9yIHNlY3Rpb24ucmlnaHQgcCxcbiNwYWdlLXByb2R1Y3RzLW1vbml0b3Igc2VjdGlvbi5ib3RoIHAge1xuICBmb250LXNpemU6IDE3cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtLjAwOGVtOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIHNlY3Rpb24ubGVmdCBoZ3JvdXAsXG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3Igc2VjdGlvbi5yaWdodCBoZ3JvdXAsXG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3Igc2VjdGlvbi5ib3RoIGhncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAuY29uZmlkZW5jZSB7XG4gIGJhY2tncm91bmQ6ICNmNGY5Zjc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC5jb25maWRlbmNlIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAuY29uZmlkZW5jZSBoZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLmNvbmZpZGVuY2UgLmdyYXBoaWNzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9tb25pdG9yL2ZlYXR1cmUtaW1nLWNvbmZpZGVuY2UucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTE0NXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gICAgd2lkdGg6IDExNDVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLmNvbmZpZGVuY2UgLmdyYXBoaWNzIHtcbiAgICAgICAgcmlnaHQ6IC0yMCU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAuY29uZmlkZW5jZSAuZ3JhcGhpY3Mge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAuYWhlYWQge1xuICBiYWNrZ3JvdW5kOiAjZTFlYmU5OyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLmFoZWFkIGhncm91cDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02NHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLmFoZWFkIC5ncmFwaGljcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vbW9uaXRvci9mZWF0dXJlLWltZy1haGVhZC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2MjFweDtcbiAgICB3aWR0aDogNjIxcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLmFoZWFkIC5ncmFwaGljcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1tb25pdG9yIC5ib3RoIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjN2M5YzkxIDUwJSwgIzRlNzM2NiA1MCUpOyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLmJvdGggaGdyb3VwOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLmJvdGggaGdyb3VwICsgaGdyb3VwOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLmJvdGggaDIge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC5ib3RoIHAge1xuICAgIGNvbG9yOiAjYmRkOGQzOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciAuYm90aCBwIHN0cm9uZyB7XG4gICAgICBjb2xvcjogI2U1ZmVmYTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIC5ib3RoIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM3YzljOTEgNTAlLCAjNGU3MzY2IDUwJSk7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLW1vbml0b3IgLmJvdGggLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtbW9uaXRvciBzZWN0aW9uLmdldC1zdGFydGVkIHtcbiAgYmFja2dyb3VuZDogI2U2ZjFlZDsgfVxuICAjcGFnZS1wcm9kdWN0cy1tb25pdG9yIHNlY3Rpb24uZ2V0LXN0YXJ0ZWQgaDIge1xuICAgIGNvbG9yOiAjMjAyNjI0OyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3Igc2VjdGlvbi5nZXQtc3RhcnRlZCBwIHtcbiAgICBjb2xvcjogIzU1Njg2MTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLW1vbml0b3Igc2VjdGlvbi5nZXQtc3RhcnRlZCBwIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3Igc2VjdGlvbi5nZXQtc3RhcnRlZCAuYnRuLmdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWVkMTc2OyB9XG4gICNwYWdlLXByb2R1Y3RzLW1vbml0b3Igc2VjdGlvbi5nZXQtc3RhcnRlZCAuYnRuLndoaXRlIHtcbiAgICBjb2xvcjogIzFlZDE3NjsgfVxuXG4jcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC5zdWItaGVhZGVyID4gLmNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDI7IH1cblxuI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMTQ0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiAxNzhweDtcbiAgYmFja2dyb3VuZDogI2U3YTJkZDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjYzY5NmY4IDAlLCAjZmNhNWE3IDEwMCUpOyB9XG4gICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnRvcCBoZ3JvdXAge1xuICAgIHBhZGRpbmctdG9wOiAxMDNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTQ4cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnRvcCBoZ3JvdXA6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3Byby9wYWNrYWdlL3BhY2thZ2UtaGVyby1pY29uLnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4MHB4O1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDE1cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgaGdyb3VwIGgxLFxuICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnRvcCBoZ3JvdXAgcCB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgaGdyb3VwIGgxIHtcbiAgICAgIG1heC13aWR0aDogMzUwcHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgaGdyb3VwIHAge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgIG1heC13aWR0aDogNDc1cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgaGdyb3VwIHAgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIGhncm91cCAuYnRucyB7XG4gICAgICBtYXJnaW4tdG9wOiAzMnB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgaGdyb3VwIC5idG5zIC5idG4ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIGhncm91cCAuYnRucyAuYnRuLnBpbmsge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNlMzM3NjY7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA5cHg7XG4gICAgICAgICAgcGFkZGluZzogMTJweCAxOXB4IDEycHg7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIGhncm91cCAuYnRucyAuYnRuLndoaXRlIHtcbiAgICAgICAgICBjb2xvcjogI2UzMzc2NjtcbiAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE5cHggMTJweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgaGdyb3VwOmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIGhncm91cCxcbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgLmJ0bnMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIGhncm91cCxcbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgaGdyb3VwIGgxIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIC5ncmFwaGljcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnRvcCAuY2xvdWQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjAwcHg7XG4gICAgbGVmdDogLTIwMHB4O1xuICAgIHdpZHRoOiAzNDZweDtcbiAgICBoZWlnaHQ6IDMxMnB4O1xuICAgIGFuaW1hdGlvbjogNDBzIGZsb2F0aW5nQ2xvdWQgbGluZWFyIGluZmluaXRlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgLmNsb3VkOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9wcm8vcGFja2FnZS9wYWNrYWdlLWhlcm8tY2xvdWQucG5nXCIpIG5vLXJlcGVhdCAwIDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDM0NnB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgLmNsb3VkIC5idWlsZCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3Byby9wYWNrYWdlL3BhY2thZ2UtaGVyby1hcHAtaWNvbi5wbmdcIikgbm8tcmVwZWF0IDAgMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogODdweDtcbiAgICAgIHdpZHRoOiA4N3B4O1xuICAgICAgaGVpZ2h0OiAxMTZweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzMHB4O1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIGFuaW1hdGlvbjogMTBzIHJhaW5Ecm9wIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgIHotaW5kZXg6IDY7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnRvcCAuY2xvdWQgLmJ1aWxkOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHRvcDogMTY2cHg7XG4gICAgICAgIGxlZnQ6IDIyMHB4O1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC44cztcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA4czsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIC5jbG91ZCAuYnVpbGQ6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgdG9wOiAzM3B4O1xuICAgICAgICBsZWZ0OiAxMzBweDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjhzO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDlzOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgLmNsb3VkIC5idWlsZDpudGgtY2hpbGQoNCkge1xuICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgIGxlZnQ6IDYwcHg7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMi44cztcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMnM7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgLmNsb3VkOm50aC1jaGlsZCgyKSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNSwgMC41LCAxKTtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbG9hdGluZ0Nsb3VkLTI7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDYwcztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMTBzO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIC5jbG91ZDpudGgtY2hpbGQoMikgLmJ1aWxkIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxczsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgLmNsb3VkOm50aC1jaGlsZCgyKSAuYnVpbGQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDJzOyB9XG4gICAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnRvcCAuY2xvdWQ6bnRoLWNoaWxkKDIpIC5idWlsZDpudGgtY2hpbGQoMykge1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogM3M7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIC5jbG91ZDpudGgtY2hpbGQoMikgLmJ1aWxkOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiA0czsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnRvcCAuY2xvdWQ6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IC0xNTBweDtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbG9hdGluZ0Nsb3VkLTM7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDUwcztcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMnM7XG4gICAgICB6LWluZGV4OiAzOyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgLmNsb3VkOm50aC1jaGlsZCgzKSAuYnVpbGQge1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC4xczsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgLmNsb3VkOm50aC1jaGlsZCgzKSAuYnVpbGQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC4yczsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgLmNsb3VkOm50aC1jaGlsZCgzKSAuYnVpbGQ6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC4zczsgfVxuICAgICAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50b3AgLmNsb3VkOm50aC1jaGlsZCgzKSAuYnVpbGQ6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC40czsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnRvcCAuY2xvdWQ6bnRoLWNoaWxkKDQpIHtcbiAgICAgIHRvcDogMzAwcHg7XG4gICAgICBsZWZ0OiAtMjUwcHg7XG4gICAgICBhbmltYXRpb24tbmFtZTogZmxvYXRpbmdDbG91ZC00O1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMHM7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDJzO1xuICAgICAgei1pbmRleDogMzsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIC5jbG91ZDpudGgtY2hpbGQoNCkgLmJ1aWxkIHtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuMXM7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIC5jbG91ZDpudGgtY2hpbGQoNCkgLmJ1aWxkOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuMnM7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIC5jbG91ZDpudGgtY2hpbGQoNCkgLmJ1aWxkOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuM3M7IH1cbiAgICAgICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudG9wIC5jbG91ZDpudGgtY2hpbGQoNCkgLmJ1aWxkOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuNHM7IH1cblxuI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAuZmVhdHVyZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNlZmRkZmYgMCwgI2ZmZTNlNCAxMDAlKTsgfVxuICBAc3VwcG9ydHMgKGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KSkge1xuICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLmZlYXR1cmVzIHtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfSB9XG4gICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLmZlYXR1cmVzIHVsIHtcbiAgICBwYWRkaW5nOiA3MXB4IDBweCA0NXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC5mZWF0dXJlcyB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAuZmVhdHVyZXMgbGkge1xuICAgIGZsZXg6IDAgMSAzMTVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLmZlYXR1cmVzIGxpIHtcbiAgICAgICAgZmxleDogMCAxIDMwM3B4OyB9IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC5mZWF0dXJlcyBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3BhY2thZ2UvZmVhdHVyZS1pY29ucy1zbS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC5mZWF0dXJlcyBsaS56ZXJvOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLmZlYXR1cmVzIGxpLnBlYWNlOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC5mZWF0dXJlcyBwIHtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSBtYWluIHtcbiAgbWFyZ2luLXRvcDogLTE0NHB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4ge1xuICBiYWNrZ3JvdW5kOiAjZjhmNWZiOyB9XG4gICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gaGdyb3VwIHtcbiAgICBtYXgtd2lkdGg6IDc0MHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDIzcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50dXJuIGhncm91cCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMTRweDsgfSB9XG4gICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gcCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50dXJuIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50dXJuIC5ncmFwaGljcyB7XG4gICAgd2lkdGg6IDEwNTZweDtcbiAgICBoZWlnaHQ6IDQwMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA1NDRweCk7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50dXJuIC5ncmFwaGljcyAuaHRtbCB7XG4gICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgMCAwIHVybChcIi9pbWcvcHJvL3BhY2thZ2UvcGFja2FnZS1pbWctY3NzLWZpbGUucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTBweDtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0zcHg7XG4gICAgICB0b3A6IDc2cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gLmdyYXBoaWNzIC5odG1sOjpiZWZvcmUsICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gLmdyYXBoaWNzIC5odG1sOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCAwIDAgdXJsKFwiL2ltZy9wcm8vcGFja2FnZS9wYWNrYWdlLWltZy1odG1sLWZpbGUucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MHB4O1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDY3cHg7XG4gICAgICAgIHRvcDogNXB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50dXJuIC5ncmFwaGljcyAuaHRtbDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby9wYWNrYWdlL3BhY2thZ2UtaW1nLWpzLWZpbGUucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MHB4O1xuICAgICAgICBsZWZ0OiAxMzdweDtcbiAgICAgICAgdG9wOiAtMnB4OyB9XG4gICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudHVybiAuZ3JhcGhpY3MgLmFwcCB7XG4gICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgMCAwIHVybChcIi9pbWcvcHJvL3BhY2thZ2UvcGFja2FnZS1pbWctaXBhLWZpbGUucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTBweDtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDkxMnB4O1xuICAgICAgdG9wOiA4MXB4OyB9XG4gICAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50dXJuIC5ncmFwaGljcyAuYXBwOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgMCAwIHVybChcIi9pbWcvcHJvL3BhY2thZ2UvcGFja2FnZS1pbWctYXBrLWZpbGUucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MHB4O1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0xMDBweDtcbiAgICAgICAgdG9wOiAycHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50dXJuIC5ncmFwaGljcyAuY2lyY2xlcyB7XG4gICAgICB3aWR0aDogMTA1NnB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50dXJuIC5ncmFwaGljcyAuYm94IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCAwIDAgdXJsKFwiL2ltZy9wcm8vcGFja2FnZS9wYWNrYWdlLWltZy1zZXJ2ZXIucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0NjBweDtcbiAgICAgIHdpZHRoOiA0NjBweDtcbiAgICAgIGhlaWdodDogNDAycHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDM3NXB4O1xuICAgICAgdG9wOiAxcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gLmdyYXBoaWNzIC5ib3g6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIHVybChcIi9pbWcvcHJvL3BhY2thZ2UvaW9uaWMtcGFja2FnZS1zZXJ2ZXItbGlnaHQuanBnLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0NXB4O1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAyNjJweDtcbiAgICAgICAgdG9wOiA5NXB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zczsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudHVybiAuZ3JhcGhpY3MgLmJveC5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50dXJuIC5ncmFwaGljcyAuY2lyY2xlIHtcbiAgICAgIGhlaWdodDogN3B4O1xuICAgICAgd2lkdGg6IDdweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTY5cHg7XG4gICAgICBsZWZ0OiAyODhweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICNlNWU5ZjE7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gLmdyYXBoaWNzIC5jaXJjbGU6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjg1NTZjO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC42czsgfVxuICAgICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudHVybiAuZ3JhcGhpY3MgLmNpcmNsZS5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gLmdyYXBoaWNzIC5jaXJjbGU6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgbGVmdDogMzA4cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gLmdyYXBoaWNzIC5jaXJjbGU6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgbGVmdDogMzI4cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gLmdyYXBoaWNzIC5jaXJjbGU6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgbGVmdDogMzQ4cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gLmdyYXBoaWNzIC5jaXJjbGU6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgbGVmdDogMzY3cHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gLmdyYXBoaWNzIC5jaXJjbGU6bnRoLWNoaWxkKDYpIHtcbiAgICAgICAgbGVmdDogNzExcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gLmdyYXBoaWNzIC5jaXJjbGU6bnRoLWNoaWxkKDcpIHtcbiAgICAgICAgbGVmdDogNzMxcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gLmdyYXBoaWNzIC5jaXJjbGU6bnRoLWNoaWxkKDgpIHtcbiAgICAgICAgbGVmdDogNzUwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gLmdyYXBoaWNzIC5jaXJjbGU6bnRoLWNoaWxkKDkpIHtcbiAgICAgICAgbGVmdDogNzcwcHg7IH1cbiAgICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLnR1cm4gLmdyYXBoaWNzIC5jaXJjbGU6bnRoLWNoaWxkKDEwKSB7XG4gICAgICAgIGxlZnQ6IDc5MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgICAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAudHVybiAuZ3JhcGhpY3Mge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDEpO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDUyNnB4KTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC50dXJuIC5ncmFwaGljcyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMSk7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC5sZWF2ZSBoZ3JvdXAge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxMzBweCk7XG4gIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLmxlYXZlIGhncm91cCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLmxlYXZlIGgyIHtcbiAgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07XG4gIG1hcmdpbi1ib3R0b206IDMxcHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAubGVhdmUgcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgY29sb3I6ICM1ZTY3Nzc7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAubGVhdmUgcCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAubGVhdmUgLmNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC5sZWF2ZSAuY29udGFpbmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ltZy9wcm8vcGFja2FnZS9mbG9hdGluZy1hcHAtaWNvbnMucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2ODJweDtcbiAgICB3aWR0aDogNjgycHg7XG4gICAgaGVpZ2h0OiA2NTBweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtOTZweDtcbiAgICByaWdodDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAubGVhdmUgaGdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAubGVhdmUgLmNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IC41OyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAuZ2V0LXN0YXJ0ZWQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjNjk2ZjggMCUsICNmY2E1YTcgMTAwJSk7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAuZ2V0LXN0YXJ0ZWQgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDdweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC5nZXQtc3RhcnRlZCBwIHtcbiAgICBjb2xvcjogIzYwMWJhYTsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLmdldC1zdGFydGVkIHAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSAuZ2V0LXN0YXJ0ZWQgLmJ0biB7XG4gICAgcGFkZGluZzogMTJweCAxOXB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICNwYWdlLXByb2R1Y3RzLXBhY2thZ2UgLmdldC1zdGFydGVkIC5idG4ucGluayB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjM0OTcxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cbiAgICAjcGFnZS1wcm9kdWN0cy1wYWNrYWdlIC5nZXQtc3RhcnRlZCAuYnRuLndoaXRlIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgY29sb3I6ICNlOTM2Nzc7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIG1haW4sXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLnN1Yi1oZWFkZXIsXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmN0YSB7XG4gIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5zdWItaGVhZGVyID4gLmNvbnRhaW5lciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5jdGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIyMjNhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby90ZWFtcy1oZXJvLWJnLmpwZ1wiKSwgbGluZWFyLWdyYWRpZW50KDEyMGRlZywgIzEyMjIzYSwgIzAwMGExYyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXIsIDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIG1hcmdpbi10b3A6IC0xMzZweDtcbiAgcGFkZGluZy10b3A6IDEzNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmN0YSBoZ3JvdXAge1xuICBwYWRkaW5nLWJvdHRvbTogMTE0cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5jdGEgaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5jdGEgcCB7XG4gIGNvbG9yOiAjYTBhYmJmO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuY3RhIHAgc3Ryb25nIHtcbiAgY29sb3I6ICNjY2Q0ZTM7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5jdGEtYnV0dG9ucyB7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5jdGEgLmJ0biB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDE0cHggMjRweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmN0YSAuYnRuLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMzE0ZTsgfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmN0YSAubG9nby1maWVsZCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTIwcHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5jdGEgLmxvZ28tZmllbGQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMjAwLCAyMjUsIDI1NSwgMC4wOCksIHJnYmEoMjAwLCAyMjAsIDI1NSwgMC4wOCkpLCB1cmwoL2ltZy9wcm8vdGVhbXMtaGVyby1iZy5qcGcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSwgY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJSwgNTAlIDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiBjYWxjKDEwMCUgLSA2NjFweCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2NjFweDtcbiAgICBmaWx0ZXI6IGJsdXIoMjRweCk7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5jdGEgLmxvZ28tZmllbGQgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDg5NXB4O1xuICAgIHdpZHRoOiA4MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuY3RhIC5sb2dvLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmhlcm8ge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwYWRkaW5nOiAyNjBweCAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmhlcm8ge1xuICAgICAgcGFkZGluZzogMjAlIDA7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmhlcm8gLmNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5oZXJvLmZsaXBwZWQgLmNvbnRhaW5lciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmhlcm9fX2NvbnRlbnQge1xuICB3aWR0aDogNDAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuaGVyb19fY29udGVudCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuaGVyb19faWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3RlYW1zLWZlYXR1cmUtaWNvbnMucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA2NHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB3aWR0aDogNjRweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmhlcm9fX2ljb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuc2hpcCAuaGVyb19faWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmxpc3RlbiAuaGVyb19faWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teTogLTY0cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5jb2xsYWJvcmF0ZSAuaGVyb19faWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teTogLTEyOHB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuaGVybyBoMiB7XG4gIGNvbG9yOiAjOWFhYWMxO1xuICBmb250LXNpemU6IDM2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICBsaW5lLWhlaWdodDogNDZweDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuaGVybyBoMiBzdHJvbmcge1xuICBjb2xvcjogIzI0MjgyZTsgfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmhlcm8gcCB7XG4gIGNvbG9yOiAjNTA1ODYzO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5zaGlwIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vdGVhbXMtc2hpcC1oZXJvLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDgxMXB4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAubGlzdGVuIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vdGVhbXMtbGlzdGVuLWhlcm8ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiA4MTFweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmNvbGxhYm9yYXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vdGVhbXMtY29sbGFib3JhdGUtaGVyby5qcGdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiA4MTFweDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5zaGlwLFxuICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmNvbGxhYm9yYXRlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgLTQwMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLnNoaXAsXG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuY29sbGFib3JhdGUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAtMTUwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuc2hpcCxcbiAgI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5jb2xsYWJvcmF0ZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IC01MHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAubGlzdGVuIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAtMzUwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAubGlzdGVuIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAtMTUwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAubGlzdGVuIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAtNTBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLnNoaXAsXG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAubGlzdGVuLFxuICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmNvbGxhYm9yYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIHBhZGRpbmc6IDYwcHggMDsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuZmVhdHVyZXMge1xuICBwYWRkaW5nOiAxMDBweCAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmZlYXR1cmVzIC5oZXJvX19jb250ZW50IHtcbiAgICB3aWR0aDogNzAlOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5mZWF0dXJlcyBoMyB7XG4gIGNvbG9yOiAjMjQyODJlO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5mZWF0dXJlcyBwIHtcbiAgY29sb3I6ICM3NDdmOTI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmZlYXR1cmVzIC5oZXJvX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vdGVhbXMtc3ViZmVhdHVyZS1pY29ucy5wbmdcIik7XG4gIGhlaWdodDogNDhweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgd2lkdGg6IDQ4cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5mZWF0dXJlcyAuaGVyb19faWNvbi5zaGFyaW5nIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5mZWF0dXJlcyAuaGVyb19faWNvbi5jaSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtNDhweDsgfVxuICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmZlYXR1cmVzIC5oZXJvX19pY29uLmZlZWQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTk2cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5mZWF0dXJlcyAuaGVyb19faWNvbi5jb2xsYWIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTE0NHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuZmVhdHVyZXMgLmhlcm9fX2ljb24uYmluYXJpZXMge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTE5MnB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuZmVhdHVyZXMgLmhlcm9fX2ljb24uY2hhbm5lbHMge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTI0MHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuZmVhdHVyZXMgLmhlcm9fX2ljb24uY2Qge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTI4OHB4OyB9XG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuZmVhdHVyZXMgLmhlcm9fX2ljb24ubW9uaXRvcmluZyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtMzM2cHg7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5mZWF0dXJlcyAuaGVyb19faWNvbi5yYXBpZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtMzg0cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5mZWF0dXJlc19fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiA3MHB4IDAgMDtcbiAgcGFkZGluZzogMDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmZlYXR1cmVzX19saXN0IGxpIHtcbiAgZmxleDogMCAwIDMzLjMzJTtcbiAgcGFkZGluZy1ib3R0b206IDRlbTtcbiAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuZmVhdHVyZXNfX2xpc3QgbGkge1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuZmVhdHVyZXNfX2xpc3QgbGkge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5xdW90ZXMge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLnF1b3RlcyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5xdW90ZXNfX2NvbnRlbnQge1xuICBtYXgtd2lkdGg6IDQ5MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5xdW90ZXNfX25hcGEsXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLnF1b3Rlc19faG1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogODBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLnF1b3Rlc19fbmFwYSxcbiAgICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLnF1b3Rlc19faG1iIHtcbiAgICAgIHBhZGRpbmc6IDQwcHg7IH0gfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLnF1b3Rlc19fbmFwYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2YjU2ZDQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5xdW90ZXNfX25hcGEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5xdW90ZXNfX25hcGEgLmNhc2Utc3R1ZHktcGlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NjM1YzI7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgcGFkZGluZzogN3B4IDEwcHggNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDdweDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5xdW90ZXNfX25hcGEgLmNhc2Utc3R1ZHktcGlsbCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAucXVvdGVzX19uYXBhIC5jYXNlLXN0dWR5LXBpbGw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFxcMjAzYVwiOyB9XG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAucXVvdGVzX19uYXBhIC5jYXNlLXN0dWR5LXBpbGw6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLnF1b3Rlc19fbmFwYSAuY2FzZS1zdHVkeS1waWxsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbiNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAucXVvdGVzX19obWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0YjU4OyB9XG5cbiNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAucXVvdGVzX19sb2dvIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vdGVhbXMtcXVvdGUtbG9nb3MucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICB3aWR0aDogMjYwcHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5xdW90ZXNfX2htYiAucXVvdGVzX19sb2dvIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtNDBweDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLnF1b3RlcyBibG9ja3F1b3RlIHtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLnF1b3RlcyBibG9ja3F1b3RlID4gc21hbGwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICBtYXJnaW4tdG9wOiAyZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAucXVvdGVzIGJsb2NrcXVvdGUgPiBzbWFsbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAucXVvdGVzIGJsb2NrcXVvdGUgPiBzbWFsbCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuZ2V0LXN0YXJ0ZWQge1xuICBiYWNrZ3JvdW5kOiAjMWIyMTJhO1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4jcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmdldC1zdGFydGVkIC5jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxMTBweDtcbiAgbWFyZ2luLXRvcDogMTEwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5nZXQtc3RhcnRlZCAuY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5nZXQtc3RhcnRlZCBoZ3JvdXAge1xuICBsZXR0ZXItc3BhY2luZzogLS4wMjVlbTtcbiAgZmxleC1ncm93OiAxOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuZ2V0LXN0YXJ0ZWQgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4OyB9IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5nZXQtc3RhcnRlZCBoMiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICBtYXJnaW46IDAgMCA1cHg7IH1cblxuI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIC5nZXQtc3RhcnRlZCBwIHtcbiAgY29sb3I6ICM5OGEzYjI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwOyB9XG5cbiNwYWdlLXByb2R1Y3RzLWZvci10ZWFtcyAuZ2V0LXN0YXJ0ZWQgLmJ0biB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAjcGFnZS1wcm9kdWN0cy1mb3ItdGVhbXMgLmdldC1zdGFydGVkIC5idG4uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0YjVmOyB9XG5cbiNwYWdlLXB3YSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICNwYWdlLXB3YSAjc29jaWFsLXNoYXJlLXNpZGViYXIge1xuICAgIGxlZnQ6IDM1cHg7IH1cbiAgI3BhZ2UtcHdhIGgxLFxuICAjcGFnZS1wd2EgaDIsXG4gICNwYWdlLXB3YSBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAjcGFnZS1wd2EgLmxlZGUge1xuICAgIGNvbG9yOiAjNzQ4MTk2O1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbjogMWVtIGF1dG87XG4gICAgbWF4LXdpZHRoOiA3MnJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1wd2EgLmxlZGUge1xuICAgICAgICBmb250LXNpemU6IDEuMmVtOyB9IH1cbiAgI3BhZ2UtcHdhIC5sZWRlID4gc3Ryb25nIHtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAjcGFnZS1wd2EgLmV5ZWJyb3cge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI3BhZ2UtcHdhIC5jYXJkIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwcHggMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2Utb3V0LCBib3gtc2hhZG93IDEyMG1zIGVhc2Utb3V0OyB9XG4gICAgI3BhZ2UtcHdhIC5jYXJkX19pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAjcGFnZS1wd2EgLmNhcmRfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMWVtOyB9XG4gICAgI3BhZ2UtcHdhIC5jYXJkOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IH1cbiAgI3BhZ2UtcHdhIC5wYW5lbCB7XG4gICAgcGFkZGluZzogOHJlbSA0cmVtOyB9XG4gICAgI3BhZ2UtcHdhIC5wYW5lbF9faGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI3BhZ2UtcHdhIC5wYW5lbCAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNDBweDsgfVxuICAjcGFnZS1wd2EgLmN0YSxcbiAgI3BhZ2UtcHdhIC5wYW5lbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuICAjcGFnZS1wd2EgLmN0YSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wd2EvcHdhLWhlcm8uanBnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwYWRkaW5nOiAxNnJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjcGFnZS1wd2EgLmN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDE2cmVtIC0gNzBweCk7IH0gfVxuICAjcGFnZS1wd2EgLmN0YSBoMSB7XG4gICAgZm9udC1zaXplOiAzLjQ1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtcHdhIC5jdGEgaDEge1xuICAgICAgICBmb250LXNpemU6IDNlbTsgfSB9XG4gICNwYWdlLXB3YSAuY3RhIC5leWVicm93IHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07IH1cbiAgI3BhZ2UtcHdhIC5jdGEgLmxlZGUge1xuICAgIGNvbG9yOiAjY2ZlMWZhOyB9XG4gICNwYWdlLXB3YSAuY3RhIC5sZWRlID4gc3Ryb25nIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cbiAgI3BhZ2UtcHdhIC5mZWF0dXJlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjcGFnZS1wd2EgLmZlYXR1cmVzID4gbGkge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgcGFkZGluZzogMiU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtcHdhIC5mZWF0dXJlcyA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gICNwYWdlLXB3YSAuZmVhdHVyZXMgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgI3BhZ2UtcHdhIC5mZWF0dXJlcyBwIHtcbiAgICBjb2xvcjogIzc0ODE5NjtcbiAgICBmb250LXNpemU6IDAuOTI1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAjcGFnZS1wd2EgLmZlYXR1cmVzX19pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3B3YS9wd2EtZmVhdHVyZS1pY29ucy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGhlaWdodDogNDhweDtcbiAgICBtYXJnaW46IDAgYXV0byAycmVtO1xuICAgIHdpZHRoOiA0OHB4OyB9XG4gICAgI3BhZ2UtcHdhIC5mZWF0dXJlc19faWNvbi0tcmVsaWFibGUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XG4gICAgI3BhZ2UtcHdhIC5mZWF0dXJlc19faWNvbi0tZmFzdCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC00OHB4OyB9XG4gICAgI3BhZ2UtcHdhIC5mZWF0dXJlc19faWNvbi0tYWNjZXNzaWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC05NnB4OyB9XG4gICAgI3BhZ2UtcHdhIC5mZWF0dXJlc19faWNvbi0td2ViLWJhc2VkIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTE0NHB4OyB9XG4gICAgI3BhZ2UtcHdhIC5mZWF0dXJlc19faWNvbi0tZGlzY292ZXJhYmxlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTE5MnB4OyB9XG4gICAgI3BhZ2UtcHdhIC5mZWF0dXJlc19faWNvbi0tc21hbGwge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtMjQwcHg7IH1cbiAgICAjcGFnZS1wd2EgLmZlYXR1cmVzX19pY29uLS1pbnN0YW50IHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTI4OHB4OyB9XG4gICAgI3BhZ2UtcHdhIC5mZWF0dXJlc19faWNvbi0tc2ltcGxlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTMzNnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgI3BhZ2UtcHdhIC5mZWF0dXJlcyA+IGxpOmhvdmVyIHAsXG4gICAgI3BhZ2UtcHdhIC5mZWF0dXJlcyA+IGxpOmhvdmVyIGg0LFxuICAgICNwYWdlLXB3YSAuZmVhdHVyZXMgPiBsaTpob3ZlciAuZmVhdHVyZXNfX2ljb24ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgICNwYWdlLXB3YSAuZmVhdHVyZXMgaDQsXG4gICAgI3BhZ2UtcHdhIC5mZWF0dXJlcyBwLFxuICAgICNwYWdlLXB3YSAuZmVhdHVyZXNfX2ljb24ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTsgfVxuICAgICNwYWdlLXB3YSAuZmVhdHVyZXMgcCB7XG4gICAgICBvcGFjaXR5OiAwOyB9IH1cbiAgI3BhZ2UtcHdhIC5leGFtcGxlcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjlmYzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNwYWdlLXB3YSAuZXhhbXBsZXMucGFuZWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfSB9XG4gICNwYWdlLXB3YSAuZXhhbXBsZXNfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICNwYWdlLXB3YSAuZXhhbXBsZXNfX2xpc3QgPiAuY2FyZCB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBtYXJnaW46IDFyZW07XG4gICAgd2lkdGg6IGNhbGMoMTExMHB4IC8gMyAtIDJyZW0pOyB9XG4gICAgI3BhZ2UtcHdhIC5leGFtcGxlc19fbGlzdCA+IC5jYXJkOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNwYWdlLXB3YSAuZXhhbXBsZXNfX2xpc3QgPiAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAjcGFnZS1wd2EgLmV4YW1wbGUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogODglO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNwYWdlLXB3YSAuZXhhbXBsZS5zdGFyYnVja3Mge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wd2EvcHdhLXN0YXJidWNrcy1iZy5qcGdcIik7IH1cbiAgICAjcGFnZS1wd2EgLmV4YW1wbGUucGludGVyZXN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHdhL3B3YS1waW50ZXJlc3QtYmcuanBnXCIpOyB9XG4gICAgI3BhZ2UtcHdhIC5leGFtcGxlLnViZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wd2EvcHdhLXViZXItYmcuanBnXCIpOyB9XG4gICAgI3BhZ2UtcHdhIC5leGFtcGxlLmx5ZnQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wd2EvcHdhLWx5ZnQtYmcuanBnXCIpOyB9XG4gICAgI3BhZ2UtcHdhIC5leGFtcGxlLnR3aXR0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wd2EvcHdhLXR3aXR0ZXItYmcuanBnXCIpOyB9XG4gICAgI3BhZ2UtcHdhIC5leGFtcGxlLmZvcmJlcyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3B3YS9wd2EtZm9yYmVzLWJnLmpwZ1wiKTsgfVxuICAjcGFnZS1wd2EgLmV4YW1wbGVfX2NvbnRlbnQge1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDQ2Ljg3NSU7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAxLjRlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7IH1cbiAgICAjcGFnZS1wd2EgLmV4YW1wbGVfX2NvbnRlbnQgaW1nIHtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAjcGFnZS1wd2EgLmxpYnJhcnkgPiAuY29udGFpbmVyID4gc2VjdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtOyB9XG4gICNwYWdlLXB3YSAubGlicmFyeV9fbGlzdCBoNCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgI3BhZ2UtcHdhIC5saWJyYXJ5X19saXN0IHAge1xuICAgIGNvbG9yOiAjNzQ4MTk2O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNwYWdlLXB3YSAubGlicmFyeV9fbGlzdCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgICNwYWdlLXB3YSAubGlicmFyeV9fbGlzdCBhOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAjcGFnZS1wd2EgLmxpYnJhcnlfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAyZW0gMCA0ZW0gMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICNwYWdlLXB3YSAubGlicmFyeV9fbGlzdCA+IGxpIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgICAgICNwYWdlLXB3YSAubGlicmFyeV9fbGlzdCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDMzLjMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXB3YSAubGlicmFyeV9fbGlzdCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICNwYWdlLXB3YSAubGlicmFyeV9fbGlzdCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAjcGFnZS1wd2EgLmxpYnJhcnlfX2xpc3QgLmNhcmQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3BhZ2UtcHdhIC5saWJyYXJ5X19saXN0IC5jYXJkIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3BhZ2UtcHdhIC5saWJyYXJ5IC5leWVicm93IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbiNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gaDEuYmFubmVyIHtcbiAgaGVpZ2h0OiAxNzhweDtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciB0b3AgdXJsKFwiL2ltZy9kb2NzL3Jlc291cmNlcy9yZXNvdXJjZXMtaGVhZGVyLWltZy5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiA5MnB4O1xuICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBtYXJnaW4tcmlnaHQ6IC00MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7XG4gIHBhZGRpbmctbGVmdDogNTBweDtcbiAgZm9udC1zaXplOiAzNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgI2RvY3MtcGFnZS1yZXNvdXJjZXMtaW5kZXggbWFpbiBoMS5iYW5uZXIge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDRweDsgfSB9XG4gICNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gaDEuYmFubmVyIC5iZyB7XG4gICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmctdG9wOiA5MnB4O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMSwgMS4wMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAuM3MgdHJhbnNmb3JtLCAuM3Mgb3BhY2l0eTsgfVxuICAgICNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gaDEuYmFubmVyIC5iZzo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgdG9wIHVybChcIi9pbWcvZG9jcy9yZXNvdXJjZXMvcmVzb3VyY2VzLWhlYWRlci1pY29uLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNjBweDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAgICAgI2RvY3MtcGFnZS1yZXNvdXJjZXMtaW5kZXggbWFpbiBoMS5iYW5uZXIgLmJnOjpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9IH1cbiAgICAjZG9jcy1wYWdlLXJlc291cmNlcy1pbmRleCBtYWluIGgxLmJhbm5lciAuYmcuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpOyB9XG4gICAgI2RvY3MtcGFnZS1yZXNvdXJjZXMtaW5kZXggbWFpbiBoMS5iYW5uZXIgLmJnLnZpZGVvcyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2RvY3MvcmVzb3VyY2VzL3ZpZGVvLmpwZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAjZG9jcy1wYWdlLXJlc291cmNlcy1pbmRleCBtYWluIGgxLmJhbm5lciAuYmcuYm9va3Mge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9kb2NzL3Jlc291cmNlcy9ib29rcy5qcGdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgI2RvY3MtcGFnZS1yZXNvdXJjZXMtaW5kZXggbWFpbiBoMS5iYW5uZXIgLmJnLmNvdXJzZXMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9kb2NzL3Jlc291cmNlcy9jb3Vyc2VzLmpwZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAjZG9jcy1wYWdlLXJlc291cmNlcy1pbmRleCBtYWluIGgxLmJhbm5lciAuYmcuZ3VpZGVzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvZG9jcy9yZXNvdXJjZXMvZ3VpZGVzLmpwZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAjZG9jcy1wYWdlLXJlc291cmNlcy1pbmRleCBtYWluIGgxLmJhbm5lciAuYmcuY29tbXVuaXR5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvZG9jcy9yZXNvdXJjZXMvY29tbXVuaXR5LmpwZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAjZG9jcy1wYWdlLXJlc291cmNlcy1pbmRleCBtYWluIGgxLmJhbm5lciAuYmcudG9vbHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9kb2NzL3Jlc291cmNlcy90b29scy5qcGdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbiNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gaDIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMzJweDsgfVxuXG4jZG9jcy1wYWdlLXJlc291cmNlcy1pbmRleCBtYWluIGZvcm0ge1xuICBtYXgtd2lkdGg6IDcyMnB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gZm9ybSBpbnB1dCB7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBwYWRkaW5nOiAxOHB4IDVweCAxN3B4IDU5cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGhlaWdodDogNTZweDsgfVxuICAgICNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gZm9ybSBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICM5ZGE1YjM7XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gZm9ybTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxmMjBhJztcbiAgICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMjVweDtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgdG9wOiAxMHB4O1xuICAgIGNvbG9yOiAjOWRhNWIzO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuI2RvY3MtcGFnZS1yZXNvdXJjZXMtaW5kZXggbWFpbiAuc2VjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDUwcHg7IH1cbiAgI2RvY3MtcGFnZS1yZXNvdXJjZXMtaW5kZXggbWFpbiAuc2VjdGlvbnMuZmlsdGVyZWQgc2VjdGlvbjpub3QoLmFjdGl2ZSkge1xuICAgIHdpZHRoOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOyB9XG4gICNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gLnNlY3Rpb25zLmZpbHRlcmVkIHNlY3Rpb24uYWN0aXZlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjZG9jcy1wYWdlLXJlc291cmNlcy1pbmRleCBtYWluIC5zZWN0aW9ucy5maWx0ZXJlZCAuc2hvdy1hbGwge1xuICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgIHRvcDogMjBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zaXRpb246IC41cyBjb2xvciwgLjVzIHRyYW5zZm9ybSBlYXNlLWluLW91dCwgLjUgdG9wIHN0ZXAtZW5kOyB9XG4gICNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gLnNlY3Rpb25zIC5zaG93LWFsbCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTkwMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2l0aW9uOiAuNXMgY29sb3IsIC41cyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQsIC41IHRvcCBzdGVwLWVuZDsgfVxuICAgICNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gLnNlY3Rpb25zIC5zaG93LWFsbC5hY3RpdmUge1xuICAgICAgY29sb3I6ICM0YThiZmM7IH1cbiAgICAjZG9jcy1wYWdlLXJlc291cmNlcy1pbmRleCBtYWluIC5zZWN0aW9ucyAuc2hvdy1hbGw6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMTdiZmM7IH1cbiAgI2RvY3MtcGFnZS1yZXNvdXJjZXMtaW5kZXggbWFpbiAuc2VjdGlvbnMgc2VjdGlvbiB7XG4gICAgd2lkdGg6IDMyNXB4O1xuICAgIHBhZGRpbmctbGVmdDogNjhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogLjNzIHRyYW5zZm9ybSwgLjNzIHdpZHRoLCAuM3Mgb3BhY2l0eSwgLjNzIHBhZGRpbmctbGVmdCwgLjNzIGhlaWdodCwgLjNzIHBhZGRpbmctYm90dG9tOyB9XG4gICAgI2RvY3MtcGFnZS1yZXNvdXJjZXMtaW5kZXggbWFpbiAuc2VjdGlvbnMgc2VjdGlvbjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgdG9wIHVybChcIi9pbWcvZG9jcy9yZXNvdXJjZXMvcmVzb3VyY2VzLWljb25zLnBuZz8xXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICB0b3A6IDA7IH1cbiAgICAjZG9jcy1wYWdlLXJlc291cmNlcy1pbmRleCBtYWluIC5zZWN0aW9ucyBzZWN0aW9uLmd1aWRlczo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMzJweDsgfVxuICAgICNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gLnNlY3Rpb25zIHNlY3Rpb24udG9vbHM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTY0cHg7IH1cbiAgICAjZG9jcy1wYWdlLXJlc291cmNlcy1pbmRleCBtYWluIC5zZWN0aW9ucyBzZWN0aW9uLmNvbW11bml0eTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtOTZweDsgfVxuICAgICNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gLnNlY3Rpb25zIHNlY3Rpb24uYm9va3M6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTEyOHB4OyB9XG4gICAgI2RvY3MtcGFnZS1yZXNvdXJjZXMtaW5kZXggbWFpbiAuc2VjdGlvbnMgc2VjdGlvbi5jb3Vyc2VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0xNjBweDsgfVxuICAjZG9jcy1wYWdlLXJlc291cmNlcy1pbmRleCBtYWluIC5zZWN0aW9ucyBoMyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOyB9XG4gICNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gLnNlY3Rpb25zIHVsIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICNkb2NzLXBhZ2UtcmVzb3VyY2VzLWluZGV4IG1haW4gLnNlY3Rpb25zIGxpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAjZG9jcy1wYWdlLXJlc291cmNlcy1pbmRleCBtYWluIC5zZWN0aW9ucyBsaSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAjZG9jcy1wYWdlLXJlc291cmNlcy1pbmRleCBtYWluIC5zZWN0aW9ucyBsaSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cblxuI3BhZ2Utc2FsZXMge1xuICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG4gICNwYWdlLXNhbGVzIC5oZXJvIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjcGFnZS1zYWxlcyAuaGVybyBoMSB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICAjcGFnZS1zYWxlcyAuaGVybyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgI3BhZ2Utc2FsZXMgLmh1YnNwb3Qtb3ZlcnJpZGUge1xuICAgIG1heC13aWR0aDogODYwcHg7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICNwYWdlLXNhbGVzIC5odWJzcG90LW92ZXJyaWRlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfSB9XG5cbiNwYWdlLXN0YXJ0dXBzIG1haW4ge1xuICBjb2xvcjogIzE2MWExZjtcbiAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4jcGFnZS1zdGFydHVwcyAuYnRuIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAxMnB4IDIwcHg7IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLmJ0bi0tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTAyMjQyOyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5jdGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1zdGFydHVwcyAuY3RhIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNDBweDsgfSB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5jdGEgaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5jdGEgcCB7XG4gIGNvbG9yOiAjMmYzNzQ0O1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbjogMWVtIGF1dG8gMS41ZW07XG4gIG1heC13aWR0aDogNzIwcHg7IH1cblxuI3BhZ2Utc3RhcnR1cHMgLnZpZGVvIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDFlbSAxZW0gMmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cblxuI3BhZ2Utc3RhcnR1cHMgLnZpZGVvLXBsYXllciB7XG4gIG1heC13aWR0aDogOTAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLnZpZGVvLXBsYXllcjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICNwYWdlLXN0YXJ0dXBzIC52aWRlby1wbGF5ZXI6bm90KC5pcy1wbGF5aW5nKTpob3ZlciAudmlkZW8tcGxheWVyLWZyYW1lIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTkpOyB9XG4gICNwYWdlLXN0YXJ0dXBzIC52aWRlby1wbGF5ZXI6bm90KC5pcy1wbGF5aW5nKTpob3ZlciAudmlkZW8tcGxheWVyLWJ1dHRvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4xKTsgfVxuICAjcGFnZS1zdGFydHVwcyAudmlkZW8tcGxheWVyLmlzLXJlYWR5IC52aWRlby1wbGF5ZXItYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjcGFnZS1zdGFydHVwcyAudmlkZW8tcGxheWVyLmlzLXBsYXlpbmcgLnZpZGVvLXBsYXllci1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI3BhZ2Utc3RhcnR1cHMgLnZpZGVvLXBsYXllci1idXR0b24ge1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpO1xuICB3aWR0aDogMTIwcHg7XG4gIHotaW5kZXg6IDE7IH1cblxuI3BhZ2Utc3RhcnR1cHMgLnZpZGVvLXBsYXllci1mcmFtZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc3RhcnR1cHMvc3RhcnR1cHMtdmlkZW8tcG9zdGVyLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3gtc2hhZG93OiAwIDhweCAxNnB4IHJnYmEoMCwgMTQsIDQxLCAwLjA4KSwgMCAzMHB4IDYwcHggcmdiYSgwLCAxMSwgMzQsIDAuMTUpO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuICAjcGFnZS1zdGFydHVwcyAudmlkZW8tcGxheWVyLWZyYW1lID4gaWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC52aWRlby1mb290ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDkwMHB4O1xuICBtYXJnaW46IDAgYXV0byA2MHB4O1xuICBwYWRkaW5nOiAxZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjcGFnZS1zdGFydHVwcyAudmlkZW8tZm9vdGVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZWJmMTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyNSU7XG4gICAgd2lkdGg6IDFweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1zdGFydHVwcyAudmlkZW8tZm9vdGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAjcGFnZS1zdGFydHVwcyAudmlkZW8tZm9vdGVyOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4jcGFnZS1zdGFydHVwcyAudmlkZW8tZm9vdGVyID4gKiB7XG4gIGZsZXg6IDE7IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLnZpZGVvLWZvb3RlciA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogM2VtOyB9XG4gICNwYWdlLXN0YXJ0dXBzIC52aWRlby1mb290ZXIgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAzZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2Utc3RhcnR1cHMgLnZpZGVvLWZvb3RlciA+ICo6Zmlyc3QtY2hpbGQsICNwYWdlLXN0YXJ0dXBzIC52aWRlby1mb290ZXIgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4jcGFnZS1zdGFydHVwcyAudmlkZW8tZm9vdGVyID4gcCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuI3BhZ2Utc3RhcnR1cHMgLnZpZGVvLWZvb3RlciA+IGJsb2NrcXVvdGUge1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXN0YXJ0dXBzIC52aWRlby1mb290ZXIgPiBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbjogMWVtIDAgMCAwOyB9IH1cblxuI3BhZ2Utc3RhcnR1cHMgLnZpZGVvLWZvb3RlciA+IGJsb2NrcXVvdGUgc21hbGwge1xuICBjb2xvcjogIzc4ODQ5NztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEuNWVtO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAjcGFnZS1zdGFydHVwcyAudmlkZW8tZm9vdGVyID4gYmxvY2txdW90ZSBzbWFsbDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLnZpZGVvLWZvb3RlciA+IGJsb2NrcXVvdGUgc21hbGwgPiBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgb3BhY2l0eTogMC41OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXN0YXJ0dXBzIC52aWRlby1mb290ZXIgPiBibG9ja3F1b3RlIHNtYWxsIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5zZWN0aW9uLWhlYWRlciB7XG4gIGNvbG9yOiAjMmYzNzQ0O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBtYXJnaW4tYm90dG9tOiA0ZW07XG4gIG1hcmdpbi10b3A6IDRlbTtcbiAgbWF4LXdpZHRoOiAzMmVtOyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5zZWN0aW9uLWhlYWRlciBoMiB7XG4gIGNvbG9yOiAjMjQyODJlO1xuICBmb250LXNpemU6IDEuOGVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjY1ZW07IH1cblxuI3BhZ2Utc3RhcnR1cHMgLm9zcyAuc2VjdGlvbi1oZWFkZXIgaDIgc3BhbixcbiNwYWdlLXN0YXJ0dXBzIC5wcm8gLnNlY3Rpb24taGVhZGVyIGgyIHNwYW4ge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCA0cHggIzI0MjgyZTsgfVxuXG4jcGFnZS1zdGFydHVwcyAuZmVhdHVyZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07IH1cblxuI3BhZ2Utc3RhcnR1cHMgLmZlYXR1cmVfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3N0YXJ0dXBzL3N0YXJ0dXBzLWZlYXR1cmUtaWNvbnMucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDAgMCA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIG1hcmdpbi1yaWdodDogMmVtO1xuICB3aWR0aDogNDhweDsgfVxuICAjcGFnZS1zdGFydHVwcyAuZmVhdHVyZV9faWNvbi5kYXp6bGUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxuICAjcGFnZS1zdGFydHVwcyAuZmVhdHVyZV9faWNvbi5zcGVlZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtNDhweDsgfVxuICAjcGFnZS1zdGFydHVwcyAuZmVhdHVyZV9faWNvbi50YWtlb2ZmIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC05NnB4OyB9XG4gICNwYWdlLXN0YXJ0dXBzIC5mZWF0dXJlX19pY29uLnBsYXRmb3JtcyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtMTQ0cHg7IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLmZlYXR1cmVfX2ljb24ubmF0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC0xOTJweDsgfVxuICAjcGFnZS1zdGFydHVwcyAuZmVhdHVyZV9faWNvbi53b3JsZHdpZGUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTI0MHB4OyB9XG4gICNwYWdlLXN0YXJ0dXBzIC5mZWF0dXJlX19pY29uLmRlcGxveSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtMjg4cHg7IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLmZlYXR1cmVfX2ljb24uY29tcGlsZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtMzM2cHg7IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLmZlYXR1cmVfX2ljb24ubW9uaXRvciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtMzg0cHg7IH1cblxuI3BhZ2Utc3RhcnR1cHMgLmZlYXR1cmVfX3RleHQgc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07IH1cblxuI3BhZ2Utc3RhcnR1cHMgLmZlYXR1cmVfX3RleHQgcCB7XG4gIGNvbG9yOiAjNzg4NDk3O1xuICBsaW5lLWhlaWdodDogMS42NTsgfVxuXG4jcGFnZS1zdGFydHVwcyAuZmVhdHVyZS1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5mZWF0dXJlLWxpc3QgPiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5hcHAtc2hvd2Nhc2Uge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5hcHAtc2hvd2Nhc2VfX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI3BhZ2Utc3RhcnR1cHMgLmFwcC1zaG93Y2FzZV9faWNvbiB7XG4gIHdpZHRoOiA5M3B4O1xuICBtYXJnaW4tcmlnaHQ6IDFlbTsgfVxuXG4jcGFnZS1zdGFydHVwcyAuYXBwLXNob3djYXNlX19mb290ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgcGFkZGluZzogMWVtOyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5hcHAtc2hvd2Nhc2VfX2Zvb3RlciBibG9ja3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVlbTtcbiAgcGFkZGluZzogMDsgfVxuXG4jcGFnZS1zdGFydHVwcyAuYXBwLXNob3djYXNlX19mb290ZXIgc21hbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLmFwcC1zaG93Y2FzZV9fZm9vdGVyIHNtYWxsID4gc3BhbiB7XG4gICAgb3BhY2l0eTogMC41OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1zdGFydHVwcyAua2V5LWJlbmVmaXRzIC5mZWF0dXJlLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLmtleS1iZW5lZml0cyAuZmVhdHVyZS1saXN0ID4gbGkge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZy1yaWdodDogM2VtOyB9XG4gICNwYWdlLXN0YXJ0dXBzIC5rZXktYmVuZWZpdHMgLmZlYXR1cmUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLmtleS1iZW5lZml0cyAuZmVhdHVyZV9faWNvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtOyB9IH1cblxuI3BhZ2Utc3RhcnR1cHMgLm9zcyxcbiNwYWdlLXN0YXJ0dXBzIC5wcm8ge1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLm9zcyAuY29udGFpbmVyLFxuICAjcGFnZS1zdGFydHVwcyAucHJvIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3BhZ2Utc3RhcnR1cHMgLm9zcyAuY29udGFpbmVyLFxuICAgICAgI3BhZ2Utc3RhcnR1cHMgLnBybyAuY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICNwYWdlLXN0YXJ0dXBzIC5vc3MgLmFwcC1zaG93Y2FzZSxcbiAgI3BhZ2Utc3RhcnR1cHMgLnBybyAuYXBwLXNob3djYXNlIHtcbiAgICBtYXJnaW46IGF1dG8gMTAlO1xuICAgIG1heC13aWR0aDogODYwcHg7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1zdGFydHVwcyAub3NzIC5hcHAtc2hvd2Nhc2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogODBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAjcGFnZS1zdGFydHVwcyAucHJvIC5hcHAtc2hvd2Nhc2Uge1xuICAgIG9yZGVyOiAxO1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5wcm8gLmZlYXR1cmVfX3RleHQgc3Ryb25nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gICAgI3BhZ2Utc3RhcnR1cHMgLnBybyAuZmVhdHVyZV9fdGV4dCBzdHJvbmcge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG4jcGFnZS1zdGFydHVwcyAucHJvIC5mZWF0dXJlX190ZXh0IHN0cm9uZyBhIHtcbiAgZm9udC1zaXplOiAwLjU1ZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAjcGFnZS1zdGFydHVwcyAucHJvIC5mZWF0dXJlX190ZXh0IHN0cm9uZyBhIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4jcGFnZS1zdGFydHVwcyBzZWN0aW9uLnJlc291cmNlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfVxuXG4jcGFnZS1zdGFydHVwcyAucmVzb3VyY2UtY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODNkM2Y7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWluLWhlaWdodDogMjU1cHg7XG4gIHBhZGRpbmc6IDI2cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyNTBtcyBlYXNlLCB0cmFuc2Zvcm0gMjAwbXMgZWFzZTtcbiAgd2lkdGg6IDI1NXB4OyB9XG4gICNwYWdlLXN0YXJ0dXBzIC5yZXNvdXJjZS1jYXJkOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLnJlc291cmNlLWNhcmQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH1cblxuI3BhZ2Utc3RhcnR1cHMgLnJlc291cmNlLWNhcmRfX2V5ZWJyb3cge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBmb250LXNpemU6IDAuNWVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5yZXNvdXJjZS1jYXJkX190aXRsZSB7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMTVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luOiAwLjVlbSAwOyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5yZXNvdXJjZS1jYXJkX19jdGEge1xuICBmb250LXNpemU6IDAuN2VtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNWVtO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5yZXNvdXJjZS1jYXJkLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLnJlc291cmNlLWNhcmQtbGlzdCAucmVzb3VyY2UtY2FyZCB7XG4gICAgbWFyZ2luOiAwIDEuNWVtIDEuNWVtIDA7IH1cbiAgICAjcGFnZS1zdGFydHVwcyAucmVzb3VyY2UtY2FyZC1saXN0IC5yZXNvdXJjZS1jYXJkOm50aC1jaGlsZCgxKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2NjQ0OyB9XG4gICAgI3BhZ2Utc3RhcnR1cHMgLnJlc291cmNlLWNhcmQtbGlzdCAucmVzb3VyY2UtY2FyZDpudGgtY2hpbGQoMikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzM2Y4MDsgfVxuICAgICNwYWdlLXN0YXJ0dXBzIC5yZXNvdXJjZS1jYXJkLWxpc3QgLnJlc291cmNlLWNhcmQ6bnRoLWNoaWxkKDMpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJmNjk7IH1cbiAgICAjcGFnZS1zdGFydHVwcyAucmVzb3VyY2UtY2FyZC1saXN0IC5yZXNvdXJjZS1jYXJkOm50aC1jaGlsZCg0KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODQ2YWMyOyB9XG4gICAgI3BhZ2Utc3RhcnR1cHMgLnJlc291cmNlLWNhcmQtbGlzdCAucmVzb3VyY2UtY2FyZDpudGgtY2hpbGQoNSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBlOGVmYjsgfVxuICAgICNwYWdlLXN0YXJ0dXBzIC5yZXNvdXJjZS1jYXJkLWxpc3QgLnJlc291cmNlLWNhcmQ6bnRoLWNoaWxkKDYpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM5NTM7IH1cbiAgICAjcGFnZS1zdGFydHVwcyAucmVzb3VyY2UtY2FyZC1saXN0IC5yZXNvdXJjZS1jYXJkOm50aC1jaGlsZCg3KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDRiY2MwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXN0YXJ0dXBzIC5yZXNvdXJjZS1jYXJkLWxpc3Qge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICNwYWdlLXN0YXJ0dXBzIC5yZXNvdXJjZS1jYXJkLWxpc3QgLnJlc291cmNlLWNhcmQge1xuICAgICAgICBtYXJnaW46IDAgMC41ZW0gMWVtOyB9IH1cblxuI3BhZ2Utc3RhcnR1cHMgLnF1b3RlcyB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdlLXN0YXJ0dXBzIC5xdW90ZXMge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5xdW90ZXNfX2NvbnRlbnQge1xuICBtYXgtd2lkdGg6IDQ5MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI3BhZ2Utc3RhcnR1cHMgLnF1b3Rlc19fcXVvdGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiA4MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICNwYWdlLXN0YXJ0dXBzIC5xdW90ZXNfX3F1b3RlIHtcbiAgICAgIHBhZGRpbmc6IDQwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjcGFnZS1zdGFydHVwcyAucXVvdGVzX19xdW90ZTpmaXJzdC1jaGlsZCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLnF1b3Rlc19fcXVvdGUuam91bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY3NGQ7IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLnF1b3Rlc19fcXVvdGUuY29taWNoYXVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlYmYxO1xuICAgIGNvbG9yOiAjMjQyODJlOyB9XG4gICNwYWdlLXN0YXJ0dXBzIC5xdW90ZXNfX3F1b3RlLnBhY2lmaWNhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGVkYWIxOyB9XG4gICNwYWdlLXN0YXJ0dXBzIC5xdW90ZXNfX3F1b3RlLm5hdHVyYWwtY3ljbGVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzU0NWYwOyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5xdW90ZXNfX2xvZ28ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3N0YXJ0dXBzL3N0YXJ0dXBzLXF1b3RlLWxvZ29zLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgd2lkdGg6IDE2MHB4OyB9XG4gICNwYWdlLXN0YXJ0dXBzIC5xdW90ZXNfX2xvZ28uam91bGUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxuICAjcGFnZS1zdGFydHVwcyAucXVvdGVzX19sb2dvLmNvbWljaGF1cyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtNDBweDsgfVxuICAjcGFnZS1zdGFydHVwcyAucXVvdGVzX19sb2dvLnBhY2lmaWNhIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC04MHB4OyB9XG4gICNwYWdlLXN0YXJ0dXBzIC5xdW90ZXNfX2xvZ28ubmF0dXJhbC1jeWNsZXMge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTEyMHB4OyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5xdW90ZXMgYmxvY2txdW90ZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuI3BhZ2Utc3RhcnR1cHMgLnF1b3RlcyBibG9ja3F1b3RlID4gc21hbGwge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAjcGFnZS1zdGFydHVwcyAucXVvdGVzIGJsb2NrcXVvdGUgPiBzbWFsbCA+IHNwYW4ge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtOyB9XG4gICNwYWdlLXN0YXJ0dXBzIC5xdW90ZXMgYmxvY2txdW90ZSA+IHNtYWxsOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4jcGFnZS1zdGFydHVwcyAuZ2V0LXN0YXJ0ZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMzODgwZmYsICM2N2MwZmYpO1xuICBwYWRkaW5nOiA4MHB4IDA7IH1cblxuI3BhZ2Utc3RhcnR1cHMgLmdldC1zdGFydGVkIC5jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgI3BhZ2Utc3RhcnR1cHMgLmdldC1zdGFydGVkIC5jb250YWluZXI6YWZ0ZXIsICNwYWdlLXN0YXJ0dXBzIC5nZXQtc3RhcnRlZCAuY29udGFpbmVyOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gICAgI3BhZ2Utc3RhcnR1cHMgLmdldC1zdGFydGVkIC5jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5nZXQtc3RhcnRlZCAuYnRuIHtcbiAgbWFyZ2luOiAwLjM1ZW07IH1cblxuI3BhZ2Utc3RhcnR1cHMgLmdldC1zdGFydGVkIC5idG4tLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc4ZmY7IH1cblxuI3BhZ2Utc3RhcnR1cHMgLmdldC1zdGFydGVkIGgyLFxuI3BhZ2Utc3RhcnR1cHMgLmdldC1zdGFydGVkIHAge1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfVxuXG4jcGFnZS1zdGFydHVwcyAuZ2V0LXN0YXJ0ZWQgaDIge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAyOHB4OyB9XG5cbiNwYWdlLXN0YXJ0dXBzIC5nZXQtc3RhcnRlZCBwIHtcbiAgY29sb3I6ICMwMDNlODI7XG4gIGZvbnQtc2l6ZTogMjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gICAgI3BhZ2Utc3RhcnR1cHMgLmdldC1zdGFydGVkIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9IH1cblxuI3BhZ2Utd2hhdC1pcy1pb25pYyAuYmFubmVyLFxuI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgXCJJbnRlciBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gICNwYWdlLXdoYXQtaXMtaW9uaWMgLmJhbm5lciBoMSxcbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyAuYmFubmVyIGgyLFxuICAjcGFnZS13aGF0LWlzLWlvbmljIC5iYW5uZXIgaDMsXG4gICNwYWdlLXdoYXQtaXMtaW9uaWMgLmJhbm5lciBoNCxcbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIGgxLFxuICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gaDIsXG4gICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiBoMyxcbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIGg0IHtcbiAgICBmb250LWZhbWlseTogXCJFaW5hXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB9XG5cbiNwYWdlLXdoYXQtaXMtaW9uaWMgLmJhbm5lciB7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIHBhZGRpbmctdG9wOiA3MnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7IH1cbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyAuYmFubmVyIGgxIHtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDUycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDA4ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3doYXQtaXMtaW9uaWMvaW9uaWMtaWNvbi5wbmdcIikgbm8tcmVwZWF0IDUwJSAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDhweDtcbiAgICBjb2xvcjogIzBmMTYyMjsgfVxuXG4jcGFnZS13aGF0LWlzLWlvbmljIG1haW4gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogLjJzIG9wYWNpdHk7IH1cbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNGE4YmZjO1xuICAgIG9wYWNpdHk6IC44OyB9XG5cbiNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiBzZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDIwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjAwcHg7IH1cblxuI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC5jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXgtd2lkdGg6IDk4MHB4OyB9XG4gICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAuY29udGFpbmVyOjpiZWZvcmUsICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAuY29udGFpbmVyOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4jcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLmdyYXBoaWMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4jcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLmxlZnQgLmdyYXBoaWMge1xuICBtYXJnaW4tbGVmdDogMTA0cHg7IH1cblxuI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC5yaWdodCAuZ3JhcGhpYyB7XG4gIG1hcmdpbi1yaWdodDogMTA0cHg7IH1cblxuI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC5jb250ZW50IHtcbiAgZmxleDogMTsgfVxuXG4jcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLmNlbnRlciAuY29udGFpbmVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXgtd2lkdGg6IDY4MHB4OyB9XG5cbiNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiBoMiB7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgbGluZS1oZWlnaHQ6IDQ3cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtLjAwOGVtO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBjb2xvcjogIzBmMTYyMjsgfVxuXG4jcGFnZS13aGF0LWlzLWlvbmljIG1haW4gcCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIHAuc20ge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjAxZW07IH1cbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLndoYXQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjdmOWZjLCAjZmRmZWZlKTtcbiAgcGFkZGluZy1ib3R0b206IDg4cHg7IH1cbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC53aGF0IC5jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTM0cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAud2hhdCAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9IH1cbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC53aGF0IC5ncmFwaGljIGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNTBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDsgfVxuICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLndoYXQgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tdG9wOiA0M3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC53aGF0IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWcvd2hhdC1pcy1pb25pYy93ZWItaWNvbnMucG5nXCIpIG5vLXJlcGVhdCAwIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIycHg7IH1cbiAgICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLndoYXQgbGkuY3NzIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwcHg7IH1cbiAgICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLndoYXQgbGkuanMge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODBweDsgfVxuXG4jcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLmtpdCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmN2Y5ZmIsICNmZWZlZmUpO1xuICBwYWRkaW5nLWJvdHRvbTogMTkwcHg7IH1cbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC5raXQgLmdyYXBoaWMge1xuICAgIG1hcmdpbi1yaWdodDogNjhweDsgfVxuICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLmtpdCAuY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbiNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAudGVhbXMge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjhmOWZiLCAjZmVmZWZlKTtcbiAgcGFkZGluZy10b3A6IDE4M3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMTc2cHg7IH1cbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC50ZWFtcyAuZ3JhcGhpYyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNjVweDtcbiAgICBwYWRkaW5nLXRvcDogMzRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFweDsgfVxuICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLnRlYW1zIGlvbi1pY29uIHtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgdmVydGljYWwtYWxpZ246IC03JTtcbiAgICBtYXJnaW4tbGVmdDogLTJweDsgfVxuXG4jcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLmdsb2JhbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvd2hhdC1pcy1pb25pYy9jb21tdW5pdHktYmcucG5nXCIpLCBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjdmOWZjLCAjZmVmZWZlKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciwgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7XG4gIHBhZGRpbmctdG9wOiAyMDRweDtcbiAgcGFkZGluZy1ib3R0b206IDE5OHB4OyB9XG4gICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAuZ2xvYmFsIC5jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLmdsb2JhbCAuZ3JhcGhpYyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgIG1hcmdpbi1yaWdodDogMTI0cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAuZ2xvYmFsIC5ncmFwaGljIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9IH1cbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC5nbG9iYWwgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAuZ2xvYmFsIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDEwOHB4O1xuICAgIG1hcmdpbjogNTdweCAwOyB9XG4gICAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC5nbG9iYWwgbGk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL3doYXQtaXMtaW9uaWMvY29tbXVuaXR5LWljb25zLnBuZ1wiKSBuby1yZXBlYXQgMCAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4OHB4O1xuICAgICAgaGVpZ2h0OiA4OHB4O1xuICAgICAgd2lkdGg6IDg4cHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSA0NHB4KTtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLmdsb2JhbCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC5nbG9iYWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC5nbG9iYWwgbGkgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAjMzg4MGZmO1xuICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4OyB9XG4gICAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC5nbG9iYWwgbGkgc3BhbiB7XG4gICAgICBjb2xvcjogIzY4YjRmZjtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDsgfVxuICAgICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAuZ2xvYmFsIGxpOm50aC1jaGlsZCgyKTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTg4cHg7IH1cbiAgICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLmdsb2JhbCBsaTpudGgtY2hpbGQoMyk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfVxuICAgICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAuZ2xvYmFsIGxpOm50aC1jaGlsZCg0KTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI2NHB4OyB9XG5cbiNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAud2ViIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy93aGF0LWlzLWlvbmljL3BoaWxvc29waHktYmcucG5nXCIpLCBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjdmOWZjLCAjZmVmZWZlKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciwgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7XG4gIHBhZGRpbmctYm90dG9tOiAxOTBweDsgfVxuICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLndlYiBoNCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjE0ZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIGNvbG9yOiAjMGYxNjIyOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDMyMHB4OyB9XG4gICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAubGVmdCAuZ3JhcGhpYyB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyAuYmFubmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjRweDsgfVxuICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLmdyYXBoaWMge1xuICAgIG1hcmdpbjogMDsgfVxuICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDk2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDk2cHg7IH1cbiAgICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gc2VjdGlvbiAuY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gc2VjdGlvbi5sZWZ0IC5jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAuY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLndoYXQgLmdyYXBoaWMge1xuICAgIG1hcmdpbjogMDsgfVxuICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLndoYXQgdWwge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAua2l0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweDsgfVxuICAgICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAua2l0IC5ncmFwaGljIHtcbiAgICAgIG1hcmdpbjogMCAwIDQycHg7IH1cbiAgI3BhZ2Utd2hhdC1pcy1pb25pYyBtYWluIC50ZWFtcyB7XG4gICAgcGFkZGluZy10b3A6IDk2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDk2cHg7IH1cbiAgICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLnRlYW1zIC5ncmFwaGljIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLmdsb2JhbCB7XG4gICAgcGFkZGluZy10b3A6IDk2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDk2cHg7IH1cbiAgICAjcGFnZS13aGF0LWlzLWlvbmljIG1haW4gLmdsb2JhbCAuZ3JhcGhpYyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2NHB4OyB9XG4gICNwYWdlLXdoYXQtaXMtaW9uaWMgbWFpbiAud2ViIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjRweDsgfSB9XG4iLCJAaW1wb3J0IFwiaW9uaWNvbnMtdmFyaWFibGVzXCI7XG4vKiFcbiAgSW9uaWNvbnMsIHYjeyRpb25pY29ucy12ZXJzaW9ufVxuICBDcmVhdGVkIGJ5IEJlbiBTcGVycnkgZm9yIHRoZSBJb25pYyBGcmFtZXdvcmssIGh0dHA6Ly9pb25pY29ucy5jb20vXG4gIGh0dHBzOi8vdHdpdHRlci5jb20vYmVuanNwZXJyeSAgaHR0cHM6Ly90d2l0dGVyLmNvbS9pb25pY2ZyYW1ld29ya1xuICBNSVQgTGljZW5zZTogaHR0cHM6Ly9naXRodWIuY29tL2RyaWZ0eWNvL2lvbmljb25zXG5cbiAgQW5kcm9pZC1zdHlsZSBpY29ucyBvcmlnaW5hbGx5IGJ1aWx0IGJ5IEdvb2dsZeKAmXNcbiAgTWF0ZXJpYWwgRGVzaWduIEljb25zOiBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL21hdGVyaWFsLWRlc2lnbi1pY29uc1xuICB1c2VkIHVuZGVyIENDIEJZIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC9cbiAgTW9kaWZpZWQgaWNvbnMgdG8gZml0IGlvbmljb27igJlzIGdyaWQgZnJvbSBvcmlnaW5hbC5cbiovXG5cbi8vIElvbmljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AZm9udC1mYWNlIHtcbiBmb250LWZhbWlseTogXCJJb25pY29uc1wiO1xuIHNyYzp1cmwoXCIjeyRpb25pY29ucy1mb250LXBhdGh9L2lvbmljb25zLmVvdD92PSN7JGlvbmljb25zLXZlcnNpb259XCIpO1xuIHNyYzp1cmwoXCIjeyRpb25pY29ucy1mb250LXBhdGh9L2lvbmljb25zLmVvdD92PSN7JGlvbmljb25zLXZlcnNpb259I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICB1cmwoXCIjeyRpb25pY29ucy1mb250LXBhdGh9L2lvbmljb25zLndvZmYyP3Y9I3skaW9uaWNvbnMtdmVyc2lvbn1cIikgZm9ybWF0KFwid29mZjJcIiksXG4gIHVybChcIiN7JGlvbmljb25zLWZvbnQtcGF0aH0vaW9uaWNvbnMud29mZj92PSN7JGlvbmljb25zLXZlcnNpb259XCIpIGZvcm1hdChcIndvZmZcIiksXG4gIHVybChcIiN7JGlvbmljb25zLWZvbnQtcGF0aH0vaW9uaWNvbnMudHRmP3Y9I3skaW9uaWNvbnMtdmVyc2lvbn1cIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gIHVybChcIiN7JGlvbmljb25zLWZvbnQtcGF0aH0vaW9uaWNvbnMuc3ZnP3Y9I3skaW9uaWNvbnMtdmVyc2lvbn0jSW9uaWNvbnNcIikgZm9ybWF0KFwic3ZnXCIpO1xuIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uaW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJJb25pY29uc1wiO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBpbXBvcnQgXCJpb25pY29ucy1jb21tb25cIjtcbkBpbXBvcnQgXCJpb25pY29ucy1pY29uc1wiO1xuIiwiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG8rTW9ubycpO1xuXG4kY2RuOiAnaHR0cHM6Ly9jb2RlLmlvbmljZnJhbWV3b3JrLmNvbS9hc3NldHMvZm9udHMvJztcbiRmb250c0RpcjogJy9mb250cy8nO1xuJGVpbmFEaXI6ICRmb250c0RpciArICdlaW5hLyc7XG4kZ3JhcGhpa0RpcjogJGZvbnRzRGlyICsgJ2dyYXBoaWsvJztcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICBzcmM6XG4gICAgdXJsKCRmb250c0RpciArICdpb25pY29ucy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJGZvbnRzRGlyICsgJ2lvbmljb25zLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJGZvbnRzRGlyICsgJ2lvbmljb25zLnR0ZicpIGZvcm1hdCgndHRmJyksXG4gICAgdXJsKCRmb250c0RpciArICdpb25pY29ucy5lb3QjaWVmaXgnKSBmb3JtYXQoJ2VvdCcpXG4gICAgdXJsKCRmb250c0RpciArICdpb25pY29ucy5zdmcjSW9uaWNvbnMnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0VpbmEnO1xuICBzcmM6IHVybCgkZWluYURpciArICdlaW5hLTAxLWJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCRlaW5hRGlyICsgJ2VpbmEtMDEtYm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCRlaW5hRGlyICsgJ2VpbmEtMDEtYm9sZC50dGYnKSBmb3JtYXQoJ3R0ZicpLFxuICAgICAgIHVybCgkZWluYURpciArICdlaW5hLTAxLWJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW90Jyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0VpbmEnO1xuICBzcmM6IHVybCgkZWluYURpciArICdlaW5hLTAxLXNlbWlib2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkZWluYURpciArICdlaW5hLTAxLXNlbWlib2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoJGVpbmFEaXIgKyAnZWluYS0wMS1zZW1pYm9sZC50dGYnKSBmb3JtYXQoJ3R0ZicpLFxuICAgICAgIHVybCgkZWluYURpciArICdlaW5hLTAxLXNlbWlib2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VvdCcpO1xuICBmb250LXdlaWdodDogNjAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdFaW5hJztcbiAgc3JjOiB1cmwoJGVpbmFEaXIgKyAnZWluYS0wMS1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkZWluYURpciArICdlaW5hLTAxLXJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgkZWluYURpciArICdlaW5hLTAxLXJlZ3VsYXIudHRmJykgZm9ybWF0KCd0dGYnKSxcbiAgICAgICB1cmwoJGVpbmFEaXIgKyAnZWluYS0wMS1yZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VvdCcpO1xuICBmb250LXdlaWdodDogNDAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogIG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAtNUZGO1xuICBzcmM6IHVybCgkY2RuICsgJ2ludGVyL0ludGVyLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6ICBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjtcbiAgc3JjOiB1cmwoJGNkbiArICdpbnRlci9JbnRlci1JdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItTWVkaXVtLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkY2RuICsgJ2ludGVyL0ludGVyLU1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6ICBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjtcbiAgc3JjOiB1cmwoJGNkbiArICdpbnRlci9JbnRlci1NZWRpdW1JdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItTWVkaXVtSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItU2VtaUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItU2VtaUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItU2VtaUJvbGRJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItU2VtaUJvbGRJdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6ICBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjtcbiAgc3JjOiB1cmwoJGNkbiArICdpbnRlci9JbnRlci1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkY2RuICsgJ2ludGVyL0ludGVyLUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItQm9sZEl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJGNkbiArICdpbnRlci9JbnRlci1Cb2xkSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItRXh0cmFCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgkY2RuICsgJ2ludGVyL0ludGVyLUV4dHJhQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6ICBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjtcbiAgc3JjOiB1cmwoJGNkbiArICdpbnRlci9JbnRlci1FeHRyYUJvbGRJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItRXh0cmFCb2xkSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItQmxhY2sud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItQmxhY2sud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgaXRhbGljO1xuICBmb250LXdlaWdodDogOTAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItQmxhY2tJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCRjZG4gKyAnaW50ZXIvSW50ZXItQmxhY2tJdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGcmVpZ2h0VGV4dFBybyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwLTVGRjtcbiAgc3JjOiB1cmwoJGNkbiArICcyOUQyNkFfMF8wLmVvdCcpO1xuICBzcmM6IHVybCgkY2RuICsgJzI5RDI2QV8wXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICB1cmwoJGNkbiArICcyOUQyNkFfMF8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoJGNkbiArICcyOUQyNkFfMF8wLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRnJlaWdodFRleHRQcm8nO1xuICBmb250LXdlaWdodDogNTAwO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMC01RkY7XG4gIHNyYzogdXJsKCRjZG4gKyAnMjlEMjZBXzFfMC5lb3QnKTtcbiAgc3JjOiB1cmwoJGNkbiArICcyOUQyNkFfMV8wLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKCRjZG4gKyAnMjlEMjZBXzFfMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCRjZG4gKyAnMjlEMjZBXzFfMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vLyBJb25pY29ucyBJY29uIEZvbnQgQ1NTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaW9uLWlvcy1hZGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDJcIjsgfVxuLmlvbi1pb3MtYWRkLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwMVwiOyB9XG4uaW9uLWlvcy1hZGQtY2lyY2xlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDBcIjsgfVxuLmlvbi1pb3MtYWRkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDJcIjsgfVxuLmlvbi1pb3MtYWxhcm06YmVmb3JlIHsgY29udGVudDogXCJcXGYzYzhcIjsgfVxuLmlvbi1pb3MtYWxhcm0tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNjN1wiOyB9XG4uaW9uLWlvcy1hbGJ1bXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYzY2FcIjsgfVxuLmlvbi1pb3MtYWxidW1zLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzYzlcIjsgfVxuLmlvbi1pb3MtYWxlcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDRcIjsgfVxuLmlvbi1pb3MtYWxlcnQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwM1wiOyB9XG4uaW9uLWlvcy1hbWVyaWNhbi1mb290YmFsbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwNlwiOyB9XG4uaW9uLWlvcy1hbWVyaWNhbi1mb290YmFsbC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA1XCI7IH1cbi5pb24taW9zLWFuYWx5dGljczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNjZVwiOyB9XG4uaW9uLWlvcy1hbmFseXRpY3Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNjZFwiOyB9XG4uaW9uLWlvcy1hcGVydHVyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwOFwiOyB9XG4uaW9uLWlvcy1hcGVydHVyZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA3XCI7IH1cbi5pb24taW9zLWFwcHM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMGFcIjsgfVxuLmlvbi1pb3MtYXBwcy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA5XCI7IH1cbi5pb24taW9zLWFwcHN0b3JlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTBjXCI7IH1cbi5pb24taW9zLWFwcHN0b3JlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMGJcIjsgfVxuLmlvbi1pb3MtYXJjaGl2ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwZVwiOyB9XG4uaW9uLWlvcy1hcmNoaXZlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMGRcIjsgfVxuLmlvbi1pb3MtYXJyb3ctYmFjazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNjZlwiOyB9XG4uaW9uLWlvcy1hcnJvdy1iYWNrLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzY2ZcIjsgfVxuLmlvbi1pb3MtYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNkMFwiOyB9XG4uaW9uLWlvcy1hcnJvdy1kb3duLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZDBcIjsgfVxuLmlvbi1pb3MtYXJyb3ctZHJvcGRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTBcIjsgfVxuLmlvbi1pb3MtYXJyb3ctZHJvcGRvd24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTBmXCI7IH1cbi5pb24taW9zLWFycm93LWRyb3Bkb3duLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTBmXCI7IH1cbi5pb24taW9zLWFycm93LWRyb3Bkb3duLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTBcIjsgfVxuLmlvbi1pb3MtYXJyb3ctZHJvcGxlZnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTJcIjsgfVxuLmlvbi1pb3MtYXJyb3ctZHJvcGxlZnQtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTExXCI7IH1cbi5pb24taW9zLWFycm93LWRyb3BsZWZ0LWNpcmNsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTExXCI7IH1cbi5pb24taW9zLWFycm93LWRyb3BsZWZ0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTJcIjsgfVxuLmlvbi1pb3MtYXJyb3ctZHJvcHJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTE0XCI7IH1cbi5pb24taW9zLWFycm93LWRyb3ByaWdodC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTNcIjsgfVxuLmlvbi1pb3MtYXJyb3ctZHJvcHJpZ2h0LWNpcmNsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTEzXCI7IH1cbi5pb24taW9zLWFycm93LWRyb3ByaWdodC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTE0XCI7IH1cbi5pb24taW9zLWFycm93LWRyb3B1cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExNlwiOyB9XG4uaW9uLWlvcy1hcnJvdy1kcm9wdXAtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTE1XCI7IH1cbi5pb24taW9zLWFycm93LWRyb3B1cC1jaXJjbGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExNVwiOyB9XG4uaW9uLWlvcy1hcnJvdy1kcm9wdXAtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExNlwiOyB9XG4uaW9uLWlvcy1hcnJvdy1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2QxXCI7IH1cbi5pb24taW9zLWFycm93LWZvcndhcmQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNkMVwiOyB9XG4uaW9uLWlvcy1hcnJvdy1yb3VuZC1iYWNrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTE3XCI7IH1cbi5pb24taW9zLWFycm93LXJvdW5kLWJhY2stb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExN1wiOyB9XG4uaW9uLWlvcy1hcnJvdy1yb3VuZC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTE4XCI7IH1cbi5pb24taW9zLWFycm93LXJvdW5kLWRvd24tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExOFwiOyB9XG4uaW9uLWlvcy1hcnJvdy1yb3VuZC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTE5XCI7IH1cbi5pb24taW9zLWFycm93LXJvdW5kLWZvcndhcmQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExOVwiOyB9XG4uaW9uLWlvcy1hcnJvdy1yb3VuZC11cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExYVwiOyB9XG4uaW9uLWlvcy1hcnJvdy1yb3VuZC11cC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTFhXCI7IH1cbi5pb24taW9zLWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2Q4XCI7IH1cbi5pb24taW9zLWFycm93LXVwLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZDhcIjsgfVxuLmlvbi1pb3MtYXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZGFcIjsgfVxuLmlvbi1pb3MtYXQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNkOVwiOyB9XG4uaW9uLWlvcy1hdHRhY2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMWJcIjsgfVxuLmlvbi1pb3MtYXR0YWNoLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMWJcIjsgfVxuLmlvbi1pb3MtYmFja3NwYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTFkXCI7IH1cbi5pb24taW9zLWJhY2tzcGFjZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTFjXCI7IH1cbi5pb24taW9zLWJhcmNvZGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZGNcIjsgfVxuLmlvbi1pb3MtYmFyY29kZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2RiXCI7IH1cbi5pb24taW9zLWJhc2ViYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2RlXCI7IH1cbi5pb24taW9zLWJhc2ViYWxsLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZGRcIjsgfVxuLmlvbi1pb3MtYmFza2V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTFmXCI7IH1cbi5pb24taW9zLWJhc2tldC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTFlXCI7IH1cbi5pb24taW9zLWJhc2tldGJhbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZTBcIjsgfVxuLmlvbi1pb3MtYmFza2V0YmFsbC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2RmXCI7IH1cbi5pb24taW9zLWJhdHRlcnktY2hhcmdpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjBcIjsgfVxuLmlvbi1pb3MtYmF0dGVyeS1jaGFyZ2luZy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTIwXCI7IH1cbi5pb24taW9zLWJhdHRlcnktZGVhZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyMVwiOyB9XG4uaW9uLWlvcy1iYXR0ZXJ5LWRlYWQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyMVwiOyB9XG4uaW9uLWlvcy1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjJcIjsgfVxuLmlvbi1pb3MtYmF0dGVyeS1mdWxsLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjJcIjsgfVxuLmlvbi1pb3MtYmVha2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTI0XCI7IH1cbi5pb24taW9zLWJlYWtlci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTIzXCI7IH1cbi5pb24taW9zLWJlZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjZcIjsgfVxuLmlvbi1pb3MtYmVlci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTI1XCI7IH1cbi5pb24taW9zLWJpY3ljbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjdcIjsgfVxuLmlvbi1pb3MtYmljeWNsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTI3XCI7IH1cbi5pb24taW9zLWJsdWV0b290aDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyOFwiOyB9XG4uaW9uLWlvcy1ibHVldG9vdGgtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyOFwiOyB9XG4uaW9uLWlvcy1ib2F0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTJhXCI7IH1cbi5pb24taW9zLWJvYXQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyOVwiOyB9XG4uaW9uLWlvcy1ib2R5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2U0XCI7IH1cbi5pb24taW9zLWJvZHktb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNlM1wiOyB9XG4uaW9uLWlvcy1ib25maXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTJjXCI7IH1cbi5pb24taW9zLWJvbmZpcmUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyYlwiOyB9XG4uaW9uLWlvcy1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2U4XCI7IH1cbi5pb24taW9zLWJvb2stb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNlN1wiOyB9XG4uaW9uLWlvcy1ib29rbWFyazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyZVwiOyB9XG4uaW9uLWlvcy1ib29rbWFyay1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTJkXCI7IH1cbi5pb24taW9zLWJvb2ttYXJrczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNlYVwiOyB9XG4uaW9uLWlvcy1ib29rbWFya3Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNlOVwiOyB9XG4uaW9uLWlvcy1ib3d0aWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzBcIjsgfVxuLmlvbi1pb3MtYm93dGllLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMmZcIjsgfVxuLmlvbi1pb3MtYnJpZWZjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2VlXCI7IH1cbi5pb24taW9zLWJyaWVmY2FzZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2VkXCI7IH1cbi5pb24taW9zLWJyb3dzZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2YwXCI7IH1cbi5pb24taW9zLWJyb3dzZXJzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZWZcIjsgfVxuLmlvbi1pb3MtYnJ1c2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzJcIjsgfVxuLmlvbi1pb3MtYnJ1c2gtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzMVwiOyB9XG4uaW9uLWlvcy1idWc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzRcIjsgfVxuLmlvbi1pb3MtYnVnLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzNcIjsgfVxuLmlvbi1pb3MtYnVpbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzZcIjsgfVxuLmlvbi1pb3MtYnVpbGQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzNVwiOyB9XG4uaW9uLWlvcy1idWxiOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTM4XCI7IH1cbi5pb24taW9zLWJ1bGItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzN1wiOyB9XG4uaW9uLWlvcy1idXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxM2FcIjsgfVxuLmlvbi1pb3MtYnVzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzlcIjsgfVxuLmlvbi1pb3MtY2FmZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzY1wiOyB9XG4uaW9uLWlvcy1jYWZlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxM2JcIjsgfVxuLmlvbi1pb3MtY2FsY3VsYXRvcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNmMlwiOyB9XG4uaW9uLWlvcy1jYWxjdWxhdG9yLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZjFcIjsgfVxuLmlvbi1pb3MtY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZjRcIjsgfVxuLmlvbi1pb3MtY2FsZW5kYXItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNmM1wiOyB9XG4uaW9uLWlvcy1jYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTNlXCI7IH1cbi5pb24taW9zLWNhbGwtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzZFwiOyB9XG4uaW9uLWlvcy1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZjZcIjsgfVxuLmlvbi1pb3MtY2FtZXJhLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZjVcIjsgfVxuLmlvbi1pb3MtY2FyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQwXCI7IH1cbi5pb24taW9zLWNhci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTNmXCI7IH1cbi5pb24taW9zLWNhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDJcIjsgfVxuLmlvbi1pb3MtY2FyZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQxXCI7IH1cbi5pb24taW9zLWNhcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZjhcIjsgfVxuLmlvbi1pb3MtY2FydC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2Y3XCI7IH1cbi5pb24taW9zLWNhc2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDRcIjsgfVxuLmlvbi1pb3MtY2FzaC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQzXCI7IH1cbi5pb24taW9zLWNoYXRib3hlczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNmYVwiOyB9XG4uaW9uLWlvcy1jaGF0Ym94ZXMtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNmOVwiOyB9XG4uaW9uLWlvcy1jaGF0YnViYmxlczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0NlwiOyB9XG4uaW9uLWlvcy1jaGF0YnViYmxlcy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQ1XCI7IH1cbi5pb24taW9zLWNoZWNrYm94OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQ4XCI7IH1cbi5pb24taW9zLWNoZWNrYm94LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDdcIjsgfVxuLmlvbi1pb3MtY2hlY2ttYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2ZmXCI7IH1cbi5pb24taW9zLWNoZWNrbWFyay1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNGFcIjsgfVxuLmlvbi1pb3MtY2hlY2ttYXJrLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQ5XCI7IH1cbi5pb24taW9zLWNoZWNrbWFyay1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2ZmXCI7IH1cbi5pb24taW9zLWNsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0Y1wiOyB9XG4uaW9uLWlvcy1jbGlwYm9hcmQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0YlwiOyB9XG4uaW9uLWlvcy1jbG9jazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQwM1wiOyB9XG4uaW9uLWlvcy1jbG9jay1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDAyXCI7IH1cbi5pb24taW9zLWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDA2XCI7IH1cbi5pb24taW9zLWNsb3NlLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0ZVwiOyB9XG4uaW9uLWlvcy1jbG9zZS1jaXJjbGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0ZFwiOyB9XG4uaW9uLWlvcy1jbG9zZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDA2XCI7IH1cbi5pb24taW9zLWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTUwXCI7IH1cbi5pb24taW9zLWNsb3NlZC1jYXB0aW9uaW5nLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNGZcIjsgfVxuLmlvbi1pb3MtY2xvdWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MGNcIjsgfVxuLmlvbi1pb3MtY2xvdWQtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTUyXCI7IH1cbi5pb24taW9zLWNsb3VkLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTUxXCI7IH1cbi5pb24taW9zLWNsb3VkLWRvbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTRcIjsgfVxuLmlvbi1pb3MtY2xvdWQtZG9uZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTUzXCI7IH1cbi5pb24taW9zLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDA4XCI7IH1cbi5pb24taW9zLWNsb3VkLWRvd25sb2FkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MDdcIjsgfVxuLmlvbi1pb3MtY2xvdWQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQwOVwiOyB9XG4uaW9uLWlvcy1jbG91ZC11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MGJcIjsgfVxuLmlvbi1pb3MtY2xvdWQtdXBsb2FkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MGFcIjsgfVxuLmlvbi1pb3MtY2xvdWR5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDEwXCI7IH1cbi5pb24taW9zLWNsb3VkeS1uaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQwZVwiOyB9XG4uaW9uLWlvcy1jbG91ZHktbmlnaHQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQwZFwiOyB9XG4uaW9uLWlvcy1jbG91ZHktb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQwZlwiOyB9XG4uaW9uLWlvcy1jb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU3XCI7IH1cbi5pb24taW9zLWNvZGUtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTVcIjsgfVxuLmlvbi1pb3MtY29kZS1kb3dubG9hZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU1XCI7IH1cbi5pb24taW9zLWNvZGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1N1wiOyB9XG4uaW9uLWlvcy1jb2RlLXdvcmtpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTZcIjsgfVxuLmlvbi1pb3MtY29kZS13b3JraW5nLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTZcIjsgfVxuLmlvbi1pb3MtY29nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDEyXCI7IH1cbi5pb24taW9zLWNvZy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDExXCI7IH1cbi5pb24taW9zLWNvbG9yLWZpbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTlcIjsgfVxuLmlvbi1pb3MtY29sb3ItZmlsbC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU4XCI7IH1cbi5pb24taW9zLWNvbG9yLWZpbHRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQxNFwiOyB9XG4uaW9uLWlvcy1jb2xvci1maWx0ZXItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQxM1wiOyB9XG4uaW9uLWlvcy1jb2xvci1wYWxldHRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTViXCI7IH1cbi5pb24taW9zLWNvbG9yLXBhbGV0dGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1YVwiOyB9XG4uaW9uLWlvcy1jb2xvci13YW5kOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDE2XCI7IH1cbi5pb24taW9zLWNvbG9yLXdhbmQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQxNVwiOyB9XG4uaW9uLWlvcy1jb21wYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTVkXCI7IH1cbi5pb24taW9zLWNvbXBhc3Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1Y1wiOyB9XG4uaW9uLWlvcy1jb25zdHJ1Y3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWZcIjsgfVxuLmlvbi1pb3MtY29uc3RydWN0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWVcIjsgfVxuLmlvbi1pb3MtY29udGFjdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQxYVwiOyB9XG4uaW9uLWlvcy1jb250YWN0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MTlcIjsgfVxuLmlvbi1pb3MtY29udGFjdHM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNjFcIjsgfVxuLmlvbi1pb3MtY29udGFjdHMtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2MFwiOyB9XG4uaW9uLWlvcy1jb250cmFjdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2MlwiOyB9XG4uaW9uLWlvcy1jb250cmFjdC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTYyXCI7IH1cbi5pb24taW9zLWNvbnRyYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTYzXCI7IH1cbi5pb24taW9zLWNvbnRyYXN0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNjNcIjsgfVxuLmlvbi1pb3MtY29weTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQxY1wiOyB9XG4uaW9uLWlvcy1jb3B5LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MWJcIjsgfVxuLmlvbi1pb3MtY3JlYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTY1XCI7IH1cbi5pb24taW9zLWNyZWF0ZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTY0XCI7IH1cbi5pb24taW9zLWNyb3A6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MWVcIjsgfVxuLmlvbi1pb3MtY3JvcC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTY2XCI7IH1cbi5pb24taW9zLWN1YmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNjhcIjsgfVxuLmlvbi1pb3MtY3ViZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTY3XCI7IH1cbi5pb24taW9zLWN1dDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2YVwiOyB9XG4uaW9uLWlvcy1jdXQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2OVwiOyB9XG4uaW9uLWlvcy1kZXNrdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTZjXCI7IH1cbi5pb24taW9zLWRlc2t0b3Atb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2YlwiOyB9XG4uaW9uLWlvcy1kaXNjOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTZlXCI7IH1cbi5pb24taW9zLWRpc2Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2ZFwiOyB9XG4uaW9uLWlvcy1kb2N1bWVudDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE3MFwiOyB9XG4uaW9uLWlvcy1kb2N1bWVudC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTZmXCI7IH1cbi5pb24taW9zLWRvbmUtYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTcxXCI7IH1cbi5pb24taW9zLWRvbmUtYWxsLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNzFcIjsgfVxuLmlvbi1pb3MtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MjBcIjsgfVxuLmlvbi1pb3MtZG93bmxvYWQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQxZlwiOyB9XG4uaW9uLWlvcy1lYXNlbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE3M1wiOyB9XG4uaW9uLWlvcy1lYXNlbC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTcyXCI7IH1cbi5pb24taW9zLWVnZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE3NVwiOyB9XG4uaW9uLWlvcy1lZ2ctb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE3NFwiOyB9XG4uaW9uLWlvcy1leGl0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTc3XCI7IH1cbi5pb24taW9zLWV4aXQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE3NlwiOyB9XG4uaW9uLWlvcy1leHBhbmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNzhcIjsgfVxuLmlvbi1pb3MtZXhwYW5kLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNzhcIjsgfVxuLmlvbi1pb3MtZXllOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDI1XCI7IH1cbi5pb24taW9zLWV5ZS1vZmY6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2FcIjsgfVxuLmlvbi1pb3MtZXllLW9mZi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTc5XCI7IH1cbi5pb24taW9zLWV5ZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDI0XCI7IH1cbi5pb24taW9zLWZhc3Rmb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDI3XCI7IH1cbi5pb24taW9zLWZhc3Rmb3J3YXJkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MjZcIjsgfVxuLmlvbi1pb3MtZmVtYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTdiXCI7IH1cbi5pb24taW9zLWZlbWFsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTdiXCI7IH1cbi5pb24taW9zLWZpbGluZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQyOVwiOyB9XG4uaW9uLWlvcy1maWxpbmctb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQyOFwiOyB9XG4uaW9uLWlvcy1maWxtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDJiXCI7IH1cbi5pb24taW9zLWZpbG0tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQyYVwiOyB9XG4uaW9uLWlvcy1maW5nZXItcHJpbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2NcIjsgfVxuLmlvbi1pb3MtZmluZ2VyLXByaW50LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2NcIjsgfVxuLmlvbi1pb3MtZmxhZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQyZFwiOyB9XG4uaW9uLWlvcy1mbGFnLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MmNcIjsgfVxuLmlvbi1pb3MtZmxhbWU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MmZcIjsgfVxuLmlvbi1pb3MtZmxhbWUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQyZVwiOyB9XG4uaW9uLWlvcy1mbGFzaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE3ZVwiOyB9XG4uaW9uLWlvcy1mbGFzaC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTdkXCI7IH1cbi5pb24taW9zLWZsYXNrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDMxXCI7IH1cbi5pb24taW9zLWZsYXNrLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MzBcIjsgfVxuLmlvbi1pb3MtZmxvd2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDMzXCI7IH1cbi5pb24taW9zLWZsb3dlci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDMyXCI7IH1cbi5pb24taW9zLWZvbGRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQzNVwiOyB9XG4uaW9uLWlvcy1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4MFwiOyB9XG4uaW9uLWlvcy1mb2xkZXItb3Blbi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTdmXCI7IH1cbi5pb24taW9zLWZvbGRlci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDM0XCI7IH1cbi5pb24taW9zLWZvb3RiYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDM3XCI7IH1cbi5pb24taW9zLWZvb3RiYWxsLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MzZcIjsgfVxuLmlvbi1pb3MtZnVubmVsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTgyXCI7IH1cbi5pb24taW9zLWZ1bm5lbC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTgxXCI7IH1cbi5pb24taW9zLWdhbWUtY29udHJvbGxlci1hOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDM5XCI7IH1cbi5pb24taW9zLWdhbWUtY29udHJvbGxlci1hLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MzhcIjsgfVxuLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWI6YmVmb3JlIHsgY29udGVudDogXCJcXGY0M2JcIjsgfVxuLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQzYVwiOyB9XG4uaW9uLWlvcy1naXQtYnJhbmNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTgzXCI7IH1cbi5pb24taW9zLWdpdC1icmFuY2gtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4M1wiOyB9XG4uaW9uLWlvcy1naXQtY29tbWl0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTg0XCI7IH1cbi5pb24taW9zLWdpdC1jb21taXQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4NFwiOyB9XG4uaW9uLWlvcy1naXQtY29tcGFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4NVwiOyB9XG4uaW9uLWlvcy1naXQtY29tcGFyZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTg1XCI7IH1cbi5pb24taW9zLWdpdC1tZXJnZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4NlwiOyB9XG4uaW9uLWlvcy1naXQtbWVyZ2Utb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4NlwiOyB9XG4uaW9uLWlvcy1naXQtbmV0d29yazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4N1wiOyB9XG4uaW9uLWlvcy1naXQtbmV0d29yay1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTg3XCI7IH1cbi5pb24taW9zLWdpdC1wdWxsLXJlcXVlc3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODhcIjsgfVxuLmlvbi1pb3MtZ2l0LXB1bGwtcmVxdWVzdC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTg4XCI7IH1cbi5pb24taW9zLWdsYXNzZXM6YmVmb3JlIHsgY29udGVudDogXCJcXGY0M2ZcIjsgfVxuLmlvbi1pb3MtZ2xhc3Nlcy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDNlXCI7IH1cbi5pb24taW9zLWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMThhXCI7IH1cbi5pb24taW9zLWdsb2JlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODlcIjsgfVxuLmlvbi1pb3MtZ3JpZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4Y1wiOyB9XG4uaW9uLWlvcy1ncmlkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOGJcIjsgfVxuLmlvbi1pb3MtaGFtbWVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMThlXCI7IH1cbi5pb24taW9zLWhhbW1lci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMThkXCI7IH1cbi5pb24taW9zLWhhbmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTBcIjsgfVxuLmlvbi1pb3MtaGFuZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMThmXCI7IH1cbi5pb24taW9zLWhhcHB5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTkyXCI7IH1cbi5pb24taW9zLWhhcHB5LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTFcIjsgfVxuLmlvbi1pb3MtaGVhZHNldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5NFwiOyB9XG4uaW9uLWlvcy1oZWFkc2V0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTNcIjsgfVxuLmlvbi1pb3MtaGVhcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NDNcIjsgfVxuLmlvbi1pb3MtaGVhcnQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ0MlwiOyB9XG4uaW9uLWlvcy1oZWxwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDQ2XCI7IH1cbi5pb24taW9zLWhlbHAtYnVveTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5NlwiOyB9XG4uaW9uLWlvcy1oZWxwLWJ1b3ktb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5NVwiOyB9XG4uaW9uLWlvcy1oZWxwLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5OFwiOyB9XG4uaW9uLWlvcy1oZWxwLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTk3XCI7IH1cbi5pb24taW9zLWhlbHAtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ0NlwiOyB9XG4uaW9uLWlvcy1ob21lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDQ4XCI7IH1cbi5pb24taW9zLWhvbWUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ0N1wiOyB9XG4uaW9uLWlvcy1pY2UtY3JlYW06YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWFcIjsgfVxuLmlvbi1pb3MtaWNlLWNyZWFtLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTlcIjsgfVxuLmlvbi1pb3MtaW1hZ2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWNcIjsgfVxuLmlvbi1pb3MtaW1hZ2Utb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5YlwiOyB9XG4uaW9uLWlvcy1pbWFnZXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWVcIjsgfVxuLmlvbi1pb3MtaW1hZ2VzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWRcIjsgfVxuLmlvbi1pb3MtaW5maW5pdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NGFcIjsgfVxuLmlvbi1pb3MtaW5maW5pdGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ0OVwiOyB9XG4uaW9uLWlvcy1pbmZvcm1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ0ZFwiOyB9XG4uaW9uLWlvcy1pbmZvcm1hdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTBcIjsgfVxuLmlvbi1pb3MtaW5mb3JtYXRpb24tY2lyY2xlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWZcIjsgfVxuLmlvbi1pb3MtaW5mb3JtYXRpb24tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ0ZFwiOyB9XG4uaW9uLWlvcy1pb25pYzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFhMVwiOyB9XG4uaW9uLWlvcy1pb25pYy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDRlXCI7IH1cbi5pb24taW9zLWlvbml0cm9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWEzXCI7IH1cbi5pb24taW9zLWlvbml0cm9uLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTJcIjsgfVxuLmlvbi1pb3MtamV0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWE1XCI7IH1cbi5pb24taW9zLWpldC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWE0XCI7IH1cbi5pb24taW9zLWtleTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFhN1wiOyB9XG4uaW9uLWlvcy1rZXktb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFhNlwiOyB9XG4uaW9uLWlvcy1rZXlwYWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NTBcIjsgfVxuLmlvbi1pb3Mta2V5cGFkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NGZcIjsgfVxuLmlvbi1pb3MtbGFwdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWE4XCI7IH1cbi5pb24taW9zLWxhcHRvcC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWE4XCI7IH1cbi5pb24taW9zLWxlYWY6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYWFcIjsgfVxuLmlvbi1pb3MtbGVhZi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWE5XCI7IH1cbi5pb24taW9zLWxpbms6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMmFcIjsgfVxuLmlvbi1pb3MtbGluay1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWNhXCI7IH1cbi5pb24taW9zLWxpc3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NTRcIjsgfVxuLmlvbi1pb3MtbGlzdC1ib3g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYWNcIjsgfVxuLmlvbi1pb3MtbGlzdC1ib3gtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFhYlwiOyB9XG4uaW9uLWlvcy1saXN0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NTRcIjsgfVxuLmlvbi1pb3MtbG9jYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWFlXCI7IH1cbi5pb24taW9zLWxvY2F0ZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWFkXCI7IH1cbi5pb24taW9zLWxvY2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYjBcIjsgfVxuLmlvbi1pb3MtbG9jay1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWFmXCI7IH1cbi5pb24taW9zLWxvZy1pbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiMVwiOyB9XG4uaW9uLWlvcy1sb2ctaW4tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiMVwiOyB9XG4uaW9uLWlvcy1sb2ctb3V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWIyXCI7IH1cbi5pb24taW9zLWxvZy1vdXQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiMlwiOyB9XG4uaW9uLWlvcy1tYWduZXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYjRcIjsgfVxuLmlvbi1pb3MtbWFnbmV0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYjNcIjsgfVxuLmlvbi1pb3MtbWFpbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiOFwiOyB9XG4uaW9uLWlvcy1tYWlsLW9wZW46YmVmb3JlIHsgY29udGVudDogXCJcXGYxYjZcIjsgfVxuLmlvbi1pb3MtbWFpbC1vcGVuLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYjVcIjsgfVxuLmlvbi1pb3MtbWFpbC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWI3XCI7IH1cbi5pb24taW9zLW1hbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYjlcIjsgfVxuLmlvbi1pb3MtbWFsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWI5XCI7IH1cbi5pb24taW9zLW1hbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiYlwiOyB9XG4uaW9uLWlvcy1tYW4tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiYVwiOyB9XG4uaW9uLWlvcy1tYXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYmRcIjsgfVxuLmlvbi1pb3MtbWFwLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYmNcIjsgfVxuLmlvbi1pb3MtbWVkYWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYmZcIjsgfVxuLmlvbi1pb3MtbWVkYWwtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiZVwiOyB9XG4uaW9uLWlvcy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDVjXCI7IH1cbi5pb24taW9zLW1lZGljYWwtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ1YlwiOyB9XG4uaW9uLWlvcy1tZWRraXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NWVcIjsgfVxuLmlvbi1pb3MtbWVka2l0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NWRcIjsgfVxuLmlvbi1pb3MtbWVnYXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWMxXCI7IH1cbi5pb24taW9zLW1lZ2FwaG9uZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWMwXCI7IH1cbi5pb24taW9zLW1lbnU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzNcIjsgfVxuLmlvbi1pb3MtbWVudS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWMyXCI7IH1cbi5pb24taW9zLW1pYzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ2MVwiOyB9XG4uaW9uLWlvcy1taWMtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDVmXCI7IH1cbi5pb24taW9zLW1pYy1vZmYtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjNFwiOyB9XG4uaW9uLWlvcy1taWMtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ2MFwiOyB9XG4uaW9uLWlvcy1taWNyb3Bob25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWM2XCI7IH1cbi5pb24taW9zLW1pY3JvcGhvbmUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjNVwiOyB9XG4uaW9uLWlvcy1tb29uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDY4XCI7IH1cbi5pb24taW9zLW1vb24tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ2N1wiOyB9XG4uaW9uLWlvcy1tb3JlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWM4XCI7IH1cbi5pb24taW9zLW1vcmUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjN1wiOyB9XG4uaW9uLWlvcy1tb3ZlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWNiXCI7IH1cbi5pb24taW9zLW1vdmUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjYlwiOyB9XG4uaW9uLWlvcy1tdXNpY2FsLW5vdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NmJcIjsgfVxuLmlvbi1pb3MtbXVzaWNhbC1ub3RlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2NcIjsgfVxuLmlvbi1pb3MtbXVzaWNhbC1ub3RlczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ2Y1wiOyB9XG4uaW9uLWlvcy1tdXNpY2FsLW5vdGVzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2RcIjsgfVxuLmlvbi1pb3MtbmF2aWdhdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NmVcIjsgfVxuLmlvbi1pb3MtbmF2aWdhdGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ2ZFwiOyB9XG4uaW9uLWlvcy1uby1zbW9raW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWNmXCI7IH1cbi5pb24taW9zLW5vLXNtb2tpbmctb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjZVwiOyB9XG4uaW9uLWlvcy1ub3RpZmljYXRpb25zOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQzXCI7IH1cbi5pb24taW9zLW5vdGlmaWNhdGlvbnMtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQxXCI7IH1cbi5pb24taW9zLW5vdGlmaWNhdGlvbnMtb2ZmLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDBcIjsgfVxuLmlvbi1pb3Mtbm90aWZpY2F0aW9ucy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQyXCI7IH1cbi5pb24taW9zLW51Y2xlYXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDVcIjsgfVxuLmlvbi1pb3MtbnVjbGVhci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQ0XCI7IH1cbi5pb24taW9zLW51dHJpdGlvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ3MFwiOyB9XG4uaW9uLWlvcy1udXRyaXRpb24tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ2ZlwiOyB9XG4uaW9uLWlvcy1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQ3XCI7IH1cbi5pb24taW9zLW9wZW4tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkNlwiOyB9XG4uaW9uLWlvcy1vcHRpb25zOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQ5XCI7IH1cbi5pb24taW9zLW9wdGlvbnMtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkOFwiOyB9XG4uaW9uLWlvcy1vdXRsZXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZGJcIjsgfVxuLmlvbi1pb3Mtb3V0bGV0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZGFcIjsgfVxuLmlvbi1pb3MtcGFwZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NzJcIjsgfVxuLmlvbi1pb3MtcGFwZXItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ3MVwiOyB9XG4uaW9uLWlvcy1wYXBlci1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkZFwiOyB9XG4uaW9uLWlvcy1wYXBlci1wbGFuZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWRjXCI7IH1cbi5pb24taW9zLXBhcnRseS1zdW5ueTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkZlwiOyB9XG4uaW9uLWlvcy1wYXJ0bHktc3Vubnktb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkZVwiOyB9XG4uaW9uLWlvcy1wYXVzZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ3OFwiOyB9XG4uaW9uLWlvcy1wYXVzZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDc3XCI7IH1cbi5pb24taW9zLXBhdzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ3YVwiOyB9XG4uaW9uLWlvcy1wYXctb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ3OVwiOyB9XG4uaW9uLWlvcy1wZW9wbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0N2NcIjsgfVxuLmlvbi1pb3MtcGVvcGxlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0N2JcIjsgfVxuLmlvbi1pb3MtcGVyc29uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDdlXCI7IH1cbi5pb24taW9zLXBlcnNvbi1hZGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTFcIjsgfVxuLmlvbi1pb3MtcGVyc29uLWFkZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWUwXCI7IH1cbi5pb24taW9zLXBlcnNvbi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDdkXCI7IH1cbi5pb24taW9zLXBob25lLWxhbmRzY2FwZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlMlwiOyB9XG4uaW9uLWlvcy1waG9uZS1sYW5kc2NhcGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlMlwiOyB9XG4uaW9uLWlvcy1waG9uZS1wb3J0cmFpdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlM1wiOyB9XG4uaW9uLWlvcy1waG9uZS1wb3J0cmFpdC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWUzXCI7IH1cbi5pb24taW9zLXBob3RvczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ4MlwiOyB9XG4uaW9uLWlvcy1waG90b3Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ4MVwiOyB9XG4uaW9uLWlvcy1waWU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0ODRcIjsgfVxuLmlvbi1pb3MtcGllLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0ODNcIjsgfVxuLmlvbi1pb3MtcGluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWU1XCI7IH1cbi5pb24taW9zLXBpbi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWU0XCI7IH1cbi5pb24taW9zLXBpbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGY0ODZcIjsgfVxuLmlvbi1pb3MtcGludC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDg1XCI7IH1cbi5pb24taW9zLXBpenphOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWU3XCI7IH1cbi5pb24taW9zLXBpenphLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTZcIjsgfVxuLmlvbi1pb3MtcGxhbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTlcIjsgfVxuLmlvbi1pb3MtcGxhbmUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlOFwiOyB9XG4uaW9uLWlvcy1wbGFuZXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZWJcIjsgfVxuLmlvbi1pb3MtcGxhbmV0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZWFcIjsgfVxuLmlvbi1pb3MtcGxheTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ4OFwiOyB9XG4uaW9uLWlvcy1wbGF5LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0ODdcIjsgfVxuLmlvbi1pb3MtcG9kaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVkXCI7IH1cbi5pb24taW9zLXBvZGl1bS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVjXCI7IH1cbi5pb24taW9zLXBvd2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVmXCI7IH1cbi5pb24taW9zLXBvd2VyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZWVcIjsgfVxuLmlvbi1pb3MtcHJpY2V0YWc6YmVmb3JlIHsgY29udGVudDogXCJcXGY0OGRcIjsgfVxuLmlvbi1pb3MtcHJpY2V0YWctb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ4Y1wiOyB9XG4uaW9uLWlvcy1wcmljZXRhZ3M6YmVmb3JlIHsgY29udGVudDogXCJcXGY0OGZcIjsgfVxuLmlvbi1pb3MtcHJpY2V0YWdzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0OGVcIjsgfVxuLmlvbi1pb3MtcHJpbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjFcIjsgfVxuLmlvbi1pb3MtcHJpbnQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmMFwiOyB9XG4uaW9uLWlvcy1wdWxzZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ5M1wiOyB9XG4uaW9uLWlvcy1wdWxzZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYyXCI7IH1cbi5pb24taW9zLXFyLXNjYW5uZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjNcIjsgfVxuLmlvbi1pb3MtcXItc2Nhbm5lci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYzXCI7IH1cbi5pb24taW9zLXF1b3RlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWY1XCI7IH1cbi5pb24taW9zLXF1b3RlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjRcIjsgfVxuLmlvbi1pb3MtcmFkaW86YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjlcIjsgfVxuLmlvbi1pb3MtcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmNlwiOyB9XG4uaW9uLWlvcy1yYWRpby1idXR0b24tb2ZmLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjZcIjsgfVxuLmlvbi1pb3MtcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWY3XCI7IH1cbi5pb24taW9zLXJhZGlvLWJ1dHRvbi1vbi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWY3XCI7IH1cbi5pb24taW9zLXJhZGlvLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjhcIjsgfVxuLmlvbi1pb3MtcmFpbnk6YmVmb3JlIHsgY29udGVudDogXCJcXGY0OTVcIjsgfVxuLmlvbi1pb3MtcmFpbnktb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ5NFwiOyB9XG4uaW9uLWlvcy1yZWNvcmRpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGY0OTdcIjsgfVxuLmlvbi1pb3MtcmVjb3JkaW5nLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0OTZcIjsgfVxuLmlvbi1pb3MtcmVkbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ5OVwiOyB9XG4uaW9uLWlvcy1yZWRvLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0OThcIjsgfVxuLmlvbi1pb3MtcmVmcmVzaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ5Y1wiOyB9XG4uaW9uLWlvcy1yZWZyZXNoLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyNlwiOyB9XG4uaW9uLWlvcy1yZWZyZXNoLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjI0XCI7IH1cbi5pb24taW9zLXJlZnJlc2gtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ5Y1wiOyB9XG4uaW9uLWlvcy1yZW1vdmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZmNcIjsgfVxuLmlvbi1pb3MtcmVtb3ZlLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmYlwiOyB9XG4uaW9uLWlvcy1yZW1vdmUtY2lyY2xlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZmFcIjsgfVxuLmlvbi1pb3MtcmVtb3ZlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZmNcIjsgfVxuLmlvbi1pb3MtcmVvcmRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmZFwiOyB9XG4uaW9uLWlvcy1yZW9yZGVyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZmRcIjsgfVxuLmlvbi1pb3MtcmVwZWF0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWZlXCI7IH1cbi5pb24taW9zLXJlcGVhdC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWZlXCI7IH1cbi5pb24taW9zLXJlc2l6ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmZlwiOyB9XG4uaW9uLWlvcy1yZXNpemUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmZlwiOyB9XG4uaW9uLWlvcy1yZXN0YXVyYW50OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjAxXCI7IH1cbi5pb24taW9zLXJlc3RhdXJhbnQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwMFwiOyB9XG4uaW9uLWlvcy1yZXR1cm4tbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwMlwiOyB9XG4uaW9uLWlvcy1yZXR1cm4tbGVmdC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjAyXCI7IH1cbi5pb24taW9zLXJldHVybi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwM1wiOyB9XG4uaW9uLWlvcy1yZXR1cm4tcmlnaHQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwM1wiOyB9XG4uaW9uLWlvcy1yZXZlcnNlLWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ5ZlwiOyB9XG4uaW9uLWlvcy1yZXZlcnNlLWNhbWVyYS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDllXCI7IH1cbi5pb24taW9zLXJld2luZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRhMVwiOyB9XG4uaW9uLWlvcy1yZXdpbmQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRhMFwiOyB9XG4uaW9uLWlvcy1yaWJib246YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDVcIjsgfVxuLmlvbi1pb3MtcmliYm9uLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDRcIjsgfVxuLmlvbi1pb3Mtcm9zZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRhM1wiOyB9XG4uaW9uLWlvcy1yb3NlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0YTJcIjsgfVxuLmlvbi1pb3Mtc2FkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjA3XCI7IH1cbi5pb24taW9zLXNhZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjA2XCI7IH1cbi5pb24taW9zLXNjaG9vbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwOVwiOyB9XG4uaW9uLWlvcy1zY2hvb2wtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwOFwiOyB9XG4uaW9uLWlvcy1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogXCJcXGY0YTVcIjsgfVxuLmlvbi1pb3Mtc2VhcmNoLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMGFcIjsgfVxuLmlvbi1pb3Mtc2VuZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwY1wiOyB9XG4uaW9uLWlvcy1zZW5kLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMGJcIjsgfVxuLmlvbi1pb3Mtc2V0dGluZ3M6YmVmb3JlIHsgY29udGVudDogXCJcXGY0YTdcIjsgfVxuLmlvbi1pb3Mtc2V0dGluZ3Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwZFwiOyB9XG4uaW9uLWlvcy1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxMVwiOyB9XG4uaW9uLWlvcy1zaGFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMGZcIjsgfVxuLmlvbi1pb3Mtc2hhcmUtYWx0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMGVcIjsgfVxuLmlvbi1pb3Mtc2hhcmUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxMFwiOyB9XG4uaW9uLWlvcy1zaGlydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxM1wiOyB9XG4uaW9uLWlvcy1zaGlydC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjEyXCI7IH1cbi5pb24taW9zLXNodWZmbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0YTlcIjsgfVxuLmlvbi1pb3Mtc2h1ZmZsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNGE5XCI7IH1cbi5pb24taW9zLXNraXAtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMTVcIjsgfVxuLmlvbi1pb3Mtc2tpcC1iYWNrd2FyZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjE0XCI7IH1cbi5pb24taW9zLXNraXAtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxN1wiOyB9XG4uaW9uLWlvcy1za2lwLWZvcndhcmQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxNlwiOyB9XG4uaW9uLWlvcy1zbm93OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjE4XCI7IH1cbi5pb24taW9zLXNub3ctb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyY1wiOyB9XG4uaW9uLWlvcy1zcGVlZG9tZXRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRiMFwiOyB9XG4uaW9uLWlvcy1zcGVlZG9tZXRlci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNGFmXCI7IH1cbi5pb24taW9zLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxYVwiOyB9XG4uaW9uLWlvcy1zcXVhcmUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxOVwiOyB9XG4uaW9uLWlvcy1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNGIzXCI7IH1cbi5pb24taW9zLXN0YXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRiMVwiOyB9XG4uaW9uLWlvcy1zdGFyLWhhbGYtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRiMVwiOyB9XG4uaW9uLWlvcy1zdGFyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0YjJcIjsgfVxuLmlvbi1pb3Mtc3RhdHM6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMWNcIjsgfVxuLmlvbi1pb3Mtc3RhdHMtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxYlwiOyB9XG4uaW9uLWlvcy1zdG9wd2F0Y2g6YmVmb3JlIHsgY29udGVudDogXCJcXGY0YjVcIjsgfVxuLmlvbi1pb3Mtc3RvcHdhdGNoLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0YjRcIjsgfVxuLmlvbi1pb3Mtc3Vid2F5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjFlXCI7IH1cbi5pb24taW9zLXN1YndheS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjFkXCI7IH1cbi5pb24taW9zLXN1bm55OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNGI3XCI7IH1cbi5pb24taW9zLXN1bm55LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0YjZcIjsgfVxuLmlvbi1pb3Mtc3dhcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxZlwiOyB9XG4uaW9uLWlvcy1zd2FwLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMWZcIjsgfVxuLmlvbi1pb3Mtc3dpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjIxXCI7IH1cbi5pb24taW9zLXN3aXRjaC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjIwXCI7IH1cbi5pb24taW9zLXN5bmM6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMjJcIjsgfVxuLmlvbi1pb3Mtc3luYy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjIyXCI7IH1cbi5pb24taW9zLXRhYmxldC1sYW5kc2NhcGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMjNcIjsgfVxuLmlvbi1pb3MtdGFibGV0LWxhbmRzY2FwZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjIzXCI7IH1cbi5pb24taW9zLXRhYmxldC1wb3J0cmFpdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0ZVwiOyB9XG4uaW9uLWlvcy10YWJsZXQtcG9ydHJhaXQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0ZVwiOyB9XG4uaW9uLWlvcy10ZW5uaXNiYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNGJiXCI7IH1cbi5pb24taW9zLXRlbm5pc2JhbGwtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRiYVwiOyB9XG4uaW9uLWlvcy10ZXh0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjUwXCI7IH1cbi5pb24taW9zLXRleHQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0ZlwiOyB9XG4uaW9uLWlvcy10aGVybW9tZXRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1MlwiOyB9XG4uaW9uLWlvcy10aGVybW9tZXRlci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjUxXCI7IH1cbi5pb24taW9zLXRodW1icy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjU0XCI7IH1cbi5pb24taW9zLXRodW1icy1kb3duLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNTNcIjsgfVxuLmlvbi1pb3MtdGh1bWJzLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjU2XCI7IH1cbi5pb24taW9zLXRodW1icy11cC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjU1XCI7IH1cbi5pb24taW9zLXRodW5kZXJzdG9ybTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRiZFwiOyB9XG4uaW9uLWlvcy10aHVuZGVyc3Rvcm0tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRiY1wiOyB9XG4uaW9uLWlvcy10aW1lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNGJmXCI7IH1cbi5pb24taW9zLXRpbWUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRiZVwiOyB9XG4uaW9uLWlvcy10aW1lcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRjMVwiOyB9XG4uaW9uLWlvcy10aW1lci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNGMwXCI7IH1cbi5pb24taW9zLXRyYWluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjU4XCI7IH1cbi5pb24taW9zLXRyYWluLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNTdcIjsgfVxuLmlvbi1pb3MtdHJhbnNnZW5kZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNTlcIjsgfVxuLmlvbi1pb3MtdHJhbnNnZW5kZXItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1OVwiOyB9XG4uaW9uLWlvcy10cmFzaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRjNVwiOyB9XG4uaW9uLWlvcy10cmFzaC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNGM0XCI7IH1cbi5pb24taW9zLXRyZW5kaW5nLWRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYyNWFcIjsgfVxuLmlvbi1pb3MtdHJlbmRpbmctZG93bi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjVhXCI7IH1cbi5pb24taW9zLXRyZW5kaW5nLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjViXCI7IH1cbi5pb24taW9zLXRyZW5kaW5nLXVwLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNWJcIjsgfVxuLmlvbi1pb3MtdHJvcGh5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjVkXCI7IH1cbi5pb24taW9zLXRyb3BoeS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjVjXCI7IH1cbi5pb24taW9zLXVtYnJlbGxhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjVmXCI7IH1cbi5pb24taW9zLXVtYnJlbGxhLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNWVcIjsgfVxuLmlvbi1pb3MtdW5kbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRjN1wiOyB9XG4uaW9uLWlvcy11bmRvLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0YzZcIjsgfVxuLmlvbi1pb3MtdW5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjYxXCI7IH1cbi5pb24taW9zLXVubG9jay1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjYwXCI7IH1cbi5pb24taW9zLXZpZGVvY2FtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNGNkXCI7IH1cbi5pb24taW9zLXZpZGVvY2FtLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0Y2NcIjsgfVxuLmlvbi1pb3Mtdm9sdW1lLWRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYyNjJcIjsgfVxuLmlvbi1pb3Mtdm9sdW1lLWRvd24tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2MlwiOyB9XG4uaW9uLWlvcy12b2x1bWUtbXV0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2M1wiOyB9XG4uaW9uLWlvcy12b2x1bWUtbXV0ZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjYzXCI7IH1cbi5pb24taW9zLXZvbHVtZS1vZmY6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNjRcIjsgfVxuLmlvbi1pb3Mtdm9sdW1lLW9mZi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjY0XCI7IH1cbi5pb24taW9zLXZvbHVtZS11cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2NVwiOyB9XG4uaW9uLWlvcy12b2x1bWUtdXAtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2NVwiOyB9XG4uaW9uLWlvcy13YWxrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjY2XCI7IH1cbi5pb24taW9zLXdhbGstb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2NlwiOyB9XG4uaW9uLWlvcy13YXJuaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjY4XCI7IH1cbi5pb24taW9zLXdhcm5pbmctb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2N1wiOyB9XG4uaW9uLWlvcy13YXRjaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2OVwiOyB9XG4uaW9uLWlvcy13YXRjaC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjY5XCI7IH1cbi5pb24taW9zLXdhdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjZiXCI7IH1cbi5pb24taW9zLXdhdGVyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNmFcIjsgfVxuLmlvbi1pb3Mtd2lmaTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2ZFwiOyB9XG4uaW9uLWlvcy13aWZpLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNmNcIjsgfVxuLmlvbi1pb3Mtd2luZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2ZlwiOyB9XG4uaW9uLWlvcy13aW5lLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNmVcIjsgfVxuLmlvbi1pb3Mtd29tYW46YmVmb3JlIHsgY29udGVudDogXCJcXGYyNzFcIjsgfVxuLmlvbi1pb3Mtd29tYW4tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3MFwiOyB9XG4uaW9uLWxvZ28tYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyNVwiOyB9XG4uaW9uLWxvZ28tYW5ndWxhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyN1wiOyB9XG4uaW9uLWxvZ28tYXBwbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMjlcIjsgfVxuLmlvbi1sb2dvLWJpdGNvaW46YmVmb3JlIHsgY29udGVudDogXCJcXGYyMmJcIjsgfVxuLmlvbi1sb2dvLWJ1ZmZlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyZFwiOyB9XG4uaW9uLWxvZ28tY2hyb21lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjJmXCI7IH1cbi5pb24tbG9nby1jb2RlcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjMwXCI7IH1cbi5pb24tbG9nby1jc3MzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjMxXCI7IH1cbi5pb24tbG9nby1kZXNpZ25lcm5ld3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMzJcIjsgfVxuLmlvbi1sb2dvLWRyaWJiYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjMzXCI7IH1cbi5pb24tbG9nby1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjM0XCI7IH1cbi5pb24tbG9nby1ldXJvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjM1XCI7IH1cbi5pb24tbG9nby1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzNlwiOyB9XG4uaW9uLWxvZ28tZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzN1wiOyB9XG4uaW9uLWxvZ28tZnJlZWJzZC1kZXZpbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzOFwiOyB9XG4uaW9uLWxvZ28tZ2l0aHViOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjM5XCI7IH1cbi5pb24tbG9nby1nb29nbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyM2FcIjsgfVxuLmlvbi1sb2dvLWdvb2dsZXBsdXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYyM2JcIjsgfVxuLmlvbi1sb2dvLWhhY2tlcm5ld3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYyM2NcIjsgfVxuLmlvbi1sb2dvLWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjNkXCI7IH1cbi5pb24tbG9nby1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogXCJcXGYyM2VcIjsgfVxuLmlvbi1sb2dvLWphdmFzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyM2ZcIjsgfVxuLmlvbi1sb2dvLWxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQwXCI7IH1cbi5pb24tbG9nby1tYXJrZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0MVwiOyB9XG4uaW9uLWxvZ28tbm9kZWpzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQyXCI7IH1cbi5pb24tbG9nby1vY3RvY2F0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQzXCI7IH1cbi5pb24tbG9nby1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNDRcIjsgfVxuLmlvbi1sb2dvLXBsYXlzdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQ1XCI7IH1cbi5pb24tbG9nby1weXRob246YmVmb3JlIHsgY29udGVudDogXCJcXGYyNDZcIjsgfVxuLmlvbi1sb2dvLXJlZGRpdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0N1wiOyB9XG4uaW9uLWxvZ28tcnNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQ4XCI7IH1cbi5pb24tbG9nby1zYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQ5XCI7IH1cbi5pb24tbG9nby1za3lwZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0YVwiOyB9XG4uaW9uLWxvZ28tc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNGJcIjsgfVxuLmlvbi1sb2dvLXN0ZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjRjXCI7IH1cbi5pb24tbG9nby10dW1ibHI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNGRcIjsgfVxuLmlvbi1sb2dvLXR1eDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhZVwiOyB9XG4uaW9uLWxvZ28tdHdpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmFmXCI7IH1cbi5pb24tbG9nby10d2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmIwXCI7IH1cbi5pb24tbG9nby11c2Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYjFcIjsgfVxuLmlvbi1sb2dvLXZpbWVvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmM0XCI7IH1cbi5pb24tbG9nby13aGF0c2FwcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJjNVwiOyB9XG4uaW9uLWxvZ28td2luZG93czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMyZlwiOyB9XG4uaW9uLWxvZ28td29yZHByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzMwXCI7IH1cbi5pb24tbG9nby14Ym94OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzRjXCI7IH1cbi5pb24tbG9nby15YWhvbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM0ZFwiOyB9XG4uaW9uLWxvZ28teWVuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzRlXCI7IH1cbi5pb24tbG9nby15b3V0dWJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzRmXCI7IH1cbi5pb24tbWQtYWRkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjczXCI7IH1cbi5pb24tbWQtYWRkLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3MlwiOyB9XG4uaW9uLW1kLWFsYXJtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjc0XCI7IH1cbi5pb24tbWQtYWxidW1zOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjc1XCI7IH1cbi5pb24tbWQtYWxlcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNzZcIjsgfVxuLmlvbi1tZC1hbWVyaWNhbi1mb290YmFsbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3N1wiOyB9XG4uaW9uLW1kLWFuYWx5dGljczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3OFwiOyB9XG4uaW9uLW1kLWFwZXJ0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjc5XCI7IH1cbi5pb24tbWQtYXBwczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3YVwiOyB9XG4uaW9uLW1kLWFwcHN0b3JlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjdiXCI7IH1cbi5pb24tbWQtYXJjaGl2ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3Y1wiOyB9XG4uaW9uLW1kLWFycm93LWJhY2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYyN2RcIjsgfVxuLmlvbi1tZC1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjdlXCI7IH1cbi5pb24tbWQtYXJyb3ctZHJvcGRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYyODBcIjsgfVxuLmlvbi1tZC1hcnJvdy1kcm9wZG93bi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyN2ZcIjsgfVxuLmlvbi1tZC1hcnJvdy1kcm9wbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4MlwiOyB9XG4uaW9uLW1kLWFycm93LWRyb3BsZWZ0LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4MVwiOyB9XG4uaW9uLW1kLWFycm93LWRyb3ByaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4NFwiOyB9XG4uaW9uLW1kLWFycm93LWRyb3ByaWdodC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyODNcIjsgfVxuLmlvbi1tZC1hcnJvdy1kcm9wdXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYyODZcIjsgfVxuLmlvbi1tZC1hcnJvdy1kcm9wdXAtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjg1XCI7IH1cbi5pb24tbWQtYXJyb3ctZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4N1wiOyB9XG4uaW9uLW1kLWFycm93LXJvdW5kLWJhY2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYyODhcIjsgfVxuLmlvbi1tZC1hcnJvdy1yb3VuZC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjg5XCI7IH1cbi5pb24tbWQtYXJyb3ctcm91bmQtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4YVwiOyB9XG4uaW9uLW1kLWFycm93LXJvdW5kLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjhiXCI7IH1cbi5pb24tbWQtYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOGNcIjsgfVxuLmlvbi1tZC1hdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4ZFwiOyB9XG4uaW9uLW1kLWF0dGFjaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4ZVwiOyB9XG4uaW9uLW1kLWJhY2tzcGFjZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4ZlwiOyB9XG4uaW9uLW1kLWJhcmNvZGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOTBcIjsgfVxuLmlvbi1tZC1iYXNlYmFsbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI5MVwiOyB9XG4uaW9uLW1kLWJhc2tldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI5MlwiOyB9XG4uaW9uLW1kLWJhc2tldGJhbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOTNcIjsgfVxuLmlvbi1tZC1iYXR0ZXJ5LWNoYXJnaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjk0XCI7IH1cbi5pb24tbWQtYmF0dGVyeS1kZWFkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjk1XCI7IH1cbi5pb24tbWQtYmF0dGVyeS1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjk2XCI7IH1cbi5pb24tbWQtYmVha2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjk3XCI7IH1cbi5pb24tbWQtYmVlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI5OFwiOyB9XG4uaW9uLW1kLWJpY3ljbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOTlcIjsgfVxuLmlvbi1tZC1ibHVldG9vdGg6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOWFcIjsgfVxuLmlvbi1tZC1ib2F0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjliXCI7IH1cbi5pb24tbWQtYm9keTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI5Y1wiOyB9XG4uaW9uLW1kLWJvbmZpcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOWRcIjsgfVxuLmlvbi1tZC1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjllXCI7IH1cbi5pb24tbWQtYm9va21hcms6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOWZcIjsgfVxuLmlvbi1tZC1ib29rbWFya3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYTBcIjsgfVxuLmlvbi1tZC1ib3d0aWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYTFcIjsgfVxuLmlvbi1tZC1icmllZmNhc2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYTJcIjsgfVxuLmlvbi1tZC1icm93c2VyczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhM1wiOyB9XG4uaW9uLW1kLWJydXNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmE0XCI7IH1cbi5pb24tbWQtYnVnOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmE1XCI7IH1cbi5pb24tbWQtYnVpbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYTZcIjsgfVxuLmlvbi1tZC1idWxiOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmE3XCI7IH1cbi5pb24tbWQtYnVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmE4XCI7IH1cbi5pb24tbWQtY2FmZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhOVwiOyB9XG4uaW9uLW1kLWNhbGN1bGF0b3I6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYWFcIjsgfVxuLmlvbi1tZC1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhYlwiOyB9XG4uaW9uLW1kLWNhbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYWNcIjsgfVxuLmlvbi1tZC1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYWRcIjsgfVxuLmlvbi1tZC1jYXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYjJcIjsgfVxuLmlvbi1tZC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmIzXCI7IH1cbi5pb24tbWQtY2FydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJiNFwiOyB9XG4uaW9uLW1kLWNhc2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYjVcIjsgfVxuLmlvbi1tZC1jaGF0Ym94ZXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYjZcIjsgfVxuLmlvbi1tZC1jaGF0YnViYmxlczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJiN1wiOyB9XG4uaW9uLW1kLWNoZWNrYm94OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmI5XCI7IH1cbi5pb24tbWQtY2hlY2tib3gtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJiOFwiOyB9XG4uaW9uLW1kLWNoZWNrbWFyazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJiY1wiOyB9XG4uaW9uLW1kLWNoZWNrbWFyay1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYmJcIjsgfVxuLmlvbi1tZC1jaGVja21hcmstY2lyY2xlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYmFcIjsgfVxuLmlvbi1tZC1jbGlwYm9hcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYmRcIjsgfVxuLmlvbi1tZC1jbG9jazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJiZVwiOyB9XG4uaW9uLW1kLWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmMwXCI7IH1cbi5pb24tbWQtY2xvc2UtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmJmXCI7IH1cbi5pb24tbWQtY2xvc2VkLWNhcHRpb25pbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYzFcIjsgfVxuLmlvbi1tZC1jbG91ZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJjOVwiOyB9XG4uaW9uLW1kLWNsb3VkLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJjMlwiOyB9XG4uaW9uLW1kLWNsb3VkLWRvbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYzNcIjsgfVxuLmlvbi1tZC1jbG91ZC1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJjNlwiOyB9XG4uaW9uLW1kLWNsb3VkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYzdcIjsgfVxuLmlvbi1tZC1jbG91ZC11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYzhcIjsgfVxuLmlvbi1tZC1jbG91ZHk6YmVmb3JlIHsgY29udGVudDogXCJcXGYyY2JcIjsgfVxuLmlvbi1tZC1jbG91ZHktbmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyY2FcIjsgfVxuLmlvbi1tZC1jb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmNlXCI7IH1cbi5pb24tbWQtY29kZS1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJjY1wiOyB9XG4uaW9uLW1kLWNvZGUtd29ya2luZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJjZFwiOyB9XG4uaW9uLW1kLWNvZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJjZlwiOyB9XG4uaW9uLW1kLWNvbG9yLWZpbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZDBcIjsgfVxuLmlvbi1tZC1jb2xvci1maWx0ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZDFcIjsgfVxuLmlvbi1tZC1jb2xvci1wYWxldHRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmQyXCI7IH1cbi5pb24tbWQtY29sb3Itd2FuZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJkM1wiOyB9XG4uaW9uLW1kLWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZDRcIjsgfVxuLmlvbi1tZC1jb25zdHJ1Y3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZDVcIjsgfVxuLmlvbi1tZC1jb250YWN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmQ2XCI7IH1cbi5pb24tbWQtY29udGFjdHM6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZDdcIjsgfVxuLmlvbi1tZC1jb250cmFjdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJkOFwiOyB9XG4uaW9uLW1kLWNvbnRyYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmQ5XCI7IH1cbi5pb24tbWQtY29weTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJkYVwiOyB9XG4uaW9uLW1kLWNyZWF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJkYlwiOyB9XG4uaW9uLW1kLWNyb3A6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZGNcIjsgfVxuLmlvbi1tZC1jdWJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRkXCI7IH1cbi5pb24tbWQtY3V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRlXCI7IH1cbi5pb24tbWQtZGVza3RvcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJkZlwiOyB9XG4uaW9uLW1kLWRpc2M6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZTBcIjsgfVxuLmlvbi1tZC1kb2N1bWVudDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJlMVwiOyB9XG4uaW9uLW1kLWRvbmUtYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmUyXCI7IH1cbi5pb24tbWQtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZTNcIjsgfVxuLmlvbi1tZC1lYXNlbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJlNFwiOyB9XG4uaW9uLW1kLWVnZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJlNVwiOyB9XG4uaW9uLW1kLWV4aXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZTZcIjsgfVxuLmlvbi1tZC1leHBhbmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZTdcIjsgfVxuLmlvbi1tZC1leWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZTlcIjsgfVxuLmlvbi1tZC1leWUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmU4XCI7IH1cbi5pb24tbWQtZmFzdGZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZWFcIjsgfVxuLmlvbi1tZC1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZWJcIjsgfVxuLmlvbi1tZC1maWxpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZWNcIjsgfVxuLmlvbi1tZC1maWxtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmVkXCI7IH1cbi5pb24tbWQtZmluZ2VyLXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmVlXCI7IH1cbi5pb24tbWQtZmxhZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJlZlwiOyB9XG4uaW9uLW1kLWZsYW1lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmYwXCI7IH1cbi5pb24tbWQtZmxhc2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZjFcIjsgfVxuLmlvbi1tZC1mbGFzazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJmMlwiOyB9XG4uaW9uLW1kLWZsb3dlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJmM1wiOyB9XG4uaW9uLW1kLWZvbGRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJmNVwiOyB9XG4uaW9uLW1kLWZvbGRlci1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmY0XCI7IH1cbi5pb24tbWQtZm9vdGJhbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZjZcIjsgfVxuLmlvbi1tZC1mdW5uZWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZjdcIjsgfVxuLmlvbi1tZC1nYW1lLWNvbnRyb2xsZXItYTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJmOFwiOyB9XG4uaW9uLW1kLWdhbWUtY29udHJvbGxlci1iOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmY5XCI7IH1cbi5pb24tbWQtZ2l0LWJyYW5jaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJmYVwiOyB9XG4uaW9uLW1kLWdpdC1jb21taXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZmJcIjsgfVxuLmlvbi1tZC1naXQtY29tcGFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJmY1wiOyB9XG4uaW9uLW1kLWdpdC1tZXJnZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJmZFwiOyB9XG4uaW9uLW1kLWdpdC1uZXR3b3JrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmZlXCI7IH1cbi5pb24tbWQtZ2l0LXB1bGwtcmVxdWVzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJmZlwiOyB9XG4uaW9uLW1kLWdsYXNzZXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMDBcIjsgfVxuLmlvbi1tZC1nbG9iZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMwMVwiOyB9XG4uaW9uLW1kLWdyaWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMDJcIjsgfVxuLmlvbi1tZC1oYW1tZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMDNcIjsgfVxuLmlvbi1tZC1oYW5kOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzA0XCI7IH1cbi5pb24tbWQtaGFwcHk6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMDVcIjsgfVxuLmlvbi1tZC1oZWFkc2V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzA2XCI7IH1cbi5pb24tbWQtaGVhcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMDhcIjsgfVxuLmlvbi1tZC1oZWFydC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzA3XCI7IH1cbi5pb24tbWQtaGVscDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMwYlwiOyB9XG4uaW9uLW1kLWhlbHAtYnVveTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMwOVwiOyB9XG4uaW9uLW1kLWhlbHAtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzBhXCI7IH1cbi5pb24tbWQtaG9tZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMwY1wiOyB9XG4uaW9uLW1kLWljZS1jcmVhbTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMwZFwiOyB9XG4uaW9uLW1kLWltYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzBlXCI7IH1cbi5pb24tbWQtaW1hZ2VzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzBmXCI7IH1cbi5pb24tbWQtaW5maW5pdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMTBcIjsgfVxuLmlvbi1tZC1pbmZvcm1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMxMlwiOyB9XG4uaW9uLW1kLWluZm9ybWF0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMxMVwiOyB9XG4uaW9uLW1kLWlvbmljOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzEzXCI7IH1cbi5pb24tbWQtaW9uaXRyb246YmVmb3JlIHsgY29udGVudDogXCJcXGYzMTRcIjsgfVxuLmlvbi1tZC1qZXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMTVcIjsgfVxuLmlvbi1tZC1rZXk6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMTZcIjsgfVxuLmlvbi1tZC1rZXlwYWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMTdcIjsgfVxuLmlvbi1tZC1sYXB0b3A6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMThcIjsgfVxuLmlvbi1tZC1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzE5XCI7IH1cbi5pb24tbWQtbGluazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyZVwiOyB9XG4uaW9uLW1kLWxpc3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMWJcIjsgfVxuLmlvbi1tZC1saXN0LWJveDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMxYVwiOyB9XG4uaW9uLW1kLWxvY2F0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMxY1wiOyB9XG4uaW9uLW1kLWxvY2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMWRcIjsgfVxuLmlvbi1tZC1sb2ctaW46YmVmb3JlIHsgY29udGVudDogXCJcXGYzMWVcIjsgfVxuLmlvbi1tZC1sb2ctb3V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzFmXCI7IH1cbi5pb24tbWQtbWFnbmV0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzIwXCI7IH1cbi5pb24tbWQtbWFpbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMyMlwiOyB9XG4uaW9uLW1kLW1haWwtb3BlbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMyMVwiOyB9XG4uaW9uLW1kLW1hbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMjNcIjsgfVxuLmlvbi1tZC1tYW46YmVmb3JlIHsgY29udGVudDogXCJcXGYzMjRcIjsgfVxuLmlvbi1tZC1tYXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMjVcIjsgfVxuLmlvbi1tZC1tZWRhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMyNlwiOyB9XG4uaW9uLW1kLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMjdcIjsgfVxuLmlvbi1tZC1tZWRraXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMjhcIjsgfVxuLmlvbi1tZC1tZWdhcGhvbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMjlcIjsgfVxuLmlvbi1tZC1tZW51OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzJhXCI7IH1cbi5pb24tbWQtbWljOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzJjXCI7IH1cbi5pb24tbWQtbWljLW9mZjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMyYlwiOyB9XG4uaW9uLW1kLW1pY3JvcGhvbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMmRcIjsgfVxuLmlvbi1tZC1tb29uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzJlXCI7IH1cbi5pb24tbWQtbW9yZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjOVwiOyB9XG4uaW9uLW1kLW1vdmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMzFcIjsgfVxuLmlvbi1tZC1tdXNpY2FsLW5vdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMzJcIjsgfVxuLmlvbi1tZC1tdXNpY2FsLW5vdGVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzMzXCI7IH1cbi5pb24tbWQtbmF2aWdhdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMzRcIjsgfVxuLmlvbi1tZC1uby1zbW9raW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzM1XCI7IH1cbi5pb24tbWQtbm90aWZpY2F0aW9uczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMzOFwiOyB9XG4uaW9uLW1kLW5vdGlmaWNhdGlvbnMtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzM2XCI7IH1cbi5pb24tbWQtbm90aWZpY2F0aW9ucy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzM3XCI7IH1cbi5pb24tbWQtbnVjbGVhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMzOVwiOyB9XG4uaW9uLW1kLW51dHJpdGlvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMzYVwiOyB9XG4uaW9uLW1kLW9wZW46YmVmb3JlIHsgY29udGVudDogXCJcXGYzM2JcIjsgfVxuLmlvbi1tZC1vcHRpb25zOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzNjXCI7IH1cbi5pb24tbWQtb3V0bGV0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzNkXCI7IH1cbi5pb24tbWQtcGFwZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYzM2ZcIjsgfVxuLmlvbi1tZC1wYXBlci1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMzZVwiOyB9XG4uaW9uLW1kLXBhcnRseS1zdW5ueTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM0MFwiOyB9XG4uaW9uLW1kLXBhdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzQxXCI7IH1cbi5pb24tbWQtcGF3OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzQyXCI7IH1cbi5pb24tbWQtcGVvcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzQzXCI7IH1cbi5pb24tbWQtcGVyc29uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzQ1XCI7IH1cbi5pb24tbWQtcGVyc29uLWFkZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM0NFwiOyB9XG4uaW9uLW1kLXBob25lLWxhbmRzY2FwZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM0NlwiOyB9XG4uaW9uLW1kLXBob25lLXBvcnRyYWl0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzQ3XCI7IH1cbi5pb24tbWQtcGhvdG9zOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzQ4XCI7IH1cbi5pb24tbWQtcGllOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzQ5XCI7IH1cbi5pb24tbWQtcGluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzRhXCI7IH1cbi5pb24tbWQtcGludDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM0YlwiOyB9XG4uaW9uLW1kLXBpenphOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzU0XCI7IH1cbi5pb24tbWQtcGxhbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNTVcIjsgfVxuLmlvbi1tZC1wbGFuZXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNTZcIjsgfVxuLmlvbi1tZC1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzU3XCI7IH1cbi5pb24tbWQtcG9kaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzU4XCI7IH1cbi5pb24tbWQtcG93ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNTlcIjsgfVxuLmlvbi1tZC1wcmljZXRhZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM1YVwiOyB9XG4uaW9uLW1kLXByaWNldGFnczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM1YlwiOyB9XG4uaW9uLW1kLXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzVjXCI7IH1cbi5pb24tbWQtcHVsc2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNWRcIjsgfVxuLmlvbi1tZC1xci1zY2FubmVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzVlXCI7IH1cbi5pb24tbWQtcXVvdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNWZcIjsgfVxuLmlvbi1tZC1yYWRpbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM2MlwiOyB9XG4uaW9uLW1kLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNjBcIjsgfVxuLmlvbi1tZC1yYWRpby1idXR0b24tb246YmVmb3JlIHsgY29udGVudDogXCJcXGYzNjFcIjsgfVxuLmlvbi1tZC1yYWlueTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM2M1wiOyB9XG4uaW9uLW1kLXJlY29yZGluZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM2NFwiOyB9XG4uaW9uLW1kLXJlZG86YmVmb3JlIHsgY29udGVudDogXCJcXGYzNjVcIjsgfVxuLmlvbi1tZC1yZWZyZXNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzY2XCI7IH1cbi5pb24tbWQtcmVmcmVzaC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMjhcIjsgfVxuLmlvbi1tZC1yZW1vdmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNjhcIjsgfVxuLmlvbi1tZC1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzY3XCI7IH1cbi5pb24tbWQtcmVvcmRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM2OVwiOyB9XG4uaW9uLW1kLXJlcGVhdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM2YVwiOyB9XG4uaW9uLW1kLXJlc2l6ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM2YlwiOyB9XG4uaW9uLW1kLXJlc3RhdXJhbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNmNcIjsgfVxuLmlvbi1tZC1yZXR1cm4tbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM2ZFwiOyB9XG4uaW9uLW1kLXJldHVybi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM2ZVwiOyB9XG4uaW9uLW1kLXJldmVyc2UtY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzZmXCI7IH1cbi5pb24tbWQtcmV3aW5kOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzcwXCI7IH1cbi5pb24tbWQtcmliYm9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzcxXCI7IH1cbi5pb24tbWQtcm9zZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM3MlwiOyB9XG4uaW9uLW1kLXNhZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM3M1wiOyB9XG4uaW9uLW1kLXNjaG9vbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM3NFwiOyB9XG4uaW9uLW1kLXNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM3NVwiOyB9XG4uaW9uLW1kLXNlbmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNzZcIjsgfVxuLmlvbi1tZC1zZXR0aW5nczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM3N1wiOyB9XG4uaW9uLW1kLXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzc5XCI7IH1cbi5pb24tbWQtc2hhcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzc4XCI7IH1cbi5pb24tbWQtc2hpcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzN2FcIjsgfVxuLmlvbi1tZC1zaHVmZmxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzdiXCI7IH1cbi5pb24tbWQtc2tpcC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM3Y1wiOyB9XG4uaW9uLW1kLXNraXAtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM3ZFwiOyB9XG4uaW9uLW1kLXNub3c6YmVmb3JlIHsgY29udGVudDogXCJcXGYzN2VcIjsgfVxuLmlvbi1tZC1zcGVlZG9tZXRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM3ZlwiOyB9XG4uaW9uLW1kLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM4MVwiOyB9XG4uaW9uLW1kLXNxdWFyZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzgwXCI7IH1cbi5pb24tbWQtc3RhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM4NFwiOyB9XG4uaW9uLW1kLXN0YXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM4MlwiOyB9XG4uaW9uLW1kLXN0YXItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM4M1wiOyB9XG4uaW9uLW1kLXN0YXRzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzg1XCI7IH1cbi5pb24tbWQtc3RvcHdhdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzg2XCI7IH1cbi5pb24tbWQtc3Vid2F5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzg3XCI7IH1cbi5pb24tbWQtc3Vubnk6YmVmb3JlIHsgY29udGVudDogXCJcXGYzODhcIjsgfVxuLmlvbi1tZC1zd2FwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzg5XCI7IH1cbi5pb24tbWQtc3dpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzhhXCI7IH1cbi5pb24tbWQtc3luYzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM4YlwiOyB9XG4uaW9uLW1kLXRhYmxldC1sYW5kc2NhcGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzOGNcIjsgfVxuLmlvbi1tZC10YWJsZXQtcG9ydHJhaXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzOGRcIjsgfVxuLmlvbi1tZC10ZW5uaXNiYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzhlXCI7IH1cbi5pb24tbWQtdGV4dDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM4ZlwiOyB9XG4uaW9uLW1kLXRoZXJtb21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzkwXCI7IH1cbi5pb24tbWQtdGh1bWJzLWRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYzOTFcIjsgfVxuLmlvbi1tZC10aHVtYnMtdXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYzOTJcIjsgfVxuLmlvbi1tZC10aHVuZGVyc3Rvcm06YmVmb3JlIHsgY29udGVudDogXCJcXGYzOTNcIjsgfVxuLmlvbi1tZC10aW1lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzk0XCI7IH1cbi5pb24tbWQtdGltZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYzOTVcIjsgfVxuLmlvbi1tZC10cmFpbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM5NlwiOyB9XG4uaW9uLW1kLXRyYW5zZ2VuZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzk3XCI7IH1cbi5pb24tbWQtdHJhc2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYzOThcIjsgfVxuLmlvbi1tZC10cmVuZGluZy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzk5XCI7IH1cbi5pb24tbWQtdHJlbmRpbmctdXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYzOWFcIjsgfVxuLmlvbi1tZC10cm9waHk6YmVmb3JlIHsgY29udGVudDogXCJcXGYzOWJcIjsgfVxuLmlvbi1tZC11bWJyZWxsYTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM5Y1wiOyB9XG4uaW9uLW1kLXVuZG86YmVmb3JlIHsgY29udGVudDogXCJcXGYzOWRcIjsgfVxuLmlvbi1tZC11bmxvY2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYzOWVcIjsgfVxuLmlvbi1tZC12aWRlb2NhbTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM5ZlwiOyB9XG4uaW9uLW1kLXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2EwXCI7IH1cbi5pb24tbWQtdm9sdW1lLW11dGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzYTFcIjsgfVxuLmlvbi1tZC12b2x1bWUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2EyXCI7IH1cbi5pb24tbWQtdm9sdW1lLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2EzXCI7IH1cbi5pb24tbWQtd2FsazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNhNFwiOyB9XG4uaW9uLW1kLXdhcm5pbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYzYTVcIjsgfVxuLmlvbi1tZC13YXRjaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNhNlwiOyB9XG4uaW9uLW1kLXdhdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2E3XCI7IH1cbi5pb24tbWQtd2lmaTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNhOFwiOyB9XG4uaW9uLW1kLXdpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzYTlcIjsgfVxuLmlvbi1tZC13b21hbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNhYVwiOyB9IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8vXG4vLyAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuLy8gMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4vLyAgICB1c2VyIHpvb20uXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4vL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4vLyBhbmQgRmlyZWZveC5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4vL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4vL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyAyXG59XG5cbi8vXG4vLyBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuLy8gUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbi8vXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbi8vIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbi8vXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUZXh0LWxldmVsIHNlbWFudGljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy9cbi8vIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbi8vIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuLy9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLy8gRW1iZWRkZWQgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuLy9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vL1xuLy8gQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4vL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEdyb3VwaW5nIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbi8vXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4vL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vLyBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4vLyBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4vL1xuXG4vL1xuLy8gMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4vLyAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMVxuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gM1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4vL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbi8vIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4vLyBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuLy8gQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuLy9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuLy8gICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4vLyAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4vLyAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuLy8gICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuLy9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbiAgY3Vyc29yOiBwb2ludGVyOyAvLyAzXG59XG5cbi8vXG4vLyBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuLy9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4vLyB0aGUgVUEgc3R5bGVzaGVldC5cbi8vXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLy9cbi8vIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbi8vIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4vL1xuLy8gMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbi8vIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbn1cblxuLy9cbi8vIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4vLyBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuLy8gZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuLy9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vXG4vLyAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbi8vICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbi8vIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbi8vIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuLy9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4vLyAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4vL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4vLyBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbi8vXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLyohIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6IGg1YnAuY29tL3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICBhW2hyZWZdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgfVxuXG4gICAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gICAgfVxuXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLy8gaDVicC5jb20vdFxuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcbiAgICAvL1xuICAgIC8vIENocm9tZSAoT1NYKSBmaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTEyNDVcbiAgICAvLyBPbmNlIGZpeGVkLCB3ZSBjYW4ganVzdCBzdHJhaWdodCB1cCByZW1vdmUgdGhpcy5cbiAgICBzZWxlY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJ0bixcbiAgICAuZHJvcHVwID4gLmJ0biB7XG4gICAgICAgID4gLmNhcmV0IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGFiZWwge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgICB0ZCxcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbn1cbiIsIi8vXG4vLyBHbHlwaGljb25zIGZvciBCb290c3RyYXBcbi8vXG4vLyBTaW5jZSBpY29ucyBhcmUgZm9udHMsIHRoZXkgY2FuIGJlIHBsYWNlZCBhbnl3aGVyZSB0ZXh0IGlzIHBsYWNlZCBhbmQgYXJlXG4vLyB0aHVzIGF1dG9tYXRpY2FsbHkgc2l6ZWQgdG8gbWF0Y2ggdGhlIHN1cnJvdW5kaW5nIGNoaWxkLiBUbyB1c2UsIGNyZWF0ZSBhblxuLy8gaW5saW5lIGVsZW1lbnQgd2l0aCB0aGUgYXBwcm9wcmlhdGUgY2xhc3NlcywgbGlrZSBzbzpcbi8vXG4vLyA8YSBocmVmPVwiI1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1zdGFyXCI+PC9zcGFuPiBTdGFyPC9hPlxuXG4vLyBJbXBvcnQgdGhlIGZvbnRzXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG4gIHNyYzogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtZm9udC1wYXRoKCcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0uZW90JyksICcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0uZW90JykpO1xuICBzcmM6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWZvbnQtcGF0aCgnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LmVvdD8jaWVmaXgnKSwgJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS5lb3Q/I2llZml4JykpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1mb250LXBhdGgoJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS53b2ZmMicpLCAnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LndvZmYyJykpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1mb250LXBhdGgoJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS53b2ZmJyksICcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0ud29mZicpKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1mb250LXBhdGgoJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS50dGYnKSwgJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS50dGYnKSkgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgIHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWZvbnQtcGF0aCgnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LnN2ZyMjeyRpY29uLWZvbnQtc3ZnLWlkfScpLCAnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LnN2ZyMjeyRpY29uLWZvbnQtc3ZnLWlkfScpKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG4vLyBDYXRjaGFsbCBiYXNlY2xhc3Ncbi5nbHlwaGljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8gSW5kaXZpZHVhbCBpY29uc1xuLmdseXBoaWNvbi1hc3RlcmlzayAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMmFcIjsgfSB9XG4uZ2x5cGhpY29uLXBsdXMgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyYlwiOyB9IH1cbi5nbHlwaGljb24tZXVybyxcbi5nbHlwaGljb24tZXVyICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIwYWNcIjsgfSB9XG4uZ2x5cGhpY29uLW1pbnVzICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMjEyXCI7IH0gfVxuLmdseXBoaWNvbi1jbG91ZCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjYwMVwiOyB9IH1cbi5nbHlwaGljb24tZW52ZWxvcGUgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI3MDlcIjsgfSB9XG4uZ2x5cGhpY29uLXBlbmNpbCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNzBmXCI7IH0gfVxuLmdseXBoaWNvbi1nbGFzcyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwMVwiOyB9IH1cbi5nbHlwaGljb24tbXVzaWMgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDJcIjsgfSB9XG4uZ2x5cGhpY29uLXNlYXJjaCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDAzXCI7IH0gfVxuLmdseXBoaWNvbi1oZWFydCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwNVwiOyB9IH1cbi5nbHlwaGljb24tc3RhciAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDZcIjsgfSB9XG4uZ2x5cGhpY29uLXN0YXItZW1wdHkgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA3XCI7IH0gfVxuLmdseXBoaWNvbi11c2VyICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwOFwiOyB9IH1cbi5nbHlwaGljb24tZmlsbSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDlcIjsgfSB9XG4uZ2x5cGhpY29uLXRoLWxhcmdlICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDEwXCI7IH0gfVxuLmdseXBoaWNvbi10aCAgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxMVwiOyB9IH1cbi5nbHlwaGljb24tdGgtbGlzdCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTJcIjsgfSB9XG4uZ2x5cGhpY29uLW9rICAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDEzXCI7IH0gfVxuLmdseXBoaWNvbi1yZW1vdmUgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxNFwiOyB9IH1cbi5nbHlwaGljb24tem9vbS1pbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTVcIjsgfSB9XG4uZ2x5cGhpY29uLXpvb20tb3V0ICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE2XCI7IH0gfVxuLmdseXBoaWNvbi1vZmYgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxN1wiOyB9IH1cbi5nbHlwaGljb24tc2lnbmFsICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMThcIjsgfSB9XG4uZ2x5cGhpY29uLWNvZyAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE5XCI7IH0gfVxuLmdseXBoaWNvbi10cmFzaCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyMFwiOyB9IH1cbi5nbHlwaGljb24taG9tZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjFcIjsgfSB9XG4uZ2x5cGhpY29uLWZpbGUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIyXCI7IH0gfVxuLmdseXBoaWNvbi10aW1lICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyM1wiOyB9IH1cbi5nbHlwaGljb24tcm9hZCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjRcIjsgfSB9XG4uZ2x5cGhpY29uLWRvd25sb2FkLWFsdCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI1XCI7IH0gfVxuLmdseXBoaWNvbi1kb3dubG9hZCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyNlwiOyB9IH1cbi5nbHlwaGljb24tdXBsb2FkICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjdcIjsgfSB9XG4uZ2x5cGhpY29uLWluYm94ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI4XCI7IH0gfVxuLmdseXBoaWNvbi1wbGF5LWNpcmNsZSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyOVwiOyB9IH1cbi5nbHlwaGljb24tcmVwZWF0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzBcIjsgfSB9XG4uZ2x5cGhpY29uLXJlZnJlc2ggICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMxXCI7IH0gfVxuLmdseXBoaWNvbi1saXN0LWFsdCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzMlwiOyB9IH1cbi5nbHlwaGljb24tbG9jayAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzNcIjsgfSB9XG4uZ2x5cGhpY29uLWZsYWcgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM0XCI7IH0gfVxuLmdseXBoaWNvbi1oZWFkcGhvbmVzICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzNVwiOyB9IH1cbi5nbHlwaGljb24tdm9sdW1lLW9mZiAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzZcIjsgfSB9XG4uZ2x5cGhpY29uLXZvbHVtZS1kb3duICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM3XCI7IH0gfVxuLmdseXBoaWNvbi12b2x1bWUtdXAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzOFwiOyB9IH1cbi5nbHlwaGljb24tcXJjb2RlICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzlcIjsgfSB9XG4uZ2x5cGhpY29uLWJhcmNvZGUgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQwXCI7IH0gfVxuLmdseXBoaWNvbi10YWcgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0MVwiOyB9IH1cbi5nbHlwaGljb24tdGFncyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDJcIjsgfSB9XG4uZ2x5cGhpY29uLWJvb2sgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQzXCI7IH0gfVxuLmdseXBoaWNvbi1ib29rbWFyayAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0NFwiOyB9IH1cbi5nbHlwaGljb24tcHJpbnQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDVcIjsgfSB9XG4uZ2x5cGhpY29uLWNhbWVyYSAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ2XCI7IH0gfVxuLmdseXBoaWNvbi1mb250ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0N1wiOyB9IH1cbi5nbHlwaGljb24tYm9sZCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDhcIjsgfSB9XG4uZ2x5cGhpY29uLWl0YWxpYyAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ5XCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LWhlaWdodCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1MFwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC13aWR0aCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTFcIjsgfSB9XG4uZ2x5cGhpY29uLWFsaWduLWxlZnQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUyXCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1jZW50ZXIgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1M1wiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tcmlnaHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTRcIjsgfSB9XG4uZ2x5cGhpY29uLWFsaWduLWp1c3RpZnkgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU1XCI7IH0gfVxuLmdseXBoaWNvbi1saXN0ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1NlwiOyB9IH1cbi5nbHlwaGljb24taW5kZW50LWxlZnQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTdcIjsgfSB9XG4uZ2x5cGhpY29uLWluZGVudC1yaWdodCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU4XCI7IH0gfVxuLmdseXBoaWNvbi1mYWNldGltZS12aWRlbyAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1OVwiOyB9IH1cbi5nbHlwaGljb24tcGljdHVyZSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjBcIjsgfSB9XG4uZ2x5cGhpY29uLW1hcC1tYXJrZXIgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDYyXCI7IH0gfVxuLmdseXBoaWNvbi1hZGp1c3QgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2M1wiOyB9IH1cbi5nbHlwaGljb24tdGludCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjRcIjsgfSB9XG4uZ2x5cGhpY29uLWVkaXQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY1XCI7IH0gfVxuLmdseXBoaWNvbi1zaGFyZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2NlwiOyB9IH1cbi5nbHlwaGljb24tY2hlY2sgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjdcIjsgfSB9XG4uZ2x5cGhpY29uLW1vdmUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY4XCI7IH0gfVxuLmdseXBoaWNvbi1zdGVwLWJhY2t3YXJkICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2OVwiOyB9IH1cbi5nbHlwaGljb24tZmFzdC1iYWNrd2FyZCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzBcIjsgfSB9XG4uZ2x5cGhpY29uLWJhY2t3YXJkICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDcxXCI7IH0gfVxuLmdseXBoaWNvbi1wbGF5ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3MlwiOyB9IH1cbi5nbHlwaGljb24tcGF1c2UgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzNcIjsgfSB9XG4uZ2x5cGhpY29uLXN0b3AgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc0XCI7IH0gfVxuLmdseXBoaWNvbi1mb3J3YXJkICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3NVwiOyB9IH1cbi5nbHlwaGljb24tZmFzdC1mb3J3YXJkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzZcIjsgfSB9XG4uZ2x5cGhpY29uLXN0ZXAtZm9yd2FyZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc3XCI7IH0gfVxuLmdseXBoaWNvbi1lamVjdCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3OFwiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi1sZWZ0ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzlcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDgwXCI7IH0gfVxuLmdseXBoaWNvbi1wbHVzLXNpZ24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4MVwiOyB9IH1cbi5nbHlwaGljb24tbWludXMtc2lnbiAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODJcIjsgfSB9XG4uZ2x5cGhpY29uLXJlbW92ZS1zaWduICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDgzXCI7IH0gfVxuLmdseXBoaWNvbi1vay1zaWduICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4NFwiOyB9IH1cbi5nbHlwaGljb24tcXVlc3Rpb24tc2lnbiAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODVcIjsgfSB9XG4uZ2x5cGhpY29uLWluZm8tc2lnbiAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg2XCI7IH0gfVxuLmdseXBoaWNvbi1zY3JlZW5zaG90ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4N1wiOyB9IH1cbi5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZSAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODhcIjsgfSB9XG4uZ2x5cGhpY29uLW9rLWNpcmNsZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg5XCI7IH0gfVxuLmdseXBoaWNvbi1iYW4tY2lyY2xlICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5MFwiOyB9IH1cbi5nbHlwaGljb24tYXJyb3ctbGVmdCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTFcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LXJpZ2h0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkyXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy11cCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5M1wiOyB9IH1cbi5nbHlwaGljb24tYXJyb3ctZG93biAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTRcIjsgfSB9XG4uZ2x5cGhpY29uLXNoYXJlLWFsdCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk1XCI7IH0gfVxuLmdseXBoaWNvbi1yZXNpemUtZnVsbCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5NlwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLXNtYWxsICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTdcIjsgfSB9XG4uZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24gICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTAxXCI7IH0gfVxuLmdseXBoaWNvbi1naWZ0ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwMlwiOyB9IH1cbi5nbHlwaGljb24tbGVhZiAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDNcIjsgfSB9XG4uZ2x5cGhpY29uLWZpcmUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA0XCI7IH0gfVxuLmdseXBoaWNvbi1leWUtb3BlbiAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwNVwiOyB9IH1cbi5nbHlwaGljb24tZXllLWNsb3NlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDZcIjsgfSB9XG4uZ2x5cGhpY29uLXdhcm5pbmctc2lnbiAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA3XCI7IH0gfVxuLmdseXBoaWNvbi1wbGFuZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwOFwiOyB9IH1cbi5nbHlwaGljb24tY2FsZW5kYXIgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDlcIjsgfSB9XG4uZ2x5cGhpY29uLXJhbmRvbSAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTEwXCI7IH0gfVxuLmdseXBoaWNvbi1jb21tZW50ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExMVwiOyB9IH1cbi5nbHlwaGljb24tbWFnbmV0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTJcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZXZyb24tdXAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTEzXCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLWRvd24gICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExNFwiOyB9IH1cbi5nbHlwaGljb24tcmV0d2VldCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTVcIjsgfSB9XG4uZ2x5cGhpY29uLXNob3BwaW5nLWNhcnQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE2XCI7IH0gfVxuLmdseXBoaWNvbi1mb2xkZXItY2xvc2UgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExN1wiOyB9IH1cbi5nbHlwaGljb24tZm9sZGVyLW9wZW4gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMThcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS12ZXJ0aWNhbCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE5XCI7IH0gfVxuLmdseXBoaWNvbi1yZXNpemUtaG9yaXpvbnRhbCAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyMFwiOyB9IH1cbi5nbHlwaGljb24taGRkICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjFcIjsgfSB9XG4uZ2x5cGhpY29uLWJ1bGxob3JuICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIyXCI7IH0gfVxuLmdseXBoaWNvbi1iZWxsICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyM1wiOyB9IH1cbi5nbHlwaGljb24tY2VydGlmaWNhdGUgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjRcIjsgfSB9XG4uZ2x5cGhpY29uLXRodW1icy11cCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI1XCI7IH0gfVxuLmdseXBoaWNvbi10aHVtYnMtZG93biAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyNlwiOyB9IH1cbi5nbHlwaGljb24taGFuZC1yaWdodCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjdcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtbGVmdCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI4XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLXVwICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyOVwiOyB9IH1cbi5nbHlwaGljb24taGFuZC1kb3duICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzBcIjsgfSB9XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1yaWdodCAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMxXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctbGVmdCAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzMlwiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LXVwICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzNcIjsgfSB9XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1kb3duICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM0XCI7IH0gfVxuLmdseXBoaWNvbi1nbG9iZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzNVwiOyB9IH1cbi5nbHlwaGljb24td3JlbmNoICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzZcIjsgfSB9XG4uZ2x5cGhpY29uLXRhc2tzICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM3XCI7IH0gfVxuLmdseXBoaWNvbi1maWx0ZXIgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzOFwiOyB9IH1cbi5nbHlwaGljb24tYnJpZWZjYXNlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzlcIjsgfSB9XG4uZ2x5cGhpY29uLWZ1bGxzY3JlZW4gICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQwXCI7IH0gfVxuLmdseXBoaWNvbi1kYXNoYm9hcmQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0MVwiOyB9IH1cbi5nbHlwaGljb24tcGFwZXJjbGlwICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDJcIjsgfSB9XG4uZ2x5cGhpY29uLWhlYXJ0LWVtcHR5ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQzXCI7IH0gfVxuLmdseXBoaWNvbi1saW5rICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0NFwiOyB9IH1cbi5nbHlwaGljb24tcGhvbmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDVcIjsgfSB9XG4uZ2x5cGhpY29uLXB1c2hwaW4gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ2XCI7IH0gfVxuLmdseXBoaWNvbi11c2QgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0OFwiOyB9IH1cbi5nbHlwaGljb24tZ2JwICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDlcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTUwXCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0ICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1MVwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldC1hbHQgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTJcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktb3JkZXIgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTUzXCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LW9yZGVyLWFsdCAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1NFwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTVcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlcy1hbHQgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU2XCI7IH0gfVxuLmdseXBoaWNvbi11bmNoZWNrZWQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1N1wiOyB9IH1cbi5nbHlwaGljb24tZXhwYW5kICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNThcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbGxhcHNlLWRvd24gICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU5XCI7IH0gfVxuLmdseXBoaWNvbi1jb2xsYXBzZS11cCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2MFwiOyB9IH1cbi5nbHlwaGljb24tbG9nLWluICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjFcIjsgfSB9XG4uZ2x5cGhpY29uLWZsYXNoICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYyXCI7IH0gfVxuLmdseXBoaWNvbi1sb2ctb3V0ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2M1wiOyB9IH1cbi5nbHlwaGljb24tbmV3LXdpbmRvdyAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjRcIjsgfSB9XG4uZ2x5cGhpY29uLXJlY29yZCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY1XCI7IH0gfVxuLmdseXBoaWNvbi1zYXZlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2NlwiOyB9IH1cbi5nbHlwaGljb24tb3BlbiAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjdcIjsgfSB9XG4uZ2x5cGhpY29uLXNhdmVkICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY4XCI7IH0gfVxuLmdseXBoaWNvbi1pbXBvcnQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2OVwiOyB9IH1cbi5nbHlwaGljb24tZXhwb3J0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzBcIjsgfSB9XG4uZ2x5cGhpY29uLXNlbmQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTcxXCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktZGlzayAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3MlwiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LXNhdmVkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzNcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1yZW1vdmUgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc0XCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktc2F2ZSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3NVwiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LW9wZW4gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzZcIjsgfSB9XG4uZ2x5cGhpY29uLWNyZWRpdC1jYXJkICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc3XCI7IH0gfVxuLmdseXBoaWNvbi10cmFuc2ZlciAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3OFwiOyB9IH1cbi5nbHlwaGljb24tY3V0bGVyeSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzlcIjsgfSB9XG4uZ2x5cGhpY29uLWhlYWRlciAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTgwXCI7IH0gfVxuLmdseXBoaWNvbi1jb21wcmVzc2VkICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4MVwiOyB9IH1cbi5nbHlwaGljb24tZWFycGhvbmUgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODJcIjsgfSB9XG4uZ2x5cGhpY29uLXBob25lLWFsdCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTgzXCI7IH0gfVxuLmdseXBoaWNvbi10b3dlciAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4NFwiOyB9IH1cbi5nbHlwaGljb24tc3RhdHMgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODVcIjsgfSB9XG4uZ2x5cGhpY29uLXNkLXZpZGVvICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg2XCI7IH0gfVxuLmdseXBoaWNvbi1oZC12aWRlbyAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4N1wiOyB9IH1cbi5nbHlwaGljb24tc3VidGl0bGVzICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODhcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLXN0ZXJlbyAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg5XCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC1kb2xieSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5MFwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtNS0xICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTFcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLTYtMSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkyXCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC03LTEgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5M1wiOyB9IH1cbi5nbHlwaGljb24tY29weXJpZ2h0LW1hcmsgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTRcIjsgfSB9XG4uZ2x5cGhpY29uLXJlZ2lzdHJhdGlvbi1tYXJrICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk1XCI7IH0gfVxuLmdseXBoaWNvbi1jbG91ZC1kb3dubG9hZCAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5N1wiOyB9IH1cbi5nbHlwaGljb24tY2xvdWQtdXBsb2FkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOThcIjsgfSB9XG4uZ2x5cGhpY29uLXRyZWUtY29uaWZlciAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk5XCI7IH0gfVxuLmdseXBoaWNvbi10cmVlLWRlY2lkdW91cyAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwMFwiOyB9IH1cbi5nbHlwaGljb24tY2QgICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDFcIjsgfSB9XG4uZ2x5cGhpY29uLXNhdmUtZmlsZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjAyXCI7IH0gfVxuLmdseXBoaWNvbi1vcGVuLWZpbGUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwM1wiOyB9IH1cbi5nbHlwaGljb24tbGV2ZWwtdXAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDRcIjsgfSB9XG4uZ2x5cGhpY29uLWNvcHkgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjA1XCI7IH0gfVxuLmdseXBoaWNvbi1wYXN0ZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwNlwiOyB9IH1cbi8vIFRoZSBmb2xsb3dpbmcgMiBHbHlwaGljb25zIGFyZSBvbWl0dGVkIGZvciB0aGUgdGltZSBiZWluZyBiZWNhdXNlXG4vLyB0aGV5IGN1cnJlbnRseSB1c2UgVW5pY29kZSBjb2RlcG9pbnRzIHRoYXQgYXJlIG91dHNpZGUgdGhlXG4vLyBCYXNpYyBNdWx0aWxpbmd1YWwgUGxhbmUgKEJNUCkuIE9sZGVyIGJ1Z2d5IHZlcnNpb25zIG9mIFdlYktpdCBjYW4ndCBoYW5kbGVcbi8vIG5vbi1CTVAgY29kZXBvaW50cyBpbiBDU1Mgc3RyaW5nIGVzY2FwZXMsIGFuZCB0aHVzIGNhbid0IGRpc3BsYXkgdGhlc2UgdHdvIGljb25zLlxuLy8gTm90YWJseSwgdGhlIGJ1ZyBhZmZlY3RzIHNvbWUgb2xkZXIgdmVyc2lvbnMgb2YgdGhlIEFuZHJvaWQgQnJvd3Nlci5cbi8vIE1vcmUgaW5mbzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDEwNlxuLy8gLmdseXBoaWNvbi1kb29yICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMWY2YWFcIjsgfSB9XG4vLyAuZ2x5cGhpY29uLWtleSAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwxZjUxMVwiOyB9IH1cbi5nbHlwaGljb24tYWxlcnQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDlcIjsgfSB9XG4uZ2x5cGhpY29uLWVxdWFsaXplciAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjEwXCI7IH0gfVxuLmdseXBoaWNvbi1raW5nICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxMVwiOyB9IH1cbi5nbHlwaGljb24tcXVlZW4gICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTJcIjsgfSB9XG4uZ2x5cGhpY29uLXBhd24gICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjEzXCI7IH0gfVxuLmdseXBoaWNvbi1iaXNob3AgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxNFwiOyB9IH1cbi5nbHlwaGljb24ta25pZ2h0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTVcIjsgfSB9XG4uZ2x5cGhpY29uLWJhYnktZm9ybXVsYSAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE2XCI7IH0gfVxuLmdseXBoaWNvbi10ZW50ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjZmYVwiOyB9IH1cbi5nbHlwaGljb24tYmxhY2tib2FyZCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMThcIjsgfSB9XG4uZ2x5cGhpY29uLWJlZCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE5XCI7IH0gfVxuLmdseXBoaWNvbi1hcHBsZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjhmZlwiOyB9IH1cbi5nbHlwaGljb24tZXJhc2UgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjFcIjsgfSB9XG4uZ2x5cGhpY29uLWhvdXJnbGFzcyAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMzFiXCI7IH0gfVxuLmdseXBoaWNvbi1sYW1wICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyM1wiOyB9IH1cbi5nbHlwaGljb24tZHVwbGljYXRlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjRcIjsgfSB9XG4uZ2x5cGhpY29uLXBpZ2d5LWJhbmsgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI1XCI7IH0gfVxuLmdseXBoaWNvbi1zY2lzc29ycyAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyNlwiOyB9IH1cbi5nbHlwaGljb24tYml0Y29pbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjdcIjsgfSB9XG4uZ2x5cGhpY29uLWJ0YyAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH0gfVxuLmdseXBoaWNvbi14YnQgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyN1wiOyB9IH1cbi5nbHlwaGljb24teWVuICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDAwYTVcIjsgfSB9XG4uZ2x5cGhpY29uLWpweSAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwwMGE1XCI7IH0gfVxuLmdseXBoaWNvbi1ydWJsZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjBiZFwiOyB9IH1cbi5nbHlwaGljb24tcnViICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIwYmRcIjsgfSB9XG4uZ2x5cGhpY29uLXNjYWxlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMwXCI7IH0gfVxuLmdseXBoaWNvbi1pY2UtbG9sbHkgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzMVwiOyB9IH1cbi5nbHlwaGljb24taWNlLWxvbGx5LXRhc3RlZCAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzJcIjsgfSB9XG4uZ2x5cGhpY29uLWVkdWNhdGlvbiAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMzXCI7IH0gfVxuLmdseXBoaWNvbi1vcHRpb24taG9yaXpvbnRhbCAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzNFwiOyB9IH1cbi5nbHlwaGljb24tb3B0aW9uLXZlcnRpY2FsICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzVcIjsgfSB9XG4uZ2x5cGhpY29uLW1lbnUtaGFtYnVyZ2VyICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM2XCI7IH0gfVxuLmdseXBoaWNvbi1tb2RhbC13aW5kb3cgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzN1wiOyB9IH1cbi5nbHlwaGljb24tb2lsICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzhcIjsgfSB9XG4uZ2x5cGhpY29uLWdyYWluICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM5XCI7IH0gfVxuLmdseXBoaWNvbi1zdW5nbGFzc2VzICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0MFwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC1zaXplICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDFcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtY29sb3IgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQyXCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LWJhY2tncm91bmQgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0M1wiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLXRvcCAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDRcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ib3R0b20gICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ1XCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24taG9yaXpvbnRhbHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0NlwiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLWxlZnQgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDdcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi12ZXJ0aWNhbCAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ4XCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tcmlnaHQgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0OVwiOyB9IH1cbi5nbHlwaGljb24tdHJpYW5nbGUtcmlnaHQgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTBcIjsgfSB9XG4uZ2x5cGhpY29uLXRyaWFuZ2xlLWxlZnQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUxXCI7IH0gfVxuLmdseXBoaWNvbi10cmlhbmdsZS1ib3R0b20gICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1MlwiOyB9IH1cbi5nbHlwaGljb24tdHJpYW5nbGUtdG9wICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTNcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbnNvbGUgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU0XCI7IH0gfVxuLmdseXBoaWNvbi1zdXBlcnNjcmlwdCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1NVwiOyB9IH1cbi5nbHlwaGljb24tc3Vic2NyaXB0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTZcIjsgfSB9XG4uZ2x5cGhpY29uLW1lbnUtbGVmdCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU3XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LXJpZ2h0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1OFwiOyB9IH1cbi5nbHlwaGljb24tbWVudS1kb3duICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTlcIjsgfSB9XG4uZ2x5cGhpY29uLW1lbnUtdXAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjYwXCI7IH0gfVxuIiwiLy9cbi8vIFNjYWZmb2xkaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFJlc2V0IHRoZSBib3gtc2l6aW5nXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgcmVzZXQgbWF5IGNhdXNlIGNvbmZsaWN0cyB3aXRoIHNvbWUgdGhpcmQtcGFydHkgd2lkZ2V0cy5cbi8vIEZvciByZWNvbW1lbmRhdGlvbnMgb24gcmVzb2x2aW5nIHN1Y2ggY29uZmxpY3RzLCBzZWVcbi8vIGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jdGhpcmQtYm94LXNpemluZ1xuKiB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG5cbi8vIEJvZHkgcmVzZXRcblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xufVxuXG4vLyBSZXNldCBmb250cyBmb3IgcmVsZXZhbnQgZWxlbWVudHNcbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIHRhYi1mb2N1cztcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBXZSByZXNldCB0aGlzIGhlcmUgYmVjYXVzZSBwcmV2aW91c2x5IE5vcm1hbGl6ZSBoYWQgbm8gYGZpZ3VyZWAgbWFyZ2lucy4gVGhpc1xuLy8gZW5zdXJlcyB3ZSBkb24ndCBicmVhayBhbnlvbmUncyB1c2Ugb2YgdGhlIGVsZW1lbnQuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuXG4vLyBJbWFnZXNcblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4uaW1nLXJlc3BvbnNpdmUge1xuICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZTtcbn1cblxuLy8gUm91bmRlZCBjb3JuZXJzXG4uaW1nLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbn1cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gdGh1bWJuYWlscy5sZXNzIGZvciBgLnRodW1ibmFpbGAuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZShpbmxpbmUtYmxvY2spO1xufVxuXG4vLyBQZXJmZWN0IGNpcmNsZVxuLmltZy1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIHNldCByYWRpdXMgaW4gcGVyY2VudHNcbn1cblxuXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRoci1ib3JkZXI7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG5cblxuLy8gaU9TIFwiY2xpY2thYmxlIGVsZW1lbnRzXCIgZml4IGZvciByb2xlPVwiYnV0dG9uXCJcbi8vXG4vLyBGaXhlcyBcImNsaWNrYWJpbGl0eVwiIGlzc3VlIChhbmQgbW9yZSBnZW5lcmFsbHksIHRoZSBmaXJpbmcgb2YgZXZlbnRzIHN1Y2ggYXMgZm9jdXMgYXMgd2VsbClcbi8vIGZvciB0cmFkaXRpb25hbGx5IG5vbi1mb2N1c2FibGUgZWxlbWVudHMgd2l0aCByb2xlPVwiYnV0dG9uXCJcbi8vIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuLy8gVXBzdHJlYW0gcGF0Y2ggZm9yIG5vcm1hbGl6ZS5jc3Mgc3VibWl0dGVkOiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL3B1bGwvMzc5IC0gcmVtb3ZlIHRoaXMgZml4IG9uY2UgdGhhdCBpcyBtZXJnZWRcblxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59IiwiLy8gVmVuZG9yIFByZWZpeGVzXG4vL1xuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXG4vLyBBdXRvcHJlZml4ZXIgaW4gb3VyIEdydW50ZmlsZS4gVGhleSB3aWxsIGJlIHJlbW92ZWQgaW4gdjQuXG5cbi8vIC0gQW5pbWF0aW9uc1xuLy8gLSBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyAtIEJveCBzaGFkb3dcbi8vIC0gQm94IHNpemluZ1xuLy8gLSBDb250ZW50IGNvbHVtbnNcbi8vIC0gSHlwaGVuc1xuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtIFRyYW5zZm9ybWF0aW9uc1xuLy8gLSBUcmFuc2l0aW9uc1xuLy8gLSBVc2VyIFNlbGVjdFxuXG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbn1cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJGR1cmF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRpdGVyYXRpb24tY291bnQpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJGZpbGwtbW9kZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpe1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vXG4vLyBOb3RlOiBEZXByZWNhdGVkIGAuYm94LXNoYWRvdygpYCBhcyBvZiB2My4xLjAgc2luY2UgYWxsIG9mIEJvb3RzdHJhcCdzXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG4vLyBCb3ggc2l6aW5nXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRib3htb2RlbDtcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbkBtaXhpbiBjb250ZW50LWNvbHVtbnMoJGNvbHVtbi1jb3VudCwgJGNvbHVtbi1nYXA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuQG1peGluIGh5cGhlbnMoJG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6ICRtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6ICRtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6ICRtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6ICRtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6ICRtb2RlO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIG9wYWNpdHk6IDE7IC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG5AbWl4aW4gc2NhbGUoJHJhdGlvLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xufVxuXG5AbWl4aW4gc2NhbGVYKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG59XG5AbWl4aW4gc2NhbGVZKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG59XG5AbWl4aW4gc2tldygkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xufVxuQG1peGluIHJvdGF0ZSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVYKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVZKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47IC8vIElFOSBvbmx5XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cblxuXG4vLyBUcmFuc2l0aW9uc1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHRyYW5zaXRpb24tcHJvcGVydHkuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRyYW5zZm9ybSgkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG59XG5cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0OyAvLyBJRTEwK1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuIiwiJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogZmFsc2UgIWRlZmF1bHQ7XG4vL1xuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vPT0gQ29sb3JzXG4vL1xuLy8jIyBHcmF5IGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxuXG4kZ3JheS1iYXNlOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRncmF5LWRhcmtlcjogICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDEzLjUlKSAhZGVmYXVsdDsgLy8gIzIyMlxuJGdyYXktZGFyazogICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMjAlKSAhZGVmYXVsdDsgICAvLyAjMzMzXG4kZ3JheTogICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAzMy41JSkgIWRlZmF1bHQ7IC8vICM1NTVcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDQ2LjclKSAhZGVmYXVsdDsgLy8gIzc3N1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgOTMuNSUpICFkZWZhdWx0OyAvLyAjZWVlXG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgIGRhcmtlbigjNDI4YmNhLCA2LjUlKSAhZGVmYXVsdDsgLy8gIzMzN2FiN1xuJGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgIzVjYjg1YyAhZGVmYXVsdDtcbiRicmFuZC1pbmZvOiAgICAgICAgICAgICM1YmMwZGUgIWRlZmF1bHQ7XG4kYnJhbmQtd2FybmluZzogICAgICAgICAjZjBhZDRlICFkZWZhdWx0O1xuJGJyYW5kLWRhbmdlcjogICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcblxuXG4vLz09IFNjYWZmb2xkaW5nXG4vL1xuLy8jIyBTZXR0aW5ncyBmb3Igc29tZSBvZiB0aGUgbW9zdCBnbG9iYWwgc3R5bGVzLlxuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIGA8Ym9keT5gLlxuJGJvZHktYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIHRleHQgY29sb3Igb24gYDxib2R5PmAuXG4kdGV4dC1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCB0ZXh0dWFsIGxpbmsgY29sb3IuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBjb2xvciBzZXQgdmlhIGBkYXJrZW4oKWAgZnVuY3Rpb24uXG4kbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgZGVjb3JhdGlvbi5cbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcblxuXG4vLz09IFR5cG9ncmFwaHlcbi8vXG4vLyMjIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4kZm9udC1zaXplLWgxOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjYpKSAhZGVmYXVsdDsgLy8gfjM2cHhcbiRmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuMTUpKSAhZGVmYXVsdDsgLy8gfjMwcHhcbiRmb250LXNpemUtaDM6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS43KSkgIWRlZmF1bHQ7IC8vIH4yNHB4XG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtaDU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbi8vKiogVW5pdC1sZXNzIGBsaW5lLWhlaWdodGAgZm9yIHVzZSBpbiBjb21wb25lbnRzIGxpa2UgYnV0dG9ucy5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgMS40Mjg1NzE0MjkgIWRlZmF1bHQ7IC8vIDIwLzE0XG4vLyoqIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxuJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UpKSAhZGVmYXVsdDsgLy8gfjIwcHhcblxuLy8qKiBCeSBkZWZhdWx0LCB0aGlzIGluaGVyaXRzIGZyb20gdGhlIGA8Ym9keT5gLlxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA3MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuXG4vLz09IEljb25vZ3JhcGh5XG4vL1xuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgb2YgdGhlIGluY2x1ZGVkIEdseXBoaWNvbnMgaWNvbiBmb250LiBVc2VmdWwgZm9yIHRob3NlIGluY2x1ZGluZyBCb290c3RyYXAgdmlhIEJvd2VyLlxuXG4vLyoqIExvYWQgZm9udHMgZnJvbSB0aGlzIGRpcmVjdG9yeS5cblxuLy8gW2NvbnZlcnRlcl0gSWYgJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciBpZiB1c2VkLCBwcm92aWRlIHBhdGggcmVsYXRpdmUgdG8gdGhlIGFzc2V0cyBsb2FkIHBhdGguXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGJlY2F1c2Ugc29tZSBhc3NldCBoZWxwZXJzLCBzdWNoIGFzIFNwcm9ja2V0cywgZG8gbm90IHdvcmsgd2l0aCBmaWxlLXJlbGF0aXZlIHBhdGhzLlxuJGljb24tZm9udC1wYXRoOiBpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCBcImJvb3RzdHJhcC9cIiwgXCIuLi9mb250cy9ib290c3RyYXAvXCIpICFkZWZhdWx0O1xuXG4vLyoqIEZpbGUgbmFtZSBmb3IgYWxsIGZvbnQgZmlsZXMuXG4kaWNvbi1mb250LW5hbWU6ICAgICAgICAgIFwiZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhclwiICFkZWZhdWx0O1xuLy8qKiBFbGVtZW50IElEIHdpdGhpbiBTVkcgaWNvbiBmaWxlLlxuJGljb24tZm9udC1zdmctaWQ6ICAgICAgICBcImdseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29tcG9uZW50c1xuLy9cbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLiBWYWx1ZXMgYmFzZWQgb24gMTRweCB0ZXh0IGFuZCAxLjQyOCBsaW5lLWhlaWdodCAofjIwcHggdG8gc3RhcnQpLlxuXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiAgICAgNnB4ICFkZWZhdWx0O1xuJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOiAgIDEycHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAxMHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogIDE2cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOiAgICA1cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAgMTBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmcteHMtdmVydGljYWw6ICAgICAgIDFweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXhzLWhvcml6b250YWw6ICAgICA1cHggIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1sYXJnZTogICAgICAgICAxLjMzMzMzMzMgIWRlZmF1bHQ7IC8vIGV4dHJhIGRlY2ltYWxzIGZvciBXaW4gOC4xIENocm9tZVxuJGxpbmUtaGVpZ2h0LXNtYWxsOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgIDRweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICA2cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgM3B4ICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIGJhY2tncm91bmQgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIFdpZHRoIG9mIHRoZSBgYm9yZGVyYCBmb3IgZ2VuZXJhdGluZyBjYXJldHMgdGhhdCBpbmRpY2F0b3IgZHJvcGRvd25zLlxuJGNhcmV0LXdpZHRoLWJhc2U6ICAgICAgICAgIDRweCAhZGVmYXVsdDtcbi8vKiogQ2FyZXRzIGluY3JlYXNlIHNsaWdodGx5IGluIHNpemUgZm9yIGxhcmdlciBjb21wb25lbnRzLlxuJGNhcmV0LXdpZHRoLWxhcmdlOiAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuXG4vLz09IFRhYmxlc1xuLy9cbi8vIyMgQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyoqIFBhZGRpbmcgZm9yIGA8dGg+YHMgYW5kIGA8dGQ+YHMuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBmb3IgY2VsbHMgaW4gYC50YWJsZS1jb25kZW5zZWRgLlxuJHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmc6ICA1cHggIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGFsbCB0YWJsZXMuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtc3RyaXBlZGAuXG4kdGFibGUtYmctYWNjZW50OiAgICAgICAgICAgICAgICNmOWY5ZjkgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1ob3ZlcmAuXG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kdGFibGUtYmctYWN0aXZlOiAgICAgICAgICAgICAgICR0YWJsZS1iZy1ob3ZlciAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRhYmxlIGFuZCBjZWxsIGJvcmRlcnMuXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PSBCdXR0b25zXG4vL1xuLy8jIyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG5cbiRidG4tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuJGJ0bi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tcHJpbWFyeS1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1zdWNjZXNzLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4taW5mby1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiRidG4taW5mby1ib3JkZXI6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnRuLWluZm8tYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4td2FybmluZy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbigkYnRuLWRhbmdlci1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuJGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcblxuLy8qKiBgLmZvcm0tZ3JvdXBgIG1hcmdpblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgMTVweCAhZGVmYXVsdDtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cblxuLy89PSBEcm9wZG93bnNcbi8vXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8qKiBCYWNrZ3JvdW5kIGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXG4kZHJvcGRvd24tYm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXG4kZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cbi8vXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG4vLz09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcbi8vXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNzY4cHggIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tc20gIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbWRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweCAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgJHNjcmVlbi1tZC1taW4gIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgMTIyMHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLWxnICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZy1kZXNrdG9wOiAgICAgICAgICAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLXNtLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1tZC1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBHcmlkIHN5c3RlbVxuLy9cbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgMzBweCAhZGVmYXVsdDtcbi8vIE5hdmJhciBjb2xsYXBzZVxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKDcyMHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICg5NDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgxMTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2YmFyXG4vL1xuLy8jI1xuXG4vLyBCYXNpY3Mgb2YgYSBuYXZiYXJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGxpbmtzXG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgIzg4OCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vIEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcbiRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2c1xuLy9cbi8vIyNcblxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcbiRuYXYtbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbi8vPT0gUGlsbHNcbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnaW5hdGlvblxuLy9cbi8vIyNcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdlclxuLy9cbi8vIyNcblxuJHBhZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHBhZ2VyLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnZXItZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IEp1bWJvdHJvblxuLy9cbi8vIyNcblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tZm9udC1zaXplOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNSkpICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2QgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWluZm8tdGV4dDogICAgICAgICAgICAgICAgIzMxNzA4ZiAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICNkOWVkZjcgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS13YXJuaW5nLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjJkZWRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWRhbmdlci1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG5cbi8vPT0gVG9vbHRpcHNcbi8vXG4vLyMjXG5cbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIHRleHQgY29sb3JcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYmFja2dyb3VuZCBjb2xvclxuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuXG4vLyoqIFRvb2x0aXAgYXJyb3cgd2lkdGhcbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBhcnJvdyBjb2xvclxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBQb3BvdmVyc1xuLy9cbi8vIyNcblxuLy8qKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG1heGltdW0gd2lkdGhcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxuJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlX2luKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOiAgZGFya2VuKCRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvciwgMjAlKSAhZGVmYXVsdDtcblxuXG4vLz09IExhYmVsc1xuLy9cbi8vIyNcblxuLy8qKiBEZWZhdWx0IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBQcmltYXJ5IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1wcmltYXJ5LWJnOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBJbmZvIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC13YXJuaW5nLWJnOiAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRhbmdlci1iZzogICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGxhYmVsIHRleHQgY29sb3JcbiRsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgdGV4dCBjb2xvciBvZiBhIGxpbmtlZCBsYWJlbFxuJGxhYmVsLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IE1vZGFsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCB0aXRsZVxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgdGl0bGUgbGluZS1oZWlnaHRcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgY29udGVudCBhcmVhXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yXG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvciAqKmZvciBJRTgqKlxuJG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIE1vZGFsIGJhY2tkcm9wIGJhY2tncm91bmQgY29sb3JcbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGJhY2tkcm9wIG9wYWNpdHlcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAjZTVlNWU1ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBmb290ZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICBib2xkICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1pbmZvLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy89PSBQcm9ncmVzcyBiYXJzXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHdob2xlIHByb2dyZXNzIGNvbXBvbmVudFxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogUHJvZ3Jlc3MgYmFyIHRleHQgY29sb3JcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFZhcmlhYmxlIGZvciBzZXR0aW5nIHJvdW5kZWQgY29ybmVycyBvbiBwcm9ncmVzcyBiYXIuXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnOiAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4vLyoqIEluZm8gcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWluZm8tYmc6ICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcblxuXG4vLz09IExpc3QgZ3JvdXBcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvbiBgLmxpc3QtZ3JvdXAtaXRlbWBcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogYC5saXN0LWdyb3VwLWl0ZW1gIGJvcmRlciBjb2xvclxuJGxpc3QtZ3JvdXAtYm9yZGVyOiAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBMaXN0IGdyb3VwIGJvcmRlciByYWRpdXNcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHNpbmdsZSBsaXN0IGl0ZW1zIG9uIGhvdmVyXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBvZiBhY3RpdmUgbGlzdCBlbGVtZW50c1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjogIGxpZ2h0ZW4oJGxpc3QtZ3JvdXAtYWN0aXZlLWJnLCA0MCUpICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IFBhbmVsc1xuLy9cbi8vIyNcblxuJHBhbmVsLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1ib2R5LXBhZGRpbmc6ICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtaGVhZGluZy1wYWRkaW5nOiAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAkcGFuZWwtaGVhZGluZy1wYWRkaW5nICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGVsZW1lbnRzIHdpdGhpbiBwYW5lbHNcbiRwYW5lbC1pbm5lci1ib3JkZXI6ICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtZGVmYXVsdC10ZXh0OiAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1wcmltYXJ5LXRleHQ6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1ib3JkZXI6ICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc6ICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFuZWwtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzogICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1oZWFkaW5nLWJnOiAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc6ICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItaGVhZGluZy1iZzogICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBUaHVtYm5haWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgaW1hZ2VcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIDRweCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJhY2tncm91bmQgY29sb3JcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIGNvbG9yXG4kdGh1bWJuYWlsLWJvcmRlcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBDdXN0b20gdGV4dCBjb2xvciBmb3IgdGh1bWJuYWlsIGNhcHRpb25zXG4kdGh1bWJuYWlsLWNhcHRpb24tY29sb3I6ICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBjYXB0aW9uXG4kdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZzogICA5cHggIWRlZmF1bHQ7XG5cblxuLy89PSBXZWxsc1xuLy9cbi8vIyNcblxuJHdlbGwtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR3ZWxsLWJvcmRlcjogICAgICAgICAgICAgICAgIGRhcmtlbigkd2VsbC1iZywgNyUpICFkZWZhdWx0O1xuXG5cbi8vPT0gQmFkZ2VzXG4vL1xuLy8jI1xuXG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBMaW5rZWQgYmFkZ2UgdGV4dCBjb2xvciBvbiBob3ZlclxuJGJhZGdlLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRiYWRnZS1iZzogICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIEJhZGdlIHRleHQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFkZ2UgYmFja2dyb3VuZCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgMTBweCAhZGVmYXVsdDtcblxuXG4vLz09IEJyZWFkY3J1bWJzXG4vL1xuLy8jI1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiAgIDhweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiBiYWNrZ3JvdW5kIGNvbG9yXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgdGV4dCBjb2xvclxuJGJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGN1cnJlbnQgcGFnZSBpbiB0aGUgYnJlYWRjcnVtYlxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogVGV4dHVhbCBzZXBhcmF0b3IgZm9yIGJldHdlZW4gYnJlYWRjcnVtYiBlbGVtZW50c1xuJGJyZWFkY3J1bWItc2VwYXJhdG9yOiAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcblxuXG4vLz09IENhcm91c2VsXG4vL1xuLy8jI1xuXG4kY2Fyb3VzZWwtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDbG9zZVxuLy9cbi8vIyNcblxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAwIDFweCAwICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDb2RlXG4vL1xuLy8jI1xuXG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjNEQ4Q0Y0ICFkZWZhdWx0O1xuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgd2hpdGVzbW9rZSAhZGVmYXVsdDtcblxuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwZVxuLy9cbi8vIyNcblxuLy8qKiBIb3Jpem9udGFsIG9mZnNldCBmb3IgZm9ybXMgYW5kIGxpc3RzLlxuJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbDogMTgwcHggIWRlZmF1bHQ7XG4vLyoqIFRleHQgbXV0ZWQgY29sb3JcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBBYmJyZXZpYXRpb25zIGFuZCBhY3JvbnltcyBib3JkZXIgY29sb3JcbiRhYmJyLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBIZWFkaW5ncyBzbWFsbCBjb2xvclxuJGhlYWRpbmdzLXNtYWxsLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgc21hbGwgY29sb3JcbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGZvbnQgc2l6ZVxuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGJvcmRlciBjb2xvclxuJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogUGFnZSBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBXaWR0aCBvZiBob3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3QgdGl0bGVzXG4kZGwtaG9yaXpvbnRhbC1vZmZzZXQ6ICAgICAgICAkY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsICFkZWZhdWx0O1xuLy8qKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXG4kaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuIiwiLy8gV2ViS2l0LXN0eWxlIGZvY3VzXG5cbkBtaXhpbiB0YWItZm9jdXMoKSB7XG4gIC8vIERlZmF1bHRcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG4gIC8vIFdlYktpdFxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5AbWl4aW4gaW1nLXJlc3BvbnNpdmUoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcbi8vIHNwZWxsaW5nIG9mIGBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW9gIGlzIGludGVudGlvbmFsLlxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMXh9XCIpLCBcIiN7JGZpbGUtMXh9XCIpKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0yeH1cIiksIFwiI3skZmlsZS0yeH1cIikpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkaGVhZGluZ3Mtc21hbGwtY29sb3I7XG4gIH1cbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG4gIH1cbn1cbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIG1hcmdpbi10b3A6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6ICRmb250LXNpemUtaDE7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDI7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6ICRmb250LXNpemUtaDM7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6ICRmb250LXNpemUtaDQ7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6ICRmb250LXNpemUtaDU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6ICRmb250LXNpemUtaDY7IH1cblxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIG1hcmdpbjogMCAwICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbn1cblxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDEuMTUpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICB9XG59XG5cblxuLy8gRW1waGFzaXMgJiBtaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4OiAoMTJweCBzbWFsbCBmb250IC8gMTRweCBiYXNlIGZvbnQpICogMTAwJSA9IGFib3V0IDg1JVxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IGZsb29yKCgxMDAlICogJGZvbnQtc2l6ZS1zbWFsbCAvICRmb250LXNpemUtYmFzZSkpO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RhdGUtd2FybmluZy1iZztcbiAgcGFkZGluZzogLjJlbTtcbn1cblxuLy8gQWxpZ25tZW50XG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ZXh0LXJpZ2h0ICAgICAgICAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50ZXh0LWNlbnRlciAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuLnRleHQtbG93ZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50ZXh0LWNhcGl0YWxpemUgICAgIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xufVxuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWluZm8nLCAkc3RhdGUtaW5mby10ZXh0KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctdGV4dCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtZGFuZ2VyJywgJHN0YXRlLWRhbmdlci10ZXh0KTtcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuLy8gRm9yIG5vdyB3ZSdsbCBsZWF2ZSB0aGVzZSBhbG9uZ3NpZGUgdGhlIHRleHQgY2xhc3NlcyB1bnRpbCB2NCB3aGVuIHdlIGNhblxuLy8gc2FmZWx5IHNoaWZ0IHRoaW5ncyBhcm91bmQgKHBlciBTZW1WZXIgcnVsZXMpLlxuLmJnLXByaW1hcnkge1xuICAvLyBHaXZlbiB0aGUgY29udHJhc3QgaGVyZSwgdGhpcyBpcyB0aGUgb25seSBjbGFzcyB0byBoYXZlIGl0cyBjb2xvciBpbnZlcnRlZFxuICAvLyBhdXRvbWF0aWNhbGx5LlxuICBjb2xvcjogI2ZmZjtcbn1cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWluZm8nLCAkc3RhdGUtaW5mby1iZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctYmcpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUGFnZSBoZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKTtcbiAgbWFyZ2luOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMikgMCAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vIExpc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFVub3JkZXJlZCBhbmQgT3JkZXJlZCBsaXN0c1xudWwsXG5vbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIExpc3Qgb3B0aW9uc1xuXG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgZnJvbSBgLmxpc3QtdW5zdHlsZWRgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGFzIGBAbWl4aW4gbGlzdC11bnN0eWxlZGAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuXG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xuICBtYXJnaW4tbGVmdDogLTVweDtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG59XG5cbi8vIERlc2NyaXB0aW9uIExpc3RzXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7IC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHRcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xufVxuZHQsXG5kZCB7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbn1cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5kZCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG4vLyBIb3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gRGVmYXVsdHMgdG8gYmVpbmcgc3RhY2tlZCB3aXRob3V0IGFueSBvZiB0aGUgYmVsb3cgc3R5bGVzIGFwcGxpZWQsIHVudGlsIHRoZVxuLy8gZ3JpZCBicmVha3BvaW50IGlzIHJlYWNoZWQgKGRlZmF1bHQgb2Ygfjc2OHB4KS5cblxuLmRsLWhvcml6b250YWwge1xuICBkZCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7IC8vIENsZWFyIHRoZSBmbG9hdGVkIGBkdGAgaWYgYW4gZW1wdHkgYGRkYCBpcyBwcmVzZW50XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGR0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6ICgkZGwtaG9yaXpvbnRhbC1vZmZzZXQgLSAyMCk7XG4gICAgICBjbGVhcjogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdztcbiAgICB9XG4gICAgZGQge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRkbC1ob3Jpem9udGFsLW9mZnNldDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG5hYmJyW3RpdGxlXSxcbi8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYWJici1ib3JkZXItY29sb3I7XG59XG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBAZXh0ZW5kIC50ZXh0LXVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW46IDAgMCAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcblxuICBwLFxuICB1bCxcbiAgb2wge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGU6IERlcHJlY2F0ZWQgc21hbGwgYW5kIC5zbWFsbCBhcyBvZiB2My4xLjBcbiAgLy8gQ29udGV4dDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY2MFxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMEEwJzsgLy8gZW0gZGFzaCwgbmJzcFxuICAgIH1cbiAgfVxufVxuXG4vLyBPcHBvc2l0ZSBhbGlnbm1lbnQgb2YgYmxvY2txdW90ZVxuLy9cbi8vIEhlYWRzIHVwOiBgYmxvY2txdW90ZS5wdWxsLXJpZ2h0YCBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mIHYzLjEuMC5cbi5ibG9ja3F1b3RlLXJldmVyc2UsXG5ibG9ja3F1b3RlLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIC8vIEFjY291bnQgZm9yIGNpdGF0aW9uXG4gIGZvb3RlcixcbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgJjpiZWZvcmUgeyBjb250ZW50OiAnJzsgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcMDBBMCBcXDIwMTQnOyAvLyBuYnNwLCBlbSBkYXNoXG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHJlc3Nlc1xuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlciB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBDbGVhcmZpeFxuLy9cbi8vIEZvciBtb2Rlcm4gYnJvd3NlcnNcbi8vIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4vLyAgICBjb250ZW50ZWRpdGFibGUgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuLy8gICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4vLyAgICB0aGF0IGFyZSBjbGVhcmZpeGVkLlxuLy8gMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbi8vICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbi8vXG4vLyBTb3VyY2U6IGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXG4gIH1cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vIFRleHQgb3ZlcmZsb3dcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy9cbi8vIENvZGUgKGlubGluZSBhbmQgYmxvY2spXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElubGluZSBhbmQgYmxvY2sgY29kZSBzdHlsZXNcbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG59XG5cbi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtYWxsO1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAxKSAvIDIpO1xuICBtYXJnaW46IDAgMCAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAtIDEpOyAvLyAxNHB4IHRvIDEzcHhcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmUtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRwcmUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiJGZvbnQtZmFtaWx5LWVpbmE6ICdFaW5hJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LWludGVyOiAnSW50ZXInLCAnSW50ZXIgVUknLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXN5c3RlbTogYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogJ1JvYm90byBNb25vJywgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcbiRmb250LWZhbWlseS1zZXJpZjogJ0Fkb2JlIENhc2xvbicsIEdlb3JnaWEsIFRpbWVzLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7XG5cbiRmb250LWZhbWlseS1kZWZhdWx0OiAkZm9udC1mYW1pbHktaW50ZXI7XG5cbiRibHVlOiAgICAgICAgICAjNGE4YmZjO1xuJGxpZ2h0LWJsdWU6ICAgICM1MjllZmY7XG4kZ3JlZW46ICAgICAgICAgIzFlZDE3NjtcbiRvcmFuZ2U6ICAgICAgICAjZmNiNTJjO1xuJHB1cnBsZTogICAgICAgICM4YjdkZjE7XG4kcmVkOiAgICAgICAgICAgI2Y4NTU2YztcblxuJHdoaXRlaXNoOiAgICAgICNmOWZhZmI7XG4kbGlnaHRlci1ncmV5OiAgI2ViZWVmMjtcbiRsaWdodC1ncmV5OiAgICAjZTZlOWVlO1xuJGxpZ2h0aXNoLWdyZXk6ICNhMGE1YjA7XG4kZ3JleTogICAgICAgICAgIzlkYTViMztcbiRkYXJraXNoLWdyZXk6ICAjODk4OTg5O1xuJGRhcmstZ3JleTogICAgICM1NzYwNzA7XG4kYmxhY2tpc2g6ICAgICAgIzRDNTU1QTtcbiRibGFja2VyOiAgICAgICAjMjQyODJlO1xuXG4kc2lkZW5hdi13aWR0aDogMjMwcHg7XG4kcGxhdGZvcm0tcHJldmlldy13aWR0aDogNDY3cHg7XG5cbi8vIGJvb3RzdHJhcCBvdmVycmlkZXNcbiRuYXZiYXItZGVmYXVsdC1iZzogICAgICRibHVlO1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogJGJsdWU7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6IHJnYmEod2hpdGUsIC44KTtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgcmdiYSh3aGl0ZSwgLjgpO1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yOiAjZmZmO1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAjZmZmO1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAjZmZmO1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnOiB0cmFuc3BhcmVudDtcblxuLy8gJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnO1xuLy8gJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4vLyAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbi8vICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xuLy8gJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I7XG4vLyAkbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnO1xuLy8gJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZztcblxuLy8gYm9vdHN0cmFwIHZhcmlhYmxlcyBhbmQgbWl4aW5zXG5AaW1wb3J0ICdib290c3RyYXAvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9taXhpbnMnO1xuIiwiLy9cbi8vIEdyaWQgc3lzdGVtXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi5jb250YWluZXIge1xuICBAaW5jbHVkZSBjb250YWluZXItZml4ZWQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItc207XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItbWQ7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItbGc7XG4gIH1cbn1cblxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRob3V0IGFueSBkZWZpbmVkXG4vLyB3aWR0aCBmb3IgZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maXhlZDtcbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG4ucm93IHtcbiAgQGluY2x1ZGUgbWFrZS1yb3c7XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnM7XG5cblxuLy8gRXh0cmEgc21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciBleHRyYSBzbWFsbCBkZXZpY2VzIGxpa2Vcbi8vIHNtYXJ0cGhvbmVzLlxuXG5AaW5jbHVkZSBtYWtlLWdyaWQoeHMpO1xuXG5cbi8vIFNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIHNtYWxsIGRldmljZSByYW5nZSwgZnJvbSBwaG9uZXNcbi8vIHRvIHRhYmxldHMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQoc20pO1xufVxuXG5cbi8vIE1lZGl1bSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChtZCk7XG59XG5cblxuLy8gTGFyZ2UgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgbGFyZ2UgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQobGcpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6ICAoJGd1dHRlciAvIC0yKTtcbiAgbWFyZ2luLXJpZ2h0OiAoJGd1dHRlciAvIC0yKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS14cy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuQG1peGluIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuQG1peGluIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkaTogMSwgJGxpc3Q6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICBwYWRkaW5nLWxlZnQ6ICAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gICAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICB9XG59XG5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzLCAkaTogMSwgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLSN7JGNsYXNzfS0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbkBtaXhpbiBjYWxjLWdyaWQtY29sdW1uKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS0jeyRpbmRleH0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtMCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtI3skaW5kZXh9IHtcbiAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtMCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBvZmZzZXQpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3NcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy9cbi8vIFRhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZztcbn1cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbnRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuXG4vLyBCYXNlbGluZSBzdHlsZXNcblxudGFibGUsIC50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgLy8gQ2VsbHNcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEJvdHRvbSBhbGlnbiBmb3IgY29sdW1uIGhlYWRpbmdzXG4gID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gIC8vIFJlbW92ZSB0b3AgYm9yZGVyIGZyb20gdGhlYWQgYnkgZGVmYXVsdFxuICA+IGNhcHRpb24gKyB0aGVhZCxcbiAgPiBjb2xncm91cCArIHRoZWFkLFxuICA+IHRoZWFkOmZpcnN0LWNoaWxkIHtcbiAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgbXVsdGlwbGUgdGJvZHkgaW5zdGFuY2VzXG4gID4gdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBOZXN0aW5nXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XG4gIH1cbn1cblxuXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG5cbi50YWJsZS1jb25kZW5zZWQge1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm9yZGVyZWQgdmVyc2lvblxuLy9cbi8vIEFkZCBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gdGhlYWQgPiB0ciB7XG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZy1hY2NlbnQ7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWhvdmVyO1xuICB9XG59XG5cblxuLy8gVGFibGUgY2VsbCBzaXppbmdcbi8vXG4vLyBSZXNldCBkZWZhdWx0IHRhYmxlIGJlaGF2aW9yXG5cbnRhYmxlIGNvbFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS0xMSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47XG59XG50YWJsZSB7XG4gIHRkLFxuICB0aCB7XG4gICAgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IC8vIFByZXZlbnQgYm9yZGVyIGhpZGluZyBpbiBGaXJlZm94IGFuZCBJRTktMTEgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjIzKVxuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbi8vIEdlbmVyYXRlIHRoZSBjb250ZXh0dWFsIHZhcmlhbnRzXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnYWN0aXZlJywgJHRhYmxlLWJnLWFjdGl2ZSk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdpbmZvJywgJHN0YXRlLWluZm8tYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ3dhcm5pbmcnLCAkc3RhdGUtd2FybmluZy1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBXcmFwIHlvdXIgdGFibGVzIGluIGAudGFibGUtcmVzcG9uc2l2ZWAgYW5kIHdlJ2xsIG1ha2UgdGhlbSBtb2JpbGUgZnJpZW5kbHlcbi8vIGJ5IGVuYWJsaW5nIGhvcml6b250YWwgc2Nyb2xsaW5nLiBPbmx5IGFwcGxpZXMgPDc2OHB4LiBFdmVyeXRoaW5nIGFib3ZlIHRoYXRcbi8vIHdpbGwgZGlzcGxheSBub3JtYWxseS5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwLjAxJTsgLy8gV29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTQ4MzcpXG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMC43NSk7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgICAvLyBUaWdodGVuIHVwIHNwYWNpbmdcbiAgICA+IC50YWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGNvbnRlbnQgZG9lc24ndCB3cmFwXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTcGVjaWFsIG92ZXJyaWRlcyBmb3IgdGhlIGJvcmRlcmVkIHRhYmxlc1xuICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLy8gTnVrZSB0aGUgYXBwcm9wcmlhdGUgYm9yZGVycyBzbyB0aGF0IHRoZSBwYXJlbnQgY2FuIGhhbmRsZSB0aGVtXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPbmx5IG51a2UgdGhlIGxhc3Qgcm93J3MgYm90dG9tLWJvcmRlciBpbiBgdGJvZHlgIGFuZCBgdGZvb3RgIHNpbmNlXG4gICAgICAvLyBjaGFuY2VzIGFyZSB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGB0cmAgaW4gYSBgdGhlYWRgIGFuZCB0aGF0IHdvdWxkXG4gICAgICAvLyByZW1vdmUgdGhlIGJvcmRlciBhbHRvZ2V0aGVyLlxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcbiAgLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX0sXG4gICAgPiB0aC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX0gPiB0ZCxcbiAgICAmLiN7JHN0YXRlfSA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9OmhvdmVyLFxuICAgID4gdGguI3skc3RhdGV9OmhvdmVyLFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGQsXG4gICAgJjpob3ZlciA+IC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBOb3JtYWxpemUgbm9uLWNvbnRyb2xzXG4vL1xuLy8gUmVzdHlsZSBhbmQgYmFzZWxpbmUgbm9uLWNvbnRyb2wgZm9ybSBlbGVtZW50cy5cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgLy8gQ2hyb21lIGFuZCBGaXJlZm94IHNldCBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyBzbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBpdCBiZWhhdmVzIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5LlxuICBtaW4td2lkdGg6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICRsZWdlbmQtY29sb3I7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsZWdlbmQtYm9yZGVyLWNvbG9yO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBGb3JjZSBJRTggdG8gd3JhcCBsb25nIGNvbnRlbnQgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEzMTQxKVxuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cblxuLy8gTm9ybWFsaXplIGZvcm0gY29udHJvbHNcbi8vXG4vLyBXaGlsZSBtb3N0IG9mIG91ciBmb3JtIHN0eWxlcyByZXF1aXJlIGV4dHJhIGNsYXNzZXMsIHNvbWUgYmFzaWMgbm9ybWFsaXphdGlvblxuLy8gaXMgcmVxdWlyZWQgdG8gZW5zdXJlIG9wdGltdW0gZGlzcGxheSB3aXRoIG9yIHdpdGhvdXQgdGhvc2UgY2xhc3NlcyB0byBiZXR0ZXJcbi8vIGFkZHJlc3MgYnJvd3NlciBpbmNvbnNpc3RlbmNpZXMuXG5cbi8vIE92ZXJyaWRlIGNvbnRlbnQtYm94IGluIE5vcm1hbGl6ZSAoKiBpc24ndCBzcGVjaWZpYyBlbm91Z2gpXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuLy8gUG9zaXRpb24gcmFkaW9zIGFuZCBjaGVja2JveGVzIGJldHRlclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luOiA0cHggMCAwO1xuICBtYXJnaW4tdG9wOiAxcHggXFw5OyAvLyBJRTgtOVxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vLyBTZXQgdGhlIGhlaWdodCBvZiBmaWxlIGNvbnRyb2xzIHRvIG1hdGNoIHRleHQgaW5wdXRzXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBNYWtlIHJhbmdlIGlucHV0cyBiZWhhdmUgbGlrZSB0ZXh0dWFsIGZvcm0gY29udHJvbHNcbmlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gTWFrZSBtdWx0aXBsZSBzZWxlY3QgZWxlbWVudHMgaGVpZ2h0IG5vdCBmaXhlZFxuc2VsZWN0W211bHRpcGxlXSxcbnNlbGVjdFtzaXplXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9jdXMgZm9yIGZpbGUsIHJhZGlvLCBhbmQgY2hlY2tib3hcbmlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzIHtcbiAgQGluY2x1ZGUgdGFiLWZvY3VzO1xufVxuXG4vLyBBZGp1c3Qgb3V0cHV0IGVsZW1lbnRcbm91dHB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbn1cblxuXG4vLyBDb21tb24gZm9ybSBjb250cm9sc1xuLy9cbi8vIFNoYXJlZCBzaXplIGFuZCB0eXBlIHJlc2V0cyBmb3IgZm9ybSBjb250cm9scy4gQXBwbHkgYC5mb3JtLWNvbnRyb2xgIHRvIGFueVxuLy8gb2YgdGhlIGZvbGxvd2luZyBmb3JtIGNvbnRyb2xzOlxuLy9cbi8vIHNlbGVjdFxuLy8gdGV4dGFyZWFcbi8vIGlucHV0W3R5cGU9XCJ0ZXh0XCJdXG4vLyBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZVwiXVxuLy8gaW5wdXRbdHlwZT1cIm1vbnRoXCJdXG4vLyBpbnB1dFt0eXBlPVwidGltZVwiXVxuLy8gaW5wdXRbdHlwZT1cIndlZWtcIl1cbi8vIGlucHV0W3R5cGU9XCJudW1iZXJcIl1cbi8vIGlucHV0W3R5cGU9XCJlbWFpbFwiXVxuLy8gaW5wdXRbdHlwZT1cInVybFwiXVxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXVxuLy8gaW5wdXRbdHlwZT1cInRlbFwiXVxuLy8gaW5wdXRbdHlwZT1cImNvbG9yXCJdXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlOyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG4gIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7IC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIDxzZWxlY3Q+cyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMpO1xuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gIEBpbmNsdWRlIHBsYWNlaG9sZGVyO1xuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJltkaXNhYmxlZF0sXG4gICZbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6IDE7IC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTVcbiAgfVxuXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRleHRhcmVhJiB0byB0ZXh0YXJlYS5mb3JtLWNvbnRyb2xcbn1cblxuLy8gUmVzZXQgaGVpZ2h0IGZvciBgdGV4dGFyZWFgc1xudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFNlYXJjaCBpbnB1dHMgaW4gaU9TXG4vL1xuLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4vLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8vIFNwZWNpYWwgc3R5bGVzIGZvciBpT1MgdGVtcG9yYWwgaW5wdXRzXG4vL1xuLy8gSW4gTW9iaWxlIFNhZmFyaSwgc2V0dGluZyBgZGlzcGxheTogYmxvY2tgIG9uIHRlbXBvcmFsIGlucHV0cyBjYXVzZXMgdGhlXG4vLyB0ZXh0IHdpdGhpbiB0aGUgaW5wdXQgdG8gYmVjb21lIHZlcnRpY2FsbHkgbWlzYWxpZ25lZC4gQXMgYSB3b3JrYXJvdW5kLCB3ZVxuLy8gc2V0IGEgcGl4ZWwgbGluZS1oZWlnaHQgdGhhdCBtYXRjaGVzIHRoZSBnaXZlbiBoZWlnaHQgb2YgdGhlIGlucHV0LCBidXQgb25seVxuLy8gZm9yIFNhZmFyaS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NDhcblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuXG4gICAgJi5pbnB1dC1zbSxcbiAgICAuaW5wdXQtZ3JvdXAtc20gJiB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICB9XG5cbiAgICAmLmlucHV0LWxnLFxuICAgIC5pbnB1dC1ncm91cC1sZyAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgbGFiZWwge1xuICAgIG1pbi1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDsgLy8gRW5zdXJlIHRoZSBpbnB1dCBkb2Vzbid0IGp1bXAgd2hlbiB0aGVyZSBpcyBubyB0ZXh0XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4ucmFkaW8taW5saW5lIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tdG9wOiA0cHggXFw5O1xufVxuXG4ucmFkaW8gKyAucmFkaW8sXG4uY2hlY2tib3ggKyAuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAtNXB4OyAvLyBNb3ZlIHVwIHNpYmxpbmcgcmFkaW9zIG9yIGNoZWNrYm94ZXMgZm9yIHRpZ2h0ZXIgc3BhY2luZ1xufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yYWRpby1pbmxpbmUgKyAucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSArIC5jaGVja2JveC1pbmxpbmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMTBweDsgLy8gc3BhY2Ugb3V0IGNvbnNlY3V0aXZlIGlubGluZSBjb250cm9sc1xufVxuXG4vLyBBcHBseSBzYW1lIGRpc2FibGVkIGN1cnNvciB0d2VhayBhcyBmb3IgaW5wdXRzXG4vLyBTb21lIHNwZWNpYWwgY2FyZSBpcyBuZWVkZWQgYmVjYXVzZSA8bGFiZWw+cyBkb24ndCBpbmhlcml0IHRoZWlyIHBhcmVudCdzIGBjdXJzb3JgLlxuLy9cbi8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIGRpcmVjdGx5IG9uIDxsYWJlbD5zXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgb24gZWxlbWVudHMgd2l0aCA8bGFiZWw+IGRlc2NlbmRhbnRzXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgbGFiZWwge1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YXRpYyBmb3JtIGNvbnRyb2wgdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgYHBgIGVsZW1lbnQgdG8gbWFrZSBhbnkgc3RyaW5nIG9mIHRleHQgYWxpZ24gd2l0aCBsYWJlbHMgaW5cbi8vIGEgaG9yaXpvbnRhbCBmb3JtIGxheW91dC5cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAvLyBTaXplIGl0IGFwcHJvcHJpYXRlbHkgbmV4dCB0byByZWFsIGZvcm0gY29udHJvbHNcbiAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIHBhZGRpbmctYm90dG9tOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBgcGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICRmb250LXNpemUtYmFzZSk7XG5cbiAgJi5pbnB1dC1sZyxcbiAgJi5pbnB1dC1zbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gVGhlIGAuZm9ybS1ncm91cC0qIGZvcm0tY29udHJvbGAgdmFyaWF0aW9ucyBhcmUgc2FkbHkgZHVwbGljYXRlZCB0byBhdm9pZCB0aGVcbi8vIGlzc3VlIGRvY3VtZW50ZWQgaW4gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNTA3NC5cblxuQGluY2x1ZGUgaW5wdXQtc2l6ZSgnLmlucHV0LXNtJywgJGlucHV0LWhlaWdodC1zbWFsbCwgJHBhZGRpbmctc21hbGwtdmVydGljYWwsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGwpO1xuLmZvcm0tZ3JvdXAtc20ge1xuXG4gIEBpbmNsdWRlIGlucHV0LXNpemUoJy5mb3JtLWNvbnRyb2wnLCAkaW5wdXQtaGVpZ2h0LXNtYWxsLCAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG5cbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtYWxsO1xuICAgIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAkZm9udC1zaXplLXNtYWxsKTtcbiAgfVxufVxuXG5AaW5jbHVkZSBpbnB1dC1zaXplKCcuaW5wdXQtbGcnLCAkaW5wdXQtaGVpZ2h0LWxhcmdlLCAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1sYXJnZSwgJGxpbmUtaGVpZ2h0LWxhcmdlLCAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4uZm9ybS1ncm91cC1sZyB7XG5cbiAgQGluY2x1ZGUgaW5wdXQtc2l6ZSgnLmZvcm0tY29udHJvbCcsICRpbnB1dC1oZWlnaHQtbGFyZ2UsICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlKTtcblxuICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGFyZ2U7XG4gICAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICRmb250LXNpemUtbGFyZ2UpO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZlZWRiYWNrIHN0YXRlc1xuLy9cbi8vIEFwcGx5IGNvbnRleHR1YWwgYW5kIHNlbWFudGljIHN0YXRlcyB0byBpbmRpdmlkdWFsIGZvcm0gY29udHJvbHMuXG5cbi5oYXMtZmVlZGJhY2sge1xuICAvLyBFbmFibGUgYWJzb2x1dGUgcG9zaXRpb25pbmdcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIEVuc3VyZSBpY29ucyBkb24ndCBvdmVybGFwIHRleHRcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZy1yaWdodDogKCRpbnB1dC1oZWlnaHQtYmFzZSAqIDEuMjUpO1xuICB9XG59XG4vLyBGZWVkYmFjayBpY29uIChyZXF1aXJlcyAuZ2x5cGhpY29uIGNsYXNzZXMpXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyOyAvLyBFbnN1cmUgaWNvbiBpcyBhYm92ZSBpbnB1dCBncm91cHNcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmlucHV0LWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xufVxuLmlucHV0LXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xufVxuXG4vLyBGZWVkYmFjayBzdGF0ZXNcbi5oYXMtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS1zdWNjZXNzLXRleHQsICRzdGF0ZS1zdWNjZXNzLXRleHQsICRzdGF0ZS1zdWNjZXNzLWJnKTtcbn1cbi5oYXMtd2FybmluZyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS13YXJuaW5nLXRleHQsICRzdGF0ZS13YXJuaW5nLXRleHQsICRzdGF0ZS13YXJuaW5nLWJnKTtcbn1cbi5oYXMtZXJyb3Ige1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItdGV4dCwgJHN0YXRlLWRhbmdlci1iZyk7XG59XG5cbi8vIFJlcG9zaXRpb24gZmVlZGJhY2sgaWNvbiBpZiBpbnB1dCBoYXMgdmlzaWJsZSBsYWJlbCBhYm92ZVxuLmhhcy1mZWVkYmFjayBsYWJlbCB7XG5cbiAgJiB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICB0b3A6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyA1KTsgLy8gSGVpZ2h0IG9mIHRoZSBgbGFiZWxgIGFuZCBpdHMgbWFyZ2luXG4gIH1cbiAgJi5zci1vbmx5IH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgIHRvcDogMDtcbiAgfVxufVxuXG5cbi8vIEhlbHAgdGV4dFxuLy9cbi8vIEFwcGx5IHRvIGFueSBlbGVtZW50IHlvdSB3aXNoIHRvIGNyZWF0ZSBsaWdodCB0ZXh0IGZvciBwbGFjZW1lbnQgaW1tZWRpYXRlbHlcbi8vIGJlbG93IGEgZm9ybSBjb250cm9sLiBVc2UgZm9yIGdlbmVyYWwgaGVscCwgZm9ybWF0dGluZywgb3IgaW5zdHJ1Y3Rpb25hbCB0ZXh0LlxuXG4uaGVscC1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvLyBhY2NvdW50IGZvciBhbnkgZWxlbWVudCB1c2luZyBoZWxwLWJsb2NrXG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6IGxpZ2h0ZW4oJHRleHQtY29sb3IsIDI1JSk7IC8vIGxpZ2h0ZW4gdGhlIHRleHQgc29tZSBmb3IgY29udHJhc3Rcbn1cblxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gYC5uYXZiYXItZm9ybWAgaW4gbmF2YmFycy5sZXNzLlxuXG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgZnJvbSBgLmZvcm0taW5saW5lYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG5AbWl4aW4gZm9ybS1pbmxpbmUge1xuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBJbiBuYXZiYXItZm9ybSwgYWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgLmlucHV0LWdyb3VwLWFkZG9uLFxuICAgICAgLmlucHV0LWdyb3VwLWJ0bixcbiAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnB1dCBncm91cHMgbmVlZCB0aGF0IDEwMCUgd2lkdGggdGhvdWdoXG4gICAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAucmFkaW8sXG4gICAgLmNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAvLyBSZS1vdmVycmlkZSB0aGUgZmVlZGJhY2sgaWNvbi5cbiAgICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGFzIGBAbWl4aW4gZm9ybS1pbmxpbmVgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbi5mb3JtLWlubGluZSB7XG4gIEBpbmNsdWRlIGZvcm0taW5saW5lO1xufVxuXG5cblxuLy8gSG9yaXpvbnRhbCBmb3Jtc1xuLy9cbi8vIEhvcml6b250YWwgZm9ybXMgYXJlIGJ1aWx0IG9uIGdyaWQgY2xhc3NlcyBhbmQgYWxsb3cgeW91IHRvIGNyZWF0ZSBmb3JtcyB3aXRoXG4vLyBsYWJlbHMgb24gdGhlIGxlZnQgYW5kIGlucHV0cyBvbiB0aGUgcmlnaHQuXG5cbi5mb3JtLWhvcml6b250YWwge1xuXG4gIC8vIENvbnNpc3RlbnQgdmVydGljYWwgYWxpZ25tZW50IG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlc1xuICAvL1xuICAvLyBMYWJlbHMgYWxzbyBnZXQgc29tZSByZXNldCBzdHlsZXMsIGJ1dCB0aGF0IGlzIHNjb3BlZCB0byBhIG1lZGlhIHF1ZXJ5IGJlbG93LlxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICB9XG4gIC8vIEFjY291bnQgZm9yIHBhZGRpbmcgd2UncmUgYWRkaW5nIHRvIGVuc3VyZSB0aGUgYWxpZ25tZW50IGFuZCBvZiBoZWxwIHRleHRcbiAgLy8gYW5kIG90aGVyIGNvbnRlbnQgYmVsb3cgaXRlbXNcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gge1xuICAgIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpKTtcbiAgfVxuXG4gIC8vIE1ha2UgZm9ybSBncm91cHMgYmVoYXZlIGxpa2Ugcm93c1xuICAuZm9ybS1ncm91cCB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3c7XG4gIH1cblxuICAvLyBSZXNldCBzcGFjaW5nIGFuZCByaWdodCBhbGlnbiBsYWJlbHMsIGJ1dCBzY29wZSB0byBtZWRpYSBxdWVyaWVzIHNvIHRoYXRcbiAgLy8gbGFiZWxzIG9uIG5hcnJvdyB2aWV3cG9ydHMgc3RhY2sgdGhlIHNhbWUgYXMgYSBkZWZhdWx0IGZvcm0gZXhhbXBsZS5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7IC8vIERlZmF1bHQgcGFkZGluZyBwbHVzIGEgYm9yZGVyXG4gICAgfVxuICB9XG5cbiAgLy8gVmFsaWRhdGlvbiBzdGF0ZXNcbiAgLy9cbiAgLy8gUmVwb3NpdGlvbiB0aGUgaWNvbiBiZWNhdXNlIGl0J3Mgbm93IHdpdGhpbiBhIGdyaWQgY29sdW1uIGFuZCBjb2x1bW5zIGhhdmVcbiAgLy8gYHBvc2l0aW9uOiByZWxhdGl2ZTtgIG9uIHRoZW0uIEFsc28gYWNjb3VudHMgZm9yIHRoZSBncmlkIGd1dHRlciBwYWRkaW5nLlxuICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIH1cblxuICAvLyBGb3JtIGdyb3VwIHNpemVzXG4gIC8vXG4gIC8vIFF1aWNrIHV0aWxpdHkgY2xhc3MgZm9yIGFwcGx5aW5nIGAuaW5wdXQtbGdgIGFuZCBgLmlucHV0LXNtYCBzdHlsZXMgdG8gdGhlXG4gIC8vIGlucHV0cyBhbmQgbGFiZWxzIHdpdGhpbiBhIGAuZm9ybS1ncm91cGAuXG4gIC5mb3JtLWdyb3VwLWxnIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWdyb3VwLXNtIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCArIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy9cbi8vIFVzZWQgaW4gZm9ybXMubGVzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkdGV4dC1jb2xvcjogIzU1NSwgJGJvcmRlci1jb2xvcjogI2NjYywgJGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmhlbHAtYmxvY2ssXG4gIC5jb250cm9sLWxhYmVsLFxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSxcbiAgJi5yYWRpbyBsYWJlbCxcbiAgJi5jaGVja2JveCBsYWJlbCxcbiAgJi5yYWRpby1pbmxpbmUgbGFiZWwsXG4gICYuY2hlY2tib3gtaW5saW5lIGxhYmVsICB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpO1xuICAgICAgJHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA2cHggbGlnaHRlbigkYm9yZGVyLWNvbG9yLCAyMCUpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXMpIHtcbiAgJGNvbG9yLXJnYmE6IHJnYmEocmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKSwgLjYpO1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggJGNvbG9yLXJnYmEpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhI3skcGFyZW50fSxcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy9cbi8vIEJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEZvciBpbnB1dC5idG5cbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZWluYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZy1iYXNlLXZlcnRpY2FsLCAkcGFkZGluZy1iYXNlLWhvcml6b250YWwsICRmb250LXNpemUtYmFzZSwgJGxpbmUtaGVpZ2h0LWJhc2UsICRib3JkZXItcmFkaXVzLWJhc2UpO1xuICBAaW5jbHVkZSB1c2VyLXNlbGVjdChub25lKTtcblxuICAmLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBAaW5jbHVkZSB0YWItZm9jdXM7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6ICRidG4tZGVmYXVsdC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrc1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoLjY1KTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tZGVmYXVsdCB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tZGVmYXVsdC1jb2xvciwgJGJ0bi1kZWZhdWx0LWJnLCAkYnRuLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5idG4tcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tcHJpbWFyeS1jb2xvciwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcbn1cbi8vIFN1Y2Nlc3MgYXBwZWFycyBhcyBncmVlblxuLmJ0bi1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWNvbG9yLCAkYnRuLXN1Y2Nlc3MtYmcsICRidG4tc3VjY2Vzcy1ib3JkZXIpO1xufVxuLy8gSW5mbyBhcHBlYXJzIGFzIGJsdWUtZ3JlZW5cbi5idG4taW5mbyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4taW5mby1jb2xvciwgJGJ0bi1pbmZvLWJnLCAkYnRuLWluZm8tYm9yZGVyKTtcbn1cbi8vIFdhcm5pbmcgYXBwZWFycyBhcyBvcmFuZ2Vcbi5idG4td2FybmluZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4td2FybmluZy1jb2xvciwgJGJ0bi13YXJuaW5nLWJnLCAkYnRuLXdhcm5pbmctYm9yZGVyKTtcbn1cbi8vIERhbmdlciBhbmQgZXJyb3IgYXBwZWFyIGFzIHJlZFxuLmJ0bi1kYW5nZXIge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRhbmdlci1jb2xvciwgJGJ0bi1kYW5nZXItYmcsICRidG4tZGFuZ2VyLWJvcmRlcik7XG59XG5cblxuLy8gTGluayBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJ1dHRvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1sZyB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgZXZlbi1udW1iZXJlZCBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gbGFyZ2UgaW5wdXRcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWwsICRmb250LXNpemUtbGFyZ2UsICRsaW5lLWhlaWdodC1sYXJnZSwgJGJvcmRlci1yYWRpdXMtbGFyZ2UpO1xufVxuLmJ0bi1zbSB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgcHJvcGVyIGhlaWdodCBvZiBidXR0b24gbmV4dCB0byBzbWFsbCBpbnB1dFxuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4uYnRuLXhzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmcteHMtdmVydGljYWwsICRwYWRkaW5nLXhzLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuXG5cbi8vIEJsb2NrIGJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG4iLCIvLyBPcGFjaXR5XG5cbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAvLyBJRTggZmlsdGVyXG4gICRvcGFjaXR5LWllOiAoJG9wYWNpdHkgKiAxMDApO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JG9wYWNpdHktaWUpO1xufVxuIiwiLy9cbi8vIENvbXBvbmVudCBhbmltYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIZWFkcyB1cCFcbi8vXG4vLyBXZSBkb24ndCB1c2UgdGhlIGAub3BhY2l0eSgpYCBtaXhpbiBoZXJlIHNpbmNlIGl0IGNhdXNlcyBhIGJ1ZyB3aXRoIHRleHRcbi8vIGZpZWxkcyBpbiBJRTctOC4gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zNTUyLlxuXG4uZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAuMTVzIGxpbmVhcik7XG4gICYuaW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICAmLmluICAgICAgeyBkaXNwbGF5OiBibG9jazsgfVxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgdHImLmluIHRvIHRyLmNvbGxhcHNlLmluXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCB0Ym9keSYuaW4gdG8gdGJvZHkuY29sbGFwc2UuaW5cbn1cblxudHIuY29sbGFwc2UuaW4gICAgeyBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cblxudGJvZHkuY29sbGFwc2UuaW4geyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eShoZWlnaHQsIHZpc2liaWxpdHkpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKC4zNXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlKTtcbn1cbiIsIi8vXG4vLyBEcm9wZG93biBtZW51c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBEcm9wZG93biBhcnJvdy9jYXJldFxuLmNhcmV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItdG9wOiAgICRjYXJldC13aWR0aC1iYXNlIGRhc2hlZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICAkY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGRpdilcbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIFByZXZlbnQgdGhlIGZvY3VzIG9uIHRoZSBkcm9wZG93biB0b2dnbGUgd2hlbiBjbG9zaW5nIGRyb3Bkb3duc1xuLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51ICh1bClcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6IDE2MHB4O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWFyZ2luOiAycHggMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjsgLy8gSUU4IGZhbGxiYWNrXG4gIGJvcmRlcjogMXB4IHNvbGlkICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAvLyBBbGlnbnMgdGhlIGRyb3Bkb3duIG1lbnUgdG8gcmlnaHRcbiAgLy9cbiAgLy8gRGVwcmVjYXRlZCBhcyBvZiAzLjEuMCBpbiBmYXZvciBvZiBgLmRyb3Bkb3duLW1lbnUtW2Rpcl1gXG4gICYucHVsbC1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiB0aGUgZHJvcGRvd25cbiAgLmRpdmlkZXIge1xuICAgIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgfVxuXG4gIC8vIExpbmtzIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICB9XG59XG5cbi8vIEhvdmVyL0ZvY3VzIHN0YXRlXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG4gIH1cbn1cblxuLy8gQWN0aXZlIHN0YXRlXG4uZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuLy8gRGlzYWJsZWQgc3RhdGVcbi8vXG4vLyBHcmF5IG91dCB0ZXh0IGFuZCBlbnN1cmUgdGhlIGhvdmVyL2ZvY3VzIHN0YXRlIHJlbWFpbnMgZ3JheVxuXG4uZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGEge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gIH1cblxuICAvLyBOdWtlIGhvdmVyL2ZvY3VzIGVmZmVjdHNcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRcbiAgICBAaW5jbHVkZSByZXNldC1maWx0ZXI7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cbi8vIE9wZW4gc3RhdGUgZm9yIHRoZSBkcm9wZG93blxuLm9wZW4ge1xuICAvLyBTaG93IHRoZSBtZW51XG4gID4gLmRyb3Bkb3duLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBvdXRsaW5lIHdoZW4gOmZvY3VzIGlzIHRyaWdnZXJlZFxuICA+IGEge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8gTWVudSBwb3NpdGlvbmluZ1xuLy9cbi8vIEFkZCBleHRyYSBjbGFzcyB0byBgLmRyb3Bkb3duLW1lbnVgIHRvIGZsaXAgdGhlIGFsaWdubWVudCBvZiB0aGUgZHJvcGRvd25cbi8vIG1lbnUgd2l0aCB0aGUgcGFyZW50LlxuLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICBsZWZ0OiBhdXRvOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIGAuZHJvcGRvd24tbWVudWBcbiAgcmlnaHQ6IDA7XG59XG4vLyBXaXRoIHYzLCB3ZSBlbmFibGVkIGF1dG8tZmxpcHBpbmcgaWYgeW91IGhhdmUgYSBkcm9wZG93biB3aXRoaW4gYSByaWdodFxuLy8gYWxpZ25lZCBuYXYgY29tcG9uZW50LiBUbyBlbmFibGUgdGhlIHVuZG9pbmcgb2YgdGhhdCwgd2UgcHJvdmlkZSBhbiBvdmVycmlkZVxuLy8gdG8gcmVzdG9yZSB0aGUgZGVmYXVsdCBkcm9wZG93biBtZW51IGFsaWdubWVudC5cbi8vXG4vLyBUaGlzIGlzIG9ubHkgZm9yIGxlZnQtYWxpZ25pbmcgYSBkcm9wZG93biBtZW51IHdpdGhpbiBhIGAubmF2YmFyLXJpZ2h0YCBvclxuLy8gYC5wdWxsLXJpZ2h0YCBuYXYgY29tcG9uZW50LlxuLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLy9jZW50ZXJlZCBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudS1jZW50ZXIge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDNweCAyMHB4O1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gQmFja2Ryb3AgdG8gY2F0Y2ggYm9keSBjbGlja3Mgb24gbW9iaWxlLCBldGMuXG4uZHJvcGRvd24tYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogKCR6aW5kZXgtZHJvcGRvd24gLSAxMCk7XG59XG5cbi8vIFJpZ2h0IGFsaWduZWQgZHJvcGRvd25zXG4ucHVsbC1yaWdodCA+IC5kcm9wZG93bi1tZW51IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy9cbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldCwgYnJvLlxuLy8gVE9ETzogYWJzdHJhY3QgdGhpcyBzbyB0aGF0IHRoZSBuYXZiYXIgZml4ZWQgc3R5bGVzIGFyZSBub3QgcGxhY2VkIGhlcmU/XG5cbi5kcm9wdXAsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24ge1xuICAvLyBSZXZlcnNlIHRoZSBjYXJldFxuICAuY2FyZXQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAvLyBEaWZmZXJlbnQgcG9zaXRpb25pbmcgZm9yIGJvdHRvbSB1cCBtZW51XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxufVxuXG5cbi8vIENvbXBvbmVudCBhbGlnbm1lbnRcbi8vXG4vLyBSZWl0ZXJhdGUgcGVyIG5hdmJhci5sZXNzIGFuZCB0aGUgbW9kaWZpZWQgY29tcG9uZW50IGFsaWdubWVudCB0aGVyZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgLm5hdmJhci1yaWdodCB7XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcmlnaHQ6IDA7IGxlZnQ6IGF1dG87XG4gICAgfVxuICAgIC8vIE5lY2Vzc2FyeSBmb3Igb3ZlcnJpZGVzIG9mIHRoZSBkZWZhdWx0IHJpZ2h0IGFsaWduZWQgbWVudS5cbiAgICAvLyBXaWxsIHJlbW92ZSBjb21lIHY0IGluIGFsbCBsaWtlbGlob29kLlxuICAgIC5kcm9wZG93bi1tZW51LWxlZnQge1xuICAgICAgbGVmdDogMDsgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cbiIsIi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuXG5AbWl4aW4gcmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO1xufVxuIiwiLy9cbi8vIEJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgYnV0dG9uIHRvIHRoZSBmcm9udFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4uYnRuLWdyb3VwIHtcbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4OyAvLyBPZmZzZXQgdGhlIGZpcnN0IGNoaWxkJ3MgbWFyZ2luXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIC5idG4tZ3JvdXAsXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmlucHV0LWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG59XG5cbi5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gU2V0IGNvcm5lcnMgaW5kaXZpZHVhbCBiZWNhdXNlIHNvbWV0aW1lcyBhIHNpbmdsZSBidXR0b24gY2FuIGJlIGluIGEgLmJ0bi1ncm91cCBhbmQgd2UgbmVlZCA6Zmlyc3QtY2hpbGQgYW5kIDpsYXN0LWNoaWxkIHRvIGJvdGggbWF0Y2hcbi5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gICY6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi8vIE5lZWQgLmRyb3Bkb3duLXRvZ2dsZSBzaW5jZSA6bGFzdC1jaGlsZCBkb2Vzbid0IGFwcGx5IGdpdmVuIGEgLmRyb3Bkb3duLW1lbnUgaW1tZWRpYXRlbHkgYWZ0ZXIgaXRcbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gQ3VzdG9tIGVkaXRzIGZvciBpbmNsdWRpbmcgYnRuLWdyb3VwcyB3aXRoaW4gYnRuLWdyb3VwcyAodXNlZnVsIGZvciBpbmNsdWRpbmcgZHJvcGRvd24gYnV0dG9ucyB3aXRoaW4gYSBidG4tZ3JvdXApXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBPbiBhY3RpdmUgYW5kIG9wZW4sIGRvbid0IHNob3cgb3V0bGluZVxuLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC14cyA+IC5idG4geyBAZXh0ZW5kIC5idG4teHM7IH1cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgbGluZSBiZXR3ZWVuIGJ1dHRvbnMgc29tZSBkZXB0aFxuLmJ0bi1ncm91cCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTJweDtcbn1cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBSZW1vdmUgdGhlIGdyYWRpZW50IGFuZCBzZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIFJlcG9zaXRpb24gdGhlIGNhcmV0XG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLy8gQ2FyZXRzIGluIG90aGVyIGJ1dHRvbiBzaXplc1xuLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6ICRjYXJldC13aWR0aC1sYXJnZSAkY2FyZXQtd2lkdGgtbGFyZ2UgMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi8vIFVwc2lkZSBkb3duIGNhcmV0cyBmb3IgLmRyb3B1cFxuLmRyb3B1cCAuYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCAkY2FyZXQtd2lkdGgtbGFyZ2UgJGNhcmV0LXdpZHRoLWxhcmdlO1xufVxuXG5cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBDbGVhciBmbG9hdHMgc28gZHJvcGRvd24gbWVudXMgY2FuIGJlIHByb3Blcmx5IHBsYWNlZFxuICA+IC5idG4tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgID4gLmJ0biB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIH1cblxuICA+IC5idG4gKyAuYnRuLFxuICA+IC5idG4gKyAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbiAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG5cblxuLy8gSnVzdGlmaWVkIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC1qdXN0aWZpZWQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiAxJTtcbiAgfVxuICA+IC5idG4tZ3JvdXAgLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbiIsIi8vXG4vLyBJbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBkcm9wZG93bnNcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IC8vIHByZXZlbnQgaW5wdXQgZ3JvdXBzIGZyb20gaW5oZXJpdGluZyBib3JkZXIgc3R5bGVzIGZyb20gdGFibGUgY2VsbHMgd2hlbiBwbGFjZWQgd2l0aGluIGEgdGFibGVcblxuICAvLyBVbmRvIHBhZGRpbmcgYW5kIGZsb2F0IG9mIGdyaWQgY2xhc3Nlc1xuICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLy8gRW5zdXJlIHRoYXQgdGhlIGlucHV0IGlzIGFsd2F5cyBhYm92ZSB0aGUgKmFwcGVuZGVkKiBhZGRvbiBidXR0b24gZm9yXG4gICAgLy8gcHJvcGVyIGJvcmRlciBjb2xvcnMuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBJRTkgZnViYXJzIHRoZSBwbGFjZWhvbGRlciBhdHRyaWJ1dGUgaW4gdGV4dCBpbnB1dHMgYW5kIHRoZSBhcnJvd3Mgb25cbiAgICAvLyBzZWxlY3QgZWxlbWVudHMgaW4gaW5wdXQgZ3JvdXBzLiBUbyBmaXggaXQsIHdlIGZsb2F0IHRoZSBpbnB1dC4gRGV0YWlsczpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTYxI2lzc3VlY29tbWVudC0yODkzNjg1NVxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBTaXppbmcgb3B0aW9uc1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgQGV4dGVuZCAuaW5wdXQtbGc7XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBAZXh0ZW5kIC5pbnB1dC1zbTtcbn1cblxuXG4vLyBEaXNwbGF5IGFzIHRhYmxlLWNlbGxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4sXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4vLyBBZGRvbiBhbmQgYWRkb24gd3JhcHBlciBmb3IgYnV0dG9uc1xuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHdpZHRoOiAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuXG4vLyBUZXh0IGlucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgcGFkZGluZzogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAkcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gU2l6aW5nXG4gICYuaW5wdXQtc20ge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtYWxsO1xuICB9XG4gICYuaW5wdXQtbGcge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xuICB9XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4vLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi8vIEJ1dHRvbiBpbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEphbmtpbHkgcHJldmVudCBpbnB1dCBidXR0b24gZ3JvdXBzIGZyb20gd3JhcHBpbmcgd2l0aCBgd2hpdGUtc3BhY2VgIGFuZFxuICAvLyBgZm9udC1zaXplYCBpbiBjb21iaW5hdGlvbiB3aXRoIGBpbmxpbmUtYmxvY2tgIG9uIGJ1dHRvbnMuXG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIHNwYWNpbmcsIHBvc2l0aW9uIGZvciBicmluZ2luZyBob3ZlcmVkL2ZvY3VzZWQvYWN0aXZlZFxuICAvLyBlbGVtZW50IGFib3ZlIHRoZSBzaWJsaW5ncy5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIHRvIG9ubHkgaGF2ZSBhIDFweCBib3JkZXIgYmV0d2VlbiB0aGUgdHdvXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gTmF2c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHVsL29sXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZSBzZXRzIHRleHQgdG8gZ3JheSBhbmQgbnVrZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgICAmLmRpc2FibGVkID4gYSB7XG4gICAgICBjb2xvcjogJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBPcGVuIGRyb3Bkb3duc1xuICAub3BlbiA+IGEge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJGxpbmstY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gTmF2IGRpdmlkZXJzIChkZXByZWNhdGVkIHdpdGggdjMuMC4xKVxuICAvL1xuICAvLyBUaGlzIHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBpbiB2MyB3aXRoIHRoZSBkcm9wcGluZyBvZiBgLm5hdi1saXN0YCwgYnV0XG4gIC8vIHdlIG1pc3NlZCBpdC4gV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgdGhpcyBhbnl3aGVyZSwgYnV0IGluIHRoZSBpbnRlcmVzdFxuICAvLyBvZiBtYWludGFpbmluZyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGluIGNhc2UgeW91IHVzZSBpdCwgaXQncyBkZXByZWNhdGVkLlxuICAubmF2LWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIG5hdi1kaXZpZGVyO1xuICB9XG5cbiAgLy8gUHJldmVudCBJRTggZnJvbSBtaXNwbGFjaW5nIGltZ3NcbiAgLy9cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy85ODQjaXNzdWVjb21tZW50LTM5ODU5ODlcbiAgPiBsaSA+IGEgPiBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIFRhYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgdGFicyBzb21ldGhpbmcgdG8gc2l0IG9uXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gTWFrZSB0aGUgbGlzdC1pdGVtcyBvdmVybGF5IHRoZSBib3R0b20gYm9yZGVyXG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcblxuICAgIC8vIEFjdHVhbCB0YWJzIChhcyBsaW5rcylcbiAgICA+IGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgJGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlLCBhbmQgaXRzIDpob3ZlciB0byBvdmVycmlkZSBub3JtYWwgOmhvdmVyXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gcHVsbGluZyB0aGlzIGluIG1haW5seSBmb3IgbGVzcyBzaG9ydGhhbmRcbiAgJi5uYXYtanVzdGlmaWVkIHtcbiAgICBAZXh0ZW5kIC5uYXYtanVzdGlmaWVkO1xuICAgIEBleHRlbmQgLm5hdi10YWJzLWp1c3RpZmllZDtcbiAgfVxufVxuXG5cbi8vIFBpbGxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2LXBpbGxzIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBMaW5rcyByZW5kZXJlZCBhcyBwaWxsc1xuICAgID4gYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuICAgICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3RhY2tlZCBwaWxsc1xuLm5hdi1zdGFja2VkIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gbm8gbmVlZCBmb3IgdGhpcyBnYXAgYmV0d2VlbiBuYXYgaXRlbXNcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXYgdmFyaWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSnVzdGlmaWVkIG5hdiBsaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgID4gYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgPiAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgPiBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW92ZSBib3JkZXJzIHRvIGFuY2hvcnMgaW5zdGVhZCBvZiBib3R0b20gb2YgbGlzdFxuLy9cbi8vIE1peGluIGZvciBhZGRpbmcgb24gdG9wIHRoZSBzaGFyZWQgYC5uYXYtanVzdGlmaWVkYCBzdHlsZXMgZm9yIG91ciB0YWJzXG4ubmF2LXRhYnMtanVzdGlmaWVkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICA+IGxpID4gYSB7XG4gICAgLy8gT3ZlcnJpZGUgbWFyZ2luIGZyb20gLm5hdi10YWJzXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlICRib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhLFxuICAgID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cbi8vIERyb3Bkb3duc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTcGVjaWZpYyBkcm9wZG93bnNcbi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7XG4gIC8vIG1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICBtYXJnaW4tdG9wOiAtMXB4O1xuICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBOYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFdyYXBwZXIgYW5kIGJhc2UgY2xhc3Ncbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0OyAvLyBFbnN1cmUgYSBuYXZiYXIgYWx3YXlzIHNob3dzIChlLmcuLCB3aXRob3V0IGEgLm5hdmJhci1icmFuZCBpbiBjb2xsYXBzZWQgbW9kZSlcbiAgbWFyZ2luLWJvdHRvbTogJG5hdmJhci1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAvLyBQcmV2ZW50IGZsb2F0cyBmcm9tIGJyZWFraW5nIHRoZSBuYXZiYXJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkbmF2YmFyLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgaGVhZGluZ1xuLy9cbi8vIEdyb3VwcyBgLm5hdmJhci1icmFuZGAgYW5kIGAubmF2YmFyLXRvZ2dsZWAgaW50byBhIHNpbmdsZSBjb21wb25lbnQgZm9yIGVhc3lcbi8vIHN0eWxpbmcgb2YgcmVzcG9uc2l2ZSBhc3BlY3RzLlxuXG4ubmF2YmFyLWhlYWRlciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgY29sbGFwc2UgKGJvZHkpXG4vL1xuLy8gR3JvdXAgeW91ciBuYXZiYXIgY29udGVudCBpbnRvIHRoaXMgZm9yIGVhc3kgY29sbGFwc2luZyBhbmQgZXhwYW5kaW5nIGFjcm9zc1xuLy8gdmFyaW91cyBkZXZpY2Ugc2l6ZXMuIEJ5IGRlZmF1bHQsIHRoaXMgY29udGVudCBpcyBjb2xsYXBzZWQgd2hlbiA8NzY4cHgsIGJ1dFxuLy8gd2lsbCBleHBhbmQgcGFzdCB0aGF0IGZvciBhIGhvcml6b250YWwgZGlzcGxheS5cbi8vXG4vLyBUbyBzdGFydCAob24gbW9iaWxlIGRldmljZXMpIHRoZSBuYXZiYXIgbGlua3MsIGZvcm1zLCBhbmQgYnV0dG9ucyBhcmUgc3RhY2tlZFxuLy8gdmVydGljYWxseSBhbmQgaW5jbHVkZSBhIGBtYXgtaGVpZ2h0YCB0byBvdmVyZmxvdyBpbiBjYXNlIHlvdSBoYXZlIHRvbyBtdWNoXG4vLyBjb250ZW50IGZvciB0aGUgdXNlcidzIHZpZXdwb3J0LlxuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgcGFkZGluZy1yaWdodDogJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmctbGVmdDogICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgJi5pbiB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBzZXR0aW5nXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuaW4ge1xuICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBVbmRvIHRoZSBjb2xsYXBzZSBzaWRlIHBhZGRpbmcgZm9yIG5hdmJhcnMgd2l0aCBjb250YWluZXJzIHRvIGVuc3VyZVxuICAgIC8vIGFsaWdubWVudCBvZiByaWdodC1hbGlnbmVkIGNvbnRlbnRzLlxuICAgIC5uYXZiYXItZml4ZWQtdG9wICYsXG4gICAgLm5hdmJhci1zdGF0aWMtdG9wICYsXG4gICAgLm5hdmJhci1maXhlZC1ib3R0b20gJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWF4LWhlaWdodDogJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0O1xuXG4gICAgQG1lZGlhIChtYXgtZGV2aWNlLXdpZHRoOiAkc2NyZWVuLXhzLW1pbikgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3RoIG5hdmJhciBoZWFkZXIgYW5kIGNvbGxhcHNlXG4vL1xuLy8gV2hlbiBhIGNvbnRhaW5lciBpcyBwcmVzZW50LCBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBoZWFkZXIgYW5kIGNvbGxhcHNlLlxuXG4uY29udGFpbmVyLFxuLmNvbnRhaW5lci1mbHVpZCB7XG4gID4gLm5hdmJhci1oZWFkZXIsXG4gID4gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbWFyZ2luLWxlZnQ6ICAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBOYXZiYXIgYWxpZ25tZW50IG9wdGlvbnNcbi8vXG4vLyBEaXNwbGF5IHRoZSBuYXZiYXIgYWNyb3NzIHRoZSBlbnRpcmV0eSBvZiB0aGUgcGFnZSBvciBmaXhlZCBpdCB0byB0aGUgdG9wIG9yXG4vLyBib3R0b20gb2YgdGhlIHBhZ2UuXG5cbi8vIFN0YXRpYyB0b3AgKHVuZml4ZWQsIGJ1dCAxMDAlIHdpZGUpIG5hdmJhclxuLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXI7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRml4IHRoZSB0b3AvYm90dG9tIG5hdmJhcnMgd2hlbiBzY3JlZW4gcmVhbCBlc3RhdGUgc3VwcG9ydHMgaXRcbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhci1maXhlZDtcblxuICAvLyBVbmRvIHRoZSByb3VuZGVkIGNvcm5lcnNcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xufVxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG92ZXJyaWRlIC5uYXZiYXIgZGVmYXVsdHNcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xufVxuXG5cbi8vIEJyYW5kL3Byb2plY3QgbmFtZVxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gID4gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgLm5hdmJhciA+IC5jb250YWluZXIgJixcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lci1mbHVpZCAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZVxuLy9cbi8vIEN1c3RvbSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBgLm5hdmJhci1jb2xsYXBzZWAsIHBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlXG4vLyBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLm5hdmJhci10b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZzogOXB4IDEwcHg7XG4gIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigzNHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gV2UgcmVtb3ZlIHRoZSBgb3V0bGluZWAgaGVyZSwgYnV0IGxhdGVyIGNvbXBlbnNhdGUgYnkgYXR0YWNoaW5nIGA6aG92ZXJgXG4gIC8vIHN0eWxlcyB0byBgOmZvY3VzYC5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIEJhcnNcbiAgLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIH1cbiAgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2IGxpbmtzXG4vL1xuLy8gQnVpbGRzIG9uIHRvcCBvZiB0aGUgYC5uYXZgIGNvbXBvbmVudHMgd2l0aCBpdHMgb3duIG1vZGlmaWVyIGNsYXNzIHRvIG1ha2Vcbi8vIHRoZSBuYXYgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBob3Jpem9udGFsIG5hdiAoYWJvdmUgNzY4cHgpLlxuXG4ubmF2YmFyLW5hdiB7XG4gIG1hcmdpbjogKCRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAvIDIpICgtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWwpO1xuXG4gID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogICAgMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgID4gbGkgPiBhLFxuICAgICAgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNXB4O1xuICAgICAgfVxuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVW5jb2xsYXBzZSB0aGUgbmF2XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAgICAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGZvcm1cbi8vXG4vLyBFeHRlbnNpb24gb2YgdGhlIGAuZm9ybS1pbmxpbmVgIHdpdGggc29tZSBleHRyYSBmbGF2b3IgZm9yIG9wdGltdW0gZGlzcGxheSBpblxuLy8gb3VyIG5hdmJhcnMuXG5cbi5uYXZiYXItZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIG1hcmdpbi1yaWdodDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiAxMHB4ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgJHNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcblxuICAvLyBNaXhpbiBiZWhhdmlvciBmb3Igb3B0aW11bSBkaXNwbGF5XG4gIEBpbmNsdWRlIGZvcm0taW5saW5lO1xuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbGx5IGNlbnRlciBpbiBleHBhbmRlZCwgaG9yaXpvbnRhbCBuYXZiYXJcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgLy8gVW5kbyAxMDAlIHdpZHRoIGZvciBwdWxsIGNsYXNzZXNcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93biBtZW51c1xuXG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0c1xuLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0IHN1cHBvcnQgZm9yIGRyb3B1cHMgdmlhIGV4dHJhIGRyb3B1cCBjbGFzc1xuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG59XG5cblxuLy8gQnV0dG9ucyBpbiBuYXZiYXJzXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgYSBidXR0b24gd2l0aGluIGEgbmF2YmFyICh3aGVuICpub3QqIGluIGEgZm9ybSkuXG5cbi5uYXZiYXItYnRuIHtcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgJi5idG4tc20ge1xuICAgIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkaW5wdXQtaGVpZ2h0LXNtYWxsKTtcbiAgfVxuICAmLmJ0bi14cyB7XG4gICAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKDIyKTtcbiAgfVxufVxuXG5cbi8vIFRleHQgaW4gbmF2YmFyc1xuLy9cbi8vIEFkZCBhIGNsYXNzIHRvIG1ha2UgYW55IGVsZW1lbnQgcHJvcGVybHkgYWxpZ24gaXRzZWxmIHZlcnRpY2FsbHkgd2l0aGluIHRoZSBuYXZiYXJzLlxuXG4ubmF2YmFyLXRleHQge1xuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlcHVycG9zZSB0aGUgcHVsbCB1dGlsaXRpZXMgYXMgdGhlaXIgb3duIG5hdmJhciB1dGlsaXRpZXMgdG8gYXZvaWQgc3BlY2lmaWNpdHlcbi8vIGlzc3VlcyB3aXRoIHBhcmVudHMgYW5kIGNoYWluaW5nLiBPbmx5IGRvIHRoaXMgd2hlbiB0aGUgbmF2YmFyIGlzIHVuY29sbGFwc2VkXG4vLyB0aG91Z2ggc28gdGhhdCBuYXZiYXIgY29udGVudHMgcHJvcGVybHkgc3RhY2sgYW5kIGFsaWduIGluIG1vYmlsZS5cbi8vXG4vLyBEZWNsYXJlZCBhZnRlciB0aGUgbmF2YmFyIGNvbXBvbmVudHMgdG8gZW5zdXJlIG1vcmUgc3BlY2lmaWNpdHkgb24gdGhlIG1hcmdpbnMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICB+IC5uYXZiYXItcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBuYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBEZWZhdWx0IG5hdmJhclxuLm5hdmJhci1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJnO1xuICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG4gIH1cblxuICAvLyBEcm9wZG93biBtZW51IGl0ZW1zXG4gIC5uYXZiYXItbmF2IHtcbiAgICAvLyBSZW1vdmUgYmFja2dyb3VuZCBjb2xvciBmcm9tIG9wZW4gZHJvcGRvd25cbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5IHdoZW4gY29sbGFwc2VkXG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gTGlua3MgaW4gbmF2YmFyc1xuICAvL1xuICAvLyBBZGQgYSBjbGFzcyB0byBlbnN1cmUgbGlua3Mgb3V0c2lkZSB0aGUgbmF2YmFyIG5hdiBhcmUgY29sb3JlZCBjb3JyZWN0bHkuXG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEludmVyc2UgbmF2YmFyXG5cbi5uYXZiYXItaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1iZztcbiAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGFya2VuIHRoZSByZXNwb25zaXZlIG5hdiB0b2dnbGVcbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCA3JSk7XG4gIH1cblxuICAvLyBEcm9wZG93bnNcbiAgLm5hdmJhci1uYXYge1xuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXlcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiAuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItZGVmYXVsdC5uYXZiYXItc3RpY2t5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICBib3gtc2hhZG93OiAwIDJweCA2cHggMCByZ2JhKDAsMCwwLDAuMDcpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBzYXR1cmF0ZSgxODAlKSBibHVyKDIwcHgpKSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgjZmZmLCAwLjkpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogc2F0dXJhdGUoMTgwJSkgYmx1cigyMHB4KTtcbiAgfVxuXG4gIC5uYXZiYXItbmF2ID4gbGkuaGVhZGVyLWJ0bi13aGl0ZSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg4YWZmO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDc0LDEzOSwyNTIsLjkpO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgJi0tc2hvdyxcbiAgJi0taGlkZSB7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkcztcbiAgfVxuXG4gICYtLWhpZGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xcztcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGV1cDtcblxuICAgIEBrZXlmcmFtZXMgc2xpZGV1cCB7XG4gICAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICB9XG4gICAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tc2hvdyB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZWRvd247XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG5cbiAgICBAa2V5ZnJhbWVzIHNsaWRlZG93biB7XG4gICAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgfVxuICAgICAgMSUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cblxuQG1peGluIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkZWxlbWVudC1oZWlnaHQpIHtcbiAgbWFyZ2luLXRvcDogKCgkbmF2YmFyLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKCgkbmF2YmFyLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbn1cbiIsIi8vXG4vLyBCYWRnZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDEwcHg7XG4gIHBhZGRpbmc6IDNweCA3cHg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgY29sb3I6ICRiYWRnZS1jb2xvcjtcbiAgbGluZS1oZWlnaHQ6ICRiYWRnZS1saW5lLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS1iZztcbiAgYm9yZGVyLXJhZGl1czogJGJhZGdlLWJvcmRlci1yYWRpdXM7XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHkgKG5vdCBhdmFpbGFibGUgaW4gSUU4KVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuICAuYnRuICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cblxuICAuYnRuLXhzICYsXG4gIC5idG4tZ3JvdXAteHMgPiAuYnRuICYge1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAxcHggNXB4O1xuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmIHRvIGEuYmFkZ2VcblxuICAvLyBBY2NvdW50IGZvciBiYWRnZXMgaW4gbmF2c1xuICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSA+ICYsXG4gIC5uYXYtcGlsbHMgPiAuYWN0aXZlID4gYSA+ICYge1xuICAgIGNvbG9yOiAkYmFkZ2UtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS1hY3RpdmUtYmc7XG4gIH1cblxuICAubGlzdC1ncm91cC1pdGVtID4gJiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICYgKyAmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgfVxuXG4gIC5uYXYtcGlsbHMgPiBsaSA+IGEgPiAmIHtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICB9XG59XG5cbi8vIEhvdmVyIHN0YXRlLCBidXQgb25seSBmb3IgbGlua3NcbmEuYmFkZ2Uge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGJhZGdlLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuIiwiLy9cbi8vIE1vZGFsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHNoaXRcblxuLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4ubW9kYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAmLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlKDAsIC0yNSUpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tdHJhbnNmb3JtKDAuM3MgZWFzZS1vdXQpO1xuICB9XG4gICYuaW4gLm1vZGFsLWRpYWxvZyB7IEBpbmNsdWRlIHRyYW5zbGF0ZSgwLCAwKSB9XG59XG4ubW9kYWwtb3BlbiAubW9kYWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjsgLy9vbGQgYnJvd3NlcnMgZmFsbGJhY2sgKGllOCBldGMpXG4gIGJvcmRlcjogMXB4IHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAzcHggOXB4IHJnYmEoMCwwLDAsLjUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBAaW5jbHVkZSBvcGFjaXR5KDApOyB9XG4gICYuaW4geyBAaW5jbHVkZSBvcGFjaXR5KCRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5KTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRtb2RhbC10aXRsZS1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIG1pbi1oZWlnaHQ6ICgkbW9kYWwtdGl0bGUtcGFkZGluZyArICRtb2RhbC10aXRsZS1saW5lLWhlaWdodCk7XG59XG4vLyBDbG9zZSBpY29uXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyAvLyByaWdodCBhbGlnbiBidXR0b25zXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7IC8vIGNsZWFyIGl0IGluIGNhc2UgZm9sa3MgdXNlIC5wdWxsLSogY2xhc3NlcyBvbiBidXR0b25zXG5cbiAgLy8gUHJvcGVybHkgc3BhY2Ugb3V0IGJ1dHRvbnNcbiAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gYWNjb3VudCBmb3IgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB3aGljaCBnZXRzIHRoZSBib3R0b20gbWFyZ2luIGxpa2UgYWxsIG90aGVyIGlucHV0c1xuICB9XG4gIC8vIGJ1dCBvdmVycmlkZSB0aGF0IGZvciBidXR0b24gZ3JvdXBzXG4gIC5idG4tZ3JvdXAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG4gIC8vIGFuZCBvdmVycmlkZSBpdCBmb3IgYmxvY2sgYnV0dG9ucyBhcyB3ZWxsXG4gIC5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIHdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCA1cHggMTVweCByZ2JhKDAsMCwwLC41KSk7XG4gIH1cblxuICAvLyBNb2RhbCBzaXplc1xuICAubW9kYWwtc20geyB3aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAubW9kYWwtbGcgeyB3aWR0aDogJG1vZGFsLWxnOyB9XG59XG4iLCIvL1xuLy8gVG9vbHRpcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIFJlc2V0IGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyBnaXZlbiBuZXcgaW5zZXJ0aW9uIG1ldGhvZFxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcblxuICAmLmluICAgICB7IEBpbmNsdWRlIG9wYWNpdHkoJHRvb2x0aXAtb3BhY2l0eSk7IH1cbiAgJi50b3AgICAgeyBtYXJnaW4tdG9wOiAgLTNweDsgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDsgfVxuICAmLnJpZ2h0ICB7IG1hcmdpbi1sZWZ0OiAgM3B4OyBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoOyB9XG4gICYuYm90dG9tIHsgbWFyZ2luLXRvcDogICAzcHg7IHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7IH1cbiAgJi5sZWZ0ICAgeyBtYXJnaW4tbGVmdDogLTNweDsgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDsgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbn1cblxuLy8gQXJyb3dzXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnRvcC1sZWZ0LCAudG9wLXJpZ2h0LCAuYm90dG9tLWxlZnQsIGFuZCAuYm90dG9tLXJpZ2h0IGFzIG9mIHYzLjMuMVxuLnRvb2x0aXAge1xuICAmLnRvcCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi50b3AtcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tYm90dG9tOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxufVxuIiwiLy9cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBGbG9hdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNsZWFyZml4IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG4uY2VudGVyLWJsb2NrIHtcbiAgQGluY2x1ZGUgY2VudGVyLWJsb2NrO1xufVxuLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIFRvZ2dsaW5nIGNvbnRlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAuaGlkZSBpbiBmYXZvciBvZiAuaGlkZGVuIG9yIC5zci1vbmx5IChhcyBhcHByb3ByaWF0ZSkgaW4gdjMuMC4xXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5zaG93IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlO1xufVxuXG5cbi8vIEhpZGUgZnJvbSBzY3JlZW5yZWFkZXJzIGFuZCBicm93c2Vyc1xuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4vLyBGb3IgQWZmaXggcGx1Z2luXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbiIsIi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcblxuQG1peGluIGNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAod2lsbCBiZSByZW1vdmVkIGluIHY0KVxuQG1peGluIGhpZGUtdGV4dCgpIHtcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIE5ldyBtaXhpbiB0byB1c2UgYXMgb2YgdjMuMC4xXG5AbWl4aW4gdGV4dC1oaWRlKCkge1xuICBAaW5jbHVkZSBoaWRlLXRleHQ7XG59XG4iLCIvL1xuLy8gUmVzcG9uc2l2ZTogVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElFMTAgaW4gV2luZG93cyAoUGhvbmUpIDhcbi8vXG4vLyBTdXBwb3J0IGZvciByZXNwb25zaXZlIHZpZXdzIHZpYSBtZWRpYSBxdWVyaWVzIGlzIGtpbmQgb2YgYm9ya2VkIGluIElFMTAsIGZvclxuLy8gU3VyZmFjZS9kZXNrdG9wIGluIHNwbGl0IHZpZXcgYW5kIGZvciBXaW5kb3dzIFBob25lIDguIFRoaXMgcGFydGljdWxhciBmaXhcbi8vIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgYSBzbmlwcGV0IG9mIEphdmFTY3JpcHQgdG8gc25pZmYgdGhlIHVzZXIgYWdlbnQgYW5kXG4vLyBhcHBseSBzb21lIGNvbmRpdGlvbmFsIENTUyB0byAqb25seSogdGhlIFN1cmZhY2UvZGVza3RvcCBXaW5kb3dzIDguIExvb2sgYXRcbi8vIG91ciBHZXR0aW5nIFN0YXJ0ZWQgcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIGJ1Zy5cbi8vXG4vLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBmb2xsb3dpbmc6XG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTA0OTdcbi8vIERvY3M6IGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTMvMDEvd2luZG93cy1waG9uZS04LWFuZC1kZXZpY2Utd2lkdGgvXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduL1xuXG5ALW1zLXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS14cywgLnZpc2libGUtc20sIC52aXNpYmxlLW1kLCBhbmQgLnZpc2libGUtbGcgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXNtJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1sZycpO1xuXG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUteHMnKTtcbn1cbi52aXNpYmxlLXhzLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbn1cbi52aXNpYmxlLXNtLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbn1cbi52aXNpYmxlLW1kLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG59XG4udmlzaWJsZS1sZy1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4teHMnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tc20nKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbWQnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLWxnJyk7XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG4vL1xuLy8gTWVkaWEgcXVlcmllcyBhcmUgcGxhY2VkIG9uIHRoZSBpbnNpZGUgdG8gYmUgbWl4aW4tZnJpZW5kbHkuXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnZpc2libGUtcHJpbnQgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1wcmludCcpO1xuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG59XG4udmlzaWJsZS1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1wcmludCcpO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcblxuLy9cbi8vIE1vcmUgZWFzaWx5IGluY2x1ZGUgYWxsIHRoZSBzdGF0ZXMgZm9yIHJlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlI3skcGFyZW50fSAgeyBkaXNwbGF5OiB0YWJsZTsgfVxuICB0ciN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgjeyRwYXJlbnR9LFxuICB0ZCN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIuaGlnaGxpZ2h0ICB7IGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbi5oaWdobGlnaHQgLmMgeyBjb2xvcjogIzk5OTk4ODsgZm9udC1zdHlsZTogaXRhbGljIH0gLyogQ29tbWVudCAqL1xuLmhpZ2hsaWdodCAuZXJyIHsgY29sb3I6ICNhNjE3MTc7IGJhY2tncm91bmQtY29sb3I6ICNlM2QyZDIgfSAvKiBFcnJvciAqL1xuLmhpZ2hsaWdodCAuayB7IGZvbnQtd2VpZ2h0OiBib2xkIH0gLyogS2V5d29yZCAqL1xuLmhpZ2hsaWdodCAubyB7IGZvbnQtd2VpZ2h0OiBib2xkIH0gLyogT3BlcmF0b3IgKi9cbi5oaWdobGlnaHQgLmNtIHsgY29sb3I6ICM5OTk5ODg7IGZvbnQtc3R5bGU6IGl0YWxpYyB9IC8qIENvbW1lbnQuTXVsdGlsaW5lICovXG4uaGlnaGxpZ2h0IC5jcCB7IGNvbG9yOiAjOTk5OTk5OyBmb250LXdlaWdodDogYm9sZCB9IC8qIENvbW1lbnQuUHJlcHJvYyAqL1xuLmhpZ2hsaWdodCAuYzEgeyBjb2xvcjogIzk5OTk4ODsgZm9udC1zdHlsZTogaXRhbGljIH0gLyogQ29tbWVudC5TaW5nbGUgKi9cbi5oaWdobGlnaHQgLmNzIHsgY29sb3I6ICM5OTk5OTk7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXN0eWxlOiBpdGFsaWMgfSAvKiBDb21tZW50LlNwZWNpYWwgKi9cbi5oaWdobGlnaHQgLmdkIHsgY29sb3I6ICMwMDAwMDA7IGJhY2tncm91bmQtY29sb3I6ICNmZmRkZGQgfSAvKiBHZW5lcmljLkRlbGV0ZWQgKi9cbi5oaWdobGlnaHQgLmdkIC54IHsgY29sb3I6ICMwMDAwMDA7IGJhY2tncm91bmQtY29sb3I6ICNmZmFhYWEgfSAvKiBHZW5lcmljLkRlbGV0ZWQuU3BlY2lmaWMgKi9cbi5oaWdobGlnaHQgLmdlIHsgZm9udC1zdHlsZTogaXRhbGljIH0gLyogR2VuZXJpYy5FbXBoICovXG4uaGlnaGxpZ2h0IC5nciB7IGNvbG9yOiAjYWEwMDAwIH0gLyogR2VuZXJpYy5FcnJvciAqL1xuLmhpZ2hsaWdodCAuZ2ggeyBjb2xvcjogIzk5OTk5OSB9IC8qIEdlbmVyaWMuSGVhZGluZyAqL1xuLmhpZ2hsaWdodCAuZ2kgeyBjb2xvcjogIzAwMDAwMDsgYmFja2dyb3VuZC1jb2xvcjogI2RkZmZkZCB9IC8qIEdlbmVyaWMuSW5zZXJ0ZWQgKi9cbi5oaWdobGlnaHQgLmdpIC54IHsgY29sb3I6ICMwMDAwMDA7IGJhY2tncm91bmQtY29sb3I6ICNhYWZmYWEgfSAvKiBHZW5lcmljLkluc2VydGVkLlNwZWNpZmljICovXG4uaGlnaGxpZ2h0IC5nbyB7IGNvbG9yOiAjODg4ODg4IH0gLyogR2VuZXJpYy5PdXRwdXQgKi9cbi5oaWdobGlnaHQgLmdwIHsgY29sb3I6ICM1NTU1NTUgfSAvKiBHZW5lcmljLlByb21wdCAqL1xuLmhpZ2hsaWdodCAuZ3MgeyBmb250LXdlaWdodDogYm9sZCB9IC8qIEdlbmVyaWMuU3Ryb25nICovXG4uaGlnaGxpZ2h0IC5ndSB7IGNvbG9yOiAjYWFhYWFhIH0gLyogR2VuZXJpYy5TdWJoZWFkaW5nICovXG4uaGlnaGxpZ2h0IC5ndCB7IGNvbG9yOiAjYWEwMDAwIH0gLyogR2VuZXJpYy5UcmFjZWJhY2sgKi9cbi5oaWdobGlnaHQgLmtjIHsgZm9udC13ZWlnaHQ6IGJvbGQgfSAvKiBLZXl3b3JkLkNvbnN0YW50ICovXG4uaGlnaGxpZ2h0IC5rZCB7IGZvbnQtd2VpZ2h0OiBib2xkIH0gLyogS2V5d29yZC5EZWNsYXJhdGlvbiAqL1xuLmhpZ2hsaWdodCAua3AgeyBmb250LXdlaWdodDogYm9sZCB9IC8qIEtleXdvcmQuUHNldWRvICovXG4uaGlnaGxpZ2h0IC5rciB7IGZvbnQtd2VpZ2h0OiBib2xkIH0gLyogS2V5d29yZC5SZXNlcnZlZCAqL1xuLmhpZ2hsaWdodCAua3QgeyBjb2xvcjogIzQ0NTU4ODsgZm9udC13ZWlnaHQ6IGJvbGQgfSAvKiBLZXl3b3JkLlR5cGUgKi9cbi5oaWdobGlnaHQgLm0geyBjb2xvcjogIzAwOTk5OSB9IC8qIExpdGVyYWwuTnVtYmVyICovXG4uaGlnaGxpZ2h0IC5zIHsgY29sb3I6ICNkMTQgfSAvKiBMaXRlcmFsLlN0cmluZyAqL1xuLmhpZ2hsaWdodCAubmEgeyBjb2xvcjogIzAwODA4MCB9IC8qIE5hbWUuQXR0cmlidXRlICovXG4uaGlnaGxpZ2h0IC5uYiB7IGNvbG9yOiAjMDA4NkIzIH0gLyogTmFtZS5CdWlsdGluICovXG4uaGlnaGxpZ2h0IC5uYyB7IGNvbG9yOiAjNDQ1NTg4OyBmb250LXdlaWdodDogYm9sZCB9IC8qIE5hbWUuQ2xhc3MgKi9cbi5oaWdobGlnaHQgLm5vIHsgY29sb3I6ICMwMDgwODAgfSAvKiBOYW1lLkNvbnN0YW50ICovXG4uaGlnaGxpZ2h0IC5uaSB7IGNvbG9yOiAjODAwMDgwIH0gLyogTmFtZS5FbnRpdHkgKi9cbi5oaWdobGlnaHQgLm5lIHsgY29sb3I6ICM5OTAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkIH0gLyogTmFtZS5FeGNlcHRpb24gKi9cbi5oaWdobGlnaHQgLm5mIHsgY29sb3I6ICM5OTAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkIH0gLyogTmFtZS5GdW5jdGlvbiAqL1xuLmhpZ2hsaWdodCAubm4geyBjb2xvcjogIzU1NTU1NSB9IC8qIE5hbWUuTmFtZXNwYWNlICovXG4uaGlnaGxpZ2h0IC5udCB7IGNvbG9yOiAjMDAwMDgwIH0gLyogTmFtZS5UYWcgKi9cbi5oaWdobGlnaHQgLm52IHsgY29sb3I6ICMwMDgwODAgfSAvKiBOYW1lLlZhcmlhYmxlICovXG4uaGlnaGxpZ2h0IC5vdyB7IGZvbnQtd2VpZ2h0OiBib2xkIH0gLyogT3BlcmF0b3IuV29yZCAqL1xuLmhpZ2hsaWdodCAudyB7IGNvbG9yOiAjYmJiYmJiIH0gLyogVGV4dC5XaGl0ZXNwYWNlICovXG4uaGlnaGxpZ2h0IC5tZiB7IGNvbG9yOiAjMDA5OTk5IH0gLyogTGl0ZXJhbC5OdW1iZXIuRmxvYXQgKi9cbi5oaWdobGlnaHQgLm1oIHsgY29sb3I6ICMwMDk5OTkgfSAvKiBMaXRlcmFsLk51bWJlci5IZXggKi9cbi5oaWdobGlnaHQgLm1pIHsgY29sb3I6ICMwMDk5OTkgfSAvKiBMaXRlcmFsLk51bWJlci5JbnRlZ2VyICovXG4uaGlnaGxpZ2h0IC5tbyB7IGNvbG9yOiAjMDA5OTk5IH0gLyogTGl0ZXJhbC5OdW1iZXIuT2N0ICovXG4uaGlnaGxpZ2h0IC5zYiB7IGNvbG9yOiAjZDE0IH0gLyogTGl0ZXJhbC5TdHJpbmcuQmFja3RpY2sgKi9cbi5oaWdobGlnaHQgLnNjIHsgY29sb3I6ICNkMTQgfSAvKiBMaXRlcmFsLlN0cmluZy5DaGFyICovXG4uaGlnaGxpZ2h0IC5zZCB7IGNvbG9yOiAjZDE0IH0gLyogTGl0ZXJhbC5TdHJpbmcuRG9jICovXG4uaGlnaGxpZ2h0IC5zMiB7IGNvbG9yOiAjZDE0IH0gLyogTGl0ZXJhbC5TdHJpbmcuRG91YmxlICovXG4uaGlnaGxpZ2h0IC5zZSB7IGNvbG9yOiAjZDE0IH0gLyogTGl0ZXJhbC5TdHJpbmcuRXNjYXBlICovXG4uaGlnaGxpZ2h0IC5zaCB7IGNvbG9yOiAjZDE0IH0gLyogTGl0ZXJhbC5TdHJpbmcuSGVyZWRvYyAqL1xuLmhpZ2hsaWdodCAuc2kgeyBjb2xvcjogI2QxNCB9IC8qIExpdGVyYWwuU3RyaW5nLkludGVycG9sICovXG4uaGlnaGxpZ2h0IC5zeCB7IGNvbG9yOiAjZDE0IH0gLyogTGl0ZXJhbC5TdHJpbmcuT3RoZXIgKi9cbi5oaWdobGlnaHQgLnNyIHsgY29sb3I6ICMwMDk5MjYgfSAvKiBMaXRlcmFsLlN0cmluZy5SZWdleCAqL1xuLmhpZ2hsaWdodCAuczEgeyBjb2xvcjogI2QxNCB9IC8qIExpdGVyYWwuU3RyaW5nLlNpbmdsZSAqL1xuLmhpZ2hsaWdodCAuc3MgeyBjb2xvcjogIzk5MDA3MyB9IC8qIExpdGVyYWwuU3RyaW5nLlN5bWJvbCAqL1xuLmhpZ2hsaWdodCAuYnAgeyBjb2xvcjogIzk5OTk5OSB9IC8qIE5hbWUuQnVpbHRpbi5Qc2V1ZG8gKi9cbi5oaWdobGlnaHQgLnZjIHsgY29sb3I6ICMwMDgwODAgfSAvKiBOYW1lLlZhcmlhYmxlLkNsYXNzICovXG4uaGlnaGxpZ2h0IC52ZyB7IGNvbG9yOiAjMDA4MDgwIH0gLyogTmFtZS5WYXJpYWJsZS5HbG9iYWwgKi9cbi5oaWdobGlnaHQgLnZpIHsgY29sb3I6ICMwMDgwODAgfSAvKiBOYW1lLlZhcmlhYmxlLkluc3RhbmNlICovXG4uaGlnaGxpZ2h0IC5pbCB7IGNvbG9yOiAjMDA5OTk5IH0gLyogTGl0ZXJhbC5OdW1iZXIuSW50ZWdlci5Mb25nICovXG4iLCJwcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmhsanMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC41ZW07XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBjb2xvcjogIzMxNDM2MTtcbn1cblxuXG4vLyBEb25lXG5cbi5obGpzLWNvbW1lbnQsXG4uaGxqcy10ZW1wbGF0ZV9jb21tZW50LFxuLmhsanMtamF2YWRvYyxcbi5obGpzLWNvbW1lbnQgKiB7XG4gIGNvbG9yOiAjOTk5OTg4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cblxuLy8gRG9uZVxuXG4uaGxqcy1rZXl3b3JkLFxuLm1ldGhvZCxcbi5obGpzLWxpc3QgLmhsanMtdGl0bGUsXG4uY2xvanVyZSAuaGxqcy1idWlsdF9pbixcbi5uZ2lueCAuaGxqcy10aXRsZSxcbi5obGpzLXRhZyAuaGxqcy10aXRsZSxcbi5zZXR0aW5nIC5obGpzLXZhbHVlLFxuLmhsanMtd2ludXRpbHMsXG4udGV4IC5obGpzLWNvbW1hbmQsXG4uaHR0cCAuaGxqcy10aXRsZSxcbi5obGpzLXJlcXVlc3QsXG4uaGxqcy1zdGF0dXMge1xuICBjb2xvcjogIzRhODZlZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5obGpzLWVudnZhcixcbi50ZXggLmhsanMtc3BlY2lhbCB7XG4gIGNvbG9yOiAjNjYwO1xufVxuXG5cbi8vIERvbmVcblxuLmhsanMtc3RyaW5nLFxuLmhsanMtdGFnIC5obGpzLXZhbHVlLFxuLmhsanMtY2RhdGEsXG4uaGxqcy1maWx0ZXIgLmhsanMtYXJndW1lbnQsXG4uaGxqcy1hdHRyX3NlbGVjdG9yLFxuLmFwYWNoZSAuaGxqcy1jYnJhY2tldCxcbi5obGpzLWRhdGUsXG4uaGxqcy1yZWdleHAsXG4uY29mZmVlc2NyaXB0IC5obGpzLWF0dHJpYnV0ZSB7XG4gIGNvbG9yOiAjZjI1NzZkO1xufVxuXG4uaGxqcy1zdWIgLmhsanMtaWRlbnRpZmllcixcbi5obGpzLXBpLFxuLmhsanMtdGFnLFxuLmhsanMtdGFnIC5obGpzLWtleXdvcmQsXG4uaGxqcy1kZWNvcmF0b3IsXG4uaW5pIC5obGpzLXRpdGxlLFxuLmhsanMtc2hlYmFuZyxcbi5obGpzLXByb21wdCxcbi5obGpzLWhleGNvbG9yLFxuLmhsanMtcnVsZXMgLmhsanMtdmFsdWUsXG4uY3NzIC5obGpzLXZhbHVlIC5obGpzLW51bWJlcixcbi5obGpzLWxpdGVyYWwsXG4uaGxqcy1zeW1ib2wsXG4ucnVieSAuaGxqcy1zeW1ib2wgLmhsanMtc3RyaW5nLFxuLmhsanMtbnVtYmVyLFxuLmNzcyAuaGxqcy1mdW5jdGlvbixcbi5jbG9qdXJlIC5obGpzLWF0dHJpYnV0ZSB7XG4gIGNvbG9yOiAjMDBiMDdkO1xufVxuXG4uaGxqcy1jbGFzcyAuaGxqcy10aXRsZSxcbi5oYXNrZWxsIC5obGpzLXR5cGUsXG4uc21hbGx0YWxrIC5obGpzLWNsYXNzLFxuLmhsanMtamF2YWRvY3RhZyxcbi5obGpzLXlhcmRvY3RhZyxcbi5obGpzLXBocGRvYyxcbi5obGpzLXR5cGVuYW1lLFxuLmhsanMtdGFnIC5obGpzLWF0dHJpYnV0ZSxcbi5obGpzLWRvY3R5cGUsXG4uaGxqcy1jbGFzcyAuaGxqcy1pZCxcbi5obGpzLWJ1aWx0X2luLFxuLnNldHRpbmcsXG4uaGxqcy1wYXJhbXMsXG4uaGxqcy12YXJpYWJsZSxcbi5jbG9qdXJlIC5obGpzLXRpdGxlIHtcbiAgY29sb3I6ICMzZGFmZDQ7XG59XG5cbi5jc3MgLmhsanMtdGFnLFxuLmhsanMtcnVsZXMgLmhsanMtcHJvcGVydHksXG4uaGxqcy1wc2V1ZG8sXG4uaGxqcy1zdWJzdCB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4uY3NzIC5obGpzLWNsYXNzLFxuLmNzcyAuaGxqcy1pZCB7XG4gIGNvbG9yOiAjOUI3MDNGO1xufVxuXG4uaGxqcy12YWx1ZSAuaGxqcy1pbXBvcnRhbnQge1xuICBjb2xvcjogI2ZmNzcwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5obGpzLXJ1bGVzIC5obGpzLWtleXdvcmQge1xuICBjb2xvcjogI0M1QUY3NTtcbn1cblxuLmhsanMtYW5ub3RhdGlvbixcbi5hcGFjaGUgLmhsanMtc3FicmFja2V0LFxuLm5naW54IC5obGpzLWJ1aWx0X2luIHtcbiAgY29sb3I6ICM5Qjg1OUQ7XG59XG5cbi5obGpzLXByZXByb2Nlc3Nvcixcbi5obGpzLXByZXByb2Nlc3NvciAqLFxuLmhsanMtcHJhZ21hIHtcbiAgY29sb3I6ICM0NDQ7XG59XG5cbi50ZXggLmhsanMtZm9ybXVsYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRUU7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmRpZmYgLmhsanMtaGVhZGVyLFxuLmhsanMtY2h1bmsge1xuICBjb2xvcjogIzgwODA4MDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5kaWZmIC5obGpzLWNoYW5nZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCQ0NGRjk7XG59XG5cbi5obGpzLWFkZGl0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0JBRUVCQTtcbn1cblxuLmhsanMtZGVsZXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDOEJEO1xufVxuXG4uaGxqcy1jb21tZW50IC5obGpzLXlhcmRvY3RhZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuIiwiaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cblxuYSB7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4ycztcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxucCB7XG4gICYubGcge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkZGFya2lzaC1ncmV5O1xuXG4gICAgJi5zdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAmLmxpZ2h0IHtcbiAgICAgIGNvbG9yOiAkZGFya2lzaC1ncmV5O1xuICAgIH1cbiAgfVxuXG4gICYuc20ge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxuXG4gICYueHMge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxufVxuXG4uc3ViaGVhZGluZyB7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXNpemU6IDE1cHg7XG59XG4iLCJAa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHsgb3BhY2l0eTogMDsgfVxuICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuXG5Aa2V5ZnJhbWVzIGNyb3NzRmFkZUluT3V0IHtcbiAgMCUsIDQwJSwgMTAwJSB7IG9wYWNpdHk6IDA7fVxuICA1MCUsIDkwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcFNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguNjY3LCAuNjY3KSB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguNjY3LCAuNjY3KSB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cblxuICA1MCUgeyBvcGFjaXR5OiAxOyB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuXG4gIDUwJSB7IG9wYWNpdHk6IDE7IH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7IG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHsgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDIwJSB7IHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG59XG5cbkBrZXlmcmFtZXMgdGlsdEluIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZVgoLTMwZGVnKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgc2ltcGxlSG92ZXJZIHtcbiAgMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7fVxuICA1MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7fVxuICAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDApO31cbn1cblxuQGtleWZyYW1lcyBzaW1wbGVIb3Zlclgge1xuICAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTt9XG4gIDUwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMjVweCwgMCwgMCk7fVxuICAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDApO31cbn1cblxuQGtleWZyYW1lcyBzaW1wbGVIb3ZlclhTbWFsbCB7XG4gIDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO31cbiAgNTAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwcHgsIDAsIDApO31cbiAgMTAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwKTt9XG59XG5cbkBrZXlmcmFtZXMgaW5lcnRpYVRpbHQge1xuICAwJSB7dHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7fVxuICAxNSUge3RyYW5zZm9ybTogcm90YXRlKC0xZGVnKTt9XG4gIDMwJSB7dHJhbnNmb3JtOiByb3RhdGUoMWRlZyk7fVxuICA0MCUge3RyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbiAgNTAlIHt0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7fVxuICA2NSUge3RyYW5zZm9ybTogcm90YXRlKDFkZWcpO31cbiAgODAlIHt0cmFuc2Zvcm06IHJvdGF0ZSgtMWRlZyk7fVxuICA5MCUge3RyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbiAgMTAwJSB7dHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7fVxufVxuXG5Aa2V5ZnJhbWVzIGhvdmVyWSB7XG4gIDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTt9XG4gIDEwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAycHgpIHNjYWxlKDEpO31cbiAgMjAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtM3B4KSBzY2FsZSgxKTt9XG4gIDMwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgM3B4KSBzY2FsZSgxKTt9XG4gIDQwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTFweCkgc2NhbGUoMSk7fVxuICA1MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIDApIHNjYWxlKDEpO31cbiAgNjAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtM3B4KSBzY2FsZSgxKTt9XG4gIDcwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAycHgpIHNjYWxlKDEpO31cbiAgODAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtM3B4KSBzY2FsZSgxKTt9XG4gIDkwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgMXB4KSBzY2FsZSgxKTt9XG4gIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO31cbn1cblxuQGtleWZyYW1lcyBmaWd1cmVlaWdodCB7XG4gIDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO31cbiAgMiUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoMXB4LCAuNXB4LCAwKTt9XG4gIDUlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJweCwgMXB4LCAwKTt9XG4gIDclIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDNweCwgMS41cHgsIDApO31cbiAgMTAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDRweCwgMS44cHgsIDApO31cbiAgMTIlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMnB4LCAwKTt9XG4gIDE1JSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg2cHgsIDEuOHB4LCAwKTt9XG4gIDE3JSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg3cHgsIDEuNXB4LCAwKTt9XG4gIDIwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4cHgsIDFweCwgMCk7fVxuICAyMiUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoOC42cHgsIC41cHgsIDApO31cbiAgMjUlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDlweCwgMCwgMCk7fVxuICAyNyUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoOC4zcHgsIC0uNXB4LCAwKTt9XG4gIDMwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4cHgsIC0xcHgsIDApO31cbiAgMzIlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDdweCwgLTEuNXB4LCAwKTt9XG4gIDM1JSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg2cHgsIC0xLjhweCwgMCk7fVxuICAzNyUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAtMnB4LCAwKTt9XG4gIDQwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0cHgsIC0xLjhweCwgMCk7fVxuICA0MiUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoM3B4LCAtMS41cHgsIDApO31cbiAgNDUlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJweCwgLTFweCwgMCk7fVxuICA0NyUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoMXB4LCAtLjVweCwgMCk7fVxuICA1MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7fVxuICA1MiUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTFweCwgLjVweCwgMCk7fVxuICA1NSUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTJweCwgMXB4LCAwKTt9XG4gIDU3JSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtM3B4LCAxLjVweCwgMCk7fVxuICA2MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTRweCwgMS44cHgsIDApO31cbiAgNjIlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDJweCwgMCk7fVxuICA2NSUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTZweCwgMS44cHgsIDApO31cbiAgNjclIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC03cHgsIDEuNXB4LCAwKTt9XG4gIDcwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAxcHgsIDApO31cbiAgNzIlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC04LjZweCwgLjVweCwgMCk7fVxuICA3NSUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTlweCwgMCwgMCk7fVxuICA3NyUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTguM3B4LCAtMXB4LCAwKTt9XG4gIDgwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAtMnB4LCAwKTt9XG4gIDgyJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtN3B4LCAtMS41cHgsIDApO31cbiAgODUlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC02cHgsIC0xLjhweCwgMCk7fVxuICA4NyUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgLTJweCwgMCk7fVxuICA5MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTRweCwgLTEuOHB4LCAwKTt9XG4gIDkyJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtM3B4LCAtMS41cHgsIDApO31cbiAgOTUlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0ycHgsIC0xcHgsIDApO31cbiAgOTclIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xcHgsIC0uNXB4LCAwKTt9XG4gIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7fVxufVxuXG5Aa2V5ZnJhbWVzIGRvdEV4cGFuZCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDIsIDIsIDEpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBnbG93IHtcbiAgMCUsIDMwJSwgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbiAgMTUlIHsgb3BhY2l0eTogMTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHNwcmVhZCB7XG4gIDAlIHt0cmFuc2Zvcm06IHNjYWxlWCgxKTsgb3BhY2l0eTogMTt9XG4gIDUwJSB7dHJhbnNmb3JtOiBzY2FsZVgoLjgpOyBvcGFjaXR5OiAuNTt9XG4gIDEwMCUge3RyYW5zZm9ybTogc2NhbGVYKDEpOyBvcGFjaXR5OiAxO31cbn1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgMCUge3RyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbiAgMTAwJSB7dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTt9XG59XG5cbkBrZXlmcmFtZXMgZmxvYXRpbmdDbG91ZCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjYsLjYsMSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1JSB7b3BhY2l0eTogLjl9XG4gIDEwJSB7b3BhY2l0eTogMX1cbiAgOTUlIHtvcGFjaXR5OiAxfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1MCUsIDEwMCUsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbG9hdGluZ0Nsb3VkLTIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4yLC4yLDEpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNSUge29wYWNpdHk6IC45fVxuICAyMCUge29wYWNpdHk6IDF9XG4gIDk1JSB7b3BhY2l0eTogMX1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMTAlLCAzMCUsIDApIHNjYWxlM2QoLjQsLjQsMSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsb2F0aW5nQ2xvdWQtMyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1MCUsIDcwJSwgMCkgc2NhbGUzZCguOCwuOCwxKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUlIHtvcGFjaXR5OiAxfVxuICAyMCUge29wYWNpdHk6IDF9XG4gIDkwJSB7b3BhY2l0eTogLjl9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNCwuNCwxKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxvYXRpbmdDbG91ZC00IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjIsMS4yLDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTEwJSwgMTUwJSwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1JSB7b3BhY2l0eTogMX1cbiAgOTAlIHtvcGFjaXR5OiAxfVxuICA5NSUge29wYWNpdHk6IC45fVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjgsLjgsMSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJhaW5Ecm9wIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1JSB7b3BhY2l0eTogLjl9XG4gIDEwJSB7b3BhY2l0eTogMX1cbiAgOTUlIHtvcGFjaXR5OiAxfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDgwMCUsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzY3JlZW5Qb3AtMSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cbiAgODklIHsgIG9wYWNpdHk6IDE7IH1cbiAgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgOTYlIHsgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xuICB9XG59XG5cblxuQGtleWZyYW1lcyBzY3JlZW5Qb3AtMiB7XG4gIDAlIHsgb3BhY2l0eTogMDsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAzMSUgeyAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxKTsgfVxuICAzNSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA2OSUgeyBvcGFjaXR5OiAxOyB9XG4gIDcwJSB7IG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbn1cblxuQGtleWZyYW1lcyBzY3JlZW5Qb3AtMyB7XG4gIDAlIHsgb3BhY2l0eTogMDsgfVxuICA2MyUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA2NCUgeyAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxKTsgfVxuICA2OCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA5NiUgeyBvcGFjaXR5OiAxOyB9XG4gIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG59XG5cbkBrZXlmcmFtZXMgaG9tZS1hcHAtZ3JvdXAtaXBob25lIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZVkoMTVkZWcpIHRyYW5zbGF0ZTNkKDgwcHgsIDAsIDApOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZVkoMTVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG59XG5cbkBrZXlmcmFtZXMgaG9tZS1hcHAtZ3JvdXAtYW5kcm9pZCB7XG4gIDAlIHsgdHJhbnNmb3JtOiByb3RhdGVZKDE1ZGVnKSB0cmFuc2xhdGUzZCgtNzRweCwgNDBweCwgMCk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlWSgxNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbn1cblxuQGtleWZyYW1lcyBob21lLWFwcC1pcGhvbmUge1xuICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzBweCwgLTEwcHgsIDApOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG59XG5cbkBrZXlmcmFtZXMgaG9tZS1hcHAtYW5kcm9pZCB7XG4gIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAtNHB4LCAwKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIGNhcm91c2VsIHtcbiAgMCUgeyAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIH1cbiAgMTAwJSB7ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgfVxufSIsIi5iYW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJi0taGVybyB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNGVtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgIH1cbiAgfVxufVxuIiwiLmJhciB7XG4gICYubmF2eSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMWQyNTM0IDAlLCMyNDM0NTIgMTAwJSk7XG5cbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogI2EyYjVkNjtcbiAgICB9XG4gIH1cblxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICB9XG5cbiAgLmJ0biB7XG4gICAgcGFkZGluZzogMjBweCAyMXB4IDE1cHg7XG4gIH1cblxuICAuaGVybyB7XG4gICAgcGFkZGluZzogOTVweCAwIDEwMXB4O1xuICB9XG59XG4iLCJiYXItY2hhcnQsXG4uc3VydmV5LWxheW91dCBtYWluIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogNDhweDtcblxuICA+IHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAudGljayB7XG4gICAgbGluZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHRzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICB9XG4gIH1cblxuICAuYzMtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gIH1cblxuICAuZG9tYWluIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9IFxuXG4gIC5jMy1ncmlkIGxpbmUge1xuICAgIHN0cm9rZTogI2VlZTtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAwO1xuICB9XG5cbiAgLmMzLWJhci5fZXhwYW5kZWRfIHtcbiAgICBmaWxsLW9wYWNpdHk6IDE7XG4gIH1cbn1cblxuIiwiLmNoZWNrbWFyay1saXN0IHtcbiAgJi0tbGFyZ2Uge1xuICAgIG1heC13aWR0aDogMzgwcHg7XG5cbiAgICBsaSB7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgICAgY29sb3I6ICM2MTZFN0U7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIGxpICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBmbGV4OiAwIDAgMjRweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzczODQ5QTs7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICAgIH1cblxuICAgIGlvbi1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIGhncm91cCB7XG4gICAgICBoNSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgICAgICBjb2xvcjogIzNDNTM2RjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICAgICAgY29sb3I6ICM5MkExQjM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tc21hbGwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgbGkge1xuICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBjb2xvcjogIzVCNzA4QjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgaW9uLWljb24ge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgY29sb3I6ICM5MkExQjM7XG4gICAgICBmbGV4OiAwIDAgMTVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gICAgfVxuICB9XG59XG4iLCIubW9kYWwgZm9ybSxcbi5mb3JtLWlubGluZSB7XG4gIG1heC13aWR0aDogNDIwcHg7XG5cbiAgaW5wdXQsXG4gIC5zZWxlY3Qtd3JhcHBlcixcbiAgdGV4dGFyZWEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMWU1ZWQ7XG4gICAgLy8gcGFkZGluZzogMTVweCA1cHggMTVweCAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMnM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRsaWdodGlzaC1ncmV5O1xuICAgIH1cblxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkbGlnaHRpc2gtZ3JleTtcbiAgICB9XG4gICAgXG4gICAgJjp2YWxpZCB7XG4gICAgICBib3JkZXItY29sb3I6ICNCNEJCQzU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6ICRibHVlO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cblxuICBpbnB1dC5pbnZhbGlkLFxuICBpbnB1dC5uZy10b3VjaGVkOm5vdCg6Zm9jdXMpOm5vdCg6dmFsaWQpIHtcbiAgICBib3JkZXItY29sb3I6ICRyZWQ7XG4gIH1cblxuICBpbnB1dCxcbiAgLnNlbGVjdC13cmFwcGVyLFxuICBpbnB1dC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxOTBweDtcbiAgICBtYXJnaW46IDAgN3B4IDEwcHggMDtcbiAgICBoZWlnaHQ6IDQzcHg7XG5cbiAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAmOm50aC1jaGlsZCg0KSxcbiAgICAmOm50aC1jaGlsZCg2KSxcbiAgICAmOm50aC1jaGlsZCg4KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTkwcHg7XG4gICAgfVxuXG4gICAgJi5mdWxsLXdpZHRoLFxuICAgICYuZnVsbC13aWR0aDpudGgtY2hpbGQoMiksXG4gICAgJi5mdWxsLXdpZHRoOm50aC1jaGlsZCg0KSxcbiAgICAmLmZ1aWxsLXdpZHRoOm50aC1jaGlsZCg2KSxcbiAgICAmLmZ1aWxsLXdpZHRoOm50aC1jaGlsZCg4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAvLyBib3JkZXItY29sb3I6ICNCNEJCQzU7XG5cbiAgICAudXAge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJGdyZXk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiAxM3B4O1xuICAgIH1cblxuICAgIC5kbiB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAkZ3JleTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYubnVsbCB7XG4gICAgICBib3JkZXItY29sb3I6ICRsaWdodGVyLWdyZXk7XG5cbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHRpc2gtZ3JleTtcbiAgICAgIH1cblxuICAgICAgLnVwIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGxpZ2h0aXNoLWdyZXkgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmRuIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGxpZ2h0aXNoLWdyZXkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTJweDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkgIHtcbiAgICBpbnB1dCxcbiAgICBpbnB1dDpudGgtY2hpbGQoMiksXG4gICAgaW5wdXQ6bnRoLWNoaWxkKDYpLFxuICAgIHNlbGVjdDpudGgtY2hpbGQoNCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgcGFkZGluZzogMTBweCAxM3B4IDhweDtcbiAgICBoZWlnaHQ6IDQxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5zdWNjZXNzIHtcbiAgICBjb2xvcjogJGdyZWVuO1xuICB9XG5cbiAgLmVycm9yIHtcbiAgICBjb2xvcjogJHJlZDtcbiAgfVxufVxuIiwiLm5hdmJhci1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMzQ3ZWZmLCAjMWVhM2ZmKTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtaW4taGVpZ2h0OiAzMnB4O1xuICB6LWluZGV4OiAzMDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDFweDtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuXG4gICAgJi5wcm9kdWN0cy1wYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cblxuXG4gICYuZW50ZXJwcmlzZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgIC5uYXZiYXItYnJhbmQgc3ZnIHtcbiAgICAgIGZpbGw6ICMwMDA7XG4gICAgfVxuXG4gICAgLm5hdmJhci10b2dnbGUgaSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAubmF2YmFyLXRvZ2dsZTpob3ZlciBpIHtcbiAgICAgIGNvbG9yOiByZ2JhKCMwMDAsIDAuNik7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1oZWFkZXIge1xuICAgIC8vIHdpZHRoOiAxMzJweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nOiAxcHggMCAwIDEzcHg7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBvcGFjaXR5O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTI4cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgIH1cbiAgfVxuXG4gICYudHJhbnNwYXJlbnQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDFweCAycHggMHB4IHJnYmEoMCwgMjAsIDU2LCAwLjA2KTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDRweCByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgICB9XG4gIH1cblxuXG4gICNpb25pYy1pby1sb2dvIHtcbiAgICBmaWxsOiAjZmZmO1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogOTZweDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAubGlnaHQgJixcbiAgICAmLmxpZ2h0IHtcbiAgICAgIGZpbGw6ICMzODgwRkY7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICBmaWxsOiAjMzg4MEZGO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXgtaGVpZ2h0OiAzMnB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAmLm5hdmJhci1jZW50ZXIge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgICAmLm5hdmJhci1jZW50ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMHB4OyAvL29mZnNldCB0byBhbGlnbiB3aXRoIHByZS1oZWFkZXIgYW5ub3VuY2VtZW50XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgJi5zbS1oaWRlIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICAgICAgJi5oaWRlLWx0LWxnLFxuICAgICAgICAuaGlkZS1sdC1sZyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgICAgICYuaGlkZS1ndC1tZCxcbiAgICAgICAgLmhpZGUtZ3QtbWQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgY29sb3I7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDlweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSh3aGl0ZSwgLjY1KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW4gPiBhIHtcbiAgICAgICAgY29sb3I6IHJnYmEod2hpdGUsIC42NSkgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6IHJnYmEod2hpdGUsIDAuNCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KTtcbiAgICAgIH1cblxuICAgICAgLmxpZ2h0ICYub3BlbiA+IGEge1xuICAgICAgICBjb2xvcjogIzEzMTkyNCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAmLmhlYWRlci1idG4td2hpdGUge1xuICAgICAgICBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHdoaXRlLCAxKTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIHBhZGRpbmc6IDZweCA4cHggNnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsMC4xKTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBib3gtc2hhZG93LCAwLjNzIGJhY2tncm91bmQ7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYShibGFjaywgLjE1KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEod2hpdGUsIDEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDRweCByZ2JhKDAsMCwwLC4yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmJsdWUge1xuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmx1ZSwgLjkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gIC8vIG1vYmlsZSB3aWR0aCBhbmltYXRpb24gJiBkZWZhdWx0IHN0eWxlc1xuICAuZHJvcGRvd24ge1xuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdmlzaWJpbGl0eTogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIG9wYWNpdHkgMC4zcztcbiAgICB9XG5cbiAgICAmLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgLy8gJjpob3ZlciAuZHJvcGRvd24tbWVudSB7XG4gICAgICB2aXNpYmlsaXR5OiAxO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIH1cblxuICAgIC5kaXZpZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlZWYyO1xuICAgICAgbWFyZ2luOiA2cHggMCAxM3B4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBkZXNrdG9wIHdpZHRoIGFuaW1hdGlvblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAuZHJvcGRvd24ge1xuICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgdG9wOiAzOXB4O1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyOHB4IHJnYmEoMCwgMTYsIDQ0LCAwLjE4KSwgMCAxcHggNXB4IHJnYmEoMCwgMTYsIDQ0LCAwLjIpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0b3A6IC0yMDAwcHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC0xMHB4LCAwKSBzY2FsZSgxLDEpIHBlcnNwZWN0aXZlKDFweCk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzYsMC42NiwwLjA0LDEpLCBvcGFjaXR5IDAuMnMgbGluZWFyLCB0b3AgMC4yNXMgc3RlcC1lbmQ7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuXG4gICAgICAgICZfX3RleHQtLWwxLFxuICAgICAgICAmX190ZXh0LS1sMixcbiAgICAgICAgJl9fdGV4dC0tbDMsXG4gICAgICAgICZfX3RleHQtLWw0IHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgICAgICAgIGNvbG9yOiAjNTI5MEZFO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGV4dC0tbDEge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICAgaW9uLWljb24ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIDAuMnM7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAzcHgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIgaW9uLWljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAzcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQtLWwyIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQtLWwzIHtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQtLWw0IHtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgY29sb3I6ICNCMkJFQ0Q7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsICsgaDYge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDI2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBhLFxuICAgICAgICBsaSxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSxcbiAgICAgICAgc3BhbixcbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiA4cHggMjhweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDIzMHB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBhLmRyb3Bkb3duLW1lbnVfX3RleHQtLWwxIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMnB4IDI4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBhLmRyb3Bkb3duLW1lbnVfX3RleHQtLWwzIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMjhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAjNTI5MEZFO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJpZyBhIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDY1cHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGNvbG9yOiAjNzM4NDlBICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBjb2xvcjogIzUyOTBGRTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS13aXRoYmlncyB7XG4gICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgICAgIC5iaWc6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgfVxuXG4gICAgICAgICAgIC5iaWcgKyAuZGl2aWRlciB7XG4gICAgICAgICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6ICMzMzc2ZTg7XG5cbiAgICAgICAgICBzdHJvbmcsXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogIzMzNzZlODtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGl2aWRlciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2Y4ZjlmYjtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICB+IGxpIGEsXG4gICAgICAgICAgfiBsaSBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGNkY4RkI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgfiBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjFweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA4cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNwbGl0IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgbWluLXdpZHRoOiAzNjBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuXG4gICAgICAgICAgYSxcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuc20ge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCAyOHB4O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGJsdWUsIDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gN3B4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW4gLmRyb3Bkb3duLW1lbnUsXG4gICAgICAmOmhvdmVyIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdG9wOiAzOXB4O1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApIHNjYWxlKDEsMSkgcGVyc3BlY3RpdmUoMXB4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllciguMTcsLjY3LC41MiwxKSwgb3BhY2l0eSAwLjFzIGxpbmVhciwgdG9wIDAuMjVzIHN0ZXAtc3RhcnQ7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gICAgICB9XG5cbiAgICAgIC5jYXJldCB7XG4gICAgICAgIGJvcmRlci10b3A6IDNweCBkYXNoZWQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC52ZXJzaW9uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDEycHggNXB4IDA7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgcGFkZGluZzogMTNweCAxMHB4IDA7XG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogcmdiYSh3aGl0ZSwgLjcpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBwYWRkaW5nOiAxMnB4IDAgMTBweDtcbiAgICAgIHRvcDogNTJweDtcbiAgICAgIGxlZnQ6IDcwcHg7XG4gICAgICByaWdodDogLTEwMHB4O1xuICAgICAgbWluLXdpZHRoOiAyMDVweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIC4xNSksIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAuMik7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSguMDEpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMjAlIDhweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllciguMTU1LCAxLjEwNSwgLjI5NSwgMS4xMiksIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG5cbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiA2cHggMjNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgIGk6OmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICYuYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvaWNvLW5hdi1hcnJvdy5wbmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICBsZWZ0OiAzNXB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1mb3JtIHtcbiAgICBtYXJnaW46IDZweCAwIDAgMTEwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTMzMHB4KSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4MDBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzOHB4O1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjIsIDAuODUsIDAuMiwgMS4xKTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICB3aWR0aDogMjcwcHg7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICBjb250ZW50OiAnXFxmNGE1JztcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuXG4gICAgICAuZm9ybS1ncm91cCBpbnB1dDpmb2N1cyB7XG4gICAgICAgIHdpZHRoOiAxOTJweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcblxuICAgICAgLmZvcm0tZ3JvdXAgaW5wdXQge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1ncm91cCBpbnB1dDpmb2N1cyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMjBweCk7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDM4cHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZSxcbiAgLnNpZGViYXItdG9nZ2xlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgaSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBmb250LXNpemU6IDI3cHg7XG4gICAgICB0b3A6IC0zcHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MsIHRyYW5zZm9ybSAwLjNzLCBvcGFjaXR5IDAuM3M7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgaSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pb24tbWQtY2xvc2Uge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBpIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgfVxuXG4gICAgICBpOm5vdCguaW9uLW1kLWNsb3NlKSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIC5pb24tbWQtY2xvc2Uge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi50cmFuc3BhcmVudCAubmF2YmFyLXRvZ2dsZSxcbiAgJi50cmFuc3BhcmVudCAuc2lkZWJhci10b2dnbGUge1xuICAgIGkge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgIH1cblxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBpIHtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLnNpZGViYXItdG9nZ2xlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDhweCAxMHB4IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIG1pbi1oZWlnaHQ6IDYycHg7XG4gICAgcGFkZGluZy10b3A6IDEzcHg7XG4gICAgbWFyZ2luLXRvcDogLTI3cHg7XG5cbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgfVxuXG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjNweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjNweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLWJ0bi13aGl0ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyOHB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTUxNHB4KSB7XG4gICAgICAubmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTRweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTRweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQG1lZGlhIChtYXgtd2lkdGg6IDEyMjZweCkge1xuICAgIC8vICAgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgIC8vICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAvLyAgICAgcGFkZGluZy1yaWdodDogNHB4O1xuICAgIC8vICAgfVxuICAgIC8vIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTEwNnB4KSBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgICNoZWFkZXItc2VhcmNoIHtcbiAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMDZweCkgYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICAuaGlkZS1zbSxcbiAgICAgIC5zbS1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgICAuaGlkZS1sdC1sZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgICAgLmhpZGUtZ3QtbWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODkycHgpIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgICAgLmhlYWRlci1idG4sXG4gICAgICAuaGVhZGVyLWJ0bi13aGl0ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2lvbmljLWRvY3MtYmFjayxcbiAgICAjaW9uaWMtZG9jcy1sb2dvIHtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyB0cmFuc2Zvcm0sIDAuM3Mgb3BhY2l0eTtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTNweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjaW9uaWMtZG9jcy1iYWNrIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgbGVmdDogMTNweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEpO1xuICAgIH1cblxuICAgICNpb25pYy1kb2NzLXRleHQge1xuICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIH1cblxuICAgICNpb25pYy1wcm8tZG9jcy10ZXh0IHtcbiAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICB9XG5cbiAgICAubmF2YmFyLWJyYW5kIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiA4OHB4O1xuICAgICAgfVxuXG4gICAgICAmLmxvZ28ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICNpb25pYy1kb2NzLWxvZ28ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTNweCwgMCwgMCkgc2NhbGUzZCgxLjEsIDEuMSwgMSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgI2lvbmljLWRvY3MtYmFjayB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtM3B4LCAwLCAwKSBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyOmFjdGl2ZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtM3B4LCAwLCAwKSBzY2FsZTNkKC45LCAuOSwgMSk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTIwJSA4MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICArIC5jdGEge1xuICAgIC5iYXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYShibGFjaywgLjkpO1xuICAgICAgbWluLWhlaWdodDogNjRweDtcblxuICAgICAgLmNvbnRhaW5lciA+IGRpdixcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogcmdiYSh3aGl0ZSwuNyk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuXG4gICAgICAmLmFmZml4LXRvcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cblxuICAgICAgJi5hZmZpeCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICB9XG5cbiAgICAgICYudGFiYmVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZiZmNmZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZWlzaDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi5hZmZpeCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSksIDAgMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcblxuICAgICAgICAgIHVsIGxpIGEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgcGFkZGluZzogbm9uZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDE4cHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICBtYXJnaW46IDAgMTVweCAtMXB4O1xuICAgICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JleTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBib3JkZXItY29sb3IgMC4ycztcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIGEge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSBhLFxuICAgICAgICAgICAgYTphY3RpdmUsXG4gICAgICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICBsaSBhIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgJi5saWdodCB7XG4gICAgICAjaW9uaWMtaW8tbG9nbyB7XG4gICAgICAgIGZpbGw6ICM0ZjYzODQ7XG4gICAgICB9XG5cbiAgICAgIC5uYXZiYXItbmF2ID4gbGk6bm90KC5oZWFkZXItYnRuLXdoaXRlKSA+IGEsXG4gICAgICAubmF2YmFyLW5hdiBpb25pYy1zZWFyY2ggaW9uLWljb24ge1xuICAgICAgICBjb2xvcjogIzc4ODI5NDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm5hdmJhci1uYXYgPiBsaS5hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICNjN2QwZTA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5lbnRlcnByaXNlIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwYWRkaW5nLXRvcDogIDM2cHg7XG5cbiAgICAgIC5uYXZiYXItbmF2ID4gbGk6bm90KC5oZWFkZXItYnRuLXdoaXRlKSA+IGEsXG4gICAgICAubmF2YmFyLW5hdiBpb25pYy1zZWFyY2ggaW9uLWljb24ge1xuICAgICAgICBjb2xvcjogIzRFNUI2QTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzkyQTFCMztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgICAubmF2YmFyLW5hdiA+IGxpLm9wZW4gPiBhIHtcbiAgICAgICAgY29sb3I6ICM5MkExQjMgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLm5hdmJhci1uYXYgPiBsaTpub3QoLmhlYWRlci1idG4td2hpdGUpID4gYSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTRweCAxMHB4O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWludGVyO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG5cbiAgICAgIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAjNEU1QjZBO1xuICAgICAgfVxuXG4gICAgICAubmF2YmFyLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgfVxuXG4gICAgICAubmF2YmFyLWNlbnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAmLm5hdmJhci1zdGlja3kge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjaGVhZGVyLWJ0bi1vdXRsaW5lIHtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgYm9yZGVyO1xuICAgICAgcGFkZGluZzogMnB4IDEwcHggNHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDE0cHg7XG4gICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCMzODgwRkYsIDAuNCk7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCMzODgwRkYsIDAuOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1yaWdodCA+IGxpID4gYSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICB9XG5cbiAgJi5uYXZiYXItc3RpY2t5IHtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgcGFkZGluZzogMjBweCAwcHg7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDBweCAycHggNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDQpLFxuICAgICAgMHB4IDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4wMik7XG4gIH1cblxuICBpb25pYy1zZWFyY2g6bm90KC5oeWRyYXRlZCkge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDMxcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuXG59XG5cbi5kb2NzIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgICYubmF2YmFyLWNlbnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gZml4IGZvciB0aGUgaGVhZGVyIGNvbXBvbmVudCBBUEkgZG9jcyBwYWdlLiBpdCBjb25mbGljdHMgdy8gYSBib290c3RyYXBcbi8vIGNvbXBvbmVudFxuXG5ib2R5LnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLm5hdmJhci1kYXJrIHtcbiAgYmFja2dyb3VuZDogIzExMTkyYTtcbn1cblxuLmV4dGVybmFsLWljb24ge1xuICAuZXh0ZXJuYWwtaWNvbl9fYmFja2dyb3VuZCB7XG4gICAgZmlsbDogIzk3QkRGRjtcbiAgfVxuICAuZXh0ZXJuYWwtaWNvbl9fZm9yZWdyb3VuZCB7XG4gICAgZmlsbDogI2ZmZjtcbiAgfVxufVxuXG4ubGlnaHQgLmV4dGVybmFsLWljb24sXG4uZXh0ZXJuYWwtaWNvbi0tbGlnaHQge1xuICAuZXh0ZXJuYWwtaWNvbl9fYmFja2dyb3VuZCB7XG4gICAgZmlsbDogI2U1ZTdlYTtcbiAgfVxuICAuZXh0ZXJuYWwtaWNvbl9fZm9yZWdyb3VuZCB7XG4gICAgZmlsbDogIzdhODQ5NjtcbiAgfVxufVxuIiwiLmhic3B0LWZvcm0ge1xuICBtYXgtd2lkdGg6IDQyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAuaHMtZm9ybS1yZXF1aXJlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGZvcm0ge1xuICAgIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0yIC5pbnB1dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkIC5maWVsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgfVxuICB9XG5cbiAgLmhzLWlucHV0LFxuICBpbnB1dC5ocy1pbnB1dCxcbiAgc2VsZWN0LmhzLWlucHV0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTFlNWVkO1xuICAgIC8vIHBhZGRpbmc6IDE1cHggNXB4IDE1cHggMThweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjJzO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyOTtcblxuICAgICY6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRsaWdodGlzaC1ncmV5O1xuICAgIH1cblxuICAgICY6dmFsaWQge1xuICAgICAgLy8gYm9yZGVyLWNvbG9yOiAjQjRCQkM1O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSwge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJsdWU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgICYuaHMtaW5wdXQuZXJyb3Ige1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcmVkO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdC5ocy1pbnB1dCB7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2cHgpICFpbXBvcnRhbnQ7XG4gIH1cblxuICB0ZXh0YXJlYS5ocy1pbnB1dCB7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgM3B4KSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDE5MnB4O1xuICB9XG5cbiAgLmhzX3N1Ym1pdCBpbnB1dC5ocy1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHggMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgbGluZWFyO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLC4xMik7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsMCwwLC4xMik7XG4gICAgICBiYWNrZ3JvdW5kOiAjNTk5NWZjO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgICY6YWN0aXZlLFxuICAgICY6YWN0aXZlOm5vdCguaW5hY3RpdmUpOm5vdCgubGluayksXG4gICAgJjpmb2N1czpub3QoLmluYWN0aXZlKSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDRweCByZ2JhKDAsMCwwLC4yKTtcbiAgICAgIGJhY2tncm91bmQ6ICM1OTk1ZmM7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdWJtaXR0ZWQtbWVzc2FnZSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9jaGVja21hcmstbGlnaHQtZ3JlZW4uc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgd2lkdGg6IDQycHg7XG4gICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cblxuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBwYWRkaW5nOiAzNHB4IDAgNzhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzM1YWY1NTtcbiAgICBtYXgtd2lkdGg6IDQxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbi5tb2RhbCAuaGJzcHQtZm9ybSAuaHNfc3VibWl0IGlucHV0LmhzLWJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5odWJzcG90LW92ZXJyaWRlIC5oYnNwdC1mb3JtIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zeXN0ZW07XG4gIC8vIFRPRE8gdGhlc2Ugc3R5bGVzIGFyZSBvbmx5IHVzZWQgb24gY29udHJpYnV0b3JzIGxhbmRpbmcsXG4gIC8vIG5lZWQgdG8gYmUgYXBwbGllZCB0byBhbGwgaHVic3BvdCBmb3Jtc1xuXG4gICYsXG4gICYgZmllbGRzZXQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIGZpZWxkc2V0ICsgZmllbGRzZXQsXG4gIC8vIGZvcm0uc3RhY2tlZCAuaHMtZm9ybS1maWVsZCArIC5ocy1mb3JtLWZpZWxkLFxuICAvLyBmaWVsZHNldCAuaHMtZm9ybS1maWVsZCArIC5ocy1mb3JtLWZpZWxkLFxuICAvLyBmb3JtLnN0YWNrZWQgLmhzLWZvcm0tZmllbGQgKyAuaHMtZGVwZW5kZW50LWZpZWxkIHtcbiAgLy8gICBtYXJnaW4tdG9wOiAyNnB4O1xuICAvLyB9XG4gICAuaHMtZm9ybS1maWVsZCB7XG4gICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICB9XG5cbiAgbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgfVxuXG4gIC5ocy1mb3JtLXJlcXVpcmVkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgY29sb3I6ICNGNDU0NTQ7XG4gICAgbWFyZ2luLWxlZnQ6IDRweFxuICB9XG5cbiAgLmhzLXJpY2h0ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cblxuICAuaHMtaW5wdXQsXG4gIGlucHV0LmhzLWlucHV0IHtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4zcztcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNmUzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM5Mjg2O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAxMXB4IDE1cHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICM1MDU4NjM7XG4gIH1cblxuICBpbnB1dC5ocy1pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIGlucHV0LmhzLWlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBpbnB1dC5ocy1pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIGlucHV0LmhzLWlucHV0W3R5cGU9XCJ0ZWxcIl0gIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzYyOWVmZjtcbiAgICB9XG4gIH1cblxuICBpbnB1dC5ocy1pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0LmhzLWlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICB9XG5cbiAgLmhzLWZvcm0tYm9vbGVhbmNoZWNrYm94LWRpc3BsYXkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBzZWxlY3QuaHMtaW5wdXQge1xuICAgIGhlaWdodDogNDRweDtcblxuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOlxuICAgICAgbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCA1MCUsIGdyYXkgNTAlKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGdyYXkgNTAlLCB0cmFuc3BhcmVudCA1MCUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246XG4gICAgICBjYWxjKDEwMCUgLSAyMHB4KSA1MCUsXG4gICAgICBjYWxjKDEwMCUgLSAxNXB4KSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOlxuICAgICAgNXB4IDVweCxcbiAgICAgIDVweCA1cHgsXG4gICAgICAxcHggMS41ZW07XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxuXG4gIGZvcm0gZmllbGRzZXQuZm9ybS1jb2x1bW5zLTIgLmlucHV0IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMiAuaHMtZm9ybS1maWVsZCB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dHMtbGlzdCxcbiAgLmhzLWVycm9yLW1zZ3Mge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxuXG4gIC5pbnB1dHMtbGlzdC5tdWx0aS1jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaTpudGgtbGFzdC1jaGlsZChuKzYpOmZpcnN0LWNoaWxkLFxuICAgIGxpOm50aC1sYXN0LWNoaWxkKG4rNik6Zmlyc3QtY2hpbGQgfiBsaSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4O1xuICAgIH1cbiAgICBsaTpudGgtbGFzdC1jaGlsZChuKzYpOmZpcnN0LWNoaWxkIH4gbGk6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XG4gICAgfVxuICB9XG5cbiAgLmhzLWZvcm0tY2hlY2tib3gtZGlzcGxheSB7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAuaHMtZm9ybS1jaGVja2JveC1kaXNwbGF5IC5ocy1pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl17XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG5cbiAgLmhzLWZvcm0tY2hlY2tib3gtZGlzcGxheSBzcGFuIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICM1MDU4NjM7XG4gIH1cblxuXG4gIC5ocy1lcnJvci1tc2dzIHtcbiAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogI0Y0NTQ1NDtcbiAgfVxuXG4gIC5oc19zdWJtaXQge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cblxuICAuaHNfc3VibWl0IGlucHV0LmhzLWJ1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogIzM4ODBmZjtcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDdweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgICAgYmFja2dyb3VuZDogIzRkOGRmZDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0yIC5ocy1mb3JtLWZpZWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmICsgLmhzLWZvcm0tZmllbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuaW5wdXRzLWxpc3QubXVsdGktY29udGFpbmVyIHtcbiAgICAgIGxpOm50aC1sYXN0LWNoaWxkKG4rNik6Zmlyc3QtY2hpbGQsXG4gICAgICBsaTpudGgtbGFzdC1jaGlsZChuKzYpOmZpcnN0LWNoaWxkIH4gbGkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICBsaTpudGgtbGFzdC1jaGlsZChuKzYpOmZpcnN0LWNoaWxkIH4gbGk6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuaHNfc3VibWl0IGlucHV0LmhzLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmh1YnNwb3Qtb3ZlcnJpZGUtLWxhcmdlIC5oYnNwdC1mb3JtIHtcbiAgbGFiZWw6bm90KC5ocy1mb3JtLWJvb2xlYW5jaGVja2JveC1kaXNwbGF5KSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIH1cblxuICAuaHMtZm9ybS1ib29sZWFuY2hlY2tib3gtZGlzcGxheSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG5cbiAgLmhzLXJpY2h0ZXh0IHtcbiAgICBwIHNwYW4sXG4gICAgcCBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG4gIH1cblxuICAuaHMtaW5wdXQsXG4gIGlucHV0LmhzLWlucHV0IHtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHggMThweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cblxuICBzZWxlY3QuaHMtaW5wdXQge1xuICAgIHRleHQtaW5kZW50OiAxMHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgfVxuICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIHNlbGVjdC5ocy1pbnB1dCB7XG4gICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmhzLWVycm9yLW1zZ3MgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0yIC5ocy1mb3JtLWZpZWxkIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cblxuICAuaHNfc3VibWl0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDE4cHg7XG4gIH1cblxuICAuaHNfc3VibWl0IGlucHV0LmhzLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMjJweCAyN3B4IDI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMiAuaHMtZm9ybS1maWVsZCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uaHVic3BvdC1vdmVycmlkZS0tbWVhc3VyZSB7XG4gIG1heC13aWR0aDogNzQ4cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCIvKipcbiAqIFRoZSBTdWIgSGVhZGVyIHNpdHMgdW5kZXIgdGhlIG1haW4gbmF2aWdhdGlvbiB0byBkaXNwbGF5IGNvbnRleHQtc3BlY2lmaWNcbiAqIHBhZ2UgaW5mb3JtYXRpb24sIHdpZGdldHMsIGFuZCBsaW5rcy5cbiAqIFNlcHRlbWJlciAyMDE3XG4gKi9cbi5zdWItaGVhZGVyIHtcbiAgJiA+IC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogIzY5NzM4NDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEod2hpdGUsIC4wNik7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICBsZWZ0OiAxNXB4O1xuICAgICAgZmxleDogMCAwIDEwMCVcbiAgICB9XG4gICAgJjo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG4gIH1cblxuICB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgdWw6bm90KC5icmVhZGNydW1icykge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBmb250LXNpemU6IDExcHg7XG5cbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiAxOHB4IDE1cHg7XG4gICAgfVxuXG4gICAgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIGE6bm90KC5idG4pIHtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgcGFkZGluZzogMCAwIDRweDtcbiAgICB9XG5cbiAgICBhOm5vdCguYnRuKTpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgfVxuXG4gICAgYTpub3QoLmJ0bikuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1taW4pICB7XG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDE4cHggOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5icmVhZGNydW1icyB7XG4gICAgZm9udC1mYW1pbHk6IFwiRWluYVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgLy8gdG9kbzogU2V0IEVpbmEgZ2xvYmFsbHlcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAmLnNtIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMTdweCAwO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcvJztcbiAgICAgICAgY29sb3I6IHJnYmEod2hpdGUsIC4xKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IDBweDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGEsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogcmdiYSh3aGl0ZSwgMSk7XG4gICAgICB0cmFuc2l0aW9uOiAuMnMgY29sb3I7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG5cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKHdoaXRlLCAuMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJyZWFkY3J1bWJzLS1zbWFsbCB7XG4gICAgJixcbiAgICBsaTphZnRlciB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxuXG4gICAgbGkgYSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAxOHB4IDE1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAuMnMgY29sb3I7XG5cbiAgICAmLmN1cnJlbnQsXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6IHJnYmEod2hpdGUsIC40KVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEod2hpdGUsIC40KTtcbiAgICB9XG5cbiAgICAmLmJ0biB7XG4gICAgICBwYWRkaW5nOiA2cHggOHB4IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDlweDtcbiAgICAgIHRyYW5zaXRpb246IC4zcyBib3gtc2hhZG93LCAuM3MgYmFja2dyb3VuZDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDRweCByZ2JhKDAsMCwwLC4yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmJvZHkubGlnaHQgLnN1Yi1oZWFkZXIge1xuICAuY29udGFpbmVyOjpiZWZvcmUge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKGJsYWNrLCAuMDYpO1xuICB9XG5cbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBsaSB7XG4gICAgICBjb2xvcjogIzI3MmEyZjtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjpyZ2JhKGJsYWNrLCAuMylcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjN2E4OGEwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAjNjk3Mzg0O1xuXG4gICAgJi5jdXJyZW50LFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjYjFiYmNhO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgIH1cbiAgfVxufVxuIiwiLmhlcm8ge1xuICBwYWRkaW5nLXRvcDogMTI4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA3MnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJi5sZWZ0IHtcbiAgICAuY29udGVudCB7XG4gICAgICB3aWR0aDogNDE1cHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpICB7XG4gICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkgIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdyYXBoaWNzIHtcbiAgICAgIHRvcDogMTUwcHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAuY29udGVudCB7XG4gICAgICB3aWR0aDogNDUxcHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpICB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ3JhcGhpY3Mge1xuICAgIHdpZHRoOiA1MDBweDtcblxuICAgIHZpZGVvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICB0b3A6IDEwcHg7XG5cbiAgICAgICY6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSAge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIHZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgY29sb3I6ICRkYXJrLWdyZXk7XG5cbiAgICAmICsgLmJ0bnMge1xuICAgICAgbWFyZ2luLXRvcDogMzdweDtcbiAgICB9XG4gIH1cblxuICAuZmVhdHVyZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgY29sb3I6IGJsYWNrO1xuXG4gICAgc3BhbiB7XG4gICAgICB0cmFuc2l0aW9uOiBsZWZ0IC4zcyBjdWJpYy1iZXppZXIoMC4xNTUsIDEuMTA1LCAwLjI5NSwgMS4xMik7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsYWNraXNoO1xuICAgICAgdHJhbnNpdGlvbjogcmlnaHQgLjNzIGN1YmljLWJlemllcigwLjE1NSwgMS4xMDUsIDAuMjk1LCAxLjEyKTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMzVweDtcbiAgICAgIHRvcDogOXB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMC4xNTUsIDEuMTA1LCAwLjI5NSwgMS4xMik7XG4gICAgICB3aWR0aDogMTFweDtcbiAgICAgIGhlaWdodDogMTFweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIGJvcmRlci1yaWdodDogMC4xZW0gc29saWQ7XG4gICAgICBib3JkZXItdG9wOiAwLjFlbSBzb2xpZDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLDAsMSkgcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgtMjVweCwgMjVweCwgMCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgc3BhbiB7XG4gICAgICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNXB4LCAwLCAwKTtcbiAgICAgICAgbGVmdDogNXB4O1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSkgcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICArIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgICBjb2xvcjogIzI3MmEyZjtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuICB9XG5cbiAgaDIge1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICB9XG5cbiAgaDMgKyBwIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIH1cbn1cbiIsIi50cmFuc3BhcmVudCAuY3RhIHtcbiAgbWFyZ2luLXRvcDogLTc4cHg7XG4gIHBhZGRpbmctdG9wOiA3OHB4O1xufVxuXG4uY3RhIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAkYmx1ZTtcblxuICAmLmdyYWRpZW50IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoNTIsMTI2LDI1NSwxKSAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoNDEsMTQ0LDI1NSwxKSA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDM0LDEzMywyNTUsMSkgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgzMCwxNjEsMjU1LDEpIDEwMCUpO1xuICB9XG5cbiAgLmNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgaGdyb3VwIHtcbiAgICBwYWRkaW5nLXRvcDogMzNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTRweDtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogcmdiYSh3aGl0ZSwgLjcpO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiByZ2JhKHdoaXRlLCAuOSk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzbWFsbCB7XG4gICAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicyB7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjdmYTtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDQzcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG5cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogIzI3MmEyZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzcyN2E4NztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDMycHggMCAyOHB4IDg1cHg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzIGJveC1zaGFkb3csIC4zcyB0cmFuc2Zvcm0sIC4zcyBiYWNrZ3JvdW5kLCAuM3MgYm9yZGVyLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6YWN0aXZlLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgLjA1KSwgMCA2cHggMTBweCByZ2JhKDAsIDAsIDAsIC4wOCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEsIDEuMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAuMDUpLCAwIDZweCAxMHB4IHJnYmEoMCwgMCwgMCwgLjA4KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMiwgMS4yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2dldHRpbmctc3RhcnRlZC9nZXR0aW5nLXN0YXJ0ZWQtdG9nZ2xlLWljb25zLnBuZycpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNzBweDtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvcGFjaXR5OiAuNztcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzIG9wYWNpdHk7XG4gICAgICB9XG5cbiAgICAgICYuY3JlYXRvcjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWxlcnQge1xuICAgIGNvbG9yOiAjZmZlZWQ2O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTdlXCI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiByZ2JhKHdoaXRlLCAuOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIjcHJlLWZvb3RlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IC8vIHRvZG86IFNldCBFaW5hIGdsb2JhbGx5XG4gIGJhY2tncm91bmQ6ICR3aGl0ZWlzaDtcbiAgY29sb3I6ICM3MjdhODc7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzJweDtcblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNDUlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMDhweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2hvbWUvaWNvbnMtbGcucG5nPzEnKSBuby1yZXBlYXQgMCAtMzcycHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogOTNweDtcbiAgICAgICAgaGVpZ2h0OiA5M3B4O1xuICAgICAgICB3aWR0aDogOTNweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC05cHg7XG4gICAgICAgIHRvcDogLTVweDtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRlMWVhO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTEwJTtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmLmV4cGxvci1kb2NzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNzlweDtcbiAgICAgIH1cblxuICAgICAgJi5mb3J1bTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDY1cHg7XG4gICAgICB9XG5cbiAgICAgICYuYmxvZzo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTU4cHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGYyODcnO1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHRyYW5zaXRpb246IC4zcyB0cmFuc2Zvcm07XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpmb2N1cyAge1xuICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGJsdWUsIDEwKTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgICAgY29sb3I6ICM3MjdhODc7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICB9XG5cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5kb2NzICNwcmUtZm9vdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDIzMHB4O1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIucHJlLWhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaW50ZXI7XG4gIGJhY2tncm91bmQ6ICNGOEZBRkM7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMHB4IDAgcmdiYSgwLDIwLDU2LC4wNik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBwYWRkaW5nOiA2cHggMCA3cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjNzM4NDlBO1xuXG4gIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjb3B0aW1pemVseSB7XG4gICAgdHJhbnNpdGlvbjogLjJzIG9wYWNpdHk7XG4gIH1cblxuICBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cblxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwMjA4MTQ7XG4gIH1cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzNhNWZmO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgcGFkZGluZzogNnB4IDhweCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDlweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMmVtO1xuICAgIHRyYW5zaXRpb246IC4ycyBiYWNrZ3JvdW5kLWNvbG9yLCAuMnMgYm94LXNoYWRvdztcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgY29udGVudDogJ1xcZjNkMSc7XG4gICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigjNzNhNWZmLCA1KTtcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oIzMwNDI3ZSwgNSk7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYShibGFjaywgLjEpO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLmJhY2sge1xuICAgIGJhY2tncm91bmQ6ICNGOUY5Rjk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBhZGRpbmc6IDNweCAwO1xuXG4gICAgYSB7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgaW9uLWljb24ge1xuICAgICAgICBjb2xvcjogcmdiYSg1NiwgMTI4LCAyNTUsIDAuNyk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSBlYXNlLCAuMnMgb3BhY2l0eTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG5cbiAgICAgICAgJi5oeWRyYXRlZCB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICBpb24taWNvbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZG9jcy1jb250YWluZXIgKyBmb290ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0YzRjVGOTtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWVpbmE7XG5cbiAgLmxvZ28gc3ZnIHtcbiAgICBmaWxsOiAjMzg4MEZGO1xuICAgIHdpZHRoOiA3OHB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgfVxuXG4gIG5hdiAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgJi5jb250YWluZXIge1xuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5sb2dvLFxuICAgIHVsIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMXB4O1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgICAgICBjb2xvcjogIzczODQ5QTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgcGFkZGluZzogMTFweCAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaW50ZXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaWdudXAge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGhncm91cCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICBpb25pYy1uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cblxuICAgIGhncm91cCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvZm9vdGVyL2Zvb3Rlci1uZXdzbGV0dGVyLWljb24ucG5nJykgbm8tcmVwZWF0IDFweCA4cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDYzcHg7XG4gICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTFweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICM3Mzg0OUE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxNmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIHBhZGRpbmctdG9wOiA0NnB4O1xuXG4gICAgbmF2IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgLmxvZ28ge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cblxuXG4gICAgfVxuXG4gICAgLnNpZ251cCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICBoZ3JvdXAsXG4gICAgICBpb25pYy1uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgfVxuXG4gICAgICBpb25pYy1uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBuYXYge1xuICAgICAgLmxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGZsZXg6IDAgMCAzMyU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM2cHhcbiAgICAgIH1cblxuICAgICAgdWwgbGkgYSB7XG4gICAgICAgIHBhZGRpbmc6IDlweCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaWdudXAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1taW4pIHtcbiAgICBuYXYgdWwge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICB9XG5cbiAgICAuc2lnbnVwIGlvbmljLW5ld3NsZXR0ZXItc2lnbnVwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdWItZm9vdGVyIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICRncmV5O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWZmMWY1O1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgcGFkZGluZy10b3A6IDI5cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgdWw6bGFzdC1jaGlsZCBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgIC5saWNlbnNlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtM3B4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICNiY2M1ZDU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvcHlyaWdodCxcbiAgICAucHJpdmFjeSxcbiAgICAudG9zIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cblxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgZmxleDogMCAwIDc3cHg7XG4gICAgfVxuXG4gICAgLnByaXZhY3kge1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgfVxuXG4gICAgYVtpZF49YnRuLWZvb3Rlcl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICBzdmcge1xuICAgICAgICBmaWxsOiAjQ0VENkUwO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHN2ZyB7XG4gICAgICAgIGZpbGw6ICNCNEJCQzU7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxufVxuIiwiQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIC5oaWRlLXhzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5zaG93LXNtLFxuICAuc2hvdy1tZCxcbiAgLnNob3ctbGcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmhpZGUtc20ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnNob3cteHMsXG4gIC5zaG93LW1kLFxuICAuc2hvdy1sZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAuaGlkZS1tZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc2hvdy14cyxcbiAgLnNob3ctc20sXG4gIC5zaG93LWxnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbiApIHtcbiAgLmhpZGUtbGcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnNob3cteHMsXG4gIC5zaG93LXNtLFxuICAuc2hvdy1tZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLmJ0bixcbi5uYXZiYXIgLmJ0biB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICBwYWRkaW5nOiAxNHB4IDMzcHggMTRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLC4wOCksIDAgMnB4IDRweCByZ2JhKDAsMCwwLDAuMTIpO1xuICBiYWNrZ3JvdW5kOiAjMzg4MGZmO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDE0cHggcmdiYSgwLDAsMCwuMTIpLCAwIDNweCA2cHggcmdiYSgwLDAsMCwuMDgpO1xuICAgIGJhY2tncm91bmQ6ICM0ZDhkZmQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmOmFjdGl2ZTpmb2N1cyxcbiAgJjphY3RpdmU6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgYmFja2dyb3VuZDogbGlnaHRlbigkYmx1ZSwgMyk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICYub3V0bGluZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRibHVlLCAzKTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsdWUsIC4wNSk7XG4gICAgfVxuXG4gICAgJi5mYWRlZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU0LCA3NCwgMTEwLCAwLjUpO1xuICAgICAgY29sb3I6ICNBMUFCQkM7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oI0ExQUJCQywgMyk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoI0ExQUJCQywgLjA1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmJ0bi1wcmltYXJ5LFxuICAmLmxpZ2h0LWJsdWUge1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGxpZ2h0LWJsdWUsIDMpO1xuICAgIH1cblxuICAgICYub3V0bGluZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRsaWdodC1ibHVlO1xuICAgICAgY29sb3I6ICRsaWdodC1ibHVlO1xuICAgIH1cbiAgfVxuXG4gICYucmVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRjYxNzc7XG4gICAgfVxuICB9XG5cbiAgJi5saWdodCB7XG4gICAgYmFja2dyb3VuZDogI0YwRjZGRjtcbiAgICBjb2xvcjogJGJsdWU7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogZGFya2VuKCNGMEY2RkYsIDIpO1xuICAgIH1cbiAgfVxuXG4gICYubmF2eSB7XG4gICAgYmFja2dyb3VuZDogIzAwMzlhMjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oIzAwMzlhMiwgMTApO1xuICAgIH1cbiAgfVxuXG4gICYuZ3JlZW4ge1xuICAgIGJhY2tncm91bmQ6ICRncmVlbjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmFjdGl2ZTpmb2N1cyxcbiAgICAmOmFjdGl2ZTpob3ZlciAge1xuICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkZ3JlZW4sIDEwKTtcbiAgICB9XG4gIH1cblxuICAmLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAvLyBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAuMSk7XG4gICAgY29sb3I6ICRibHVlO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIC8vIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oJGJsdWUsIDUpO1xuICAgIH1cblxuICAgICY6YWN0aXZlLFxuICAgICY6YWN0aXZlOmZvY3VzLFxuICAgICY6YWN0aXZlOmhvdmVyICB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIC8vIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIC4yKTtcbiAgICB9XG5cbiAgICAmLm91dGxpbmUge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRibHVlLCAxMCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZ3JleSB7XG4gICAgYmFja2dyb3VuZDogJGdyZXk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJGdyZXk7XG4gICAgfVxuXG4gICAgJi5vdXRsaW5lIHtcbiAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6YWN0aXZlLFxuICAgICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZTpob3ZlciAge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRncmV5LCAxMCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZGFyayB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgJi5kYXJrLXBpbmsge1xuICAgIGJhY2tncm91bmQ6ICMyMTJmNDU7XG4gICAgLy8gYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgLjEpO1xuICAgIGNvbG9yOiAjZmY1NjdiO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICY6YWN0aXZlOmZvY3VzLFxuICAgICY6YWN0aXZlOmhvdmVyICB7XG4gICAgICBjb2xvcjogI2ZmNTY3YjtcbiAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oIzIxMmY0NSwgNSlcbiAgICB9XG4gIH1cblxuICAmLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYTgwMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlYjMyMztcbiAgICB9XG4gIH1cblxuICAmLnNtIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAxMnB4IDE5cHggMTBweDtcbiAgfVxuXG4gICYucm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMi41ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZzogMTlweCAyNXB4IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcblxuICAgICYuc20ge1xuICAgICAgcGFkZGluZzogMTRweCAyNHB4IDE0cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gICYudXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJi5taWNybyB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoIzM4ODBmZiwgMC4zKTtcbiAgICBjb2xvcjogIzM4ODBmZjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICMzODgwZmY7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgJjphY3RpdmU6aG92ZXIgIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmMmY4ZmY7XG4gICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oIzM4ODBmZiwgMTUlKTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgfVxuXG4gIH1cbn1cbiIsIi5kcmFnZ2FibGUge1xuICBoZWlnaHQ6IDM0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmNvZGUsXG4gIC5hcHAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB9XG5cbiAgLmFwcCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogOXB4IDAgMCA5cHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGUgdXJsKCcvaW1nL2hvbWUvaW9zLWxpc3QtZGVzaWduLnBuZycpIG5vLXJlcGVhdCAwIGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDU0MHB4O1xuICB9XG5cbiAgLmNvZGUge1xuICAgIGNvZGUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgfVxuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwZW07XG4gICAgICBjb3VudGVyLXJlc2V0OiBsaW5lO1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2YzZjdmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgc3Bhbi5saW5lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMCAxMnB4IDU1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpbmU7XG4gICAgICAgICAgY29udGVudDogY291bnRlcihsaW5lKTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb2xvcjogIzc5YTVmMTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50b2dnbGUge1xuICAgIHdpZHRoOiA0cHg7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMThweCByZ2JhKDAsMCwwLC4xKSwwIDAgNHB4IHJnYmEoMCwwLDAsLjA2KTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIGN1cnNvcjogZ3JhYjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy9ob21lL2RyYWctYnV0dG9uLnBuZycpIG5vLXJlcGVhdCAwIDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDY0cHg7XG4gICAgICB3aWR0aDogNjRweDtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gNDBweCk7XG4gICAgICBsZWZ0OiAtMjhweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qISBqUXVlcnkgVUkgLSB2MS4xMi4xIC0gMjAxNi0xMS0xNFxuKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4qIEluY2x1ZGVzOiBkcmFnZ2FibGUuY3NzLCB0aGVtZS5jc3NcbiogVG8gdmlldyBhbmQgbW9kaWZ5IHRoaXMgdGhlbWUsIHZpc2l0IGh0dHA6Ly9qcXVlcnl1aS5jb20vdGhlbWVyb2xsZXIvP3Njb3BlPSZmb2xkZXJOYW1lPWJhc2UmY29ybmVyUmFkaXVzU2hhZG93PThweCZvZmZzZXRMZWZ0U2hhZG93PTBweCZvZmZzZXRUb3BTaGFkb3c9MHB4JnRoaWNrbmVzc1NoYWRvdz01cHgmb3BhY2l0eVNoYWRvdz0zMCZiZ0ltZ09wYWNpdHlTaGFkb3c9MCZiZ1RleHR1cmVTaGFkb3c9ZmxhdCZiZ0NvbG9yU2hhZG93PTY2NjY2NiZvcGFjaXR5T3ZlcmxheT0zMCZiZ0ltZ09wYWNpdHlPdmVybGF5PTAmYmdUZXh0dXJlT3ZlcmxheT1mbGF0JmJnQ29sb3JPdmVybGF5PWFhYWFhYSZpY29uQ29sb3JFcnJvcj1jYzAwMDAmZmNFcnJvcj01ZjNmM2YmYm9yZGVyQ29sb3JFcnJvcj1mMWE4OTkmYmdUZXh0dXJlRXJyb3I9ZmxhdCZiZ0NvbG9yRXJyb3I9ZmRkZmRmJmljb25Db2xvckhpZ2hsaWdodD03Nzc2MjAmZmNIaWdobGlnaHQ9Nzc3NjIwJmJvcmRlckNvbG9ySGlnaGxpZ2h0PWRhZDU1ZSZiZ1RleHR1cmVIaWdobGlnaHQ9ZmxhdCZiZ0NvbG9ySGlnaGxpZ2h0PWZmZmE5MCZpY29uQ29sb3JBY3RpdmU9ZmZmZmZmJmZjQWN0aXZlPWZmZmZmZiZib3JkZXJDb2xvckFjdGl2ZT0wMDNlZmYmYmdUZXh0dXJlQWN0aXZlPWZsYXQmYmdDb2xvckFjdGl2ZT0wMDdmZmYmaWNvbkNvbG9ySG92ZXI9NTU1NTU1JmZjSG92ZXI9MmIyYjJiJmJvcmRlckNvbG9ySG92ZXI9Y2NjY2NjJmJnVGV4dHVyZUhvdmVyPWZsYXQmYmdDb2xvckhvdmVyPWVkZWRlZCZpY29uQ29sb3JEZWZhdWx0PTc3Nzc3NyZmY0RlZmF1bHQ9NDU0NTQ1JmJvcmRlckNvbG9yRGVmYXVsdD1jNWM1YzUmYmdUZXh0dXJlRGVmYXVsdD1mbGF0JmJnQ29sb3JEZWZhdWx0PWY2ZjZmNiZpY29uQ29sb3JDb250ZW50PTQ0NDQ0NCZmY0NvbnRlbnQ9MzMzMzMzJmJvcmRlckNvbG9yQ29udGVudD1kZGRkZGQmYmdUZXh0dXJlQ29udGVudD1mbGF0JmJnQ29sb3JDb250ZW50PWZmZmZmZiZpY29uQ29sb3JIZWFkZXI9NDQ0NDQ0JmZjSGVhZGVyPTMzMzMzMyZib3JkZXJDb2xvckhlYWRlcj1kZGRkZGQmYmdUZXh0dXJlSGVhZGVyPWZsYXQmYmdDb2xvckhlYWRlcj1lOWU5ZTkmY29ybmVyUmFkaXVzPTNweCZmd0RlZmF1bHQ9bm9ybWFsJmZzRGVmYXVsdD0xZW0mZmZEZWZhdWx0PUFyaWFsJTJDSGVsdmV0aWNhJTJDc2Fucy1zZXJpZlxuKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yczsgTGljZW5zZWQgTUlUICovXG5cbi51aS1kcmFnZ2FibGUtaGFuZGxlIHtcblx0LW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcblx0dG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vKiBDb21wb25lbnQgY29udGFpbmVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktd2lkZ2V0IHtcblx0Zm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuXHRmb250LXNpemU6IDFlbTtcbn1cbi51aS13aWRnZXQgLnVpLXdpZGdldCB7XG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLXdpZGdldCBpbnB1dCxcbi51aS13aWRnZXQgc2VsZWN0LFxuLnVpLXdpZGdldCB0ZXh0YXJlYSxcbi51aS13aWRnZXQgYnV0dG9uIHtcblx0Zm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuXHRmb250LXNpemU6IDFlbTtcbn1cbi51aS13aWRnZXQudWktd2lkZ2V0LWNvbnRlbnQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjYzVjNWM1O1xufVxuLnVpLXdpZGdldC1jb250ZW50IHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcblx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0Y29sb3I6ICMzMzMzMzM7XG59XG4udWktd2lkZ2V0LWNvbnRlbnQgYSB7XG5cdGNvbG9yOiAjMzMzMzMzO1xufVxuLnVpLXdpZGdldC1oZWFkZXIge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkO1xuXHRiYWNrZ3JvdW5kOiAjZTllOWU5O1xuXHRjb2xvcjogIzMzMzMzMztcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udWktd2lkZ2V0LWhlYWRlciBhIHtcblx0Y29sb3I6ICMzMzMzMzM7XG59XG5cbi8qIEludGVyYWN0aW9uIHN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtZGVmYXVsdCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0LFxuLnVpLWJ1dHRvbixcblxuLyogV2UgdXNlIGh0bWwgaGVyZSBiZWNhdXNlIHdlIG5lZWQgYSBncmVhdGVyIHNwZWNpZmljaXR5IHRvIG1ha2Ugc3VyZSBkaXNhYmxlZFxud29ya3MgcHJvcGVybHkgd2hlbiBjbGlja2VkIG9yIGhvdmVyZWQgKi9cbmh0bWwgLnVpLWJ1dHRvbi51aS1zdGF0ZS1kaXNhYmxlZDpob3Zlcixcbmh0bWwgLnVpLWJ1dHRvbi51aS1zdGF0ZS1kaXNhYmxlZDphY3RpdmUge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjYzVjNWM1O1xuXHRiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRjb2xvcjogIzQ1NDU0NTtcbn1cbi51aS1zdGF0ZS1kZWZhdWx0IGEsXG4udWktc3RhdGUtZGVmYXVsdCBhOmxpbmssXG4udWktc3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQsXG5hLnVpLWJ1dHRvbixcbmE6bGluay51aS1idXR0b24sXG5hOnZpc2l0ZWQudWktYnV0dG9uLFxuLnVpLWJ1dHRvbiB7XG5cdGNvbG9yOiAjNDU0NTQ1O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyxcbi51aS1idXR0b246aG92ZXIsXG4udWktYnV0dG9uOmZvY3VzIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcblx0YmFja2dyb3VuZDogI2VkZWRlZDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Y29sb3I6ICMyYjJiMmI7XG59XG4udWktc3RhdGUtaG92ZXIgYSxcbi51aS1zdGF0ZS1ob3ZlciBhOmhvdmVyLFxuLnVpLXN0YXRlLWhvdmVyIGE6bGluayxcbi51aS1zdGF0ZS1ob3ZlciBhOnZpc2l0ZWQsXG4udWktc3RhdGUtZm9jdXMgYSxcbi51aS1zdGF0ZS1mb2N1cyBhOmhvdmVyLFxuLnVpLXN0YXRlLWZvY3VzIGE6bGluayxcbi51aS1zdGF0ZS1mb2N1cyBhOnZpc2l0ZWQsXG5hLnVpLWJ1dHRvbjpob3ZlcixcbmEudWktYnV0dG9uOmZvY3VzIHtcblx0Y29sb3I6ICMyYjJiMmI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnVpLXZpc3VhbC1mb2N1cyB7XG5cdGJveC1zaGFkb3c6IDAgMCAzcHggMXB4IHJnYig5NCwgMTU4LCAyMTQpO1xufVxuLnVpLXN0YXRlLWFjdGl2ZSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSxcbmEudWktYnV0dG9uOmFjdGl2ZSxcbi51aS1idXR0b246YWN0aXZlLFxuLnVpLWJ1dHRvbi51aS1zdGF0ZS1hY3RpdmU6aG92ZXIge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjMDAzZWZmO1xuXHRiYWNrZ3JvdW5kOiAjMDA3ZmZmO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS1pY29uLWJhY2tncm91bmQsXG4udWktc3RhdGUtYWN0aXZlIC51aS1pY29uLWJhY2tncm91bmQge1xuXHRib3JkZXI6ICMwMDNlZmY7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4udWktc3RhdGUtYWN0aXZlIGEsXG4udWktc3RhdGUtYWN0aXZlIGE6bGluayxcbi51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHtcblx0Y29sb3I6ICNmZmZmZmY7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtaGlnaGxpZ2h0LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RhZDU1ZTtcblx0YmFja2dyb3VuZDogI2ZmZmE5MDtcblx0Y29sb3I6ICM3Nzc2MjA7XG59XG4udWktc3RhdGUtY2hlY2tlZCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkYWQ1NWU7XG5cdGJhY2tncm91bmQ6ICNmZmZhOTA7XG59XG4udWktc3RhdGUtaGlnaGxpZ2h0IGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCBhLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhIHtcblx0Y29sb3I6ICM3Nzc2MjA7XG59XG4udWktc3RhdGUtZXJyb3IsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2YxYTg5OTtcblx0YmFja2dyb3VuZDogI2ZkZGZkZjtcblx0Y29sb3I6ICM1ZjNmM2Y7XG59XG4udWktc3RhdGUtZXJyb3IgYSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IgYSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciBhIHtcblx0Y29sb3I6ICM1ZjNmM2Y7XG59XG4udWktc3RhdGUtZXJyb3ItdGV4dCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3ItdGV4dCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvci10ZXh0IHtcblx0Y29sb3I6ICM1ZjNmM2Y7XG59XG4udWktcHJpb3JpdHktcHJpbWFyeSxcbi51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktcHJpbWFyeSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udWktcHJpb3JpdHktc2Vjb25kYXJ5LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksXG4udWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktc2Vjb25kYXJ5IHtcblx0b3BhY2l0eTogLjc7XG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTsgLyogc3VwcG9ydDogSUU4ICovXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4udWktc3RhdGUtZGlzYWJsZWQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRpc2FibGVkLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRpc2FibGVkIHtcblx0b3BhY2l0eTogLjM1O1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zNSk7IC8qIHN1cHBvcnQ6IElFOCAqL1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLXN0YXRlLWRpc2FibGVkIC51aS1pY29uIHtcblx0ZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyAvKiBzdXBwb3J0OiBJRTggLSBTZWUgIzYwNTkgKi9cbn1cblxuLyogSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBzdGF0ZXMgYW5kIGltYWdlcyAqL1xuLnVpLWljb24ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuLnVpLWljb24sXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNDQ0NDQ0XzI1NngyNDAucG5nXCIpO1xufVxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNDQ0NDQ0XzI1NngyNDAucG5nXCIpO1xufVxuLnVpLXN0YXRlLWhvdmVyIC51aS1pY29uLFxuLnVpLXN0YXRlLWZvY3VzIC51aS1pY29uLFxuLnVpLWJ1dHRvbjpob3ZlciAudWktaWNvbixcbi51aS1idXR0b246Zm9jdXMgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNTU1NTU1XzI1NngyNDAucG5nXCIpO1xufVxuLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbixcbi51aS1idXR0b246YWN0aXZlIC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zX2ZmZmZmZl8yNTZ4MjQwLnBuZ1wiKTtcbn1cbi51aS1zdGF0ZS1oaWdobGlnaHQgLnVpLWljb24sXG4udWktYnV0dG9uIC51aS1zdGF0ZS1oaWdobGlnaHQudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc183Nzc2MjBfMjU2eDI0MC5wbmdcIik7XG59XG4udWktc3RhdGUtZXJyb3IgLnVpLWljb24sXG4udWktc3RhdGUtZXJyb3ItdGV4dCAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc19jYzAwMDBfMjU2eDI0MC5wbmdcIik7XG59XG4udWktYnV0dG9uIC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzc3Nzc3N18yNTZ4MjQwLnBuZ1wiKTtcbn1cblxuLyogcG9zaXRpb25pbmcgKi9cbi51aS1pY29uLWJsYW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTZweCAxNnB4OyB9XG4udWktaWNvbi1jYXJldC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbi51aS1pY29uLWNhcmV0LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1cHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfVxuLnVpLWljb24tY2FyZXQtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggMDsgfVxuLnVpLWljb24tY2FyZXQtMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggMDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjVweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93c3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTMycHg7IH1cbi51aS1pY29uLWFycm93c3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93c3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93c3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTMycHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJuLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybi0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvdy00IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODBweDsgfVxuLnVpLWljb24tYXJyb3ctNC1kaWFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTgwcHg7IH1cbi51aS1pY29uLWV4dGxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtODBweDsgfVxuLnVpLWljb24tbmV3d2luIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTgwcHg7IH1cbi51aS1pY29uLXJlZnJlc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtODBweDsgfVxuLnVpLWljb24tc2h1ZmZsZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC04MHB4OyB9XG4udWktaWNvbi10cmFuc2Zlci1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtODBweDsgfVxuLnVpLWljb24tdHJhbnNmZXJ0aGljay1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTgwcHg7IH1cbi51aS1pY29uLWZvbGRlci1jb2xsYXBzZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9XG4udWktaWNvbi1mb2xkZXItb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC05NnB4OyB9XG4udWktaWNvbi1kb2N1bWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05NnB4OyB9XG4udWktaWNvbi1kb2N1bWVudC1iIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTk2cHg7IH1cbi51aS1pY29uLW5vdGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtOTZweDsgfVxuLnVpLWljb24tbWFpbC1jbG9zZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtOTZweDsgfVxuLnVpLWljb24tbWFpbC1vcGVuIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTk2cHg7IH1cbi51aS1pY29uLXN1aXRjYXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05NnB4OyB9XG4udWktaWNvbi1jb21tZW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC05NnB4OyB9XG4udWktaWNvbi1wZXJzb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTk2cHg7IH1cbi51aS1pY29uLXByaW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC05NnB4OyB9XG4udWktaWNvbi10cmFzaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtOTZweDsgfVxuLnVpLWljb24tbG9ja2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC05NnB4OyB9XG4udWktaWNvbi11bmxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtOTZweDsgfVxuLnVpLWljb24tYm9va21hcmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTk2cHg7IH1cbi51aS1pY29uLXRhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtOTZweDsgfVxuLnVpLWljb24taG9tZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExMnB4OyB9XG4udWktaWNvbi1mbGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTExMnB4OyB9XG4udWktaWNvbi1jYWxlbmRhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMTJweDsgfVxuLnVpLWljb24tY2FydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMTJweDsgfVxuLnVpLWljb24tcGVuY2lsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTExMnB4OyB9XG4udWktaWNvbi1jbG9jayB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMTJweDsgfVxuLnVpLWljb24tZGlzayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMTJweDsgfVxuLnVpLWljb24tY2FsY3VsYXRvciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTEycHg7IH1cbi51aS1pY29uLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTEycHg7IH1cbi51aS1pY29uLXpvb21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTExMnB4OyB9XG4udWktaWNvbi1zZWFyY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTExMnB4OyB9XG4udWktaWNvbi13cmVuY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTExMnB4OyB9XG4udWktaWNvbi1nZWFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xMTJweDsgfVxuLnVpLWljb24taGVhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTExMnB4OyB9XG4udWktaWNvbi1zdGFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMTJweDsgfVxuLnVpLWljb24tbGluayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTEycHg7IH1cbi51aS1pY29uLWNhbmNlbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4OyB9XG4udWktaWNvbi1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTEyOHB4OyB9XG4udWktaWNvbi1wbHVzdGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTI4cHg7IH1cbi51aS1pY29uLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTEyOHB4OyB9XG4udWktaWNvbi1taW51c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTEyOHB4OyB9XG4udWktaWNvbi1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMjhweDsgfVxuLnVpLWljb24tY2xvc2V0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMjhweDsgfVxuLnVpLWljb24ta2V5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMjhweDsgfVxuLnVpLWljb24tbGlnaHRidWxiIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMjhweDsgfVxuLnVpLWljb24tc2Npc3NvcnMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTEyOHB4OyB9XG4udWktaWNvbi1jbGlwYm9hcmQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTEyOHB4OyB9XG4udWktaWNvbi1jb3B5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMjhweDsgfVxuLnVpLWljb24tY29udGFjdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTI4cHg7IH1cbi51aS1pY29uLWltYWdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMjhweDsgfVxuLnVpLWljb24tdmlkZW8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTEyOHB4OyB9XG4udWktaWNvbi1zY3JpcHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTEyOHB4OyB9XG4udWktaWNvbi1hbGVydCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0NHB4OyB9XG4udWktaWNvbi1pbmZvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE0NHB4OyB9XG4udWktaWNvbi1ub3RpY2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTQ0cHg7IH1cbi51aS1pY29uLWhlbHAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTQ0cHg7IH1cbi51aS1pY29uLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE0NHB4OyB9XG4udWktaWNvbi1idWxsZXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTQ0cHg7IH1cbi51aS1pY29uLXJhZGlvLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE0NHB4OyB9XG4udWktaWNvbi1yYWRpby1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE0NHB4OyB9XG4udWktaWNvbi1waW4tdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTQ0cHg7IH1cbi51aS1pY29uLXBpbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNDRweDsgfVxuLnVpLWljb24tcGxheSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2MHB4OyB9XG4udWktaWNvbi1wYXVzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNjBweDsgfVxuLnVpLWljb24tc2Vlay1uZXh0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2MHB4OyB9XG4udWktaWNvbi1zZWVrLXByZXYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTYwcHg7IH1cbi51aS1pY29uLXNlZWstZW5kIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE2MHB4OyB9XG4udWktaWNvbi1zZWVrLXN0YXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9XG4vKiB1aS1pY29uLXNlZWstZmlyc3QgaXMgZGVwcmVjYXRlZCwgdXNlIHVpLWljb24tc2Vlay1zdGFydCBpbnN0ZWFkICovXG4udWktaWNvbi1zZWVrLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9XG4udWktaWNvbi1zdG9wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2MHB4OyB9XG4udWktaWNvbi1lamVjdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTYwcHg7IH1cbi51aS1pY29uLXZvbHVtZS1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2MHB4OyB9XG4udWktaWNvbi12b2x1bWUtb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE2MHB4OyB9XG4udWktaWNvbi1wb3dlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE3NnB4OyB9XG4udWktaWNvbi1zaWduYWwtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNzZweDsgfVxuLnVpLWljb24tc2lnbmFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE3NnB4OyB9XG4udWktaWNvbi1iYXR0ZXJ5LTAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTc2cHg7IH1cbi51aS1pY29uLWJhdHRlcnktMSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNzZweDsgfVxuLnVpLWljb24tYmF0dGVyeS0yIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE3NnB4OyB9XG4udWktaWNvbi1iYXR0ZXJ5LTMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTc2cHg7IH1cbi51aS1pY29uLWNpcmNsZS1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWFycm93LWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtYXJyb3ctcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1hcnJvdy13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWFycm93LW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtem9vbWluIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXpvb21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtY2hlY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGVzbWFsbC1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjA4cHg7IH1cbi51aS1pY29uLWNpcmNsZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIwOHB4OyB9XG4udWktaWNvbi1jaXJjbGVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMDhweDsgfVxuLnVpLWljb24tc3F1YXJlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0yMDhweDsgfVxuLnVpLWljb24tc3F1YXJlc21hbGwtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjA4cHg7IH1cbi51aS1pY29uLXNxdWFyZXNtYWxsLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIwOHB4OyB9XG4udWktaWNvbi1ncmlwLWRvdHRlZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIyNHB4OyB9XG4udWktaWNvbi1ncmlwLWRvdHRlZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIyNHB4OyB9XG4udWktaWNvbi1ncmlwLXNvbGlkLXZlcnRpY2FsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIyNHB4OyB9XG4udWktaWNvbi1ncmlwLXNvbGlkLWhvcml6b250YWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjI0cHg7IH1cbi51aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1kaWFnb25hbC1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMjRweDsgfVxuXG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIENvcm5lciByYWRpdXMgKi9cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci10b3AsXG4udWktY29ybmVyLWxlZnQsXG4udWktY29ybmVyLXRsIHtcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xufVxuLnVpLWNvcm5lci1hbGwsXG4udWktY29ybmVyLXRvcCxcbi51aS1jb3JuZXItcmlnaHQsXG4udWktY29ybmVyLXRyIHtcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbn1cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci1ib3R0b20sXG4udWktY29ybmVyLWxlZnQsXG4udWktY29ybmVyLWJsIHtcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xufVxuLnVpLWNvcm5lci1hbGwsXG4udWktY29ybmVyLWJvdHRvbSxcbi51aS1jb3JuZXItcmlnaHQsXG4udWktY29ybmVyLWJyIHtcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbn1cblxuLyogT3ZlcmxheXMgKi9cbi51aS13aWRnZXQtb3ZlcmxheSB7XG5cdGJhY2tncm91bmQ6ICNhYWFhYWE7XG5cdG9wYWNpdHk6IC4zO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MzApOyAvKiBzdXBwb3J0OiBJRTggKi9cbn1cbi51aS13aWRnZXQtc2hhZG93IHtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDVweCAjNjY2NjY2O1xuXHRib3gtc2hhZG93OiAwcHggMHB4IDVweCAjNjY2NjY2O1xufVxuIiwiLmFsZXJ0LFxuLmRvY3MtY29udGFpbmVyIG1haW4gLmFsZXJ0IHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDIwcHggMjhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTMsMjAwLDY5LC4xKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTMsMjAwLDY5LC4zKTtcbiAgY29sb3I6ICMzNTM5NDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcblxuICAvKlxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGYxMzcnO1xuICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC45KTtcbiAgfVxuICAqL1xuXG4gIGEsXG4gIGE6bm90KC5idG4pIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwgMSk7XG4gICAgb3BhY2l0eTogMTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgJi1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRncmVlbiwgMC4xKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoJGdyZWVuLCAwLjMpO1xuICB9XG59XG4iLCIuc2lkZS1uYXYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZWlzaDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgb3ZlcmZsb3cteTogLW1vei1zY3JvbGxiYXJzLW5vbmU7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmJhY2stdG8tbWFpbiB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTllZTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTJweCAxM3B4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogLjJzIGJvcmRlci1jb2xvciwgLjJzIGNvbG9yLCAuMnMgYmFja2dyb3VuZCwgLjJzIGJveC1zaGFkb3c7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgY29udGVudDogJ1xcZjNjZic7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjREZFM0U4O1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmRmZGZkO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyZXk7XG4gICAgbWluLWhlaWdodDogNTRweDtcblxuICAgICYuc2VhcmNoIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNhNGFiYjU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgICBjb250ZW50OiAnXFxmNGE1JztcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBjb2xvcjogI2JkYzNjYztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgIGxlZnQ6IDM0cHg7XG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBjb2xvcjtcbiAgICAgIH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlOWVlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMCA2cHggMzVweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogI2JkYzNjYztcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIGJvcmRlci1jb2xvciwgLjJzIGJveC1zaGFkb3c7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRibHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgIHBhZGRpbmc6IDE3cHggMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogLjJzIGJvcmRlci1jb2xvciwgLjJzIGNvbG9yLCAuMnMgYmFja2dyb3VuZCwgLjJzIGJveC1zaGFkb3c7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRibHVlO1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZGZkZmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2l0aW9uOiAuMnMgYm9yZGVyLWNvbG9yO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hcGktc2VsZWN0OjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIGNvbnRlbnQ6ICdcXGYzZDAnO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgIGNvbG9yOiAjYTRhYmI1O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxN3B4O1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB0cmFuc2l0aW9uOiAuMnMgY29sb3I7XG4gICAgfVxuICB9XG5cbiAgPiB1bC5uZXN0ZWQtbWVudSB7XG4gICAgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAjOWRhNWIzO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgID4gbGkgPiB1bCA+IGxpID4gdWwge1xuICAgICAgLy9tYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG4gIH1cblxuICA+IHVsID4gLmFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjNGY1MzU4O1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMThweCAwIDIwcHggMjBweDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWVpbmE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGJsdWU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDAuMDAwMSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMDhzIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsLFxuICAgIC5jYXBpdGFsaXplIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRibGFja2lzaDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IGN1YmljLWJlemllcigwLjM2LCAwLjY2LCAwLjA0LCAxKSAwLjNzLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIGN1YmljLWJlemllcigwLjM2LCAwLjY2LCAwLjA0LCAxKSAwLjNzLFxuICAgICAgICAgICAgICAgICAgICBjb2xvciAwLjJzO1xuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5uZy1oaWRlLWFkZCxcbiAgICAgICYubmctaGlkZS1yZW1vdmUge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IGN1YmljLWJlemllcigwLjM2LCAwLjY2LCAwLjA0LCAxKSAwLjNzO1xuICAgICAgfVxuXG4gICAgICAmLm5nLWhpZGUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCAuYWN0aXZlID4gYSxcbiAgICAuY2FwaXRhbGl6ZS5hY3RpdmUgPiBhLFxuICAgIGE6aG92ZXIsXG4gICAgLmFjdGl2ZS50b3AtbGV2ZWwgPiBhIHtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgdWwgLmFjdGl2ZSA+IGE6OmFmdGVyLFxuICAgIC5jYXBpdGFsaXplLmFjdGl2ZSA+IGE6OmFmdGVyLFxuICAgIGE6Zm9jdXM6OmFmdGVyLFxuICAgIC5hY3RpdmUudG9wLWxldmVsID4gYTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5iZXRhIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgcGFkZGluZzogMCAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gIH1cblxuICAucGFpZCB7XG4gICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICB9XG5cbiAgLnY0LWJldGEge1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAjNTk2YzhjO1xuICAgICAgcGFkZGluZzogMTVweCAxNXB4IDE1cHggMzlweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgICAgPiBzdHJvbmcsXG4gICAgICA+IGksXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlIHVybCgnL2ltZy9kb2NzL2lvbmljLXNpZGUtaWNvbi5wbmcnKSBuby1yZXBlYXQgMCA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKGJsYWNrLCAwLjIpO1xuICAgICAgICB0cmFuc2l0aW9uOiAuM3MgYm94LXNoYWRvdyBlYXNlLW91dDtcbiAgICAgIH1cblxuICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKGJsYWNrLCAwLjE2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzBmMTYyMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDFlbTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDFlbTtcbiAgICB9XG5cbiAgICBhID4gaSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogNXB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6ICNkMmQ2ZGQ7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgfVxuICB9XG59XG5cblxuYm9keTpub3QoLm5nLXNjb3BlKSB7XG4gIC5zaWRlLW5hdiB1bCBhIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4iLCIudGFibGUge1xuICA+IHRoZWFkLFxuICA+IHRoZWFkOmZpcnN0LWNoaWxkLFxuICA+IHRib2R5LFxuICA+IHRib2R5OmZpcnN0LWNoaWxkIHtcbiAgICA+IHRyLFxuICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgPiB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMTFweCAxMnB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cblxuICAgICAgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuICAgICAgICBjb2xvcjogIzU1NTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi50b2Mge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcblxuICAudG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjYjFiYWM4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBJb25pY29ucztcbiAgICAgIGNvbnRlbnQ6ICdcXGYzZDAnO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRyYW5zaXRpb246IC4zcyB0cmFuc2Zvcm0gZWFzZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTVweDtcbiAgICB9XG4gIH1cblxuICAuZXhwYW5kZWQge1xuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IC4zcyBtYXgtaGVpZ2h0IGN1YmljLWJlemllcigwLjM2LCAwLjY2LCAwLjA0LCAxKTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IHVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyZW07XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5jb2xsYXBzZWQge1xuICAgIC50b2dnbGU6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB9XG5cbiAgICAuZXhwYW5kZWQgdWwgbGkgYSB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2UtcHJvLWRvY3Mge1xuICAuZG9jcy1jb250YWluZXIge1xuICAgIG1haW4gaDIge1xuICAgICAgcGFkZGluZy10b3A6IDAuNWVtO1xuICAgIH1cbiAgICBtYWluIHAge1xuICAgICAgbWFyZ2luLXRvcDogMC43ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjdlbTtcbiAgICB9XG4gIH1cblxuICAuc2lkZS1uYXYgPiB1bC5uZXN0ZWQtbWVudSA+IGxpID4gdWwgPiBsaSA+IGEge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cbn1cblxuLmRvY3MtY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogMTAwJTtcblxuICAuZml4ZWQtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMjMwcHg7XG4gICAgdG9wOiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmV5O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDBweCAzOHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblxuICAgID4gaGdyb3VwIHtcbiAgICAgIGhlaWdodDogNzRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3NHB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDZweDtcbiAgICAgIH1cblxuICAgICAgPiAqIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG5cbiAgICAgIGgzICsgaDQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMxcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcblxuICAgICAgICAmLm5vdC1zaG93biB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAtMjRweDtcbiAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gNXB4KTtcbiAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIH1cblxuICAgICAgICA+IG5vYnIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgb3BhY2l0eSAwLjNzO1xuXG4gICAgICAgICAgJi50b3Age1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yOHB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5taWRkbGUsICYudG9wLm1pZGRsZSwgJi5ib3R0b20ubWlkZGxlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmJvdHRvbSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzJweCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYubm8tdHJhbnNpdGlvbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcywgMHM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAuZml4ZWQtaGVhZGVyIHtcbiAgICAgIGxlZnQ6IDBweDtcbiAgICB9XG4gIH1cblxuICBtYWluIHtcbiAgICBwYWRkaW5nOiA1MHB4IDQwcHggMTAwcHg7XG5cbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSB7XG4gICAgICBjb2xvcjogJGJsYWNrZXI7XG4gICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICBtYXJnaW46IDJlbSAwIDFlbTtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIGEuYW5jaG9yIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnXFxmMjJhJztcbiAgICAgICAgICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAuM3MgY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgICY6YWN0aXZlOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKCRibHVlLCAuNik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICBhLmFuY2hvcjo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yM3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIHBhZGRpbmc6IDJlbSAwIDA7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG5cbiAgICAgICYuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0YwRjNGNztcbiAgICAgICAgbWFyZ2luLXRvcDogNS42ZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgbWFyZ2luOiAzLjJlbSAwIDA7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICYubm8tcGFyYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIGg2IHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvb3I6ICMzYTNmNDc7XG4gICAgICBsaW5lLWhlaWdodDogMi4xZW07XG4gICAgICBtYXJnaW46IDEuMmVtIDAgMS42ZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cblxuICAgIHByZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JleTtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgIGE6bm90KC5idG4pIHtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBjb2xvcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRibHVlLCAxNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgd2lkdGg6IDk5JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICMyNjI5MmU7XG4gICAgfVxuXG4gICAgLmZpeGVkLXdpZHRoIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gICAgfVxuXG4gICAgLm5hdiB7XG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIG1hcmdpbjogNDBweCAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZWVlZWVlO1xuICAgIH1cblxuICAgIGltZy5zZWN0aW9uLWhlYWRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogNTBweCAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDM3cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuYmV0YSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBwYWRkaW5nOiAwIDJweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTlweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuYmV0YS1ub3RpY2Uge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgICBjb250ZW50OiAnXFxmMjc2JztcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhaWQge1xuICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgcGFkZGluZzogMCAycHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC05cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLnBhaWQtbm90aWNlIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgICAgICAgY29udGVudDogJ1xcZjQ4ZCc7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcGktdGl0bGUge1xuICAgICAgLmJldGEsIC5wYWlkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5cbi5wYWdlLWNvbXBvbmVudHMgLmRvY3MtY29udGFpbmVyIGgzIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNzJweCk7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG4iLCJib2R5LmRvY3MgI3NuYXAtYmFyICsgI3Byby1oZWFkZXIubmF2YmFyIHtcbiAgbWFyZ2luLXRvcDogMjJweDtcbn1cblxuI3Byby1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcblxuICAuY29udGFpbmVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VFRjBGMztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAjNzM3Qjg4O1xuICB9XG59XG5cbiNwcm8tZG9jcyB7XG4gIGgxLCBoMiwgaDMsIGg0LCBoNSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gIHRkOm5vdCg6Zmlyc3QtY2hpbGQpLCB0aDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gIH1cblxuICAucmVzcG9uc2l2ZS1zaWRlLW5hdi5hZmZpeCArIG1haW4sXG4gIC5yZXNwb25zaXZlLXNpZGUtbmF2LmFmZml4LWJvdHRvbSArIG1haW4ge1xuICAgIC8vIFRoZSBuYXYgYmFyJ3Mgd2lkdGggbWludXMgaXQncyBuZWdhdGl2ZSBsZWZ0IG1hcmdpblxuICAgIG1hcmdpbi1sZWZ0OiAzMDBweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLnJlc3BvbnNpdmUtc2lkZS1uYXYge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIC8vbWFyZ2luLWxlZnQ6IC0yNnB4O1xuXG4gICAgJi5zaWRlLW5hdiB1bCB1bCBhLCAmLnNpZGUtbmF2IHVsIC5jYXBpdGFsaXplIGEge1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgIH1cblxuICAgIHVsIGE6OmFmdGVyIHtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG5cbiAgICAgIHBhZGRpbmc6IDBweCAwO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjNGE4YmZjICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjM2IzZjQ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gdWwubmVzdGVkLW1lbnUgPiBsaSA+IHVsID4gbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgICYgPiB1bC5uZXN0ZWQtbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsIHtcbiAgICAgIC8vIE1hcmdpbiBpbiBmcm9tIHRoZSBpY29uIHRvIHRoZSBsYWJlbCBzdGFydCBvZiB0aGUgaGVhZGluZyBsaW5rXG4gICAgICBtYXJnaW4tbGVmdDogMjdweDtcblxuICAgICAgJiA+IGxpID4gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgY29sb3I6ICM1MDU2NWU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gdWwubmVzdGVkLW1lbnUgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgfVxuXG4gICAgJiA+IHVsI3Byby1uYXYubmVzdGVkLW1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9wcm8vc2lkZWJhci1pY29uLXNwcml0ZS5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+IHVsLm5lc3RlZC1tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cblxuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjMjQyODJlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcblxuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAmID4gdWwubmVzdGVkLW1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByby1pbnRyby1saW5rOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMHB4IH1cbiAgLnByby12aWV3LWxpbms6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDhweCB9XG4gIC5wcm8tZGVwbG95LWxpbms6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNjRweCB9XG4gIC5wcm8tcGFja2FnZS1saW5rOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTgwcHggfVxuICAucHJvLW1vbml0b3JpbmctbGluazo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC05NnB4IH1cbiAgLnByby1kZXZhcHAtbGluazo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMjhweCB9XG4gIC5wcm8tYWR2YW5jZWQtbGluazo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNjBweCB9XG59XG5cbiNicmFuY2gtc21zLWJveCB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAuYnRuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxufVxuIiwiLnByb21vIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuICBwYWRkaW5nLXRvcDogNjRweDtcbiAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2Y1Zjk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIGhncm91cCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gIH1cblxuICBoMixcbiAgcCB7XG4gICAgbWF4LXdpZHRoOiA0NjBweDtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGNvbG9yOiAjNzg4NDk3O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIC5idG4ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDc5ZmY7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDg2ZmI7XG4gICAgfVxuXG4gICAgJi53aGl0ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTIwMzc7XG5cbiAgICBoMiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgcCB7XG4gICAgICBjb2xvcjogI2E4YjBiZTtcbiAgICB9XG4gIH1cblxuICAmX19pbGx1c3RyYXRpb24ge1xuICAgIHdpZHRoOiA0NTlweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQ4MHB4KTtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgJi5wcm9tby1yZXZlcnNlZCAuY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICBoZ3JvdXAge1xuICAgICAgZmxleDogMTtcbiAgICB9XG4gIH1cblxuICAucHJvbW9fX2ltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAzMnB4IDE1cHg7XG4gIH1cblxuICAmLnByb21vLWJ0bnMsXG4gICYucHJvbW8tbmV3c2xldHRlciB7XG4gICAgaGdyb3VwIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBwYWRkaW5nOiA0NnB4IDA7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMzdweDtcbiAgICB9XG5cbiAgICBoMixcbiAgICBwIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDMxZW07XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgIH1cblxuICAgIC5idG5zIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG5cbiAgICAgIC5idG5zIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuYnRuIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnByb21vLW5ld3NsZXR0ZXIge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC5idG5zIHtcbiAgICAgIGZsZXg6IDAgMSA0NzZweDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgICAgIGZsZXg6IDA7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0NzZweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgJl9faWxsdXN0cmF0aW9uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNzJweDtcblxuICAgICYucHJvbW8taW5saW5lIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIGhncm91cCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgcCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmX19pbGx1c3RyYXRpb24ge1xuICAgICAgd2lkdGg6IDM4MHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xOTBweCk7XG4gICAgfVxuICB9XG5cbiAgJi0tdHJpLWN0YSB7XG4gICAgYmFja2dyb3VuZDogI0Y2RjhGQjtcblxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMjRweCA0OHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMyUgLSA2NHB4KTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcmlnaHQ6IC00OHB4O1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gNDhweCk7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREVFM0VBO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWludGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogIzczODQ5QTtcbiAgICB9XG5cblxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcblxuICAgICAgbGkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA0OHB4IDE2cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1vYmlsZS1uYXYge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWVpbmE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5OTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogdG91Y2g7XG5cbiAgJi5vcGVuIHtcbiAgICBhbmltYXRpb24tbmFtZTogcmV2ZWFsSW47XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgfVxuXG4gICYuY2xvc2VkIHtcbiAgICBhbmltYXRpb24tbmFtZTogcmV2ZWFsT3V0O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgfVxuXG4gIEBrZXlmcmFtZXMgcmV2ZWFsSW4ge1xuICAgIGZyb20ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIHJldmVhbE91dCB7XG4gICAgZnJvbSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICB0byB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubW9iaWxlLW5hdl9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5tb2JpbGUtbmF2X19tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICAvL2RlYWwgd2l0aCBpZSBlZGdlIGJ1ZyBhbHdheXMgcmVuZGVyaW5nIGJ1bGxldHNcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBUUFBQUMxSEF3Q0FBQUFDMGxFUVZSNDJtTmtZQUFBQUFZQUFqQ0IwQzhBQUFBQVNVVk9SSzVDWUlJPSk7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWF4LXdpZHRoOiAyNzBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy10b3A6IDgwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNjBweDtcblxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGNvbG9yOiAjYjBiY2NmO1xuICB9XG5cbiAgLm9wZW4gJiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IG5hdk1lbnVJbjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjFzO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAuY2xvc2VkICYge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBuYXZNZW51T3V0O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgfVxuXG4gIEBrZXlmcmFtZXMgbmF2TWVudUluIHtcbiAgICBmcm9tIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBuYXZNZW51T3V0IHtcbiAgICBmcm9tIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG5cbi5tb2JpbGUtbmF2LS1lbnRlcnByaXNlIC5tb2JpbGUtbmF2X19tZW51IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ubW9iaWxlLW5hdl9fbWVudWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tdG9wOiAyOHB4O1xuXG4gICYgKyBoNiB7XG4gICAgbWFyZ2luLXRvcDogNDZweDtcbiAgfVxuXG4gIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAjMTMxOTI0O1xuICAgIC8vIHBhZGRpbmctbGVmdDogMzZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAvLyAmOjphZnRlcixcbiAgICAvLyAmOjpiZWZvcmUge1xuICAgIC8vICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2Ryb3Bkb3duLWljb25zLXhzLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgLy8gICBiYWNrZ3JvdW5kLXNpemU6IDI0cHg7XG4gICAgLy8gICBjb250ZW50OiAnJztcbiAgICAvLyAgIHdpZHRoOiAyNHB4O1xuICAgIC8vICAgaGVpZ2h0OiAyNHB4O1xuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vICAgbGVmdDogMDtcbiAgICAvLyAgIHRvcDogNTAlO1xuICAgIC8vICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC8vICAgdHJhbnNpdGlvbjogMC4ycyBvcGFjaXR5O1xuICAgIC8vIH1cbiAgICAvL1xuICAgIC8vICY6OmFmdGVyIHtcbiAgICAvLyAgIG9wYWNpdHk6IDA7XG4gICAgLy8gfVxuICAgIC8vXG4gICAgLy8gJjpob3Zlcjo6YWZ0ZXIge1xuICAgIC8vICAgb3BhY2l0eTogMTtcbiAgICAvLyB9XG4gIH1cblxuICAmLnBybyBhIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI0cHg7XG4gICAgfVxuICB9XG5cbiAgJi5lbnRlcnByaXNlIGEge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDE0ICogLTI0cHg7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxNSAqIC0yNHB4O1xuICAgIH1cbiAgfVxuXG4gICYuZnJhbWV3b3JrIGEge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDIyICogLTI0cHg7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAyMyAqIC0yNHB4O1xuICAgIH1cbiAgfVxuXG4gICYuc3RlbmNpbCBhIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA0NCAqIC0yNHB4O1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNDUgKiAtMjRweDtcbiAgICB9XG4gIH1cblxuICAmLmNhcGFjaXRvciBhIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA0NiAqIC0yNHB4O1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNDcgKiAtMjRweDtcbiAgICB9XG4gIH1cblxuICAmLmlvbmljb24gYSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNDggKiAtMjRweDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDQ5ICogLTI0cHg7XG4gICAgfVxuICB9XG5cbiAgJi5mcmFtZXdvcmstZG9jcyBhIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA2MCAqIC0yNHB4O1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNjEgKiAtMjRweDtcbiAgICB9XG4gIH1cblxuICAmLnByby1kb2NzIGEge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDIgKiAtMjRweDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDMgKiAtMjRweDtcbiAgICB9XG4gIH1cbn1cblxuLm1vYmlsZS1uYXYtLWVudGVycHJpc2UgLm1vYmlsZS1uYXZfX21lbnVpdGVtIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDI4cHg7XG4gIG1hcmdpbi10b3A6IDA7XG5cbiAgJiArIC5tb2JpbGUtbmF2X19tZW51aXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuXG4ubW9iaWxlLW5hdi0tZW50ZXJwcmlzZSAubW9iaWxlLW5hdl9fbWVudWl0ZW0tLWN0YSBhIHtcbiAgY29sb3I6ICMzODgwRkY7XG59XG5cbi5tb2JpbGUtbmF2X19tZW51aXRlbS0tc21hbGwge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tdG9wOiAyNnB4O1xuXG4gIC5tb2JpbGUtbmF2X19tZW51aXRlbSArICYge1xuICAgIG1hcmdpbi10b3A6IDU2cHg7XG4gIH1cblxuICBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICM1OTc3YTg7XG4gIH1cbn1cblxuLm1vYmlsZS1uYXZfX2xvZ28ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOXB4O1xuICBsZWZ0OiAxM3B4O1xuICBmaWxsOiAjMzg4MEZGO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW46IDA7XG59XG5cbi5tb2JpbGUtbmF2LS1lbnRlcnByaXNlIC5tb2JpbGUtbmF2X19sb2dvIHtcbiAgZmlsbDogIzAwMDtcbn1cblxuLm1vYmlsZS1uYXZfX2Nsb3NlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIG9wYWNpdHk6IDAuNDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICB6LWluZGV4OiAyO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICBzdmcge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBmaWxsOiAjNTk3N2E4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4ubW9iaWxlLW5hdl9fZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjhmZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAxNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICBhICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIH1cblxuICAmID4gZGl2IHtcbiAgfVxuXG4gIC5idG4ge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDEycHggMTRweCAxMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIC5vcGVuICYge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBuYXZGb290ZXJJbjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNnM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjFzO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC5jbG9zZWQgJiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IG5hdkZvb3Rlck91dDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIH1cblxuICBAa2V5ZnJhbWVzIG5hdkZvb3RlckluIHtcbiAgICBmcm9tIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBuYXZGb290ZXJPdXQge1xuICAgIGZyb20ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubW9iaWxlLW5hdi0tZW50ZXJwcmlzZSAubW9iaWxlLW5hdl9fZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogI0Y5RjlGOTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGNvbG9yOiAjMzg4MEZGO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBpb24taWNvbiB7XG4gICAgY29sb3I6IHJnYmEoNTYsIDEyOCwgMjU1LCAwLjcpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSBlYXNlLCAuMnMgb3BhY2l0eTtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcblxuICAgICYuaHlkcmF0ZWQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cbiIsIi5yZXNwb25zaXZlLWRvY3MtY29udGFpbmVyLmRvY3MtY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG5cbiAgLnJlc3BvbnNpdmUtc2lkZS1uYXYge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAmLmFmZml4LXRvcCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgdG9wOiAxODJweDtcbiAgICB9XG5cbiAgICAmLmFmZml4IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMTVweDtcbiAgICB9XG5cbiAgICAmLmFmZml4LWJvdHRvbSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvL3dpZHRoOiAxMDAlO1xuXG4gICAgLm5lc3RlZC1tZW51IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIG1haW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgY29sb3I6ICMzNTM5NDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAjMzUzOTQwO1xuICAgICAgbWFyZ2luOiAxLjJlbSAwIDEuNmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGNvbG9yOiAjMjQyODJlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgICAgbWFyZ2luOiAyZW0gMCAxZW07XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwZW07XG4gICAgfVxuICB9XG59XG4iLCIucmVzb3VyY2UtY2FyZC1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gIG1hcmdpbi1yaWdodDogLTE2cHg7XG59XG5cbi5yZXNvdXJjZS1jYXJkIHtcbiAgcGFkZGluZzogMTZweDtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xufVxuXG4ucmVzb3VyY2UtY2FyZC1saXN0LS10aGlyZCAucmVzb3VyY2UtY2FyZCB7XG4gIHdpZHRoOiAzMy4zMyU7XG59XG5cbi5yZXNvdXJjZS1jYXJkLWxpc3QtLXF1YXJ0ZXIgLnJlc291cmNlLWNhcmQge1xuICB3aWR0aDogMjUlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgLnJlc291cmNlLWNhcmQtbGlzdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEycHg7XG4gIH1cblxuICAucmVzb3VyY2UtY2FyZCB7XG4gICAgcGFkZGluZzogMTJweDtcbiAgfVxuXG4gIC5yZXNvdXJjZS1jYXJkLWxpc3QtLXRoaXJkIC5yZXNvdXJjZS1jYXJkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yZXNvdXJjZS1jYXJkLWxpc3QtLXF1YXJ0ZXIgLnJlc291cmNlLWNhcmQge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gIC5yZXNvdXJjZS1jYXJkLWxpc3Qge1xuICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgIG1hcmdpbi1yaWdodDogLThweDtcbiAgfVxuXG4gIC5yZXNvdXJjZS1jYXJkIHtcbiAgICBwYWRkaW5nOiA4cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5yZXNvdXJjZS1jYXJkLWxpc3QtLXF1YXJ0ZXIge1xuICAgIC5yZXNvdXJjZS1jYXJkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4ucmVzb3VyY2UtY2FyZF9faW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnJlc291cmNlLWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICBoZWlnaHQ6IDI3MnB4O1xuXG4gIGEge1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC40cztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDE4cHggMjJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzNiwgNDAsIDQ2KTtcbiAgICBib3gtc2hhZG93OiBcbiAgICAgIDBweCA4cHggMTZweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpLCBcbiAgICAgIDBweCAycHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgIH1cblxuICAgIC5leWVicm93IHtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgICBjb2xvcjogcmdiYSgjZmZmLCAwLjUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuYWN0aW9uIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gIH1cblxuICAmOmhvdmVyIGEge1xuICAgIGJveC1zaGFkb3c6IDBweCAxMnB4IDI0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgfVxufVxuXG4ucmVzb3VyY2UtY2FyZC0tbGlnaHQge1xuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIGNvbG9yOiByZ2IoMzYsIDQwLCA0Nik7XG4gICAgfVxuICBcbiAgICAuZXllYnJvdyB7XG4gICAgICBjb2xvcjogcmdiYSgjMDAwLCAwLjUpO1xuICAgIH1cbiAgXG4gICAgLmFjdGlvbiB7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgfVxuICB9XG59XG5cbi5yZXNvdXJjZS1jYXJkLWxhcmdlIHtcbiAgYSB7XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIH1cblxuICAgIC5leWVicm93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgLmFjdGlvbjo6YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgICBmb250LWZhbWlseTogJ0lvbmljb25zJztcbiAgICAgIGNvbnRlbnQ6ICdcXGYyODcnO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmOmhvdmVyIC5hY3Rpb246OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoM3B4LCAwLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5tb2RhbCB7XG4gIC5jb250cm9sLWxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIC5jbG9zZSxcbiAgLmdvLWJhY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBib3gtc2hhZG93OiAxcHggMXB4IDVweCByZ2JhKDAsMCwwLC41KTtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgY29udGVudDogJ1xcZjJjMCc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAkZGFyay1ncmV5O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ28tYmFjayB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogLTEwcHg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjI3ZCc7XG4gICAgfVxuICB9XG5cbiAgJi5mdWxsc2NyZWVuIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuY2xvc2Uge1xuICAgICAgcmlnaHQ6IDM2cHg7XG4gICAgICB0b3A6IDI3cHg7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZDogI2ViZWZmNTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM4MzhmYTU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLWRpYWxvZyB7XG4gICAgICB3aWR0aDogNjUxcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAlKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwwLDEpO1xuICAgIH1cblxuICAgICYuaW4gLm1vZGFsLWRpYWxvZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB9XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIuc2l0ZS1zZWFyY2gge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWVpbmE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbn1cblxuLnNpdGUtc2VhcmNoX190cmlnZ2VyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogZmlsbCAwLjJzO1xuICAgIG1hcmdpbjogMDtcbiAgICBmaWxsOiAjYThiMGJlO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgfVxuXG4gICY6aG92ZXIgc3ZnIHtcbiAgICBmaWxsOiAjNjA2YzgyO1xuICB9XG59XG5cbi5zaXRlLXNlYXJjaF9faW5wdXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiI3NuYXAtYmFyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDcwOTBlLCAjMmY0NTYyKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuICBwYWRkaW5nOiAxM3B4IDEwcHggOXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wMDRlbTtcblxuICBzdHJvbmcge1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjAwNGVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLmxvYWRpbmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgfVxuXG4gIGEge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIGJhY2tncm91bmQ6ICMwYTBmMTY7XG4gICAgY29sb3I6ICM2YWIwZmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiA2cHggN3B4IDVweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA5ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAuMnMgY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICBpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgdmVydGljYWwtYWxpZ246IC0xcHg7XG4gIH1cblxuICArIC5uYXZiYXIge1xuICAgIG1hcmdpbi10b3A6IDZweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgLy8gcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgIH1cbiAgfVxufVxuYm9keS5kb2NzICNzbmFwLWJhciB7XG4gICsgLm5hdmJhciB7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG5ib2R5Lmhhcy1zbmFwIHtcbiAgbWFyZ2luLXRvcDogMDtcblxuICAuc2lkZS1uYXYuYWZmaXgtdG9wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzOHB4O1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5ib2R5LmRvY3MgI3NuYXAtYmFyIH4gLmRvY3MtY29udGFpbmVyIC5zaWRlLW5hdiB7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xufVxuXG5pb25pYy1zbmFwLWJhciB7XG4gICY6bm90KC5oeWRyYXRlZCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59IiwiI3NvY2lhbC1zaGFyZS1zaWRlYmFyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDUwcHg7XG4gIGNvbG9yOiAjYmFjMmNmO1xuICB3aWR0aDogMjAwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAyMDBweDtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IC41cyBvcGFjaXR5O1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTIwcHgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cblxuICAmLmFmZml4IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAyMDBweDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cblxuICBoNCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNiYWMyY2Y7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbjogLjVzIGZhZGVJbiBsaW5lYXIgM3M7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBsaSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgYW5pbWF0aW9uOiAuNXMgZmFkZUluVXAgbGluZWFyIDMuNXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7IGFuaW1hdGlvbi1kZWxheTogMy44czsgfVxuICAgICY6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiA0LjFzOyB9XG4gICAgJjpudGgtY2hpbGQoNCkgeyBhbmltYXRpb24tZGVsYXk6IDQuM3M7IH1cbiAgfVxuXG4gIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvc3VydmV5L2Jsb2ctc2hhcmUtaWNvbnMucG5nJykgbm8tcmVwZWF0IDAgMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgb3BhY2l0eTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgICYudHdpdHRlcjo6YWZ0ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMHB4OyB9XG4gICAgJi5mYWNlYm9vazo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDBweDsgfVxuICAgICYuZmFjZWJvb2s6OmFmdGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjBweDsgfVxuICAgICYuZ29vZ2xlLXBsdXM6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH1cbiAgICAmLmdvb2dsZS1wbHVzOjphZnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEwMHB4OyB9XG4gICAgJi5idWZmZXI6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyMHB4OyB9XG4gICAgJi5idWZmZXI6OmFmdGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQwcHg7IH1cbiAgfVxufSIsIi5yb3VuZGVkLXRhYnMge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW46IDAgMCAwIC0yMHB4O1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIG1hcmdpbjogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWF4LXdpZHRoOiA0NjBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLnJvdW5kZWQtdGFic19fdGFiIHtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBmbGV4OiAwIDAgNTZweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDU2cHggNjRweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvZ2V0dGluZy1zdGFydGVkL3RhYi1ib3JkZXItbGVmdC5wbmcnKTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvZ2V0dGluZy1zdGFydGVkL3RhYi1ib3JkZXItcmlnaHQucG5nJyk7XG4gIH1cblxuICAmICsgLnJvdW5kZWQtdGFic19fdGFiIHtcbiAgICBtYXJnaW4tbGVmdDogLTU0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4zcztcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmICsgLnJvdW5kZWQtdGFic19fdGFiIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyOHB4O1xuICAgIH1cbiAgfVxufVxuXG4ucm91bmRlZC10YWJzX190YWItaW5uZXIge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDY0cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gIHBhZGRpbmc6IDAgMnB4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI0Q1RUFGRjtcblxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIGZsZXg6IDAgMCAyMHB4O1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cblxuICAuZnJvbnQge1xuICAgIGZpbGw6ICNFMUYwRkY7XG4gIH1cbiAgLm1pZGRsZSB7XG4gICAgZmlsbDogIzhEQzBGRjtcbiAgfVxuICAuYmFjayB7XG4gICAgZmlsbDogIzZGQURGRjtcbiAgfVxuICAuZnJvbnQtLWJvcmRlciB7XG4gICAgc3Ryb2tlOiAjNEQ5MkZGO1xuICB9XG4gIC5taWRkbGUtLWJvcmRlciB7XG4gICAgc3Ryb2tlOiAjNEQ5M0ZGO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgIC5mcm9udCB7XG4gICAgICBmaWxsOiAjZmZmO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTRweDtcbiAgICBmbGV4OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcblxuICAgIHN2ZyB7XG4gICAgICBtYXJnaW46IDhweCAwIDEwcHg7XG4gICAgfVxuICB9XG59XG5cbi5yb3VuZGVkLXRhYnNfX3RhYi0tYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLnJvdW5kZWQtdGFic19fdGFiLWlubmVyLFxuICAgIC5yb3VuZGVkLXRhYnNfX3RhYi1pbm5lcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgY29sb3I6ICMxNjFBMUY7XG5cbiAgICAgIC5mcm9udCB7XG4gICAgICAgIGZpbGw6ICMzODgwRkY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZyb250IHtcbiAgICAgIGZpbGw6ICMzODgwRkY7XG4gICAgfVxuICAgIC5taWRkbGUge1xuICAgICAgZmlsbDogI0IxRDlGRjtcbiAgICB9XG4gICAgLmJhY2sge1xuICAgICAgZmlsbDogI0NGRTdGRjtcbiAgICB9XG5cbiAgICAuZnJvbnQtLWJvcmRlcixcbiAgICAubWlkZGxlLS1ib3JkZXIge1xuICAgICAgc3Ryb2tlOiAjZmZmO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCByZ2JhKCNmZmYsIDAuOCk7XG5cbiAgICAucm91bmRlZC10YWJzX190YWItaW5uZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAuZnJvbnQge1xuICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jcGFnZS1wcmljaW5nLFxuI3BhZ2UtZ2V0dGluZy1zdGFydGVkIHtcbiAgLnRhYi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICBcbiAgICAmLS1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIudGFnLFxuLmRvY3MtY29udGFpbmVyIG1haW4gLnRhZyB7XG4gIGJhY2tncm91bmQ6ICRibHVlO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgcGFkZGluZzogNXB4IDdweCA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuXG4gICYuZ3JleSB7XG4gICAgYmFja2dyb3VuZDogJGRhcmtpc2gtZ3JleTtcbiAgfVxufSIsIi50ZXN0aW1vbmlhbC1zbGlkZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjRzO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIG1pbi1oZWlnaHQ6IDM2MHB4O1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gICAgbWluLWhlaWdodDogNDAwcHg7XG4gIH1cblxuICAuc2xpZGUge1xuICAgIHBhZGRpbmc6IDkwcHggMCAxNDZweDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gYmFja2dyb3VuZDogIzY2NjtcblxuICAgIGg1IHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW46IDQwcHggMDtcbiAgICB9XG5cbiAgICAuYXR0cmlidXRpb24ge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuXG4gICAgICBiIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7bWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaGdyb3VwIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA3NHB4O1xuICAgIH1cblxuICAgIC5zbGlkZV9fdG9wYmFyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5zbGlkZV9fY3RhIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcbiAgICAgIHBhZGRpbmc6IDRweCA4cHggM3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgYiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMnM7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICBzdmc6Zmlyc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciBzdmc6bGFzdC1jaGlsZCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgcGFkZGluZzogMzJweCAwIDEwNnB4O1xuXG4gICAgICAuc2xpZGVfX3RvcGJhciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgIC5zbGlkZV9fY3RhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIH1cblxuICAgICAgaGdyb3VwIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgIGhncm91cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuc2xpZGVfX3RvcGJhciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gICAgICAuc2xpZGVfX3RvcGJhciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2xpZGUtLWFpcmJ1cyB7XG4gICAgLmxvZ28ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL3Rlc3RpbW9uaWFscy9sb2dvLXNwcml0ZS5wbmcnKSBuby1yZXBlYXQgMCAtMzhweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTk4cHggNjlweDtcbiAgICAgIHdpZHRoOiAxMzFweDtcbiAgICAgIGhlaWdodDogMzFweDtcbiAgICB9XG5cbiAgICAuYXR0cmlidXRpb24ge1xuICAgICAgY29sb3I6ICM5MzljZDU7XG4gICAgfVxuXG4gICAgLnNsaWRlX19jdGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI1MzY5OTtcbiAgICAgIGNvbG9yOiAjYjViYmUyO1xuXG4gICAgICBzdmc6Zmlyc3QtY2hpbGQge1xuICAgICAgICBmaWxsOiAjYThhZWQ2O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyICB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oIzI1MzY5OSwgMyUpO1xuICAgICAgfVxuICAgIH1cblxuXG4gIH1cblxuICAuc2xpZGUtLW1hcmtldHdhdGNoIHtcbiAgICAubG9nbyB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvdGVzdGltb25pYWxzL2xvZ28tc3ByaXRlLnBuZycpIG5vLXJlcGVhdCAwIDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE5OHB4IDY5cHg7XG4gICAgICB3aWR0aDogMTk4cHg7XG4gICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgfVxuXG4gICAgLmF0dHJpYnV0aW9uIHtcbiAgICAgIGNvbG9yOiAjODY4ODkzXG4gICAgfVxuXG4gICAgLnNsaWRlX19jdGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBhMmUzNjtcbiAgICAgIGNvbG9yOiAjYThiMGJlO1xuXG4gICAgICBzdmc6Zmlyc3QtY2hpbGQge1xuICAgICAgICBmaWxsOiAjOWRhYmFmO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyICB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oIzBhMmUzNiwgMyUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zbGlkZS1pbWdzIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLnNsaWRlLWltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgICYtLWFpcmJ1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvdGVzdGltb25pYWxzL3Rlc3RpbW9uaWFsLWJnLWFpcmJ1cy5qcGcnKTtcbiAgICB9XG4gICAgJi0tbWFya2V0d2F0Y2gge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL3Rlc3RpbW9uaWFscy90ZXN0aW1vbmlhbC1iZy1tYXJrZXR3YXRjaC5qcGcnKTtcbiAgICB9XG4gIH1cblxuICAuc2xpZGUtaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7XG4gICAgYm90dG9tOiAxNnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIG9wYWNpdHk6IDAuMjtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXI6bm90KC5hY3RpdmUpOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjQpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIudG9vbHRpcCB7XG4gIHdpZHRoOiAzMDBweDtcblxuICAudG9vbHRpcC1pbm5lciB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKGJsYWNrLCAuODUpO1xuICB9XG5cbiAgLnRvb2x0aXAtYXJyb3cge1xuICAgIG9wYWNpdHk6IC44NTtcbiAgfVxufVxuIiwidGlwcHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAxKTtcbiAgICB0cmFuc2l0aW9uOiAuMTVzIHRyYW5zZm9ybSBsaW5lYXI7XG4gICAgYmFja2dyb3VuZDogcmdiYShibGFjaywuOCk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDAgNXB4IDVweCA1cHg7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJnYmEoYmxhY2ssIC44KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTVweDtcbiAgICAgIHJpZ2h0OiA2cHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5yaWdodCxcbiAgICAmLmxlZnQge1xuICAgICAgbGVmdDogMjhweDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDI1N3B4O1xuICAgICAgdG9wOiAtNzZweDtcbiAgICAgIGJhY2tncm91bmQ6ICMzYjQzNGY7XG4gICAgICBwYWRkaW5nOiAxNHB4IDIwcHggNnB4O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjA3cHg7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG5cdCAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICMzYjQzNGYgNTAlLCB0cmFuc3BhcmVudCA1MCUpO1xuICAgICAgICB0b3A6IGNhbGMoNTAlICsgN3B4KTtcbiAgICAgICAgbGVmdDogLTZweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sZWZ0IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMjhweDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTZweFxuICAgICAgfVxuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIGxlZnQ6IC0xNzBweDtcbiAgICB9XG5cbiAgICAmLnRvcCB7XG4gICAgICBsZWZ0OiAtMTcwcHg7XG4gICAgICBib3R0b206IDIzcHg7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgIHJpZ2h0OiAxOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cbiAgfVxuXG4gID4gaSB7XG4gICAgZm9udC1zaXplOiA2NyU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgICBwYWRkaW5nOiAzcHggNXB4IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjYzJjOGQyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0wLjJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJi5hY3RpdmUge1xuICAgIC50aXAge1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLDEuNSwuNSwxKTtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4zcztcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsImJvZHkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWRlZmF1bHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgfVxuXG4gIC5kb2NzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICR3aGl0ZWlzaCwgJHdoaXRlaXNoICgkc2lkZW5hdi13aWR0aCksXG4gICAgICB3aGl0ZSAoJHNpZGVuYXYtd2lkdGgpLCB3aGl0ZSAxMDAlKTtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgICYjcGFnZS1wcmljaW5nLXRhYmxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgfVxuICB9XG5cbiAgJi5uby1zY3JvbGwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxubWFpbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNjb21wb25lbnRzLWluZGV4IHVsLm5hdiA+IGxpID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOUZBRkI7XG59XG5cbi5pbXByb3ZlLWRvY3Mge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzLjVlbTtcbiAgdG9wOiAyMHB4O1xufVxuXG4uaW1wcm92ZS12Mi1kb2NzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogLTdlbTtcbn1cblxuLmNvbXBvbmVudC1kb2MtZGVtbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IC0zLjFlbTtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG5cblxuICAuY29tcG9uZW50LWRvYy1kZW1vLW1vYmlsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbn1cblxuLmNvbXBvbmVudC1kb2MtZGVtby1tb2JpbGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDNweCAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5kb2NzLWNvbnRhaW5lciB7XG4gIC5zaWRlLW5hdiB7XG4gICAgd2lkdGg6ICRzaWRlbmF2LXdpZHRoO1xuICAgIC8vIHBhZGRpbmctdG9wOiA3M3B4O1xuICB9XG5cbiAgPiBtYWluIHtcbiAgICBtYXJnaW4tbGVmdDogJHNpZGVuYXYtd2lkdGg7XG4gIH1cblxuICA+IGFzaWRlIHtcbiAgICB3aWR0aDogJHBsYXRmb3JtLXByZXZpZXctd2lkdGg7XG5cbiAgICArIG1haW4ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkcGxhdGZvcm0tcHJldmlldy13aWR0aCAtIDYwcHg7XG4gICAgICBtaW4taGVpZ2h0OiA3NzdweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgYXNpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJiArIG1haW4ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1kb2MtZGVtby1tb2JpbGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgICBtYWluIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4IDEwMHB4O1xuICAgIH1cblxuICAgICNzaWRlLW5hdiB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdG9wOiAtNHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2lkZW5hdi13aWR0aCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XG5cbiAgICAgICYuc2hvd24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBzdGlja3kgZm9vdGVyXG5odG1sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDAgMCAtMTMwcHg7IC8vIGJvdHRvbSA9IGZvb3RlciBoZWlnaHRcblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAvLyBtYXJnaW4tdG9wOiA1MHB4O1xuICB9XG59XG5cbmEge1xuICBjb2xvcjogJGJsdWU7XG4gIHRyYW5zaXRpb246IC4zcyBjb2xvcjtcbn1cblxuLmZvb3Rlci1saW5rcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogJHNpZGVuYXYtd2lkdGggKyA0MHB4O1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMTMwcHg7XG4gIHJpZ2h0OiA0MHB4O1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBsZWZ0OiA0MHB4O1xuICB9XG59XG5cbmEuZm9vdGVyLWxpbmsge1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogNTAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICByaWdodDogNDBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4ycztcblxuICAmLnByZXYge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1ByZXZpb3VzJztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgY29udGVudDogJ1xcZjExNyc7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRibHVlO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnTmV4dCc7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAkZ3JleTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXGYxMTknO1xuICAgIGZvbnQtZmFtaWx5OiBJb25pY29ucztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvdHRvbTogLTEwcHg7XG4gIH1cbn1cblxuLnBsYXRmb3JtLXByZXZpZXcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHJpZ2h0OiAtMjBweDtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgJi5maXhleSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgfVxuXG4gID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTI1cHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuXG4gICAgJiwgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ucGxhdGZvcm0tcHJldmlldyAucGxhdGZvcm0tdG9nZ2xlLCAuZG9jcy1jb250YWluZXIgLnNhc3MtcGxhdGZvcm0tdG9nZ2xlIHtcblxuICBhIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDRweCAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgY29sb3I6ICRncmV5O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIHRyYW5zaXRpb246IC4ycyBjb2xvciwgLjJzIGJhY2tncm91bmQtY29sb3I7XG5cbiAgICAmLmFjdGl2ZSxcbiAgICAmLmFjdGl2ZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnBsYXRmb3JtLXByZXZpZXcgIC5wbGF0Zm9ybS10b2dnbGUge1xuICBwYWRkaW5nOiA4cHggMTBweCA0cHg7XG59XG5cbi5kb2NzLWNvbnRhaW5lciAuc2Fzcy1wbGF0Zm9ybS10b2dnbGUge1xuICBwYWRkaW5nLXRvcDogMHB4IDEwcHggNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbiNzYXNzLXZhcmlhYmxlLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgcGFkZGluZy1ib3R0b206IDBweDtcbn1cblxuI3Nhc3MtdmFyaWFibGVzIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvdHRvbTogMTVweDtcblxuICAudGFibGUucGFyYW0tdGFibGUge1xuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICY6bGFzdC1jaGlsZCwgJjpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuICAjc2Fzcy12YXJpYWJsZXMge1xuICAgIGJvdHRvbTogLTEwcHg7XG5cbiAgICAudGFibGUucGFyYW0tdGFibGUge1xuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cbiAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMpIHtcbiAgI3Nhc3MtdmFyaWFibGVzIHtcbiAgICBib3R0b206IC0yNXB4O1xuXG4gICAgLnRhYmxlLnBhcmFtLXRhYmxlIHtcbiAgICAgIHRyLHRkIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2RlbW8tZGV2aWNlLWlvcyB7XG4gIHdpZHRoOiAkcGxhdGZvcm0tcHJldmlldy13aWR0aDtcbiAgaGVpZ2h0OiA4MDBweDtcbiAgYmFja2dyb3VuZDogY2VudGVyIHRvcCBuby1yZXBlYXQgdXJsKCcvaW1nL2RldmljZXMtc3ByaXRlLmpwZycpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwbGF0Zm9ybS1wcmV2aWV3LXdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcblxuICBpZnJhbWUge1xuICAgIG1hcmdpbi10b3A6IDg1cHg7XG4gICAgd2lkdGg6IDMyMHB4O1xuICAgIGhlaWdodDogNTY4cHg7XG4gIH1cbn1cblxuI2RlbW8tZGV2aWNlLWFuZHJvaWQge1xuICBAZXh0ZW5kICNkZW1vLWRldmljZS1pb3M7XG5cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICBpZnJhbWUge1xuICAgIG1hcmdpbi10b3A6IDY0cHg7XG4gICAgd2lkdGg6IDM2MHB4O1xuICAgIGhlaWdodDogNTkwcHg7XG4gIH1cbn1cblxuI2RlbW8tZGV2aWNlLXdpbmRvd3Mge1xuICBAZXh0ZW5kICNkZW1vLWRldmljZS1pb3M7XG5cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcblxuICBpZnJhbWUge1xuICAgIG1hcmdpbi10b3A6IDcycHg7XG4gICAgd2lkdGg6IDM1MHB4O1xuICAgIGhlaWdodDogNjIycHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gIH1cbn1cblxubGkubmF2LWl0ZW0taGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIGxlZnQ6IC05OTk5cHg7XG59XG5cbnVsLmRvY3MtY29udGVudCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG5cbiAgbGkuZG9jcy1jb250ZW50LWhlYWRlciB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogI0I5QkVDNTtcbiAgfVxuXG59XG5cbnVsLmRvY3MtZXhhbXBsZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDNlbSAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlOWVlO1xuICAgIHdpZHRoOiAzMiU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDglIDA7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxJTtcbiAgICB9XG4gIH1cblxuICBsaSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiA1NS43JTtcbiAgfVxufVxuXG4uaGlnaGxpZ2h0IC5lcnIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4ucGFyYW0tdGFibGUge1xuICB0ZCBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIH1cblxuICB0ZCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6IC03cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC05MnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU5ZWU7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDE3cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuNWVtO1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMTdweCAwO1xuICAgIH1cbiAgfVxufVxuXG4ucmV0dXJuLXZhbHVlIHtcbiAgYiB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICBjb250ZW50OiAnXFxmMjAzJztcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICB0b3A6IDJweDtcbiAgICB9XG4gIH1cbn1cblxuLmRvY3MtY29udGFpbmVyIHtcbiAgaDIsIGgzIHtcbiAgICBhOm5vdChbcm9sZT0nYnV0dG9uJ10pIHtcbiAgICAgIGNvbG9yOiAjMjYyOTJlICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzI2MjkyZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZhcS1zZWN0aW9uIHtcbiAgbWFyZ2luOiA4MHB4IGF1dG87XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkgYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKXtcbiAgLmhpZGUtc20ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubmF0aXZlLWRvY3MgYXtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG5bbmdcXDpjbG9ha10sIFtuZy1jbG9ha10sIFtkYXRhLW5nLWNsb2FrXSwgW3gtbmctY2xvYWtdLCAubmctY2xvYWssIC54LW5nLWNsb2FrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4jaHVic3BvdC1tZXNzYWdlcy1pZnJhbWUtY29udGFpbmVyIHsgei1pbmRleDogMSB9IC8vc28gaHVic3BvdCBtZXNzYWdlcyBidXR0b24gZG9lc24ndCBjb3ZlciBtcG9iaWxlIG5hdiwgbW9kYWxzLCBldGMuXG4iLCIucGFnZS00MDQgLmZvdXItb2gtZm91ciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzM2cHg7XG4gIH1cblxuICBwIHtcbiAgICBjb2xvcjogJGdyZXk7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG5cbiAgYSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBmb250LWZhbWlseTogSW9uaWNvbnM7XG4gICAgICBjb250ZW50OiAnXFxmMjg3JztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAycHg7XG4gICAgfVxuICB9XG59XG4iLCIjcGFnZS1hcnRpY2xlcy13aHktaHlicmlkIHtcbiAgLnNpZ251cC1mb3JtIC5jYXJkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvYXJ0aWNsZXMvd2h5LWh5YnJpZC1jb3Zlci5qcGcnKTtcbiAgfVxufSIsIiNwYWdlLWJvb2tzLW5hdGl2ZS12LWh5YnJpZCB7XG5cdGJhY2tncm91bmQ6ICNlMWU2ZWY7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2UxZTZlZiwgI2UxZTZlZiA1MCUsICMxMjIxMzggNTAlLCAjMTIyNTQxKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICMxMTFjMmMsICMxMjI1NDEpO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0bGVmdDogNTAlO1xuXHRcdGJvdHRvbTogMDtcblx0fVxuXG5cdG1haW4ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdH1cblxuXHRhc2lkZSxcblx0aGdyb3VwIHtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHR9XG5cblx0YXNpZGUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIvaW1nL2Jvb2tzL3dlYi1lYm9vay1jb3Zlci5qcGdcIikgbm8tcmVwZWF0IGNhbGMoMTAwJSAtIDFweCkgNTAlO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bWFyZ2luLXRvcDoxNjBweDtcblx0fVxuXG5cdGhncm91cCB7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdHBhZGRpbmctbGVmdDogMTAlO1xuXG5cdFx0aDEge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGZvbnQtc2l6ZTogNDRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjRlbVxuXHRcdH1cblxuXHRcdHAge1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuN2VtO1xuXHRcdFx0bWFyZ2luOiAzOHB4IDA7XG5cdFx0fVxuXG5cdFx0LmJ0biB7XG5cdFx0XHRjb2xvcjogIzc3M2UwMDtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmNiMmM7XG5cdFx0fVxuXHR9XG5cblx0Lm1vZGFsIHtcblx0XHRoZ3JvdXAge1xuXHRcdFx0cGFkZGluZy1yaWdodDogMTAlO1xuXHRcdH1cblxuXHRcdGgzIHtcblx0XHRcdGNvbG9yOiAkYmxhY2tlcjtcblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpICB7XG5cdGJhY2tncm91bmQ6ICNlMWU2ZWY7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0XHRtYWluIHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0YXNpZGUge1xuXHRcdFx0XHRoZWlnaHQ6IDQwMHB4O1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYyg1MCUgKyAzM3B4KSA1MCU7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDY0cHg7XG5cdFx0XHR9XG5cdFxuXHRcdFx0aGdyb3VwIHtcblx0XHRcdFx0cGFkZGluZzogMjBweCAyMHB4IDQ4cHg7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICMxMTFjMmMsICMxMjI1NDEpO1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0cmlnaHQ6IC0xNXB4O1xuXHRcdFx0XHRcdGxlZnQ6IC0xNXB4O1xuXHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcblx0XHRcdFx0PiAqIHtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5ib29rLXByZXZpZXcge1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjI1NDE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgIzExMWMyYywgIzEyMjU0MSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4iLCIjcGFnZS1jb21tdW5pdHkge1xuICAuYmFubmVyLFxuICBtYWluIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWludGVyO1xuXG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAjMGYxNjIyO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIGhncm91cCBwIHtcbiAgICAgIGNvbG9yOiAjNGE1ODZmO1xuICAgIH1cbiAgfVxuXG4gIC5iYW5uZXIge1xuICAgIGJhY2tncm91bmQ6ICNmY2ZkZmYgbm8tcmVwZWF0IDAgMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOlxuICAgICAgdXJsKCcvaW1nL2NvbW11bml0eS9oZXJvLWJnLmpwZycpLFxuICAgICAgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZhZmNmZCwgI2Y0ZjVmNyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciwgMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMjI2cHg7XG4gICAgbWFyZ2luLXRvcDogLTExMHB4O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFzbmZvcm07XG5cbiAgICBoZ3JvdXAge1xuICAgICAgbWF4LXdpZHRoOiA3NjhweDtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFzbmZvcm07XG5cbiAgICAgIGxpIHtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDRlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgcGFkZGluZzogMzNweCAwIDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQgYSB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWVpbmE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyNGVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xuICAgICAgICBjb2xvcjogIzAwNzlmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogLjFzIG9wYWNpdHksIC4xcyBjb2xvcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogbGlnaHRlbigjMDA3OWZmLCAxNSk7XG5cbiAgICAgICAgICBpb24taWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogbGlnaHRlbigjMDA3OWZmLCAxNSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW9uLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IC4xcyB0cmFuc2Zvcm0gZWFzZS1vdXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmVzIHtcbiAgICAgIG1heC13aWR0aDogOTgycHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyN3B4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFzbmZvcm07XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtaW4td2lkdGg6IDEyOHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAzN3B4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wNGVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjNzI3YzhlO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDEsXG4gICAgcCxcbiAgICBsaSB7XG4gICAgICBhbmltYXRpb246IDFzIGZhZGVJblVwIGZvcndhcmRzO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICBoMSB7IGFuaW1hdGlvbi1kZWxheTogLjhzOyB9XG5cbiAgICBwIHsgYW5pbWF0aW9uLWRlbGF5OiAxczsgfVxuXG4gICAgaGdyb3VwIGxpIHtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMS42cztcblxuICAgICAgJjpudGgtY2hpbGQoMikgeyBhbmltYXRpb24tZGVsYXk6IDEuN3M7IH1cblxuICAgICAgJjpudGgtY2hpbGQoMykgeyBhbmltYXRpb24tZGVsYXk6IDEuOHM7IH1cblxuICAgICAgJjpudGgtY2hpbGQoNCkgeyBhbmltYXRpb24tZGVsYXk6IDEuOXM7IH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZXMgbGkge1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAyLjJzO1xuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7IGFuaW1hdGlvbi1kZWxheTogMi4zczsgfVxuXG4gICAgICAmOm50aC1jaGlsZCgzKSB7IGFuaW1hdGlvbi1kZWxheTogMi40czsgfVxuXG4gICAgICAmOm50aC1jaGlsZCg0KSB7IGFuaW1hdGlvbi1kZWxheTogMi41czsgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGhncm91cCxcbiAgICAgIC5mZWF0dXJlcyB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG1haW4ge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubWVldHVwcyB7XG4gICAgcGFkZGluZy10b3A6IDk2cHg7XG5cbiAgICAuc3BsaXQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkgYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG5cbiAgICAgICAgLmJ0bnMge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaGdyb3VwIHtcbiAgICAgIG1heC13aWR0aDogNTkycHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMDZlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAwNWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG5zIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3OHB4O1xuXG4gICAgICA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHBhZGRpbmc6IDE0cHggMThweCAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZWluYTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDY0cHggMCA4MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgIGFuaW1hdGlvbjogMXMgZmFkZUluIGZvcndhcmRzIDFzO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogODBweDtcblxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMzVweCAxNHB4IDczcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IC40cyB0cmFuc2Zvcm0gZWFzZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgIDAgNnB4IDEycHggcmdiYSgwLDgsMjQsLjA4KSxcbiAgICAgICAgICAgIDAgMnB4IDRweCByZ2JhKDAsOCwyNCwuMDQpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMXMgZWFzZSwgdHJhbnNmb3JtIC4xcyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy9jb21tdW5pdHkvZmxhZ3MucG5nJykgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDExcHg7XG4gICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDI0cHgpO1xuICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHNwcml0ZShcbiAgICAgICAgICAndWsnXG4gICAgICAgICAgJ2NoJ1xuICAgICAgICAgICdkZSdcbiAgICAgICAgICAnaWwnXG4gICAgICAgICAgJ3VzJ1xuICAgICAgICAgICdicidcbiAgICAgICAgICAnbmwnXG4gICAgICAgICAgJ2VzJ1xuICAgICAgICAgICdhbXMnXG4gICAgICAgICAgJ2luJ1xuICAgICAgICAgICd5dnInXG4gICAgICAgICAgJ3RyJ1xuICAgICAgICAgICdhdSdcbiAgICAgICAgICAnZGsnXG4gICAgICAgICAgJ2h1J1xuICAgICAgICAgICdjbydcbiAgICAgICAgICAnanAnXG4gICAgICAgICAgJ3VnJ1xuICAgICAgICAgICdoaydcbiAgICAgICAgICAnbmcnXG4gICAgICAgICAgJ3R6J1xuICAgICAgICAgICd0aCdcbiAgICAgICAgLCA0OCwgJzo6YWZ0ZXInKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgICAgMCAxMHB4IDE4cHggcmdiYSgwLDgsMjQsLjEpLFxuICAgICAgICAgICAgICAwIDRweCA4cHggcmdiYSgwLDgsMjQsLjA4KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAxLCAxLjAyLCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3Ryb25nLFxuICAgICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIGNvbG9yOiAjMGYxNjIyO1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuICAgICAgICBjb2xvcjogIzUwNjE3NjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW1hZ2Utd2FsbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi10b3A6IDIyMHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAyNTZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuXG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgaGVpZ2h0OiAxMjhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDQwcHgpIHtcbiAgICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubGVhZGVycyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2Y3ZjlmYiwgd2hpdGUgNTAlLCB3aGl0ZSk7XG4gICAgbWFyZ2luLXRvcDogLTE0MnB4O1xuICAgIHBhZGRpbmctdG9wOiAxODJweDtcblxuICAgIGhncm91cCB7XG4gICAgICBtYXJnaW46IDg0cHggYXV0byA2NnB4O1xuICAgICAgbWF4LXdpZHRoOiA2ODRweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZzogMTVweDtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAyNzFweDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiA4MnB4IDI0cHggMThweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIDAgNHB4IDhweCByZ2JhKDAsOCwyNCwuMDgpLFxuICAgICAgICAgIDBweCA4cHggMzJweCByZ2JhKDAsOCwyNCwwLjEpO1xuICAgICAgICB0cmFuc2l0aW9uOiAuMnMgYm94LXNoYWRvdyBlYXNlLW91dCwgLjJzIHRyYW5zZm9ybSBlYXNlLW91dDtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6IC0yMHB4O1xuICAgICAgICByaWdodDogY2FsYyg1MCUgLSA0NXB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2NvbW11bml0eS9jb21tdW5pdHktbGVhZGVycy1hdmF0YXJzLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogOTBweDtcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgc3ByaXRlKFxuICAgICAgICAnc2ltb24nXG4gICAgICAgICdqb3NoJ1xuICAgICAgICAnam9yZ2UnXG4gICAgICAgICd2ZW5pJ1xuICAgICAgICAnYXNodGV5YSdcbiAgICAgICAgJ3BhdWwnXG4gICAgICAgICdzYW5pJ1xuICAgICAgICAnbGVpZidcbiAgICAgICAgJ2RhdmlkJ1xuICAgICAgICAnY2hyaXMnXG4gICAgICAgICdkYXlhbmEnXG4gICAgICAgICdhYXJvbidcbiAgICAgICwgOTAsICc6OmFmdGVyJyk7XG5cbiAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMnB4IDhweCByZ2JhKDAsOCwyNCwuMDgpLFxuICAgICAgICAwcHggOHB4IDMycHggcmdiYSgwLDgsMjQsMC4xKSxcbiAgICAgICAgMCA4cHggMThweCByZ2JhKDAsOCwyNCwuMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDFlbTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG5cbiAgICAgIGEge1xuICAgICAgICB0cmFuc2l0aW9uOiAuMnMgY29sb3IgZWFzZS1vdXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IGRhcmtlbigkYmx1ZSwgMTUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnR3aXR0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA5cHg7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICNkNmRkZWE7XG4gICAgICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtIGVhc2Utb3V0LCAuMnMgY29sb3IgZWFzZS1vdXQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjIsIDEuMiwgMSk7XG4gICAgICB9XG4gICAgfVxuXG5cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5qb2luIHtcbiAgICAuc3BsaXQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIGhncm91cCB7XG4gICAgICAgICAgZmxleDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGFzaWRlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cblxuICAgICAgfVxuICAgIH1cblxuICAgIGhncm91cCB7XG4gICAgICBmbGV4OiAwIDUwOHB4O1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGFzaWRlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgd2lkdGg6IDQ2MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcbiAgICAgIH1cblxuICAgICAgaW9uaWMtbmV3c2xldHRlci1zaWdudXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW4tdG9wOiAyN3B4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNThweDtcbiAgICAgIHdpZHRoOiAzMzdweDtcblxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogODJweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy9jb21tdW5pdHkvc29jaWFsLWljb25zLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3MHB4O1xuICAgICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDMzcHgpO1xuICAgICAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSBlYXNlLW91dDtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCM2YzdlOTUsIDE1KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHNwcml0ZShcbiAgICAgICAgJ3NsYWNrJ1xuICAgICAgICAnZm9ydW0nXG4gICAgICAgICd0d2l0dGVyJ1xuICAgICAgICAnZ2l0aHViJ1xuICAgICAgICAnc28nXG4gICAgICAgICdmYWNlYm9vaydcbiAgICAgICAgJ3lvdXR1YmUnXG4gICAgICAgICdibG9nJ1xuICAgICAgICAnbWVkaXVtJ1xuICAgICAgLCA3MCwgJyBhOjpiZWZvcmUnKTtcblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIGNvbG9yIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGNvbG9yOiAjMGYxNjIyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDE0ZW07XG4gICAgICAgIGNvbG9yOiAjNmM3ZTk1O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5sYXRlc3Qge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmN2Y5ZmMsICNmZWZlZmYpO1xuICAgIG1hcmdpbi10b3A6IDEwMXB4O1xuICAgIHBhZGRpbmctdG9wOiAxMzhweDtcblxuICAgIGhncm91cCB7XG4gICAgICBtYXJnaW46IDAgYXV0byA3MnB4O1xuICAgICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAwNmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50dXRvcmlhbHMsXG4gICAgLnZpZGVvcyB7XG4gICAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wOGVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuXG4gICAgICAuc3Vic2NyaWJlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb2xvcjogIzM4ODBmZjtcbiAgICAgICAgYmFja2dyb3VuZDogI2RmZWRmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgcGFkZGluZzogNHB4IDExcHggNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IC0ycHg7XG5cbiAgICAgICAgaW9uLWljb24ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTUlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMjRweCAwcHg7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIGZsZXg6IDAgMzMzcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgICAgICAgZmxleDogMCAzMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDFweCAwIDFweCAzOXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvY29tbXVuaXR5L2xhdGVzdC1yc3MtaWNvbnMucG5nJykgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjhweDtcbiAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSBlYXNlLW91dDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oIzUxNjA3YSwgMTUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigjODc5NmE5LCAxNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyxcbiAgICAgICAgcCxcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogLjJzIGNvbG9yIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxOGVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAjNTE2MDdhO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOWVtO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb2xvcjogIzg3OTZhOTtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAzZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZpZGVvcyB7XG4gICAgICBsaSBhOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yOHB4OyB9XG4gICAgfVxuICB9XG5cbiAgLmVkdWNhdGlvbiB7XG4gICAgYmFja2dyb3VuZDogIzEyMWIyYyB1cmwoJy9pbWcvY29tbXVuaXR5L2NvbW11bml0eS1lZHUtYmcuanBnJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTY4MHB4O1xuICAgIG1hcmdpbi10b3A6IDkzcHg7XG4gICAgcGFkZGluZy10b3A6IDEzOHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDQge1xuICAgICAgb3BhY2l0eTogLjg7XG4gICAgfVxuXG4gICAgaGdyb3VwIHtcbiAgICAgIG1heC13aWR0aDogNTgwcHg7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyNmVtO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBwYWRkaW5nOiA0N3B4IDFweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZmxleDogMCAyNzBweDtcbiAgICAgIGhlaWdodDogMjMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDExcHg7XG5cbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDI5cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzM4ODBmZjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMSwgMS4wMSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMTVlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxlZnQ6IDI4cHg7XG4gICAgICAgIHJpZ2h0OiAyOHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDIpIGE6OmJlZm9yZSB7IGJhY2tncm91bmQ6ICMyODdlYTE7IH1cbiAgICAgICY6bnRoLWNoaWxkKDMpIGE6OmJlZm9yZSB7IGJhY2tncm91bmQ6ICNkYTViNzA7IH1cbiAgICAgICY6bnRoLWNoaWxkKDQpIGE6OmJlZm9yZSB7IGJhY2tncm91bmQ6ICM5NWIyNTE7IH1cbiAgICAgICY6bnRoLWNoaWxkKDUpIGE6OmJlZm9yZSB7IGJhY2tncm91bmQ6ICMzMGFlZWI7IH1cbiAgICAgICY6bnRoLWNoaWxkKDYpIGE6OmJlZm9yZSB7IGJhY2tncm91bmQ6ICM0YTYyOGE7IH1cbiAgICAgICY6bnRoLWNoaWxkKDcpIGE6OmJlZm9yZSB7IGJhY2tncm91bmQ6ICM4ZDVjZTM7IH1cbiAgICAgICY6bnRoLWNoaWxkKDgpIGE6OmJlZm9yZSB7IGJhY2tncm91bmQ6ICNmNDhmNjM7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIG1peGluc1xuQG1peGluIGJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm94LXNoYWRvdzogMCA4cHggMzJweCByZ2JhKDAsMCwwLDAuMSksXG4gICAgICAgICAgICAgIDAgMnB4IDhweCAgcmdiYSgwLDAsMCwwLjEpO1xufVxuXG5AbWl4aW4gZmxleC1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgbGkge1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIHNwcml0ZSgkaXRlbXMsICRoZWlnaHQ6IDY0LCAkc2VsZWN0b3I6ICc6OmJlZm9yZScpIHtcbiAgQGVhY2ggJGljb24gaW4gJGl0ZW1zIHtcbiAgICAkaTogaW5kZXgoJGl0ZW1zLCAkaWNvbik7XG5cbiAgICAmLiN7JGljb259I3skc2VsZWN0b3J9IHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgI3soJGhlaWdodCAqICgkaSAtIDEpICogLTEpfXB4O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaG92ZXJTcHJpdGUoXG4gICRpdGVtcywgJGhlaWdodDogNjQsICRzZWxlY3RvcjE6ICc6OmJlZm9yZScsICRzZWxlY3RvcjI6ICc6OmFmdGVyJ1xuKSB7XG4gICYjeyRzZWxlY3RvcjF9LCBcbiAgJiN7JHNlbGVjdG9yMn0ge1xuICAgIHRyYW5zaXRpb246IC4ycyBvcGFjaXR5O1xuICB9XG5cbiAgJiN7JHNlbGVjdG9yMn0ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAmI3skc2VsZWN0b3IxfSB7XG4gICAgICAvLyBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgICYjeyRzZWxlY3RvcjJ9IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJGljb24gaW4gJGl0ZW1zIHtcbiAgICAkaTogaW5kZXgoJGl0ZW1zLCAkaWNvbik7XG5cbiAgICAmLiN7JGljb259I3skc2VsZWN0b3IxfSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwICN7KCRoZWlnaHQgKiAoJGkgLSAxKSAqIC0yKX1weDtcbiAgICB9XG5cbiAgICAmLiN7JGljb259I3skc2VsZWN0b3IyfSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwICN7KCRoZWlnaHQgKiAoJGkgLSAxKSAqIC0yKSAtICRoZWlnaHR9cHg7XG4gICAgfVxuICB9XG59IiwiI3BhZ2UtY29udHJpYnV0b3JzIHtcblxuICBtYWluIHtcbiAgICBjb2xvcjogIzE2MWExZjtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWVpbmE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIC5idG4ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDEycHggMjBweDtcblxuICAgICYtLXNlY29uZGFyeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTAyMjQyO1xuICAgIH1cbiAgfVxuXG4gIC5jdGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgcGFkZGluZy10b3A6IDE4MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jdGEgaDEge1xuICAgIGNvbG9yOiAjNzNBQkZGO1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICB9XG5cbiAgLmN0YSBoMSBzcGFuIHtcbiAgICBjb2xvcjogIzM4ODBGRjtcbiAgfVxuXG4gIC5jdGEgLnR5cGVkLWN1cnNvciB7XG4gICAgY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC00cHg7XG4gICAgYmFja2dyb3VuZDogI0JGRDZGRjtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGFuaW1hdGlvbjogdHlwZWRqc0JsaW5rIDFzIGluZmluaXRlO1xuICB9XG5cbiAgQGtleWZyYW1lcyB0eXBlZGpzQmxpbmt7XG4gICAgMCUgeyBvcGFjaXR5OiAxOyB9XG4gICAgNTAlIHsgb3BhY2l0eTogMC4wOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbiAgfVxuXG4gIC5jdGEgcCB7XG4gICAgY29sb3I6ICM1MDU4NjM7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIG1hcmdpbjogMC43NWVtIGF1dG8gMS4yNWVtO1xuICAgIG1heC13aWR0aDogNTcwcHg7XG4gIH1cblxuICAuY3RhIC5jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICB9XG4gIH1cblxuICAuc2VjdGlvbi1oZWFkZXIge1xuICAgIGNvbG9yOiAjMmYzNzQ0O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA0ZW07XG4gICAgbWFyZ2luLXRvcDogNGVtO1xuICAgIG1heC13aWR0aDogMzJlbTtcbiAgfVxuXG4gIC5zZWN0aW9uLWhlYWRlciBoMiB7XG4gICAgY29sb3I6ICMyNDI4MmU7XG4gICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjVlbTtcbiAgfVxuXG4gIC5vc3MsXG4gIC5wcm8ge1xuICAgIC5zZWN0aW9uLWhlYWRlciBoMiBzcGFuIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDRweCAjMjQyODJlO1xuICAgIH1cbiAgfVxuXG4gIC5mZWF0dXJlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB9XG5cbiAgLmZlYXR1cmVfX2ljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvY29udHJpYnV0b3JzL2NvbnRyaWJ1dG9ycy1mZWF0dXJlLWljb25zLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgIHdpZHRoOiA0OHB4O1xuXG4gICAgJi50YWxrICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XG4gICAgJi5zdG9yeSAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC00OHB4ICogMTsgfVxuICAgICYuYmxvZyAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtNDhweCAqIDI7IH1cbiAgfVxuXG4gIC5mZWF0dXJlX190ZXh0IHN0cm9uZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NWVtO1xuICB9XG5cbiAgLmZlYXR1cmVfX3RleHQgcCB7XG4gICAgY29sb3I6ICM3ODg0OTc7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gIH1cblxuICAuZmVhdHVyZS1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDRlbTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmZlYXR1cmUtbGlzdCA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cblxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgLmZlYXR1cmUtbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5mZWF0dXJlLWxpc3QgPiBsaSB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgcGFkZGluZy1yaWdodDogM2VtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNGVtO1xuICAgIH1cblxuICAgIC5mZWF0dXJlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmZlYXR1cmVfX2ljb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtO1xuICAgIH1cbiAgfVxuXG4gIC50b3BpY3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA2NjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyMzU1O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgcmdiYSgjMjQyMzU1LCAxKSAwJSwgcmdiYSgjMjQyMzU1LCAwKSAxMDAlKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgcmdiYSgjMjQyMzU1LCAwKSAwJSwgcmdiYSgjMjQyMzU1LCAxKSAxMDAlKTtcbiAgICB9XG5cbiAgICBoZ3JvdXAge1xuICAgICAgbWF4LXdpZHRoOiA0NDBweDtcbiAgICAgIG1hcmdpbi10b3A6IDcycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTEuMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6ICNCRkM1RTU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNjJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgICYuaW1hZ2UtZmFsbGJhY2s6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAzODhweDtcbiAgICAgIGhlaWdodDogNjU4cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jb250cmlidXRvcnMvY29udHJpYnV0b3JzLXRvcGljcy5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDM4OHB4IDY1OHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICBvcGFjaXR5OiAxXG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgJi5pbWFnZS1mYWxsYmFjazphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgICAgaGdyb3VwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTM2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRvcGljc19fYW5pbWF0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDkwJSk7XG4gICAgei1pbmRleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgZmlsbDogI2ZmZjtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gICAgfVxuICB9XG5cbiAgLnF1b3RlcyB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxuXG4gIC5xdW90ZXNfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDkwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnF1b3Rlc19fcXVvdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiA4MHB4O1xuICAgICAgY29sb3I6ICMyNDI4MmU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgcGFkZGluZzogNDBweDtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tb3Jvbnkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5RjJGRjtcbiAgICB9XG5cbiAgICAmLnZlcmdhbmFyYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDBFMkZEO1xuXG4gICAgfVxuICB9XG5cbiAgLnF1b3Rlc19fYXZhdGFyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2NvbnRyaWJ1dG9ycy9jb250cmlidXRvcnMtdGVzdGltb25pYWwtYXZhdGFycy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA2MnB4O1xuICAgIGhlaWdodDogNjJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgYm9yZGVyLXJhZGl1czogNjJweDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwwLDAsMC4xMCk7XG5cbiAgICAmLm1vcm9ueSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7XG4gICAgfVxuXG4gICAgJi52ZXJnYW5hcmEge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtNTZweDtcbiAgICB9XG4gIH1cblxuICAucXVvdGVzIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAucXVvdGVzIGEge1xuICAgIGNvbG9yOiBpbml0aWFsO1xuICAgIHRleHQtdW5kZXJsaW5lOiBub25lO1xuICB9XG4gIC5xdW90ZXMgYSBibG9ja3F1b3RlID4gc21hbGwge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubW9yb255IGEgYmxvY2txdW90ZSA+IHNtYWxsID4gc3BhbiB7XG4gICAgY29sb3I6ICM5M0E4QzY7XG4gIH1cblxuICAudmVyZ2FuYXJhIGEgYmxvY2txdW90ZSA+IHNtYWxsID4gc3BhbiB7XG4gICAgY29sb3I6ICM1Qzc0OUI7XG4gIH1cblxuICAuYXBwbHkge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgIC5jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICB9XG4gIH1cblxuICAuYXBwbHlfX2Zvcm0ge1xuICAgIGZsZXg6IDAgMCA2ODVweDtcbiAgICBwYWRkaW5nOiA0NnB4O1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IDAgcmdiYSgwLDE0LDM5LDAuMTIpLCAwIDEwcHggMjBweCAwIHJnYmEoMCwxNCwzOSwwLjEyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTEuMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICBjb2xvcjogIzE2MUExRjtcbiAgICB9XG5cbiAgICAuaGJzcHQtZm9ybSB7XG4gICAgICBtYXJnaW46IDQ0cHggMCAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICBmbGV4OiAwIDAgNTgwcHg7XG4gICAgfVxuICB9XG5cbiAgLmFwcGx5X19iZW5lZml0cyB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIG1hcmdpbi10b3A6IDYycHg7XG5cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgICBjb2xvcjogIzE2MUExRjtcbiAgICAgIG1hcmdpbjogMCAwIDM2cHg7XG4gICAgfVxuICB9XG5cbiAgLmJlbmVmaXQtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG5cbiAgLmJlbmVmaXQtbGlzdF9faXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MnB4O1xuICAgIG1hcmdpbi10b3A6IDI4cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC9pbWcvZnJhbWV3b3JrL2NoZWNrbWFyay1pY29uLnBuZykgbm8tcmVwZWF0IDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHg7XG5cbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICMxNjFBMUY7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjNzQ3RjkyO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjI1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAuYXBwbHlfX2Zvcm0ge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBwYWRkaW5nOiAyNnB4O1xuXG4gICAgICBoMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBtYXJnaW46IDE2cHggMDtcbiAgICAgIH1cbiAgICAgIC5oYnNwdC1mb3JtIHtcbiAgICAgICAgLy8gbWFyZ2luOiAyNHB4IDAgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgIC5hcHBseV9fYmVuZWZpdHMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuYmVuZWZpdC1saXN0X19pdGVtIHB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIjcGFnZS1kZW1vIC5kZW1vLWN0YSxcbiNwYWdlLXN0cmF0ZWd5LXNlc3Npb24gLmRlbW8tY3RhIHtcblxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiAuY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwNHB4O1xuICAgIHBhZGRpbmctdG9wOiA1M3B4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZy10b3A6IDIzcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgaGdyb3VwIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgfVxuICB9XG5cbiAgaGdyb3VwIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG4gIH1cblxuICBoMSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB3aWR0aDogNjRweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIH1cbiAgfVxufVxuXG4jcGFnZS1kZW1vIC5kZW1vLWZvcm0sXG4jcGFnZS1zdHJhdGVneS1zZXNzaW9uIC5kZW1vLWZvcm0ge1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuaGJzcHQtZm9ybSB7XG4gICAgQGluY2x1ZGUgYm94O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgbWFyZ2luLXRvcDogLTQwcHg7XG4gICAgLy8gbWluLXdpZHRoOiA2MzBweDtcbiAgICBwYWRkaW5nOiA2NHB4IDY0cHggMjRweDtcblxuICAgIGZvcm0ge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgaDMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBCb290c3RyYXAgY2xlYXJmaXggbWVzc2VzIHVwIGZsZXggYWxpZ25tZW50XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhzLWZvcm0tcmVxdWlyZWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuaHMtaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5mb3JtLWNvbHVtbnMtMSAuaW5wdXQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2FzaWRlIHtcbiAgICAvLyBtYXgtd2lkdGg6IDMzJTtcbiAgICBwYWRkaW5nOiA0ZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBjb2xvcjogIzcyN2E4NztcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGYyYmEnO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgID4gcCB7XG4gICAgICBjb2xvcjogIzcwN2M4ODtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wNzVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRleHRhcmVhLFxuICAvLyAuZm9ybS1jb250cm9sLFxuICAvLyAuc2VsZWN0LXdyYXBwZXIge1xuICAvLyAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIC8vICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAvLyB9XG5cbiAgLy8gZm9ybSA+IC5mb3JtLWNvbnRyb2wge1xuICAvLyAgIHdpZHRoOiA0OSU7XG5cbiAgLy8gICBAbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLy8gICAgIHdpZHRoOiAxMDAlO1xuICAvLyAgIH1cbiAgLy8gfVxufVxuIiwiI3BhZ2UtaWRlbnRpdHktdmF1bHQge1xuICBtYWluIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWludGVyO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgLmJ0biB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWVpbmE7XG4gICAgfVxuICB9XG4gIC5zdWItaGVhZGVyIHtcbiAgICAudmF1bHQtbGluayB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTdweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDNlbTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2VudGVycHJpc2UvaWRlbnRpdHktdmF1bHQvdmF1bHQtbmF2LWxvZ28ucG5nJykgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOXB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTExcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRlbW8ge1xuICAgICAgcGFkZGluZzogMTlweCAxcHggMThweCAxNXB4O1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSW9uaWNvbnMnO1xuICAgICAgICBjb250ZW50OiBcIu+PkVwiO1xuICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTFweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudG9wIHtcbiAgICBtYXJnaW4tdG9wOiAtMTcycHg7XG4gICAgcGFkZGluZy10b3A6IDI3NnB4O1xuICAgIGJhY2tncm91bmQ6ICMwYzFjMWM7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMGUxZTJlIDAlLCAjMjAzZTVhIDEwMCUpO1xuICAgIG1pbi1oZWlnaHQ6IDk3MnB4O1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2VudGVycHJpc2UvaWRlbnRpdHktdmF1bHQvaGVyby1pbWcucG5nJykgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogNTg5cHg7XG4gICAgICAgIGhlaWdodDogNzYwcHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTgycHg7XG4gICAgICAgIHRvcDogLTcycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaGdyb3VwIHtcbiAgICAgIG1heC13aWR0aDogNTQwcHg7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBjb2xvcjogIzdiYmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxNmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzllbTtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogI2MzY2VkZjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDUxcHg7XG4gICAgICBwYWRkaW5nOiAxNHB4IDE2cHggMTJweCAxOXB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDZlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICAgIGNvbnRlbnQ6ICfvj5EnO1xuICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtNHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkgIHtcbiAgICAgIGhncm91cCB7XG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSAge1xuICAgICAgaGdyb3VwIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBoMSxcbiAgICAgIGgzIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0NjBweDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMjk0cHg7XG4gICAgICAgIGhlaWdodDogMzgwcHg7XG4gICAgICAgIHJpZ2h0OiAtMzFweDtcbiAgICAgICAgdG9wOiAtODBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpICB7XG4gICAgICBwYWRkaW5nLXRvcDogNDAwcHg7XG5cbiAgICAgIC5jb250YWluZXI6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDE0N3B4O1xuICAgICAgICBoZWlnaHQ6IDE5MHB4O1xuICAgICAgICByaWdodDogY2FsYyg1MCUgLSA5NXB4KTtcbiAgICAgICAgdG9wOiAtMTkwcHg7XG4gICAgICB9XG5cbiAgICAgIGhncm91cCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaDEsXG4gICAgICBoMyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ2FuZGFsZiB7XG4gICAgcGFkZGluZy10b3A6IDEwNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG5cbiAgICAuc3BsaXQge1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBmbGV4OiAwIDEgNTIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBtYXJnaW4tbGVmdDogMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgbWFyZ2luLXRvcDogNjhweDtcbiAgICAgIGZvbnQtc2l6ZTogMjdweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDA1ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS45MmVtO1xuICAgICAgY29sb3I6ICM1MTY1N2Q7XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBmbGV4OiAwIDEgNTE0cHg7XG4gICAgICBtYXJnaW4tdG9wOiAzNHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpICB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDM5MnB4O1xuICAgICAgfVxuXG4gICAgICBsaTo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMjJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc4ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICAgICAgY29sb3I6ICM1MTY1N2Q7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy9lbnRlcnByaXNlL2lkZW50aXR5LXZhdWx0L2xvY2stY2hlY2ttYXJrLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzJweDtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSAge1xuICAgICAgLnNwbGl0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgYmFja2dyb3VuZDogI2YzZjVmODtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgICBwYWRkaW5nOiAyNHB4IDMwcHg7XG4gICAgICBtYXJnaW4tdG9wOiA1OXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWluLWhlaWdodDogMjc4cHg7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2VudGVycHJpc2UvaWRlbnRpdHktdmF1bHQvaXYtZGlhZ3JhbS1zdGF0ZXMucG5nJykgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDI0MnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDIxcHg7XG4gICAgICAgIHRvcDogMjRweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBvcGFjaXR5LCAuMnMgdHJhbnNmb3JtIGVhc2Utb3V0O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEpO1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTRweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDRweCBpbnNldCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBib3JkZXItY29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA5cHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSBlYXNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZGFmZmU7XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg5cHgsIDAsIDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpICB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI0NHB4O1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiA4OTZweDtcbiAgICAgICAgICBoZWlnaHQ6IDE5NnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkgIHtcbiAgICAgICAgbWluLWhlaWdodDogMTk0cHg7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDY3OHB4O1xuICAgICAgICAgIGhlaWdodDogMTQ5cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wb2ludHMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXG4gICAgaDIge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDE3cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nLXRvcDogNjhweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmbGV4OiAwIDAgMzIwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogNjlweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MXB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpICB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDI1NnB4O1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvZW50ZXJwcmlzZS9pZGVudGl0eS12YXVsdC9iZW5lZml0cy1pY29ucy5wbmcnKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHg7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJi5wcm90ZWN0aW9uOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00OHB4OyAgfVxuICAgICAgJi5jb2RlOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyAgfVxuICAgICAgJi5iYWNrZW5kOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgIH1cbiAgICAgICYudG9rZW5zOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xOTJweDsgIH1cbiAgICAgICYuc3VwcG9ydDo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjQwcHg7ICB9XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG4gICAgICAgIGNvbG9yOiAjNTE2NTdkO1xuICAgICAgfVxuICAgIH1cblxuXG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpICB7XG4gICAgICBoZ3JvdXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBmbGV4LWJhc2lzOiAzNDBweDtcbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSAge1xuICAgICAgbGkge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDI0cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb3RlY3QsXG4gIC5pbnRlZ3JhdGlvbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvZW50ZXJwcmlzZS9pZGVudGl0eS12YXVsdC9wcm90ZWN0aW9uLWltZy5wbmcnKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgd2lkdGg6IDU2MHB4O1xuICAgICAgaGVpZ2h0OiA1NjBweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IC0xMHB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpICB7XG4gICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgaGVpZ2h0OiAyODBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoZ3JvdXAge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNDZweCk7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSAge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA2NnB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkgIHtcbiAgICAgICAgd2lkdGg6IDQ2MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAjNTE2NTdkO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG5cbiAgICAgICYubGcge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDA0ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjllbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiAzOXB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMxcHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogIzM4ODBmZjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy9lbnRlcnByaXNlL2lkZW50aXR5LXZhdWx0L2NoZWNrbWFyay5wbmcnKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkgIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMDBweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gMTQwcHgpO1xuICAgICAgfVxuXG4gICAgICBoZ3JvdXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmludGVncmF0aW9ucyB7XG4gICAgcGFkZGluZy1ib3R0b206IDk5cHg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2VudGVycHJpc2UvaWRlbnRpdHktdmF1bHQvaW50ZWdyYXRpb24taW1nLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICB3aWR0aDogNTYwcHg7XG4gICAgICBoZWlnaHQ6IDU2MHB4O1xuICAgICAgdG9wOiAxMDFweDtcbiAgICAgIGxlZnQ6IC0xMXB4O1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1NnB4O1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNTlweCk7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkgIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTAwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkgIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgaGVpZ2h0OiAyODBweDtcbiAgICAgIH1cblxuICAgICAgaGdyb3VwIHtcbiAgICAgICAgd2lkdGg6IDQ0MHB4O1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkgIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMzBweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiA4MHB4O1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE0MHB4KTtcbiAgICAgIH1cblxuICAgICAgaGdyb3VwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53aGF0LXlvdS1nb3Qge1xuICAgIGJhY2tncm91bmQ6ICMxMDE5MjggdXJsKCcvaW1nL2VudGVycHJpc2UvaWRlbnRpdHktdmF1bHQvYmctcGFuZXMucG5nJykgNTAlIDAgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwMHB4O1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7XG4gICAgfVxuXG5cbiAgICBoZ3JvdXAge1xuICAgICAgcGFkZGluZy10b3A6IDE3OHB4O1xuICAgICAgbWF4LXdpZHRoOiA3MTJweDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAjYjZjM2Q2O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi10b3A6IDE3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogNjlweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmbGV4OiAwIDAgNTE4cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDU2cHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkgIHtcbiAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA1MHB4KTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2VudGVycHJpc2UvaWRlbnRpdHktdmF1bHQvbG9jay1jaGVja21hcmsucG5nJykgMCAxMDAlIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMnB4O1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSAge1xuICAgICAgLy8gcGFkZGluZy1ib3R0b206IDEwMHB4O1xuXG4gICAgICBoZ3JvdXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogOTJweDtcbiAgICAgICAgbWF4LXdpZHRoOiA3MTJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpICB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRlbW8ge1xuICAgIHBhZGRpbmctdG9wOiA5N3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMTBweDtcblxuICAgIGhncm91cCB7XG4gICAgICBzdHJvbmcge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA2ZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZWluYTtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAzOXB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICBtYXgtd2lkdGg6IDkzMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSAge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpICB7XG4gICAgICAuZm9ybSB0ZXh0YXJlYS5ocy1pbnB1dCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOHB4KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53YXRjaCB7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjhmYjtcblxuICAgIC5jYXJkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDg1cHg7XG4gICAgICB0b3A6IDY4cHg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA0NjBweDtcbiAgICB9XG5cbiAgICBoZ3JvdXAge1xuICAgICAgcGFkZGluZy10b3A6IDExOXB4O1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNTBweCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkgIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMDBweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgcGFkZGluZzogMTRweCAxNnB4IDEwcHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpICB7XG4gICAgICAuY2FyZCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSAge1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICB9XG5cbiAgICAgIGhncm91cCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjYwcHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpICB7XG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwMHB4O1xuICAgICAgfVxuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTE1cHgpO1xuICAgICAgfVxuXG4gICAgICBoZ3JvdXAgIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiNwYWdlLWVudGVycHJpc2UtdHJhaW5pbmcge1xuICAuYmFubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTk4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDkwcHg7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxOGVtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgIH1cbiAgfVxuXG4gIG1haW4ge1xuICAgIG1heC13aWR0aDogNjMwcHg7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDI5cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWVpbmE7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgbWFyZ2luLXRvcDogMzlweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDA1ZW07XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICAgICAgKyB1bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjZweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDA1ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgfVxuICB9XG5cbiAgYXNpZGUge1xuICAgIG1heC13aWR0aDogNTIwcHg7XG4gICAgbWFyZ2luLXRvcDogNDZweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3OHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAjMzg4MGZmO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZWluYTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07XG5cbiAgICAgIGkge1xuICAgICAgICBjb2xvcjogIzkzYTJiYztcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMzBweCAxcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBtYXJnaW46IDMycHggYXV0bztcbiAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIH1cbiAgfVxufSIsIiNwYWdlLWdldHRpbmctc3RhcnRlZCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZWluYTtcblxuICAuY3RhIHtcbiAgICAmLmdyYWRpZW50IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCggOTBkZWcsIHJnYig1NiwxMjgsMjU1KSAxNSUsIHJnYigxMDMsMTY3LDI1NSkgMTAwJSk7XG4gICAgfVxuICAgIGhncm91cCB7XG4gICAgICBwYWRkaW5nLXRvcDogNjJweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGgxLFxuICAgIGg0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXgtd2lkdGg6IDU0MHB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBjb2xvcjogI0UzRTlGNDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICBoZ3JvdXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDJweDtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jcmFzaC1jb3Vyc2Uge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLXRvcDogLTMwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtIGN1YmljLWJlemllciguMiwuNzgsLjY2LDEuNzMpO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMzU4cHg7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtOHB4LCAtOTFweCkgcm90YXRlKDMuNzBkZWcpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyLCAxLjAyKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC50YWItY29udGVudCB7XG4gICAgcGFkZGluZzogMTAwcHggMCAwO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICBwYWRkaW5nOiA4MHB4IDAgMDtcbiAgICB9XG5cbiAgICAuY29udGFpbmVyOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZGYyZjc7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICB3aWR0aDogMTU4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIH1cblxuICAgIGhncm91cCB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcblxuICAgICAgLmJ0biB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxMmVtO1xuICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG5cbiAgICAgICYudGhpbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBjb2xvcjogIzBGMTYyMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgfVxuXG4gICAgY29kZSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBjb2xvcjogI0UwNUM3QjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIHByZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjdGQTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcblxuICAgICAgY29kZSB7XG4gICAgICAgIGNvbG9yOiAjMjcyQTJGO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDI0cHggMjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgb2wge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIH1cblxuICAgIG9sIGxpIHtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzdGVwLWNvdW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBoMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYgKyBsaSxcbiAgICAgICYgKyAuc3VwZXJjaGFyZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNDBweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoc3RlcC1jb3VudGVyKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBmbGV4OiAwIDAgMjVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzODgwRkY7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgIH1cblxuICAgICAgJiA+IGRpdiB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgLnN1cGVyY2hhcmdlIGxpOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC1yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4O1xuXG4gICAgICAmICsgLmNvbnRlbnQtcm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gICAgICB9XG5cbiAgICAgIC5jb2wtLWhhbGYge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgfVxuXG4gICAgICAuY29sLS10aGlyZCB7XG4gICAgICAgIGZsZXg6IDAgMCAzMyU7XG4gICAgICB9XG5cbiAgICAgIC5jb2wtLWZ1bGwge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgfVxuXG4gICAgICAuY29sLS1jZW50ZXJlZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBjb2RlIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLmNvbCB7XG4gICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5jb2wgKyAuY29sIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tcm93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIC5mb3JtLXdyYXBwZXIge1xuICAgICAgICBmbGV4OiAwIDAgNjQwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybSB7XG4gICAgICBwYWRkaW5nOiA2NHB4O1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IDAgcmdiYSgwLDEzLDM2LDAuMTYpLCAwIDJweCA4cHggMCByZ2JhKDAsMTMsMzYsMC4wOCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuXG4gICAgICBoMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDJweDtcbiAgICAgIH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGNvbG9yOiAjM0I0MzREO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDE1ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgIH1cblxuICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4ycztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQzNDRERGO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMTZweDtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzM4ODBmZjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZXJyb3IgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAuZXJyb3IgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ1NDU0O1xuICAgICAgfVxuXG4gICAgICAuY2hlY2tib3gtbGFiZWwge1xuICAgICAgICBjb2xvcjogIzcyN0E4NztcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLW1lc3NhZ2Uge1xuICAgICAgICBjb2xvcjogI2Y0NTQ1NDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnRuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuZGlzY2xhaW1lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgY29sb3I6ICNhMGE5Yjc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgIC53ZWxsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTFFNUVEO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIGNvbG9yOiAjM0I0MjREO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWxpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWluKSB7XG4gICAgICAgIHBhZGRpbmc6IDM2cHggMjhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZXJyb3JsaXN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBjb2xvcjogI2Y0NTQ1NDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG5cbiAgICAgICYuZXJyb3Ige1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmVuZWZpdHMge1xuICAgICAgbWF4LXdpZHRoOiAzOTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0OHB4O1xuICAgICAgbWFyZ2luLXRvcDogNzZweDtcblxuXG4gICAgICAmID4gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGNvbG9yOiAjNDI0QzVBO1xuICAgICAgICBtYXJnaW4tdG9wOiAxOHB4O1xuXG4gICAgICAgIGIge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgY29sb3I6ICM0MjRDNUE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogNjBweCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgY29sb3I6ICMxNjFBMUY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDJweDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgY29sb3I6ICM1NDVDNkE7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IElvbmljb25zO1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGYyYmMnO1xuICAgICAgICAgIGNvbG9yOiAjRDBFNkZGO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM2N0EyRkY7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxpICsgbGkge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDU5MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaWduLXVwLWxvZ29zIHtcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDAgNDBweDtcblxuICAgICAgLnNpZ24tdXAtbG9nb3NfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi10b3A6IDM0cHg7XG4gICAgICB9XG5cbiAgICAgIC5zaWduLXVwLWxvZ29zX19jb250ZW50ID4gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL2dldHRpbmctc3RhcnRlZC9nZXR0aW5nLXN0YXJ0ZWQtc2lnbnVwLWxvZ28tc3ByaXRlLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyOHB4IDE4NnB4O1xuXG4gICAgICAgICYudGFyZ2V0IHtcbiAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi52ZXJpem9uIHtcbiAgICAgICAgICB3aWR0aDogNzlweDtcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYW10cmFrIHtcbiAgICAgICAgICB3aWR0aDogNTJweDtcbiAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubWFya2V0d2F0Y2gge1xuICAgICAgICAgIHdpZHRoOiAxMjlweDtcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYudXNhcm15IHtcbiAgICAgICAgICB3aWR0aDogNTJweDtcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZ2Uge1xuICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY29tY2FzdCB7XG4gICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5lYSB7XG4gICAgICAgICAgd2lkdGg6IDM3cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0OXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pYm0ge1xuICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjhweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgICAgLnNpZ24tdXAtbG9nb3NfX2NvbnRlbnQge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIG1heC13aWR0aDogNTkwcHg7XG4gICAgICAgICAgbWFyZ2luOiAzNHB4IGF1dG8gMDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2lnbi11cC1sb2dvc19fY29udGVudCA+IGRpdiB7XG4gICAgICAgICAgbWFyZ2luOiAwIDIwcHggMzBweDtcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50LXRpcCB7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4ycztcbiAgICAgIGNvbG9yOiAjODU5NEFGO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMUU1RUQ7XG4gICAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNjNWNmZTI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6Jz8nO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjQUJCOENFO1xuICAgICAgICBwYWRkaW5nOiAwIDJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBmbGV4OiAwIDAgMTRweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBmb250LWZhbWlseTogSW9uaWNvbnM7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYzZDEnO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzIHRyYW5zZm9ybTtcbiAgICAgICAgZmxleDogMCAwIDZweDtcbiAgICAgIH1cblxuICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgycHgsIC0xcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdXBlcmNoYXJnZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTkwZGVnLCAjNzI0NUQ5IDAlLCAjNEM1QkUzIDUyJSwgIzI0NzJFRiAxMDAlKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IDAgcmdiYSgwLDEzLDM2LDAuMTYpLCAwIDJweCA4cHggMCByZ2JhKDAsMTMsMzYsMC4wOCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMXB4O1xuICAgICAgcGFkZGluZzogNDBweCA0MHB4IDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTM0cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogNjhweDtcbiAgICAgICAgaGVpZ2h0OiA2OHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvZ2V0dGluZy1zdGFydGVkL3N1cGVyY2hhcmdlLWxvZ28ucG5nJykgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGxpOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzM4ODBGRjtcbiAgICAgIH1cblxuICAgICAgcHJlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjE4KTtcblxuICAgICAgICBjb2RlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDhweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAwO1xuXG4gICAgICAgIC5pbWcge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGVhcm4tbW9yZSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDAgNjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmV4dC1zdGVwcyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0VERURFRDtcblxuICAgICAgaGdyb3VwIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQtcm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4O1xuXG4gICAgICAgIC5jb2wge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50LWNhcmQge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogODBweDtcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNDRweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSA3MnB4KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgxKTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvZ2V0dGluZy1zdGFydGVkL2lvbmljLW5hdGl2ZS1jYXJkLnBuZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9nZXR0aW5nLXN0YXJ0ZWQvY29tcG9uZW50cy1jYXJkLnBuZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDMpOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9nZXR0aW5nLXN0YXJ0ZWQvdGhlbWluZy1jYXJkLnBuZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgICBoZ3JvdXAge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA0MnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgICAgICAuY29udGVudC1yb3cge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAuY29sIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAxMnB4IDEycHggMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC1jYXJkIHtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcztcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IDAgcmdiYSgwLDAsMCwuMSksIDAgMnB4IDRweCAwIHJnYmEoMCwwLDAsLjA4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIHBhZGRpbmc6IDE2cHggOTJweCAxNnB4IDMycHg7XG5cbiAgICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICMwRjE2MjBcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiAjNTQ1QzZBO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTBweCAwIHJnYmEoMCwxMywzNiwwLjA4KSwgMCAycHggOHB4IDAgcmdiYSgwLDEzLDM2LDAuMDgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idG4ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgcGFkZGluZzogMjBweCAyMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBpIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciBpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDJweCwgMCk7XG4gICAgfVxuICB9XG5cbiAgLnNjcmVlbnNob3QtZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgaW1nOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBhbmltYXRpb246IDEwcyBjcm9zc0ZhZGVJbk91dCBpbmZpbml0ZTtcbiAgICB9XG4gIH1cbn1cbiIsIiNwYWdlLWdvLXB3YS1hcmNoaXRlY3RzLWd1aWRlLFxuI3BhZ2UtZ28td2h5LWh5YnJpZCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaW50ZXI7XG5cbiAgaDEsXG4gIGgyLFxuICBoMyB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuICB9XG5cbiAgLmJhbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjhmYztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgICBtYXJnaW4tdG9wOiAtMTM4cHg7XG4gICAgcGFkZGluZy10b3A6IDc4cHg7XG5cbiAgICBzdmcge1xuICAgICAgZmlsbDogIzRmNjM4NDtcbiAgICB9XG5cbiAgICBoZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nLXRvcDogODFweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3MnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNjMycHg7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgY29sb3I6ICMyNDI4MmU7XG4gICAgICBmb250LXNpemU6IDM3cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzNGVtO1xuICAgICAgbWFyZ2luOiA3N3B4IDAgMjJweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgY29sb3I6ICM2MjZjN2Q7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50LFxuICAuc2lnbnVwLWZvcm0ge1xuICAgIGZsZXg6IDEgMDtcbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMjc5cHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICM0ZTU0NWU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgbWF4LXdpZHRoOiA1MjZweDtcbiAgfVxuXG4gIG1haW4ge1xuICAgIG1hcmdpbi10b3A6IC0yNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5sZyB7XG4gICAgICBjb2xvcjogIzZlN2Y5OTtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgcGVyc3BlY3RpdmU6IDYwMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTpcbiAgICAgICAgICB1cmwoJy9pbWcvYXJ0aWNsZXMvcHdhLWNvdmVyLXRpdGxlLnBuZycpLFxuICAgICAgICAgIHVybCgnL2ltZy9hcnRpY2xlcy9wd2EtY292ZXItYmcucG5nJyksXG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KDYwZGVnLCAjNzNjNWZmIDAsICMzODgwZmYgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjQlLCAxMDAlLCAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQsIHJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAlIDEyJSwgNTAlIDUwJSwgNTAlIDUwJTtcbiAgICAgICAgaGVpZ2h0OiAyODFweDtcbiAgICAgICAgd2lkdGg6IDE4NnB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNjFweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTJkZWcpO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNjRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMTZweCByZ2JhKDAsIDAsIDAsIC4yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgICBsaW5lLWhlaWdodDogMmVtO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDAgNDZweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiAwcHggMCAwIDIxcHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyMWVtO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICfigKInO1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogN3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaWdudXAtZm9ybSxcbiAgLnRoYW5rLXlvdSBhc2lkZSB7XG4gICAgcGFkZGluZzogNDJweCA0OHB4IDQ4cHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCA4cHggNDhweCAwcHggcmdiYShibGFjaywgMC4yKTtcbiAgICBtYXgtd2lkdGg6IDUzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cbiAgICBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIH1cbiAgfVxuXG4gIC5jb21wYW55IHtcbiAgICBtYXJnaW46IDIzMnB4IDAgNjhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBoMiB7XG4gICAgICBjb2xvcjogIzdmOGZhYjtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICBjb2xvcjogIzEzMTkyNDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgLmxvZ29zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW4tdG9wOiA1MXB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2hvbWVwYWdlL2VudGVycHJpc2UtbG9nb3MucG5nJykgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogNDk0cHg7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nZXQtc3RhcnRlZCB7XG4gICAgYmFja2dyb3VuZDogI2YxZjRmODtcbiAgICBvdmVyZmxvdzogYXV0bztcblxuICAgIC5jb250YWluZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMTBweDtcbiAgICAgIG1hcmdpbi10b3A6IDExMHB4O1xuICAgIH1cblxuICAgIGhncm91cCB7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMjVlbTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogIzI0MjgyZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIC5iYW5uZXIgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgcC5sZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG4gICAgfVxuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5zaWdudXAtZm9ybSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbXBhbnkge1xuICAgICAgbWFyZ2luLXRvcDogMTI4cHg7XG4gICAgfVxuXG4gICAgLmdldC1zdGFydGVkIC5idG4gKyAuYnRuICB7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxuICB9XG5cbiAgLmJhbm5lciAudGhhbmsteW91IHtcbiAgICBtaW4taGVpZ2h0OiA0OTBweDtcbiAgfVxuXG4gIG1haW4udGhhbmsteW91IHtcbiAgICBtYXJnaW4tdG9wOiAtMzQwcHg7XG4gIH1cblxuICAudGhhbmsteW91IHtcbiAgICBhc2lkZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgfVxuXG4gICAgcDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBwLmxnIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmFsc28ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gICAgfVxuXG4gICAgLmNvbXBhbnkge1xuICAgICAgbWFyZ2luLXRvcDogMTI4cHg7XG4gICAgfVxuICB9XG59XG4iLCIjcGFnZS1nby13aHktaHlicmlkIHtcbiAgbWFpbiAubGc6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL2FydGljbGVzL3doeS1oeWJyaWQtY292ZXIuanBnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICBoZWlnaHQ6IDI0MnB4O1xuICB9XG59IiwiQGltcG9ydCAnLi4vdmFycyc7XG5AaW1wb3J0ICcuLi9taXhpbnMnO1xuXG4jaW9uaWMtc2xpZGVyIHtcbiAgLy8gYmFja2dyb3VuZDogIzAxMDUwYztcbiAgbWFyZ2luLXRvcDogLTcycHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiA4NjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIFtzbG90PVwic2xpZGUtMFwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBbc2xvdD1cInNsaWRlLTFcIl0sXG4gIFtzbG90PVwic2xpZGUtMlwiXSB7XG4gICAgLy8gZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIFtzbG90Xj1cInNsaWRlLVwiXSB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGhncm91cCB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDY0cHg7XG4gICAgICBsaW5lLWhlaWdodDogNzRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWVpbmE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICAgIGNvbG9yOiAjZTRmMWZmO1xuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICBwYWRkaW5nOiAyMHB4IDIycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC00cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgIGlvbi1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IC0ycHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgfVxuICAgIH1cblxuICAgIC52ZXJzaW9uLXRleHQge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIFxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC42KTtcbiAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjc2xpZGUtbGltaXRsZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjNTQ4ZmZmIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzQyNzhmZiwgIzY3YTdmZik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuXG4gICAgLmJ0biB7XG4gICAgICBjb2xvcjogIzM4ODBmZjtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgb3BhY2l0eTogLjY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdyYXBoaWNzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbmltYXRpb246IGZhZGVJblVwIDFzIGVhc2UgZm9yd2FyZHM7XG5cbiAgICAgICAgJi5pcGhvbmUteCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2hvbWVwYWdlL2hlcm8taXBob25lLXgucG5nJykgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgYm90dG9tOiAtNjNweDtcbiAgICAgICAgICBsZWZ0OiAtMTkxcHg7XG4gICAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgICAgIGhlaWdodDogMzA2cHg7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuOHM7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlwaG9uZS14cy1tYXgge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy9ob21lcGFnZS9oZXJvLWlwaG9uZS14cy1tYXgucG5nJykgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgYm90dG9tOiAtMzlweDtcbiAgICAgICAgICBsZWZ0OiAxNzBweDtcbiAgICAgICAgICB3aWR0aDogNDkwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNzhweDtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC45cztcbiAgICAgICAgfVxuXG4gICAgICAgICYucGl4ZWwtMyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2hvbWVwYWdlL2hlcm8tZ29vZ2xlLXBpeGVsMy5wbmcnKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICBib3R0b206IC00MHB4O1xuICAgICAgICAgIGxlZnQ6IDYwN3B4O1xuICAgICAgICAgIHdpZHRoOiA0OTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gICAgICAgIH1cblxuICAgICAgICAmLmdhbGF4eSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2hvbWVwYWdlL2hlcm8tYW5kcm9pZC1nYWxheHkucG5nJykgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgYm90dG9tOiAtNDFweDtcbiAgICAgICAgICBsZWZ0OiAxMDYzcHg7XG4gICAgICAgICAgd2lkdGg6IDQ1MHB4O1xuICAgICAgICAgIGhlaWdodDogMzU2cHg7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjFzO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcGFkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvaG9tZXBhZ2UvaGVyby1pcGFkLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgIGJvdHRvbTogLTQ0cHg7XG4gICAgICAgICAgbGVmdDogMTQ4NHB4O1xuICAgICAgICAgIHdpZHRoOiA2MTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDUyNHB4O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMS4ycztcbiAgICAgICAgfVxuXG4gICAgICAgICYubWFjYm9vayB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2hvbWVwYWdlL2hlcm8tbWFjYm9vay5wbmcnKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICBib3R0b206IC02M3B4O1xuICAgICAgICAgIGxlZnQ6IDIwNjFweDtcbiAgICAgICAgICB3aWR0aDogMTQ3MHB4O1xuICAgICAgICAgIGhlaWdodDogNTcwcHg7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjNzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3NsaWRlLXY0IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDEwNTBjO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy9ob21lcGFnZS9iZy1waG9uZS5wbmcnKSBuby1yZXBlYXQgNTAlIDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgfVxuXG4gICAgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1OHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LXdpZHRoOiA2MjBweDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzM3B4O1xuICAgICAgfVxuXG4gICAgICBoMSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICAgIH1cblxuICAgICAgLmJ0biB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI3cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDhlbTtcblxuICAgICAgICAmLndoaXRlIHtcbiAgICAgICAgICBjb2xvcjogIzEzMWEyNjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGFyayB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzM0M2Q0ZDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigjMzQzZDRkLCA1KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpb24taWNvbiB7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZXMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAzNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtbGlzdCgpO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDY1cHg7XG4gICAgICAgIHdpZHRoOiAxNDVweDtcbiAgICAgICAgY29sb3I6ICM4YTk0YTM7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvaG9tZXBhZ2UvdjQtZmVhdHVyZS1pY29ucy5wbmcnKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDI0cHgpO1xuICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHNwcml0ZShcbiAgICAgICAgICAncGVyZm9ybWFuY2UnXG4gICAgICAgICAgJ3RoZW1pbmcnXG4gICAgICAgICAgJ3N0YW5kYXJkcydcbiAgICAgICAgICAnY29tcGF0aWJsZSdcbiAgICAgICAgICAnZG9jcydcbiAgICAgICAgLCA0OCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3MHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZmFkZSBpbiBhbmltYXRpb25zXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMS42cyAuOHMgZWFzZSBmb3J3YXJkcztcbiAgICB9XG5cbiAgICAuZmVhdHVyZXMgbGkge1xuICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyAuMXMgZWFzZSBmb3J3YXJkcztcblxuICAgICAgJjpudGgtY2hpbGQoMikgeyAgYW5pbWF0aW9uLWRlbGF5OiAuMnM7IH1cbiAgICAgICY6bnRoLWNoaWxkKDMpIHsgIGFuaW1hdGlvbi1kZWxheTogLjNzOyB9XG4gICAgICAmOm50aC1jaGlsZCg0KSB7ICBhbmltYXRpb24tZGVsYXk6IC40czsgfVxuICAgICAgJjpudGgtY2hpbGQoNSkgeyAgYW5pbWF0aW9uLWRlbGF5OiAuNXM7IH1cbiAgICB9XG4gIH1cblxuICAjc2xpZGUtb25lLWFueSB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDg0MHB4O1xuXG4gICAgLy8gJjo6YmVmb3JlIHtcbiAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyAgIGNvbnRlbnQ6ICcnO1xuICAgIC8vICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy8gICB3aWR0aDogMXZ3O1xuICAgIC8vICAgbGVmdDogMXZ3O1xuICAgIC8vICAgcmlnaHQ6IDF2dztcbiAgICAvLyB9XG5cbiAgICAubm90aWZpY2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICNGNkY4RkI7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICAgIHBhZGRpbmc6IDdweCAxNXB4IDdweDtcblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICMxQTIzMkY7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJz4nO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoZ3JvdXAge1xuICAgICAgbWF4LXdpZHRoOiA0NjRweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyBcbiAgICAgIG1hcmdpbi10b3A6IDU2cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDY0cHg7XG4gICAgICAgIGNvbG9yOiAjMDIwODE0O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wNGVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzN3B4O1xuICAgICAgICBjb2xvcjogcmdiYSgjNUI3MDhCLCAuOSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gICAgICB9XG5cbiAgICAgIC5idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNEQ4REZGO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDE2cHggMTJweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCM0RDhERkYsIDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM0RDhERkY7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgICAgY29sb3I6ICNCMkJFQ0Q7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGNvbG9yOiAjOTJhMGIzO1xuXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IC0ycHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RlZTNlYTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiA2NHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ncmFwaGljIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgdG9wOiAxMjBweDtcbiAgICAgIGhlaWdodDogNTYzcHg7XG4gICAgICB3aWR0aDogNTkwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgICAgICB0b3A6IDEyOHB4O1xuICAgICAgICByaWdodDogLTY0cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgICB3aWR0aDogMzAycHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdG9wOiAxODBweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN0YXRzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDIxcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIFxuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgICBjb2xvcjogIzkyQTFCMztcbiAgICAgICAgcGFkZGluZzogMCAxOHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAuM3MgY29sb3I7XG4gIFxuICAgICAgICBzdmcge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtM3B4O1xuXG4gICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3MgZmlsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiBkYXJrZW4oIzkyQTFCMywgMTApO1xuICBcbiAgICAgICAgICBzdmcgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiBkYXJrZW4oIzkyQTFCMywgMTApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNDBweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW9uaWMtbmV3c2xldHRlci1zaWdudXAge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAyOXB4O1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICBcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgICBib3R0b206IC0yNnB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAyMDBweCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxufVxuXG4jcGFnZS1ob21lIHtcbiAgI3VzZWQtYnkge1xuICAgIGJvcmRlci10b3A6IDFweCAjRUZGM0Y4IHNvbGlkO1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1OHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUZGM0Y4O1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC13aWR0aDogOTUwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDE3MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDE3MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYuY2VudGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLmxlZnQsXG4gICAgJi5yaWdodCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA0NzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJpZ2h0IC5jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogNDdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgICAgY29sb3I6ICMwZDEyMWM7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNmVtO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiAjODA4ZmE3O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuXG4gICAgICArIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGNvbG9yOiAjOGM5YmI5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzhlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyOGVtO1xuICAgIH1cblxuICAgIGhncm91cCBwLFxuICAgIHAubGcge1xuICAgICAgY29sb3I6ICM1OTZhODk7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jdGEge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTFweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgY29sb3I6ICM1YTk4ZmY7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWVpbmE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2l0aW9uOiAuM3Mgb3BhY2l0eTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC42O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjphY3RpdmUsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGJlNmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2Zvci1kZXZzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODdweDtcblxuICAgIGhncm91cCB7XG4gICAgICBtYXgtd2lkdGg6IDc0MHB4O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW4tdG9wOiA0NnB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICBtYXgtd2lkdGg6IDEwNjRweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZWluYTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogIzc5OGZiODtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDczcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA4ZW07XG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBjb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy9ob21lcGFnZS9vZmZlcmluZy1pY29ucy5wbmcnKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTZweDtcbiAgICAgICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDI4cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgaG92ZXJTcHJpdGUoXG4gICAgICAgICdvc3MnXG4gICAgICAgICdkZXZvcHMnXG4gICAgICAgICdpZGUnXG4gICAgICAgICdpbnRlZ3JhdGlvbidcbiAgICAgICwgNTYsICcgYTo6YmVmb3JlJywgJyBhOjphZnRlcicpO1xuICAgIH1cbiAgfVxuXG4gICNvc3Mge1xuICAgIHBhZGRpbmctdG9wOiAxNzZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDAwcHg7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG5cbiAgICAuZnJhbWV3b3JrcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzM3B4O1xuXG4gICAgICBAaW5jbHVkZSBmbGV4LWxpc3QoKTtcblxuICAgICAgbGkge1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuXG4gICAgICAgICYuZnJhbWV3b3Jrc19fYW5ndWxhciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL2hvbWVwYWdlL2ZyYW1ld29yay1zdXBwb3J0LWFuZ3VsYXIucG5nJylcbiAgICAgICAgfVxuXG4gICAgICAgICYuZnJhbWV3b3Jrc19fcmVhY3Qge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9ob21lcGFnZS9mcmFtZXdvcmstc3VwcG9ydC1yZWFjdC5wbmcnKVxuICAgICAgICB9XG5cbiAgICAgICAgJi5mcmFtZXdvcmtzX192dWUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9ob21lcGFnZS9mcmFtZXdvcmstc3VwcG9ydC12dWUucG5nJylcbiAgICAgICAgfVxuXG4gICAgICAgICYuZnJhbWV3b3Jrc19fanMge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9ob21lcGFnZS9mcmFtZXdvcmstc3VwcG9ydC1qYXZhc2NyaXB0LnBuZycpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JhcGhpY3Mge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyNXB4O1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDUwMHB4O1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgLjhzIGVhc2UgZm9yd2FyZHM7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7IGFuaW1hdGlvbi1kZWxheTogLjRzOyB9XG4gICAgICAgIC5zaGFkb3cge1xuICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluIDJzIC4ycyBlYXNlIGZvcndhcmRzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyLFxuICAgICAgLnNoYWRvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2hvbWVwYWdlL2ZyYW1ld29yay1kZXZpY2UtYW5kcm9pZC5qcGcnKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHRvcDogNzhweDtcbiAgICAgICAgcmlnaHQ6IDk5cHg7XG4gICAgICAgIHdpZHRoOiA0NzBweDtcbiAgICAgICAgaGVpZ2h0OiA2MjRweDtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvaG9tZXBhZ2UvZnJhbWV3b3JrLWRldmljZS1pcGhvbmUucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgd2lkdGg6IDQ5MHB4O1xuICAgICAgICBoZWlnaHQ6IDc5MHB4O1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgIH1cblxuICAgICAgLnNoYWRvdyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9ob21lcGFnZS9mcmFtZXdvcmstZGV2aWNlcy1zaGFkb3cucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEyNjZweDtcbiAgICAgICAgaGVpZ2h0OiAyMTRweDtcbiAgICAgICAgdG9wOiA2NTRweDtcbiAgICAgICAgcmlnaHQ6IC0yMDBweDtcbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDM4MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgLmdyYXBoaWNzIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguNSwuNSk7XG4gICAgICAgIHRvcDogMjAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMyOHB4O1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLmZyYW1ld29ya3Mge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ncmFwaGljcyB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDYwcHgpO1xuICAgICAgICBib3R0b206IC0xMDFweDtcbiAgICAgICAgdG9wOiBhdXRvO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAzOXB4O1xuICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICAgIHdpZHRoOiAyMzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDMxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAyNDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDM5NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNoYWRvdyB7XG4gICAgICAgICAgd2lkdGg6IDYzM3B4O1xuICAgICAgICAgIGhlaWdodDogMTA3cHg7XG4gICAgICAgICAgdG9wOiAzMjdweDtcbiAgICAgICAgICByaWdodDogLTEwMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2Rldm9wcyB7XG4gICAgcGFkZGluZy10b3A6IDIwNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyNTJweDtcblxuICAgIC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuZ2l0LWhvc3RzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQycHg7XG5cbiAgICAgIEBpbmNsdWRlIGZsZXgtbGlzdCgpO1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTlweDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ncmFwaGljcyB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvaG9tZXBhZ2UvZGV2b3BzLWFwcGZsb3ctcHJldmlldy5wbmcnKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgd2lkdGg6IDEzMjRweDtcbiAgICAgIGhlaWdodDogODEycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE0cHg7XG4gICAgICBsZWZ0OiAtMjI3cHg7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgZWFzZSBmb3J3YXJkcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuXG4gICAgICAuZ3JhcGhpY3Mge1xuICAgICAgICB3aWR0aDogOTMzcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgICAuZ3JhcGhpY3Mge1xuICAgICAgICB3aWR0aDogNjYycHg7XG4gICAgICAgIHRvcDogMTgwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDIwcHg7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5naXQtaG9zdHMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmdyYXBoaWNzIHtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNTBweCk7XG4gICAgICAgIHdpZHRoOiAzMzFweDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDIwM3B4O1xuICAgICAgICBib3R0b206IDE3MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzdHVkaW8ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1NHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDE1MHB4O1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICB9XG5cbiAgICAuZ3JhcGhpY3Mge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2hvbWVwYWdlL3N0dWRpby1kZXNrdG9wLWJnLmpwZycpIDUwJSAwIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICAgIG1hcmdpbi10b3A6IDU4cHg7XG5cbiAgICAgIHZpZGVvIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAyMnB4IDcwcHggNHB4IHJnYmEoMCwgMCwgMCwgMC41Nik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgIC5ncmFwaGljcyB7XG4gICAgICAgIHZpZGVvIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNpbnRlZ3JhdGlvbnMge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDg5NHB4O1xuICAgIH1cblxuICAgIC5pbnRlZ3JhdGlvbi1saXN0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMzYwcHg7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuXHQgICAgbWFyZ2luOiAwIDAgNDhweDtcblx0ICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gMXMgMXMgZm9yd2FyZHM7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ICAgIHdpZHRoOiAxMjhweDtcblx0XHQgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAyNHB4IHJnYmEoYmxhY2ssIC4xKTtcblxuICAgICAgICAmLm0ge1xuICAgICAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tIHtcbiAgICAgICAgICB3aWR0aDogOTZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN3aHktYnVpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuXG4gICAgLndoeSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWxpc3QoKTtcblxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLXRvcDogNzVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDYxcHg7XG4gICAgICAgIG1heC13aWR0aDogMzEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBzcHJpdGUoXG4gICAgICAgICAgJ3doeV9fZnV0dXJlLXByb29mJ1xuICAgICAgICAgICd3aHlfX2NvbW11bml0eSdcbiAgICAgICAgICAnd2h5X19vcydcbiAgICAgICAgLCA0OCk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvaG9tZXBhZ2Uvd2h5LWJ1aWxkLWljb25zLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgICAud2h5IGxpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgIC53aHkgbGkge1xuICAgICAgICBtYXgtd2lkdGg6IDIxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAud2h5IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDI0cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNkaWZmZXJlbmNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2OXB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL2hvbWVwYWdlL2h5YnJpZC12cy1uYXRpdmUtaW9uaWMtZWJvb2sucG5nJykgMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogNDI0cHg7XG4gICAgICAgIGhlaWdodDogMzEwcHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTY5cHg7XG4gICAgICAgIGxlZnQ6IDUycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaGdyb3VwIHtcbiAgICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuICAgICAgY29sb3I6ICMxZjMyNTY7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcbiAgICAgIGNvbG9yOiAjNmM4MWE2O1xuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgcGFkZGluZzogMTJweCAxM3B4IDEwcHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY4YmZmO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgICAgLmNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgaGdyb3VwIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgIGhncm91cCB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5jb250YWluZXI6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAyMTJweDtcbiAgICAgICAgaGVpZ2h0OiAxNTVweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM3MHB4KSB7XG4gICAgICAuY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNnb29kLWNvbXBhbnkge1xuICAgIHBhZGRpbmctdG9wOiAxNTlweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjAycHg7XG5cbiAgICBoZ3JvdXAge1xuICAgICAgbWF4LXdpZHRoOiA3MzJweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhc2Utc3R1ZGllcyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWxpc3QoKTtcblxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLXRvcDogNTRweDtcblxuICAgICAgbGkge1xuICAgICAgICBmbGV4OiAwIDAgMjcwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgcGFkZGluZzogMjM2cHggMjdweCAyM3B4O1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIDAgNHB4IDhweCByZ2JhKDAsMzAsODQsLjEyKSxcbiAgICAgICAgICAwIDFweCAzcHggcmdiYSgwLDMwLDg0LC4wOCk7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgLjE1cyBib3gtc2hhZG93IGVhc2UsXG4gICAgICAgICAgLjE1cyBjb2xvcixcbiAgICAgICAgICAuMTVzIHRyYW5zZm9ybTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgIDAgOHB4IDE2cHggcmdiYSgwLDMwLDg0LC4xKSxcbiAgICAgICAgICAgIDAgM3B4IDZweCByZ2JhKDAsMzAsODQsLjA4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogIzI1Mzk1MDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcbiAgICAgIH1cblxuICAgICAgLmN0YSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEVpbmE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDNlbTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5vdGhlcnMge1xuICAgICAgd2lkdGg6IDgwN3B4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDQ5cHggYXV0byAzNXB4O1xuICAgIH1cblxuICAgIC5jdGE6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZGJlNmZmO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgICAgLmNhc2Utc3R1ZGllcyBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAyMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcblxuICAgICAgLmNhc2Utc3R1ZGllcyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBmbGV4OiAwIDAgMjgwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm90aGVycyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNqb2luIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM0Zjc0ZmUsICM3MGFhZmIpO1xuICAgIHBhZGRpbmctdG9wOiAxMzJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTYwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGhncm91cCB7XG4gICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICBtYXgtd2lkdGg6IDc5MHB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNjRweDtcbiAgICB9XG5cbiAgICAuYnRucyB7XG4gICAgICBtYXJnaW4tdG9wOiA0NHB4O1xuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBwYWRkaW5nOiAyMXB4IDI0cHggMTlweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDk2ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgICBpb24taWNvbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICB9XG5cbiAgICAgICYubGlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjN2JiM2ZmO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oIzdiYjNmZiwgNSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpub3QoOmhvdmVyKTpub3QoOmFjdGl2ZSkge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiYm9keS5wcmVzcy1yZWxlYXNlIHtcbiAgbWFpbi5jb250YWluZXIge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2VyaWY7XG4gICAgbWF4LXdpZHRoOiA3MzBweDtcblxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZWluYTtcbiAgICB9XG4gIFxuICAgIGgxIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDFweDtcbiAgICAgIG1hcmdpbi10b3A6IDY3cHg7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy9wcmVzcy9wcmVzcy10aHVtYm5haWwucG5nJykgbm8tcmVwZWF0IDAgMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3MnB4O1xuICAgICAgICB3aWR0aDogNzJweDtcbiAgICAgICAgaGVpZ2h0OiA3MnB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gIFxuICAgICAgKyBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTVlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMDNlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIGgzICsgaDQge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgY29sb3I6ICM5MjljYWM7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjAyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA1OHB4O1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgfVxuICB9ICBcbn0iLCIjcGFnZS1wcm9kdWN0cy1jb250YWN0e1xuXG4gICAgLnByaWNpbmctc3VydmV5e1xuICAgICAgICB3aWR0aDo2MDBweDtcbiAgICAgICAgbWFyZ2luOjQwcHggYXV0byA0MHB4IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jdGF7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIH1cblxuICAgIC5idXR0b24tY29udGFpbmVye1xuICAgICAgICBtYXJnaW4tdG9wOjI1cHg7XG4gICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgfVxuXG59IiwiI3BhZ2UtcHJvZHVjdHMtZGVwbG95IHtcbiAgLnRvcCB7XG4gICAgbWFyZ2luLXRvcDogLTEzOHB4O1xuICAgIHBhZGRpbmctdG9wOiAxNzBweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MjJweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZSB1cmwoJy9pbWcvcHJvL2RlcGxveS9kZXBsb3ktaGVyby1mbGF0LWltZy5wbmcnKSA1MCUgMTAwJSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMTA4cHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpICB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDc4MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDM2MHB4XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSAge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29udGFpbmVyOmJlZm9yZSxcbiAgICAuY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBoZ3JvdXAge1xuICAgICAgcGFkZGluZy10b3A6IDk5cHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXgtd2lkdGg6IDU1NXB4O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvcHJvL2RlcGxveS9kZXBsb3ktaGVyby1pY29uLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODBweDtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgfVxuXG4gICAgICBoMSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG5zIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1MHB4O1xuXG4gICAgICAuYnRuIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICYucHVycGxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjNTY1N2ZiO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogOXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDEycHggMTlweCAxMHB4O1xuXG4gICAgICAgIH1cblxuICAgICAgICAmLndoaXRlICB7XG4gICAgICAgICAgY29sb3I6ICM1NjU3ZmI7XG4gICAgICAgICAgcGFkZGluZzogMTJweCAxOXB4IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkgIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpICB7XG4gICAgICBoZ3JvdXA6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpO1xuICAgICAgfVxuICAgICAgaGdyb3VwLFxuICAgICAgLmJ0bnMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICBoZ3JvdXAsXG4gICAgICBoZ3JvdXAgaDEge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24uc2tpcCB7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjhmYztcblxuICAgIC5jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDM4cHg7XG4gICAgfVxuXG4gICAgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3MnB4O1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNzdweCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBjb2xvcjogIzM2M2E0MDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbXMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDUwcHgpO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMjZlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBjb2xvcjogIzVlNjc3NztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmbGV4OiAwIDEgMjU0cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkgIHtcbiAgICAgICAgZmxleC1iYXNpczogMzIxcHg7XG4gICAgICAgIHotaW5kZXg6IDFcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL3Byby9kZXBsb3kvZmVhdHVyZS1pY29ucy1zbS5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0OHB4O1xuICAgICAgfVxuXG4gICAgICAmLmxpdmU6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgICAgJi5hdXRvbWF0aWM6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ4cHg7IH1cbiAgICAgICYuc3BsaXQ6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk2cHg7IH1cbiAgICAgICYuY29tcGxpYW50OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfVxuICAgIH1cblxuICAgIC5ncmFwaGljcyB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvcHJvL2RlcGxveS9mZWF0dXJlLWltZy1za2lwLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDcyNHB4O1xuICAgICAgd2lkdGg6IDcyNHB4O1xuICAgICAgaGVpZ2h0OiA3MzlweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBvcGFjaXR5O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpICB7XG4gICAgICAgIHJpZ2h0OiAtMTYwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpICB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgc2VjdGlvbiB7XG4gICAgJi5saXZlLFxuICAgICYubGF0ZXN0LFxuICAgICYucnVuIHtcbiAgICAgIGgyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL3Byby9kZXBsb3kvZmVhdHVyZS1pY29ucy1sZy5wbmcnKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSAge1xuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSAge1xuICAgICAgICAuZ3JhcGhpY3Mge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZWN0aW9uLmxpdmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzViNGNmYyAwJSwgIzhlODNmZiAxMDAlKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMjdweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDdweDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4M3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgLmdyYXBoaWNzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgLmlwaG9uZSxcbiAgICAgIC5hbmRyb2lkIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMzMwcHg7XG4gICAgICAgIGhlaWdodDogNTE4cHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCAwIDA7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiAzMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDUxOHB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNjcmVlbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDAgMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGFuaW1hdGlvbjogMTBzIHNjcmVlblBvcC0xIGluZmluaXRlO1xuXG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNjcmVlblBvcC0yO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzY3JlZW5Qb3AtMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmlwaG9uZSB7XG4gICAgICAgIHJpZ2h0OiAyNTBweDtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpICB7XG4gICAgICAgICAgcmlnaHQ6IDEwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9wcm8vZGVwbG95L2ZlYXR1cmUtaXBob25lLWRldmljZS5wbmcnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNjcmVlbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL3Byby9kZXBsb3kvZmVhdHVyZS1pcGhvbmUtc2NyZWVuLTEucG5nJyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNjZweDtcbiAgICAgICAgICB3aWR0aDogMjY2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzOTZweDtcbiAgICAgICAgICByaWdodDogMzJweDtcblxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9wcm8vZGVwbG95L2ZlYXR1cmUtaXBob25lLXNjcmVlbi0yLnBuZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNjZweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvcHJvL2RlcGxveS9mZWF0dXJlLWlwaG9uZS1zY3JlZW4tMy5wbmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjY2cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hbmRyb2lkIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9wcm8vZGVwbG95L2ZlYXR1cmUtYW5kcm9pZC1kZXZpY2UucG5nJyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zY3JlZW4ge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9wcm8vZGVwbG95L2ZlYXR1cmUtYW5kcm9pZC1zY3JlZW4tMS5wbmcnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI4MHB4O1xuICAgICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgICBoZWlnaHQ6IDQ2MnB4O1xuICAgICAgICAgIHJpZ2h0OiAyNnB4O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjI1cztcblxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9wcm8vZGVwbG95L2ZlYXR1cmUtYW5kcm9pZC1zY3JlZW4tMi5wbmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjgwcHg7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC4yNXM7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL3Byby9kZXBsb3kvZmVhdHVyZS1hbmRyb2lkLXNjcmVlbi0zLnBuZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyODBweDtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjI1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZWN0aW9uLmxhdGVzdCB7XG4gICAgaGdyb3VwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwOHB4KTtcbiAgICAgIHBhZGRpbmctdG9wOiAxMzJweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTIxcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkgIHtcbiAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4N3B4O1xuICAgICAgZm9udC1zaXplOiAyN3B4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDI0ZW07XG5cbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgICBsaW5lLWhlaWdodDogNDJweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIH1cblxuICAgIC5ncmFwaGljcyB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvcHJvL2RlcGxveS9mZWF0dXJlLWltZy1sYXRlc3QucG5nJykgMCA1MCUgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA1ODlweDtcbiAgICAgIHdpZHRoOiA1ODlweDtcbiAgICAgIC8vIGhlaWdodDogMzc4cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBvcGFjaXR5O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpICB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24ucnVuIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmOGZjO1xuXG4gICAgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMjZweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDhweDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSAge1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpICB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgcGFkZGluZy10b3A6IDgzcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgfVxuXG4gICAgLmdyYXBoaWNzIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy9wcm8vZGVwbG95L2ZlYXR1cmUtaW1nLWFidGVzdC5wbmcnKSA1MCUgMTAwJSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDUyNnB4O1xuICAgICAgd2lkdGg6IDUyNnB4O1xuICAgICAgaGVpZ2h0OiA1MTNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBvcGFjaXR5O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpICB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbi5nZXQtc3RhcnRlZCB7XG4gICAgYmFja2dyb3VuZDogI2U3ZWNmNjtcblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAjMjcyYTJmO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgY29sb3I6ICM1ZTY3Nzc7XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICBwYWRkaW5nOiAxMnB4IDE5cHggMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAmLndoaXRlIHtcbiAgICAgICAgY29sb3I6ICM1MjQ0ZmY7XG4gICAgICB9XG5cbiAgICAgICYucHVycGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzVhNGRmYztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUaGlzIGlzIGEgY29sbGVjdGlvbiBvZiBnZW5lcmljcyBmb3IgdGhlIHByb2R1Y3RzIHBhZ2VzXG4ucHJvZHVjdHMtcGFnZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkVpbmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IC8vIHRvZG86IFNldCBFaW5hIGdsb2JhbGx5XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAudG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBoMSB7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgIGNvbG9yOiAjMmYzNzQ0O1xuICAgIH1cblxuICAgIC5ncmFwaGljcyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLmNlbnRlciB7XG4gICAgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1heC13aWR0aDogNzQ4cHg7XG4gICAgICBtYXJnaW46IDAgYXV0byAxOHB4O1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcbiAgICAgICAgY29sb3I6ICMxNjFhMWY7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGNvbG9yOiAjNWU2Nzc3O1xuICAgICAgICBtYXJnaW4tdG9wOiAyOXB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuXG4gICAgICBwIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAjMjcyYTJmO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVsLml0ZW1zIHtcbiAgICBwYWRkaW5nOiA0OHB4IDE0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmctdG9wOiA2N3B4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAwIDAgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMDFlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMjZlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBjb2xvcjogIzVlNjc3NztcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAyNHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24ubGVmdCxcbiAgc2VjdGlvbi5yaWdodCxcbiAgc2VjdGlvbi5ib3RoICB7XG4gICAgLmNvbnRhaW5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4gICAgaGdyb3VwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNTFweDtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE0N3B4KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSAge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA0OHB4KTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogMCAwIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEyNnB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMjZlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBjb2xvcjogIzVlNjc3NztcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JhcGhpY3Mge1xuICAgICAgYmFja2dyb3VuZDogMCA1MCUgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgd2lkdGg6IDQ3MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAmLmFjdGl2YXRlT25TY3JvbGwge1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgICAgIHRyYW5zaXRpb246IC40cyBvcGFjaXR5LCAuNHMgZmlsdGVyO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGZpbHRlcjogYmx1cigwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpICB7XG4gICAgICAgIHJpZ2h0OiAtMjAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24ucmlnaHQge1xuICAgIGhncm91cCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLmdyYXBoaWNzIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSAge1xuICAgICAgICBsZWZ0OiAtMjAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24uYm90aCB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ2V0LXN0YXJ0ZWQge1xuICAgIGJhY2tncm91bmQ6IDAgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDFweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDJweDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaGdyb3VwLFxuICAgIC5idG5zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICBoZ3JvdXAge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgICAgY29sb3I6ICMwMDNlODI7XG4gICAgfVxuXG4gICAgLmJ0bnMge1xuICAgICAgLmJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTlweCAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkgIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAxNnB4IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkgIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIjcGFnZS1wcm9kdWN0cy1tb25pdG9yIHtcbiAgLnRvcCB7XG4gICAgbWFyZ2luLXRvcDogLTE1MHB4O1xuICAgIHBhZGRpbmctdG9wOiAxNzRweDtcbiAgICBiYWNrZ3JvdW5kOiAjMGMxYzFjO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzA1MTMxMiAwJSwgIzExMjYyNCAxMDAlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBoZ3JvdXAge1xuICAgICAgcGFkZGluZy10b3A6IDk3cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzU1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy9wcm8vbW9uaXRvci9tb25pdG9yLWN0YS1pY29uLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODBweDtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgbWF4LXdpZHRoOiA4NjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgY29sb3I6ICNhYmIzYjI7XG4gICAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG5zIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG5cbiAgICAgIC5idG4ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgJi5ncmVlbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzMxY2E3NDtcbiAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE5cHggMTBweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGFyayAge1xuICAgICAgICAgIGNvbG9yOiAjMzFjYTc0O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMzMTNmM2Y7XG4gICAgICAgICAgcGFkZGluZzogMTJweCAxOXB4IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjaGVhcnQtbW9uaXRvci1zdGFnZSB7XG4gICAgLy8gaGVpZ2h0OiBjYWxjKDEwMHZ3ICogLjM1KTtcbiAgICAvLyB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDI1MHB4O1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA2NHB4O1xuICAgIC8vIGxlZnQ6IDA7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAyMDBweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM0MzQzO1xuICAgIC8vIGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDUxNDEzLCAjMTAyNjI0KTtcblxuICAgICNncmlkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsXG4gICAgICAgIHRyYW5zcGFyZW50IDI0JSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDUpIDI1JSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDUpIDI2JSxcbiAgICAgICAgdHJhbnNwYXJlbnQgMjclLFxuICAgICAgICB0cmFuc3BhcmVudCA3NCUsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA1KSA3NSUsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA1KSA3NiUsXG4gICAgICAgIHRyYW5zcGFyZW50IDc3JSxcbiAgICAgICAgdHJhbnNwYXJlbnRcbiAgICAgICksIGxpbmVhci1ncmFkaWVudCg5MGRlZyxcbiAgICAgICAgdHJhbnNwYXJlbnQgMjQlLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wNSkgMjUlLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wNSkgMjYlLFxuICAgICAgICB0cmFuc3BhcmVudCAyNyUsXG4gICAgICAgIHRyYW5zcGFyZW50IDc0JSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDUpIDc1JSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDUpIDc2JSxcbiAgICAgICAgdHJhbnNwYXJlbnQgNzclLFxuICAgICAgICB0cmFuc3BhcmVudFxuICAgICAgKTtcbiAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOjUwcHggNTBweDtcbiAgICAgIC8vIG1hc2staW1hZ2U6IHJhZGlhbC1ncmFkaWVudChibGFjayA1MCUsIHRyYW5zcGFyZW50IDgwJSk7XG4gICAgICBtYXNrLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoYmxhY2sgMjAlLCB0cmFuc3BhcmVudCA3MCUpO1xuICAgIH1cblxuICAgICNlZGdlcyxcbiAgICAjc3BvdGxpZ2h0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDUxNDEzLCAjMTAyNjI0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBtYXNrLWltYWdlOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgNTAlLCBibGFjayA3MCUpO1xuICAgIH1cblxuICAgICNzcG90bGlnaHQge1xuICAgICAgbGVmdDogLTEwMCU7XG4gICAgICBtYXNrLWltYWdlOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgMzAlLCBibGFjayA4MCUpO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAucGF0aCB7XG4gICAgICBmaWxsOnRyYW5zcGFyZW50O1xuICAgICAgc3Ryb2tlOnJnYmEoMCwyMDAsMTI2LC41KTtcbiAgICAgIHN0cm9rZS1taXRlcmxpbWl0OjEwO1xuICAgIH1cblxuICAgIC5wYXRoLTMge1xuICAgICAgZmlsbDp0cmFuc3BhcmVudDtcbiAgICAgIHN0cm9rZTpyZ2JhKDAsMjAwLDEyNiwuOCk7XG4gICAgICBzdHJva2UtbWl0ZXJsaW1pdDoxMDtcbiAgICB9XG5cbiAgICAucGF0aC0yIHtcbiAgICAgIGZpbGw6dHJhbnNwYXJlbnQ7XG4gICAgICBzdHJva2U6cmdiYSgxNTQsIDI1NSwgMTkyLCAxKTtcbiAgICAgIHN0cm9rZS1taXRlcmxpbWl0OjIwO1xuICAgIH1cbiAgfVxuXG4gIC5waW5wb2ludCB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDEwOTJweDtcbiAgICB9XG5cbiAgICBoZ3JvdXAge1xuICAgICAgbWF4LXdpZHRoOjk2MHB4O1xuXG4gICAgICBoMyB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDZlbTtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbXMge1xuICAgICAgcGFkZGluZzogNTBweCAwIDQ2cHg7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZmxleDogMCAxIDMwM3B4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkgIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAyMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkgIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvcHJvL21vbml0b3IvZmVhdHVyZS1pY29ucy1zbS5wbmcnKSAwIDAgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYnVpbHQ6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ4cHg7IH1cbiAgICAgICAgJi50eXBlc2NyaXB0OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9XG4gICAgICB9XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nZXQtc3RhcnRlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjBmNGY4O1xuICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBoZ3JvdXAge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJ0biB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmVlbjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTlweCAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDFlbTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSAge1xuICAgICAgICAuYnRucyB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZWN0aW9uLmxlZnQsXG4gIHNlY3Rpb24ucmlnaHQsXG4gIHNlY3Rpb24uYm90aCB7XG4gICAgaGdyb3VwOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL3Byby9tb25pdG9yL2ZlYXR1cmUtaWNvbnMtbGcucG5nJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDY0cHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkgIHtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMDhlbTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpICB7XG4gICAgICBoZ3JvdXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29uZmlkZW5jZSB7XG4gICAgYmFja2dyb3VuZDogI2Y0ZjlmNztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuXG4gICAgaGdyb3VwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmdyYXBoaWNzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9wcm8vbW9uaXRvci9mZWF0dXJlLWltZy1jb25maWRlbmNlLnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMTQ1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICAgICAgd2lkdGg6IDExNDVweDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSAge1xuICAgICAgICByaWdodDogLTIwJTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5haGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2UxZWJlOTtcblxuICAgIGhncm91cDo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjRweDsgfVxuXG4gICAgLmdyYXBoaWNzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9wcm8vbW9uaXRvci9mZWF0dXJlLWltZy1haGVhZC5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNjIxcHg7XG4gICAgICB3aWR0aDogNjIxcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkgIHtcbiAgICAgICAgLy8gcmlnaHQ6IC0yMCU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkgIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYm90aCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjN2M5YzkxIDUwJSwgIzRlNzM2NiA1MCUpO1xuXG4gICAgaGdyb3VwIHtcbiAgICAgICY6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4OyB9XG5cbiAgICAgICsgaGdyb3VwOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xOTJweDsgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAjYmRkOGQzO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBjb2xvcjogI2U1ZmVmYTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpICB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjN2M5YzkxIDUwJSwgIzRlNzM2NiA1MCUpO1xuXG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbi5nZXQtc3RhcnRlZCB7XG4gICAgYmFja2dyb3VuZDogI2U2ZjFlZDtcblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAjMjAyNjI0O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgY29sb3I6ICM1NTY4NjE7XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICAmLmdyZWVuIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xuICAgICAgfVxuXG4gICAgICAmLndoaXRlIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiI3BhZ2UtcHJvZHVjdHMtcGFja2FnZSB7XG4gIC5zdWItaGVhZGVyID4gLmNvbnRhaW5lciB7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gIC50b3Age1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xNDRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiAxNzhweDtcbiAgICBiYWNrZ3JvdW5kOiAjZTdhMmRkO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2M2OTZmOCAwJSwgI2ZjYTVhNyAxMDAlKTtcblxuICAgIGhncm91cCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAzcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTQ4cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL3Byby9wYWNrYWdlL3BhY2thZ2UtaGVyby1pY29uLnBuZycpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODBweDtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgfVxuXG4gICAgICBoMSxcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIGgxIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKHdoaXRlLCAuOSk7XG4gICAgICAgIG1heC13aWR0aDogNDc1cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAzZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgY29sb3I6IHJnYmEod2hpdGUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5idG5zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAgICYucGluayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTMzNzY2O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA5cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE5cHggMTJweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLndoaXRlICB7XG4gICAgICAgICAgICBjb2xvcjogI2UzMzc2NjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTlweCAxMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkgIHtcbiAgICAgIGhncm91cDpiZWZvcmUge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7XG4gICAgICB9XG4gICAgICBoZ3JvdXAsXG4gICAgICAuYnRucyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIGhncm91cCxcbiAgICAgIGhncm91cCBoMSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdyYXBoaWNzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmNsb3VkIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDIwMHB4O1xuICAgICAgbGVmdDogLTIwMHB4O1xuICAgICAgd2lkdGg6IDM0NnB4O1xuICAgICAgaGVpZ2h0OiAzMTJweDtcbiAgICAgIGFuaW1hdGlvbjogNDBzIGZsb2F0aW5nQ2xvdWQgbGluZWFyIGluZmluaXRlO1xuICAgICAgei1pbmRleDogNTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1nL3Byby9wYWNrYWdlL3BhY2thZ2UtaGVyby1jbG91ZC5wbmcnKSBuby1yZXBlYXQgMCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDM0NnB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG5cbiAgICAgIC5idWlsZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy9wcm8vcGFja2FnZS9wYWNrYWdlLWhlcm8tYXBwLWljb24ucG5nJykgbm8tcmVwZWF0IDAgMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4N3B4O1xuICAgICAgICB3aWR0aDogODdweDtcbiAgICAgICAgaGVpZ2h0OiAxMTZweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICBhbmltYXRpb246IDEwcyByYWluRHJvcCBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgIHotaW5kZXg6IDY7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIHRvcDogMTY2cHg7XG4gICAgICAgICAgbGVmdDogMjIwcHg7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuOHM7XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA4cztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICB0b3A6IDMzcHg7XG4gICAgICAgICAgbGVmdDogMTMwcHg7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjhzO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogOXM7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICAgIGxlZnQ6IDYwcHg7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAyLjhzO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTJzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjUsLjUsMSk7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbG9hdGluZ0Nsb3VkLTI7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNjBzO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEwcztcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAuYnVpbGQge1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcblxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHthbmltYXRpb24tZGVsYXk6IDJzO31cbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7YW5pbWF0aW9uLWRlbGF5OiAzczt9XG4gICAgICAgICAgJjpudGgtY2hpbGQoNCkge2FuaW1hdGlvbi1kZWxheTogNHM7fVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAtMTUwcHg7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbG9hdGluZ0Nsb3VkLTM7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNTBzO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDJzO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgIC5idWlsZCB7XG4gICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC4xcztcblxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHthbmltYXRpb24tZGVsYXk6IC4yczt9XG4gICAgICAgICAgJjpudGgtY2hpbGQoMykge2FuaW1hdGlvbi1kZWxheTogLjNzO31cbiAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7YW5pbWF0aW9uLWRlbGF5OiAuNHM7fVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgdG9wOiAzMDBweDtcbiAgICAgICAgbGVmdDogLTI1MHB4O1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmxvYXRpbmdDbG91ZC00O1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDMwcztcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAycztcbiAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICAuYnVpbGQge1xuICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuMXM7XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7YW5pbWF0aW9uLWRlbGF5OiAuMnM7fVxuICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHthbmltYXRpb24tZGVsYXk6IC4zczt9XG4gICAgICAgICAgJjpudGgtY2hpbGQoNCkge2FuaW1hdGlvbi1kZWxheTogLjRzO31cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mZWF0dXJlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2VmZGRmZiAwLCNmZmUzZTQgMTAwJSk7XG5cbiAgICAvLyBjb29sIGJsdXIgZWZmZWN0IGluIHdlYmtpdFxuICAgIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpKSB7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKHdoaXRlLC42KTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBwYWRkaW5nOiA3MXB4IDBweCA0NXB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGZsZXg6IDAgMSAzMTVweDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSAge1xuICAgICAgICBmbGV4OiAwIDEgMzAzcHg7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9wcm8vcGFja2FnZS9mZWF0dXJlLWljb25zLXNtLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHg7XG4gICAgICB9XG5cbiAgICAgICYuemVybzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfVxuICAgICAgJi5wZWFjZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG4gIH1cblxuICBtYWluIHtcbiAgICBtYXJnaW4tdG9wOiAtMTQ0cHg7XG4gIH1cblxuICAudHVybiB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjVmYjtcblxuICAgIGhncm91cCB7XG4gICAgICBtYXgtd2lkdGg6IDc0MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQyM3B4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpICB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMTRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmdyYXBoaWNzIHtcbiAgICAgIHdpZHRoOiAxMDU2cHg7XG4gICAgICBoZWlnaHQ6IDQwMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSA1NDRweCk7XG5cbiAgICAgIC5odG1sIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDAgMCB1cmwoJy9pbWcvcHJvL3BhY2thZ2UvcGFja2FnZS1pbWctY3NzLWZpbGUucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTUwcHg7XG4gICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTNweDtcbiAgICAgICAgdG9wOiA3NnB4O1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCAwIDAgdXJsKCcvaW1nL3Byby9wYWNrYWdlL3BhY2thZ2UtaW1nLWh0bWwtZmlsZS5wbmcnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MHB4O1xuICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiA2N3B4O1xuICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9wcm8vcGFja2FnZS9wYWNrYWdlLWltZy1qcy1maWxlLnBuZycpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTUwcHg7XG4gICAgICAgICAgbGVmdDogMTM3cHg7XG4gICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hcHAge1xuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgMCAwIHVybCgnL2ltZy9wcm8vcGFja2FnZS9wYWNrYWdlLWltZy1pcGEtZmlsZS5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTBweDtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA5MTJweDtcbiAgICAgICAgdG9wOiA4MXB4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDAgMCB1cmwoJy9pbWcvcHJvL3BhY2thZ2UvcGFja2FnZS1pbWctYXBrLWZpbGUucG5nJyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTBweDtcbiAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogLTEwMHB4O1xuICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGVzIHtcbiAgICAgICAgd2lkdGg6IDEwNTZweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5ib3gge1xuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgMCAwIHVybCgnL2ltZy9wcm8vcGFja2FnZS9wYWNrYWdlLWltZy1zZXJ2ZXIucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDYwcHg7XG4gICAgICAgIHdpZHRoOiA0NjBweDtcbiAgICAgICAgaGVpZ2h0OiA0MDJweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMzc1cHg7XG4gICAgICAgIHRvcDogMXB4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgdXJsKCcvaW1nL3Byby9wYWNrYWdlL2lvbmljLXBhY2thZ2Utc2VydmVyLWxpZ2h0LmpwZy5wbmcnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ1cHg7XG4gICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAyNjJweDtcbiAgICAgICAgICB0b3A6IDk1cHg7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcztcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNpcmNsZSB7XG4gICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTY5cHg7XG4gICAgICAgIGxlZnQ6IDI4OHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlNWU5ZjE7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNnM7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMikgeyBsZWZ0OiAzMDhweDsgfVxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7IGxlZnQ6IDMyOHB4OyB9XG4gICAgICAgICY6bnRoLWNoaWxkKDQpIHsgbGVmdDogMzQ4cHg7IH1cbiAgICAgICAgJjpudGgtY2hpbGQoNSkgeyBsZWZ0OiAzNjdweDsgfVxuICAgICAgICAmOm50aC1jaGlsZCg2KSB7IGxlZnQ6IDcxMXB4OyB9XG4gICAgICAgICY6bnRoLWNoaWxkKDcpIHsgbGVmdDogNzMxcHg7IH1cbiAgICAgICAgJjpudGgtY2hpbGQoOCkgeyBsZWZ0OiA3NTBweDsgfVxuICAgICAgICAmOm50aC1jaGlsZCg5KSB7IGxlZnQ6IDc3MHB4OyB9XG4gICAgICAgICY6bnRoLWNoaWxkKDEwKSB7IGxlZnQ6IDc5MHB4OyB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkgIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC41LC41LDEpO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDUyNnB4KTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSAge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5sZWF2ZSB7XG4gICAgaGdyb3VwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEzMHB4KTtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzFweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgIGNvbG9yOiAjNWU2Nzc3O1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvcHJvL3BhY2thZ2UvZmxvYXRpbmctYXBwLWljb25zLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjgycHg7XG4gICAgICAgIHdpZHRoOiA2ODJweDtcbiAgICAgICAgaGVpZ2h0OiA2NTBweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtOTZweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkgIHtcbiAgICAgIGhncm91cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5jb250YWluZXI6OmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAuZ2V0LXN0YXJ0ZWQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2M2OTZmOCAwJSwgI2ZjYTVhNyAxMDAlKTtcblxuICAgICBoMiB7XG4gICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICB9XG5cbiAgICAgcCB7XG4gICAgICBjb2xvcjogIzYwMWJhYTtcblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDEycHggMTlweCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICYucGluayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmMzQ5NzE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgfVxuXG4gICAgICAmLndoaXRlIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGNvbG9yOiAjZTkzNjc3O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiI3BhZ2UtcHJvZHVjdHMtZm9yLXRlYW1zIHtcblxuICBtYWluLFxuICAuc3ViLWhlYWRlcixcbiAgLmN0YSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuICB9XG5cbiAgLnN1Yi1oZWFkZXIgPiAuY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLmN0YSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyMjIzYTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOlxuICAgICAgdXJsKCcvaW1nL3Byby90ZWFtcy1oZXJvLWJnLmpwZycpLFxuICAgICAgbGluZWFyLWdyYWRpZW50KDEyMGRlZywgIzEyMjIzYSwgIzAwMGExYyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciwgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIG1hcmdpbi10b3A6IC0xMzZweDtcbiAgICBwYWRkaW5nLXRvcDogMTM2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5jdGEgaGdyb3VwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTE0cHg7XG4gIH1cblxuICAuY3RhIGgxIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG5cbiAgLmN0YSBwIHtcbiAgICBjb2xvcjogI2EwYWJiZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLmN0YSBwIHN0cm9uZyB7XG4gICAgY29sb3I6ICNjY2Q0ZTM7XG4gIH1cblxuICAuY3RhLWJ1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gIH1cblxuICAuY3RhIC5idG4ge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDE0cHggMjRweDtcblxuICAgICYuc2Vjb25kYXJ5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTMxNGU7XG4gICAgfVxuICB9XG5cbiAgLmN0YSAubG9nby1maWVsZCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTpcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KHJnYmEoMjAwLCAyMjUsIDI1NSwgMC4wOCksIHJnYmEoMjAwLCAyMjAsIDI1NSwgMC4wOCkpLFxuICAgICAgICB1cmwoL2ltZy9wcm8vdGVhbXMtaGVyby1iZy5qcGcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCUsIDUwJSA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRvcDogY2FsYygxMDAlIC0gNjYxcHgpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDY2MXB4O1xuICAgICAgZmlsdGVyOiBibHVyKDI0cHgpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDg5NXB4O1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuaGVybyB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nOiAyNjBweCAwO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgIHBhZGRpbmc6IDIwJSAwO1xuICAgIH1cbiAgfVxuXG4gIC5oZXJvIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5oZXJvLmZsaXBwZWQgLmNvbnRhaW5lciB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB9XG5cbiAgLmhlcm9fX2NvbnRlbnQge1xuICAgIHdpZHRoOiA0MCU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmhlcm9fX2ljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3RlYW1zLWZlYXR1cmUtaWNvbnMucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogNjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHdpZHRoOiA2NHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLnNoaXAgLmhlcm9fX2ljb24ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDtcbiAgfVxuXG4gIC5saXN0ZW4gLmhlcm9fX2ljb24ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTY0cHg7XG4gIH1cblxuICAuY29sbGFib3JhdGUgLmhlcm9fX2ljb24ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTEyOHB4O1xuICB9XG5cbiAgLmhlcm8gaDIge1xuICAgIGNvbG9yOiAjOWFhYWMxO1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuXG4gIC5oZXJvIGgyIHN0cm9uZyB7XG4gICAgY29sb3I6ICMyNDI4MmU7XG4gIH1cblxuICAuaGVybyBwIHtcbiAgICBjb2xvcjogIzUwNTg2MztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIC5zaGlwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby90ZWFtcy1zaGlwLWhlcm8uanBnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgxMXB4O1xuICB9XG5cbiAgLmxpc3RlbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wcm8vdGVhbXMtbGlzdGVuLWhlcm8ucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODExcHg7XG4gIH1cblxuICAuY29sbGFib3JhdGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3RlYW1zLWNvbGxhYm9yYXRlLWhlcm8uanBnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgxMXB4O1xuICB9XG5cbiAgLnNoaXAsXG4gIC5jb2xsYWJvcmF0ZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IC00MDBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAtMTUwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAtNTBweDsgfVxuICB9XG5cbiAgLmxpc3RlbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgLTM1MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgLTE1MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAtNTBweDsgfVxuICB9XG5cbiAgLnNoaXAsXG4gIC5saXN0ZW4sXG4gIC5jb2xsYWJvcmF0ZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgfVxuICB9XG5cbiAgLmZlYXR1cmVzIHtcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xuICB9XG5cbiAgLmZlYXR1cmVzIC5oZXJvX19jb250ZW50IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICB9XG4gIH1cblxuICAuZmVhdHVyZXMgaDMge1xuICAgIGNvbG9yOiAjMjQyODJlO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICAuZmVhdHVyZXMgcCB7XG4gICAgY29sb3I6ICM3NDdmOTI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cblxuICAuZmVhdHVyZXMgLmhlcm9fX2ljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHJvL3RlYW1zLXN1YmZlYXR1cmUtaWNvbnMucG5nXCIpO1xuICAgIGhlaWdodDogNDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiA0OHB4O1xuXG4gICAgJi5zaGFyaW5nIHsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XG4gICAgJi5jaSB7IGJhY2tncm91bmQtcG9zaXRpb24teTogLTQ4cHggKiAxOyB9XG4gICAgJi5mZWVkIHsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtNDhweCAqIDI7IH1cbiAgICAmLmNvbGxhYiB7IGJhY2tncm91bmQtcG9zaXRpb24teTogLTQ4cHggKiAzOyB9XG4gICAgJi5iaW5hcmllcyB7IGJhY2tncm91bmQtcG9zaXRpb24teTogLTQ4cHggKiA0OyB9XG4gICAgJi5jaGFubmVscyB7IGJhY2tncm91bmQtcG9zaXRpb24teTogLTQ4cHggKiA1OyB9XG4gICAgJi5jZCB7IGJhY2tncm91bmQtcG9zaXRpb24teTogLTQ4cHggKiA2OyB9XG4gICAgJi5tb25pdG9yaW5nIHsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtNDhweCAqIDc7IH1cbiAgICAmLnJhcGlkIHsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtNDhweCAqIDg7IH1cbiAgfVxuXG4gIC5mZWF0dXJlc19fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDcwcHggMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZmVhdHVyZXNfX2xpc3QgbGkge1xuICAgIGZsZXg6IDAgMCAzMy4zMyU7XG4gICAgcGFkZGluZy1ib3R0b206IDRlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5xdW90ZXMge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gIH1cblxuICAucXVvdGVzX19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQ5MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5xdW90ZXNfX25hcGEsXG4gIC5xdW90ZXNfX2htYiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDgwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgcGFkZGluZzogNDBweDtcbiAgICB9XG4gIH1cblxuICAucXVvdGVzX19uYXBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmI1NmQ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIC5xdW90ZXNfX25hcGEgLmNhc2Utc3R1ZHktcGlsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU2MzVjMjtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHBhZGRpbmc6IDdweCAxMHB4IDZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA3cHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZS1pbi1vdXQ7XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFxcMjAzYVwiO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cblxuICAucXVvdGVzX19obWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjRiNTg7XG4gIH1cblxuICAucXVvdGVzX19sb2dvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3Byby90ZWFtcy1xdW90ZS1sb2dvcy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgd2lkdGg6IDI2MHB4O1xuICB9XG5cbiAgLnF1b3Rlc19faG1iIC5xdW90ZXNfX2xvZ28ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTQwcHg7XG4gIH1cblxuICAucXVvdGVzIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5xdW90ZXMgYmxvY2txdW90ZSA+IHNtYWxsIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjYpO1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIH1cbiAgfVxuXG4gIC5nZXQtc3RhcnRlZCB7XG4gICAgYmFja2dyb3VuZDogIzFiMjEyYTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC5nZXQtc3RhcnRlZCAuY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTEwcHg7XG4gICAgbWFyZ2luLXRvcDogMTEwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5nZXQtc3RhcnRlZCBoZ3JvdXAge1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAyNWVtO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgLmdldC1zdGFydGVkIGgyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gIH1cblxuICAuZ2V0LXN0YXJ0ZWQgcCB7XG4gICAgY29sb3I6ICM5OGEzYjI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmdldC1zdGFydGVkIC5idG4ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgJi5zZWNvbmRhcnkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNGI1ZjtcbiAgICB9XG4gIH1cblxufVxuIiwiI3BhZ2UtcHdhIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgI3NvY2lhbC1zaGFyZS1zaWRlYmFyIHtcbiAgICBsZWZ0OiAzNXB4O1xuICB9XG5cbiAgaDEsXG4gIGgyLFxuICBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gIC5sZWRlIHtcbiAgICBjb2xvcjogIzc0ODE5NjtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW46IDFlbSBhdXRvO1xuICAgIG1heC13aWR0aDogNzJyZW07XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICB9XG4gIH1cblxuICAubGVkZSA+IHN0cm9uZyB7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gIH1cblxuICAuZXllYnJvdyB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5jYXJkIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDRweCA2cHggcmdiYShibGFjaywgMC4xKSwgMHB4IDFweCAzcHggcmdiYShibGFjaywgMC4wOCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZS1vdXQsIGJveC1zaGFkb3cgMTIwbXMgZWFzZS1vdXQ7XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAxZW07XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IHJnYmEoYmxhY2ssIDAuMDgpLCAwIDNweCA2cHggcmdiYShibGFjaywgMC4wOCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgfVxuICB9XG5cbiAgLnBhbmVsIHtcbiAgICBwYWRkaW5nOiA4cmVtIDRyZW07XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAucGFuZWwgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIH1cblxuICAuY3RhLFxuICAucGFuZWwge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZWluYTtcbiAgfVxuXG4gIC8vIENUQVxuXG4gIC5jdGEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHdhL3B3YS1oZXJvLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgcGFkZGluZzogMTZyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDE2cmVtIC0gNzBweCk7XG4gICAgfVxuICB9XG5cbiAgLmN0YSBoMSB7XG4gICAgZm9udC1zaXplOiAzLjQ1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgfVxuICB9XG5cbiAgLmN0YSAuZXllYnJvdyB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICB9XG5cbiAgLmN0YSAubGVkZSB7XG4gICBjb2xvcjogI2NmZTFmYTtcbiAgfVxuXG4gIC5jdGEgLmxlZGUgPiBzdHJvbmcge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEZlYXR1cmVzXG5cbiAgLmZlYXR1cmVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwcmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmZlYXR1cmVzID4gbGkge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgcGFkZGluZzogMiU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICB9XG4gIH1cblxuICAuZmVhdHVyZXMgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAuZmVhdHVyZXMgcCB7XG4gICAgY29sb3I6ICM3NDgxOTY7XG4gICAgZm9udC1zaXplOiAwLjkyNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAuZmVhdHVyZXNfX2ljb24ge1xuICAgICRmZWF0dXJlcy1pY29uLXNpemU6IDQ4cHg7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3B3YS9wd2EtZmVhdHVyZS1pY29ucy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGhlaWdodDogJGZlYXR1cmVzLWljb24tc2l6ZTtcbiAgICBtYXJnaW46IDAgYXV0byAycmVtO1xuICAgIHdpZHRoOiAkZmVhdHVyZXMtaWNvbi1zaXplO1xuXG4gICAgJi0tcmVsaWFibGUgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XG4gICAgJi0tZmFzdCAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAkZmVhdHVyZXMtaWNvbi1zaXplICogLTE7IH1cbiAgICAmLS1hY2Nlc3NpYmxlICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6ICRmZWF0dXJlcy1pY29uLXNpemUgKiAtMjsgfVxuICAgICYtLXdlYi1iYXNlZCAgICB7IGJhY2tncm91bmQtcG9zaXRpb24teTogJGZlYXR1cmVzLWljb24tc2l6ZSAqIC0zOyB9XG4gICAgJi0tZGlzY292ZXJhYmxlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAkZmVhdHVyZXMtaWNvbi1zaXplICogLTQ7IH1cbiAgICAmLS1zbWFsbCAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6ICRmZWF0dXJlcy1pY29uLXNpemUgKiAtNTsgfVxuICAgICYtLWluc3RhbnQgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb24teTogJGZlYXR1cmVzLWljb24tc2l6ZSAqIC02OyB9XG4gICAgJi0tc2ltcGxlICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAkZmVhdHVyZXMtaWNvbi1zaXplICogLTc7IH1cbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgLmZlYXR1cmVzID4gbGk6aG92ZXIge1xuICAgICAgcCxcbiAgICAgIGg0LFxuICAgICAgLmZlYXR1cmVzX19pY29uIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIH1cbiAgICAuZmVhdHVyZXMgaDQsXG4gICAgLmZlYXR1cmVzIHAsXG4gICAgLmZlYXR1cmVzX19pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG4gICAgfVxuICAgIC5mZWF0dXJlcyBwIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRXhhbXBsZXNcblxuICAuZXhhbXBsZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY5ZmM7XG4gIH1cblxuICAuZXhhbXBsZXMucGFuZWwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gIC5leGFtcGxlc19fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAuZXhhbXBsZXNfX2xpc3QgPiAuY2FyZCB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAzcHggOHB4IHJnYmEoYmxhY2ssIDAuMSk7XG4gICAgbWFyZ2luOiAxcmVtO1xuICAgIHdpZHRoOiBjYWxjKDExMTBweCAvIDMgLSAycmVtKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCA4cHggMTZweCByZ2JhKGJsYWNrLCAwLjEpLCAwIDNweCA2cHggcmdiYShibGFjaywgMC4xKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmV4YW1wbGUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY29sb3I6IHJnYmEod2hpdGUsIDAuOCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDg4JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLnN0YXJidWNrcyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHdhL3B3YS1zdGFyYnVja3MtYmcuanBnXCIpOyB9XG4gICAgJi5waW50ZXJlc3QgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3B3YS9wd2EtcGludGVyZXN0LWJnLmpwZ1wiKTsgfVxuICAgICYudWJlciB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHdhL3B3YS11YmVyLWJnLmpwZ1wiKTsgfVxuICAgICYubHlmdCB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHdhL3B3YS1seWZ0LWJnLmpwZ1wiKTsgfVxuICAgICYudHdpdHRlciB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvcHdhL3B3YS10d2l0dGVyLWJnLmpwZ1wiKTsgfVxuICAgICYuZm9yYmVzIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9wd2EvcHdhLWZvcmJlcy1iZy5qcGdcIik7IH1cbiAgfVxuXG4gIC5leGFtcGxlX19jb250ZW50IHtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiA0Ni44NzUlO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMS40ZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG4gIH1cblxuICAvLyBMaWJyYXJ5XG5cbiAgLmxpYnJhcnkgPiAuY29udGFpbmVyID4gc2VjdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG5cbiAgLmxpYnJhcnlfX2xpc3QgaDQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLmxpYnJhcnlfX2xpc3QgcCB7XG4gICAgY29sb3I6ICM3NDgxOTY7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAubGlicmFyeV9fbGlzdCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5saWJyYXJ5X19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMmVtIDAgNGVtIDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5saWJyYXJ5X19saXN0ID4gbGkge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMlO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmxpYnJhcnlfX2xpc3QgLmNhcmQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICB9XG4gIH1cblxuICAubGlicmFyeSAuZXllYnJvdyB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxufVxuIiwiI2RvY3MtcGFnZS1yZXNvdXJjZXMtaW5kZXggbWFpbiB7XG4gIGgxLmJhbm5lciB7XG4gICAgaGVpZ2h0OiAxNzhweDtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIHRvcCB1cmwoJy9pbWcvZG9jcy9yZXNvdXJjZXMvcmVzb3VyY2VzLWhlYWRlci1pbWcuanBnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogOTJweDtcbiAgICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwwLDAsLjEpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xuICAgIH1cblxuICAgIC5iZyB7XG4gICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHBhZGRpbmctdG9wOiA5MnB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMSwgMS4wMSk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogLjNzIHRyYW5zZm9ybSwgLjNzIG9wYWNpdHk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgdG9wIHVybCgnL2ltZy9kb2NzL3Jlc291cmNlcy9yZXNvdXJjZXMtaGVhZGVyLWljb24ucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gICAgICB9XG5cbiAgICAgICYudmlkZW9zIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL2RvY3MvcmVzb3VyY2VzL3ZpZGVvLmpwZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgfVxuXG4gICAgICAmLmJvb2tzIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL2RvY3MvcmVzb3VyY2VzL2Jvb2tzLmpwZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgfVxuXG4gICAgICAmLmNvdXJzZXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvZG9jcy9yZXNvdXJjZXMvY291cnNlcy5qcGcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIH1cblxuICAgICAgJi5ndWlkZXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvZG9jcy9yZXNvdXJjZXMvZ3VpZGVzLmpwZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgfVxuXG4gICAgICAmLmNvbW11bml0eSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltZy9kb2NzL3Jlc291cmNlcy9jb21tdW5pdHkuanBnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB9XG5cbiAgICAgICYudG9vbHMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvZG9jcy9yZXNvdXJjZXMvdG9vbHMuanBnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDMycHg7XG4gIH1cblxuICBmb3JtIHtcbiAgICBtYXgtd2lkdGg6IDcyMnB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgaW5wdXQge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgIHBhZGRpbmc6IDE4cHggNXB4IDE3cHggNTlweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGhlaWdodDogNTZweDtcblxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYyMGEnO1xuICAgICAgZm9udC1mYW1pbHk6ICdJb25pY29ucyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAyNXB4O1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG4gIH1cblxuICAuc2VjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcblxuXG4gICAgJi5maWx0ZXJlZCB7XG4gICAgICBzZWN0aW9uIHtcbiAgICAgICAgJjpub3QoLmFjdGl2ZSkge1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWFsbCB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogLjVzIGNvbG9yLCAuNXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0LCAuNSB0b3Agc3RlcC1lbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3ctYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC05MDBweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC0xNXB4LDApO1xuICAgICAgdHJhbnNpdGlvbjogLjVzIGNvbG9yLCAuNXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0LCAuNSB0b3Agc3RlcC1lbmQ7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkYmx1ZSwgNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VjdGlvbiB7XG4gICAgICB3aWR0aDogMzI1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDY4cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgdHJhbnNpdGlvbjogLjNzIHRyYW5zZm9ybSwgLjNzIHdpZHRoLCAuM3Mgb3BhY2l0eSwgLjNzIHBhZGRpbmctbGVmdCxcbiAgICAgICAgICAgICAgICAgIC4zcyBoZWlnaHQsIC4zcyBwYWRkaW5nLWJvdHRvbTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciB0b3AgdXJsKCcvaW1nL2RvY3MvcmVzb3VyY2VzL3Jlc291cmNlcy1pY29ucy5wbmc/MScpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cbiAgICAgICYuZ3VpZGVzOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTMycHg7IH1cbiAgICAgICYudG9vbHM6OmJlZm9yZSB7ICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtNjRweDsgfVxuICAgICAgJi5jb21tdW5pdHk6OmJlZm9yZSB7ICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC05NnB4OyB9XG4gICAgICAmLmJvb2tzOjpiZWZvcmUgeyAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMTI4cHg7IH1cbiAgICAgICYuY291cnNlczo6YmVmb3JlIHsgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLTE2MHB4OyB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiNwYWdlLXNhbGVzIHtcbiAgZm9udC1mYW1pbHk6JGZvbnQtZmFtaWx5LWVpbmE7XG5cbiAgLmhlcm8ge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIG1heC13aWR0aDogNzYwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuXG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC5odWJzcG90LW92ZXJyaWRlIHtcbiAgICBtYXgtd2lkdGg6IDg2MHB4O1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgfVxuICB9XG59XG4iLCIjcGFnZS1zdGFydHVwcyB7XG5cbiAgbWFpbiB7XG4gICAgY29sb3I6ICMxNjFhMWY7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAuYnRuIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XG5cbiAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEwMjI0MjtcbiAgICB9XG4gIH1cblxuICAuY3RhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgICB9XG4gIH1cblxuICAuY3RhIGgxIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgfVxuXG4gIC5jdGEgcCB7XG4gICAgY29sb3I6ICMyZjM3NDQ7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbjogMWVtIGF1dG8gMS41ZW07XG4gICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgfVxuXG4gIC52aWRlbyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFlbSAxZW0gMmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLnZpZGVvLXBsYXllciB7XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6bm90KC5pcy1wbGF5aW5nKTpob3ZlciAudmlkZW8tcGxheWVyLWZyYW1lIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OSk7XG4gICAgfVxuXG4gICAgJjpub3QoLmlzLXBsYXlpbmcpOmhvdmVyIC52aWRlby1wbGF5ZXItYnV0dG9uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMSk7XG4gICAgfVxuXG4gICAgJi5pcy1yZWFkeSAudmlkZW8tcGxheWVyLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmlzLXBsYXlpbmcgLnZpZGVvLXBsYXllci1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAudmlkZW8tcGxheWVyLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MDBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAudmlkZW8tcGxheWVyLWZyYW1lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3N0YXJ0dXBzL3N0YXJ0dXBzLXZpZGVvLXBvc3Rlci5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggcmdiYSgwLDE0LDQxLDAuMDgpLCAwIDMwcHggNjBweCByZ2JhKDAsMTEsMzQsMC4xNSk7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgPiBpZnJhbWUge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC52aWRlby1mb290ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDYwcHg7XG4gICAgcGFkZGluZzogMWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGViZjE7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDI1JTtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnZpZGVvLWZvb3RlciA+ICoge1xuICAgIGZsZXg6IDE7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogM2VtO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogM2VtO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkLFxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudmlkZW8tZm9vdGVyID4gcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuXG4gIC52aWRlby1mb290ZXIgPiBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgIG1hcmdpbjogMWVtIDAgMCAwO1xuICAgIH1cbiAgfVxuXG4gIC52aWRlby1mb290ZXIgPiBibG9ja3F1b3RlIHNtYWxsIHtcbiAgICBjb2xvcjogIzc4ODQ5NztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgPiBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgY29sb3I6ICMyZjM3NDQ7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDRlbTtcbiAgICBtYXJnaW4tdG9wOiA0ZW07XG4gICAgbWF4LXdpZHRoOiAzMmVtO1xuICB9XG5cbiAgLnNlY3Rpb24taGVhZGVyIGgyIHtcbiAgICBjb2xvcjogIzI0MjgyZTtcbiAgICBmb250LXNpemU6IDEuOGVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42NWVtO1xuICB9XG5cbiAgLm9zcyxcbiAgLnBybyB7XG4gICAgLnNlY3Rpb24taGVhZGVyIGgyIHNwYW4ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgNHB4ICMyNDI4MmU7XG4gICAgfVxuICB9XG5cbiAgLmZlYXR1cmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIH1cblxuICAuZmVhdHVyZV9faWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zdGFydHVwcy9zdGFydHVwcy1mZWF0dXJlLWljb25zLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgIHdpZHRoOiA0OHB4O1xuXG4gICAgJi5kYXp6bGUgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cbiAgICAmLnNwZWVkICAgICB7IGJhY2tncm91bmQtcG9zaXRpb24teTogLTQ4cHggKiAxOyB9XG4gICAgJi50YWtlb2ZmICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC00OHB4ICogMjsgfVxuICAgICYucGxhdGZvcm1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtNDhweCAqIDM7IH1cbiAgICAmLm5hdGl2ZSAgICB7IGJhY2tncm91bmQtcG9zaXRpb24teTogLTQ4cHggKiA0OyB9XG4gICAgJi53b3JsZHdpZGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC00OHB4ICogNTsgfVxuICAgICYuZGVwbG95ICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtNDhweCAqIDY7IH1cbiAgICAmLmNvbXBpbGUgICB7IGJhY2tncm91bmQtcG9zaXRpb24teTogLTQ4cHggKiA3OyB9XG4gICAgJi5tb25pdG9yICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC00OHB4ICogODsgfVxuICB9XG5cbiAgLmZlYXR1cmVfX3RleHQgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG4gIH1cblxuICAuZmVhdHVyZV9fdGV4dCBwIHtcbiAgICBjb2xvcjogIzc4ODQ5NztcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgfVxuXG4gIC5mZWF0dXJlLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZmVhdHVyZS1saXN0ID4gbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICB9XG5cbiAgLmFwcC1zaG93Y2FzZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAuYXBwLXNob3djYXNlX19pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuYXBwLXNob3djYXNlX19pY29uIHtcbiAgICB3aWR0aDogOTNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuXG4gIC5hcHAtc2hvd2Nhc2VfX2Zvb3RlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBwYWRkaW5nOiAxZW07XG4gIH1cblxuICAuYXBwLXNob3djYXNlX19mb290ZXIgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NWVtO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuYXBwLXNob3djYXNlX19mb290ZXIgc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICA+IHNwYW4ge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbiAgfVxuXG4gIC5rZXktYmVuZWZpdHMge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAuZmVhdHVyZS1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmUtbGlzdCA+IGxpIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM2VtO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlX19pY29uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5vc3MsXG4gIC5wcm8ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFwcC1zaG93Y2FzZSB7XG4gICAgICBtYXJnaW46IGF1dG8gMTAlO1xuICAgICAgbWF4LXdpZHRoOiA4NjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICB9XG4gIH1cblxuICAub3NzIC5hcHAtc2hvd2Nhc2Uge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogODBweDtcbiAgICB9XG4gIH1cblxuICAucHJvIC5hcHAtc2hvd2Nhc2Uge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5wcm8gLmZlYXR1cmVfX3RleHQgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICB9XG5cbiAgLnBybyAuZmVhdHVyZV9fdGV4dCBzdHJvbmcgYSB7XG4gICAgZm9udC1zaXplOiAwLjU1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbi5yZXNvdXJjZXMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgfVxuXG4gIC5yZXNvdXJjZS1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzZDNmO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMTZweCByZ2JhKDAsMCwwLDAuMSksIDAgMnB4IDRweCByZ2JhKDAsMCwwLDAuMDgpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtaW4taGVpZ2h0OiAyNTVweDtcbiAgICBwYWRkaW5nOiAyNnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDI1MG1zIGVhc2UsIHRyYW5zZm9ybSAyMDBtcyBlYXNlO1xuICAgIHdpZHRoOiAyNTVweDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCAxMnB4IDI0cHggcmdiYSgwLDAsMCwwLjEpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5yZXNvdXJjZS1jYXJkX19leWVicm93IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIGZvbnQtc2l6ZTogMC41ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLnJlc291cmNlLWNhcmRfX3RpdGxlIHtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDE1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW46IDAuNWVtIDA7XG4gIH1cblxuICAucmVzb3VyY2UtY2FyZF9fY3RhIHtcbiAgICBmb250LXNpemU6IDAuN2VtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE1ZW07XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLnJlc291cmNlLWNhcmQtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAucmVzb3VyY2UtY2FyZCB7XG4gICAgICBtYXJnaW46IDAgMS41ZW0gMS41ZW0gMDtcblxuICAgICAgJjpudGgtY2hpbGQoMSkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2NjQ0OyB9XG4gICAgICAmOm50aC1jaGlsZCgyKSB7IGJhY2tncm91bmQtY29sb3I6ICMwMzNmODA7IH1cbiAgICAgICY6bnRoLWNoaWxkKDMpIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmY2OTsgfVxuICAgICAgJjpudGgtY2hpbGQoNCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjODQ2YWMyOyB9XG4gICAgICAmOm50aC1jaGlsZCg1KSB7IGJhY2tncm91bmQtY29sb3I6ICMwZThlZmI7IH1cbiAgICAgICY6bnRoLWNoaWxkKDYpIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwMzk1MzsgfVxuICAgICAgJjpudGgtY2hpbGQoNykgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjNDRiY2MwOyB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAucmVzb3VyY2UtY2FyZCB7XG4gICAgICAgIG1hcmdpbjogMCAwLjVlbSAxZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnF1b3RlcyB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxuXG4gIC5xdW90ZXNfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDkwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnF1b3Rlc19fcXVvdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiA4MHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMpIHtcbiAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuam91bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjc0ZDtcbiAgICB9XG5cbiAgICAmLmNvbWljaGF1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlYmYxO1xuICAgICAgY29sb3I6ICMyNDI4MmU7XG4gICAgfVxuXG4gICAgJi5wYWNpZmljYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGVkYWIxO1xuICAgIH1cblxuICAgICYubmF0dXJhbC1jeWNsZXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc1NDVmMDtcbiAgICB9XG4gIH1cblxuICAucXVvdGVzX19sb2dvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3N0YXJ0dXBzL3N0YXJ0dXBzLXF1b3RlLWxvZ29zLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICB3aWR0aDogMTYwcHg7XG5cbiAgICAmLmpvdWxlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDtcbiAgICB9XG5cbiAgICAmLmNvbWljaGF1cyB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC00MHB4O1xuICAgIH1cblxuICAgICYucGFjaWZpY2Ege1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtODBweDtcbiAgICB9XG5cbiAgICAmLm5hdHVyYWwtY3ljbGVzIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTEyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5xdW90ZXMgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLnF1b3RlcyBibG9ja3F1b3RlID4gc21hbGwge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgPiBzcGFuIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ2V0LXN0YXJ0ZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzM4ODBmZiwgIzY3YzBmZik7XG4gICAgcGFkZGluZzogODBweCAwO1xuICB9XG5cbiAgLmdldC1zdGFydGVkIC5jb250YWluZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmdldC1zdGFydGVkIC5idG4ge1xuICAgIG1hcmdpbjogMC4zNWVtO1xuICB9XG5cbiAgLmdldC1zdGFydGVkIC5idG4tLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzhmZjtcbiAgfVxuXG4gIC5nZXQtc3RhcnRlZCBoMixcbiAgLmdldC1zdGFydGVkIHAge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIH1cblxuICAuZ2V0LXN0YXJ0ZWQgaDIge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgfVxuXG4gIC5nZXQtc3RhcnRlZCBwIHtcbiAgICBjb2xvcjogIzAwM2U4MjtcbiAgICBmb250LXNpemU6IDIwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cbiAgfVxuXG59XG4iLCIjcGFnZS13aGF0LWlzLWlvbmljIHtcbiAgLmJhbm5lcixcbiAgbWFpbiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1pbnRlcjtcblxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZWluYTtcbiAgICB9XG4gIH1cblxuXG4gIC5iYW5uZXIge1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgcGFkZGluZy10b3A6IDcycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1MHB4O1xuXG4gICAgaDEge1xuICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAwOGVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy93aGF0LWlzLWlvbmljL2lvbmljLWljb24ucG5nJykgbm8tcmVwZWF0IDUwJSAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0OHB4O1xuICAgICAgY29sb3I6ICMwZjE2MjI7XG4gICAgfVxuICB9XG5cbiAgbWFpbiB7XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiAuMnMgb3BhY2l0eTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjAwcHg7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1heC13aWR0aDogOTgwcHg7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JhcGhpYyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAubGVmdCAuZ3JhcGhpYyB7ICBtYXJnaW4tbGVmdDogMTA0cHg7IH1cbiAgICAucmlnaHQgLmdyYXBoaWMgeyAgbWFyZ2luLXJpZ2h0OiAxMDRweDsgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICAuY2VudGVyIC5jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1heC13aWR0aDogNjgwcHg7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ3cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDA4ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGNvbG9yOiAjMGYxNjIyO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICAgICAgJi5zbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDFlbTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAud2hhdCB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjdmOWZjLCAjZmRmZWZlKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4OHB4O1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMzRweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ3JhcGhpYyBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC01MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0M3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy93aGF0LWlzLWlvbmljL3dlYi1pY29ucy5wbmcnKSBuby1yZXBlYXQgMCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwcHg7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjJweDtcblxuICAgICAgICAmLmNzcyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwcHg7IH1cbiAgICAgICAgJi5qcyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAua2l0IHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmN2Y5ZmIsICNmZWZlZmUpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE5MHB4O1xuXG4gICAgICAuZ3JhcGhpYyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNjhweDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRlYW1zIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmOGY5ZmIsICNmZWZlZmUpO1xuICAgICAgcGFkZGluZy10b3A6IDE4M3B4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE3NnB4O1xuXG4gICAgICAuZ3JhcGhpYyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTY1cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzNHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcbiAgICAgIH1cblxuICAgICAgaW9uLWljb24ge1xuICAgICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtNyU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nbG9iYWwge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTpcbiAgICAgICAgdXJsKCcvaW1nL3doYXQtaXMtaW9uaWMvY29tbXVuaXR5LWJnLnBuZycpLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjdmOWZjLCAjZmVmZWZlKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIsIDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7XG4gICAgICBwYWRkaW5nLXRvcDogMjA0cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTk4cHg7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICB9XG5cbiAgICAgIC5ncmFwaGljIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEyNHB4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwOHB4O1xuICAgICAgICBtYXJnaW46IDU3cHggMDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2ltZy93aGF0LWlzLWlvbmljL2NvbW11bml0eS1pY29ucy5wbmcnKSBuby1yZXBlYXQgMCAwO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogODhweDtcbiAgICAgICAgICBoZWlnaHQ6IDg4cHg7XG4gICAgICAgICAgd2lkdGg6IDg4cHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSA0NHB4KTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgY29sb3I6ICMzODgwZmY7XG4gICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1laW5hO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICM2OGI0ZmY7XG4gICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMik6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTg4cHg7IH1cbiAgICAgICAgJjpudGgtY2hpbGQoMyk6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE3NnB4OyB9XG4gICAgICAgICY6bnRoLWNoaWxkKDQpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNjRweDsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC53ZWIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTpcbiAgICAgICAgdXJsKCcvaW1nL3doYXQtaXMtaW9uaWMvcGhpbG9zb3BoeS1iZy5wbmcnKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2Y3ZjlmYywgI2ZlZmVmZSk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyLCAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE5MHB4O1xuXG4gICAgICBoNCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICBjb2xvcjogIzBmMTYyMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5sZWZ0IC5ncmFwaGljIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgLmJhbm5lciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICB9XG5cbiAgICBtYWluIHtcbiAgICAgIC5ncmFwaGljIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICBzZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDk2cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA5NnB4O1xuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYubGVmdCAuY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC53aGF0ICB7XG4gICAgICAgIC5ncmFwaGljIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmtpdCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA5NnB4O1xuXG4gICAgICAgIC5ncmFwaGljIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCA0MnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50ZWFtcyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA5NnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTZweDtcblxuICAgICAgICAuZ3JhcGhpYyB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nbG9iYWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogOTZweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDk2cHg7XG5cbiAgICAgICAgLmdyYXBoaWMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLndlYiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSJdfQ== */ ================================================ FILE: content/css/syntax.css ================================================ .highlight { background: #ffffff; } .highlight .c { color: #999988; font-style: italic } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { font-weight: bold } /* Keyword */ .highlight .o { font-weight: bold } /* Operator */ .highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ .highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ .highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ .highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #999999 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #aaaaaa } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { font-weight: bold } /* Keyword.Constant */ .highlight .kd { font-weight: bold } /* Keyword.Declaration */ .highlight .kp { font-weight: bold } /* Keyword.Pseudo */ .highlight .kr { font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #009999 } /* Literal.Number */ .highlight .s { color: #d14 } /* Literal.String */ .highlight .na { color: #008080 } /* Name.Attribute */ .highlight .nb { color: #0086B3 } /* Name.Builtin */ .highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ .highlight .no { color: #008080 } /* Name.Constant */ .highlight .ni { color: #800080 } /* Name.Entity */ .highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ .highlight .nn { color: #555555 } /* Name.Namespace */ .highlight .nt { color: #000080 } /* Name.Tag */ .highlight .nv { color: #008080 } /* Name.Variable */ .highlight .ow { font-weight: bold } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mf { color: #009999 } /* Literal.Number.Float */ .highlight .mh { color: #009999 } /* Literal.Number.Hex */ .highlight .mi { color: #009999 } /* Literal.Number.Integer */ .highlight .mo { color: #009999 } /* Literal.Number.Oct */ .highlight .sb { color: #d14 } /* Literal.String.Backtick */ .highlight .sc { color: #d14 } /* Literal.String.Char */ .highlight .sd { color: #d14 } /* Literal.String.Doc */ .highlight .s2 { color: #d14 } /* Literal.String.Double */ .highlight .se { color: #d14 } /* Literal.String.Escape */ .highlight .sh { color: #d14 } /* Literal.String.Heredoc */ .highlight .si { color: #d14 } /* Literal.String.Interpol */ .highlight .sx { color: #d14 } /* Literal.String.Other */ .highlight .sr { color: #009926 } /* Literal.String.Regex */ .highlight .s1 { color: #d14 } /* Literal.String.Single */ .highlight .ss { color: #990073 } /* Literal.String.Symbol */ .highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ .highlight .vc { color: #008080 } /* Name.Variable.Class */ .highlight .vg { color: #008080 } /* Name.Variable.Global */ .highlight .vi { color: #008080 } /* Name.Variable.Instance */ .highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ ================================================ FILE: content/css/v2-demos/css/ionic.css ================================================ @charset "UTF-8"; /*! normalize.css v3.0.2 | MIT License | github.com/necolas/normalize.css */ audio, canvas, progress, video { vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } b, strong { font-weight: bold; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { box-sizing: content-box; height: 0; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } label, input, select, textarea { line-height: normal; font-family: inherit; } form, input, optgroup, select { color: inherit; font: inherit; margin: 0; } html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; } html { width: 100%; height: 100%; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; } body { position: fixed; overflow: hidden; width: 100%; height: 100%; max-width: 100%; max-height: 100%; margin: 0; padding: 0; word-wrap: break-word; -ms-touch-action: manipulation; touch-action: manipulation; -webkit-user-drag: none; -ms-content-zooming: none; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; text-rendering: optimizeLegibility; -webkit-text-size-adjust: none; -ms-text-size-adjust: none; text-size-adjust: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: #fff; } ion-app, ion-nav, ion-tabs { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; } ion-navbar-section { display: block; width: 100%; min-height: 50px; } ion-content-section { display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; position: relative; width: 100%; height: 100%; } ion-page { display: none; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-page.show-page { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } ion-content { position: relative; display: block; width: 100%; height: 100%; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; background-color: #fff; } scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: block; overflow-y: scroll; overflow-x: hidden; -webkit-overflow-scrolling: touch; will-change: scroll-position; } ion-tabbar { display: block; position: absolute; top: 0; left: 0; width: 100%; min-height: 50px; } ion-tab-section { display: block; position: relative; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; } ion-page.tab-subpage { position: fixed; z-index: 10; } ion-navbar { display: block; position: absolute; top: 0; left: 0; width: 100%; min-height: 50px; z-index: 10; } ion-navbar-section ion-navbar.toolbar { position: absolute; } ion-toolbar { display: block; width: 100%; height: 50px; } ion-toolbar[position=bottom] { bottom: 0; z-index: 10; } .sticky { position: -webkit-sticky; position: sticky; top: 0; } html { font-size: 62.5%; } body { font-size: 1.4rem; font-family: -apple-system, "Helvetica Neue", "Roboto", sans-serif; } a { color: #387ef5; background-color: transparent; } .enable-hover a:hover { opacity: 0.7; } h1, h2, h3, h4, h5, h6 { font-weight: 500; line-height: 1.2; margin-top: 1.6rem; margin-bottom: 1rem; } h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child { margin-top: -0.3rem; } h1 + h2, h1 + h3, h2 + h3 { margin-top: -0.3rem; } h1 { font-size: 3.6rem; margin-top: 2rem; } h2 { font-size: 3rem; margin-top: 1.8rem; } h3 { font-size: 2.4rem; } h4 { font-size: 2rem; } h5 { font-size: 1.6rem; } h6 { font-size: 1.4rem; } small { font-size: 75%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } h1[primary], h2[primary], h3[primary], h4[primary], h5[primary], h6[primary], p[primary], span[primary], a:not([button])[primary], small[primary], b[primary], i[primary], u[primary], strong[primary], em[primary], sub[primary], sup[primary] { color: #387ef5 !important; } h1[secondary], h2[secondary], h3[secondary], h4[secondary], h5[secondary], h6[secondary], p[secondary], span[secondary], a:not([button])[secondary], small[secondary], b[secondary], i[secondary], u[secondary], strong[secondary], em[secondary], sub[secondary], sup[secondary] { color: #32db64 !important; } h1[danger], h2[danger], h3[danger], h4[danger], h5[danger], h6[danger], p[danger], span[danger], a:not([button])[danger], small[danger], b[danger], i[danger], u[danger], strong[danger], em[danger], sub[danger], sup[danger] { color: #f53d3d !important; } h1[light], h2[light], h3[light], h4[light], h5[light], h6[light], p[light], span[light], a:not([button])[light], small[light], b[light], i[light], u[light], strong[light], em[light], sub[light], sup[light] { color: #f4f4f4 !important; } h1[dark], h2[dark], h3[dark], h4[dark], h5[dark], h6[dark], p[dark], span[dark], a:not([button])[dark], small[dark], b[dark], i[dark], u[dark], strong[dark], em[dark], sub[dark], sup[dark] { color: #222 !important; } .align-left { text-align: left; } .align-center { text-align: center; } .align-right { text-align: right; } .no-transition { -webkit-transition: none !important; transition: none !important; } .hide, [hidden], template, root-anchor { display: none !important; } [padding], [padding] > scroll-content { padding: 16px; } [padding-top] { padding-top: 16px; } [padding-right] { padding-right: 16px; } [padding-bottom] { padding-bottom: 16px; } [padding-left] { padding-left: 16px; } [padding-vertical] { padding-top: 16px; padding-bottom: 16px; } [padding-horizontal] { padding-right: 16px; padding-left: 16px; } :focus, :active { outline: none; } .focus-outline :focus { outline-offset: -1px; outline: thin dotted; } .focus-outline button:focus, .focus-outline [button]:focus { border-color: #51a7e8; box-shadow: 0px 0px 8px 0px #51a7e8; outline: thin solid #51a7e8; } .focus-outline ion-input.has-focus, .focus-outline button[ion-item]:focus, .focus-outline a[ion-item]:focus { border-color: #51a7e8; box-shadow: inset 0px 0px 8px 0px #51a7e8 !important; } .focus-outline ion-input :focus { outline: none; } focus-ctrl { position: fixed; } focus-ctrl input, focus-ctrl button { position: fixed; top: 1px; width: 9px; left: -9999px; z-index: 9999; pointer-events: none; } .hide-focused-input { -webkit-box-flex: 0 !important; -webkit-flex: 0 0 8px !important; -ms-flex: 0 0 8px !important; flex: 0 0 8px !important; margin: 0 !important; -webkit-transform: translate3d(-9999px, 0, 0); transform: translate3d(-9999px, 0, 0); pointer-events: none; } [floating-label] .hide-focused-input, [stacked-label] .hide-focused-input { margin-top: -8px !important; } .cloned-input { pointer-events: none; } backdrop { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; opacity: 0.01; display: block; -webkit-transform: translateZ(0); transform: translateZ(0); } click-block { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; z-index: 9999; -webkit-transform: translate3d(0px, -100%, 0px); transform: translate3d(0px, -100%, 0px); -webkit-transform: translate3d(0px, calc(-100% + 1px), 0px); transform: translate3d(0px, calc(-100% + 1px), 0px); } .click-block-active { -webkit-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px); } @-webkit-keyframes rotation { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes rotation { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } ion-loading-icon { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; margin: auto; font-family: 'Ionicons'; font-size: 128px; color: #666666; -webkit-animation: rotation 45s infinite linear; animation: rotation 45s infinite linear; } ion-loading-icon:before { content: "\f44e"; } .toolbar { position: relative; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-ordinal-group: -9; -webkit-order: -10; -ms-flex-order: -10; order: -10; -webkit-box-flex: 0; -webkit-flex: 0; -ms-flex: 0; flex: 0; padding: 4px; width: 100%; overflow: hidden; } .toolbar button, .toolbar [button] { background-color: transparent; color: #387ef5; box-shadow: none; } .toolbar toolbar-background { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; border: 0; border-color: #b2b2b2; background-color: #f8f8f8; pointer-events: none; } toolbar-content { display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 31; -webkit-order: 30; -ms-flex-order: 30; order: 30; } .toolbar button:hover:not(.disable-hover), .toolbar [button]:hover:not(.disable-hover), .toolbar button.activated, .toolbar [button].activated { color: #387ef5; background-color: transparent; } .toolbar[position=bottom] { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; } ion-title { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .toolbar-title { display: block; width: 100%; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; color: #000; } .toolbar [menu-toggle] { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0 6px; padding: 0; min-width: 36px; -webkit-box-ordinal-group: 21; -webkit-order: 20; -ms-flex-order: 20; order: 20; box-shadow: none; } .toolbar [menu-toggle][secondary] { -webkit-box-ordinal-group: 61; -webkit-order: 60; -ms-flex-order: 60; order: 60; } .toolbar [menu-toggle] icon { padding: 0 6px; font-size: 2.8rem; } ion-nav-items { display: block; margin: 0 0.2rem; pointer-events: none; -webkit-box-ordinal-group: 41; -webkit-order: 40; -ms-flex-order: 40; order: 40; } ion-nav-items[secondary] { -webkit-box-ordinal-group: 51; -webkit-order: 50; -ms-flex-order: 50; order: 50; } ion-nav-items button, ion-nav-items a, ion-nav-items input, ion-nav-items textarea, ion-nav-items div { pointer-events: auto; } ion-nav-items, [menu-toggle] { z-index: 99; } .toolbar[primary] toolbar-background { background-color: #387ef5; border-color: #0c60ee; } .toolbar[primary] .toolbar-title, .toolbar[primary] button, .toolbar[primary] [button], .toolbar[primary] button:hover:not(.disable-hover), .toolbar[primary] [button]:hover:not(.disable-hover), .toolbar[primary] a { color: white; } .toolbar[secondary] toolbar-background { background-color: #32db64; border-color: #21b94e; } .toolbar[secondary] .toolbar-title, .toolbar[secondary] button, .toolbar[secondary] [button], .toolbar[secondary] button:hover:not(.disable-hover), .toolbar[secondary] [button]:hover:not(.disable-hover), .toolbar[secondary] a { color: white; } .toolbar[danger] toolbar-background { background-color: #f53d3d; border-color: #f30c0c; } .toolbar[danger] .toolbar-title, .toolbar[danger] button, .toolbar[danger] [button], .toolbar[danger] button:hover:not(.disable-hover), .toolbar[danger] [button]:hover:not(.disable-hover), .toolbar[danger] a { color: white; } .toolbar[light] toolbar-background { background-color: #f4f4f4; border-color: #dbdbdb; } .toolbar[light] .toolbar-title, .toolbar[light] button, .toolbar[light] [button], .toolbar[light] button:hover:not(.disable-hover), .toolbar[light] [button]:hover:not(.disable-hover), .toolbar[light] a { color: black; } .toolbar[dark] toolbar-background { background-color: #222; border-color: #090909; } .toolbar[dark] .toolbar-title, .toolbar[dark] button, .toolbar[dark] [button], .toolbar[dark] button:hover:not(.disable-hover), .toolbar[dark] [button]:hover:not(.disable-hover), .toolbar[dark] a { color: white; } ion-action-sheet { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; z-index: 1000; } action-sheet-wrapper { position: absolute; z-index: 10; bottom: 0; left: 0; right: 0; width: 100%; display: block; max-width: 500px; margin: auto; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .action-sheet-container { width: auto; overflow: hidden; } .action-sheet-container button { display: block; padding: 1px; width: 100%; margin: 0; border-radius: 0; border-color: #d1d3d6; background-color: transparent; color: #007aff; font-size: 21px; } .action-sheet-container button.activated { box-shadow: none; border-color: #d1d3d6; background: #e4e5e7; } .action-sheet-title { padding: 10px; color: #8f8f8f; text-align: center; font-size: 13px; } .action-sheet-group { background-color: #fff; overflow: hidden; } .action-sheet-group button { border-width: 1px 0px 0px 0px; } .action-sheet-group button:first-child:last-child { border-width: 0; } .action-sheet-options { background: #f1f2f3; } item-badge { display: inline-block; padding: 3px 8px; min-width: 10px; border-radius: 10px; vertical-align: baseline; text-align: center; white-space: nowrap; font-size: 1.3rem; font-weight: bold; line-height: 1; background: #ccc; } item-badge:empty { display: none; } button, [button] { position: relative; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-transition: background-color, opacity 100ms linear; transition: background-color, opacity 100ms linear; margin: 0.4rem 0.2rem; padding: 0 1em; min-height: 2.8em; line-height: 1; border: 1px solid #ccc; border: transparent; border-radius: 4px; font-size: 1.6rem; font-family: inherit; font-variant: inherit; font-style: inherit; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; text-align: center; text-transform: none; vertical-align: top; vertical-align: -webkit-baseline-middle; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; background: #387ef5; color: white; } button:hover:not(.disable-hover), [button]:hover:not(.disable-hover) { opacity: 0.8; text-decoration: none; } button.activated, [button].activated { opacity: 1; background-color: #3474e1; } button[block], [button][block] { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; clear: both; margin-right: 0; margin-left: 0; width: 100%; } button[block]:after, [button][block]:after { clear: both; } button[full], [button][full] { width: 100%; margin-right: 0; margin-left: 0; border-radius: 0; border-right-width: 0; border-left-width: 0; } button[full][outline], [button][full][outline] { border-radius: 0; border-right-width: 0; border-left-width: 0; } button[round], [button][round] { border-radius: 64px; padding: 0 2.6rem; } button[disabled], [button][disabled] { opacity: 0.4; cursor: default !important; pointer-events: none; } a[button] { text-decoration: none; } [padding] > button[block]:first-child, [padding] > [button][block]:first-child { margin-top: 0; } button[primary], [button][primary] { background-color: #387ef5; color: white; } button[primary].activated, [button][primary].activated { background-color: #3474e1; } button[secondary], [button][secondary] { background-color: #32db64; color: white; } button[secondary].activated, [button][secondary].activated { background-color: #2ec95c; } button[danger], [button][danger] { background-color: #f53d3d; color: white; } button[danger].activated, [button][danger].activated { background-color: #e13838; } button[light], [button][light] { background-color: #f4f4f4; color: black; } button[light].activated, [button][light].activated { background-color: #e0e0e0; } button[dark], [button][dark] { background-color: #222; color: white; } button[dark].activated, [button][dark].activated { background-color: #343434; } button[clear], .ios .popup-buttons button, .ios .searchbar-cancel, .md .popup-buttons button, [button][clear] { border-color: transparent; background: transparent; color: #3474e1; } button[clear].activated, .ios .popup-buttons button.activated, .ios .activated.searchbar-cancel, .md .popup-buttons button.activated, [button][clear].activated { opacity: 0.4; background: transparent; } button[clear]:hover:not(.disable-hover), .ios .popup-buttons button:hover:not(.disable-hover), .ios .searchbar-cancel:hover:not(.disable-hover), .md .popup-buttons button:hover:not(.disable-hover), [button][clear]:hover:not(.disable-hover) { opacity: 0.6; color: #3474e1; } button[clear][secondary], .ios .popup-buttons button[secondary], .ios [secondary].searchbar-cancel, .md .popup-buttons button[secondary], [button][clear][secondary] { border-color: transparent; background: transparent; color: #2ec95c; } button[clear][secondary]:hover:not(.disable-hover), .ios .popup-buttons button[secondary]:hover:not(.disable-hover), .ios [secondary].searchbar-cancel:hover:not(.disable-hover), .md .popup-buttons button[secondary]:hover:not(.disable-hover), [button][clear][secondary]:hover:not(.disable-hover) { color: #3fcd69; } button[clear][danger], .ios .popup-buttons button[danger], .ios [danger].searchbar-cancel, .md .popup-buttons button[danger], [button][clear][danger] { border-color: transparent; background: transparent; color: #e13838; } button[clear][danger]:hover:not(.disable-hover), .ios .popup-buttons button[danger]:hover:not(.disable-hover), .ios [danger].searchbar-cancel:hover:not(.disable-hover), .md .popup-buttons button[danger]:hover:not(.disable-hover), [button][clear][danger]:hover:not(.disable-hover) { color: #cf3434; } button[clear][light], .ios .popup-buttons button[light], .ios [light].searchbar-cancel, .md .popup-buttons button[light], [button][clear][light] { border-color: transparent; background: transparent; color: #e0e0e0; } button[clear][light]:hover:not(.disable-hover), .ios .popup-buttons button[light]:hover:not(.disable-hover), .ios [light].searchbar-cancel:hover:not(.disable-hover), .md .popup-buttons button[light]:hover:not(.disable-hover), [button][clear][light]:hover:not(.disable-hover) { color: #cecece; } button[clear][dark], .ios .popup-buttons button[dark], .ios [dark].searchbar-cancel, .md .popup-buttons button[dark], [button][clear][dark] { border-color: transparent; background: transparent; color: #343434; } button[clear][dark]:hover:not(.disable-hover), .ios .popup-buttons button[dark]:hover:not(.disable-hover), .ios [dark].searchbar-cancel:hover:not(.disable-hover), .md .popup-buttons button[dark]:hover:not(.disable-hover), [button][clear][dark]:hover:not(.disable-hover) { color: #444444; } button[outline], [button][outline] { border: 1px solid #387ef5; background: transparent; color: #387ef5; } button[outline].activated, [button][outline].activated { opacity: 1; color: #fff; background-color: #387ef5; } button[secondary][outline], [button][secondary][outline] { border-color: #30d05f; background: transparent; color: #30d05f; } button[secondary][outline].activated, [button][secondary][outline].activated { color: #fff; background-color: #30d05f; } button[danger][outline], [button][danger][outline] { border-color: #e93a3a; background: transparent; color: #e93a3a; } button[danger][outline].activated, [button][danger][outline].activated { color: #fff; background-color: #e93a3a; } button[light][outline], [button][light][outline] { border-color: #e8e8e8; background: transparent; color: #e8e8e8; } button[light][outline].activated, [button][light][outline].activated { color: #fff; background-color: #e8e8e8; } button[dark][outline], [button][dark][outline] { border-color: #2d2d2d; background: transparent; color: #2d2d2d; } button[dark][outline].activated, [button][dark][outline].activated { color: #fff; background-color: #2d2d2d; } button[large], [button][large] { padding: 0 1em; min-height: 2.8em; font-size: 2rem; } button[small], [button][small] { padding: 0 0.9em; min-height: 2.1em; font-size: 1.3rem; } button icon, [button] icon { font-size: 1.4em; background: none; border: none; pointer-events: none; line-height: 0.67; } button.icon-left icon, [button].icon-left icon { margin-left: -0.3em; padding-right: 0.3em; } button.icon-right icon, [button].icon-right icon { margin-right: -0.2em; padding-left: 0.4em; } button.icon-only, [button].icon-only { padding: 0; min-width: 0.9em; } button.icon-only icon, [button].icon-only icon { padding: 0 0.5em; font-size: 1.8em; } button[small] icon, [button][small] icon { margin-left: 0; margin-right: 0; font-size: 1.4em; } button[fab], [button][fab] { position: absolute; width: 56px; height: 56px; line-height: 56px; min-width: 0; vertical-align: middle; border-radius: 50%; background-clip: padding-box; overflow: hidden; -webkit-transition: .2s linear; transition: .2s linear; -webkit-transition-property: background-color; transition-property: background-color; font-size: 14px; } button[fab][fab-center], [button][fab][fab-center] { left: 50%; margin-left: -28px; } button[fab][fab-top], [button][fab][fab-top] { top: 16px; } button[fab][fab-right], [button][fab][fab-right] { right: 16px; } button[fab][fab-bottom], [button][fab][fab-bottom] { bottom: 16px; } button[fab][fab-left], [button][fab][fab-left] { left: 16px; } button[fab] icon, [button][fab] icon { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; font-size: 2.8rem; } ion-checkbox { cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } ion-checkbox[aria-disabled=true] { opacity: 0.5; color: #666; pointer-events: none; } icon { display: inline-block; font-size: 1.2em; } icon[small] { font-size: 1.1em; } .item { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0; padding: 0; border: 0; min-height: 4.4rem; text-align: initial; overflow: hidden; background-color: #fff; color: #000; box-sizing: border-box; } .item[no-lines] { border: none; } .item[no-lines] .item-inner { border: none; } .item-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; margin: 0; padding: 0; border: 0; overflow: hidden; box-sizing: border-box; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; } ion-item-group { display: block; } ion-item-divider { display: block; min-height: 30px; font-weight: 500; width: 100%; z-index: 1000; } ion-item-divider[sticky] { position: -webkit-sticky; position: sticky; top: 0px; } a.item, button.item { margin: 0; padding: 0; width: 100%; -webkit-box-pack: inherit; -webkit-justify-content: inherit; -ms-flex-pack: inherit; justify-content: inherit; min-height: 4.4rem; font-weight: normal; line-height: normal; text-decoration: none; text-transform: none; color: inherit; border-radius: 0; box-shadow: none; will-change: initial; } ion-item-content { margin: 0; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none; } ion-item-content a, ion-item-content button { pointer-events: auto; } [text-wrap] ion-item-content { white-space: normal; } .item h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .item h2 { margin: 0 0 2px; font-size: 1.6rem; font-weight: normal; } .item h3, .item h4, .item h5, .item h6 { line-height: normal; margin: 0 0 3px 0; font-size: 1.4rem; font-weight: normal; } .item p { line-height: normal; color: #666; font-size: 1.2rem; margin: 0 0 2px; } .item h2:last-child, .item h3:last-child, .item h4:last-child, .item h5:last-child, .item h6:last-child, .item p:last-child { margin-bottom: 0; } .item a { text-decoration: none; } .vertical-align-top, ion-input.item { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } ion-item-content + ion-item-content[cnt] { display: none; } .item > icon[small]:first-child, .item-inner > icon[small]:first-child { min-width: 18px; } .item > icon:first-child, .item-inner > icon:first-child { min-width: 24px; text-align: center; } .item > icon, .item-inner > icon { line-height: 1; font-size: 2.4rem; } .item > icon[large], .item-inner > icon[large] { font-size: 3.2rem; } .item > icon[small], .item-inner > icon[small] { font-size: 1.8rem; } ion-avatar, ion-thumbnail { display: block; line-height: 1; } ion-avatar img, ion-thumbnail img { display: block; } ion-item-sliding { display: block; position: relative; overflow: hidden; } ion-item-sliding .item { position: static; } ion-item-options { display: none; position: absolute; top: 0; right: 0; z-index: 1; height: 100%; visibility: hidden; } ion-item-sliding.active-slide .item, ion-item-sliding.active-slide .item.item.activated { position: relative; z-index: 2; opacity: 1; -webkit-transition: all 300ms cubic-bezier(0.36, 0.66, 0.04, 1); transition: all 300ms cubic-bezier(0.36, 0.66, 0.04, 1); pointer-events: none; } ion-item-sliding.active-slide ion-item-options { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } ion-item-sliding.active-slide.active-options ion-item-options { visibility: visible; } ion-row { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; padding: 5px; width: 100%; } ion-row[wrap] { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; } ion-row[flush] { padding: 0; } ion-row[top] { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } ion-row[bottom] { -webkit-box-align: end; -webkit-align-items: flex-end; -ms-flex-align: end; align-items: flex-end; } ion-row[center] { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-row[stretch] { -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; } ion-row[baseline] { -webkit-box-align: baseline; -webkit-align-items: baseline; -ms-flex-align: baseline; align-items: baseline; } ion-row + ion-row { margin-top: -5px; padding-top: 0; } ion-col { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; display: block; padding: 5px; width: 100%; } ion-col[top] { -webkit-align-self: flex-start; -ms-flex-item-align: start; align-self: flex-start; } ion-col[bottom] { -webkit-align-self: flex-end; -ms-flex-item-align: end; align-self: flex-end; } ion-col[center] { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } ion-col[stretch] { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; } ion-col[baseline] { -webkit-align-self: baseline; -ms-flex-item-align: baseline; align-self: baseline; } /* Column Offsets */ ion-col[offset-10] { margin-left: 10%; } ion-col[offset-20] { margin-left: 20%; } ion-col[offset-25] { margin-left: 25%; } ion-col[offset-33], ion-col[offset-34] { margin-left: 33.3333%; } ion-col[offset-50] { margin-left: 50%; } ion-col[offset-66], ion-col[offset-67] { margin-left: 66.6666%; } ion-col[offset-75] { margin-left: 75%; } ion-col[offset-80] { margin-left: 80%; } ion-col[offset-90] { margin-left: 90%; } /* Explicit Column Percent Sizes */ /* By default each grid column will evenly distribute */ /* across the grid. However, you can specify individual */ /* columns to take up a certain size of the available area */ ion-col[width-10] { -webkit-box-flex: 0; -webkit-flex: 0 0 10%; -ms-flex: 0 0 10%; flex: 0 0 10%; max-width: 10%; } ion-col[width-20] { -webkit-box-flex: 0; -webkit-flex: 0 0 20%; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } ion-col[width-25] { -webkit-box-flex: 0; -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } ion-col[width-33], ion-col[width-34] { -webkit-box-flex: 0; -webkit-flex: 0 0 33.3333%; -ms-flex: 0 0 33.3333%; flex: 0 0 33.3333%; max-width: 33.3333%; } ion-col[width-50] { -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } ion-col[width-66], ion-col[width-67] { -webkit-box-flex: 0; -webkit-flex: 0 0 66.6666%; -ms-flex: 0 0 66.6666%; flex: 0 0 66.6666%; max-width: 66.6666%; } ion-col[width-75] { -webkit-box-flex: 0; -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } ion-col[width-80] { -webkit-box-flex: 0; -webkit-flex: 0 0 80%; -ms-flex: 0 0 80%; flex: 0 0 80%; max-width: 80%; } ion-col[width-90] { -webkit-box-flex: 0; -webkit-flex: 0 0 90%; -ms-flex: 0 0 90%; flex: 0 0 90%; max-width: 90%; } /* Responsive Grid Classes */ /* Adding a class of responsive-X to a row */ /* will trigger the width-direction to */ /* change to column and add some margin */ /* to any columns in the row for clearity */ @media (max-width: 567px) { [responsive-sm] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-sm] ion-col[width-10], [responsive-sm] ion-col[width-20], [responsive-sm] ion-col[width-25], [responsive-sm] ion-col[width-33], [responsive-sm] ion-col[width-34], [responsive-sm] ion-col[width-50], [responsive-sm] ion-col[width-66], [responsive-sm] ion-col[width-67], [responsive-sm] ion-col[width-75], [responsive-sm] ion-col[width-80], [responsive-sm] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; max-width: 100%; width: 100%; } } @media (max-width: 767px) { [responsive-md] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-md] ion-col[width-10], [responsive-md] ion-col[width-20], [responsive-md] ion-col[width-25], [responsive-md] ion-col[width-33], [responsive-md] ion-col[width-34], [responsive-md] ion-col[width-50], [responsive-md] ion-col[width-66], [responsive-md] ion-col[width-67], [responsive-md] ion-col[width-75], [responsive-md] ion-col[width-80], [responsive-md] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; max-width: 100%; width: 100%; } } @media (max-width: 1023px) { [responsive-lg] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-lg] ion-col[width-10], [responsive-lg] ion-col[width-20], [responsive-lg] ion-col[width-25], [responsive-lg] ion-col[width-33], [responsive-lg] ion-col[width-34], [responsive-lg] ion-col[width-50], [responsive-lg] ion-col[width-66], [responsive-lg] ion-col[width-67], [responsive-lg] ion-col[width-75], [responsive-lg] ion-col[width-80], [responsive-lg] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; max-width: 100%; width: 100%; } } ion-input textarea, ion-input input[type="text"], ion-input input[type="password"], ion-input input[type="datetime"], ion-input input[type="datetime-local"], ion-input input[type="date"], ion-input input[type="month"], ion-input input[type="time"], ion-input input[type="week"], ion-input input[type="number"], ion-input input[type="email"], ion-input input[type="url"], ion-input input[type="search"], ion-input input[type="tel"], ion-input input[type="color"] { display: block; background: transparent; border: 0; width: 100%; } ion-input [text-input] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; background-color: #fff; pointer-events: none; } ion-input.has-focus [text-input] { pointer-events: auto; } ion-input input[scroll-assist] { display: inline-block; padding: 0; margin: 0; width: 1px; height: 1px; pointer-events: none; } ion-input textarea { padding-top: 9px; } textarea { margin: 0; padding: 0; height: auto; overflow: auto; font: inherit; color: inherit; } .platform-mobile textarea { resize: none; } input::-moz-placeholder, textarea::-moz-placeholder { color: #999; } input:-ms-input-placeholder, textarea:-ms-input-placeholder { color: #999; } input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: #999; text-indent: 0; } ion-label[primary] { color: #387ef5 !important; } ion-label[secondary] { color: #32db64 !important; } ion-label[danger] { color: #f53d3d !important; } ion-label[light] { color: #f4f4f4 !important; } ion-label[dark] { color: #222 !important; } ion-label { display: block; max-width: 200px; font-size: inherit; white-space: nowrap; pointer-events: none; } [fixed-label] ion-label { width: 30%; min-width: 100px; max-width: 200px; } ion-input[stacked-label], ion-input[floating-label] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } [stacked-label] ion-label, [floating-label] ion-label { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; margin-bottom: 0; max-width: 100%; } [stacked-label] [text-input], [floating-label] [text-input] { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; width: auto; } ion-list-header { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } ion-list { display: block; margin: 0; padding: 0; list-style-type: none; } ion-list[inset] { overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-list[inset] ion-list-header { background-color: #fff; } ion-card { display: block; overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-card img { display: block; width: 100%; } ion-card-header { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } ion-card-content { display: block; } ion-menu { position: absolute; top: 0; right: auto; bottom: 0; left: 0; width: 304px; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; background: #fff; -webkit-transform: translate3d(-9999px, 0px, 0px); transform: translate3d(-9999px, 0px, 0px); } ion-menu[side=right] { right: 0; left: auto; } ion-menu backdrop { z-index: -1; display: none; } .menu-content { -webkit-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px); } .menu-content-open ion-pane, .menu-content-open ion-content, .menu-content-open .toolbar { pointer-events: none; } @media (max-width: 340px) { ion-menu { width: 264px; } } ion-menu[type=reveal].show-menu { -webkit-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px); } .menu-content-reveal { box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); } .menu-content-push { box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); } ion-menu[type=overlay] { z-index: 80; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); left: -8px; } ion-menu[type=overlay] backdrop { display: block; -webkit-transform: translate3d(-9999px, 0px, 0px); transform: translate3d(-9999px, 0px, 0px); opacity: 0.01; left: -3000px; width: 6000px; } ion-menu[type=overlay] backdrop.show-backdrop { -webkit-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px); } ion-menu[type=overlay][side=right] { left: 8px; } ion-menu[type=push][side=right] { left: 0px; } ion-page.modal { background-color: #fff; z-index: 1000; -webkit-transform: translate3d(0px, 100%, 0px); transform: translate3d(0px, 100%, 0px); } ion-navbar.toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .back-button { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; display: none; } .back-button.show-back-button { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .back-button-text { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-popup { position: absolute; z-index: 1000; top: 0; left: 0; bottom: 0; right: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-popup popup-wrapper { z-index: 10; min-width: 250px; max-width: 100%; max-height: 90%; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; opacity: 0; } ion-popup input, ion-popup textarea { width: 100%; } .popup-title { margin: 0; padding: 0; } .popup-sub-title { margin: 5px 0 0 0; padding: 0; font-weight: normal; } .popup-body { overflow: auto; } .popup-body:empty { padding: 0; } .prompt-input { border: 0; background: inherit; padding: 10px 0; } .prompt-input::-moz-placeholder { color: #999; } .prompt-input:-ms-input-placeholder { color: #999; } .prompt-input::-webkit-input-placeholder { color: #999; text-indent: 0; } .popup-buttons { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .popup-buttons button { display: block; margin: 0; line-height: 20px; font-size: 14px; margin-right: 8px; } ion-swipe-slides { display: block; width: 100%; height: 100%; } /** * Swiper 3.1.2 * Most modern mobile touch slider and framework with hardware accelerated transitions * * http://www.idangero.us/swiper/ * * Copyright 2015, Vladimir Kharlampidi * The iDangero.us * http://www.idangero.us/ * * Licensed under MIT * * Released on: August 22, 2015 */ .swiper-container { margin: 0 auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { -webkit-box-orient: vertical; -ms-flex-direction: column; -webkit-flex-direction: column; flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-transition-property: -webkit-transform; transition-property: transform; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { -webkit-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { -webkit-flex-shrink: 0; -ms-flex: 0 0 auto; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { -ms-touch-action: pan-y; touch-action: pan-y; } .swiper-wp8-vertical { -ms-touch-action: pan-x; touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background-position: center; background-repeat: no-repeat; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: 0.35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; -webkit-transition: 300ms; transition: 300ms; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } .swiper-pagination-bullet { width: 8px; height: 8px; display: inline-block; border-radius: 100%; background: #000; opacity: 0.2; } button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; box-shadow: none; -moz-appearance: none; -ms-appearance: none; -webkit-appearance: none; appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination { right: 10px; top: 50%; -webkit-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination { bottom: 20px; left: 0; width: 100%; } .swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet { margin: 0 5px; } /* 3D Container */ .swiper-container-3d { -webkit-perspective: 1200px; -o-perspective: 1200px; perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { -webkit-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-right { background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-top { background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } /* Cube */ .swiper-container-cube { overflow: visible; } .swiper-container-cube .swiper-slide { pointer-events: none; visibility: hidden; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; width: 100%; height: 100%; z-index: 1; } .swiper-container-cube.swiper-container-rtl .swiper-slide { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right { z-index: 0; -webkit-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: 0.6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; -webkit-transform-origin: 50%; transform-origin: 50%; -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); background-position: 50%; background-size: 100%; background-repeat: no-repeat; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @-webkit-keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); } } @keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } ion-slides { width: 100%; height: 100%; display: block; } .slide-zoom { display: block; width: 100%; text-align: center; } .swiper-container { width: 100%; height: 100%; padding: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; } .swiper-wrapper { width: 100%; height: 100%; padding: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .swiper-container { width: 100%; height: 100%; } .swiper-slide { width: 100%; height: 100%; box-sizing: border-box; text-align: center; font-size: 18px; /* Center slide text vertically */ display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .swiper-slide img { width: auto; height: auto; max-width: 100%; max-height: 100%; } ion-radio { display: block; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } ion-radio[aria-disabled=true] { opacity: 0.5; color: #666; pointer-events: none; } ion-scroll { position: relative; display: block; } ion-scroll.scroll-x scroll-content { overflow-x: auto; } ion-scroll.scroll-y scroll-content { overflow-y: auto; } ion-scroll[center] scroll-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } ion-scroll scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow-y: hidden; overflow-x: hidden; -webkit-overflow-scrolling: touch; will-change: scroll-position; } ion-refresher { position: absolute; top: -60px; right: 0; left: 0; overflow: hidden; margin: auto; height: 60px; } ion-refresher .refresher-content { position: absolute; bottom: 15px; left: 0; width: 100%; color: #000; text-align: center; font-size: 30px; } ion-refresher .refresher-content .text-refreshing, ion-refresher .refresher-content .text-pulling { font-size: 16px; line-height: 16px; } ion-refresher .refresher-content.refresher-with-text { bottom: 10px; } ion-refresher .icon-refreshing, ion-refresher .icon-pulling { width: 100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } ion-refresher .icon-pulling { -webkit-animation-name: refresh-spin-back; animation-name: refresh-spin-back; -webkit-animation-duration: 200ms; animation-duration: 200ms; -webkit-animation-timing-function: linear; animation-timing-function: linear; -webkit-animation-fill-mode: none; animation-fill-mode: none; -webkit-transform: translate3d(0, 0, 0) rotate(0deg); transform: translate3d(0, 0, 0) rotate(0deg); } ion-refresher .icon-refreshing, ion-refresher .text-refreshing { display: none; } ion-refresher .icon-refreshing { -webkit-animation-duration: 1.5s; animation-duration: 1.5s; } ion-refresher.active .icon-pulling:not(.pulling-rotation-disabled) { -webkit-animation-name: refresh-spin; animation-name: refresh-spin; -webkit-transform: translate3d(0, 0, 0) rotate(-180deg); transform: translate3d(0, 0, 0) rotate(-180deg); } ion-refresher.active.refreshing { -webkit-transition: -webkit-transform .2s; transition: -webkit-transform .2s; transition: transform .2s; -webkit-transform: scale(1, 1); transform: scale(1, 1); } ion-refresher.active.refreshing .icon-pulling, ion-refresher.active.refreshing .text-pulling { display: none; } ion-refresher.active.refreshing .icon-refreshing, ion-refresher.active.refreshing .text-refreshing { display: block; } ion-refresher.active.refreshing.refreshing-tail { -webkit-transform: scale(0, 0); transform: scale(0, 0); } scroll-content.overscroll { overflow: visible; } /* -webkit-overflow-scrolling:touch; width:100%; } */ @-webkit-keyframes refresh-spin { 0% { -webkit-transform: translate3d(0, 0, 0) rotate(0); } 100% { -webkit-transform: translate3d(0, 0, 0) rotate(180deg); } } @keyframes refresh-spin { 0% { -webkit-transform: translate3d(0, 0, 0) rotate(0); transform: translate3d(0, 0, 0) rotate(0); } 100% { -webkit-transform: translate3d(0, 0, 0) rotate(180deg); transform: translate3d(0, 0, 0) rotate(180deg); } } @-webkit-keyframes refresh-spin-back { 0% { -webkit-transform: translate3d(0, 0, 0) rotate(180deg); } 100% { -webkit-transform: translate3d(0, 0, 0) rotate(0); } } @keyframes refresh-spin-back { 0% { -webkit-transform: translate3d(0, 0, 0) rotate(180deg); transform: translate3d(0, 0, 0) rotate(180deg); } 100% { -webkit-transform: translate3d(0, 0, 0) rotate(0); transform: translate3d(0, 0, 0) rotate(0); } } ion-scroll { position: relative; display: block; } ion-scroll.scroll-x scroll-content { overflow-x: auto; } ion-scroll.scroll-y scroll-content { overflow-y: auto; } ion-scroll[center] scroll-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } ion-scroll scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow-y: hidden; overflow-x: hidden; -webkit-overflow-scrolling: touch; will-change: scroll-position; } ion-searchbar { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; width: 100%; } .searchbar-icon { pointer-events: none; } .searchbar-input-container { position: relative; display: block; -webkit-flex-shrink: 1; -ms-flex-negative: 1; flex-shrink: 1; width: 100%; } input[type="search"].searchbar-input { display: block; width: 100%; height: 100%; border: none; font-family: inherit; line-height: 3rem; -webkit-appearance: none; -moz-appearance: none; } .searchbar-close-icon { min-height: 0; padding: 0; margin: 0; } ion-segment { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } ion-segment button, ion-segment [button] { margin-left: 0; margin-right: 0; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; display: block; overflow: hidden; padding: 0 16px; width: 0; border-width: 1px 0px 1px 1px; border-radius: 0; text-align: center; text-overflow: ellipsis; white-space: nowrap; background: none; } ion-switch { display: block; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } ion-switch media-switch { margin: 0; cursor: pointer; } ion-switch[aria-disabled=true] { opacity: 0.5; color: #666; pointer-events: none; } ion-tabs { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; overflow: hidden; width: 100%; height: 100%; max-width: 100%; max-height: 100%; margin: 0; padding: 0; } ion-tab { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; overflow: hidden; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; display: none; } ion-tab.show-tab { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } ion-tabs > ion-navbar-section { -webkit-box-ordinal-group: -29; -webkit-order: -30; -ms-flex-order: -30; order: -30; } ion-tabbar-section { position: relative; -webkit-box-ordinal-group: 21; -webkit-order: 20; -ms-flex-order: 20; order: 20; } [tabbar-placement=top] ion-tabbar-section { -webkit-box-ordinal-group: -19; -webkit-order: -20; -ms-flex-order: -20; order: -20; } tabbar { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; overflow: hidden; background: #f8f8f8; } .tab-button { position: relative; z-index: 0; overflow: hidden; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0; padding: 10px; min-width: 80px; max-width: 240px; text-align: center; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; color: #8c8c8c; border: 0; border-radius: 0; background: none; } .tab-button:hover:not(.disable-hover), .tab-button[aria-selected=true] { color: #387ef5; } .tab-button-text { margin-top: 3px; margin-bottom: 2px; } .tab-button-text, .tab-button-icon { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; min-width: 26px; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: none; } .has-icon .tab-button-icon, .has-title .tab-button-text { display: block; } .has-title-only .tab-button-text { white-space: normal; } tab-highlight { display: none; } [tabbar-icons=bottom] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; } [tabbar-icons=left] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } [tabbar-icons=left] .tab-button .tab-button-icon { text-align: right; padding-right: 8px; } [tabbar-icons=right] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } [tabbar-icons=right] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; text-align: left; padding-left: 8px; } [tabbar-icons=hide] .tab-button-icon { display: none; } tabbar[primary] { background-color: #387ef5; } tabbar[primary] .tab-button { color: white; } tabbar[primary] .tab-button:hover:not(.disable-hover), tabbar[primary] .tab-button[aria-selected=true] { color: white; } tabbar[secondary] { background-color: #32db64; } tabbar[secondary] .tab-button { color: white; } tabbar[secondary] .tab-button:hover:not(.disable-hover), tabbar[secondary] .tab-button[aria-selected=true] { color: white; } tabbar[danger] { background-color: #f53d3d; } tabbar[danger] .tab-button { color: white; } tabbar[danger] .tab-button:hover:not(.disable-hover), tabbar[danger] .tab-button[aria-selected=true] { color: white; } tabbar[light] { background-color: #f4f4f4; } tabbar[light] .tab-button { color: black; } tabbar[light] .tab-button:hover:not(.disable-hover), tabbar[light] .tab-button[aria-selected=true] { color: black; } tabbar[dark] { background-color: #222; } tabbar[dark] .tab-button { color: white; } tabbar[dark] .tab-button:hover:not(.disable-hover), tabbar[dark] .tab-button[aria-selected=true] { color: white; } @font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.ttf?v=3.0.0") format("truetype"), url("../fonts/ionicons.woff?v=3.0.0") format("woff"); font-weight: normal; font-style: normal; } icon, [icon], .icon { display: inline-block; font-family: "Ionicons"; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; speak: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /*! Ionicons, v3.0.0 Created by Ben Sperry for the Ionic Framework, https://ionicons.com/ https://twitter.com/benjsperry https://twitter.com/ionicframework MIT License: https://github.com/ionic-team/ionicons Android-style icons originally built by Google’s Material Design Icons: https://github.com/google/material-design-icons used under CC BY http://creativecommons.org/licenses/by/4.0/ Modified icons to fit ionicon’s grid from original. */ .ion-ios-add:before { content: "\f102"; } .ion-ios-add-circle:before { content: "\f101"; } .ion-ios-add-circle-outline:before { content: "\f100"; } .ion-ios-alarm:before { content: "\f3c8"; } .ion-ios-alarm-outline:before { content: "\f3c7"; } .ion-ios-albums:before { content: "\f3ca"; } .ion-ios-albums-outline:before { content: "\f3c9"; } .ion-ios-alert:before { content: "\f104"; } .ion-ios-alert-outline:before { content: "\f103"; } .ion-ios-american-football:before { content: "\f106"; } .ion-ios-american-football-outline:before { content: "\f105"; } .ion-ios-analytics:before { content: "\f3ce"; } .ion-ios-analytics-outline:before { content: "\f3cd"; } .ion-ios-aperture:before { content: "\f108"; } .ion-ios-aperture-outline:before { content: "\f107"; } .ion-ios-apps:before { content: "\f10a"; } .ion-ios-apps-outline:before { content: "\f109"; } .ion-ios-appstore:before { content: "\f10c"; } .ion-ios-appstore-outline:before { content: "\f10b"; } .ion-ios-archive:before { content: "\f10e"; } .ion-ios-archive-outline:before { content: "\f10d"; } .ion-ios-arrow-back:before { content: "\f3cf"; } .ion-ios-arrow-down:before { content: "\f3d0"; } .ion-ios-arrow-dropdown:before { content: "\f110"; } .ion-ios-arrow-dropdown-circle:before { content: "\f10f"; } .ion-ios-arrow-dropleft:before { content: "\f112"; } .ion-ios-arrow-dropleft-circle:before { content: "\f111"; } .ion-ios-arrow-dropright:before { content: "\f114"; } .ion-ios-arrow-dropright-circle:before { content: "\f113"; } .ion-ios-arrow-dropup:before { content: "\f116"; } .ion-ios-arrow-dropup-circle:before { content: "\f115"; } .ion-ios-arrow-forward:before { content: "\f3d1"; } .ion-ios-arrow-round-back:before { content: "\f117"; } .ion-ios-arrow-round-down:before { content: "\f118"; } .ion-ios-arrow-round-forward:before { content: "\f119"; } .ion-ios-arrow-round-up:before { content: "\f11a"; } .ion-ios-arrow-up:before { content: "\f3d8"; } .ion-ios-at:before { content: "\f3da"; } .ion-ios-at-outline:before { content: "\f3d9"; } .ion-ios-attach:before { content: "\f11b"; } .ion-ios-backspace:before { content: "\f11d"; } .ion-ios-backspace-outline:before { content: "\f11c"; } .ion-ios-barcode:before { content: "\f3dc"; } .ion-ios-barcode-outline:before { content: "\f3db"; } .ion-ios-baseball:before { content: "\f3de"; } .ion-ios-baseball-outline:before { content: "\f3dd"; } .ion-ios-basket:before { content: "\f11f"; } .ion-ios-basket-outline:before { content: "\f11e"; } .ion-ios-basketball:before { content: "\f3e0"; } .ion-ios-basketball-outline:before { content: "\f3df"; } .ion-ios-battery-charging:before { content: "\f120"; } .ion-ios-battery-dead:before { content: "\f121"; } .ion-ios-battery-full:before { content: "\f122"; } .ion-ios-beaker:before { content: "\f124"; } .ion-ios-beaker-outline:before { content: "\f123"; } .ion-ios-beer:before { content: "\f126"; } .ion-ios-beer-outline:before { content: "\f125"; } .ion-ios-bicycle:before { content: "\f127"; } .ion-ios-bluetooth:before { content: "\f128"; } .ion-ios-boat:before { content: "\f12a"; } .ion-ios-boat-outline:before { content: "\f129"; } .ion-ios-body:before { content: "\f3e4"; } .ion-ios-body-outline:before { content: "\f3e3"; } .ion-ios-bonfire:before { content: "\f12c"; } .ion-ios-bonfire-outline:before { content: "\f12b"; } .ion-ios-book:before { content: "\f3e8"; } .ion-ios-book-outline:before { content: "\f3e7"; } .ion-ios-bookmark:before { content: "\f12e"; } .ion-ios-bookmark-outline:before { content: "\f12d"; } .ion-ios-bookmarks:before { content: "\f3ea"; } .ion-ios-bookmarks-outline:before { content: "\f3e9"; } .ion-ios-bowtie:before { content: "\f130"; } .ion-ios-bowtie-outline:before { content: "\f12f"; } .ion-ios-briefcase:before { content: "\f3ee"; } .ion-ios-briefcase-outline:before { content: "\f3ed"; } .ion-ios-browsers:before { content: "\f3f0"; } .ion-ios-browsers-outline:before { content: "\f3ef"; } .ion-ios-brush:before { content: "\f132"; } .ion-ios-brush-outline:before { content: "\f131"; } .ion-ios-bug:before { content: "\f134"; } .ion-ios-bug-outline:before { content: "\f133"; } .ion-ios-build:before { content: "\f136"; } .ion-ios-build-outline:before { content: "\f135"; } .ion-ios-bulb:before { content: "\f138"; } .ion-ios-bulb-outline:before { content: "\f137"; } .ion-ios-bus:before { content: "\f13a"; } .ion-ios-bus-outline:before { content: "\f139"; } .ion-ios-cafe:before { content: "\f13c"; } .ion-ios-cafe-outline:before { content: "\f13b"; } .ion-ios-calculator:before { content: "\f3f2"; } .ion-ios-calculator-outline:before { content: "\f3f1"; } .ion-ios-calendar:before { content: "\f3f4"; } .ion-ios-calendar-outline:before { content: "\f3f3"; } .ion-ios-call:before { content: "\f13e"; } .ion-ios-call-outline:before { content: "\f13d"; } .ion-ios-camera:before { content: "\f3f6"; } .ion-ios-camera-outline:before { content: "\f3f5"; } .ion-ios-car:before { content: "\f140"; } .ion-ios-car-outline:before { content: "\f13f"; } .ion-ios-card:before { content: "\f142"; } .ion-ios-card-outline:before { content: "\f141"; } .ion-ios-cart:before { content: "\f3f8"; } .ion-ios-cart-outline:before { content: "\f3f7"; } .ion-ios-cash:before { content: "\f144"; } .ion-ios-cash-outline:before { content: "\f143"; } .ion-ios-chatboxes:before { content: "\f3fa"; } .ion-ios-chatboxes-outline:before { content: "\f3f9"; } .ion-ios-chatbubbles:before { content: "\f146"; } .ion-ios-chatbubbles-outline:before { content: "\f145"; } .ion-ios-checkbox:before { content: "\f148"; } .ion-ios-checkbox-outline:before { content: "\f147"; } .ion-ios-checkmark:before { content: "\f3ff"; } .ion-ios-checkmark-circle:before { content: "\f14a"; } .ion-ios-checkmark-circle-outline:before { content: "\f149"; } .ion-ios-clipboard:before { content: "\f14c"; } .ion-ios-clipboard-outline:before { content: "\f14b"; } .ion-ios-clock:before { content: "\f403"; } .ion-ios-clock-outline:before { content: "\f402"; } .ion-ios-close:before { content: "\f406"; } .ion-ios-close-circle:before { content: "\f14e"; } .ion-ios-close-circle-outline:before { content: "\f14d"; } .ion-ios-closed-captioning:before { content: "\f150"; } .ion-ios-closed-captioning-outline:before { content: "\f14f"; } .ion-ios-cloud:before { content: "\f40c"; } .ion-ios-cloud-circle:before { content: "\f152"; } .ion-ios-cloud-circle-outline:before { content: "\f151"; } .ion-ios-cloud-done:before { content: "\f154"; } .ion-ios-cloud-done-outline:before { content: "\f153"; } .ion-ios-cloud-download:before { content: "\f408"; } .ion-ios-cloud-download-outline:before { content: "\f407"; } .ion-ios-cloud-outline:before { content: "\f409"; } .ion-ios-cloud-upload:before { content: "\f40b"; } .ion-ios-cloud-upload-outline:before { content: "\f40a"; } .ion-ios-cloudy:before { content: "\f410"; } .ion-ios-cloudy-night:before { content: "\f40e"; } .ion-ios-cloudy-night-outline:before { content: "\f40d"; } .ion-ios-cloudy-outline:before { content: "\f40f"; } .ion-ios-code:before { content: "\f157"; } .ion-ios-code-download:before { content: "\f155"; } .ion-ios-code-working:before { content: "\f156"; } .ion-ios-cog:before { content: "\f412"; } .ion-ios-cog-outline:before { content: "\f411"; } .ion-ios-color-fill:before { content: "\f159"; } .ion-ios-color-fill-outline:before { content: "\f158"; } .ion-ios-color-filter:before { content: "\f414"; } .ion-ios-color-filter-outline:before { content: "\f413"; } .ion-ios-color-palette:before { content: "\f15b"; } .ion-ios-color-palette-outline:before { content: "\f15a"; } .ion-ios-color-wand:before { content: "\f416"; } .ion-ios-color-wand-outline:before { content: "\f415"; } .ion-ios-compass:before { content: "\f15d"; } .ion-ios-compass-outline:before { content: "\f15c"; } .ion-ios-construct:before { content: "\f15f"; } .ion-ios-construct-outline:before { content: "\f15e"; } .ion-ios-contact:before { content: "\f41a"; } .ion-ios-contact-outline:before { content: "\f419"; } .ion-ios-contacts:before { content: "\f161"; } .ion-ios-contacts-outline:before { content: "\f160"; } .ion-ios-contract:before { content: "\f162"; } .ion-ios-contrast:before { content: "\f163"; } .ion-ios-copy:before { content: "\f41c"; } .ion-ios-copy-outline:before { content: "\f41b"; } .ion-ios-create:before { content: "\f165"; } .ion-ios-create-outline:before { content: "\f164"; } .ion-ios-crop:before { content: "\f41e"; } .ion-ios-crop-outline:before { content: "\f166"; } .ion-ios-cube:before { content: "\f168"; } .ion-ios-cube-outline:before { content: "\f167"; } .ion-ios-cut:before { content: "\f16a"; } .ion-ios-cut-outline:before { content: "\f169"; } .ion-ios-desktop:before { content: "\f16c"; } .ion-ios-desktop-outline:before { content: "\f16b"; } .ion-ios-disc:before { content: "\f16e"; } .ion-ios-disc-outline:before { content: "\f16d"; } .ion-ios-document:before { content: "\f170"; } .ion-ios-document-outline:before { content: "\f16f"; } .ion-ios-done-all:before { content: "\f171"; } .ion-ios-download:before { content: "\f420"; } .ion-ios-download-outline:before { content: "\f41f"; } .ion-ios-easel:before { content: "\f173"; } .ion-ios-easel-outline:before { content: "\f172"; } .ion-ios-egg:before { content: "\f175"; } .ion-ios-egg-outline:before { content: "\f174"; } .ion-ios-exit:before { content: "\f177"; } .ion-ios-exit-outline:before { content: "\f176"; } .ion-ios-expand:before { content: "\f178"; } .ion-ios-eye:before { content: "\f425"; } .ion-ios-eye-off:before { content: "\f17a"; } .ion-ios-eye-off-outline:before { content: "\f179"; } .ion-ios-eye-outline:before { content: "\f424"; } .ion-ios-fastforward:before { content: "\f427"; } .ion-ios-fastforward-outline:before { content: "\f426"; } .ion-ios-female:before { content: "\f17b"; } .ion-ios-filing:before { content: "\f429"; } .ion-ios-filing-outline:before { content: "\f428"; } .ion-ios-film:before { content: "\f42b"; } .ion-ios-film-outline:before { content: "\f42a"; } .ion-ios-finger-print:before { content: "\f17c"; } .ion-ios-flag:before { content: "\f42d"; } .ion-ios-flag-outline:before { content: "\f42c"; } .ion-ios-flame:before { content: "\f42f"; } .ion-ios-flame-outline:before { content: "\f42e"; } .ion-ios-flash:before { content: "\f17e"; } .ion-ios-flash-outline:before { content: "\f17d"; } .ion-ios-flask:before { content: "\f431"; } .ion-ios-flask-outline:before { content: "\f430"; } .ion-ios-flower:before { content: "\f433"; } .ion-ios-flower-outline:before { content: "\f432"; } .ion-ios-folder:before { content: "\f435"; } .ion-ios-folder-open:before { content: "\f180"; } .ion-ios-folder-open-outline:before { content: "\f17f"; } .ion-ios-folder-outline:before { content: "\f434"; } .ion-ios-football:before { content: "\f437"; } .ion-ios-football-outline:before { content: "\f436"; } .ion-ios-funnel:before { content: "\f182"; } .ion-ios-funnel-outline:before { content: "\f181"; } .ion-ios-game-controller-a:before { content: "\f439"; } .ion-ios-game-controller-a-outline:before { content: "\f438"; } .ion-ios-game-controller-b:before { content: "\f43b"; } .ion-ios-game-controller-b-outline:before { content: "\f43a"; } .ion-ios-git-branch:before { content: "\f183"; } .ion-ios-git-commit:before { content: "\f184"; } .ion-ios-git-compare:before { content: "\f185"; } .ion-ios-git-merge:before { content: "\f186"; } .ion-ios-git-network:before { content: "\f187"; } .ion-ios-git-pull-request:before { content: "\f188"; } .ion-ios-glasses:before { content: "\f43f"; } .ion-ios-glasses-outline:before { content: "\f43e"; } .ion-ios-globe:before { content: "\f18a"; } .ion-ios-globe-outline:before { content: "\f189"; } .ion-ios-grid:before { content: "\f18c"; } .ion-ios-grid-outline:before { content: "\f18b"; } .ion-ios-hammer:before { content: "\f18e"; } .ion-ios-hammer-outline:before { content: "\f18d"; } .ion-ios-hand:before { content: "\f190"; } .ion-ios-hand-outline:before { content: "\f18f"; } .ion-ios-happy:before { content: "\f192"; } .ion-ios-happy-outline:before { content: "\f191"; } .ion-ios-headset:before { content: "\f194"; } .ion-ios-headset-outline:before { content: "\f193"; } .ion-ios-heart:before { content: "\f443"; } .ion-ios-heart-outline:before { content: "\f442"; } .ion-ios-help:before { content: "\f446"; } .ion-ios-help-buoy:before { content: "\f196"; } .ion-ios-help-buoy-outline:before { content: "\f195"; } .ion-ios-help-circle:before { content: "\f198"; } .ion-ios-help-circle-outline:before { content: "\f197"; } .ion-ios-home:before { content: "\f448"; } .ion-ios-home-outline:before { content: "\f447"; } .ion-ios-ice-cream:before { content: "\f19a"; } .ion-ios-ice-cream-outline:before { content: "\f199"; } .ion-ios-image:before { content: "\f19c"; } .ion-ios-image-outline:before { content: "\f19b"; } .ion-ios-images:before { content: "\f19e"; } .ion-ios-images-outline:before { content: "\f19d"; } .ion-ios-infinite:before { content: "\f44a"; } .ion-ios-infinite-outline:before { content: "\f449"; } .ion-ios-information:before { content: "\f44d"; } .ion-ios-information-circle:before { content: "\f1a0"; } .ion-ios-information-circle-outline:before { content: "\f19f"; } .ion-ios-ionic:before { content: "\f1a1"; } .ion-ios-ionic-outline:before { content: "\f44e"; } .ion-ios-ionitron:before { content: "\f1a3"; } .ion-ios-ionitron-outline:before { content: "\f1a2"; } .ion-ios-jet:before { content: "\f1a5"; } .ion-ios-jet-outline:before { content: "\f1a4"; } .ion-ios-key:before { content: "\f1a7"; } .ion-ios-key-outline:before { content: "\f1a6"; } .ion-ios-keypad:before { content: "\f450"; } .ion-ios-keypad-outline:before { content: "\f44f"; } .ion-ios-laptop:before { content: "\f1a8"; } .ion-ios-leaf:before { content: "\f1aa"; } .ion-ios-leaf-outline:before { content: "\f1a9"; } .ion-ios-list:before { content: "\f454"; } .ion-ios-list-box:before { content: "\f1ac"; } .ion-ios-list-box-outline:before { content: "\f1ab"; } .ion-ios-locate:before { content: "\f1ae"; } .ion-ios-locate-outline:before { content: "\f1ad"; } .ion-ios-lock:before { content: "\f1b0"; } .ion-ios-lock-outline:before { content: "\f1af"; } .ion-ios-log-in:before { content: "\f1b1"; } .ion-ios-log-out:before { content: "\f1b2"; } .ion-ios-magnet:before { content: "\f1b4"; } .ion-ios-magnet-outline:before { content: "\f1b3"; } .ion-ios-mail:before { content: "\f1b8"; } .ion-ios-mail-open:before { content: "\f1b6"; } .ion-ios-mail-open-outline:before { content: "\f1b5"; } .ion-ios-mail-outline:before { content: "\f1b7"; } .ion-ios-male:before { content: "\f1b9"; } .ion-ios-man:before { content: "\f1bb"; } .ion-ios-man-outline:before { content: "\f1ba"; } .ion-ios-map:before { content: "\f1bd"; } .ion-ios-map-outline:before { content: "\f1bc"; } .ion-ios-medal:before { content: "\f1bf"; } .ion-ios-medal-outline:before { content: "\f1be"; } .ion-ios-medical:before { content: "\f45c"; } .ion-ios-medical-outline:before { content: "\f45b"; } .ion-ios-medkit:before { content: "\f45e"; } .ion-ios-medkit-outline:before { content: "\f45d"; } .ion-ios-megaphone:before { content: "\f1c1"; } .ion-ios-megaphone-outline:before { content: "\f1c0"; } .ion-ios-menu:before { content: "\f1c3"; } .ion-ios-menu-outline:before { content: "\f1c2"; } .ion-ios-mic:before { content: "\f461"; } .ion-ios-mic-off:before { content: "\f45f"; } .ion-ios-mic-off-outline:before { content: "\f1c4"; } .ion-ios-mic-outline:before { content: "\f460"; } .ion-ios-microphone:before { content: "\f1c6"; } .ion-ios-microphone-outline:before { content: "\f1c5"; } .ion-ios-moon:before { content: "\f468"; } .ion-ios-moon-outline:before { content: "\f467"; } .ion-ios-more:before { content: "\f1c8"; } .ion-ios-more-outline:before { content: "\f1c7"; } .ion-ios-move:before { content: "\f1cb"; } .ion-ios-musical-note:before { content: "\f46b"; } .ion-ios-musical-note-outline:before { content: "\f1cc"; } .ion-ios-musical-notes:before { content: "\f46c"; } .ion-ios-musical-notes-outline:before { content: "\f1cd"; } .ion-ios-navigate:before { content: "\f46e"; } .ion-ios-navigate-outline:before { content: "\f46d"; } .ion-ios-no-smoking:before { content: "\f1cf"; } .ion-ios-no-smoking-outline:before { content: "\f1ce"; } .ion-ios-notifications:before { content: "\f1d3"; } .ion-ios-notifications-off:before { content: "\f1d1"; } .ion-ios-notifications-off-outline:before { content: "\f1d0"; } .ion-ios-notifications-outline:before { content: "\f1d2"; } .ion-ios-nuclear:before { content: "\f1d5"; } .ion-ios-nuclear-outline:before { content: "\f1d4"; } .ion-ios-nutrition:before { content: "\f470"; } .ion-ios-nutrition-outline:before { content: "\f46f"; } .ion-ios-open:before { content: "\f1d7"; } .ion-ios-open-outline:before { content: "\f1d6"; } .ion-ios-options:before { content: "\f1d9"; } .ion-ios-options-outline:before { content: "\f1d8"; } .ion-ios-outlet:before { content: "\f1db"; } .ion-ios-outlet-outline:before { content: "\f1da"; } .ion-ios-paper:before { content: "\f472"; } .ion-ios-paper-outline:before { content: "\f471"; } .ion-ios-paper-plane:before { content: "\f1dd"; } .ion-ios-paper-plane-outline:before { content: "\f1dc"; } .ion-ios-partly-sunny:before { content: "\f1df"; } .ion-ios-partly-sunny-outline:before { content: "\f1de"; } .ion-ios-pause:before { content: "\f478"; } .ion-ios-pause-outline:before { content: "\f477"; } .ion-ios-paw:before { content: "\f47a"; } .ion-ios-paw-outline:before { content: "\f479"; } .ion-ios-people:before { content: "\f47c"; } .ion-ios-people-outline:before { content: "\f47b"; } .ion-ios-person:before { content: "\f47e"; } .ion-ios-person-add:before { content: "\f1e1"; } .ion-ios-person-add-outline:before { content: "\f1e0"; } .ion-ios-person-outline:before { content: "\f47d"; } .ion-ios-phone-landscape:before { content: "\f1e2"; } .ion-ios-phone-portrait:before { content: "\f1e3"; } .ion-ios-photos:before { content: "\f482"; } .ion-ios-photos-outline:before { content: "\f481"; } .ion-ios-pie:before { content: "\f484"; } .ion-ios-pie-outline:before { content: "\f483"; } .ion-ios-pin:before { content: "\f1e5"; } .ion-ios-pin-outline:before { content: "\f1e4"; } .ion-ios-pint:before { content: "\f486"; } .ion-ios-pint-outline:before { content: "\f485"; } .ion-ios-pizza:before { content: "\f1e7"; } .ion-ios-pizza-outline:before { content: "\f1e6"; } .ion-ios-plane:before { content: "\f1e9"; } .ion-ios-plane-outline:before { content: "\f1e8"; } .ion-ios-planet:before { content: "\f1eb"; } .ion-ios-planet-outline:before { content: "\f1ea"; } .ion-ios-play:before { content: "\f488"; } .ion-ios-play-outline:before { content: "\f487"; } .ion-ios-podium:before { content: "\f1ed"; } .ion-ios-podium-outline:before { content: "\f1ec"; } .ion-ios-power:before { content: "\f1ef"; } .ion-ios-power-outline:before { content: "\f1ee"; } .ion-ios-pricetag:before { content: "\f48d"; } .ion-ios-pricetag-outline:before { content: "\f48c"; } .ion-ios-pricetags:before { content: "\f48f"; } .ion-ios-pricetags-outline:before { content: "\f48e"; } .ion-ios-print:before { content: "\f1f1"; } .ion-ios-print-outline:before { content: "\f1f0"; } .ion-ios-pulse:before { content: "\f493"; } .ion-ios-pulse-outline:before { content: "\f1f2"; } .ion-ios-qr-scanner:before { content: "\f1f3"; } .ion-ios-quote:before { content: "\f1f5"; } .ion-ios-quote-outline:before { content: "\f1f4"; } .ion-ios-radio:before { content: "\f1f9"; } .ion-ios-radio-button-off:before { content: "\f1f6"; } .ion-ios-radio-button-on:before { content: "\f1f7"; } .ion-ios-radio-outline:before { content: "\f1f8"; } .ion-ios-rainy:before { content: "\f495"; } .ion-ios-rainy-outline:before { content: "\f494"; } .ion-ios-recording:before { content: "\f497"; } .ion-ios-recording-outline:before { content: "\f496"; } .ion-ios-redo:before { content: "\f499"; } .ion-ios-redo-outline:before { content: "\f498"; } .ion-ios-refresh:before { content: "\f49c"; } .ion-ios-refresh-circle:before { content: "\f226"; } .ion-ios-refresh-circle-outline:before { content: "\f224"; } .ion-ios-remove:before { content: "\f1fc"; } .ion-ios-remove-circle:before { content: "\f1fb"; } .ion-ios-remove-circle-outline:before { content: "\f1fa"; } .ion-ios-reorder:before { content: "\f1fd"; } .ion-ios-repeat:before { content: "\f1fe"; } .ion-ios-resize:before { content: "\f1ff"; } .ion-ios-restaurant:before { content: "\f201"; } .ion-ios-restaurant-outline:before { content: "\f200"; } .ion-ios-return-left:before { content: "\f202"; } .ion-ios-return-right:before { content: "\f203"; } .ion-ios-reverse-camera:before { content: "\f49f"; } .ion-ios-reverse-camera-outline:before { content: "\f49e"; } .ion-ios-rewind:before { content: "\f4a1"; } .ion-ios-rewind-outline:before { content: "\f4a0"; } .ion-ios-ribbon:before { content: "\f205"; } .ion-ios-ribbon-outline:before { content: "\f204"; } .ion-ios-rose:before { content: "\f4a3"; } .ion-ios-rose-outline:before { content: "\f4a2"; } .ion-ios-sad:before { content: "\f207"; } .ion-ios-sad-outline:before { content: "\f206"; } .ion-ios-school:before { content: "\f209"; } .ion-ios-school-outline:before { content: "\f208"; } .ion-ios-search:before { content: "\f4a5"; } .ion-ios-search-outline:before { content: "\f20a"; } .ion-ios-send:before { content: "\f20c"; } .ion-ios-send-outline:before { content: "\f20b"; } .ion-ios-settings:before { content: "\f4a7"; } .ion-ios-settings-outline:before { content: "\f20d"; } .ion-ios-share:before { content: "\f211"; } .ion-ios-share-alt:before { content: "\f20f"; } .ion-ios-share-alt-outline:before { content: "\f20e"; } .ion-ios-share-outline:before { content: "\f210"; } .ion-ios-shirt:before { content: "\f213"; } .ion-ios-shirt-outline:before { content: "\f212"; } .ion-ios-shuffle:before { content: "\f4a9"; } .ion-ios-skip-backward:before { content: "\f215"; } .ion-ios-skip-backward-outline:before { content: "\f214"; } .ion-ios-skip-forward:before { content: "\f217"; } .ion-ios-skip-forward-outline:before { content: "\f216"; } .ion-ios-snow:before { content: "\f218"; } .ion-ios-snow-outline:before { content: "\f22c"; } .ion-ios-speedometer:before { content: "\f4b0"; } .ion-ios-speedometer-outline:before { content: "\f4af"; } .ion-ios-square:before { content: "\f21a"; } .ion-ios-square-outline:before { content: "\f219"; } .ion-ios-star:before { content: "\f4b3"; } .ion-ios-star-half:before { content: "\f4b1"; } .ion-ios-star-outline:before { content: "\f4b2"; } .ion-ios-stats:before { content: "\f21c"; } .ion-ios-stats-outline:before { content: "\f21b"; } .ion-ios-stopwatch:before { content: "\f4b5"; } .ion-ios-stopwatch-outline:before { content: "\f4b4"; } .ion-ios-subway:before { content: "\f21e"; } .ion-ios-subway-outline:before { content: "\f21d"; } .ion-ios-sunny:before { content: "\f4b7"; } .ion-ios-sunny-outline:before { content: "\f4b6"; } .ion-ios-swap:before { content: "\f21f"; } .ion-ios-switch:before { content: "\f221"; } .ion-ios-switch-outline:before { content: "\f220"; } .ion-ios-sync:before { content: "\f222"; } .ion-ios-tablet-landscape:before { content: "\f223"; } .ion-ios-tablet-portrait:before { content: "\f24e"; } .ion-ios-tennisball:before { content: "\f4bb"; } .ion-ios-tennisball-outline:before { content: "\f4ba"; } .ion-ios-text:before { content: "\f250"; } .ion-ios-text-outline:before { content: "\f24f"; } .ion-ios-thermometer:before { content: "\f252"; } .ion-ios-thermometer-outline:before { content: "\f251"; } .ion-ios-thumbs-down:before { content: "\f254"; } .ion-ios-thumbs-down-outline:before { content: "\f253"; } .ion-ios-thumbs-up:before { content: "\f256"; } .ion-ios-thumbs-up-outline:before { content: "\f255"; } .ion-ios-thunderstorm:before { content: "\f4bd"; } .ion-ios-thunderstorm-outline:before { content: "\f4bc"; } .ion-ios-time:before { content: "\f4bf"; } .ion-ios-time-outline:before { content: "\f4be"; } .ion-ios-timer:before { content: "\f4c1"; } .ion-ios-timer-outline:before { content: "\f4c0"; } .ion-ios-train:before { content: "\f258"; } .ion-ios-train-outline:before { content: "\f257"; } .ion-ios-transgender:before { content: "\f259"; } .ion-ios-trash:before { content: "\f4c5"; } .ion-ios-trash-outline:before { content: "\f4c4"; } .ion-ios-trending-down:before { content: "\f25a"; } .ion-ios-trending-up:before { content: "\f25b"; } .ion-ios-trophy:before { content: "\f25d"; } .ion-ios-trophy-outline:before { content: "\f25c"; } .ion-ios-umbrella:before { content: "\f25f"; } .ion-ios-umbrella-outline:before { content: "\f25e"; } .ion-ios-undo:before { content: "\f4c7"; } .ion-ios-undo-outline:before { content: "\f4c6"; } .ion-ios-unlock:before { content: "\f261"; } .ion-ios-unlock-outline:before { content: "\f260"; } .ion-ios-videocam:before { content: "\f4cd"; } .ion-ios-videocam-outline:before { content: "\f4cc"; } .ion-ios-volume-down:before { content: "\f262"; } .ion-ios-volume-mute:before { content: "\f263"; } .ion-ios-volume-off:before { content: "\f264"; } .ion-ios-volume-up:before { content: "\f265"; } .ion-ios-walk:before { content: "\f266"; } .ion-ios-warning:before { content: "\f268"; } .ion-ios-warning-outline:before { content: "\f267"; } .ion-ios-watch:before { content: "\f269"; } .ion-ios-water:before { content: "\f26b"; } .ion-ios-water-outline:before { content: "\f26a"; } .ion-ios-wifi:before { content: "\f26d"; } .ion-ios-wifi-outline:before { content: "\f26c"; } .ion-ios-wine:before { content: "\f26f"; } .ion-ios-wine-outline:before { content: "\f26e"; } .ion-ios-woman:before { content: "\f271"; } .ion-ios-woman-outline:before { content: "\f270"; } .ion-md-add:before { content: "\f273"; } .ion-md-add-circle:before { content: "\f272"; } .ion-md-alarm:before { content: "\f274"; } .ion-md-albums:before { content: "\f275"; } .ion-md-alert:before { content: "\f276"; } .ion-md-american-football:before { content: "\f277"; } .ion-md-analytics:before { content: "\f278"; } .ion-md-aperture:before { content: "\f279"; } .ion-md-apps:before { content: "\f27a"; } .ion-md-appstore:before { content: "\f27b"; } .ion-md-archive:before { content: "\f27c"; } .ion-md-arrow-back:before { content: "\f27d"; } .ion-md-arrow-down:before { content: "\f27e"; } .ion-md-arrow-dropdown:before { content: "\f280"; } .ion-md-arrow-dropdown-circle:before { content: "\f27f"; } .ion-md-arrow-dropleft:before { content: "\f282"; } .ion-md-arrow-dropleft-circle:before { content: "\f281"; } .ion-md-arrow-dropright:before { content: "\f284"; } .ion-md-arrow-dropright-circle:before { content: "\f283"; } .ion-md-arrow-dropup:before { content: "\f286"; } .ion-md-arrow-dropup-circle:before { content: "\f285"; } .ion-md-arrow-forward:before { content: "\f287"; } .ion-md-arrow-round-back:before { content: "\f288"; } .ion-md-arrow-round-down:before { content: "\f289"; } .ion-md-arrow-round-forward:before { content: "\f28a"; } .ion-md-arrow-round-up:before { content: "\f28b"; } .ion-md-arrow-up:before { content: "\f28c"; } .ion-md-at:before { content: "\f28d"; } .ion-md-attach:before { content: "\f28e"; } .ion-md-backspace:before { content: "\f28f"; } .ion-md-barcode:before { content: "\f290"; } .ion-md-baseball:before { content: "\f291"; } .ion-md-basket:before { content: "\f292"; } .ion-md-basketball:before { content: "\f293"; } .ion-md-battery-charging:before { content: "\f294"; } .ion-md-battery-dead:before { content: "\f295"; } .ion-md-battery-full:before { content: "\f296"; } .ion-md-beaker:before { content: "\f297"; } .ion-md-beer:before { content: "\f298"; } .ion-md-bicycle:before { content: "\f299"; } .ion-md-bluetooth:before { content: "\f29a"; } .ion-md-boat:before { content: "\f29b"; } .ion-md-body:before { content: "\f29c"; } .ion-md-bonfire:before { content: "\f29d"; } .ion-md-book:before { content: "\f29e"; } .ion-md-bookmark:before { content: "\f29f"; } .ion-md-bookmarks:before { content: "\f2a0"; } .ion-md-bowtie:before { content: "\f2a1"; } .ion-md-briefcase:before { content: "\f2a2"; } .ion-md-browsers:before { content: "\f2a3"; } .ion-md-brush:before { content: "\f2a4"; } .ion-md-bug:before { content: "\f2a5"; } .ion-md-build:before { content: "\f2a6"; } .ion-md-bulb:before { content: "\f2a7"; } .ion-md-bus:before { content: "\f2a8"; } .ion-md-cafe:before { content: "\f2a9"; } .ion-md-calculator:before { content: "\f2aa"; } .ion-md-calendar:before { content: "\f2ab"; } .ion-md-call:before { content: "\f2ac"; } .ion-md-camera:before { content: "\f2ad"; } .ion-md-car:before { content: "\f2b2"; } .ion-md-card:before { content: "\f2b3"; } .ion-md-cart:before { content: "\f2b4"; } .ion-md-cash:before { content: "\f2b5"; } .ion-md-chatboxes:before { content: "\f2b6"; } .ion-md-chatbubbles:before { content: "\f2b7"; } .ion-md-checkbox:before { content: "\f2b9"; } .ion-md-checkbox-outline:before { content: "\f2b8"; } .ion-md-checkmark:before { content: "\f2bc"; } .ion-md-checkmark-circle:before { content: "\f2bb"; } .ion-md-checkmark-circle-outline:before { content: "\f2ba"; } .ion-md-clipboard:before { content: "\f2bd"; } .ion-md-clock:before { content: "\f2be"; } .ion-md-close:before { content: "\f2c0"; } .ion-md-close-circle:before { content: "\f2bf"; } .ion-md-closed-captioning:before { content: "\f2c1"; } .ion-md-cloud:before { content: "\f2c9"; } .ion-md-cloud-circle:before { content: "\f2c2"; } .ion-md-cloud-done:before { content: "\f2c3"; } .ion-md-cloud-download:before { content: "\f2c6"; } .ion-md-cloud-outline:before { content: "\f2c7"; } .ion-md-cloud-upload:before { content: "\f2c8"; } .ion-md-cloudy:before { content: "\f2cb"; } .ion-md-cloudy-night:before { content: "\f2ca"; } .ion-md-code:before { content: "\f2ce"; } .ion-md-code-download:before { content: "\f2cc"; } .ion-md-code-working:before { content: "\f2cd"; } .ion-md-cog:before { content: "\f2cf"; } .ion-md-color-fill:before { content: "\f2d0"; } .ion-md-color-filter:before { content: "\f2d1"; } .ion-md-color-palette:before { content: "\f2d2"; } .ion-md-color-wand:before { content: "\f2d3"; } .ion-md-compass:before { content: "\f2d4"; } .ion-md-construct:before { content: "\f2d5"; } .ion-md-contact:before { content: "\f2d6"; } .ion-md-contacts:before { content: "\f2d7"; } .ion-md-contract:before { content: "\f2d8"; } .ion-md-contrast:before { content: "\f2d9"; } .ion-md-copy:before { content: "\f2da"; } .ion-md-create:before { content: "\f2db"; } .ion-md-crop:before { content: "\f2dc"; } .ion-md-cube:before { content: "\f2dd"; } .ion-md-cut:before { content: "\f2de"; } .ion-md-desktop:before { content: "\f2df"; } .ion-md-disc:before { content: "\f2e0"; } .ion-md-document:before { content: "\f2e1"; } .ion-md-done-all:before { content: "\f2e2"; } .ion-md-download:before { content: "\f2e3"; } .ion-md-easel:before { content: "\f2e4"; } .ion-md-egg:before { content: "\f2e5"; } .ion-md-exit:before { content: "\f2e6"; } .ion-md-expand:before { content: "\f2e7"; } .ion-md-eye:before { content: "\f2e9"; } .ion-md-eye-off:before { content: "\f2e8"; } .ion-md-fastforward:before { content: "\f2ea"; } .ion-md-female:before { content: "\f2eb"; } .ion-md-filing:before { content: "\f2ec"; } .ion-md-film:before { content: "\f2ed"; } .ion-md-finger-print:before { content: "\f2ee"; } .ion-md-flag:before { content: "\f2ef"; } .ion-md-flame:before { content: "\f2f0"; } .ion-md-flash:before { content: "\f2f1"; } .ion-md-flask:before { content: "\f2f2"; } .ion-md-flower:before { content: "\f2f3"; } .ion-md-folder:before { content: "\f2f5"; } .ion-md-folder-open:before { content: "\f2f4"; } .ion-md-football:before { content: "\f2f6"; } .ion-md-funnel:before { content: "\f2f7"; } .ion-md-game-controller-a:before { content: "\f2f8"; } .ion-md-game-controller-b:before { content: "\f2f9"; } .ion-md-git-branch:before { content: "\f2fa"; } .ion-md-git-commit:before { content: "\f2fb"; } .ion-md-git-compare:before { content: "\f2fc"; } .ion-md-git-merge:before { content: "\f2fd"; } .ion-md-git-network:before { content: "\f2fe"; } .ion-md-git-pull-request:before { content: "\f2ff"; } .ion-md-glasses:before { content: "\f300"; } .ion-md-globe:before { content: "\f301"; } .ion-md-grid:before { content: "\f302"; } .ion-md-hammer:before { content: "\f303"; } .ion-md-hand:before { content: "\f304"; } .ion-md-happy:before { content: "\f305"; } .ion-md-headset:before { content: "\f306"; } .ion-md-heart:before { content: "\f308"; } .ion-md-heart-outline:before { content: "\f307"; } .ion-md-help:before { content: "\f30b"; } .ion-md-help-buoy:before { content: "\f309"; } .ion-md-help-circle:before { content: "\f30a"; } .ion-md-home:before { content: "\f30c"; } .ion-md-ice-cream:before { content: "\f30d"; } .ion-md-image:before { content: "\f30e"; } .ion-md-images:before { content: "\f30f"; } .ion-md-infinite:before { content: "\f310"; } .ion-md-information:before { content: "\f312"; } .ion-md-information-circle:before { content: "\f311"; } .ion-md-ionic:before { content: "\f313"; } .ion-md-ionitron:before { content: "\f314"; } .ion-md-jet:before { content: "\f315"; } .ion-md-key:before { content: "\f316"; } .ion-md-keypad:before { content: "\f317"; } .ion-md-laptop:before { content: "\f318"; } .ion-md-leaf:before { content: "\f319"; } .ion-md-list:before { content: "\f31b"; } .ion-md-list-box:before { content: "\f31a"; } .ion-md-locate:before { content: "\f31c"; } .ion-md-lock:before { content: "\f31d"; } .ion-md-log-in:before { content: "\f31e"; } .ion-md-log-out:before { content: "\f31f"; } .ion-md-magnet:before { content: "\f320"; } .ion-md-mail:before { content: "\f322"; } .ion-md-mail-open:before { content: "\f321"; } .ion-md-male:before { content: "\f323"; } .ion-md-man:before { content: "\f324"; } .ion-md-map:before { content: "\f325"; } .ion-md-medal:before { content: "\f326"; } .ion-md-medical:before { content: "\f327"; } .ion-md-medkit:before { content: "\f328"; } .ion-md-megaphone:before { content: "\f329"; } .ion-md-menu:before { content: "\f32a"; } .ion-md-mic:before { content: "\f32c"; } .ion-md-mic-off:before { content: "\f32b"; } .ion-md-microphone:before { content: "\f32d"; } .ion-md-moon:before { content: "\f32e"; } .ion-md-more:before { content: "\f1c9"; } .ion-md-move:before { content: "\f331"; } .ion-md-musical-note:before { content: "\f332"; } .ion-md-musical-notes:before { content: "\f333"; } .ion-md-navigate:before { content: "\f334"; } .ion-md-no-smoking:before { content: "\f335"; } .ion-md-notifications:before { content: "\f338"; } .ion-md-notifications-off:before { content: "\f336"; } .ion-md-notifications-outline:before { content: "\f337"; } .ion-md-nuclear:before { content: "\f339"; } .ion-md-nutrition:before { content: "\f33a"; } .ion-md-open:before { content: "\f33b"; } .ion-md-options:before { content: "\f33c"; } .ion-md-outlet:before { content: "\f33d"; } .ion-md-paper:before { content: "\f33f"; } .ion-md-paper-plane:before { content: "\f33e"; } .ion-md-partly-sunny:before { content: "\f340"; } .ion-md-pause:before { content: "\f341"; } .ion-md-paw:before { content: "\f342"; } .ion-md-people:before { content: "\f343"; } .ion-md-person:before { content: "\f345"; } .ion-md-person-add:before { content: "\f344"; } .ion-md-phone-landscape:before { content: "\f346"; } .ion-md-phone-portrait:before { content: "\f347"; } .ion-md-photos:before { content: "\f348"; } .ion-md-pie:before { content: "\f349"; } .ion-md-pin:before { content: "\f34a"; } .ion-md-pint:before { content: "\f34b"; } .ion-md-pizza:before { content: "\f354"; } .ion-md-plane:before { content: "\f355"; } .ion-md-planet:before { content: "\f356"; } .ion-md-play:before { content: "\f357"; } .ion-md-podium:before { content: "\f358"; } .ion-md-power:before { content: "\f359"; } .ion-md-pricetag:before { content: "\f35a"; } .ion-md-pricetags:before { content: "\f35b"; } .ion-md-print:before { content: "\f35c"; } .ion-md-pulse:before { content: "\f35d"; } .ion-md-qr-scanner:before { content: "\f35e"; } .ion-md-quote:before { content: "\f35f"; } .ion-md-radio:before { content: "\f362"; } .ion-md-radio-button-off:before { content: "\f360"; } .ion-md-radio-button-on:before { content: "\f361"; } .ion-md-rainy:before { content: "\f363"; } .ion-md-recording:before { content: "\f364"; } .ion-md-redo:before { content: "\f365"; } .ion-md-refresh:before { content: "\f366"; } .ion-md-refresh-circle:before { content: "\f228"; } .ion-md-remove:before { content: "\f368"; } .ion-md-remove-circle:before { content: "\f367"; } .ion-md-reorder:before { content: "\f369"; } .ion-md-repeat:before { content: "\f36a"; } .ion-md-resize:before { content: "\f36b"; } .ion-md-restaurant:before { content: "\f36c"; } .ion-md-return-left:before { content: "\f36d"; } .ion-md-return-right:before { content: "\f36e"; } .ion-md-reverse-camera:before { content: "\f36f"; } .ion-md-rewind:before { content: "\f370"; } .ion-md-ribbon:before { content: "\f371"; } .ion-md-rose:before { content: "\f372"; } .ion-md-sad:before { content: "\f373"; } .ion-md-school:before { content: "\f374"; } .ion-md-search:before { content: "\f375"; } .ion-md-send:before { content: "\f376"; } .ion-md-settings:before { content: "\f377"; } .ion-md-share:before { content: "\f379"; } .ion-md-share-alt:before { content: "\f378"; } .ion-md-shirt:before { content: "\f37a"; } .ion-md-shuffle:before { content: "\f37b"; } .ion-md-skip-backward:before { content: "\f37c"; } .ion-md-skip-forward:before { content: "\f37d"; } .ion-md-snow:before { content: "\f37e"; } .ion-md-speedometer:before { content: "\f37f"; } .ion-md-square:before { content: "\f381"; } .ion-md-square-outline:before { content: "\f380"; } .ion-md-star:before { content: "\f384"; } .ion-md-star-half:before { content: "\f382"; } .ion-md-star-outline:before { content: "\f383"; } .ion-md-stats:before { content: "\f385"; } .ion-md-stopwatch:before { content: "\f386"; } .ion-md-subway:before { content: "\f387"; } .ion-md-sunny:before { content: "\f388"; } .ion-md-swap:before { content: "\f389"; } .ion-md-switch:before { content: "\f38a"; } .ion-md-sync:before { content: "\f38b"; } .ion-md-tablet-landscape:before { content: "\f38c"; } .ion-md-tablet-portrait:before { content: "\f38d"; } .ion-md-tennisball:before { content: "\f38e"; } .ion-md-text:before { content: "\f38f"; } .ion-md-thermometer:before { content: "\f390"; } .ion-md-thumbs-down:before { content: "\f391"; } .ion-md-thumbs-up:before { content: "\f392"; } .ion-md-thunderstorm:before { content: "\f393"; } .ion-md-time:before { content: "\f394"; } .ion-md-timer:before { content: "\f395"; } .ion-md-train:before { content: "\f396"; } .ion-md-transgender:before { content: "\f397"; } .ion-md-trash:before { content: "\f398"; } .ion-md-trending-down:before { content: "\f399"; } .ion-md-trending-up:before { content: "\f39a"; } .ion-md-trophy:before { content: "\f39b"; } .ion-md-umbrella:before { content: "\f39c"; } .ion-md-undo:before { content: "\f39d"; } .ion-md-unlock:before { content: "\f39e"; } .ion-md-videocam:before { content: "\f39f"; } .ion-md-volume-down:before { content: "\f3a0"; } .ion-md-volume-mute:before { content: "\f3a1"; } .ion-md-volume-off:before { content: "\f3a2"; } .ion-md-volume-up:before { content: "\f3a3"; } .ion-md-walk:before { content: "\f3a4"; } .ion-md-warning:before { content: "\f3a5"; } .ion-md-watch:before { content: "\f3a6"; } .ion-md-water:before { content: "\f3a7"; } .ion-md-wifi:before { content: "\f3a8"; } .ion-md-wine:before { content: "\f3a9"; } .ion-md-woman:before { content: "\f3aa"; } .ion-social-android:before { content: "\f225"; } .ion-social-angular:before { content: "\f4d9"; } .ion-social-apple:before { content: "\f227"; } .ion-social-bitcoin:before { content: "\f2af"; } .ion-social-buffer:before { content: "\f229"; } .ion-social-chrome:before { content: "\f4db"; } .ion-social-codepen:before { content: "\f4dd"; } .ion-social-css3:before { content: "\f4df"; } .ion-social-designernews:before { content: "\f22b"; } .ion-social-dribbble:before { content: "\f22d"; } .ion-social-dropbox:before { content: "\f22f"; } .ion-social-euro:before { content: "\f4e1"; } .ion-social-facebook:before { content: "\f231"; } .ion-social-foursquare:before { content: "\f34d"; } .ion-social-freebsd-devil:before { content: "\f2c4"; } .ion-social-github:before { content: "\f233"; } .ion-social-google:before { content: "\f34f"; } .ion-social-googleplus:before { content: "\f235"; } .ion-social-hackernews:before { content: "\f237"; } .ion-social-html5:before { content: "\f4e3"; } .ion-social-instagram:before { content: "\f351"; } .ion-social-javascript:before { content: "\f4e5"; } .ion-social-linkedin:before { content: "\f239"; } .ion-social-markdown:before { content: "\f4e6"; } .ion-social-nodejs:before { content: "\f4e7"; } .ion-social-octocat:before { content: "\f4e8"; } .ion-social-pinterest:before { content: "\f2b1"; } .ion-social-playstation:before { content: "\f3ab"; } .ion-social-python:before { content: "\f4e9"; } .ion-social-reddit:before { content: "\f23b"; } .ion-social-rss:before { content: "\f23d"; } .ion-social-sass:before { content: "\f4ea"; } .ion-social-skype:before { content: "\f23f"; } .ion-social-snapchat:before { content: "\f4ec"; } .ion-social-steam:before { content: "\f3ac"; } .ion-social-tumblr:before { content: "\f241"; } .ion-social-tux:before { content: "\f2c5"; } .ion-social-twitch:before { content: "\f4ee"; } .ion-social-twitter:before { content: "\f243"; } .ion-social-usd:before { content: "\f353"; } .ion-social-vimeo:before { content: "\f245"; } .ion-social-whatsapp:before { content: "\f4f0"; } .ion-social-windows:before { content: "\f247"; } .ion-social-wordpress:before { content: "\f249"; } .ion-social-xbox:before { content: "\f3ad"; } .ion-social-yahoo:before { content: "\f24b"; } .ion-social-yen:before { content: "\f4f2"; } .ion-social-youtube:before { content: "\f24d"; } .ios { /*! Ionic: iOS */ /****************/ /* DEFAULT LIST */ /****************/ /**************/ /* INSET LIST */ /**************/ /*****************/ /* NO LINES LIST */ /*****************/ } .ios hr { border-width: 0; height: 1px; background-color: rgba(0, 0, 0, 0.12); } .ios.hairlines hr { height: 0.55px; } .ios button[block] { display: block; } .ios ion-item-group .item:first-child .item-inner { border-top-width: 0; } .ios ion-item-group .item:last-child .item-inner, .ios ion-item-group ion-item-sliding:last-child .item .item-inner { border: none; } .ios ion-item-divider { padding: 12px 16px 13px 16px; background-color: #f7f7f7; color: #222; } .ios ion-note { color: #aeacb4; } .ios .item { border-radius: 0; padding-left: 16px; font-size: 1.6rem; } .ios .item.activated, .ios a.item.activated, .ios button.item.activated { background-color: #d9d9d9; -webkit-transition-duration: 0ms; transition-duration: 0ms; } .ios .item, .ios a.item, .ios button.item { -webkit-transition-duration: 200ms; transition-duration: 200ms; } .ios .item-inner { padding-right: 8px; border-bottom: 1px solid #c8c7cc; } .ios ion-item-content { margin: 12px 8px 13px 0; } .ios [item-left] { margin: 6px 16px 6.5px 0; } .ios [item-right] { margin: 6px 8px 6.5px 8px; } .ios icon[item-left], .ios icon[item-right] { margin-top: 10px; margin-bottom: 9px; } .ios ion-avatar[item-left], .ios ion-thumbnail[item-left] { margin: 8px 16px 8px 0; } .ios ion-avatar[item-right], .ios ion-thumbnail[item-right] { margin: 8px; } .ios button[item-left], .ios button[item-right], .ios [button][item-left], .ios [button][item-right] { padding: 0 0.5em; font-size: 1.3rem; min-height: 25px; margin-top: 9px; } .ios [item-left].icon-only, .ios [item-right].icon-only, .ios [item-left].icon-only icon, .ios [item-right].icon-only icon, .ios [item-left][clear], .ios [item-right][clear] { padding: 0 1px; } .ios [item-left].icon-left icon, .ios [item-right].icon-left icon { margin-left: 0; margin-bottom: 1px; padding-right: 0.3em; } .ios [item-left].icon-right icon, .ios [item-right].icon-right icon { margin-right: 0; margin-bottom: 1px; } .ios ion-avatar { min-width: 3.6rem; min-height: 3.6rem; } .ios ion-avatar img { max-width: 3.6rem; max-height: 3.6rem; border-radius: 1.8rem; } .ios ion-thumbnail { min-width: 5.6rem; min-height: 5.6rem; } .ios ion-thumbnail img { max-width: 5.6rem; max-height: 5.6rem; } .ios button.item:not([detail-none]) .item-inner, .ios a.item:not([detail-none]) .item-inner, .ios .item[detail-push] .item-inner { background-image: url("data:image/svg+xml;charset=utf-8,"); background-repeat: no-repeat; background-position: right 14px center; background-size: 14px 14px; padding-right: 32px; } .ios.hairlines .item-inner { border-bottom-width: 0.55px; } .ios .toolbar { min-height: 4.4rem; } .ios .toolbar [menu-toggle] { -webkit-box-ordinal-group: 21; -webkit-order: 20; -ms-flex-order: 20; order: 20; cursor: pointer; } .ios .toolbar [menu-toggle][secondary] { -webkit-box-ordinal-group: 61; -webkit-order: 60; -ms-flex-order: 60; order: 60; } .ios .toolbar ion-segment-button[button] { line-height: 2.4rem; min-height: 2.4rem; font-size: 1.2rem; } .ios .toolbar button, .ios .toolbar [button] { margin-top: 0; margin-bottom: 0; padding: 0 5px; min-height: 32px; } .ios .toolbar button.icon-only, .ios .toolbar [button].icon-only { padding-right: 0; padding-left: 0; } .ios .toolbar button icon, .ios .toolbar [button] icon { padding: 0; min-width: 28px; } .ios .toolbar .back-button { margin: 0; min-height: 3.2rem; line-height: 1; -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; overflow: visible; } .ios .toolbar .back-button-icon { display: inherit; margin: 0; min-width: 18px; font-size: 3.2rem; } .ios .toolbar toolbar-background { border-bottom-width: 1px; border-bottom-style: solid; } .ios ion-title { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 0px 90px 1px 90px; pointer-events: none; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .ios .toolbar-title { font-size: 1.7rem; font-weight: 500; text-align: center; pointer-events: auto; } .ios ion-nav-items { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 31; -webkit-order: 30; -ms-flex-order: 30; order: 30; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .ios ion-nav-items[secondary] { text-align: right; -webkit-box-ordinal-group: 51; -webkit-order: 50; -ms-flex-order: 50; order: 50; } .ios.hairlines .toolbar toolbar-background { border-bottom-width: 0.55px; } .ios ion-action-sheet { text-align: center; } .ios .action-sheet-container { padding: 0 10px; } .ios .action-sheet-container button.activated { box-shadow: none; border-color: #d1d3d6; color: #007aff; background: #e4e5e7; } .ios ion-action-sheet button { min-height: 5.6rem; padding: 1.8rem; margin: 0; border: 0; background: transparent; } .ios ion-action-sheet button.activated { background: #e9e9e9; } .ios .action-sheet-group { margin-bottom: 8px; border-radius: 1.3rem; } .ios .action-sheet-group:last-child { margin-bottom: 10px; } .ios .action-sheet-title, .ios .action-sheet-option { min-height: 5.6rem; background: rgba(243, 243, 243, 0.95); font-weight: 400; border-bottom: 1px solid #d6d6da; } .ios .action-sheet-cancel button { font-weight: bold; } .ios .action-sheet-title { padding: 2rem; font-size: 1.2rem; font-weight: 500; color: #5f5f5f; border-radius: 0; } .ios .action-sheet-option { font-size: 2rem; color: #007aff; border-radius: 0; } .ios .action-sheet-title:first-child, .ios .action-sheet-button:first-child, .ios .action-sheet-group button:first-child { border-top-left-radius: 1.3rem; border-top-right-radius: 1.3rem; } .ios .action-sheet-title:last-child, .ios .action-sheet-button:last-child, .ios .action-sheet-group button:last-child { border-bottom-left-radius: 1.3rem; border-bottom-right-radius: 1.3rem; } .ios.hairlines .action-sheet .action-sheet-title, .ios.hairlines .action-sheet .action-sheet-option { border-bottom-width: 0.55px; } .ios .action-sheet-destructive { color: #f53d3d; } .ios ion-card { margin: 12px 12px 12px 12px; font-size: 1.4rem; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); border-radius: 2px; } .ios ion-card ion-list { margin-bottom: 0; } .ios ion-card ion-list .item { padding-right: 0; } .ios ion-card ion-list ion-item-content { padding: 0; } .ios ion-card ion-list > .item:last-child, .ios ion-card ion-list > ion-item-sliding:last-child .item { border-bottom: none; } .ios ion-card .item-inner { border: none; } .ios ion-card ion-card-content { padding: 13px 16px 14px 16px; font-size: 1.4rem; line-height: 1.4; } .ios ion-card ion-card-header { padding: 16px; font-size: 1.6rem; font-weight: 500; color: #333; } .ios ion-card ion-card-header + ion-card-content, .ios ion-card .item + ion-card-content { padding-top: 0; } .ios ion-card ion-note[item-left], .ios ion-card ion-note[item-right] { font-size: 1.3rem; } .ios ion-card .card-title { padding: 8px 0 8px 0; font-size: 1.8rem; color: #222; } .ios ion-card h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .ios ion-card h2 { margin: 2px 0 2px; font-size: 1.6rem; font-weight: normal; } .ios ion-card h3, .ios ion-card h4, .ios ion-card h5, .ios ion-card h6 { margin: 2px 0 2px; font-size: 1.4rem; font-weight: normal; } .ios ion-card p { font-size: 1.4rem; margin: 0 0 2px; color: #666; } .ios ion-card + ion-card { margin-top: 0; } .ios .outer-content { background: #efeff4; } .ios ion-nav.has-views, .ios ion-tab.has-views { background: #000; } .ios ion-list-header { position: relative; padding: 10px 16px 10px 16px; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.1rem; text-transform: uppercase; color: #333; border-bottom: 1px solid #c8c7cc; } .ios ion-list { margin: -1px 0 32px 0; } .ios ion-list > .item:first-child { border-top: 1px solid #c8c7cc; } .ios ion-list > .item:last-child, .ios ion-list > ion-item-sliding:last-child .item { border-bottom: 1px solid #c8c7cc; } .ios ion-list > .item:last-child .item-inner, .ios ion-list > ion-item-sliding:last-child .item .item-inner { border-bottom: none; } .ios ion-list .item-inner { border-bottom: 1px solid #c8c7cc; } .ios ion-list .item[no-lines], .ios ion-list .item[no-lines] .item-inner { border-width: 0; } .ios ion-list ion-item-options { border-bottom: 1px solid #c8c7cc; } .ios ion-list ion-item-options button, .ios ion-list ion-item-options [button] { min-height: 100%; height: 100%; margin: 0; border: none; border-radius: 0; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; box-sizing: border-box; } .ios ion-list ion-item-options button:before, .ios ion-list ion-item-options [button]:before { margin: 0 auto; } .ios ion-list + ion-list { margin-top: 42px; } .ios ion-list + ion-list ion-list-header { margin-top: -10px; padding-top: 0; } .ios.hairlines ion-list-header { border-bottom-width: 0.55px; } .ios.hairlines ion-list ion-item-options { border-width: 0.55px; } .ios.hairlines ion-list .item .item-inner { border-width: 0.55px; } .ios.hairlines ion-list > .item:first-child { border-top-width: 0.55px; } .ios.hairlines ion-list > .item:last-child, .ios.hairlines ion-list > ion-item-sliding:last-child .item { border-bottom-width: 0.55px; } .ios ion-list[inset] { margin: 16px 16px 16px 16px; border-radius: 4px; } .ios ion-list[inset] .item { border-bottom: 1px solid #c8c7cc; } .ios ion-list[inset] .item .item-inner { border-bottom: none; } .ios ion-list[inset] > .item:first-child, .ios ion-list[inset] > ion-item-sliding:first-child .item { border-top: none; } .ios ion-list[inset] > .item:last-child, .ios ion-list[inset] > ion-item-sliding:last-child .item { border-bottom: none; } .ios ion-list[inset] + ion-list[inset] { margin-top: 0; } .ios.hairlines ion-list[inset] .item { border-width: 0.55px; } .ios ion-list[no-lines] ion-list-header, .ios ion-list[no-lines] .item, .ios ion-list[no-lines] .item .item-inner, .ios.hairlines ion-list[no-lines] ion-list-header, .ios.hairlines ion-list[no-lines] .item, .ios.hairlines ion-list[no-lines] .item .item-inner { border-width: 0; } .ios [text-input] { margin: 12px 8px 13px 0; padding: 0; } .ios ion-input[inset] [text-input] { margin: 6px 16px 6.5px 16px; padding: 6px 8px 6.5px 8px; } .ios ion-label { margin: 12px 8px 13px 0; color: #7f7f7f; } .ios ion-label + [text-input] { margin-left: 16px; } .ios [stacked-label] ion-label { font-size: 1.2rem; margin-bottom: 4px; } .ios [stacked-label] [text-input], .ios [floating-label] [text-input] { margin-left: 0; margin-top: 8px; margin-bottom: 8px; } .ios [floating-label] ion-label { margin-bottom: 0; -webkit-transform-origin: left top; transform-origin: left top; -webkit-transform: translate3d(0, 27px, 0); transform: translate3d(0, 27px, 0); -webkit-transition: -webkit-transform 150ms ease-in-out; transition: transform 150ms ease-in-out; } .ios [floating-label].has-focus ion-label, .ios [floating-label].has-value ion-label { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .ios ion-navbar-section { min-height: 4.4rem; } .ios .back-button { -webkit-transform: translateZ(0px); transform: translateZ(0px); } .ios ion-popup { background: transparent; } .ios ion-popup popup-wrapper { border-radius: 13px; background-color: #f8f8f8; max-width: 270px; overflow: hidden; } .ios .popup-head { padding: 12px 16px 20px; text-align: center; } .ios .popup-title { margin-top: 12px; font-weight: bold; font-size: 17px; } .ios .popup-sub-title { font-size: 14px; color: #666; } .ios .popup-body { padding: 0px 16px 24px; color: inherit; text-align: center; font-size: 13px; } .ios .prompt-input { padding: 6px; margin-top: 24px; background-color: #fff; border: 1px solid #ccc; border-radius: 4px; -webkit-appearance: none; } .ios .popup-buttons button { margin: 0; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; border-radius: 0; font-size: 17px; min-height: 44px; border-right: 1px solid #c8c7cc; } .ios .popup-buttons button.activated { opacity: 1; background-color: #e9e9e9; } .ios .popup-buttons button:hover:not(.disable-hover) { opacity: 1; } .ios .popup-buttons button:before { position: absolute; top: 0; right: 0; left: 0; border-top: 1px solid #c8c7cc; content: ''; pointer-events: none; } .ios .popup-buttons button:last-child { font-weight: bold; border-right: 0; } .ios.hairlines .prompt-input { border-width: 0.55px; } .ios.hairlines .popup-buttons button { border-right-width: 0.55px; } .ios.hairlines .popup-buttons button:before { border-top-width: 0.55px; } .ios ion-checkbox[aria-checked=true] checkbox-icon { background-color: #387ef5; border-color: #387ef5; } .ios ion-checkbox[aria-checked=true] checkbox-icon:after { position: absolute; border: 1px solid #fff; top: 3px; left: 7px; width: 4px; height: 9px; border-left: none; border-top: none; content: ''; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .ios ion-checkbox.item.activated { background-color: #fff; } .ios media-checkbox { display: block; margin: 10px 16px 10px 2px; } .ios checkbox-icon { position: relative; display: block; width: 21px; height: 21px; border-radius: 50%; border: 1px solid #c8c7cc; background-color: #fff; } .ios ion-checkbox[secondary][aria-checked=true] checkbox-icon { background-color: #32db64; border-color: #32db64; } .ios ion-checkbox[danger][aria-checked=true] checkbox-icon { background-color: #f53d3d; border-color: #f53d3d; } .ios ion-checkbox[light][aria-checked=true] checkbox-icon { background-color: #f4f4f4; border-color: #f4f4f4; } .ios ion-checkbox[dark][aria-checked=true] checkbox-icon { background-color: #222; border-color: #222; } .ios ion-radio[aria-checked=true] radio-icon:after { position: absolute; border: 2px solid #387ef5; top: 3px; left: 7px; width: 4px; height: 10px; border-left: none; border-top: none; content: ''; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .ios ion-radio[aria-checked=true] { color: #387ef5; } .ios ion-radio.item.activated { background-color: #fff; } .ios media-radio { display: block; margin: 10px 8px 10px 8px; } .ios radio-icon { position: relative; display: block; width: 16px; height: 21px; } .ios ion-radio[secondary][aria-checked=true] radio-icon:after { border-color: #32db64; } .ios ion-radio[secondary][aria-checked=true] { color: #32db64; } .ios ion-radio[danger][aria-checked=true] radio-icon:after { border-color: #f53d3d; } .ios ion-radio[danger][aria-checked=true] { color: #f53d3d; } .ios ion-radio[light][aria-checked=true] radio-icon:after { border-color: #f4f4f4; } .ios ion-radio[light][aria-checked=true] { color: #f4f4f4; } .ios ion-radio[dark][aria-checked=true] radio-icon:after { border-color: #222; } .ios ion-radio[dark][aria-checked=true] { color: #222; } .ios ion-searchbar { padding: 0 8px; background: rgba(0, 0, 0, 0.2); border-bottom: 1px solid rgba(0, 0, 0, 0.05); min-height: 44px; } .ios .searchbar-search-icon { width: 14px; height: 14px; background-image: url("data:image/svg+xml;charset=utf-8,"); background-size: 13px; background-repeat: no-repeat; position: absolute; left: 9px; top: 9px; margin-left: calc(50% - 60px); -webkit-transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); } .ios .searchbar-input { height: 28px; padding: 0 28px; font-size: 1.4rem; font-weight: 400; border-radius: 5px; color: #000; background-color: #FFFFFF; background-position: 8px center; padding-left: calc(50% - 28px); -webkit-transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); } .ios .searchbar-input::-moz-placeholder { color: rgba(0, 0, 0, 0.5); } .ios .searchbar-input:-ms-input-placeholder { color: rgba(0, 0, 0, 0.5); } .ios .searchbar-input::-webkit-input-placeholder { color: rgba(0, 0, 0, 0.5); text-indent: 0; } .ios .searchbar-close-icon { width: 30px; height: 100%; background-image: url("data:image/svg+xml;charset=utf-8,"); background-size: 18px; background-repeat: no-repeat; background-position: center; position: absolute; right: 0; top: 0; } .ios .searchbar-cancel { -webkit-transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); min-height: 30px; margin-left: 0; padding: 0; visibility: hidden; -webkit-transform: translateX(calc(100% + 8px)); transform: translateX(calc(100% + 8px)); -webkit-box-flex: 0; -webkit-flex: 0 0 0%; -ms-flex: 0 0 0%; flex: 0 0 0%; } .ios ion-searchbar.left-align .searchbar-search-icon { margin-left: 0; } .ios ion-searchbar.left-align .searchbar-input { padding-left: 30px; } .ios ion-searchbar.left-align .searchbar-cancel { -webkit-transform: translateX(0); transform: translateX(0); -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto; padding-left: 8px; visibility: visible; } .ios.hairlines ion-searchbar { border-bottom-width: 0.55px; } .ios .toolbar ion-searchbar { background: transparent; border-bottom-width: 0; } .ios .toolbar ion-searchbar .searchbar-input { background-color: rgba(0, 0, 0, 0.08); } .ios .toolbar ion-searchbar .searchbar-cancel { padding: 0; } .ios .toolbar .left-align .searchbar-cancel { padding-left: 8px; } .ios .searchbar-cancel-icon { display: none; } .ios ion-searchbar[primary] .searchbar-cancel { color: #387ef5; } .ios ion-searchbar[secondary] .searchbar-cancel { color: #32db64; } .ios ion-searchbar[danger] .searchbar-cancel { color: #f53d3d; } .ios ion-searchbar[light] .searchbar-cancel { color: #f4f4f4; } .ios ion-searchbar[dark] .searchbar-cancel { color: #222; } .ios ion-segment button, .ios ion-segment [button] { border-width: 1px; border-style: solid; min-height: 3rem; line-height: 3rem; background-color: transparent; color: white; font-size: 1.3rem; } .ios ion-segment button[outline], .ios ion-segment [button][outline] { border: 1px solid #387ef5; background: transparent; color: #387ef5; } .ios ion-segment button[outline].segment-activated, .ios ion-segment [button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; -webkit-transition: 100ms all linear; transition: 100ms all linear; } .ios ion-segment button[outline]:hover:not(.segment-activated), .ios ion-segment [button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios ion-segment button:first-of-type, .ios ion-segment [button]:first-of-type { border-radius: 4px 0px 0px 4px; margin-right: 0; } .ios ion-segment button:not(:first-of-type), .ios ion-segment [button]:not(:first-of-type) { border-left-width: 0px; } .ios ion-segment button:last-of-type, .ios ion-segment [button]:last-of-type { border-left-width: 0px; border-radius: 0px 4px 4px 0px; margin-left: 0; } .ios .toolbar ion-segment { position: absolute; left: 0; right: 0; top: 0; bottom: 0; } .ios .toolbar ion-segment button, .ios .toolbar ion-segment [button] { max-width: 100px; } .ios .toolbar[primary] ion-segment ion-segment-button[button] { background-color: transparent; } .ios .toolbar[primary] ion-segment ion-segment-button[button][outline] { border-color: white; background: transparent; color: white; } .ios .toolbar[primary] ion-segment ion-segment-button[button][outline].segment-activated { opacity: 1; color: #387ef5; background-color: white; } .ios .toolbar[primary] ion-segment ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(255, 255, 255, 0.16); } .ios .toolbar[primary] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[primary] ion-segment[primary] ion-segment-button[button][outline] { border-color: #387ef5; background: transparent; color: #387ef5; } .ios .toolbar[primary] ion-segment[primary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; } .ios .toolbar[primary] ion-segment[primary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios .toolbar[primary] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[primary] ion-segment[secondary] ion-segment-button[button][outline] { border-color: #32db64; background: transparent; color: #32db64; } .ios .toolbar[primary] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #32db64; } .ios .toolbar[primary] ion-segment[secondary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios .toolbar[primary] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[primary] ion-segment[danger] ion-segment-button[button][outline] { border-color: #f53d3d; background: transparent; color: #f53d3d; } .ios .toolbar[primary] ion-segment[danger] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f53d3d; } .ios .toolbar[primary] ion-segment[danger] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios .toolbar[primary] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[primary] ion-segment[light] ion-segment-button[button][outline] { border-color: #f4f4f4; background: transparent; color: #f4f4f4; } .ios .toolbar[primary] ion-segment[light] ion-segment-button[button][outline].segment-activated { opacity: 1; color: black; background-color: #f4f4f4; } .ios .toolbar[primary] ion-segment[light] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios .toolbar[primary] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[primary] ion-segment[dark] ion-segment-button[button][outline] { border-color: #222; background: transparent; color: #222; } .ios .toolbar[primary] ion-segment[dark] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #222; } .ios .toolbar[primary] ion-segment[dark] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .ios ion-segment[primary] ion-segment-button[button][outline] { border-color: #387ef5; background: transparent; color: #387ef5; } .ios ion-segment[primary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; } .ios ion-segment[primary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios .toolbar[secondary] ion-segment ion-segment-button[button] { background-color: transparent; } .ios .toolbar[secondary] ion-segment ion-segment-button[button][outline] { border-color: white; background: transparent; color: white; } .ios .toolbar[secondary] ion-segment ion-segment-button[button][outline].segment-activated { opacity: 1; color: #32db64; background-color: white; } .ios .toolbar[secondary] ion-segment ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(255, 255, 255, 0.16); } .ios .toolbar[secondary] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[secondary] ion-segment[primary] ion-segment-button[button][outline] { border-color: #387ef5; background: transparent; color: #387ef5; } .ios .toolbar[secondary] ion-segment[primary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; } .ios .toolbar[secondary] ion-segment[primary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios .toolbar[secondary] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[secondary] ion-segment[secondary] ion-segment-button[button][outline] { border-color: #32db64; background: transparent; color: #32db64; } .ios .toolbar[secondary] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #32db64; } .ios .toolbar[secondary] ion-segment[secondary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios .toolbar[secondary] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[secondary] ion-segment[danger] ion-segment-button[button][outline] { border-color: #f53d3d; background: transparent; color: #f53d3d; } .ios .toolbar[secondary] ion-segment[danger] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f53d3d; } .ios .toolbar[secondary] ion-segment[danger] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios .toolbar[secondary] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[secondary] ion-segment[light] ion-segment-button[button][outline] { border-color: #f4f4f4; background: transparent; color: #f4f4f4; } .ios .toolbar[secondary] ion-segment[light] ion-segment-button[button][outline].segment-activated { opacity: 1; color: black; background-color: #f4f4f4; } .ios .toolbar[secondary] ion-segment[light] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios .toolbar[secondary] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[secondary] ion-segment[dark] ion-segment-button[button][outline] { border-color: #222; background: transparent; color: #222; } .ios .toolbar[secondary] ion-segment[dark] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #222; } .ios .toolbar[secondary] ion-segment[dark] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .ios ion-segment[secondary] ion-segment-button[button][outline] { border-color: #32db64; background: transparent; color: #32db64; } .ios ion-segment[secondary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #32db64; } .ios ion-segment[secondary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios .toolbar[danger] ion-segment ion-segment-button[button] { background-color: transparent; } .ios .toolbar[danger] ion-segment ion-segment-button[button][outline] { border-color: white; background: transparent; color: white; } .ios .toolbar[danger] ion-segment ion-segment-button[button][outline].segment-activated { opacity: 1; color: #f53d3d; background-color: white; } .ios .toolbar[danger] ion-segment ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(255, 255, 255, 0.16); } .ios .toolbar[danger] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[danger] ion-segment[primary] ion-segment-button[button][outline] { border-color: #387ef5; background: transparent; color: #387ef5; } .ios .toolbar[danger] ion-segment[primary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; } .ios .toolbar[danger] ion-segment[primary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios .toolbar[danger] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[danger] ion-segment[secondary] ion-segment-button[button][outline] { border-color: #32db64; background: transparent; color: #32db64; } .ios .toolbar[danger] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #32db64; } .ios .toolbar[danger] ion-segment[secondary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios .toolbar[danger] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[danger] ion-segment[danger] ion-segment-button[button][outline] { border-color: #f53d3d; background: transparent; color: #f53d3d; } .ios .toolbar[danger] ion-segment[danger] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f53d3d; } .ios .toolbar[danger] ion-segment[danger] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios .toolbar[danger] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[danger] ion-segment[light] ion-segment-button[button][outline] { border-color: #f4f4f4; background: transparent; color: #f4f4f4; } .ios .toolbar[danger] ion-segment[light] ion-segment-button[button][outline].segment-activated { opacity: 1; color: black; background-color: #f4f4f4; } .ios .toolbar[danger] ion-segment[light] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios .toolbar[danger] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[danger] ion-segment[dark] ion-segment-button[button][outline] { border-color: #222; background: transparent; color: #222; } .ios .toolbar[danger] ion-segment[dark] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #222; } .ios .toolbar[danger] ion-segment[dark] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .ios ion-segment[danger] ion-segment-button[button][outline] { border-color: #f53d3d; background: transparent; color: #f53d3d; } .ios ion-segment[danger] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f53d3d; } .ios ion-segment[danger] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios .toolbar[light] ion-segment ion-segment-button[button] { background-color: transparent; } .ios .toolbar[light] ion-segment ion-segment-button[button][outline] { border-color: black; background: transparent; color: black; } .ios .toolbar[light] ion-segment ion-segment-button[button][outline].segment-activated { opacity: 1; color: #f4f4f4; background-color: black; } .ios .toolbar[light] ion-segment ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(0, 0, 0, 0.16); } .ios .toolbar[light] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[light] ion-segment[primary] ion-segment-button[button][outline] { border-color: #387ef5; background: transparent; color: #387ef5; } .ios .toolbar[light] ion-segment[primary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; } .ios .toolbar[light] ion-segment[primary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios .toolbar[light] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[light] ion-segment[secondary] ion-segment-button[button][outline] { border-color: #32db64; background: transparent; color: #32db64; } .ios .toolbar[light] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #32db64; } .ios .toolbar[light] ion-segment[secondary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios .toolbar[light] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[light] ion-segment[danger] ion-segment-button[button][outline] { border-color: #f53d3d; background: transparent; color: #f53d3d; } .ios .toolbar[light] ion-segment[danger] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f53d3d; } .ios .toolbar[light] ion-segment[danger] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios .toolbar[light] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[light] ion-segment[light] ion-segment-button[button][outline] { border-color: #f4f4f4; background: transparent; color: #f4f4f4; } .ios .toolbar[light] ion-segment[light] ion-segment-button[button][outline].segment-activated { opacity: 1; color: black; background-color: #f4f4f4; } .ios .toolbar[light] ion-segment[light] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios .toolbar[light] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[light] ion-segment[dark] ion-segment-button[button][outline] { border-color: #222; background: transparent; color: #222; } .ios .toolbar[light] ion-segment[dark] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #222; } .ios .toolbar[light] ion-segment[dark] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios ion-segment[light] ion-segment-button[button] { background-color: transparent; } .ios ion-segment[light] ion-segment-button[button][outline] { border-color: #f4f4f4; background: transparent; color: #f4f4f4; } .ios ion-segment[light] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f4f4f4; } .ios ion-segment[light] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios .toolbar[dark] ion-segment ion-segment-button[button] { background-color: transparent; } .ios .toolbar[dark] ion-segment ion-segment-button[button][outline] { border-color: white; background: transparent; color: white; } .ios .toolbar[dark] ion-segment ion-segment-button[button][outline].segment-activated { opacity: 1; color: #222; background-color: white; } .ios .toolbar[dark] ion-segment ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(255, 255, 255, 0.16); } .ios .toolbar[dark] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[dark] ion-segment[primary] ion-segment-button[button][outline] { border-color: #387ef5; background: transparent; color: #387ef5; } .ios .toolbar[dark] ion-segment[primary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #387ef5; } .ios .toolbar[dark] ion-segment[primary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios .toolbar[dark] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[dark] ion-segment[secondary] ion-segment-button[button][outline] { border-color: #32db64; background: transparent; color: #32db64; } .ios .toolbar[dark] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #32db64; } .ios .toolbar[dark] ion-segment[secondary] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios .toolbar[dark] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[dark] ion-segment[danger] ion-segment-button[button][outline] { border-color: #f53d3d; background: transparent; color: #f53d3d; } .ios .toolbar[dark] ion-segment[danger] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #f53d3d; } .ios .toolbar[dark] ion-segment[danger] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios .toolbar[dark] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[dark] ion-segment[light] ion-segment-button[button][outline] { border-color: #f4f4f4; background: transparent; color: #f4f4f4; } .ios .toolbar[dark] ion-segment[light] ion-segment-button[button][outline].segment-activated { opacity: 1; color: black; background-color: #f4f4f4; } .ios .toolbar[dark] ion-segment[light] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios .toolbar[dark] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .ios .toolbar[dark] ion-segment[dark] ion-segment-button[button][outline] { border-color: #222; background: transparent; color: #222; } .ios .toolbar[dark] ion-segment[dark] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #222; } .ios .toolbar[dark] ion-segment[dark] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .ios ion-segment[dark] ion-segment-button[button][outline] { border-color: #222; background: transparent; color: #222; } .ios ion-segment[dark] ion-segment-button[button][outline].segment-activated { opacity: 1; color: white; background-color: #222; } .ios ion-segment[dark] ion-segment-button[button][outline]:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios ion-switch.item.activated { background: #fff; } .ios ion-switch media-switch { padding: 6px 8px 5px 16px; } .ios ion-switch switch-icon { position: relative; display: block; width: 51px; height: 32px; border-radius: 16px; pointer-events: none; background-color: #e6e6e6; will-change: background-color; -webkit-transition: background-color 300ms; transition: background-color 300ms; } .ios ion-switch[aria-checked=true] switch-icon { background-color: #387ef5; } .ios ion-switch switch-icon:before { content: ''; position: absolute; top: 2px; right: 2px; left: 2px; bottom: 2px; border-radius: 16px; background-color: #fff; will-change: transform; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); -webkit-transition: -webkit-transform 300ms; transition: transform 300ms; } .ios ion-switch[aria-checked=true] switch-icon:before, .ios ion-switch .switch-activated switch-icon:before { -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); } .ios ion-switch switch-icon:after { content: ''; position: absolute; top: 2px; left: 2px; width: 28px; height: 28px; border-radius: 14px; background-color: #fff; box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 1px rgba(0, 0, 0, 0.1); will-change: transform, width, left; -webkit-transition: -webkit-transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms; transition: transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms; } .ios ion-switch[aria-checked=true] switch-icon:after { -webkit-transform: translate3d(19px, 0, 0); transform: translate3d(19px, 0, 0); } .ios ion-switch .switch-activated switch-icon:after { width: 34px; } .ios ion-switch[aria-checked=true] .switch-activated switch-icon:after { left: -4px; } .ios ion-switch[secondary][aria-checked=true] switch-icon { background-color: #32db64; } .ios ion-switch[danger][aria-checked=true] switch-icon { background-color: #f53d3d; } .ios ion-switch[light][aria-checked=true] switch-icon { background-color: #f4f4f4; } .ios ion-switch[dark][aria-checked=true] switch-icon { background-color: #222; } .ios tabbar { border-top: 1px solid #b2b2b2; } .ios ion-tabs[tabbar-placement=top] tabbar { border-top: none; border-bottom: 1px solid #b2b2b2; } .ios .tab-button { padding: 0px 10px; min-height: 49px; } .ios .tab-button-text { margin-bottom: 0; min-height: 11px; font-size: 10px; } .ios .has-title-only .tab-button-text { font-size: 12px; } .ios .tab-button-icon { font-size: 32px; height: 32px; min-width: 37px; } .ios .tab-button-icon:before { vertical-align: top; } .ios [tabbar-icons=right] .tab-button .tab-button-text, .ios [tabbar-icons=left] .tab-button .tab-button-text { font-size: 1.4rem; line-height: 1.1; margin-top: 0; margin-bottom: 0; } .ios [tabbar-icons=right] .tab-button icon, .ios [tabbar-icons=left] .tab-button icon { min-width: 24px; height: 26px; font-size: 24px; } .ios [tabbar-icons=hide] .tab-button-text { font-size: 1.4rem; line-height: 1.1; } .ios .tab-button.has-title-only { min-height: 41px; } .ios .tab-button.has-title-only .tab-button-text { font-size: 1.4rem; line-height: 1.1; } .ios .tab-button.icon-only { min-height: 41px; } .ios.hairlines ion-tabs tabbar { border-top-width: 0.55px; } .ios.hairlines ion-tabs[tabbar-placement="top"] tabbar { border-bottom-width: 0.55px; } .ios tabbar[primary] { border-color: #0c60ee; } .ios tabbar[secondary] { border-color: #21b94e; } .ios tabbar[danger] { border-color: #f30c0c; } .ios tabbar[light] { border-color: #dbdbdb; } .ios tabbar[dark] { border-color: #090909; } .ios.platform-cordova.platform-ios ion-navbar-section { min-height: 6.4rem; height: 6.4rem; } .ios.platform-cordova.platform-ios ion-navbar ion-title, .ios.platform-cordova.platform-ios ion-navbar ion-segment { padding-top: 2rem; } .ios.platform-cordova.platform-ios ion-navbar, .ios.platform-cordova.platform-ios ion-app > ion-toolbar:first-child, .ios.platform-cordova.platform-ios ion-app > ion-toolbar:first-child ion-title, .ios.platform-cordova.platform-ios ion-app > ion-toolbar:first-child ion-segment, .ios.platform-cordova.platform-ios ion-menu > ion-toolbar:first-child, .ios.platform-cordova.platform-ios ion-menu > ion-toolbar:first-child ion-title, .ios.platform-cordova.platform-ios ion-menu > ion-toolbar:first-child ion-segment, .ios.platform-cordova.platform-ios ion-page.modal > ion-toolbar:first-child, .ios.platform-cordova.platform-ios ion-page.modal > ion-toolbar:first-child ion-title, .ios.platform-cordova.platform-ios ion-page.modal > ion-toolbar:first-child ion-segment { min-height: 6.4rem; height: 6.4rem; padding-top: 2rem; } .md { /*! Ionic: Material Design */ /****************/ /* DEFAULT LIST */ /****************/ /**************/ /* INSET LIST */ /**************/ /*****************/ /* NO LINES LIST */ /*****************/ } .md hr { border-width: 0; height: 1px; background-color: rgba(0, 0, 0, 0.08); } .md .toolbar { min-height: 5.6rem; } .md .toolbar button, .md .toolbar [button], .md .toolbar button.activated, .md .toolbar [button].activated { margin-top: 0; margin-bottom: 0; padding: 0 5px; min-height: 32px; box-shadow: none; overflow: visible; } .md .toolbar button.icon-only, .md .toolbar [button].icon-only { padding-right: 0; padding-left: 0; } .md .toolbar button icon, .md .toolbar [button] icon { padding: 0; min-width: 28px; } .md .toolbar [menu-toggle], .md .toolbar [menu-toggle].activated { padding: 0 2px; min-width: 44px; } .md .toolbar [menu-toggle] icon, .md .toolbar [menu-toggle].activated icon { font-size: 2.4rem; } .md .toolbar [menu-toggle][secondary], .md .toolbar [menu-toggle][secondary].activated { margin: 0 2px; min-width: 28px; } .md ion-title { padding: 0 12px; font-size: 2rem; font-weight: 500; } .md ion-nav-items[primary] button:first-child { margin-left: 0; } .md ion-action-sheet { margin: 0; } .md .action-sheet-container { margin: 0; } .md .action-sheet-title, .md .action-sheet-option, .md .action-sheet-destructive, .md .action-sheet-cancel button { text-align: left; border-color: transparent; font-size: 1.6rem; color: #222; box-shadow: none; text-transform: none; } .md ion-action-sheet icon { display: inline-block; margin: 0 28px 0 0; min-width: 24px; text-align: center; vertical-align: middle; font-size: 2.4rem; } .md .action-sheet-title { padding: 1.9rem 1.6rem 1.7rem; font-size: 1.6rem; color: #757575; } .md ion-action-sheet button { font-weight: normal; min-height: 4.8rem; } .md ion-action-sheet button.activated { background: #f1f1f1; border-radius: 0; box-shadow: none; } .md .action-sheet-group { margin: 0; border-radius: 0; background-color: #fafafa; } .md .action-sheet-group:last-child button { margin-bottom: 8px; } .md .action-sheet-cancel { background-color: #fafafa; width: auto; border: none; } .md button, .md [button] { border-radius: 2px; min-height: 3.6rem; padding: 0 1.1em; text-transform: uppercase; font-weight: 500; font-size: 1.4rem; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); -webkit-transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); } .md button:hover:not(.disable-hover), .md [button]:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .md button[full], .md [button][full] { border-radius: 0; } .md button[round], .md [button][round] { border-radius: 64px; padding: 0 2.6rem; } .md button[large], .md [button][large] { padding: 0 1em; min-height: 2.8em; font-size: 2rem; } .md button[small], .md [button][small] { padding: 0 0.9em; min-height: 2.1em; font-size: 1.3rem; } .md button.activated, .md [button].activated { box-shadow: 0 3px 5px rgba(0, 0, 0, 0.14), 0 3px 5px rgba(0, 0, 0, 0.21); } .md button[fab], .md [button][fab] { border-radius: 50%; box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.14), 0 4px 5px rgba(0, 0, 0, 0.1); } .md button[fab].activated, .md [button][fab].activated { box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.4), 0 4px 7px 0 rgba(0, 0, 0, 0.1); } .md button.icon-only, .md [button].icon-only { padding: 0; } .md button[outline], .md [button][outline] { box-shadow: none; } .md button[outline].activated, .md [button][outline].activated { opacity: 1; } .md button[outline] md-ripple, .md [button][outline] md-ripple { background: rgba(56, 126, 245, 0.1); } .md button[clear], .ios .popup-buttons .md button, .md .ios .searchbar-cancel, .ios .md .searchbar-cancel, .md .popup-buttons button, .md [button][clear] { opacity: 1; box-shadow: none; } .md button[clear].activated, .ios .popup-buttons .md button.activated, .md .ios .activated.searchbar-cancel, .ios .md .activated.searchbar-cancel, .md .popup-buttons button.activated, .md [button][clear].activated { background-color: rgba(158, 158, 158, 0.2); } .md button[secondary].activated, .md [button][secondary].activated { opacity: 1; } .md button[secondary][outline] md-ripple, .md [button][secondary][outline] md-ripple { background: rgba(50, 219, 100, 0.2); } .md button[secondary][outline].activated, .md [button][secondary][outline].activated { opacity: 1; } .md button[secondary][outline].activated md-ripple, .md [button][secondary][outline].activated md-ripple { background: rgba(0, 0, 0, 0.1); } .md button[danger].activated, .md [button][danger].activated { opacity: 1; } .md button[danger][outline] md-ripple, .md [button][danger][outline] md-ripple { background: rgba(245, 61, 61, 0.2); } .md button[danger][outline].activated, .md [button][danger][outline].activated { opacity: 1; } .md button[danger][outline].activated md-ripple, .md [button][danger][outline].activated md-ripple { background: rgba(0, 0, 0, 0.1); } .md button[light].activated, .md [button][light].activated { opacity: 1; } .md button[light][outline] md-ripple, .md [button][light][outline] md-ripple { background: rgba(244, 244, 244, 0.2); } .md button[light][outline].activated, .md [button][light][outline].activated { opacity: 1; } .md button[light][outline].activated md-ripple, .md [button][light][outline].activated md-ripple { background: rgba(0, 0, 0, 0.1); } .md button[dark].activated, .md [button][dark].activated { opacity: 1; } .md button[dark][outline] md-ripple, .md [button][dark][outline] md-ripple { background: rgba(34, 34, 34, 0.2); } .md button[dark][outline].activated, .md [button][dark][outline].activated { opacity: 1; } .md button[dark][outline].activated md-ripple, .md [button][dark][outline].activated md-ripple { background: rgba(0, 0, 0, 0.1); } .md [padding], .md [padding] > scroll-content { padding: 16px; } .md [padding-top] { padding-top: 16px; } .md [padding-right] { padding-right: 16px; } .md [padding-bottom] { padding-bottom: 16px; } .md [padding-left] { padding-left: 16px; } .md [padding-vertical] { padding-top: 16px; padding-bottom: 16px; } .md [padding-horizontal] { padding-right: 16px; padding-left: 16px; } .md ion-item-divider { padding: 13px 16px 13px 16px; background-color: #fff; color: #222; } .md ion-note { color: #c4c4c4; } .md .item { position: relative; padding-right: 0; padding-left: 16px; font-size: 1.6rem; text-transform: none; font-weight: normal; box-shadow: none; } .md .item h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .md .item h2 { margin: 2px 0 2px; font-size: 1.6rem; font-weight: normal; } .md .item h3, .md .item h4, .md .item h5, .md .item h6 { line-height: normal; margin: 2px 0 2px; font-size: 1.4rem; font-weight: normal; } .md .item p { line-height: normal; color: #666; font-size: 1.4rem; margin: 0 0 2px; } .md .item-inner { border-bottom: 1px solid #dedede; padding-right: 8px; } .md ion-item-content { margin: 13px 8px 13px 0; } .md button.item.activated { box-shadow: none; } .md [item-left], .md [item-right] { margin: 9px 8px 9px 0; } .md icon[item-left], .md icon[item-right] { margin-top: 11px; margin-left: 0; margin-bottom: 10px; } .md button[item-left], .md button[item-right], .md [button][item-left], .md [button][item-right] { padding: 0 0.6em; min-height: 26px; font-size: 1.2rem; } .md [item-left].icon-only, .md [item-right].icon-only, .md [item-left].icon-only icon, .md [item-right].icon-only icon { padding: 0 1px; } .md [item-left][clear], .md [item-right][clear] { padding: 0 8px; } .md [item-left].icon-left icon, .md [item-right].icon-left icon { margin-left: 0; margin-bottom: 1px; padding-right: 0.3em; } .md [item-left].icon-right icon, .md [item-right].icon-right icon { margin-right: 0; margin-bottom: 1px; } .md [text-wrap] ion-item-content { font-size: 1.4rem; line-height: 1.5; } .md icon[item-left] + .item-inner, .md icon[item-left] + [text-input] { margin-left: 24px; } .md ion-avatar[item-left], .md ion-thumbnail[item-left] { margin: 8px 16px 8px 0; } .md ion-avatar[item-right], .md ion-thumbnail[item-right] { margin: 8px; } .md ion-avatar { min-width: 4rem; min-height: 4rem; } .md ion-avatar img { max-width: 4rem; max-height: 4rem; border-radius: 2rem; } .md ion-thumbnail { min-width: 8rem; min-height: 8rem; } .md ion-thumbnail img { max-width: 8rem; max-height: 8rem; } .md .item, .md a.item, .md button.item { -webkit-transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 300ms; transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), transform 300ms; } .md .item.activated, .md a.item.activated, .md button.item.activated { background-color: #f1f1f1; box-shadow: none; } .md .item[no-lines] { border-width: 0; } .md ion-list-header, .md ion-item-divider { border-bottom: 1px solid #dedede; margin-left: 0; padding: 16px 16px 16px 16px; font-size: 1.4rem; color: #858585; } .md ion-list { margin: 0 0 16px 0; } .md ion-list .item-inner { border-bottom: 1px solid #dedede; } .md ion-list > .item:first-child, .md ion-list > ion-item-sliding:first-child .item { border-top: 1px solid #dedede; } .md ion-list > .item:last-child, .md ion-list > ion-item-sliding:last-child .item { border-bottom: 1px solid #dedede; } .md ion-list > .item:last-child .item-inner, .md ion-list > .item:last-child ion-item-content, .md ion-list > ion-item-sliding:last-child .item .item-inner, .md ion-list > ion-item-sliding:last-child .item ion-item-content { border-bottom: none; } .md ion-list > ion-input:last-child:after { left: 0; } .md ion-list ion-item-options button, .md ion-list ion-item-options [button] { height: calc(100% - 2px); margin: 1px 0 1px 0; box-shadow: none; border: none; border-radius: 0; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; box-sizing: border-box; } .md ion-list ion-item-options button:before, .md ion-list ion-item-options [button]:before { margin: 0 auto; } .md ion-list .item[no-lines], .md ion-list .item[no-lines] .item-inner { border-width: 0; } .md ion-list + ion-list { margin-top: 32px; } .md ion-list + ion-list ion-list-header { margin-top: -16px; padding-top: 0; } .md ion-list[inset] { margin: 16px 16px 16px 16px; border-radius: 2px; } .md ion-list[inset] .item:first-child { border-top-width: 0; border-top-right-radius: 2px; border-top-left-radius: 2px; } .md ion-list[inset] .item:last-child { border-bottom-width: 0; border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; } .md ion-list[inset] ion-input.item { padding-right: 0; padding-left: 0; } .md ion-list[inset] ion-input.item:after { left: 0; } .md ion-list[inset] + ion-list[inset] { margin-top: 0; } .md ion-list[no-lines] .item, .md ion-list[no-lines] .item .item-inner { border-width: 0; } .md ion-card { margin: 10px 10px 10px 10px; font-size: 1.4rem; background: #fff; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); border-radius: 2px; } .md ion-card ion-list { margin-bottom: 0; } .md ion-card ion-list ion-item-content { padding: 0; } .md ion-card ion-list .item-inner { border-bottom: 1px solid #dedede; } .md ion-card ion-list > .item:last-child, .md ion-card ion-list > ion-item-sliding:last-child .item { border-bottom: none; } .md ion-card .item { font-size: 1.6rem; } .md ion-card .item-inner { border: none; } .md ion-card ion-card-content { padding: 13px 16px 13px 16px; font-size: 1.4rem; line-height: 1.5; } .md ion-card ion-card-header { padding: 16px; font-size: 1.6rem; color: #222; } .md ion-card ion-card-header + ion-card-content, .md ion-card .item + ion-card-content { padding-top: 0; } .md ion-card ion-note[item-left], .md ion-card ion-note[item-right] { font-size: 1.3rem; } .md ion-card .card-title { padding: 8px 0 8px 0; font-size: 2.4rem; color: #222; } .md ion-card h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; color: #222; } .md ion-card h2 { margin: 2px 0 2px; font-size: 1.6rem; font-weight: normal; color: #222; } .md ion-card h3, .md ion-card h4, .md ion-card h5, .md ion-card h6 { margin: 2px 0 2px; font-size: 1.4rem; font-weight: normal; color: #222; } .md ion-card p { font-size: 1.4rem; margin: 0 0 2px; line-height: 1.5; font-weight: normal; color: #222; } .md ion-card + ion-card { margin-top: 0; } .md ion-checkbox.item .item-inner { border: none; padding-right: 0; } .md ion-checkbox ion-item-content { border-bottom: 1px solid #dedede; margin: 0; padding: 13px 8px 13px 0; } .md ion-checkbox[aria-checked=true] checkbox-icon { background-color: #387ef5; border-color: #387ef5; } .md ion-checkbox[aria-checked=true] checkbox-icon:after { position: absolute; border: 2px solid #fff; top: 0; left: 3px; width: 4px; height: 9px; border-left: none; border-top: none; content: ''; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .md media-checkbox { display: block; margin: 9px 36px 9px 4px; } .md checkbox-icon { position: relative; display: block; width: 16px; height: 16px; border-radius: 2px; border: 2px solid #787878; background-color: #fff; } .md ion-checkbox[secondary][aria-checked=true] checkbox-icon { background-color: #32db64; border-color: #32db64; } .md ion-checkbox[danger][aria-checked=true] checkbox-icon { background-color: #f53d3d; border-color: #f53d3d; } .md ion-checkbox[light][aria-checked=true] checkbox-icon { background-color: #f4f4f4; border-color: #f4f4f4; } .md ion-checkbox[dark][aria-checked=true] checkbox-icon { background-color: #222; border-color: #222; } .md [text-input] { margin: 13px 8px 13px 8px; padding: 0; } .md ion-input[inset] [text-input] { margin: 6.5px 16px 6.5px 16px; padding: 6.5px 8px 6.5px 8px; } .md ion-label { margin: 13px 8px 13px 8px; color: #999; } .md ion-input:after { position: absolute; bottom: 0; right: 0; left: 16px; border-bottom: 2px solid transparent; content: ''; } .md ion-input.has-focus:after { border-bottom: 2px solid #387ef5; } .md ion-input.ng-valid.has-value:after { border-bottom: 2px solid #32db64; } .md ion-input.ng-invalid.ng-touched:after { border-bottom: 2px solid #f53d3d; } .md [stacked-label] ion-label { font-size: 1.2rem; margin-bottom: 0; } .md [stacked-label] ion-label, .md [floating-label] ion-label { margin-left: 0; } .md [stacked-label].has-focus ion-label, .md [floating-label].has-focus ion-label { color: #387ef5; } .md [stacked-label] [text-input], .md [floating-label] [text-input] { margin-bottom: 8px; margin-top: 8px; margin-left: 0; } .md [floating-label] ion-label { margin-bottom: 0; -webkit-transform-origin: left top; transform-origin: left top; -webkit-transform: translate3d(0, 27px, 0); transform: translate3d(0, 27px, 0); -webkit-transition: -webkit-transform 150ms ease-in-out; transition: transform 150ms ease-in-out; } .md [floating-label].has-focus ion-label, .md [floating-label].has-value ion-label { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .md ion-navbar-section { min-height: 5.6rem; } .md .toolbar .back-button { margin: 0 0 0 12px; box-shadow: none; } .md .toolbar .back-button-icon { margin: 0; min-width: 44px; font-size: 2.4rem; font-weight: normal; text-align: left; } .md ion-popup popup-wrapper { max-width: 280px; border-radius: 2px; background-color: #fafafa; box-shadow: 0px 16px 20px rgba(0, 0, 0, 0.4); } .md .popup-head { text-align: left; padding: 24px 24px 10px 24px; } .md .popup-title { font-size: 20px; } .md .popup-sub-title { font-size: 15px; } .md .popup-body { padding: 10px 24px 24px 24px; color: rgba(0, 0, 0, 0.5); } .md .prompt-input { border-bottom: 1px solid #dedede; color: #000000; margin: 5px 0 5px 0; } .md .prompt-input:focus { border-bottom: 2px solid #387ef5; margin-bottom: 4px; } .md .popup-buttons { padding: 8px 8px 8px 24px; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; } .md .popup-buttons button { min-height: 36px; } .md .popup-buttons button.activated { opacity: 1; } .md ion-radio radio-icon { position: relative; top: 0; left: 0; display: block; width: 16px; height: 16px; margin: 0; border: 2px solid #787878; border-radius: 50%; } .md ion-radio[aria-checked=true] radio-icon { border-color: #387ef5; } .md ion-radio radio-icon:after { position: absolute; top: 2px; left: 2px; width: 8px; height: 8px; background: #387ef5; border-radius: 50%; content: ''; -webkit-transition: -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1); -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); } .md ion-radio[aria-checked=true] radio-icon:after { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } .md ion-radio[aria-checked=true] { color: #387ef5; } .md media-radio { display: block; margin: 9px 8px 9px 8px; } .md ion-radio[secondary][aria-checked=true] radio-icon { border-color: #32db64; } .md ion-radio[secondary][aria-checked=true] radio-icon:after { background: #32db64; } .md ion-radio[secondary][aria-checked=true] { color: #32db64; } .md ion-radio[danger][aria-checked=true] radio-icon { border-color: #f53d3d; } .md ion-radio[danger][aria-checked=true] radio-icon:after { background: #f53d3d; } .md ion-radio[danger][aria-checked=true] { color: #f53d3d; } .md ion-radio[light][aria-checked=true] radio-icon { border-color: #f4f4f4; } .md ion-radio[light][aria-checked=true] radio-icon:after { background: #f4f4f4; } .md ion-radio[light][aria-checked=true] { color: #f4f4f4; } .md ion-radio[dark][aria-checked=true] radio-icon { border-color: #222; } .md ion-radio[dark][aria-checked=true] radio-icon:after { background: #222; } .md ion-radio[dark][aria-checked=true] { color: #222; } .md ion-searchbar { padding: 8px; background: inherit; } .md .searchbar-search-icon, .md button.searchbar-cancel-icon { width: 21px; height: 21px; background-size: 20px; background-repeat: no-repeat; position: absolute; } .md .searchbar-search-icon.activated, .md button.searchbar-cancel-icon.activated { background-color: transparent; } .md .searchbar-search-icon { top: 11px; left: 16px; background-image: url("data:image/svg+xml;charset=utf-8,"); } .md button.searchbar-cancel-icon { display: none; height: 100%; margin: 0; top: 0; left: 10px; } .md .searchbar-input { padding: 6px 55px; height: 28px; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); font-size: 1.6rem; font-weight: 400; border-radius: 2px; color: #141414; background-color: #FFFFFF; background-position: 8px center; } .md .searchbar-input::-moz-placeholder { color: #AEAEAE; } .md .searchbar-input:-ms-input-placeholder { color: #AEAEAE; } .md .searchbar-input::-webkit-input-placeholder { color: #AEAEAE; text-indent: 0; } .md button.searchbar-close-icon { width: 22px; height: 100%; padding: 0; background-image: url("data:image/svg+xml;charset=utf-8,"); background-size: 22px; background-repeat: no-repeat; background-position: center; position: absolute; right: 13px; top: 0; } .md button.searchbar-close-icon.activated { background-color: transparent; } .md .searchbar-cancel { display: none; } .md .focused .searchbar-search-icon { display: none; } .md .focused button.searchbar-cancel-icon { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; } .md .toolbar ion-searchbar { padding: 3px; } .md .toolbar button.searchbar-cancel-icon { left: 14px; } .md ion-segment button, .md ion-segment [button] { border-width: 0; -webkit-transition: 100ms all linear; transition: 100ms all linear; font-size: 1.2rem; opacity: 0.7; min-height: 4rem; line-height: 4rem; border-radius: 0; border-bottom: 2px solid rgba(0, 0, 0, 0.1); } .md ion-segment button.activated, .md ion-segment button.segment-activated, .md ion-segment [button].activated, .md ion-segment [button].segment-activated { color: #387ef5; background-color: transparent; border-color: #387ef5; } .md .toolbar ion-segment { margin: 0 auto; } .md .toolbar ion-segment ion-segment-button[button][outline].activated, .md .toolbar ion-segment ion-segment-button[button][outline].segment-activated { background-color: transparent; opacity: 1; } .md .toolbar[primary] ion-segment ion-segment-button[button] { background-color: transparent; } .md .toolbar[primary] ion-segment ion-segment-button[button][outline] { color: white; } .md .toolbar[primary] ion-segment ion-segment-button[button][outline].activated, .md .toolbar[primary] ion-segment ion-segment-button[button][outline].segment-activated { background-color: transparent; color: white; border-color: white; opacity: 1; } .md .toolbar[primary] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[primary] ion-segment[primary] ion-segment-button[button][outline] { color: #387ef5; } .md .toolbar[primary] ion-segment[primary] ion-segment-button[button][outline].activated, .md .toolbar[primary] ion-segment[primary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #387ef5; border-color: #387ef5; opacity: 1; } .md .toolbar[primary] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[primary] ion-segment[secondary] ion-segment-button[button][outline] { color: #32db64; } .md .toolbar[primary] ion-segment[secondary] ion-segment-button[button][outline].activated, .md .toolbar[primary] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #32db64; border-color: #32db64; opacity: 1; } .md .toolbar[primary] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .md .toolbar[primary] ion-segment[danger] ion-segment-button[button][outline] { color: #f53d3d; } .md .toolbar[primary] ion-segment[danger] ion-segment-button[button][outline].activated, .md .toolbar[primary] ion-segment[danger] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f53d3d; border-color: #f53d3d; opacity: 1; } .md .toolbar[primary] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .md .toolbar[primary] ion-segment[light] ion-segment-button[button][outline] { color: #f4f4f4; } .md .toolbar[primary] ion-segment[light] ion-segment-button[button][outline].activated, .md .toolbar[primary] ion-segment[light] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f4f4f4; border-color: #f4f4f4; opacity: 1; } .md .toolbar[primary] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .md .toolbar[primary] ion-segment[dark] ion-segment-button[button][outline] { color: #222; } .md .toolbar[primary] ion-segment[dark] ion-segment-button[button][outline].activated, .md .toolbar[primary] ion-segment[dark] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #222; border-color: #222; opacity: 1; } .md ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .md ion-segment[primary] ion-segment-button[button][outline] { color: #387ef5; } .md ion-segment[primary] ion-segment-button[button][outline].activated, .md ion-segment[primary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #387ef5; border-color: #387ef5; opacity: 1; } .md .toolbar[secondary] ion-segment ion-segment-button[button] { background-color: transparent; } .md .toolbar[secondary] ion-segment ion-segment-button[button][outline] { color: white; } .md .toolbar[secondary] ion-segment ion-segment-button[button][outline].activated, .md .toolbar[secondary] ion-segment ion-segment-button[button][outline].segment-activated { background-color: transparent; color: white; border-color: white; opacity: 1; } .md .toolbar[secondary] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[secondary] ion-segment[primary] ion-segment-button[button][outline] { color: #387ef5; } .md .toolbar[secondary] ion-segment[primary] ion-segment-button[button][outline].activated, .md .toolbar[secondary] ion-segment[primary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #387ef5; border-color: #387ef5; opacity: 1; } .md .toolbar[secondary] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[secondary] ion-segment[secondary] ion-segment-button[button][outline] { color: #32db64; } .md .toolbar[secondary] ion-segment[secondary] ion-segment-button[button][outline].activated, .md .toolbar[secondary] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #32db64; border-color: #32db64; opacity: 1; } .md .toolbar[secondary] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .md .toolbar[secondary] ion-segment[danger] ion-segment-button[button][outline] { color: #f53d3d; } .md .toolbar[secondary] ion-segment[danger] ion-segment-button[button][outline].activated, .md .toolbar[secondary] ion-segment[danger] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f53d3d; border-color: #f53d3d; opacity: 1; } .md .toolbar[secondary] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .md .toolbar[secondary] ion-segment[light] ion-segment-button[button][outline] { color: #f4f4f4; } .md .toolbar[secondary] ion-segment[light] ion-segment-button[button][outline].activated, .md .toolbar[secondary] ion-segment[light] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f4f4f4; border-color: #f4f4f4; opacity: 1; } .md .toolbar[secondary] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .md .toolbar[secondary] ion-segment[dark] ion-segment-button[button][outline] { color: #222; } .md .toolbar[secondary] ion-segment[dark] ion-segment-button[button][outline].activated, .md .toolbar[secondary] ion-segment[dark] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #222; border-color: #222; opacity: 1; } .md ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .md ion-segment[secondary] ion-segment-button[button][outline] { color: #32db64; } .md ion-segment[secondary] ion-segment-button[button][outline].activated, .md ion-segment[secondary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #32db64; border-color: #32db64; opacity: 1; } .md .toolbar[danger] ion-segment ion-segment-button[button] { background-color: transparent; } .md .toolbar[danger] ion-segment ion-segment-button[button][outline] { color: white; } .md .toolbar[danger] ion-segment ion-segment-button[button][outline].activated, .md .toolbar[danger] ion-segment ion-segment-button[button][outline].segment-activated { background-color: transparent; color: white; border-color: white; opacity: 1; } .md .toolbar[danger] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[danger] ion-segment[primary] ion-segment-button[button][outline] { color: #387ef5; } .md .toolbar[danger] ion-segment[primary] ion-segment-button[button][outline].activated, .md .toolbar[danger] ion-segment[primary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #387ef5; border-color: #387ef5; opacity: 1; } .md .toolbar[danger] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[danger] ion-segment[secondary] ion-segment-button[button][outline] { color: #32db64; } .md .toolbar[danger] ion-segment[secondary] ion-segment-button[button][outline].activated, .md .toolbar[danger] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #32db64; border-color: #32db64; opacity: 1; } .md .toolbar[danger] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .md .toolbar[danger] ion-segment[danger] ion-segment-button[button][outline] { color: #f53d3d; } .md .toolbar[danger] ion-segment[danger] ion-segment-button[button][outline].activated, .md .toolbar[danger] ion-segment[danger] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f53d3d; border-color: #f53d3d; opacity: 1; } .md .toolbar[danger] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .md .toolbar[danger] ion-segment[light] ion-segment-button[button][outline] { color: #f4f4f4; } .md .toolbar[danger] ion-segment[light] ion-segment-button[button][outline].activated, .md .toolbar[danger] ion-segment[light] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f4f4f4; border-color: #f4f4f4; opacity: 1; } .md .toolbar[danger] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .md .toolbar[danger] ion-segment[dark] ion-segment-button[button][outline] { color: #222; } .md .toolbar[danger] ion-segment[dark] ion-segment-button[button][outline].activated, .md .toolbar[danger] ion-segment[dark] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #222; border-color: #222; opacity: 1; } .md ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .md ion-segment[danger] ion-segment-button[button][outline] { color: #f53d3d; } .md ion-segment[danger] ion-segment-button[button][outline].activated, .md ion-segment[danger] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f53d3d; border-color: #f53d3d; opacity: 1; } .md .toolbar[light] ion-segment ion-segment-button[button] { background-color: transparent; } .md .toolbar[light] ion-segment ion-segment-button[button][outline] { color: black; } .md .toolbar[light] ion-segment ion-segment-button[button][outline].activated, .md .toolbar[light] ion-segment ion-segment-button[button][outline].segment-activated { background-color: transparent; color: black; border-color: black; opacity: 1; } .md .toolbar[light] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[light] ion-segment[primary] ion-segment-button[button][outline] { color: #387ef5; } .md .toolbar[light] ion-segment[primary] ion-segment-button[button][outline].activated, .md .toolbar[light] ion-segment[primary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #387ef5; border-color: #387ef5; opacity: 1; } .md .toolbar[light] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[light] ion-segment[secondary] ion-segment-button[button][outline] { color: #32db64; } .md .toolbar[light] ion-segment[secondary] ion-segment-button[button][outline].activated, .md .toolbar[light] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #32db64; border-color: #32db64; opacity: 1; } .md .toolbar[light] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .md .toolbar[light] ion-segment[danger] ion-segment-button[button][outline] { color: #f53d3d; } .md .toolbar[light] ion-segment[danger] ion-segment-button[button][outline].activated, .md .toolbar[light] ion-segment[danger] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f53d3d; border-color: #f53d3d; opacity: 1; } .md .toolbar[light] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .md .toolbar[light] ion-segment[light] ion-segment-button[button][outline] { color: #f4f4f4; } .md .toolbar[light] ion-segment[light] ion-segment-button[button][outline].activated, .md .toolbar[light] ion-segment[light] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f4f4f4; border-color: #f4f4f4; opacity: 1; } .md .toolbar[light] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .md .toolbar[light] ion-segment[dark] ion-segment-button[button][outline] { color: #222; } .md .toolbar[light] ion-segment[dark] ion-segment-button[button][outline].activated, .md .toolbar[light] ion-segment[dark] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #222; border-color: #222; opacity: 1; } .md ion-segment[light] ion-segment-button[button] { background-color: transparent; } .md ion-segment[light] ion-segment-button[button][outline] { color: #f4f4f4; } .md ion-segment[light] ion-segment-button[button][outline].activated, .md ion-segment[light] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f4f4f4; border-color: #f4f4f4; opacity: 1; } .md .toolbar[dark] ion-segment ion-segment-button[button] { background-color: transparent; } .md .toolbar[dark] ion-segment ion-segment-button[button][outline] { color: white; } .md .toolbar[dark] ion-segment ion-segment-button[button][outline].activated, .md .toolbar[dark] ion-segment ion-segment-button[button][outline].segment-activated { background-color: transparent; color: white; border-color: white; opacity: 1; } .md .toolbar[dark] ion-segment[primary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[dark] ion-segment[primary] ion-segment-button[button][outline] { color: #387ef5; } .md .toolbar[dark] ion-segment[primary] ion-segment-button[button][outline].activated, .md .toolbar[dark] ion-segment[primary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #387ef5; border-color: #387ef5; opacity: 1; } .md .toolbar[dark] ion-segment[secondary] ion-segment-button[button] { background-color: transparent; } .md .toolbar[dark] ion-segment[secondary] ion-segment-button[button][outline] { color: #32db64; } .md .toolbar[dark] ion-segment[secondary] ion-segment-button[button][outline].activated, .md .toolbar[dark] ion-segment[secondary] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #32db64; border-color: #32db64; opacity: 1; } .md .toolbar[dark] ion-segment[danger] ion-segment-button[button] { background-color: transparent; } .md .toolbar[dark] ion-segment[danger] ion-segment-button[button][outline] { color: #f53d3d; } .md .toolbar[dark] ion-segment[danger] ion-segment-button[button][outline].activated, .md .toolbar[dark] ion-segment[danger] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f53d3d; border-color: #f53d3d; opacity: 1; } .md .toolbar[dark] ion-segment[light] ion-segment-button[button] { background-color: transparent; } .md .toolbar[dark] ion-segment[light] ion-segment-button[button][outline] { color: #f4f4f4; } .md .toolbar[dark] ion-segment[light] ion-segment-button[button][outline].activated, .md .toolbar[dark] ion-segment[light] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #f4f4f4; border-color: #f4f4f4; opacity: 1; } .md .toolbar[dark] ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .md .toolbar[dark] ion-segment[dark] ion-segment-button[button][outline] { color: #222; } .md .toolbar[dark] ion-segment[dark] ion-segment-button[button][outline].activated, .md .toolbar[dark] ion-segment[dark] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #222; border-color: #222; opacity: 1; } .md ion-segment[dark] ion-segment-button[button] { background-color: transparent; } .md ion-segment[dark] ion-segment-button[button][outline] { color: #222; } .md ion-segment[dark] ion-segment-button[button][outline].activated, .md ion-segment[dark] ion-segment-button[button][outline].segment-activated { background-color: transparent; color: #222; border-color: #222; opacity: 1; } .md ion-switch media-switch { padding: 12px 8px 12px 16px; } .md ion-switch switch-icon { position: relative; display: block; width: 36px; height: 14px; pointer-events: none; border-radius: 14px; background-color: #dedede; will-change: background-color; -webkit-transition: background-color 300ms; transition: background-color 300ms; } .md ion-switch[aria-checked=true] switch-icon { background-color: #b1cdfb; } .md ion-switch switch-icon:after { content: ''; position: absolute; top: -3px; left: 0; width: 20px; height: 20px; border-radius: 50%; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); background-color: #fff; will-change: transform, background-color; -webkit-transition-property: -webkit-transform, background-color; transition-property: transform, background-color; -webkit-transition-duration: 300ms; transition-duration: 300ms; } .md ion-switch[aria-checked=true] switch-icon:after { background-color: #387ef5; -webkit-transform: translate3d(16px, 0, 0); transform: translate3d(16px, 0, 0); } .md ion-switch[secondary][aria-checked=true] switch-icon { background-color: #9eeeb6; } .md ion-switch[secondary][aria-checked=true] switch-icon:after { background-color: #32db64; } .md ion-switch[danger][aria-checked=true] switch-icon { background-color: #fbb6b6; } .md ion-switch[danger][aria-checked=true] switch-icon:after { background-color: #f53d3d; } .md ion-switch[light][aria-checked=true] switch-icon { background-color: white; } .md ion-switch[light][aria-checked=true] switch-icon:after { background-color: #f4f4f4; } .md ion-switch[dark][aria-checked=true] switch-icon { background-color: #626262; } .md ion-switch[dark][aria-checked=true] switch-icon:after { background-color: #222; } .md .tab-button { padding: 12px 10px 5px 10px; min-height: 4.8rem; font-size: 1.4rem; font-weight: 500; opacity: 0.7; box-shadow: none; border-radius: 0; border-bottom: 2px solid transparent; } .md .tab-button[aria-selected=true] { opacity: 1.0; } .md .tab-button-text { margin-top: 5px; margin-bottom: 5px; text-transform: uppercase; } .md .tab-button-icon { font-size: 2.4rem; min-width: 7.4rem; } .md [tabbar-icons=bottom] .tab-button { padding-top: 8px; padding-bottom: 8px; } .md [tabbar-icons=right] .tab-button, .md [tabbar-icons=left] .tab-button { padding-bottom: 10px; } .md [tabbar-icons=right] .tab-button icon, .md [tabbar-icons=left] .tab-button icon { min-width: 24px; } .md .tab-button.icon-only, .md .tab-button.has-title-only { padding: 6px 10px 6px 10px; } .md tab-highlight { position: absolute; display: block; height: 2px; width: 1px; bottom: 0; left: 0; background: #387ef5; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateZ(0); transform: translateZ(0); } .md tab-highlight.animate { -webkit-transition-duration: 300ms; transition-duration: 300ms; } .md [tabbar-placement=bottom] tab-highlight { top: 0; } .md tabbar[primary] tab-highlight { background: white; } .md tabbar[secondary] tab-highlight { background: white; } .md tabbar[danger] tab-highlight { background: white; } .md tabbar[light] tab-highlight { background: black; } .md tabbar[dark] tab-highlight { background: white; } .md md-ripple { position: absolute; z-index: 0; display: block; border-radius: 50%; background: rgba(0, 0, 0, 0.1); overflow: hidden; pointer-events: none; -webkit-transform: scale(0.001) translateZ(0); transform: scale(0.001) translateZ(0); } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md { font-family: "Roboto", "Helvetica Neue", sans-serif; } ================================================ FILE: content/css/v2-demos/ionic.css ================================================ @charset "UTF-8"; /*! normalize.css v3.0.2 | MIT License | github.com/necolas/normalize.css */ audio, canvas, progress, video { vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } b, strong { font-weight: bold; } img { border: 0; max-width: 100%; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { box-sizing: content-box; height: 1px; border-width: 0; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } label, input, select, textarea { line-height: normal; font-family: inherit; } form, input, optgroup, select { color: inherit; font: inherit; margin: 0; } html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button { border: 0; line-height: 1; font-family: inherit; font-variant: inherit; font-style: inherit; text-transform: none; -webkit-appearance: button; cursor: pointer; } a[disabled], button[disabled] html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; } html { width: 100%; height: 100%; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; } body { position: fixed; overflow: hidden; width: 100%; height: 100%; max-width: 100%; max-height: 100%; margin: 0; padding: 0; word-wrap: break-word; -ms-touch-action: manipulation; touch-action: manipulation; -webkit-user-drag: none; -ms-content-zooming: none; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; text-rendering: optimizeLegibility; -webkit-text-size-adjust: none; -ms-text-size-adjust: none; text-size-adjust: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } ion-app, ion-nav, ion-tabs { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; } ion-navbar-section { display: block; width: 100%; min-height: 50px; } ion-content-section { display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; position: relative; width: 100%; height: 100%; } ion-page { display: none; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-page.show-page { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } ion-content { position: relative; display: block; width: 100%; height: 100%; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; } scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: block; overflow-y: scroll; overflow-x: hidden; -webkit-overflow-scrolling: touch; will-change: scroll-position; } ion-tabbar { display: block; position: absolute; top: 0; left: 0; width: 100%; min-height: 50px; } ion-tab-section { display: block; position: relative; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; } ion-page.tab-subpage { position: fixed; z-index: 10; } ion-navbar { display: block; position: absolute; top: 0; left: 0; width: 100%; min-height: 50px; z-index: 10; } ion-navbar-section ion-navbar.toolbar { position: absolute; } ion-toolbar { display: block; width: 100%; } ion-toolbar[position=bottom] { bottom: 0; z-index: 10; } .sticky { position: -webkit-sticky; position: sticky; top: 0; } html { font-size: 62.5%; } a { background-color: transparent; } .enable-hover a:hover { opacity: 0.7; } h1, h2, h3, h4, h5, h6 { font-weight: 500; line-height: 1.2; margin-top: 1.6rem; margin-bottom: 1rem; } [padding] h1:first-child, [padding] h2:first-child, [padding] h3:first-child, [padding] h4:first-child, [padding] h5:first-child, [padding] h6:first-child { margin-top: -0.3rem; } h1 + h2, h1 + h3, h2 + h3 { margin-top: -0.3rem; } h1 { font-size: 2.6rem; margin-top: 2rem; } h2 { font-size: 2.4rem; margin-top: 1.8rem; } h3 { font-size: 2.2rem; } h4 { font-size: 2rem; } h5 { font-size: 1.8rem; } h6 { font-size: 1.6rem; } small { font-size: 75%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } .align-left { text-align: left; } .align-center { text-align: center; } .align-right { text-align: right; } .no-transition { -webkit-transition: none !important; transition: none !important; } .hide, [hidden], template, root-anchor { display: none !important; } [padding], [padding] > scroll-content { padding: 16px; } [padding-top] { padding-top: 16px; } [padding-right] { padding-right: 16px; } [padding-bottom] { padding-bottom: 16px; } [padding-left] { padding-left: 16px; } [padding-vertical] { padding-top: 16px; padding-bottom: 16px; } [padding-horizontal] { padding-right: 16px; padding-left: 16px; } :focus, :active { outline: none; } .focus-outline :focus { outline-offset: -1px; outline: thin dotted; } .focus-outline button:focus, .focus-outline [button]:focus { border-color: #51a7e8; box-shadow: 0px 0px 8px 0px #51a7e8; outline: thin solid #51a7e8; } .focus-outline ion-input.input-focused, .focus-outline button[ion-item]:focus, .focus-outline a[ion-item]:focus { border-color: #51a7e8; box-shadow: inset 0px 0px 8px 0px #51a7e8 !important; } .focus-outline ion-input :focus { outline: none; } focus-ctrl { position: fixed; } focus-ctrl input, focus-ctrl button { position: fixed; top: 1px; width: 9px; left: -9999px; z-index: 9999; pointer-events: none; } .hide-focused-input { -webkit-box-flex: 0 !important; -webkit-flex: 0 0 8px !important; -ms-flex: 0 0 8px !important; flex: 0 0 8px !important; margin: 0 !important; -webkit-transform: translate3d(-9999px, 0, 0); transform: translate3d(-9999px, 0, 0); pointer-events: none; } [floating-label] .hide-focused-input, [stacked-label] .hide-focused-input { margin-top: -8px !important; } .cloned-input { pointer-events: none; } .backdrop { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; opacity: 0.01; display: block; -webkit-transform: translateZ(0); transform: translateZ(0); } click-block { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; z-index: 9999; -webkit-transform: translate3d(0px, -100%, 0px); transform: translate3d(0px, -100%, 0px); -webkit-transform: translate3d(0px, calc(-100% + 1px), 0px); transform: translate3d(0px, calc(-100% + 1px), 0px); } .click-block-active { -webkit-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px); } @-webkit-keyframes rotation { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes rotation { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } ion-loading-icon { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; margin: auto; font-family: 'Ionicons'; font-size: 128px; color: #666666; -webkit-animation: rotation 45s infinite linear; animation: rotation 45s infinite linear; } ion-loading-icon:before { content: "\f44e"; } ion-row { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; padding: 5px; width: 100%; } ion-row[wrap] { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; } ion-row[flush] { padding: 0; } ion-row[top] { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } ion-row[bottom] { -webkit-box-align: end; -webkit-align-items: flex-end; -ms-flex-align: end; align-items: flex-end; } ion-row[center] { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-row[stretch] { -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; } ion-row[baseline] { -webkit-box-align: baseline; -webkit-align-items: baseline; -ms-flex-align: baseline; align-items: baseline; } ion-row + ion-row { margin-top: -5px; padding-top: 0; } ion-col { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; display: block; padding: 5px; width: 100%; } ion-col[top] { -webkit-align-self: flex-start; -ms-flex-item-align: start; align-self: flex-start; } ion-col[bottom] { -webkit-align-self: flex-end; -ms-flex-item-align: end; align-self: flex-end; } ion-col[center] { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } ion-col[stretch] { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; } ion-col[baseline] { -webkit-align-self: baseline; -ms-flex-item-align: baseline; align-self: baseline; } /* Column Offsets */ ion-col[offset-10] { margin-left: 10%; } ion-col[offset-20] { margin-left: 20%; } ion-col[offset-25] { margin-left: 25%; } ion-col[offset-33], ion-col[offset-34] { margin-left: 33.3333%; } ion-col[offset-50] { margin-left: 50%; } ion-col[offset-66], ion-col[offset-67] { margin-left: 66.6666%; } ion-col[offset-75] { margin-left: 75%; } ion-col[offset-80] { margin-left: 80%; } ion-col[offset-90] { margin-left: 90%; } /* Explicit Column Percent Sizes */ /* By default each grid column will evenly distribute */ /* across the grid. However, you can specify individual */ /* columns to take up a certain size of the available area */ ion-col[width-10] { -webkit-box-flex: 0; -webkit-flex: 0 0 10%; -ms-flex: 0 0 10%; flex: 0 0 10%; max-width: 10%; } ion-col[width-20] { -webkit-box-flex: 0; -webkit-flex: 0 0 20%; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } ion-col[width-25] { -webkit-box-flex: 0; -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } ion-col[width-33], ion-col[width-34] { -webkit-box-flex: 0; -webkit-flex: 0 0 33.3333%; -ms-flex: 0 0 33.3333%; flex: 0 0 33.3333%; max-width: 33.3333%; } ion-col[width-50] { -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } ion-col[width-66], ion-col[width-67] { -webkit-box-flex: 0; -webkit-flex: 0 0 66.6666%; -ms-flex: 0 0 66.6666%; flex: 0 0 66.6666%; max-width: 66.6666%; } ion-col[width-75] { -webkit-box-flex: 0; -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } ion-col[width-80] { -webkit-box-flex: 0; -webkit-flex: 0 0 80%; -ms-flex: 0 0 80%; flex: 0 0 80%; max-width: 80%; } ion-col[width-90] { -webkit-box-flex: 0; -webkit-flex: 0 0 90%; -ms-flex: 0 0 90%; flex: 0 0 90%; max-width: 90%; } /* Responsive Grid Classes */ /* Adding a class of responsive-X to a row */ /* will trigger the width-direction to */ /* change to column and add some margin */ /* to any columns in the row for clearity */ @media (max-width: 567px) { [responsive-sm] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-sm] ion-col[width-10], [responsive-sm] ion-col[width-20], [responsive-sm] ion-col[width-25], [responsive-sm] ion-col[width-33], [responsive-sm] ion-col[width-34], [responsive-sm] ion-col[width-50], [responsive-sm] ion-col[width-66], [responsive-sm] ion-col[width-67], [responsive-sm] ion-col[width-75], [responsive-sm] ion-col[width-80], [responsive-sm] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; max-width: 100%; width: 100%; } } @media (max-width: 767px) { [responsive-md] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-md] ion-col[width-10], [responsive-md] ion-col[width-20], [responsive-md] ion-col[width-25], [responsive-md] ion-col[width-33], [responsive-md] ion-col[width-34], [responsive-md] ion-col[width-50], [responsive-md] ion-col[width-66], [responsive-md] ion-col[width-67], [responsive-md] ion-col[width-75], [responsive-md] ion-col[width-80], [responsive-md] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; max-width: 100%; width: 100%; } } @media (max-width: 1023px) { [responsive-lg] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-lg] ion-col[width-10], [responsive-lg] ion-col[width-20], [responsive-lg] ion-col[width-25], [responsive-lg] ion-col[width-33], [responsive-lg] ion-col[width-34], [responsive-lg] ion-col[width-50], [responsive-lg] ion-col[width-66], [responsive-lg] ion-col[width-67], [responsive-lg] ion-col[width-75], [responsive-lg] ion-col[width-80], [responsive-lg] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; max-width: 100%; width: 100%; } } icon { display: inline-block; font-size: 1.2em; } icon[small] { font-size: 1.1em; } ion-menu { position: absolute; top: 0; right: auto; bottom: 0; left: 0; width: 304px; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-transform: translate3d(-9999px, 0px, 0px); transform: translate3d(-9999px, 0px, 0px); } ion-menu[side=right] { right: 0; left: auto; } ion-menu .backdrop { z-index: -1; display: none; } .menu-content { -webkit-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px); } .menu-content-open ion-pane, .menu-content-open ion-content, .menu-content-open .toolbar { pointer-events: none; } @media (max-width: 340px) { ion-menu { width: 264px; } } ion-menu[type=reveal].show-menu { -webkit-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px); } ion-menu[type=overlay] { z-index: 80; left: -8px; } ion-menu[type=overlay] .backdrop { display: block; -webkit-transform: translate3d(-9999px, 0px, 0px); transform: translate3d(-9999px, 0px, 0px); opacity: 0.01; left: -3000px; width: 6000px; } ion-menu[type=overlay] .backdrop.show-backdrop { -webkit-transform: translate3d(0px, 0px, 0px); transform: translate3d(0px, 0px, 0px); } ion-menu[type=overlay][side=right] { left: 8px; } ion-menu[type=push][side=right] { left: 0px; } ion-page.modal { z-index: 1000; -webkit-transform: translate3d(0px, 100%, 0px); transform: translate3d(0px, 100%, 0px); } ion-scroll { position: relative; display: block; } ion-scroll.scroll-x scroll-content { overflow-x: auto; } ion-scroll.scroll-y scroll-content { overflow-y: auto; } ion-scroll[center] scroll-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } ion-scroll scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow-y: hidden; overflow-x: hidden; -webkit-overflow-scrolling: touch; will-change: scroll-position; } ion-swipe-slides { display: block; width: 100%; height: 100%; } /** * Swiper 3.1.2 * Most modern mobile touch slider and framework with hardware accelerated transitions * * http://www.idangero.us/swiper/ * * Copyright 2015, Vladimir Kharlampidi * The iDangero.us * http://www.idangero.us/ * * Licensed under MIT * * Released on: August 22, 2015 */ .swiper-container { margin: 0 auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { -webkit-box-orient: vertical; -ms-flex-direction: column; -webkit-flex-direction: column; flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-transition-property: -webkit-transform; transition-property: transform; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { -webkit-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { -webkit-flex-shrink: 0; -ms-flex: 0 0 auto; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { -ms-touch-action: pan-y; touch-action: pan-y; } .swiper-wp8-vertical { -ms-touch-action: pan-x; touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background-position: center; background-repeat: no-repeat; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: 0.35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; -webkit-transition: 300ms; transition: 300ms; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } .swiper-pagination-bullet { width: 8px; height: 8px; display: inline-block; border-radius: 100%; background: #000; opacity: 0.2; } button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; box-shadow: none; -moz-appearance: none; -ms-appearance: none; -webkit-appearance: none; appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination { right: 10px; top: 50%; -webkit-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination { bottom: 20px; left: 0; width: 100%; } .swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet { margin: 0 5px; } /* 3D Container */ .swiper-container-3d { -webkit-perspective: 1200px; -o-perspective: 1200px; perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { -webkit-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-right { background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-top { background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } /* Cube */ .swiper-container-cube { overflow: visible; } .swiper-container-cube .swiper-slide { pointer-events: none; visibility: hidden; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; width: 100%; height: 100%; z-index: 1; } .swiper-container-cube.swiper-container-rtl .swiper-slide { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right { z-index: 0; -webkit-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: 0.6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; -webkit-transform-origin: 50%; transform-origin: 50%; -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); background-position: 50%; background-size: 100%; background-repeat: no-repeat; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @-webkit-keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); } } @keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } ion-slides { width: 100%; height: 100%; display: block; } .slide-zoom { display: block; width: 100%; text-align: center; } .swiper-container { width: 100%; height: 100%; padding: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; } .swiper-wrapper { width: 100%; height: 100%; padding: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .swiper-slide { width: 100%; height: 100%; box-sizing: border-box; text-align: center; font-size: 18px; /* Center slide text vertically */ display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .swiper-slide img { width: auto; height: auto; max-width: 100%; max-height: 100%; } @font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.ttf?v=3.0.0") format("truetype"), url("../fonts/ionicons.woff?v=3.0.0") format("woff"); font-weight: normal; font-style: normal; } icon, [icon], .icon { display: inline-block; font-family: "Ionicons"; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; speak: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /*! Ionicons, v3.0.0 Created by Ben Sperry for the Ionic Framework, https://ionicons.com/ https://twitter.com/benjsperry https://twitter.com/ionicframework MIT License: https://github.com/ionic-team/ionicons Android-style icons originally built by Google’s Material Design Icons: https://github.com/google/material-design-icons used under CC BY http://creativecommons.org/licenses/by/4.0/ Modified icons to fit ionicon’s grid from original. */ .ion-ios-add:before { content: "\f102"; } .ion-ios-add-circle:before { content: "\f101"; } .ion-ios-add-circle-outline:before { content: "\f100"; } .ion-ios-alarm:before { content: "\f3c8"; } .ion-ios-alarm-outline:before { content: "\f3c7"; } .ion-ios-albums:before { content: "\f3ca"; } .ion-ios-albums-outline:before { content: "\f3c9"; } .ion-ios-alert:before { content: "\f104"; } .ion-ios-alert-outline:before { content: "\f103"; } .ion-ios-american-football:before { content: "\f106"; } .ion-ios-american-football-outline:before { content: "\f105"; } .ion-ios-analytics:before { content: "\f3ce"; } .ion-ios-analytics-outline:before { content: "\f3cd"; } .ion-ios-aperture:before { content: "\f108"; } .ion-ios-aperture-outline:before { content: "\f107"; } .ion-ios-apps:before { content: "\f10a"; } .ion-ios-apps-outline:before { content: "\f109"; } .ion-ios-appstore:before { content: "\f10c"; } .ion-ios-appstore-outline:before { content: "\f10b"; } .ion-ios-archive:before { content: "\f10e"; } .ion-ios-archive-outline:before { content: "\f10d"; } .ion-ios-arrow-back:before { content: "\f3cf"; } .ion-ios-arrow-down:before { content: "\f3d0"; } .ion-ios-arrow-dropdown:before { content: "\f110"; } .ion-ios-arrow-dropdown-circle:before { content: "\f10f"; } .ion-ios-arrow-dropleft:before { content: "\f112"; } .ion-ios-arrow-dropleft-circle:before { content: "\f111"; } .ion-ios-arrow-dropright:before { content: "\f114"; } .ion-ios-arrow-dropright-circle:before { content: "\f113"; } .ion-ios-arrow-dropup:before { content: "\f116"; } .ion-ios-arrow-dropup-circle:before { content: "\f115"; } .ion-ios-arrow-forward:before { content: "\f3d1"; } .ion-ios-arrow-round-back:before { content: "\f117"; } .ion-ios-arrow-round-down:before { content: "\f118"; } .ion-ios-arrow-round-forward:before { content: "\f119"; } .ion-ios-arrow-round-up:before { content: "\f11a"; } .ion-ios-arrow-up:before { content: "\f3d8"; } .ion-ios-at:before { content: "\f3da"; } .ion-ios-at-outline:before { content: "\f3d9"; } .ion-ios-attach:before { content: "\f11b"; } .ion-ios-backspace:before { content: "\f11d"; } .ion-ios-backspace-outline:before { content: "\f11c"; } .ion-ios-barcode:before { content: "\f3dc"; } .ion-ios-barcode-outline:before { content: "\f3db"; } .ion-ios-baseball:before { content: "\f3de"; } .ion-ios-baseball-outline:before { content: "\f3dd"; } .ion-ios-basket:before { content: "\f11f"; } .ion-ios-basket-outline:before { content: "\f11e"; } .ion-ios-basketball:before { content: "\f3e0"; } .ion-ios-basketball-outline:before { content: "\f3df"; } .ion-ios-battery-charging:before { content: "\f120"; } .ion-ios-battery-dead:before { content: "\f121"; } .ion-ios-battery-full:before { content: "\f122"; } .ion-ios-beaker:before { content: "\f124"; } .ion-ios-beaker-outline:before { content: "\f123"; } .ion-ios-beer:before { content: "\f126"; } .ion-ios-beer-outline:before { content: "\f125"; } .ion-ios-bicycle:before { content: "\f127"; } .ion-ios-bluetooth:before { content: "\f128"; } .ion-ios-boat:before { content: "\f12a"; } .ion-ios-boat-outline:before { content: "\f129"; } .ion-ios-body:before { content: "\f3e4"; } .ion-ios-body-outline:before { content: "\f3e3"; } .ion-ios-bonfire:before { content: "\f12c"; } .ion-ios-bonfire-outline:before { content: "\f12b"; } .ion-ios-book:before { content: "\f3e8"; } .ion-ios-book-outline:before { content: "\f3e7"; } .ion-ios-bookmark:before { content: "\f12e"; } .ion-ios-bookmark-outline:before { content: "\f12d"; } .ion-ios-bookmarks:before { content: "\f3ea"; } .ion-ios-bookmarks-outline:before { content: "\f3e9"; } .ion-ios-bowtie:before { content: "\f130"; } .ion-ios-bowtie-outline:before { content: "\f12f"; } .ion-ios-briefcase:before { content: "\f3ee"; } .ion-ios-briefcase-outline:before { content: "\f3ed"; } .ion-ios-browsers:before { content: "\f3f0"; } .ion-ios-browsers-outline:before { content: "\f3ef"; } .ion-ios-brush:before { content: "\f132"; } .ion-ios-brush-outline:before { content: "\f131"; } .ion-ios-bug:before { content: "\f134"; } .ion-ios-bug-outline:before { content: "\f133"; } .ion-ios-build:before { content: "\f136"; } .ion-ios-build-outline:before { content: "\f135"; } .ion-ios-bulb:before { content: "\f138"; } .ion-ios-bulb-outline:before { content: "\f137"; } .ion-ios-bus:before { content: "\f13a"; } .ion-ios-bus-outline:before { content: "\f139"; } .ion-ios-cafe:before { content: "\f13c"; } .ion-ios-cafe-outline:before { content: "\f13b"; } .ion-ios-calculator:before { content: "\f3f2"; } .ion-ios-calculator-outline:before { content: "\f3f1"; } .ion-ios-calendar:before { content: "\f3f4"; } .ion-ios-calendar-outline:before { content: "\f3f3"; } .ion-ios-call:before { content: "\f13e"; } .ion-ios-call-outline:before { content: "\f13d"; } .ion-ios-camera:before { content: "\f3f6"; } .ion-ios-camera-outline:before { content: "\f3f5"; } .ion-ios-car:before { content: "\f140"; } .ion-ios-car-outline:before { content: "\f13f"; } .ion-ios-card:before { content: "\f142"; } .ion-ios-card-outline:before { content: "\f141"; } .ion-ios-cart:before { content: "\f3f8"; } .ion-ios-cart-outline:before { content: "\f3f7"; } .ion-ios-cash:before { content: "\f144"; } .ion-ios-cash-outline:before { content: "\f143"; } .ion-ios-chatboxes:before { content: "\f3fa"; } .ion-ios-chatboxes-outline:before { content: "\f3f9"; } .ion-ios-chatbubbles:before { content: "\f146"; } .ion-ios-chatbubbles-outline:before { content: "\f145"; } .ion-ios-checkbox:before { content: "\f148"; } .ion-ios-checkbox-outline:before { content: "\f147"; } .ion-ios-checkmark:before { content: "\f3ff"; } .ion-ios-checkmark-circle:before { content: "\f14a"; } .ion-ios-checkmark-circle-outline:before { content: "\f149"; } .ion-ios-clipboard:before { content: "\f14c"; } .ion-ios-clipboard-outline:before { content: "\f14b"; } .ion-ios-clock:before { content: "\f403"; } .ion-ios-clock-outline:before { content: "\f402"; } .ion-ios-close:before { content: "\f406"; } .ion-ios-close-circle:before { content: "\f14e"; } .ion-ios-close-circle-outline:before { content: "\f14d"; } .ion-ios-closed-captioning:before { content: "\f150"; } .ion-ios-closed-captioning-outline:before { content: "\f14f"; } .ion-ios-cloud:before { content: "\f40c"; } .ion-ios-cloud-circle:before { content: "\f152"; } .ion-ios-cloud-circle-outline:before { content: "\f151"; } .ion-ios-cloud-done:before { content: "\f154"; } .ion-ios-cloud-done-outline:before { content: "\f153"; } .ion-ios-cloud-download:before { content: "\f408"; } .ion-ios-cloud-download-outline:before { content: "\f407"; } .ion-ios-cloud-outline:before { content: "\f409"; } .ion-ios-cloud-upload:before { content: "\f40b"; } .ion-ios-cloud-upload-outline:before { content: "\f40a"; } .ion-ios-cloudy:before { content: "\f410"; } .ion-ios-cloudy-night:before { content: "\f40e"; } .ion-ios-cloudy-night-outline:before { content: "\f40d"; } .ion-ios-cloudy-outline:before { content: "\f40f"; } .ion-ios-code:before { content: "\f157"; } .ion-ios-code-download:before { content: "\f155"; } .ion-ios-code-working:before { content: "\f156"; } .ion-ios-cog:before { content: "\f412"; } .ion-ios-cog-outline:before { content: "\f411"; } .ion-ios-color-fill:before { content: "\f159"; } .ion-ios-color-fill-outline:before { content: "\f158"; } .ion-ios-color-filter:before { content: "\f414"; } .ion-ios-color-filter-outline:before { content: "\f413"; } .ion-ios-color-palette:before { content: "\f15b"; } .ion-ios-color-palette-outline:before { content: "\f15a"; } .ion-ios-color-wand:before { content: "\f416"; } .ion-ios-color-wand-outline:before { content: "\f415"; } .ion-ios-compass:before { content: "\f15d"; } .ion-ios-compass-outline:before { content: "\f15c"; } .ion-ios-construct:before { content: "\f15f"; } .ion-ios-construct-outline:before { content: "\f15e"; } .ion-ios-contact:before { content: "\f41a"; } .ion-ios-contact-outline:before { content: "\f419"; } .ion-ios-contacts:before { content: "\f161"; } .ion-ios-contacts-outline:before { content: "\f160"; } .ion-ios-contract:before { content: "\f162"; } .ion-ios-contrast:before { content: "\f163"; } .ion-ios-copy:before { content: "\f41c"; } .ion-ios-copy-outline:before { content: "\f41b"; } .ion-ios-create:before { content: "\f165"; } .ion-ios-create-outline:before { content: "\f164"; } .ion-ios-crop:before { content: "\f41e"; } .ion-ios-crop-outline:before { content: "\f166"; } .ion-ios-cube:before { content: "\f168"; } .ion-ios-cube-outline:before { content: "\f167"; } .ion-ios-cut:before { content: "\f16a"; } .ion-ios-cut-outline:before { content: "\f169"; } .ion-ios-desktop:before { content: "\f16c"; } .ion-ios-desktop-outline:before { content: "\f16b"; } .ion-ios-disc:before { content: "\f16e"; } .ion-ios-disc-outline:before { content: "\f16d"; } .ion-ios-document:before { content: "\f170"; } .ion-ios-document-outline:before { content: "\f16f"; } .ion-ios-done-all:before { content: "\f171"; } .ion-ios-download:before { content: "\f420"; } .ion-ios-download-outline:before { content: "\f41f"; } .ion-ios-easel:before { content: "\f173"; } .ion-ios-easel-outline:before { content: "\f172"; } .ion-ios-egg:before { content: "\f175"; } .ion-ios-egg-outline:before { content: "\f174"; } .ion-ios-exit:before { content: "\f177"; } .ion-ios-exit-outline:before { content: "\f176"; } .ion-ios-expand:before { content: "\f178"; } .ion-ios-eye:before { content: "\f425"; } .ion-ios-eye-off:before { content: "\f17a"; } .ion-ios-eye-off-outline:before { content: "\f179"; } .ion-ios-eye-outline:before { content: "\f424"; } .ion-ios-fastforward:before { content: "\f427"; } .ion-ios-fastforward-outline:before { content: "\f426"; } .ion-ios-female:before { content: "\f17b"; } .ion-ios-filing:before { content: "\f429"; } .ion-ios-filing-outline:before { content: "\f428"; } .ion-ios-film:before { content: "\f42b"; } .ion-ios-film-outline:before { content: "\f42a"; } .ion-ios-finger-print:before { content: "\f17c"; } .ion-ios-flag:before { content: "\f42d"; } .ion-ios-flag-outline:before { content: "\f42c"; } .ion-ios-flame:before { content: "\f42f"; } .ion-ios-flame-outline:before { content: "\f42e"; } .ion-ios-flash:before { content: "\f17e"; } .ion-ios-flash-outline:before { content: "\f17d"; } .ion-ios-flask:before { content: "\f431"; } .ion-ios-flask-outline:before { content: "\f430"; } .ion-ios-flower:before { content: "\f433"; } .ion-ios-flower-outline:before { content: "\f432"; } .ion-ios-folder:before { content: "\f435"; } .ion-ios-folder-open:before { content: "\f180"; } .ion-ios-folder-open-outline:before { content: "\f17f"; } .ion-ios-folder-outline:before { content: "\f434"; } .ion-ios-football:before { content: "\f437"; } .ion-ios-football-outline:before { content: "\f436"; } .ion-ios-funnel:before { content: "\f182"; } .ion-ios-funnel-outline:before { content: "\f181"; } .ion-ios-game-controller-a:before { content: "\f439"; } .ion-ios-game-controller-a-outline:before { content: "\f438"; } .ion-ios-game-controller-b:before { content: "\f43b"; } .ion-ios-game-controller-b-outline:before { content: "\f43a"; } .ion-ios-git-branch:before { content: "\f183"; } .ion-ios-git-commit:before { content: "\f184"; } .ion-ios-git-compare:before { content: "\f185"; } .ion-ios-git-merge:before { content: "\f186"; } .ion-ios-git-network:before { content: "\f187"; } .ion-ios-git-pull-request:before { content: "\f188"; } .ion-ios-glasses:before { content: "\f43f"; } .ion-ios-glasses-outline:before { content: "\f43e"; } .ion-ios-globe:before { content: "\f18a"; } .ion-ios-globe-outline:before { content: "\f189"; } .ion-ios-grid:before { content: "\f18c"; } .ion-ios-grid-outline:before { content: "\f18b"; } .ion-ios-hammer:before { content: "\f18e"; } .ion-ios-hammer-outline:before { content: "\f18d"; } .ion-ios-hand:before { content: "\f190"; } .ion-ios-hand-outline:before { content: "\f18f"; } .ion-ios-happy:before { content: "\f192"; } .ion-ios-happy-outline:before { content: "\f191"; } .ion-ios-headset:before { content: "\f194"; } .ion-ios-headset-outline:before { content: "\f193"; } .ion-ios-heart:before { content: "\f443"; } .ion-ios-heart-outline:before { content: "\f442"; } .ion-ios-help:before { content: "\f446"; } .ion-ios-help-buoy:before { content: "\f196"; } .ion-ios-help-buoy-outline:before { content: "\f195"; } .ion-ios-help-circle:before { content: "\f198"; } .ion-ios-help-circle-outline:before { content: "\f197"; } .ion-ios-home:before { content: "\f448"; } .ion-ios-home-outline:before { content: "\f447"; } .ion-ios-ice-cream:before { content: "\f19a"; } .ion-ios-ice-cream-outline:before { content: "\f199"; } .ion-ios-image:before { content: "\f19c"; } .ion-ios-image-outline:before { content: "\f19b"; } .ion-ios-images:before { content: "\f19e"; } .ion-ios-images-outline:before { content: "\f19d"; } .ion-ios-infinite:before { content: "\f44a"; } .ion-ios-infinite-outline:before { content: "\f449"; } .ion-ios-information:before { content: "\f44d"; } .ion-ios-information-circle:before { content: "\f1a0"; } .ion-ios-information-circle-outline:before { content: "\f19f"; } .ion-ios-ionic:before { content: "\f1a1"; } .ion-ios-ionic-outline:before { content: "\f44e"; } .ion-ios-ionitron:before { content: "\f1a3"; } .ion-ios-ionitron-outline:before { content: "\f1a2"; } .ion-ios-jet:before { content: "\f1a5"; } .ion-ios-jet-outline:before { content: "\f1a4"; } .ion-ios-key:before { content: "\f1a7"; } .ion-ios-key-outline:before { content: "\f1a6"; } .ion-ios-keypad:before { content: "\f450"; } .ion-ios-keypad-outline:before { content: "\f44f"; } .ion-ios-laptop:before { content: "\f1a8"; } .ion-ios-leaf:before { content: "\f1aa"; } .ion-ios-leaf-outline:before { content: "\f1a9"; } .ion-ios-list:before { content: "\f454"; } .ion-ios-list-box:before { content: "\f1ac"; } .ion-ios-list-box-outline:before { content: "\f1ab"; } .ion-ios-locate:before { content: "\f1ae"; } .ion-ios-locate-outline:before { content: "\f1ad"; } .ion-ios-lock:before { content: "\f1b0"; } .ion-ios-lock-outline:before { content: "\f1af"; } .ion-ios-log-in:before { content: "\f1b1"; } .ion-ios-log-out:before { content: "\f1b2"; } .ion-ios-magnet:before { content: "\f1b4"; } .ion-ios-magnet-outline:before { content: "\f1b3"; } .ion-ios-mail:before { content: "\f1b8"; } .ion-ios-mail-open:before { content: "\f1b6"; } .ion-ios-mail-open-outline:before { content: "\f1b5"; } .ion-ios-mail-outline:before { content: "\f1b7"; } .ion-ios-male:before { content: "\f1b9"; } .ion-ios-man:before { content: "\f1bb"; } .ion-ios-man-outline:before { content: "\f1ba"; } .ion-ios-map:before { content: "\f1bd"; } .ion-ios-map-outline:before { content: "\f1bc"; } .ion-ios-medal:before { content: "\f1bf"; } .ion-ios-medal-outline:before { content: "\f1be"; } .ion-ios-medical:before { content: "\f45c"; } .ion-ios-medical-outline:before { content: "\f45b"; } .ion-ios-medkit:before { content: "\f45e"; } .ion-ios-medkit-outline:before { content: "\f45d"; } .ion-ios-megaphone:before { content: "\f1c1"; } .ion-ios-megaphone-outline:before { content: "\f1c0"; } .ion-ios-menu:before { content: "\f1c3"; } .ion-ios-menu-outline:before { content: "\f1c2"; } .ion-ios-mic:before { content: "\f461"; } .ion-ios-mic-off:before { content: "\f45f"; } .ion-ios-mic-off-outline:before { content: "\f1c4"; } .ion-ios-mic-outline:before { content: "\f460"; } .ion-ios-microphone:before { content: "\f1c6"; } .ion-ios-microphone-outline:before { content: "\f1c5"; } .ion-ios-moon:before { content: "\f468"; } .ion-ios-moon-outline:before { content: "\f467"; } .ion-ios-more:before { content: "\f1c8"; } .ion-ios-more-outline:before { content: "\f1c7"; } .ion-ios-move:before { content: "\f1cb"; } .ion-ios-musical-note:before { content: "\f46b"; } .ion-ios-musical-note-outline:before { content: "\f1cc"; } .ion-ios-musical-notes:before { content: "\f46c"; } .ion-ios-musical-notes-outline:before { content: "\f1cd"; } .ion-ios-navigate:before { content: "\f46e"; } .ion-ios-navigate-outline:before { content: "\f46d"; } .ion-ios-no-smoking:before { content: "\f1cf"; } .ion-ios-no-smoking-outline:before { content: "\f1ce"; } .ion-ios-notifications:before { content: "\f1d3"; } .ion-ios-notifications-off:before { content: "\f1d1"; } .ion-ios-notifications-off-outline:before { content: "\f1d0"; } .ion-ios-notifications-outline:before { content: "\f1d2"; } .ion-ios-nuclear:before { content: "\f1d5"; } .ion-ios-nuclear-outline:before { content: "\f1d4"; } .ion-ios-nutrition:before { content: "\f470"; } .ion-ios-nutrition-outline:before { content: "\f46f"; } .ion-ios-open:before { content: "\f1d7"; } .ion-ios-open-outline:before { content: "\f1d6"; } .ion-ios-options:before { content: "\f1d9"; } .ion-ios-options-outline:before { content: "\f1d8"; } .ion-ios-outlet:before { content: "\f1db"; } .ion-ios-outlet-outline:before { content: "\f1da"; } .ion-ios-paper:before { content: "\f472"; } .ion-ios-paper-outline:before { content: "\f471"; } .ion-ios-paper-plane:before { content: "\f1dd"; } .ion-ios-paper-plane-outline:before { content: "\f1dc"; } .ion-ios-partly-sunny:before { content: "\f1df"; } .ion-ios-partly-sunny-outline:before { content: "\f1de"; } .ion-ios-pause:before { content: "\f478"; } .ion-ios-pause-outline:before { content: "\f477"; } .ion-ios-paw:before { content: "\f47a"; } .ion-ios-paw-outline:before { content: "\f479"; } .ion-ios-people:before { content: "\f47c"; } .ion-ios-people-outline:before { content: "\f47b"; } .ion-ios-person:before { content: "\f47e"; } .ion-ios-person-add:before { content: "\f1e1"; } .ion-ios-person-add-outline:before { content: "\f1e0"; } .ion-ios-person-outline:before { content: "\f47d"; } .ion-ios-phone-landscape:before { content: "\f1e2"; } .ion-ios-phone-portrait:before { content: "\f1e3"; } .ion-ios-photos:before { content: "\f482"; } .ion-ios-photos-outline:before { content: "\f481"; } .ion-ios-pie:before { content: "\f484"; } .ion-ios-pie-outline:before { content: "\f483"; } .ion-ios-pin:before { content: "\f1e5"; } .ion-ios-pin-outline:before { content: "\f1e4"; } .ion-ios-pint:before { content: "\f486"; } .ion-ios-pint-outline:before { content: "\f485"; } .ion-ios-pizza:before { content: "\f1e7"; } .ion-ios-pizza-outline:before { content: "\f1e6"; } .ion-ios-plane:before { content: "\f1e9"; } .ion-ios-plane-outline:before { content: "\f1e8"; } .ion-ios-planet:before { content: "\f1eb"; } .ion-ios-planet-outline:before { content: "\f1ea"; } .ion-ios-play:before { content: "\f488"; } .ion-ios-play-outline:before { content: "\f487"; } .ion-ios-podium:before { content: "\f1ed"; } .ion-ios-podium-outline:before { content: "\f1ec"; } .ion-ios-power:before { content: "\f1ef"; } .ion-ios-power-outline:before { content: "\f1ee"; } .ion-ios-pricetag:before { content: "\f48d"; } .ion-ios-pricetag-outline:before { content: "\f48c"; } .ion-ios-pricetags:before { content: "\f48f"; } .ion-ios-pricetags-outline:before { content: "\f48e"; } .ion-ios-print:before { content: "\f1f1"; } .ion-ios-print-outline:before { content: "\f1f0"; } .ion-ios-pulse:before { content: "\f493"; } .ion-ios-pulse-outline:before { content: "\f1f2"; } .ion-ios-qr-scanner:before { content: "\f1f3"; } .ion-ios-quote:before { content: "\f1f5"; } .ion-ios-quote-outline:before { content: "\f1f4"; } .ion-ios-radio:before { content: "\f1f9"; } .ion-ios-radio-button-off:before { content: "\f1f6"; } .ion-ios-radio-button-on:before { content: "\f1f7"; } .ion-ios-radio-outline:before { content: "\f1f8"; } .ion-ios-rainy:before { content: "\f495"; } .ion-ios-rainy-outline:before { content: "\f494"; } .ion-ios-recording:before { content: "\f497"; } .ion-ios-recording-outline:before { content: "\f496"; } .ion-ios-redo:before { content: "\f499"; } .ion-ios-redo-outline:before { content: "\f498"; } .ion-ios-refresh:before { content: "\f49c"; } .ion-ios-refresh-circle:before { content: "\f226"; } .ion-ios-refresh-circle-outline:before { content: "\f224"; } .ion-ios-remove:before { content: "\f1fc"; } .ion-ios-remove-circle:before { content: "\f1fb"; } .ion-ios-remove-circle-outline:before { content: "\f1fa"; } .ion-ios-reorder:before { content: "\f1fd"; } .ion-ios-repeat:before { content: "\f1fe"; } .ion-ios-resize:before { content: "\f1ff"; } .ion-ios-restaurant:before { content: "\f201"; } .ion-ios-restaurant-outline:before { content: "\f200"; } .ion-ios-return-left:before { content: "\f202"; } .ion-ios-return-right:before { content: "\f203"; } .ion-ios-reverse-camera:before { content: "\f49f"; } .ion-ios-reverse-camera-outline:before { content: "\f49e"; } .ion-ios-rewind:before { content: "\f4a1"; } .ion-ios-rewind-outline:before { content: "\f4a0"; } .ion-ios-ribbon:before { content: "\f205"; } .ion-ios-ribbon-outline:before { content: "\f204"; } .ion-ios-rose:before { content: "\f4a3"; } .ion-ios-rose-outline:before { content: "\f4a2"; } .ion-ios-sad:before { content: "\f207"; } .ion-ios-sad-outline:before { content: "\f206"; } .ion-ios-school:before { content: "\f209"; } .ion-ios-school-outline:before { content: "\f208"; } .ion-ios-search:before { content: "\f4a5"; } .ion-ios-search-outline:before { content: "\f20a"; } .ion-ios-send:before { content: "\f20c"; } .ion-ios-send-outline:before { content: "\f20b"; } .ion-ios-settings:before { content: "\f4a7"; } .ion-ios-settings-outline:before { content: "\f20d"; } .ion-ios-share:before { content: "\f211"; } .ion-ios-share-alt:before { content: "\f20f"; } .ion-ios-share-alt-outline:before { content: "\f20e"; } .ion-ios-share-outline:before { content: "\f210"; } .ion-ios-shirt:before { content: "\f213"; } .ion-ios-shirt-outline:before { content: "\f212"; } .ion-ios-shuffle:before { content: "\f4a9"; } .ion-ios-skip-backward:before { content: "\f215"; } .ion-ios-skip-backward-outline:before { content: "\f214"; } .ion-ios-skip-forward:before { content: "\f217"; } .ion-ios-skip-forward-outline:before { content: "\f216"; } .ion-ios-snow:before { content: "\f218"; } .ion-ios-snow-outline:before { content: "\f45a"; } .ion-ios-speedometer:before { content: "\f4b0"; } .ion-ios-speedometer-outline:before { content: "\f4af"; } .ion-ios-square:before { content: "\f21a"; } .ion-ios-square-outline:before { content: "\f219"; } .ion-ios-star:before { content: "\f4b3"; } .ion-ios-star-half:before { content: "\f4b1"; } .ion-ios-star-outline:before { content: "\f4b2"; } .ion-ios-stats:before { content: "\f21c"; } .ion-ios-stats-outline:before { content: "\f21b"; } .ion-ios-stopwatch:before { content: "\f4b5"; } .ion-ios-stopwatch-outline:before { content: "\f4b4"; } .ion-ios-subway:before { content: "\f21e"; } .ion-ios-subway-outline:before { content: "\f21d"; } .ion-ios-sunny:before { content: "\f4b7"; } .ion-ios-sunny-outline:before { content: "\f4b6"; } .ion-ios-swap:before { content: "\f21f"; } .ion-ios-switch:before { content: "\f221"; } .ion-ios-switch-outline:before { content: "\f220"; } .ion-ios-sync:before { content: "\f222"; } .ion-ios-tablet-landscape:before { content: "\f223"; } .ion-ios-tablet-portrait:before { content: "\f24e"; } .ion-ios-tennisball:before { content: "\f4bb"; } .ion-ios-tennisball-outline:before { content: "\f4ba"; } .ion-ios-text:before { content: "\f250"; } .ion-ios-text-outline:before { content: "\f24f"; } .ion-ios-thermometer:before { content: "\f252"; } .ion-ios-thermometer-outline:before { content: "\f251"; } .ion-ios-thumbs-down:before { content: "\f254"; } .ion-ios-thumbs-down-outline:before { content: "\f253"; } .ion-ios-thumbs-up:before { content: "\f256"; } .ion-ios-thumbs-up-outline:before { content: "\f255"; } .ion-ios-thunderstorm:before { content: "\f4bd"; } .ion-ios-thunderstorm-outline:before { content: "\f4bc"; } .ion-ios-time:before { content: "\f4bf"; } .ion-ios-time-outline:before { content: "\f4be"; } .ion-ios-timer:before { content: "\f4c1"; } .ion-ios-timer-outline:before { content: "\f4c0"; } .ion-ios-train:before { content: "\f258"; } .ion-ios-train-outline:before { content: "\f257"; } .ion-ios-transgender:before { content: "\f259"; } .ion-ios-trash:before { content: "\f4c5"; } .ion-ios-trash-outline:before { content: "\f4c4"; } .ion-ios-trending-down:before { content: "\f25a"; } .ion-ios-trending-up:before { content: "\f25b"; } .ion-ios-trophy:before { content: "\f25d"; } .ion-ios-trophy-outline:before { content: "\f25c"; } .ion-ios-umbrella:before { content: "\f25f"; } .ion-ios-umbrella-outline:before { content: "\f25e"; } .ion-ios-undo:before { content: "\f4c7"; } .ion-ios-undo-outline:before { content: "\f4c6"; } .ion-ios-unlock:before { content: "\f261"; } .ion-ios-unlock-outline:before { content: "\f260"; } .ion-ios-videocam:before { content: "\f4cd"; } .ion-ios-videocam-outline:before { content: "\f4cc"; } .ion-ios-volume-down:before { content: "\f262"; } .ion-ios-volume-mute:before { content: "\f263"; } .ion-ios-volume-off:before { content: "\f264"; } .ion-ios-volume-up:before { content: "\f265"; } .ion-ios-walk:before { content: "\f266"; } .ion-ios-warning:before { content: "\f268"; } .ion-ios-warning-outline:before { content: "\f267"; } .ion-ios-watch:before { content: "\f269"; } .ion-ios-water:before { content: "\f26b"; } .ion-ios-water-outline:before { content: "\f26a"; } .ion-ios-wifi:before { content: "\f26d"; } .ion-ios-wifi-outline:before { content: "\f26c"; } .ion-ios-wine:before { content: "\f26f"; } .ion-ios-wine-outline:before { content: "\f26e"; } .ion-ios-woman:before { content: "\f271"; } .ion-ios-woman-outline:before { content: "\f270"; } .ion-md-add:before { content: "\f273"; } .ion-md-add-circle:before { content: "\f272"; } .ion-md-alarm:before { content: "\f274"; } .ion-md-albums:before { content: "\f275"; } .ion-md-alert:before { content: "\f276"; } .ion-md-american-football:before { content: "\f277"; } .ion-md-analytics:before { content: "\f278"; } .ion-md-aperture:before { content: "\f279"; } .ion-md-apps:before { content: "\f27a"; } .ion-md-appstore:before { content: "\f27b"; } .ion-md-archive:before { content: "\f27c"; } .ion-md-arrow-back:before { content: "\f27d"; } .ion-md-arrow-down:before { content: "\f27e"; } .ion-md-arrow-dropdown:before { content: "\f280"; } .ion-md-arrow-dropdown-circle:before { content: "\f27f"; } .ion-md-arrow-dropleft:before { content: "\f282"; } .ion-md-arrow-dropleft-circle:before { content: "\f281"; } .ion-md-arrow-dropright:before { content: "\f284"; } .ion-md-arrow-dropright-circle:before { content: "\f283"; } .ion-md-arrow-dropup:before { content: "\f286"; } .ion-md-arrow-dropup-circle:before { content: "\f285"; } .ion-md-arrow-forward:before { content: "\f287"; } .ion-md-arrow-round-back:before { content: "\f288"; } .ion-md-arrow-round-down:before { content: "\f289"; } .ion-md-arrow-round-forward:before { content: "\f28a"; } .ion-md-arrow-round-up:before { content: "\f28b"; } .ion-md-arrow-up:before { content: "\f28c"; } .ion-md-at:before { content: "\f28d"; } .ion-md-attach:before { content: "\f28e"; } .ion-md-backspace:before { content: "\f28f"; } .ion-md-barcode:before { content: "\f290"; } .ion-md-baseball:before { content: "\f291"; } .ion-md-basket:before { content: "\f292"; } .ion-md-basketball:before { content: "\f293"; } .ion-md-battery-charging:before { content: "\f294"; } .ion-md-battery-dead:before { content: "\f295"; } .ion-md-battery-full:before { content: "\f296"; } .ion-md-beaker:before { content: "\f297"; } .ion-md-beer:before { content: "\f298"; } .ion-md-bicycle:before { content: "\f299"; } .ion-md-bluetooth:before { content: "\f29a"; } .ion-md-boat:before { content: "\f29b"; } .ion-md-body:before { content: "\f29c"; } .ion-md-bonfire:before { content: "\f29d"; } .ion-md-book:before { content: "\f29e"; } .ion-md-bookmark:before { content: "\f29f"; } .ion-md-bookmarks:before { content: "\f2a0"; } .ion-md-bowtie:before { content: "\f2a1"; } .ion-md-briefcase:before { content: "\f2a2"; } .ion-md-browsers:before { content: "\f2a3"; } .ion-md-brush:before { content: "\f2a4"; } .ion-md-bug:before { content: "\f2a5"; } .ion-md-build:before { content: "\f2a6"; } .ion-md-bulb:before { content: "\f2a7"; } .ion-md-bus:before { content: "\f2a8"; } .ion-md-cafe:before { content: "\f2a9"; } .ion-md-calculator:before { content: "\f2aa"; } .ion-md-calendar:before { content: "\f2ab"; } .ion-md-call:before { content: "\f2ac"; } .ion-md-camera:before { content: "\f2ad"; } .ion-md-car:before { content: "\f2b2"; } .ion-md-card:before { content: "\f2b3"; } .ion-md-cart:before { content: "\f2b4"; } .ion-md-cash:before { content: "\f2b5"; } .ion-md-chatboxes:before { content: "\f2b6"; } .ion-md-chatbubbles:before { content: "\f2b7"; } .ion-md-checkbox:before { content: "\f2b9"; } .ion-md-checkbox-outline:before { content: "\f2b8"; } .ion-md-checkmark:before { content: "\f2bc"; } .ion-md-checkmark-circle:before { content: "\f2bb"; } .ion-md-checkmark-circle-outline:before { content: "\f2ba"; } .ion-md-clipboard:before { content: "\f2bd"; } .ion-md-clock:before { content: "\f2be"; } .ion-md-close:before { content: "\f2c0"; } .ion-md-close-circle:before { content: "\f2bf"; } .ion-md-closed-captioning:before { content: "\f2c1"; } .ion-md-cloud:before { content: "\f2c9"; } .ion-md-cloud-circle:before { content: "\f2c2"; } .ion-md-cloud-done:before { content: "\f2c3"; } .ion-md-cloud-download:before { content: "\f2c6"; } .ion-md-cloud-outline:before { content: "\f2c7"; } .ion-md-cloud-upload:before { content: "\f2c8"; } .ion-md-cloudy:before { content: "\f2cb"; } .ion-md-cloudy-night:before { content: "\f2ca"; } .ion-md-code:before { content: "\f2ce"; } .ion-md-code-download:before { content: "\f2cc"; } .ion-md-code-working:before { content: "\f2cd"; } .ion-md-cog:before { content: "\f2cf"; } .ion-md-color-fill:before { content: "\f2d0"; } .ion-md-color-filter:before { content: "\f2d1"; } .ion-md-color-palette:before { content: "\f2d2"; } .ion-md-color-wand:before { content: "\f2d3"; } .ion-md-compass:before { content: "\f2d4"; } .ion-md-construct:before { content: "\f2d5"; } .ion-md-contact:before { content: "\f2d6"; } .ion-md-contacts:before { content: "\f2d7"; } .ion-md-contract:before { content: "\f2d8"; } .ion-md-contrast:before { content: "\f2d9"; } .ion-md-copy:before { content: "\f2da"; } .ion-md-create:before { content: "\f2db"; } .ion-md-crop:before { content: "\f2dc"; } .ion-md-cube:before { content: "\f2dd"; } .ion-md-cut:before { content: "\f2de"; } .ion-md-desktop:before { content: "\f2df"; } .ion-md-disc:before { content: "\f2e0"; } .ion-md-document:before { content: "\f2e1"; } .ion-md-done-all:before { content: "\f2e2"; } .ion-md-download:before { content: "\f2e3"; } .ion-md-easel:before { content: "\f2e4"; } .ion-md-egg:before { content: "\f2e5"; } .ion-md-exit:before { content: "\f2e6"; } .ion-md-expand:before { content: "\f2e7"; } .ion-md-eye:before { content: "\f2e9"; } .ion-md-eye-off:before { content: "\f2e8"; } .ion-md-fastforward:before { content: "\f2ea"; } .ion-md-female:before { content: "\f2eb"; } .ion-md-filing:before { content: "\f2ec"; } .ion-md-film:before { content: "\f2ed"; } .ion-md-finger-print:before { content: "\f2ee"; } .ion-md-flag:before { content: "\f2ef"; } .ion-md-flame:before { content: "\f2f0"; } .ion-md-flash:before { content: "\f2f1"; } .ion-md-flask:before { content: "\f2f2"; } .ion-md-flower:before { content: "\f2f3"; } .ion-md-folder:before { content: "\f2f5"; } .ion-md-folder-open:before { content: "\f2f4"; } .ion-md-football:before { content: "\f2f6"; } .ion-md-funnel:before { content: "\f2f7"; } .ion-md-game-controller-a:before { content: "\f2f8"; } .ion-md-game-controller-b:before { content: "\f2f9"; } .ion-md-git-branch:before { content: "\f2fa"; } .ion-md-git-commit:before { content: "\f2fb"; } .ion-md-git-compare:before { content: "\f2fc"; } .ion-md-git-merge:before { content: "\f2fd"; } .ion-md-git-network:before { content: "\f2fe"; } .ion-md-git-pull-request:before { content: "\f2ff"; } .ion-md-glasses:before { content: "\f300"; } .ion-md-globe:before { content: "\f301"; } .ion-md-grid:before { content: "\f302"; } .ion-md-hammer:before { content: "\f303"; } .ion-md-hand:before { content: "\f304"; } .ion-md-happy:before { content: "\f305"; } .ion-md-headset:before { content: "\f306"; } .ion-md-heart:before { content: "\f308"; } .ion-md-heart-outline:before { content: "\f307"; } .ion-md-help:before { content: "\f30b"; } .ion-md-help-buoy:before { content: "\f309"; } .ion-md-help-circle:before { content: "\f30a"; } .ion-md-home:before { content: "\f30c"; } .ion-md-ice-cream:before { content: "\f30d"; } .ion-md-image:before { content: "\f30e"; } .ion-md-images:before { content: "\f30f"; } .ion-md-infinite:before { content: "\f310"; } .ion-md-information:before { content: "\f312"; } .ion-md-information-circle:before { content: "\f311"; } .ion-md-ionic:before { content: "\f313"; } .ion-md-ionitron:before { content: "\f314"; } .ion-md-jet:before { content: "\f315"; } .ion-md-key:before { content: "\f316"; } .ion-md-keypad:before { content: "\f317"; } .ion-md-laptop:before { content: "\f318"; } .ion-md-leaf:before { content: "\f319"; } .ion-md-list:before { content: "\f31b"; } .ion-md-list-box:before { content: "\f31a"; } .ion-md-locate:before { content: "\f31c"; } .ion-md-lock:before { content: "\f31d"; } .ion-md-log-in:before { content: "\f31e"; } .ion-md-log-out:before { content: "\f31f"; } .ion-md-magnet:before { content: "\f320"; } .ion-md-mail:before { content: "\f322"; } .ion-md-mail-open:before { content: "\f321"; } .ion-md-male:before { content: "\f323"; } .ion-md-man:before { content: "\f324"; } .ion-md-map:before { content: "\f325"; } .ion-md-medal:before { content: "\f326"; } .ion-md-medical:before { content: "\f327"; } .ion-md-medkit:before { content: "\f328"; } .ion-md-megaphone:before { content: "\f329"; } .ion-md-menu:before { content: "\f32a"; } .ion-md-mic:before { content: "\f32c"; } .ion-md-mic-off:before { content: "\f32b"; } .ion-md-microphone:before { content: "\f32d"; } .ion-md-moon:before { content: "\f32e"; } .ion-md-more:before { content: "\f1c9"; } .ion-md-move:before { content: "\f331"; } .ion-md-musical-note:before { content: "\f332"; } .ion-md-musical-notes:before { content: "\f333"; } .ion-md-navigate:before { content: "\f334"; } .ion-md-no-smoking:before { content: "\f335"; } .ion-md-notifications:before { content: "\f338"; } .ion-md-notifications-off:before { content: "\f336"; } .ion-md-notifications-outline:before { content: "\f337"; } .ion-md-nuclear:before { content: "\f339"; } .ion-md-nutrition:before { content: "\f33a"; } .ion-md-open:before { content: "\f33b"; } .ion-md-options:before { content: "\f33c"; } .ion-md-outlet:before { content: "\f33d"; } .ion-md-paper:before { content: "\f33f"; } .ion-md-paper-plane:before { content: "\f33e"; } .ion-md-partly-sunny:before { content: "\f340"; } .ion-md-pause:before { content: "\f341"; } .ion-md-paw:before { content: "\f342"; } .ion-md-people:before { content: "\f343"; } .ion-md-person:before { content: "\f345"; } .ion-md-person-add:before { content: "\f344"; } .ion-md-phone-landscape:before { content: "\f346"; } .ion-md-phone-portrait:before { content: "\f347"; } .ion-md-photos:before { content: "\f348"; } .ion-md-pie:before { content: "\f349"; } .ion-md-pin:before { content: "\f34a"; } .ion-md-pint:before { content: "\f34b"; } .ion-md-pizza:before { content: "\f354"; } .ion-md-plane:before { content: "\f355"; } .ion-md-planet:before { content: "\f356"; } .ion-md-play:before { content: "\f357"; } .ion-md-podium:before { content: "\f358"; } .ion-md-power:before { content: "\f359"; } .ion-md-pricetag:before { content: "\f35a"; } .ion-md-pricetags:before { content: "\f35b"; } .ion-md-print:before { content: "\f35c"; } .ion-md-pulse:before { content: "\f35d"; } .ion-md-qr-scanner:before { content: "\f35e"; } .ion-md-quote:before { content: "\f35f"; } .ion-md-radio:before { content: "\f362"; } .ion-md-radio-button-off:before { content: "\f360"; } .ion-md-radio-button-on:before { content: "\f361"; } .ion-md-rainy:before { content: "\f363"; } .ion-md-recording:before { content: "\f364"; } .ion-md-redo:before { content: "\f365"; } .ion-md-refresh:before { content: "\f366"; } .ion-md-refresh-circle:before { content: "\f228"; } .ion-md-remove:before { content: "\f368"; } .ion-md-remove-circle:before { content: "\f367"; } .ion-md-reorder:before { content: "\f369"; } .ion-md-repeat:before { content: "\f36a"; } .ion-md-resize:before { content: "\f36b"; } .ion-md-restaurant:before { content: "\f36c"; } .ion-md-return-left:before { content: "\f36d"; } .ion-md-return-right:before { content: "\f36e"; } .ion-md-reverse-camera:before { content: "\f36f"; } .ion-md-rewind:before { content: "\f370"; } .ion-md-ribbon:before { content: "\f371"; } .ion-md-rose:before { content: "\f372"; } .ion-md-sad:before { content: "\f373"; } .ion-md-school:before { content: "\f374"; } .ion-md-search:before { content: "\f375"; } .ion-md-send:before { content: "\f376"; } .ion-md-settings:before { content: "\f377"; } .ion-md-share:before { content: "\f379"; } .ion-md-share-alt:before { content: "\f378"; } .ion-md-shirt:before { content: "\f37a"; } .ion-md-shuffle:before { content: "\f37b"; } .ion-md-skip-backward:before { content: "\f37c"; } .ion-md-skip-forward:before { content: "\f37d"; } .ion-md-snow:before { content: "\f37e"; } .ion-md-speedometer:before { content: "\f37f"; } .ion-md-square:before { content: "\f381"; } .ion-md-square-outline:before { content: "\f380"; } .ion-md-star:before { content: "\f384"; } .ion-md-star-half:before { content: "\f382"; } .ion-md-star-outline:before { content: "\f383"; } .ion-md-stats:before { content: "\f385"; } .ion-md-stopwatch:before { content: "\f386"; } .ion-md-subway:before { content: "\f387"; } .ion-md-sunny:before { content: "\f388"; } .ion-md-swap:before { content: "\f389"; } .ion-md-switch:before { content: "\f38a"; } .ion-md-sync:before { content: "\f38b"; } .ion-md-tablet-landscape:before { content: "\f38c"; } .ion-md-tablet-portrait:before { content: "\f38d"; } .ion-md-tennisball:before { content: "\f38e"; } .ion-md-text:before { content: "\f38f"; } .ion-md-thermometer:before { content: "\f390"; } .ion-md-thumbs-down:before { content: "\f391"; } .ion-md-thumbs-up:before { content: "\f392"; } .ion-md-thunderstorm:before { content: "\f393"; } .ion-md-time:before { content: "\f394"; } .ion-md-timer:before { content: "\f395"; } .ion-md-train:before { content: "\f396"; } .ion-md-transgender:before { content: "\f397"; } .ion-md-trash:before { content: "\f398"; } .ion-md-trending-down:before { content: "\f399"; } .ion-md-trending-up:before { content: "\f39a"; } .ion-md-trophy:before { content: "\f39b"; } .ion-md-umbrella:before { content: "\f39c"; } .ion-md-undo:before { content: "\f39d"; } .ion-md-unlock:before { content: "\f39e"; } .ion-md-videocam:before { content: "\f39f"; } .ion-md-volume-down:before { content: "\f3a0"; } .ion-md-volume-mute:before { content: "\f3a1"; } .ion-md-volume-off:before { content: "\f3a2"; } .ion-md-volume-up:before { content: "\f3a3"; } .ion-md-walk:before { content: "\f3a4"; } .ion-md-warning:before { content: "\f3a5"; } .ion-md-watch:before { content: "\f3a6"; } .ion-md-water:before { content: "\f3a7"; } .ion-md-wifi:before { content: "\f3a8"; } .ion-md-wine:before { content: "\f3a9"; } .ion-md-woman:before { content: "\f3aa"; } .ion-social-android:before { content: "\f225"; } .ion-social-angular:before { content: "\f4d9"; } .ion-social-apple:before { content: "\f227"; } .ion-social-bitcoin:before { content: "\f2af"; } .ion-social-buffer:before { content: "\f229"; } .ion-social-chrome:before { content: "\f4db"; } .ion-social-codepen:before { content: "\f4dd"; } .ion-social-css3:before { content: "\f4df"; } .ion-social-designernews:before { content: "\f22b"; } .ion-social-dribbble:before { content: "\f22d"; } .ion-social-dropbox:before { content: "\f22f"; } .ion-social-euro:before { content: "\f4e1"; } .ion-social-facebook:before { content: "\f231"; } .ion-social-foursquare:before { content: "\f34d"; } .ion-social-freebsd-devil:before { content: "\f2c4"; } .ion-social-github:before { content: "\f233"; } .ion-social-google:before { content: "\f34f"; } .ion-social-googleplus:before { content: "\f235"; } .ion-social-hackernews:before { content: "\f237"; } .ion-social-html5:before { content: "\f4e3"; } .ion-social-instagram:before { content: "\f351"; } .ion-social-javascript:before { content: "\f4e5"; } .ion-social-linkedin:before { content: "\f239"; } .ion-social-markdown:before { content: "\f4e6"; } .ion-social-nodejs:before { content: "\f4e7"; } .ion-social-octocat:before { content: "\f4e8"; } .ion-social-pinterest:before { content: "\f2b1"; } .ion-social-playstation:before { content: "\f3ab"; } .ion-social-python:before { content: "\f4e9"; } .ion-social-reddit:before { content: "\f23b"; } .ion-social-rss:before { content: "\f23d"; } .ion-social-sass:before { content: "\f4ea"; } .ion-social-skype:before { content: "\f23f"; } .ion-social-snapchat:before { content: "\f4ec"; } .ion-social-steam:before { content: "\f3ac"; } .ion-social-tumblr:before { content: "\f241"; } .ion-social-tux:before { content: "\f2c5"; } .ion-social-twitch:before { content: "\f4ee"; } .ion-social-twitter:before { content: "\f243"; } .ion-social-usd:before { content: "\f353"; } .ion-social-vimeo:before { content: "\f245"; } .ion-social-whatsapp:before { content: "\f4f0"; } .ion-social-windows:before { content: "\f247"; } .ion-social-wordpress:before { content: "\f249"; } .ion-social-xbox:before { content: "\f3ad"; } .ion-social-yahoo:before { content: "\f24b"; } .ion-social-yen:before { content: "\f4f2"; } .ion-social-youtube:before { content: "\f24d"; } .ios { /****************/ /* DEFAULT LIST */ /****************/ /**************/ /* INSET LIST */ /**************/ /*****************/ /* NO LINES LIST */ /*****************/ font-family: -apple-system, "Helvetica Neue", "Roboto", sans-serif; font-size: 1.4rem; background-color: #fff; } .ios ion-content { color: #000; } .ios p { color: #000; } .ios a { color: #387ef5; } .ios hr { background-color: rgba(0, 0, 0, 0.12); } .ios.hairlines hr { height: 0.55px; } .ios h1[primary], .ios h2[primary], .ios h3[primary], .ios h4[primary], .ios h5[primary], .ios h6[primary], .ios p[primary], .ios span[primary], .ios a:not([button])[primary], .ios small[primary], .ios b[primary], .ios i[primary], .ios strong[primary], .ios em[primary], .ios sub[primary], .ios sup[primary] { color: #387ef5 !important; } .ios h1[secondary], .ios h2[secondary], .ios h3[secondary], .ios h4[secondary], .ios h5[secondary], .ios h6[secondary], .ios p[secondary], .ios span[secondary], .ios a:not([button])[secondary], .ios small[secondary], .ios b[secondary], .ios i[secondary], .ios strong[secondary], .ios em[secondary], .ios sub[secondary], .ios sup[secondary] { color: #32db64 !important; } .ios h1[danger], .ios h2[danger], .ios h3[danger], .ios h4[danger], .ios h5[danger], .ios h6[danger], .ios p[danger], .ios span[danger], .ios a:not([button])[danger], .ios small[danger], .ios b[danger], .ios i[danger], .ios strong[danger], .ios em[danger], .ios sub[danger], .ios sup[danger] { color: #f53d3d !important; } .ios h1[light], .ios h2[light], .ios h3[light], .ios h4[light], .ios h5[light], .ios h6[light], .ios p[light], .ios span[light], .ios a:not([button])[light], .ios small[light], .ios b[light], .ios i[light], .ios strong[light], .ios em[light], .ios sub[light], .ios sup[light] { color: #f4f4f4 !important; } .ios h1[dark], .ios h2[dark], .ios h3[dark], .ios h4[dark], .ios h5[dark], .ios h6[dark], .ios p[dark], .ios span[dark], .ios a:not([button])[dark], .ios small[dark], .ios b[dark], .ios i[dark], .ios strong[dark], .ios em[dark], .ios sub[dark], .ios sup[dark] { color: #222 !important; } .ios ion-action-sheet { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; z-index: 1000; } .ios .action-sheet-wrapper { position: absolute; z-index: 10; bottom: 0; left: 0; right: 0; width: 100%; display: block; max-width: 500px; margin: auto; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .ios .action-sheet-container { width: auto; overflow: hidden; } .ios .action-sheet-button { display: block; width: 100%; margin: 0; border-radius: 0; border-color: #d1d3d6; } .ios .action-sheet-button.activated { box-shadow: none; border-color: #d1d3d6; background: #e4e5e7; } .ios .action-sheet-group { background-color: #fff; overflow: hidden; } .ios .action-sheet-options { background: #f1f2f3; } .ios ion-action-sheet { text-align: center; } .ios .action-sheet-container { padding: 0 10px; } .ios .action-sheet-group { margin-bottom: 8px; border-radius: 13px; } .ios .action-sheet-group:last-child { margin-bottom: 10px; } .ios .action-sheet-title { padding: 2rem; font-size: 1.2rem; font-weight: 500; color: #5f5f5f; border-radius: 0; text-align: center; } .ios .action-sheet-title, .ios .action-sheet-option { border-bottom: 1px solid #d6d6da; } .ios .action-sheet-button { color: #007aff; min-height: 5.6rem; padding: 18px; font-size: 2rem; background: transparent; } .ios .action-sheet-button.activated { background: #e9e9e9; box-shadow: none; border-color: #d1d3d6; color: #007aff; background: #e4e5e7; } .ios .action-sheet-destructive { color: #f53d3d; } .ios .action-sheet-cancel { font-weight: bold; } .ios.hairlines .action-sheet-title, .ios.hairlines .action-sheet-option { border-bottom-width: 0.55px; } .ios ion-badge { display: inline-block; padding: 3px 8px; min-width: 10px; vertical-align: baseline; text-align: center; white-space: nowrap; font-size: 1.3rem; font-weight: bold; line-height: 1; background: #ccc; } .ios ion-badge:empty { display: none; } .ios ion-badge[primary] { background-color: #387ef5; color: white; } .ios ion-badge[secondary] { background-color: #32db64; color: white; } .ios ion-badge[danger] { background-color: #f53d3d; color: white; } .ios ion-badge[light] { background-color: #f4f4f4; color: black; } .ios ion-badge[dark] { background-color: #222; color: white; } .ios ion-badge { border-radius: 10px; } .ios .button { position: relative; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-transition: background-color, opacity 100ms linear; transition: background-color, opacity 100ms linear; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; text-align: center; text-transform: none; vertical-align: top; vertical-align: -webkit-baseline-middle; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; } .ios a.button { text-decoration: none; } .ios .button[disabled] { opacity: 0.4; cursor: default !important; pointer-events: none; } .ios .button-block { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; clear: both; width: 100%; } .ios .button-block:after { clear: both; } .ios .button-full { width: 100%; } .ios .button-round { padding: 0 2.6rem; border-radius: 64px; } .ios .button-full.button-outline { border-left-width: 0; border-right-width: 0; } .ios .button { margin: 0.4rem 0.2rem; padding: 0 1em; min-height: 2.8em; font-size: 1.6rem; border-radius: 4px; color: white; background-color: #387ef5; } .ios .button:hover:not(.disable-hover) { opacity: 0.8; text-decoration: none; } .ios .button.activated { opacity: 1; background-color: #3474e1; } .ios .button-large { padding: 0 1em; min-height: 2.8em; font-size: 2rem; } .ios .button-small { padding: 0 0.9em; min-height: 2.1em; font-size: 1.3rem; } .ios .button-small.button-icon-only icon { font-size: 1.3em; } .ios .button-block { display: block; line-height: 2.8em; margin-left: 0; margin-right: 0; } .ios .button-full { margin-right: 0; margin-left: 0; border-radius: 0; border-left: none; border-right: none; } .ios .button-outline { border-width: 1px; border-style: solid; border-color: #387ef5; color: #387ef5; background-color: transparent; border-radius: 4px; } .ios .button-outline.activated { opacity: 1; color: #fff; background-color: #387ef5; } .ios .button-clear { border-color: transparent; color: #3474e1; background-color: transparent; } .ios .button-clear.activated { opacity: 0.4; background-color: transparent; } .ios .button-clear:hover:not(.disable-hover) { opacity: 0.6; color: #3474e1; } .ios .button-round { padding: 0 2.6rem; border-radius: 64px; } .ios .button-primary { color: white; background-color: #387ef5; } .ios .button-primary.activated { background-color: #3474e1; } .ios .button-outline-primary { border-color: #3578e9; color: #3578e9; background-color: transparent; } .ios .button-outline-primary.activated { color: #fff; background-color: #3578e9; } .ios .button-clear-primary { border-color: transparent; background-color: transparent; color: #3474e1; } .ios .button-clear-primary.activated { opacity: 0.4; } .ios .button-clear-primary:hover:not(.disable-hover) { color: #306bcf; } .ios .button-secondary { color: white; background-color: #32db64; } .ios .button-secondary.activated { background-color: #2ec95c; } .ios .button-outline-secondary { border-color: #30d05f; color: #30d05f; background-color: transparent; } .ios .button-outline-secondary.activated { color: #fff; background-color: #30d05f; } .ios .button-clear-secondary { border-color: transparent; background-color: transparent; color: #2ec95c; } .ios .button-clear-secondary.activated { opacity: 0.4; } .ios .button-clear-secondary:hover:not(.disable-hover) { color: #3fcd69; } .ios .button-danger { color: white; background-color: #f53d3d; } .ios .button-danger.activated { background-color: #e13838; } .ios .button-outline-danger { border-color: #e93a3a; color: #e93a3a; background-color: transparent; } .ios .button-outline-danger.activated { color: #fff; background-color: #e93a3a; } .ios .button-clear-danger { border-color: transparent; background-color: transparent; color: #e13838; } .ios .button-clear-danger.activated { opacity: 0.4; } .ios .button-clear-danger:hover:not(.disable-hover) { color: #cf3434; } .ios .button-light { color: black; background-color: #f4f4f4; } .ios .button-light.activated { background-color: #e0e0e0; } .ios .button-outline-light { border-color: #e8e8e8; color: #e8e8e8; background-color: transparent; } .ios .button-outline-light.activated { color: #fff; background-color: #e8e8e8; } .ios .button-clear-light { border-color: transparent; background-color: transparent; color: #e0e0e0; } .ios .button-clear-light.activated { opacity: 0.4; } .ios .button-clear-light:hover:not(.disable-hover) { color: #cecece; } .ios .button-dark { color: white; background-color: #222; } .ios .button-dark.activated { background-color: #343434; } .ios .button-outline-dark { border-color: #2d2d2d; color: #2d2d2d; background-color: transparent; } .ios .button-outline-dark.activated { color: #fff; background-color: #2d2d2d; } .ios .button-clear-dark { border-color: transparent; background-color: transparent; color: #343434; } .ios .button-clear-dark.activated { opacity: 0.4; } .ios .button-clear-dark:hover:not(.disable-hover) { color: #444444; } .ios .button-fab { position: absolute; width: 56px; height: 56px; line-height: 56px; min-width: 0; vertical-align: middle; border-radius: 50%; background-clip: padding-box; overflow: hidden; -webkit-transition: .2s linear; transition: .2s linear; -webkit-transition-property: background-color; transition-property: background-color; font-size: 14px; } .ios .button-fab icon { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; font-size: 2.8rem; } .ios [fab-center] { left: 50%; margin-left: -28px; } .ios [fab-top] { top: 16px; } .ios [fab-right] { right: 16px; } .ios [fab-bottom] { bottom: 16px; } .ios [fab-left] { left: 16px; } .ios .button-icon-left icon { padding-right: 0.3em; font-size: 1.4em; line-height: 0.67; pointer-events: none; } .ios .button-icon-right icon { padding-left: 0.4em; font-size: 1.4em; line-height: 0.67; pointer-events: none; } .ios .button-icon-only { padding: 0; min-width: 0.9em; } .ios .button-icon-only icon { padding: 0 0.5em; font-size: 1.8em; line-height: 0.67; pointer-events: none; } .ios ion-card { display: block; overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); } .ios ion-card img { display: block; width: 100%; } .ios ion-card-header { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .ios ion-card-content { display: block; } .ios ion-card { margin: 12px 12px 12px 12px; font-size: 1.4rem; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); border-radius: 2px; } .ios ion-card ion-list { margin-bottom: 0; } .ios ion-card ion-list .item { padding-right: 0; } .ios ion-card ion-list ion-item-content { padding: 0; } .ios ion-card ion-list > .item:last-child, .ios ion-card ion-list > ion-item-sliding:last-child .item { border-bottom: none; } .ios ion-card .item-inner { border: none; } .ios ion-card ion-card-content { padding: 13px 16px 14px 16px; font-size: 1.4rem; line-height: 1.4; } .ios ion-card ion-card-header { padding: 16px; font-size: 1.6rem; font-weight: 500; color: #333; } .ios ion-card ion-card-header + ion-card-content, .ios ion-card .item + ion-card-content { padding-top: 0; } .ios ion-card ion-note[item-left], .ios ion-card ion-note[item-right] { font-size: 1.3rem; } .ios ion-card .card-title { padding: 8px 0 8px 0; font-size: 1.8rem; color: #222; } .ios ion-card h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .ios ion-card h2 { margin: 2px 0 2px; font-size: 1.6rem; font-weight: normal; } .ios ion-card h3, .ios ion-card h4, .ios ion-card h5, .ios ion-card h6 { margin: 2px 0 2px; font-size: 1.4rem; font-weight: normal; } .ios ion-card p { font-size: 1.4rem; margin: 0 0 2px; color: #666; } .ios ion-card + ion-card { margin-top: 0; } .ios ion-checkbox { cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .ios ion-checkbox[aria-checked=true] .checkbox-icon { background-color: #387ef5; border-color: #387ef5; } .ios ion-checkbox[aria-checked=true] .checkbox-icon:after { position: absolute; border-width: 1px; border-style: solid; border-color: #fff; top: 3px; left: 7px; width: 4px; height: 9px; border-left: none; border-top: none; content: ''; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .ios ion-checkbox.item.activated { background-color: #fff; } .ios ion-checkbox[aria-disabled=true] { opacity: 0.5; color: #666; pointer-events: none; } .ios .checkbox-media { margin: 10px 16px 10px 2px; } .ios .checkbox-icon { position: relative; display: block; width: 21px; height: 21px; border-radius: 50%; border-width: 1px; border-style: solid; border-color: #c8c7cc; background-color: #fff; } .ios ion-checkbox[primary][aria-checked=true] .checkbox-icon { background-color: #387ef5; border-color: #387ef5; } .ios ion-checkbox[primary][aria-checked=true] .checkbox-icon:after { border-color: white; } .ios ion-checkbox[secondary][aria-checked=true] .checkbox-icon { background-color: #32db64; border-color: #32db64; } .ios ion-checkbox[secondary][aria-checked=true] .checkbox-icon:after { border-color: white; } .ios ion-checkbox[danger][aria-checked=true] .checkbox-icon { background-color: #f53d3d; border-color: #f53d3d; } .ios ion-checkbox[danger][aria-checked=true] .checkbox-icon:after { border-color: white; } .ios ion-checkbox[light][aria-checked=true] .checkbox-icon { background-color: #f4f4f4; border-color: #f4f4f4; } .ios ion-checkbox[light][aria-checked=true] .checkbox-icon:after { border-color: black; } .ios ion-checkbox[dark][aria-checked=true] .checkbox-icon { background-color: #222; border-color: #222; } .ios ion-checkbox[dark][aria-checked=true] .checkbox-icon:after { border-color: white; } .ios ion-content { background-color: #fff; } .ios .outer-content { background: #efeff4; } .ios ion-nav.has-views, .ios ion-tab.has-views { background: #000; } .ios .item { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0; padding: 0; border: 0; width: 100%; min-height: 4.4rem; overflow: hidden; text-align: initial; font-weight: normal; line-height: normal; text-decoration: none; color: inherit; } .ios .item-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; margin: 0; padding: 0; border: 0; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; } .ios .item[no-lines], .ios .item[no-lines] .item-inner { border: none; } .ios ion-item-group { display: block; } .ios ion-item-divider { display: block; min-height: 30px; width: 100%; z-index: 1000; font-weight: 500; } .ios ion-item-divider[sticky] { position: -webkit-sticky; position: sticky; top: 0px; } .ios ion-item-content { margin: 0; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none; } .ios ion-item-content a, .ios ion-item-content button, .ios ion-item-content [tappable] { pointer-events: auto; } .ios [text-wrap] ion-item-content { white-space: normal; } .ios [vertical-align-top], .ios ion-input.item { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .ios ion-item-content + ion-item-content[cnt] { display: none; } .ios ion-item-divider[primary] { background-color: #387ef5; color: white; } .ios ion-item-divider[secondary] { background-color: #32db64; color: white; } .ios ion-item-divider[danger] { background-color: #f53d3d; color: white; } .ios ion-item-divider[light] { background-color: #f4f4f4; color: black; } .ios ion-item-divider[dark] { background-color: #222; color: white; } .ios .item > icon[small]:first-child, .ios .item-inner > icon[small]:first-child { min-width: 18px; } .ios .item > icon:first-child, .ios .item-inner > icon:first-child { min-width: 24px; text-align: center; } .ios .item > icon, .ios .item-inner > icon { line-height: 1; font-size: 2.4rem; min-height: 2.4rem; } .ios .item > icon[large], .ios .item-inner > icon[large] { font-size: 3.2rem; min-height: 3.2rem; } .ios .item > icon[small], .ios .item-inner > icon[small] { font-size: 1.8rem; min-height: 1.8rem; } .ios ion-avatar, .ios ion-thumbnail { display: block; line-height: 1; } .ios ion-avatar img, .ios ion-thumbnail img { display: block; } .ios ion-item-sliding { display: block; position: relative; overflow: hidden; } .ios ion-item-sliding .item { position: static; } .ios ion-item-options { display: none; position: absolute; top: 0; right: 0; z-index: 1; height: 100%; visibility: hidden; } .ios ion-item-options .button { margin: 0; border-radius: 0; box-shadow: none; height: 100%; } .ios ion-item-sliding.active-slide .item, .ios ion-item-sliding.active-slide .item.activated { position: relative; z-index: 2; opacity: 1; -webkit-transition: all 300ms cubic-bezier(0.36, 0.66, 0.04, 1); transition: all 300ms cubic-bezier(0.36, 0.66, 0.04, 1); pointer-events: none; } .ios ion-item-sliding.active-slide ion-item-options { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .ios ion-item-sliding.active-slide.active-options ion-item-options { visibility: visible; } .ios .item { padding-left: 16px; font-size: 1.6rem; border-radius: 0; color: #000; background-color: #fff; -webkit-transition-duration: 200ms; transition-duration: 200ms; } .ios .item h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .ios .item h2 { margin: 0 0 2px; font-size: 1.6rem; font-weight: normal; } .ios .item h3, .ios .item h4, .ios .item h5, .ios .item h6 { line-height: normal; margin: 0 0 3px 0; font-size: 1.4rem; font-weight: normal; } .ios .item p { line-height: normal; color: #666; font-size: 1.2rem; margin: 0 0 2px; } .ios .item h2:last-child, .ios .item h3:last-child, .ios .item h4:last-child, .ios .item h5:last-child, .ios .item h6:last-child, .ios .item p:last-child { margin-bottom: 0; } .ios .item a { text-decoration: none; } .ios .item.activated { background-color: #d9d9d9; -webkit-transition-duration: 0ms; transition-duration: 0ms; } .ios .item-inner { padding-right: 8px; border-bottom: 1px solid #c8c7cc; } .ios.hairlines .item-inner { border-bottom-width: 0.55px; } .ios ion-item-content { margin: 12px 8px 13px 0; } .ios [item-left] { margin: 6px 16px 6.5px 0; } .ios [item-right] { margin: 6px 8px 6.5px 8px; } .ios icon[item-left], .ios icon[item-right] { margin-top: 10px; margin-bottom: 9px; } .ios ion-avatar[item-left], .ios ion-thumbnail[item-left] { margin: 8px 16px 8px 0; } .ios ion-avatar[item-right], .ios ion-thumbnail[item-right] { margin: 8px; } .ios button[item-left], .ios button[item-right], .ios [button][item-left], .ios [button][item-right] { padding: 0 0.5em; font-size: 1.3rem; min-height: 25px; margin-top: 9px; } .ios [item-left].button-icon-only, .ios [item-right].button-icon-only, .ios [item-left].button-icon-only icon, .ios [item-right].button-icon-only icon, .ios [item-left][clear], .ios [item-right][clear] { padding: 0 1px; } .ios [item-left].icon-left icon, .ios [item-right].icon-left icon { margin-left: 0; margin-bottom: 1px; padding-right: 0.3em; } .ios [item-left].icon-right icon, .ios [item-right].icon-right icon { margin-right: 0; margin-bottom: 1px; } .ios ion-avatar { min-width: 3.6rem; min-height: 3.6rem; } .ios ion-avatar img { max-width: 3.6rem; max-height: 3.6rem; border-radius: 1.8rem; } .ios ion-thumbnail { min-width: 5.6rem; min-height: 5.6rem; } .ios ion-thumbnail img { max-width: 5.6rem; max-height: 5.6rem; } .ios ion-note { color: #aeacb4; } .ios button.item:not([detail-none]) .item-inner, .ios a.item:not([detail-none]) .item-inner, .ios .item[detail-push] .item-inner { background-image: url("data:image/svg+xml;charset=utf-8,"); background-repeat: no-repeat; background-position: right 14px center; background-size: 14px 14px; padding-right: 32px; } .ios ion-item-group .item:first-child .item-inner { border-top-width: 0; } .ios ion-item-group .item:last-child .item-inner, .ios ion-item-group ion-item-sliding:last-child .item .item-inner { border: none; } .ios ion-item-divider { padding: 12px 16px 13px 16px; color: #222; background-color: #f7f7f7; } .ios ion-item-sliding { background-color: #fff; } .ios ion-label { display: block; max-width: 200px; font-size: inherit; white-space: nowrap; pointer-events: none; } .ios .fixed-label { width: 30%; min-width: 100px; max-width: 200px; } .ios [stacked-label], .ios [floating-label] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .ios .stacked-label, .ios .floating-label { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; margin-bottom: 0; max-width: 100%; } .ios .stacked-input, .ios .floating-input { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; width: auto; } .ios ion-label { margin: 12px 8px 13px 0; color: #7f7f7f; } .ios ion-label + .item-input { margin-left: 16px; } .ios .stacked-label { font-size: 1.2rem; margin-bottom: 4px; } .ios .floating-label { margin-bottom: 0; -webkit-transform-origin: left top; transform-origin: left top; -webkit-transform: translate3d(0, 27px, 0); transform: translate3d(0, 27px, 0); -webkit-transition: -webkit-transform 150ms ease-in-out; transition: transform 150ms ease-in-out; } .ios .input-focused .floating-label, .ios .input-has-value .floating-label { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .ios ion-label + .stacked-input, .ios ion-label + .floating-input { margin-left: 0; } .ios ion-label[primary] { color: #387ef5 !important; } .ios ion-label[secondary] { color: #32db64 !important; } .ios ion-label[danger] { color: #f53d3d !important; } .ios ion-label[light] { color: #f4f4f4 !important; } .ios ion-label[dark] { color: #222 !important; } .ios ion-list-header { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .ios ion-list { display: block; margin: 0; padding: 0; list-style-type: none; } .ios ion-list[inset] { overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); } .ios ion-list-header { position: relative; padding: 10px 16px 10px 16px; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.1rem; text-transform: uppercase; color: #333; border-bottom: 1px solid #c8c7cc; } .ios ion-list { margin: -1px 0 32px 0; } .ios ion-list > .item:first-child { border-top: 1px solid #c8c7cc; } .ios ion-list > .item:last-child, .ios ion-list > ion-item-sliding:last-child .item { border-bottom: 1px solid #c8c7cc; } .ios ion-list > .item:last-child .item-inner, .ios ion-list > ion-item-sliding:last-child .item .item-inner { border-bottom: none; } .ios ion-list .item-inner { border-bottom: 1px solid #c8c7cc; } .ios ion-list .item[no-lines], .ios ion-list .item[no-lines] .item-inner { border-width: 0; } .ios ion-list ion-item-options { border-bottom: 1px solid #c8c7cc; } .ios ion-list ion-item-options button, .ios ion-list ion-item-options [button] { min-height: 100%; height: 100%; margin: 0; border: none; border-radius: 0; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; box-sizing: border-box; } .ios ion-list ion-item-options button:before, .ios ion-list ion-item-options [button]:before { margin: 0 auto; } .ios ion-list + ion-list { margin-top: 42px; } .ios ion-list + ion-list ion-list-header { margin-top: -10px; padding-top: 0; } .ios.hairlines ion-list-header { border-bottom-width: 0.55px; } .ios.hairlines ion-list ion-item-options { border-width: 0.55px; } .ios.hairlines ion-list .item .item-inner { border-width: 0.55px; } .ios.hairlines ion-list > .item:first-child { border-top-width: 0.55px; } .ios.hairlines ion-list > .item:last-child, .ios.hairlines ion-list > ion-item-sliding:last-child .item { border-bottom-width: 0.55px; } .ios ion-list[inset] { margin: 16px 16px 16px 16px; border-radius: 4px; } .ios ion-list[inset] ion-list-header { background-color: #fff; } .ios ion-list[inset] .item { border-bottom: 1px solid #c8c7cc; } .ios ion-list[inset] .item .item-inner { border-bottom: none; } .ios ion-list[inset] > .item:first-child, .ios ion-list[inset] > ion-item-sliding:first-child .item { border-top: none; } .ios ion-list[inset] > .item:last-child, .ios ion-list[inset] > ion-item-sliding:last-child .item { border-bottom: none; } .ios ion-list[inset] + ion-list[inset] { margin-top: 0; } .ios.hairlines ion-list[inset] .item { border-width: 0.55px; } .ios ion-list[no-lines] ion-list-header, .ios ion-list[no-lines] .item, .ios ion-list[no-lines] .item .item-inner, .ios.hairlines ion-list[no-lines] ion-list-header, .ios.hairlines ion-list[no-lines] .item, .ios.hairlines ion-list[no-lines] .item .item-inner { border-width: 0; } .ios ion-menu { background: #fff; } .ios .menu-content-reveal { box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); } .ios .menu-content-push { box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); } .ios ion-menu[type=overlay] { box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); } .ios ion-page.modal { background-color: #fff; } .ios ion-popup { position: absolute; z-index: 1000; top: 0; left: 0; bottom: 0; right: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .ios ion-popup input, .ios ion-popup textarea { width: 100%; } .ios .popup-wrapper { z-index: 10; min-width: 250px; max-height: 90%; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; opacity: 0; } .ios .popup-title { margin: 0; padding: 0; } .ios .popup-sub-title { margin: 5px 0 0 0; padding: 0; font-weight: normal; } .ios .popup-body { overflow: auto; } .ios .popup-body:empty { padding: 0; } .ios .prompt-input { border: 0; background: inherit; padding: 10px 0; } .ios .prompt-input::-moz-placeholder { color: #999; } .ios .prompt-input:-ms-input-placeholder { color: #999; } .ios .prompt-input::-webkit-input-placeholder { color: #999; text-indent: 0; } .ios .popup-buttons { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .ios .popup-button { display: block; margin: 0; line-height: 20px; font-size: 14px; margin-right: 8px; } .ios ion-popup { background: transparent; } .ios .popup-wrapper { border-radius: 13px; background-color: #f8f8f8; max-width: 270px; overflow: hidden; } .ios .popup-head { padding: 12px 16px 20px; text-align: center; } .ios .popup-title { margin-top: 12px; font-weight: bold; font-size: 17px; } .ios .popup-sub-title { font-size: 14px; color: #666; } .ios .popup-body { padding: 0px 16px 24px; color: inherit; text-align: center; font-size: 13px; } .ios .prompt-input { padding: 6px; margin-top: 24px; background-color: #fff; border: 1px solid #ccc; border-radius: 4px; -webkit-appearance: none; } .ios .popup-buttons :last-child { font-weight: bold; border-right: 0; } .ios .popup-button { margin: 0; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; border-radius: 0; font-size: 17px; min-height: 44px; border-right: 1px solid #c8c7cc; } .ios .popup-button.activated { opacity: 1; background-color: #e9e9e9; } .ios .popup-button:hover:not(.disable-hover) { opacity: 1; } .ios .popup-button:before { position: absolute; top: 0; right: 0; left: 0; border-top: 1px solid #c8c7cc; content: ''; pointer-events: none; } .ios.hairlines .prompt-input { border-width: 0.55px; } .ios.hairlines .popup-button { border-right-width: 0.55px; } .ios.hairlines .popup-button:before { border-top-width: 0.55px; } .ios ion-radio { cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .ios ion-radio[aria-checked=true] { color: #387ef5; } .ios ion-radio[aria-checked=true] .radio-icon:after { position: absolute; border-width: 2px; border-style: solid; border-color: #387ef5; top: 3px; left: 7px; width: 4px; height: 10px; border-left: none; border-top: none; content: ''; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .ios ion-radio.item.activated { background-color: #fff; } .ios ion-radio[aria-disabled=true] { color: #666; opacity: 0.5; pointer-events: none; } .ios .radio-media { display: block; margin: 10px 8px 10px 8px; } .ios .radio-icon { position: relative; display: block; width: 16px; height: 21px; } .ios ion-radio[primary][aria-checked=true] .radio-icon:after { border-color: #387ef5; } .ios ion-radio[primary][aria-checked=true] { color: #387ef5; } .ios ion-radio[secondary][aria-checked=true] .radio-icon:after { border-color: #32db64; } .ios ion-radio[secondary][aria-checked=true] { color: #32db64; } .ios ion-radio[danger][aria-checked=true] .radio-icon:after { border-color: #f53d3d; } .ios ion-radio[danger][aria-checked=true] { color: #f53d3d; } .ios ion-radio[light][aria-checked=true] .radio-icon:after { border-color: #f4f4f4; } .ios ion-radio[light][aria-checked=true] { color: #f4f4f4; } .ios ion-radio[dark][aria-checked=true] .radio-icon:after { border-color: #222; } .ios ion-radio[dark][aria-checked=true] { color: #222; } .ios ion-searchbar { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; width: 100%; } .ios .searchbar-icon { pointer-events: none; } .ios .searchbar-input-container { position: relative; display: block; -webkit-flex-shrink: 1; -ms-flex-negative: 1; flex-shrink: 1; width: 100%; } .ios .searchbar-input { display: block; width: 100%; border: none; font-family: inherit; line-height: 3rem; -webkit-appearance: none; -moz-appearance: none; } .ios .searchbar-clear-icon { min-height: 0; padding: 0; margin: 0; } .ios ion-searchbar { padding: 0 8px; background: rgba(0, 0, 0, 0.2); border-top: 1px solid transparent; border-bottom: 1px solid rgba(0, 0, 0, 0.05); min-height: 44px; } .ios .searchbar-search-icon { width: 14px; height: 14px; background-image: url("data:image/svg+xml;charset=utf-8,"); background-size: 13px; background-repeat: no-repeat; position: absolute; left: 9px; top: 9px; margin-left: calc(50% - 60px); -webkit-transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); } .ios .searchbar-input { height: 100%; padding: 0 28px; font-size: 1.4rem; font-weight: 400; border-radius: 5px; color: #000; background-color: #FFFFFF; background-position: 8px center; padding-left: calc(50% - 28px); -webkit-transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); } .ios .searchbar-input::-moz-placeholder { color: rgba(0, 0, 0, 0.5); } .ios .searchbar-input:-ms-input-placeholder { color: rgba(0, 0, 0, 0.5); } .ios .searchbar-input::-webkit-input-placeholder { color: rgba(0, 0, 0, 0.5); text-indent: 0; } .ios .searchbar-clear-icon { width: 30px; height: 100%; background-image: url("data:image/svg+xml;charset=utf-8,"); background-size: 18px; background-repeat: no-repeat; background-position: center; position: absolute; right: 0; top: 0; } .ios .searchbar-ios-cancel { -webkit-transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); transition: all 400ms cubic-bezier(0.25, 0.45, 0.05, 1); min-height: 30px; margin-left: 0; margin-right: 0; padding: 0; visibility: hidden; -webkit-transform: translateX(calc(100% + 8px)); transform: translateX(calc(100% + 8px)); -webkit-box-flex: 0; -webkit-flex: 0 0 0%; -ms-flex: 0 0 0%; flex: 0 0 0%; } .ios .searchbar-left-aligned .searchbar-search-icon { margin-left: 0; } .ios .searchbar-left-aligned .searchbar-input { padding-left: 30px; } .ios .searchbar-focused .searchbar-ios-cancel { -webkit-transform: translateX(0); transform: translateX(0); -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto; padding-left: 8px; visibility: visible; } .ios .toolbar ion-searchbar { background: transparent; border-bottom-width: 0; } .ios .toolbar ion-searchbar .searchbar-input { background-color: rgba(0, 0, 0, 0.08); } .ios .toolbar ion-searchbar .searchbar-ios-cancel { padding: 0; } .ios .toolbar .searchbar-focused .searchbar-ios-cancel { padding-left: 8px; } .ios .searchbar-md-cancel { display: none; } .ios.hairlines ion-searchbar { border-bottom-width: 0.55px; } .ios ion-searchbar[primary] .searchbar-ios-cancel { color: #387ef5; } .ios ion-searchbar[primary] .searchbar-ios-cancel:hover:not(.disable-hover) { color: #3474e1; } .ios .toolbar[primary] ion-searchbar .searchbar-ios-cancel { color: white; } .ios ion-searchbar[secondary] .searchbar-ios-cancel { color: #32db64; } .ios ion-searchbar[secondary] .searchbar-ios-cancel:hover:not(.disable-hover) { color: #2ec95c; } .ios .toolbar[secondary] ion-searchbar .searchbar-ios-cancel { color: white; } .ios ion-searchbar[danger] .searchbar-ios-cancel { color: #f53d3d; } .ios ion-searchbar[danger] .searchbar-ios-cancel:hover:not(.disable-hover) { color: #e13838; } .ios .toolbar[danger] ion-searchbar .searchbar-ios-cancel { color: white; } .ios ion-searchbar[light] .searchbar-ios-cancel { color: #f4f4f4; } .ios ion-searchbar[light] .searchbar-ios-cancel:hover:not(.disable-hover) { color: #e0e0e0; } .ios .toolbar[light] ion-searchbar .searchbar-ios-cancel { color: black; } .ios ion-searchbar[dark] .searchbar-ios-cancel { color: #222; } .ios ion-searchbar[dark] .searchbar-ios-cancel:hover:not(.disable-hover) { color: #343434; } .ios .toolbar[dark] ion-searchbar .searchbar-ios-cancel { color: white; } .ios ion-segment { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } .ios .segment-button { position: relative; display: block; margin-left: 0; margin-right: 0; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 0; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; } .ios .segment-button { min-height: 3rem; line-height: 3rem; font-size: 1.3rem; border-width: 1px; border-style: solid; border-color: #387ef5; color: #387ef5; background-color: transparent; } .ios .segment-button.segment-activated { opacity: 1; color: white; background-color: #387ef5; -webkit-transition: 100ms all linear; transition: 100ms all linear; } .ios .segment-button:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios .segment-button:first-of-type { border-radius: 4px 0 0 4px; margin-right: 0; } .ios .segment-button:not(:first-of-type) { border-left-width: 0; } .ios .segment-button:last-of-type { border-left-width: 0; border-radius: 0 4px 4px 0; margin-left: 0; } .ios .toolbar ion-segment { position: absolute; left: 0; right: 0; top: 0; bottom: 0; } .ios .toolbar .segment-button { max-width: 100px; min-height: 2.4rem; line-height: 2.4rem; font-size: 1.2rem; } .ios ion-segment[primary] .segment-button { border-color: #387ef5; color: #387ef5; } .ios ion-segment[primary] .segment-button:hover:not(.segment-activated) { background-color: rgba(56, 126, 245, 0.16); } .ios ion-segment[primary] .segment-button.activated, .ios ion-segment[primary] .segment-button.segment-activated { color: white; background-color: #387ef5; } .ios .toolbar[primary] .segment-button.segment-activated { color: #387ef5; } .ios ion-segment[secondary] .segment-button { border-color: #32db64; color: #32db64; } .ios ion-segment[secondary] .segment-button:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios ion-segment[secondary] .segment-button.activated, .ios ion-segment[secondary] .segment-button.segment-activated { color: white; background-color: #32db64; } .ios .toolbar[secondary] .segment-button.segment-activated { color: #32db64; } .ios ion-segment[danger] .segment-button { border-color: #f53d3d; color: #f53d3d; } .ios ion-segment[danger] .segment-button:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios ion-segment[danger] .segment-button.activated, .ios ion-segment[danger] .segment-button.segment-activated { color: white; background-color: #f53d3d; } .ios .toolbar[danger] .segment-button.segment-activated { color: #f53d3d; } .ios ion-segment[light] .segment-button { border-color: #f4f4f4; color: #f4f4f4; } .ios ion-segment[light] .segment-button:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios ion-segment[light] .segment-button.activated, .ios ion-segment[light] .segment-button.segment-activated { color: black; background-color: #f4f4f4; } .ios .toolbar[light] .segment-button.segment-activated { color: #f4f4f4; } .ios ion-segment[dark] .segment-button { border-color: #222; color: #222; } .ios ion-segment[dark] .segment-button:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios ion-segment[dark] .segment-button.activated, .ios ion-segment[dark] .segment-button.segment-activated { color: white; background-color: #222; } .ios .toolbar[dark] .segment-button.segment-activated { color: #222; } .ios ion-tabs { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; overflow: hidden; width: 100%; height: 100%; max-width: 100%; max-height: 100%; margin: 0; padding: 0; } .ios ion-tab { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; overflow: hidden; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; display: none; } .ios ion-tab.show-tab { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .ios ion-tabs > ion-navbar-section { -webkit-box-ordinal-group: -29; -webkit-order: -30; -ms-flex-order: -30; order: -30; } .ios ion-tabbar-section { position: relative; -webkit-box-ordinal-group: 21; -webkit-order: 20; -ms-flex-order: 20; order: 20; } .ios [tabbarPlacement=top] ion-tabbar-section { -webkit-box-ordinal-group: -19; -webkit-order: -20; -ms-flex-order: -20; order: -20; } .ios tabbar { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; overflow: hidden; } .ios .tab-button { position: relative; z-index: 0; overflow: hidden; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0; text-align: center; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; border: 0; border-radius: 0; background: none; } .ios .tab-button-text { margin-top: 3px; margin-bottom: 2px; } .ios .tab-button-text, .ios .tab-button-icon { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; min-width: 26px; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: none; } .ios .has-icon .tab-button-icon, .ios .has-title .tab-button-text { display: block; } .ios .has-title-only .tab-button-text { white-space: normal; } .ios tab-highlight { display: none; } .ios [tabbarIcons=bottom] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; } .ios [tabbarIcons=left] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .ios [tabbarIcons=left] .tab-button .tab-button-icon { text-align: right; padding-right: 8px; } .ios [tabbarIcons=right] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .ios [tabbarIcons=right] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; text-align: left; padding-left: 8px; } .ios [tabbarIcons=hide] .tab-button-icon { display: none; } .ios tabbar { border-top: 1px solid #b2b2b2; background: #f8f8f8; } .ios ion-tabs[tabbarPlacement=top] tabbar { border-top: none; border-bottom: 1px solid #b2b2b2; } .ios .tab-button { padding: 0px 10px; min-width: 80px; max-width: 240px; min-height: 49px; color: #8c8c8c; } .ios .tab-button:hover:not(.disable-hover), .ios .tab-button[aria-selected=true] { color: #387ef5; } .ios .tab-button-text { margin-bottom: 0; min-height: 11px; font-size: 10px; } .ios .has-title-only .tab-button-text { font-size: 12px; } .ios .tab-button-icon { font-size: 32px; height: 32px; min-width: 37px; } .ios .tab-button-icon:before { vertical-align: top; } .ios [tabbarIcons=right] .tab-button .tab-button-text, .ios [tabbarIcons=left] .tab-button .tab-button-text { font-size: 1.4rem; line-height: 1.1; margin-top: 0; margin-bottom: 0; } .ios [tabbarIcons=right] .tab-button icon, .ios [tabbarIcons=left] .tab-button icon { min-width: 24px; height: 26px; font-size: 24px; } .ios [tabbarIcons=hide] .tab-button-text { font-size: 1.4rem; line-height: 1.1; } .ios .tab-button.has-title-only { min-height: 41px; } .ios .tab-button.has-title-only .tab-button-text { font-size: 1.4rem; line-height: 1.1; } .ios .tab-button.icon-only { min-height: 41px; } .ios.hairlines ion-tabs tabbar { border-top-width: 0.55px; } .ios.hairlines ion-tabs[tabbarPlacement="top"] tabbar { border-bottom-width: 0.55px; } .ios ion-tabs[primary] tabbar { border-color: #0c60ee; background-color: #387ef5; } .ios ion-tabs[primary] tabbar .tab-button { color: white; } .ios ion-tabs[primary] tabbar .tab-button:hover:not(.disable-hover), .ios ion-tabs[primary] tabbar .tab-button[aria-selected=true] { color: white; } .ios ion-tabs[secondary] tabbar { border-color: #21b94e; background-color: #32db64; } .ios ion-tabs[secondary] tabbar .tab-button { color: white; } .ios ion-tabs[secondary] tabbar .tab-button:hover:not(.disable-hover), .ios ion-tabs[secondary] tabbar .tab-button[aria-selected=true] { color: white; } .ios ion-tabs[danger] tabbar { border-color: #f30d0d; background-color: #f53d3d; } .ios ion-tabs[danger] tabbar .tab-button { color: white; } .ios ion-tabs[danger] tabbar .tab-button:hover:not(.disable-hover), .ios ion-tabs[danger] tabbar .tab-button[aria-selected=true] { color: white; } .ios ion-tabs[light] tabbar { border-color: #dbdbdb; background-color: #f4f4f4; } .ios ion-tabs[light] tabbar .tab-button { color: black; } .ios ion-tabs[light] tabbar .tab-button:hover:not(.disable-hover), .ios ion-tabs[light] tabbar .tab-button[aria-selected=true] { color: black; } .ios ion-tabs[dark] tabbar { border-color: #090909; background-color: #222; } .ios ion-tabs[dark] tabbar .tab-button { color: white; } .ios ion-tabs[dark] tabbar .tab-button:hover:not(.disable-hover), .ios ion-tabs[dark] tabbar .tab-button[aria-selected=true] { color: white; } .ios .item-input { display: block; background: transparent; border: 0; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; pointer-events: none; } .ios input.item-input:-webkit-autofill { background-color: transparent; } .ios [scroll-assist] { width: 1px; height: 1px; padding: 0; background: transparent; border: 0; pointer-events: none; } .ios .input-focused .item-input { pointer-events: auto; } .ios textarea { height: auto; overflow: auto; font: inherit; color: inherit; } .ios .platform-mobile textarea { resize: none; } .ios input::-moz-placeholder, .ios textarea::-moz-placeholder { color: #999; } .ios input:-ms-input-placeholder, .ios textarea:-ms-input-placeholder { color: #999; } .ios input::-webkit-input-placeholder, .ios textarea::-webkit-input-placeholder { color: #999; text-indent: 0; } .ios .item-input { margin: 12px 8px 13px 0; padding: 0; background-color: #fff; } .ios .inset-input { margin: 6px 16px 6.5px 16px; padding: 6px 8px 6.5px 8px; } .ios .stacked-input, .ios .floating-input { margin-top: 8px; margin-bottom: 8px; } .ios ion-toggle { display: block; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .ios ion-toggle.item.activated { background: #fff; } .ios .toggle-media { margin: 0; padding: 6px 8px 5px 16px; cursor: pointer; } .ios .toggle-icon { position: relative; display: block; width: 51px; height: 32px; border-radius: 16px; pointer-events: none; background-color: #e6e6e6; -webkit-transition: background-color 300ms; transition: background-color 300ms; } .ios .toggle-icon:before { content: ''; position: absolute; top: 2px; right: 2px; left: 2px; bottom: 2px; border-radius: 16px; background-color: #fff; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); -webkit-transition: -webkit-transform 300ms; transition: transform 300ms; } .ios .toggle-icon:after { content: ''; position: absolute; top: 2px; left: 2px; width: 28px; height: 28px; border-radius: 14px; background-color: #fff; box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 1px rgba(0, 0, 0, 0.1); -webkit-transition: -webkit-transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms; transition: transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms; } .ios ion-toggle[aria-checked=true] .toggle-icon { background-color: #387ef5; } .ios ion-toggle[aria-checked=true] .toggle-icon:before { -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); } .ios ion-toggle[aria-checked=true] .toggle-icon:after { -webkit-transform: translate3d(19px, 0, 0); transform: translate3d(19px, 0, 0); } .ios ion-toggle[aria-checked=true] .toggle-activated .toggle-icon:before { -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); } .ios ion-toggle[aria-checked=true] .toggle-activated .toggle-icon:after { left: -4px; width: 34px; } .ios ion-toggle[aria-disabled=true] { opacity: 0.5; color: #666; pointer-events: none; } .ios ion-toggle[primary][aria-checked=true] .toggle-icon { background-color: #387ef5; } .ios ion-toggle[secondary][aria-checked=true] .toggle-icon { background-color: #32db64; } .ios ion-toggle[danger][aria-checked=true] .toggle-icon { background-color: #f53d3d; } .ios ion-toggle[light][aria-checked=true] .toggle-icon { background-color: #f4f4f4; } .ios ion-toggle[dark][aria-checked=true] .toggle-icon { background-color: #222; } .ios .toolbar { position: relative; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-ordinal-group: -9; -webkit-order: -10; -ms-flex-order: -10; order: -10; -webkit-box-flex: 0; -webkit-flex: 0; -ms-flex: 0; flex: 0; width: 100%; overflow: hidden; } .ios .toolbar-background { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; border: 0; pointer-events: none; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .ios .toolbar[position=bottom] { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; } .ios ion-title { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .ios .toolbar-title { display: block; width: 100%; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } .ios ion-buttons { display: block; margin: 0 0.2rem; pointer-events: none; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .ios ion-buttons button, .ios ion-buttons a, .ios ion-buttons input, .ios ion-buttons textarea, .ios ion-buttons div { pointer-events: auto; } .ios .toolbar[transparent] .toolbar-background { background: transparent; border-color: transparent; } .ios ion-buttons, .ios .bar-button-menutoggle { -webkit-transform: translateZ(0px); transform: translateZ(0px); z-index: 99; } .ios ion-navbar.toolbar { -webkit-transform: translateZ(0px); transform: translateZ(0px); display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; opacity: 0; } .ios ion-navbar.toolbar.show-navbar { opacity: 1; } .ios .bar-button { position: relative; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; margin: 0; padding: 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; text-align: center; text-transform: none; vertical-align: top; vertical-align: -webkit-baseline-middle; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; } .ios .bar-button-menutoggle { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .ios .back-button { display: none; } .ios .back-button.show-back-button { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .ios .back-button-text { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .ios .toolbar { padding: 4px; min-height: 4.4rem; } .ios ion-navbar-section { min-height: 4.4rem; } .ios .toolbar-background { border-bottom-width: 1px; border-bottom-style: solid; border-color: #b2b2b2; background: #f8f8f8; } .ios.hairlines .toolbar-background { border-bottom-width: 0.55px; } .ios .toolbar-content { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 5; -webkit-order: 4; -ms-flex-order: 4; order: 4; } .ios .toolbar-title { font-size: 1.7rem; font-weight: 500; text-align: center; pointer-events: auto; color: #000; } .ios ion-title { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 0px 90px 1px 90px; pointer-events: none; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .ios ion-buttons { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 4; -webkit-order: 3; -ms-flex-order: 3; order: 3; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .ios ion-buttons[left] { -webkit-box-ordinal-group: 3; -webkit-order: 2; -ms-flex-order: 2; order: 2; } .ios ion-buttons[end] { text-align: right; -webkit-box-ordinal-group: 6; -webkit-order: 5; -ms-flex-order: 5; order: 5; } .ios ion-buttons[right] { text-align: right; -webkit-box-ordinal-group: 7; -webkit-order: 6; -ms-flex-order: 6; order: 6; } .ios .bar-button { margin-top: 0; margin-bottom: 0; padding: 0 5px; min-height: 32px; border: 0; font-size: 1.7rem; border-radius: 4px; } .ios .bar-button-outline { border-width: 1px; border-style: solid; border-color: #387ef5; color: #387ef5; background-color: transparent; } .ios .bar-button-outline:hover:not(.disable-hover) { opacity: 0.4; } .ios .bar-button-outline.activated { color: white; background-color: #387ef5; } .ios .bar-button-solid { color: white; background-color: #387ef5; } .ios .bar-button-solid:hover:not(.disable-hover) { opacity: 0.4; color: white; } .ios .bar-button-solid.activated { opacity: 0.4; color: white; background-color: #3474e1; } .ios .bar-button-icon-left icon { margin-left: -0.1em; padding-right: 0.3em; font-size: 1.4em; line-height: 0.67; pointer-events: none; } .ios .bar-button-icon-right icon { padding-left: 0.4em; font-size: 1.4em; line-height: 0.67; pointer-events: none; } .ios .bar-button-icon-only { padding: 0; min-width: 0.9em; } .ios .bar-button-icon-only icon { padding: 0 0.1em; font-size: 1.8em; line-height: 0.67; pointer-events: none; } .ios .back-button { margin: 0; min-height: 3.2rem; line-height: 1; -webkit-box-ordinal-group: 1; -webkit-order: 0; -ms-flex-order: 0; order: 0; overflow: visible; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .ios .back-button-icon { display: inherit; margin: 0; min-width: 18px; font-size: 3.2rem; } .ios .bar-button-menutoggle { margin: 0 6px; padding: 0; min-width: 36px; -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; } .ios .bar-button-menutoggle icon { padding: 0 6px; font-size: 2.8rem; } .ios .bar-button-menutoggle[end], .ios .bar-button-menutoggle[right] { -webkit-box-ordinal-group: 8; -webkit-order: 7; -ms-flex-order: 7; order: 7; } .ios .bar-button-default { color: #3474e1; background-color: transparent; } .ios .bar-button-default:hover:not(.disable-hover) { color: #306bcf; } .ios .bar-button-default.activated { opacity: 0.4; } .ios .toolbar[primary] .toolbar-background { background: #387ef5; border-color: #0c60ee; } .ios .toolbar[primary] .toolbar-title, .ios .toolbar[primary] .bar-button-default { color: white; } .ios .bar-button-primary { color: #3474e1; background-color: transparent; } .ios .bar-button-primary:hover:not(.disable-hover) { color: #306bcf; } .ios .bar-button-primary.activated { opacity: 0.4; } .ios .bar-button-outline-primary { border-color: #3474e1; color: #3474e1; background-color: transparent; } .ios .bar-button-outline-primary.activated { color: white; background-color: #3474e1; } .ios .bar-button-solid-primary { color: white; background-color: #387ef5; } .ios .bar-button-solid-primary.activated { background-color: #3474e1; } .ios .toolbar[secondary] .toolbar-background { background: #32db64; border-color: #21b94e; } .ios .toolbar[secondary] .toolbar-title, .ios .toolbar[secondary] .bar-button-default { color: white; } .ios .bar-button-secondary { color: #2ec95c; background-color: transparent; } .ios .bar-button-secondary:hover:not(.disable-hover) { color: #3fcd69; } .ios .bar-button-secondary.activated { opacity: 0.4; } .ios .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .ios .bar-button-outline-secondary.activated { color: white; background-color: #2ec95c; } .ios .bar-button-solid-secondary { color: white; background-color: #32db64; } .ios .bar-button-solid-secondary.activated { background-color: #2ec95c; } .ios .toolbar[danger] .toolbar-background { background: #f53d3d; border-color: #f30d0d; } .ios .toolbar[danger] .toolbar-title, .ios .toolbar[danger] .bar-button-default { color: white; } .ios .bar-button-danger { color: #e13838; background-color: transparent; } .ios .bar-button-danger:hover:not(.disable-hover) { color: #cf3434; } .ios .bar-button-danger.activated { opacity: 0.4; } .ios .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .ios .bar-button-outline-danger.activated { color: white; background-color: #e13838; } .ios .bar-button-solid-danger { color: white; background-color: #f53d3d; } .ios .bar-button-solid-danger.activated { background-color: #e13838; } .ios .toolbar[light] .toolbar-background { background: #f4f4f4; border-color: #dbdbdb; } .ios .toolbar[light] .toolbar-title, .ios .toolbar[light] .bar-button-default { color: black; } .ios .bar-button-light { color: #e0e0e0; background-color: transparent; } .ios .bar-button-light:hover:not(.disable-hover) { color: #cecece; } .ios .bar-button-light.activated { opacity: 0.4; } .ios .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .ios .bar-button-outline-light.activated { color: black; background-color: #e0e0e0; } .ios .bar-button-solid-light { color: black; background-color: #f4f4f4; } .ios .bar-button-solid-light.activated { background-color: #e0e0e0; } .ios .toolbar[dark] .toolbar-background { background: #222; border-color: #090909; } .ios .toolbar[dark] .toolbar-title, .ios .toolbar[dark] .bar-button-default { color: white; } .ios .bar-button-dark { color: #343434; background-color: transparent; } .ios .bar-button-dark:hover:not(.disable-hover) { color: #444444; } .ios .bar-button-dark.activated { opacity: 0.4; } .ios .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .ios .bar-button-outline-dark.activated { color: white; background-color: #343434; } .ios .bar-button-solid-dark { color: white; background-color: #222; } .ios .bar-button-solid-dark.activated { background-color: #343434; } .ios.platform-cordova.platform-ios ion-navbar-section { min-height: 6.4rem; height: 6.4rem; } .ios.platform-cordova.platform-ios ion-navbar ion-title, .ios.platform-cordova.platform-ios ion-navbar ion-segment { padding-top: 2rem; } .ios.platform-cordova.platform-ios ion-navbar, .ios.platform-cordova.platform-ios ion-app > ion-toolbar:first-child, .ios.platform-cordova.platform-ios ion-app > ion-toolbar:first-child ion-title, .ios.platform-cordova.platform-ios ion-app > ion-toolbar:first-child ion-segment, .ios.platform-cordova.platform-ios ion-menu > ion-toolbar:first-child, .ios.platform-cordova.platform-ios ion-menu > ion-toolbar:first-child ion-title, .ios.platform-cordova.platform-ios ion-menu > ion-toolbar:first-child ion-segment, .ios.platform-cordova.platform-ios ion-page.modal > ion-toolbar:first-child, .ios.platform-cordova.platform-ios ion-page.modal > ion-toolbar:first-child ion-title, .ios.platform-cordova.platform-ios ion-page.modal > ion-toolbar:first-child ion-segment { min-height: 6.4rem; height: 6.4rem; padding-top: 2rem; } .md { /****************/ /* DEFAULT LIST */ /****************/ /**************/ /* INSET LIST */ /**************/ /*****************/ /* NO LINES LIST */ /*****************/ font-family: "Roboto", "Helvetica Neue", sans-serif; font-size: 1.4rem; background-color: #fff; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-content { color: #000; } .md p { color: #000; } .md a { color: #387ef5; } .md hr { background-color: rgba(0, 0, 0, 0.08); } .md h1[primary], .md h2[primary], .md h3[primary], .md h4[primary], .md h5[primary], .md h6[primary], .md p[primary], .md span[primary], .md a:not([button])[primary], .md small[primary], .md b[primary], .md i[primary], .md strong[primary], .md em[primary], .md sub[primary], .md sup[primary] { color: #387ef5 !important; } .md h1[secondary], .md h2[secondary], .md h3[secondary], .md h4[secondary], .md h5[secondary], .md h6[secondary], .md p[secondary], .md span[secondary], .md a:not([button])[secondary], .md small[secondary], .md b[secondary], .md i[secondary], .md strong[secondary], .md em[secondary], .md sub[secondary], .md sup[secondary] { color: #32db64 !important; } .md h1[danger], .md h2[danger], .md h3[danger], .md h4[danger], .md h5[danger], .md h6[danger], .md p[danger], .md span[danger], .md a:not([button])[danger], .md small[danger], .md b[danger], .md i[danger], .md strong[danger], .md em[danger], .md sub[danger], .md sup[danger] { color: #f53d3d !important; } .md h1[light], .md h2[light], .md h3[light], .md h4[light], .md h5[light], .md h6[light], .md p[light], .md span[light], .md a:not([button])[light], .md small[light], .md b[light], .md i[light], .md strong[light], .md em[light], .md sub[light], .md sup[light] { color: #f4f4f4 !important; } .md h1[dark], .md h2[dark], .md h3[dark], .md h4[dark], .md h5[dark], .md h6[dark], .md p[dark], .md span[dark], .md a:not([button])[dark], .md small[dark], .md b[dark], .md i[dark], .md strong[dark], .md em[dark], .md sub[dark], .md sup[dark] { color: #222 !important; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-action-sheet { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; z-index: 1000; } .md .action-sheet-wrapper { position: absolute; z-index: 10; bottom: 0; left: 0; right: 0; width: 100%; display: block; max-width: 500px; margin: auto; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .md .action-sheet-container { width: auto; overflow: hidden; } .md .action-sheet-button { display: block; width: 100%; margin: 0; border-radius: 0; border-color: #d1d3d6; } .md .action-sheet-button.activated { box-shadow: none; border-color: #d1d3d6; background: #e4e5e7; } .md .action-sheet-group { background-color: #fff; overflow: hidden; } .md .action-sheet-options { background: #f1f2f3; } .md .action-sheet-title { padding: 19px 16px 17px; font-size: 1.6rem; color: #757575; text-align: left; } .md .action-sheet-button { padding: 0 16px; min-height: 4.8rem; font-size: 1.6rem; font-weight: normal; color: #222; background-color: transparent; text-align: left; } .md .action-sheet-button.activated { background: #f1f1f1; border-radius: 0; box-shadow: none; } .md .action-sheet-icon { display: inline-block; margin: 0 28px 0 0; min-width: 24px; text-align: center; vertical-align: middle; font-size: 2.4rem; } .md .action-sheet-group { margin: 0; border-radius: 0; background-color: #fafafa; } .md .action-sheet-group:last-child .action-sheet-button { margin-bottom: 8px; } .md .action-sheet-cancel { background-color: #fafafa; width: auto; border: none; } .md ion-badge { display: inline-block; padding: 3px 8px; min-width: 10px; vertical-align: baseline; text-align: center; white-space: nowrap; font-size: 1.3rem; font-weight: bold; line-height: 1; background: #ccc; } .md ion-badge:empty { display: none; } .md ion-badge[primary] { background-color: #387ef5; color: white; } .md ion-badge[secondary] { background-color: #32db64; color: white; } .md ion-badge[danger] { background-color: #f53d3d; color: white; } .md ion-badge[light] { background-color: #f4f4f4; color: black; } .md ion-badge[dark] { background-color: #222; color: white; } .md ion-badge { border-radius: 4px; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md .button { position: relative; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-transition: background-color, opacity 100ms linear; transition: background-color, opacity 100ms linear; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; text-align: center; text-transform: none; vertical-align: top; vertical-align: -webkit-baseline-middle; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; } .md a.button { text-decoration: none; } .md .button[disabled] { opacity: 0.4; cursor: default !important; pointer-events: none; } .md .button-block { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; clear: both; width: 100%; } .md .button-block:after { clear: both; } .md .button-full { width: 100%; } .md .button-round { padding: 0 2.6rem; border-radius: 64px; } .md .button-full.button-outline { border-left-width: 0; border-right-width: 0; } .md .button { margin: 0.4rem 0.2rem; padding: 0 1.1em; min-height: 3.6rem; border-radius: 2px; font-weight: 500; font-size: 1.4rem; color: white; background-color: #387ef5; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); text-transform: uppercase; -webkit-transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); } .md .button:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .md .button.activated { box-shadow: 0 3px 5px rgba(0, 0, 0, 0.14), 0 3px 5px rgba(0, 0, 0, 0.21); background-color: #3474e1; } .md .button-large { padding: 0 1em; min-height: 2.8em; font-size: 2rem; } .md .button-small { padding: 0 0.9em; min-height: 2.1em; font-size: 1.3rem; } .md .button-small.button-icon-only icon { font-size: 1.4em; } .md .button-full { border-radius: 0; margin-right: 0; margin-left: 0; border-right-width: 0; border-left-width: 0; } .md .button-block { margin-right: 0; margin-left: 0; } .md .button-outline { border-width: 1px; border-style: solid; border-color: #387ef5; background-color: transparent; color: #387ef5; box-shadow: none; } .md .button-outline.activated { opacity: 1; color: #fff; background-color: #387ef5; box-shadow: none; } .md .button-outline md-ripple { background-color: rgba(56, 126, 245, 0.1); } .md .button-clear { border-color: transparent; opacity: 1; box-shadow: none; background-color: transparent; color: #3474e1; } .md .button-clear.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .md .button-clear:hover:not(.disable-hover) { color: #3474e1; } .md .button-round { padding: 0 2.6rem; border-radius: 64px; } .md .button-fab { border-radius: 50%; box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.14), 0 4px 5px rgba(0, 0, 0, 0.1); } .md .button-fab.activated { box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.4), 0 4px 7px 0 rgba(0, 0, 0, 0.1); } .md .button-icon-only { padding: 0; } .md .button-primary { color: white; background-color: #387ef5; } .md .button-primary.activated { opacity: 1; background-color: #3474e1; } .md .button-outline-primary { border-color: #3578e9; background-color: transparent; color: #3578e9; } .md .button-outline-primary.activated { color: #fff; background-color: #3578e9; } .md .button-clear-primary { border-color: transparent; background-color: transparent; color: #3474e1; } .md .button-clear-primary.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .md .button-clear-primary:hover:not(.disable-hover) { color: #306bcf; } .md .button-secondary { color: white; background-color: #32db64; } .md .button-secondary.activated { opacity: 1; background-color: #2ec95c; } .md .button-outline-secondary { border-color: #30d05f; background-color: transparent; color: #30d05f; } .md .button-outline-secondary.activated { color: #fff; background-color: #30d05f; } .md .button-clear-secondary { border-color: transparent; background-color: transparent; color: #2ec95c; } .md .button-clear-secondary.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .md .button-clear-secondary:hover:not(.disable-hover) { color: #3fcd69; } .md .button-danger { color: white; background-color: #f53d3d; } .md .button-danger.activated { opacity: 1; background-color: #e13838; } .md .button-outline-danger { border-color: #e93a3a; background-color: transparent; color: #e93a3a; } .md .button-outline-danger.activated { color: #fff; background-color: #e93a3a; } .md .button-clear-danger { border-color: transparent; background-color: transparent; color: #e13838; } .md .button-clear-danger.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .md .button-clear-danger:hover:not(.disable-hover) { color: #cf3434; } .md .button-light { color: black; background-color: #f4f4f4; } .md .button-light.activated { opacity: 1; background-color: #e0e0e0; } .md .button-outline-light { border-color: #e8e8e8; background-color: transparent; color: #e8e8e8; } .md .button-outline-light.activated { color: #fff; background-color: #e8e8e8; } .md .button-clear-light { border-color: transparent; background-color: transparent; color: #e0e0e0; } .md .button-clear-light.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .md .button-clear-light:hover:not(.disable-hover) { color: #cecece; } .md .button-dark { color: white; background-color: #222; } .md .button-dark.activated { opacity: 1; background-color: #343434; } .md .button-outline-dark { border-color: #2d2d2d; background-color: transparent; color: #2d2d2d; } .md .button-outline-dark.activated { color: #fff; background-color: #2d2d2d; } .md .button-clear-dark { border-color: transparent; background-color: transparent; color: #343434; } .md .button-clear-dark.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .md .button-clear-dark:hover:not(.disable-hover) { color: #444444; } .md .button-fab { position: absolute; width: 56px; height: 56px; line-height: 56px; min-width: 0; vertical-align: middle; border-radius: 50%; background-clip: padding-box; overflow: hidden; -webkit-transition: .2s linear; transition: .2s linear; -webkit-transition-property: background-color; transition-property: background-color; font-size: 14px; } .md .button-fab icon { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; font-size: 2.8rem; } .md [fab-center] { left: 50%; margin-left: -28px; } .md [fab-top] { top: 16px; } .md [fab-right] { right: 16px; } .md [fab-bottom] { bottom: 16px; } .md [fab-left] { left: 16px; } .md .button-icon-left icon { padding-right: 0.3em; font-size: 1.4em; line-height: 0.67; pointer-events: none; } .md .button-icon-right icon { padding-left: 0.4em; font-size: 1.4em; line-height: 0.67; pointer-events: none; } .md .button-icon-only { padding: 0; min-width: 0.9em; } .md .button-icon-only icon { padding: 0 0.5em; font-size: 1.8em; line-height: 0.67; pointer-events: none; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-card { display: block; overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); } .md ion-card img { display: block; width: 100%; } .md ion-card-header { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .md ion-card-content { display: block; } .md ion-card { margin: 10px 10px 10px 10px; font-size: 1.4rem; background: #fff; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); border-radius: 2px; } .md ion-card ion-list { margin-bottom: 0; } .md ion-card ion-list ion-item-content { padding: 0; } .md ion-card ion-list .item-inner { border-bottom: 1px solid #dedede; } .md ion-card ion-list > .item:last-child, .md ion-card ion-list > ion-item-sliding:last-child .item { border-bottom: none; } .md ion-card .item-inner { border: none; } .md ion-card ion-card-content { padding: 13px 16px 13px 16px; font-size: 1.4rem; line-height: 1.5; } .md ion-card ion-card-header { padding: 16px; font-size: 1.6rem; color: #222; } .md ion-card ion-card-header + ion-card-content, .md ion-card .item + ion-card-content { padding-top: 0; } .md ion-card ion-note[item-left], .md ion-card ion-note[item-right] { font-size: 1.3rem; } .md ion-card .card-title { padding: 8px 0 8px 0; font-size: 2.4rem; color: #222; } .md ion-card h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; color: #222; } .md ion-card h2 { margin: 2px 0 2px; font-size: 1.6rem; font-weight: normal; color: #222; } .md ion-card h3, .md ion-card h4, .md ion-card h5, .md ion-card h6 { margin: 2px 0 2px; font-size: 1.4rem; font-weight: normal; color: #222; } .md ion-card p { font-size: 1.4rem; margin: 0 0 2px; line-height: 1.5; font-weight: normal; color: #222; } .md ion-card + ion-card { margin-top: 0; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-checkbox { cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .md ion-checkbox.item .item-inner { border: none; padding-right: 0; } .md ion-checkbox ion-item-content { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #dedede; margin: 0; padding: 13px 8px 13px 0; } .md ion-checkbox[aria-checked=true] .checkbox-icon { background-color: #387ef5; border-color: #387ef5; } .md ion-checkbox[aria-checked=true] .checkbox-icon:after { position: absolute; border-width: 2px; border-style: solid; border-color: #fff; top: 0; left: 3px; width: 4px; height: 9px; border-left: none; border-top: none; content: ''; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .md ion-checkbox[aria-disabled=true] { opacity: 0.5; color: #666; pointer-events: none; } .md .checkbox-media { margin: 9px 36px 9px 4px; } .md .checkbox-icon { position: relative; width: 16px; height: 16px; border-radius: 2px; border-width: 2px; border-style: solid; border-color: #787878; background-color: #fff; } .md ion-checkbox[primary][aria-checked=true] .checkbox-icon { background-color: #387ef5; border-color: #387ef5; } .md ion-checkbox[primary][aria-checked=true] .checkbox-icon:after { border-color: white; } .md ion-checkbox[secondary][aria-checked=true] .checkbox-icon { background-color: #32db64; border-color: #32db64; } .md ion-checkbox[secondary][aria-checked=true] .checkbox-icon:after { border-color: white; } .md ion-checkbox[danger][aria-checked=true] .checkbox-icon { background-color: #f53d3d; border-color: #f53d3d; } .md ion-checkbox[danger][aria-checked=true] .checkbox-icon:after { border-color: white; } .md ion-checkbox[light][aria-checked=true] .checkbox-icon { background-color: #f4f4f4; border-color: #f4f4f4; } .md ion-checkbox[light][aria-checked=true] .checkbox-icon:after { border-color: black; } .md ion-checkbox[dark][aria-checked=true] .checkbox-icon { background-color: #222; border-color: #222; } .md ion-checkbox[dark][aria-checked=true] .checkbox-icon:after { border-color: white; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-content { background-color: #fff; } .md [padding], .md [padding] > scroll-content { padding: 16px; } .md [padding-top] { padding-top: 16px; } .md [padding-right] { padding-right: 16px; } .md [padding-bottom] { padding-bottom: 16px; } .md [padding-left] { padding-left: 16px; } .md [padding-vertical] { padding-top: 16px; padding-bottom: 16px; } .md [padding-horizontal] { padding-right: 16px; padding-left: 16px; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md .item { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0; padding: 0; border: 0; width: 100%; min-height: 4.4rem; overflow: hidden; text-align: initial; font-weight: normal; line-height: normal; text-decoration: none; color: inherit; } .md .item-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; margin: 0; padding: 0; border: 0; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; } .md .item[no-lines], .md .item[no-lines] .item-inner { border: none; } .md ion-item-group { display: block; } .md ion-item-divider { display: block; min-height: 30px; width: 100%; z-index: 1000; font-weight: 500; } .md ion-item-divider[sticky] { position: -webkit-sticky; position: sticky; top: 0px; } .md ion-item-content { margin: 0; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none; } .md ion-item-content a, .md ion-item-content button, .md ion-item-content [tappable] { pointer-events: auto; } .md [text-wrap] ion-item-content { white-space: normal; } .md [vertical-align-top], .md ion-input.item { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .md ion-item-content + ion-item-content[cnt] { display: none; } .md ion-item-divider[primary] { background-color: #387ef5; color: white; } .md ion-item-divider[secondary] { background-color: #32db64; color: white; } .md ion-item-divider[danger] { background-color: #f53d3d; color: white; } .md ion-item-divider[light] { background-color: #f4f4f4; color: black; } .md ion-item-divider[dark] { background-color: #222; color: white; } .md .item > icon[small]:first-child, .md .item-inner > icon[small]:first-child { min-width: 18px; } .md .item > icon:first-child, .md .item-inner > icon:first-child { min-width: 24px; text-align: center; } .md .item > icon, .md .item-inner > icon { line-height: 1; font-size: 2.4rem; min-height: 2.4rem; } .md .item > icon[large], .md .item-inner > icon[large] { font-size: 3.2rem; min-height: 3.2rem; } .md .item > icon[small], .md .item-inner > icon[small] { font-size: 1.8rem; min-height: 1.8rem; } .md ion-avatar, .md ion-thumbnail { display: block; line-height: 1; } .md ion-avatar img, .md ion-thumbnail img { display: block; } .md ion-item-sliding { display: block; position: relative; overflow: hidden; } .md ion-item-sliding .item { position: static; } .md ion-item-options { display: none; position: absolute; top: 0; right: 0; z-index: 1; height: 100%; visibility: hidden; } .md ion-item-options .button { margin: 0; border-radius: 0; box-shadow: none; height: 100%; } .md ion-item-sliding.active-slide .item, .md ion-item-sliding.active-slide .item.activated { position: relative; z-index: 2; opacity: 1; -webkit-transition: all 300ms cubic-bezier(0.36, 0.66, 0.04, 1); transition: all 300ms cubic-bezier(0.36, 0.66, 0.04, 1); pointer-events: none; } .md ion-item-sliding.active-slide ion-item-options { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .md ion-item-sliding.active-slide.active-options ion-item-options { visibility: visible; } .md .item { position: relative; padding-right: 0; padding-left: 16px; font-size: 1.6rem; text-transform: none; font-weight: normal; color: #000; background-color: #fff; box-shadow: none; -webkit-transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 300ms; transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), transform 300ms; } .md .item h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .md .item h2 { margin: 2px 0 2px; font-size: 1.6rem; font-weight: normal; } .md .item h3, .md .item h4, .md .item h5, .md .item h6 { line-height: normal; margin: 2px 0 2px; font-size: 1.4rem; font-weight: normal; } .md .item p { line-height: normal; color: #666; font-size: 1.4rem; margin: 0 0 2px; } .md .item.activated { background-color: #f1f1f1; } .md .item[no-lines] { border-width: 0; } .md .item-inner { padding-right: 8px; border-bottom: 1px solid #dedede; } .md ion-item-content { margin: 13px 8px 13px 0; } .md [item-left], .md [item-right] { margin: 9px 8px 9px 0; } .md icon[item-left], .md icon[item-right] { margin-top: 11px; margin-bottom: 10px; margin-left: 0; } .md button[item-left], .md button[item-right], .md [button][item-left], .md [button][item-right] { padding: 0 0.6em; min-height: 26px; font-size: 1.2rem; } .md [item-left].button-icon-only, .md [item-right].button-icon-only, .md [item-left].button-icon-only icon, .md [item-right].button-icon-only icon { padding: 0 1px; } .md [item-left][clear], .md [item-right][clear] { padding: 0 8px; } .md [item-left].icon-left icon, .md [item-right].icon-left icon { margin-bottom: 1px; margin-left: 0; padding-right: 0.3em; } .md [item-left].icon-right icon, .md [item-right].icon-right icon { margin-right: 0; margin-bottom: 1px; } .md [text-wrap] ion-item-content { font-size: 1.4rem; line-height: 1.5; } .md icon[item-left] + .item-inner, .md icon[item-left] + .item-input { margin-left: 24px; } .md ion-avatar[item-left], .md ion-thumbnail[item-left] { margin: 8px 16px 8px 0; } .md ion-avatar[item-right], .md ion-thumbnail[item-right] { margin: 8px; } .md ion-avatar { min-width: 4rem; min-height: 4rem; } .md ion-avatar img { max-width: 4rem; max-height: 4rem; border-radius: 2rem; } .md ion-thumbnail { min-width: 8rem; min-height: 8rem; } .md ion-thumbnail img { max-width: 8rem; max-height: 8rem; } .md ion-note { color: #c5c5c5; } .md ion-item-divider { padding: 13px 16px 13px 16px; background-color: #fff; color: #222; } .md ion-item-sliding { background-color: #fff; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-label { display: block; max-width: 200px; font-size: inherit; white-space: nowrap; pointer-events: none; } .md .fixed-label { width: 30%; min-width: 100px; max-width: 200px; } .md [stacked-label], .md [floating-label] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .md .stacked-label, .md .floating-label { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; margin-bottom: 0; max-width: 100%; } .md .stacked-input, .md .floating-input { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; width: auto; } .md ion-label { margin: 13px 8px 13px 8px; color: #999; } .md .stacked-label { font-size: 1.2rem; } .md .floating-label { -webkit-transform-origin: left top; transform-origin: left top; -webkit-transform: translate3d(0, 27px, 0); transform: translate3d(0, 27px, 0); -webkit-transition: -webkit-transform 150ms ease-in-out; transition: transform 150ms ease-in-out; } .md .stacked-label, .md .floating-label { margin-left: 0; margin-bottom: 0; } .md .input-focused .stacked-label, .md .input-focused .floating-label { color: #387ef5; } .md .input-focused .floating-label, .md .input-has-value .floating-label { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .md ion-label[primary] { color: #387ef5 !important; } .md ion-label[secondary] { color: #32db64 !important; } .md ion-label[danger] { color: #f53d3d !important; } .md ion-label[light] { color: #f4f4f4 !important; } .md ion-label[dark] { color: #222 !important; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-list-header { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .md ion-list { display: block; margin: 0; padding: 0; list-style-type: none; } .md ion-list[inset] { overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); } .md ion-list-header, .md ion-item-divider { border-bottom: 1px solid #dedede; margin-left: 0; padding: 16px 16px 16px 16px; font-size: 1.4rem; color: #858585; } .md ion-list { margin: 0 0 16px 0; } .md ion-list .item-inner { border-bottom: 1px solid #dedede; } .md ion-list > .item:first-child, .md ion-list > ion-item-sliding:first-child .item { border-top: 1px solid #dedede; } .md ion-list > .item:last-child, .md ion-list > ion-item-sliding:last-child .item { border-bottom: 1px solid #dedede; } .md ion-list > .item:last-child .item-inner, .md ion-list > .item:last-child ion-item-content, .md ion-list > ion-item-sliding:last-child .item .item-inner, .md ion-list > ion-item-sliding:last-child .item ion-item-content { border-bottom: none; } .md ion-list > ion-input:last-child:after { left: 0; } .md ion-list ion-item-options button, .md ion-list ion-item-options [button] { height: calc(100% - 2px); margin: 1px 0 1px 0; box-shadow: none; border: none; border-radius: 0; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; box-sizing: border-box; } .md ion-list ion-item-options button:before, .md ion-list ion-item-options [button]:before { margin: 0 auto; } .md ion-list .item[no-lines], .md ion-list .item[no-lines] .item-inner { border-width: 0; } .md ion-list + ion-list { margin-top: 32px; } .md ion-list + ion-list ion-list-header { margin-top: -16px; padding-top: 0; } .md ion-list[inset] { margin: 16px 16px 16px 16px; border-radius: 2px; } .md ion-list[inset] .item:first-child { border-top-width: 0; border-top-right-radius: 2px; border-top-left-radius: 2px; } .md ion-list[inset] .item:last-child { border-bottom-width: 0; border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; } .md ion-list[inset] ion-input.item { padding-right: 0; padding-left: 0; } .md ion-list[inset] ion-input.item:after { left: 0; } .md ion-list[inset] + ion-list[inset] { margin-top: 0; } .md ion-list[inset] ion-list-header { background-color: #fff; } .md ion-list[no-lines] .item, .md ion-list[no-lines] .item .item-inner { border-width: 0; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-menu { background: #fff; } .md .menu-content-reveal { box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); } .md .menu-content-push { box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); } .md ion-menu[type=overlay] { box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-page.modal { background-color: #fff; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-popup { position: absolute; z-index: 1000; top: 0; left: 0; bottom: 0; right: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .md ion-popup input, .md ion-popup textarea { width: 100%; } .md .popup-wrapper { z-index: 10; min-width: 250px; max-height: 90%; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; opacity: 0; } .md .popup-title { margin: 0; padding: 0; } .md .popup-sub-title { margin: 5px 0 0 0; padding: 0; font-weight: normal; } .md .popup-body { overflow: auto; } .md .popup-body:empty { padding: 0; } .md .prompt-input { border: 0; background: inherit; padding: 10px 0; } .md .prompt-input::-moz-placeholder { color: #999; } .md .prompt-input:-ms-input-placeholder { color: #999; } .md .prompt-input::-webkit-input-placeholder { color: #999; text-indent: 0; } .md .popup-buttons { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .md .popup-button { display: block; margin: 0; line-height: 20px; font-size: 14px; margin-right: 8px; } .md .popup-wrapper { max-width: 280px; border-radius: 2px; background-color: #fafafa; box-shadow: 0px 16px 20px rgba(0, 0, 0, 0.4); } .md .popup-head { text-align: left; padding: 24px 24px 10px 24px; } .md .popup-title { font-size: 20px; } .md .popup-sub-title { font-size: 15px; } .md .popup-body { padding: 10px 24px 24px 24px; color: rgba(0, 0, 0, 0.5); } .md .prompt-input { border-bottom: 1px solid #dedede; color: #000000; margin: 5px 0 5px 0; } .md .prompt-input:focus { border-bottom: 2px solid #387ef5; margin-bottom: 4px; } .md .popup-buttons { padding: 8px 8px 8px 24px; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; } .md .popup-button.activated { opacity: 1; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-radio { cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .md ion-radio[aria-checked=true] { color: #387ef5; } .md ion-radio[aria-checked=true] .radio-icon { border-color: #387ef5; } .md ion-radio[aria-checked=true] .radio-icon:after { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } .md ion-radio[aria-disabled=true] { color: #666; opacity: 0.5; pointer-events: none; } .md .radio-icon { position: relative; top: 0; left: 0; display: block; width: 16px; height: 16px; margin: 0; border-width: 2px; border-style: solid; border-color: #787878; border-radius: 50%; } .md .radio-icon:after { position: absolute; top: 2px; left: 2px; width: 8px; height: 8px; background-color: #387ef5; border-radius: 50%; content: ''; -webkit-transition: -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1); -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); } .md .radio-media { display: block; margin: 9px 8px 9px 8px; } .md ion-radio[primary][aria-checked=true] { color: #387ef5; } .md ion-radio[primary][aria-checked=true] .radio-icon { border-color: #387ef5; } .md ion-radio[primary][aria-checked=true] .radio-icon:after { background-color: #387ef5; } .md ion-radio[secondary][aria-checked=true] { color: #32db64; } .md ion-radio[secondary][aria-checked=true] .radio-icon { border-color: #32db64; } .md ion-radio[secondary][aria-checked=true] .radio-icon:after { background-color: #32db64; } .md ion-radio[danger][aria-checked=true] { color: #f53d3d; } .md ion-radio[danger][aria-checked=true] .radio-icon { border-color: #f53d3d; } .md ion-radio[danger][aria-checked=true] .radio-icon:after { background-color: #f53d3d; } .md ion-radio[light][aria-checked=true] { color: #f4f4f4; } .md ion-radio[light][aria-checked=true] .radio-icon { border-color: #f4f4f4; } .md ion-radio[light][aria-checked=true] .radio-icon:after { background-color: #f4f4f4; } .md ion-radio[dark][aria-checked=true] { color: #222; } .md ion-radio[dark][aria-checked=true] .radio-icon { border-color: #222; } .md ion-radio[dark][aria-checked=true] .radio-icon:after { background-color: #222; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md md-ripple { position: absolute; z-index: 0; display: block; border-radius: 50%; background-color: rgba(0, 0, 0, 0.1); overflow: hidden; pointer-events: none; -webkit-transform: scale(0.001) translateZ(0); transform: scale(0.001) translateZ(0); } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-searchbar { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; width: 100%; } .md .searchbar-icon { pointer-events: none; } .md .searchbar-input-container { position: relative; display: block; -webkit-flex-shrink: 1; -ms-flex-negative: 1; flex-shrink: 1; width: 100%; } .md .searchbar-input { display: block; width: 100%; border: none; font-family: inherit; line-height: 3rem; -webkit-appearance: none; -moz-appearance: none; } .md .searchbar-clear-icon { min-height: 0; padding: 0; margin: 0; } .md ion-searchbar { padding: 8px; background: inherit; } .md .searchbar-search-icon { width: 21px; height: 21px; top: 11px; left: 16px; background-image: url("data:image/svg+xml;charset=utf-8,"); } .md .searchbar-md-cancel { display: none; width: 21px; height: 100%; margin: 0; top: 0; left: 10px; } .md .searchbar-search-icon, .md .searchbar-md-cancel { background-size: 20px; background-repeat: no-repeat; position: absolute; } .md .searchbar-search-icon.activated, .md .searchbar-md-cancel.activated { background-color: transparent; } .md .searchbar-input { padding: 6px 55px; height: 100%; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); font-size: 1.6rem; font-weight: 400; border-radius: 2px; color: #141414; background-color: #FFFFFF; background-position: 8px center; } .md .searchbar-input::-moz-placeholder { color: #AEAEAE; } .md .searchbar-input:-ms-input-placeholder { color: #AEAEAE; } .md .searchbar-input::-webkit-input-placeholder { color: #AEAEAE; text-indent: 0; } .md .searchbar-clear-icon { width: 22px; height: 100%; padding: 0; background-image: url("data:image/svg+xml;charset=utf-8,"); background-size: 22px; background-repeat: no-repeat; background-position: center; position: absolute; right: 13px; top: 0; } .md .searchbar-clear-icon.activated { background-color: transparent; } .md .searchbar-focused .searchbar-search-icon { display: none; } .md .searchbar-focused .searchbar-md-cancel { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; } .md .toolbar ion-searchbar { padding: 3px; } .md .toolbar .searchbar-md-cancel { left: 14px; } .md .searchbar-ios-cancel { display: none; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-segment { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } .md .segment-button { position: relative; display: block; margin-left: 0; margin-right: 0; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 0; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; } .md .segment-button { padding: 0 6px; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: rgba(0, 0, 0, 0.1); min-height: 4rem; line-height: 4rem; font-size: 1.2rem; text-transform: uppercase; font-weight: 500; opacity: 0.7; color: #387ef5; background-color: transparent; -webkit-transition: 100ms all linear; transition: 100ms all linear; } .md .segment-button.activated, .md .segment-button.segment-activated { border-color: #387ef5; } .md .toolbar ion-segment { margin: 0 auto; } .md .toolbar .segment-button.activated, .md .toolbar .segment-button.segment-activated { opacity: 1; } .md ion-segment[primary] .segment-button { color: #387ef5; } .md ion-segment[primary] .segment-button.activated, .md ion-segment[primary] .segment-button.segment-activated { opacity: 1; border-color: #387ef5; color: #387ef5; } .md ion-segment[secondary] .segment-button { color: #32db64; } .md ion-segment[secondary] .segment-button.activated, .md ion-segment[secondary] .segment-button.segment-activated { opacity: 1; border-color: #32db64; color: #32db64; } .md ion-segment[danger] .segment-button { color: #f53d3d; } .md ion-segment[danger] .segment-button.activated, .md ion-segment[danger] .segment-button.segment-activated { opacity: 1; border-color: #f53d3d; color: #f53d3d; } .md ion-segment[light] .segment-button { color: #f4f4f4; } .md ion-segment[light] .segment-button.activated, .md ion-segment[light] .segment-button.segment-activated { opacity: 1; border-color: #f4f4f4; color: #f4f4f4; } .md ion-segment[dark] .segment-button { color: #222; } .md ion-segment[dark] .segment-button.activated, .md ion-segment[dark] .segment-button.segment-activated { opacity: 1; border-color: #222; color: #222; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-tabs { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; overflow: hidden; width: 100%; height: 100%; max-width: 100%; max-height: 100%; margin: 0; padding: 0; } .md ion-tab { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; overflow: hidden; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; display: none; } .md ion-tab.show-tab { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .md ion-tabs > ion-navbar-section { -webkit-box-ordinal-group: -29; -webkit-order: -30; -ms-flex-order: -30; order: -30; } .md ion-tabbar-section { position: relative; -webkit-box-ordinal-group: 21; -webkit-order: 20; -ms-flex-order: 20; order: 20; } .md [tabbarPlacement=top] ion-tabbar-section { -webkit-box-ordinal-group: -19; -webkit-order: -20; -ms-flex-order: -20; order: -20; } .md tabbar { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; overflow: hidden; } .md .tab-button { position: relative; z-index: 0; overflow: hidden; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0; text-align: center; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; border: 0; border-radius: 0; background: none; } .md .tab-button-text { margin-top: 3px; margin-bottom: 2px; } .md .tab-button-text, .md .tab-button-icon { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; min-width: 26px; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: none; } .md .has-icon .tab-button-icon, .md .has-title .tab-button-text { display: block; } .md .has-title-only .tab-button-text { white-space: normal; } .md tab-highlight { display: none; } .md [tabbarIcons=bottom] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; } .md [tabbarIcons=left] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .md [tabbarIcons=left] .tab-button .tab-button-icon { text-align: right; padding-right: 8px; } .md [tabbarIcons=right] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .md [tabbarIcons=right] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; text-align: left; padding-left: 8px; } .md [tabbarIcons=hide] .tab-button-icon { display: none; } .md tabbar { background: #f8f8f8; } .md .tab-button { padding: 12px 10px 5px 10px; min-height: 4.8rem; font-size: 1.4rem; font-weight: 500; opacity: 0.7; box-shadow: none; border-radius: 0; border-bottom: 2px solid transparent; color: #8c8c8c; } .md .tab-button[aria-selected=true] { opacity: 1.0; color: #387ef5; } .md .tab-button-text { margin-top: 5px; margin-bottom: 5px; text-transform: uppercase; } .md .tab-button-icon { font-size: 2.4rem; min-width: 7.4rem; } .md [tabbarIcons=bottom] .tab-button { padding-top: 8px; padding-bottom: 8px; } .md [tabbarIcons=right] .tab-button, .md [tabbarIcons=left] .tab-button { padding-bottom: 10px; } .md [tabbarIcons=right] .tab-button icon, .md [tabbarIcons=left] .tab-button icon { min-width: 24px; } .md .tab-button.icon-only, .md .tab-button.has-title-only { padding: 6px 10px 6px 10px; } .md tab-highlight { position: absolute; display: block; height: 2px; width: 1px; bottom: 0; left: 0; background: #387ef5; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: translateZ(0); transform: translateZ(0); } .md tab-highlight.animate { -webkit-transition-duration: 300ms; transition-duration: 300ms; } .md [tabbarPlacement=bottom] tab-highlight { top: 0; } .md ion-tabs[primary] tabbar { background-color: #387ef5; } .md ion-tabs[primary] tabbar .tab-button { color: white; } .md ion-tabs[primary] tabbar .tab-button:hover:not(.disable-hover), .md ion-tabs[primary] tabbar .tab-button[aria-selected=true] { color: white; } .md ion-tabs[primary] tabbar tab-highlight { background: white; } .md ion-tabs[secondary] tabbar { background-color: #32db64; } .md ion-tabs[secondary] tabbar .tab-button { color: white; } .md ion-tabs[secondary] tabbar .tab-button:hover:not(.disable-hover), .md ion-tabs[secondary] tabbar .tab-button[aria-selected=true] { color: white; } .md ion-tabs[secondary] tabbar tab-highlight { background: white; } .md ion-tabs[danger] tabbar { background-color: #f53d3d; } .md ion-tabs[danger] tabbar .tab-button { color: white; } .md ion-tabs[danger] tabbar .tab-button:hover:not(.disable-hover), .md ion-tabs[danger] tabbar .tab-button[aria-selected=true] { color: white; } .md ion-tabs[danger] tabbar tab-highlight { background: white; } .md ion-tabs[light] tabbar { background-color: #f4f4f4; } .md ion-tabs[light] tabbar .tab-button { color: black; } .md ion-tabs[light] tabbar .tab-button:hover:not(.disable-hover), .md ion-tabs[light] tabbar .tab-button[aria-selected=true] { color: black; } .md ion-tabs[light] tabbar tab-highlight { background: black; } .md ion-tabs[dark] tabbar { background-color: #222; } .md ion-tabs[dark] tabbar .tab-button { color: white; } .md ion-tabs[dark] tabbar .tab-button:hover:not(.disable-hover), .md ion-tabs[dark] tabbar .tab-button[aria-selected=true] { color: white; } .md ion-tabs[dark] tabbar tab-highlight { background: white; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md .item-input { display: block; background: transparent; border: 0; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; pointer-events: none; } .md input.item-input:-webkit-autofill { background-color: transparent; } .md [scroll-assist] { width: 1px; height: 1px; padding: 0; background: transparent; border: 0; pointer-events: none; } .md .input-focused .item-input { pointer-events: auto; } .md textarea { height: auto; overflow: auto; font: inherit; color: inherit; } .md .platform-mobile textarea { resize: none; } .md input::-moz-placeholder, .md textarea::-moz-placeholder { color: #999; } .md input:-ms-input-placeholder, .md textarea:-ms-input-placeholder { color: #999; } .md input::-webkit-input-placeholder, .md textarea::-webkit-input-placeholder { color: #999; text-indent: 0; } .md .item-input { margin: 13px 8px 13px 8px; padding: 0; background-color: #fff; } .md .inset-input { margin: 6.5px 16px 6.5px 16px; padding: 6.5px 8px 6.5px 8px; } .md ion-input:after { position: absolute; bottom: 0; right: 0; left: 16px; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: transparent; content: ''; } .md .input-focused:after { border-bottom-color: #387ef5; } .md ion-input.ng-valid.input-has-value:after { border-bottom-color: #32db64; } .md ion-input.ng-invalid.ng-touched:after { border-bottom-color: #f53d3d; } .md .stacked-input, .md .floating-input { margin-left: 0; margin-top: 8px; margin-bottom: 8px; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md ion-toggle { display: block; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .md .toggle-media { margin: 0; padding: 12px 8px 12px 16px; cursor: pointer; } .md .toggle-icon { position: relative; display: block; width: 36px; height: 14px; pointer-events: none; border-radius: 14px; background-color: #dedede; -webkit-transition: background-color 300ms; transition: background-color 300ms; } .md .toggle-icon:after { content: ''; position: absolute; top: -3px; left: 0; width: 20px; height: 20px; border-radius: 50%; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); background-color: #fff; -webkit-transition-property: -webkit-transform, background-color; transition-property: transform, background-color; -webkit-transition-duration: 300ms; transition-duration: 300ms; } .md ion-toggle[aria-checked=true] .toggle-icon { background-color: #b1cdfb; } .md ion-toggle[aria-checked=true] .toggle-icon:after { background-color: #387ef5; -webkit-transform: translate3d(16px, 0, 0); transform: translate3d(16px, 0, 0); } .md ion-toggle[aria-disabled=true] { opacity: 0.5; color: #666; pointer-events: none; } .md ion-toggle[primary][aria-checked=true] .toggle-icon { background-color: #b1cdfb; } .md ion-toggle[primary][aria-checked=true] .toggle-icon:after { background-color: #387ef5; } .md ion-toggle[secondary][aria-checked=true] .toggle-icon { background-color: #9eeeb6; } .md ion-toggle[secondary][aria-checked=true] .toggle-icon:after { background-color: #32db64; } .md ion-toggle[danger][aria-checked=true] .toggle-icon { background-color: #fbb6b6; } .md ion-toggle[danger][aria-checked=true] .toggle-icon:after { background-color: #f53d3d; } .md ion-toggle[light][aria-checked=true] .toggle-icon { background-color: white; } .md ion-toggle[light][aria-checked=true] .toggle-icon:after { background-color: #f4f4f4; } .md ion-toggle[dark][aria-checked=true] .toggle-icon { background-color: #626262; } .md ion-toggle[dark][aria-checked=true] .toggle-icon:after { background-color: #222; } /** Roboto Font Google Apache License, version 2.0 http://www.apache.org/licenses/LICENSE-2.0.html */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .md .toolbar { position: relative; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-ordinal-group: -9; -webkit-order: -10; -ms-flex-order: -10; order: -10; -webkit-box-flex: 0; -webkit-flex: 0; -ms-flex: 0; flex: 0; width: 100%; overflow: hidden; } .md .toolbar-background { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; border: 0; pointer-events: none; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .md .toolbar[position=bottom] { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; } .md ion-title { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .md .toolbar-title { display: block; width: 100%; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } .md ion-buttons { display: block; margin: 0 0.2rem; pointer-events: none; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .md ion-buttons button, .md ion-buttons a, .md ion-buttons input, .md ion-buttons textarea, .md ion-buttons div { pointer-events: auto; } .md .toolbar[transparent] .toolbar-background { background: transparent; border-color: transparent; } .md ion-buttons, .md .bar-button-menutoggle { -webkit-transform: translateZ(0px); transform: translateZ(0px); z-index: 99; } .md ion-navbar.toolbar { -webkit-transform: translateZ(0px); transform: translateZ(0px); display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; opacity: 0; } .md ion-navbar.toolbar.show-navbar { opacity: 1; } .md .bar-button { position: relative; display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; margin: 0; padding: 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; text-align: center; text-transform: none; vertical-align: top; vertical-align: -webkit-baseline-middle; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; } .md .bar-button-menutoggle { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .md .back-button { display: none; } .md .back-button.show-back-button { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .md .back-button-text { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .md .toolbar { padding: 4px; min-height: 5.6rem; } .md ion-navbar-section { min-height: 5.6rem; } .md .toolbar-background { border-color: #b2b2b2; background: #f8f8f8; } .md .toolbar-content { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 4; -webkit-order: 3; -ms-flex-order: 3; order: 3; } .md .toolbar-title { color: #424242; } .md ion-title { padding: 0 12px; font-size: 2rem; font-weight: 500; } .md ion-buttons { -webkit-box-ordinal-group: 5; -webkit-order: 4; -ms-flex-order: 4; order: 4; -webkit-transform: translateZ(0px); transform: translateZ(0px); } .md ion-buttons[left] { -webkit-box-ordinal-group: 3; -webkit-order: 2; -ms-flex-order: 2; order: 2; } .md ion-buttons[left] .bar-button:first-child { margin-left: 0; } .md ion-buttons[end] { text-align: right; -webkit-box-ordinal-group: 6; -webkit-order: 5; -ms-flex-order: 5; order: 5; } .md ion-buttons[right] { text-align: right; -webkit-box-ordinal-group: 7; -webkit-order: 6; -ms-flex-order: 6; order: 6; } .md .bar-button { margin-top: 0; margin-bottom: 0; margin-left: 0.2rem; margin-right: 0.2rem; padding: 0 5px; min-height: 32px; border: 0; font-size: 1.4rem; border-radius: 2px; text-transform: uppercase; font-weight: 500; } .md .bar-button-outline { border-width: 1px; border-style: solid; border-color: #424242; color: #424242; background-color: transparent; } .md .bar-button-outline:hover:not(.disable-hover) { opacity: 0.4; } .md .bar-button-outline.activated { color: white; background-color: #424242; } .md .bar-button-solid { color: white; background-color: #424242; } .md .bar-button-solid:hover:not(.disable-hover) { color: white; } .md .bar-button-solid.activated { color: white; background-color: #515151; } .md .bar-button-icon-left icon { margin-left: -0.1em; padding-right: 0.3em; font-size: 1.4em; line-height: 0.67; pointer-events: none; } .md .bar-button-icon-right icon { padding-left: 0.4em; font-size: 1.4em; line-height: 0.67; pointer-events: none; } .md .bar-button-icon-only { padding: 0; } .md .bar-button-icon-only icon { padding: 0 0.1em; font-size: 1.8em; line-height: 0.67; min-width: 28px; pointer-events: none; } .md .back-button { margin: 0 0 0 12px; box-shadow: none; } .md .back-button-icon { margin: 0; min-width: 44px; font-size: 2.4rem; font-weight: normal; text-align: left; } .md .bar-button-menutoggle { margin: 0 6px; padding: 0 2px; min-width: 44px; -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; } .md .bar-button-menutoggle icon { padding: 0 6px; font-size: 2.4rem; } .md .bar-button-menutoggle[end], .md .bar-button-menutoggle[right] { margin: 0 2px; min-width: 28px; -webkit-box-ordinal-group: 8; -webkit-order: 7; -ms-flex-order: 7; order: 7; } .md .bar-button-default { color: #515151; background-color: transparent; } .md .bar-button-default:hover:not(.disable-hover) { color: #5f5f5f; } .md .bar-button-default.activated { opacity: 0.4; } .md .toolbar[primary] .toolbar-background { background: #387ef5; } .md .toolbar[primary] .toolbar-title, .md .toolbar[primary] .bar-button-default, .md .toolbar[primary] .bar-button-outline { color: white; } .md .toolbar[primary] .bar-button-outline { border-color: white; } .md .toolbar[primary] .bar-button-primary { color: #3474e1; background-color: transparent; } .md .toolbar[primary] .bar-button-primary:hover:not(.disable-hover) { color: #306bcf; } .md .toolbar[primary] .bar-button-primary.activated { opacity: 0.4; } .md .toolbar[primary] .bar-button-outline-primary { border-color: #3474e1; color: #3474e1; background-color: transparent; } .md .toolbar[primary] .bar-button-outline-primary.activated { color: white; background-color: #3474e1; } .md .toolbar[primary] .bar-button-solid-primary { color: white; background-color: #387ef5; } .md .toolbar[primary] .bar-button-solid-primary.activated { background-color: #3474e1; } .md .toolbar[primary] .bar-button-secondary { color: #2ec95c; background-color: transparent; } .md .toolbar[primary] .bar-button-secondary:hover:not(.disable-hover) { color: #3fcd69; } .md .toolbar[primary] .bar-button-secondary.activated { opacity: 0.4; } .md .toolbar[primary] .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .md .toolbar[primary] .bar-button-outline-secondary.activated { color: white; background-color: #2ec95c; } .md .toolbar[primary] .bar-button-solid-secondary { color: white; background-color: #32db64; } .md .toolbar[primary] .bar-button-solid-secondary.activated { background-color: #2ec95c; } .md .toolbar[primary] .bar-button-danger { color: #e13838; background-color: transparent; } .md .toolbar[primary] .bar-button-danger:hover:not(.disable-hover) { color: #cf3434; } .md .toolbar[primary] .bar-button-danger.activated { opacity: 0.4; } .md .toolbar[primary] .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .md .toolbar[primary] .bar-button-outline-danger.activated { color: white; background-color: #e13838; } .md .toolbar[primary] .bar-button-solid-danger { color: white; background-color: #f53d3d; } .md .toolbar[primary] .bar-button-solid-danger.activated { background-color: #e13838; } .md .toolbar[primary] .bar-button-light { color: #e0e0e0; background-color: transparent; } .md .toolbar[primary] .bar-button-light:hover:not(.disable-hover) { color: #cecece; } .md .toolbar[primary] .bar-button-light.activated { opacity: 0.4; } .md .toolbar[primary] .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .md .toolbar[primary] .bar-button-outline-light.activated { color: black; background-color: #e0e0e0; } .md .toolbar[primary] .bar-button-solid-light { color: black; background-color: #f4f4f4; } .md .toolbar[primary] .bar-button-solid-light.activated { background-color: #e0e0e0; } .md .toolbar[primary] .bar-button-dark { color: #343434; background-color: transparent; } .md .toolbar[primary] .bar-button-dark:hover:not(.disable-hover) { color: #444444; } .md .toolbar[primary] .bar-button-dark.activated { opacity: 0.4; } .md .toolbar[primary] .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .md .toolbar[primary] .bar-button-outline-dark.activated { color: white; background-color: #343434; } .md .toolbar[primary] .bar-button-solid-dark { color: white; background-color: #222; } .md .toolbar[primary] .bar-button-solid-dark.activated { background-color: #343434; } .md .bar-button-primary { color: #3474e1; background-color: transparent; } .md .bar-button-primary:hover:not(.disable-hover) { color: #306bcf; } .md .bar-button-primary.activated { opacity: 0.4; } .md .bar-button-outline-primary { border-color: #3474e1; color: #3474e1; background-color: transparent; } .md .bar-button-outline-primary.activated { color: white; background-color: #3474e1; } .md .bar-button-solid-primary { color: white; background-color: #387ef5; } .md .bar-button-solid-primary.activated { background-color: #3474e1; } .md .toolbar[secondary] .toolbar-background { background: #32db64; } .md .toolbar[secondary] .toolbar-title, .md .toolbar[secondary] .bar-button-default, .md .toolbar[secondary] .bar-button-outline { color: white; } .md .toolbar[secondary] .bar-button-outline { border-color: white; } .md .toolbar[secondary] .bar-button-primary { color: #3474e1; background-color: transparent; } .md .toolbar[secondary] .bar-button-primary:hover:not(.disable-hover) { color: #306bcf; } .md .toolbar[secondary] .bar-button-primary.activated { opacity: 0.4; } .md .toolbar[secondary] .bar-button-outline-primary { border-color: #3474e1; color: #3474e1; background-color: transparent; } .md .toolbar[secondary] .bar-button-outline-primary.activated { color: white; background-color: #3474e1; } .md .toolbar[secondary] .bar-button-solid-primary { color: white; background-color: #387ef5; } .md .toolbar[secondary] .bar-button-solid-primary.activated { background-color: #3474e1; } .md .toolbar[secondary] .bar-button-secondary { color: #2ec95c; background-color: transparent; } .md .toolbar[secondary] .bar-button-secondary:hover:not(.disable-hover) { color: #3fcd69; } .md .toolbar[secondary] .bar-button-secondary.activated { opacity: 0.4; } .md .toolbar[secondary] .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .md .toolbar[secondary] .bar-button-outline-secondary.activated { color: white; background-color: #2ec95c; } .md .toolbar[secondary] .bar-button-solid-secondary { color: white; background-color: #32db64; } .md .toolbar[secondary] .bar-button-solid-secondary.activated { background-color: #2ec95c; } .md .toolbar[secondary] .bar-button-danger { color: #e13838; background-color: transparent; } .md .toolbar[secondary] .bar-button-danger:hover:not(.disable-hover) { color: #cf3434; } .md .toolbar[secondary] .bar-button-danger.activated { opacity: 0.4; } .md .toolbar[secondary] .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .md .toolbar[secondary] .bar-button-outline-danger.activated { color: white; background-color: #e13838; } .md .toolbar[secondary] .bar-button-solid-danger { color: white; background-color: #f53d3d; } .md .toolbar[secondary] .bar-button-solid-danger.activated { background-color: #e13838; } .md .toolbar[secondary] .bar-button-light { color: #e0e0e0; background-color: transparent; } .md .toolbar[secondary] .bar-button-light:hover:not(.disable-hover) { color: #cecece; } .md .toolbar[secondary] .bar-button-light.activated { opacity: 0.4; } .md .toolbar[secondary] .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .md .toolbar[secondary] .bar-button-outline-light.activated { color: black; background-color: #e0e0e0; } .md .toolbar[secondary] .bar-button-solid-light { color: black; background-color: #f4f4f4; } .md .toolbar[secondary] .bar-button-solid-light.activated { background-color: #e0e0e0; } .md .toolbar[secondary] .bar-button-dark { color: #343434; background-color: transparent; } .md .toolbar[secondary] .bar-button-dark:hover:not(.disable-hover) { color: #444444; } .md .toolbar[secondary] .bar-button-dark.activated { opacity: 0.4; } .md .toolbar[secondary] .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .md .toolbar[secondary] .bar-button-outline-dark.activated { color: white; background-color: #343434; } .md .toolbar[secondary] .bar-button-solid-dark { color: white; background-color: #222; } .md .toolbar[secondary] .bar-button-solid-dark.activated { background-color: #343434; } .md .bar-button-secondary { color: #2ec95c; background-color: transparent; } .md .bar-button-secondary:hover:not(.disable-hover) { color: #3fcd69; } .md .bar-button-secondary.activated { opacity: 0.4; } .md .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .md .bar-button-outline-secondary.activated { color: white; background-color: #2ec95c; } .md .bar-button-solid-secondary { color: white; background-color: #32db64; } .md .bar-button-solid-secondary.activated { background-color: #2ec95c; } .md .toolbar[danger] .toolbar-background { background: #f53d3d; } .md .toolbar[danger] .toolbar-title, .md .toolbar[danger] .bar-button-default, .md .toolbar[danger] .bar-button-outline { color: white; } .md .toolbar[danger] .bar-button-outline { border-color: white; } .md .toolbar[danger] .bar-button-primary { color: #3474e1; background-color: transparent; } .md .toolbar[danger] .bar-button-primary:hover:not(.disable-hover) { color: #306bcf; } .md .toolbar[danger] .bar-button-primary.activated { opacity: 0.4; } .md .toolbar[danger] .bar-button-outline-primary { border-color: #3474e1; color: #3474e1; background-color: transparent; } .md .toolbar[danger] .bar-button-outline-primary.activated { color: white; background-color: #3474e1; } .md .toolbar[danger] .bar-button-solid-primary { color: white; background-color: #387ef5; } .md .toolbar[danger] .bar-button-solid-primary.activated { background-color: #3474e1; } .md .toolbar[danger] .bar-button-secondary { color: #2ec95c; background-color: transparent; } .md .toolbar[danger] .bar-button-secondary:hover:not(.disable-hover) { color: #3fcd69; } .md .toolbar[danger] .bar-button-secondary.activated { opacity: 0.4; } .md .toolbar[danger] .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .md .toolbar[danger] .bar-button-outline-secondary.activated { color: white; background-color: #2ec95c; } .md .toolbar[danger] .bar-button-solid-secondary { color: white; background-color: #32db64; } .md .toolbar[danger] .bar-button-solid-secondary.activated { background-color: #2ec95c; } .md .toolbar[danger] .bar-button-danger { color: #e13838; background-color: transparent; } .md .toolbar[danger] .bar-button-danger:hover:not(.disable-hover) { color: #cf3434; } .md .toolbar[danger] .bar-button-danger.activated { opacity: 0.4; } .md .toolbar[danger] .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .md .toolbar[danger] .bar-button-outline-danger.activated { color: white; background-color: #e13838; } .md .toolbar[danger] .bar-button-solid-danger { color: white; background-color: #f53d3d; } .md .toolbar[danger] .bar-button-solid-danger.activated { background-color: #e13838; } .md .toolbar[danger] .bar-button-light { color: #e0e0e0; background-color: transparent; } .md .toolbar[danger] .bar-button-light:hover:not(.disable-hover) { color: #cecece; } .md .toolbar[danger] .bar-button-light.activated { opacity: 0.4; } .md .toolbar[danger] .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .md .toolbar[danger] .bar-button-outline-light.activated { color: black; background-color: #e0e0e0; } .md .toolbar[danger] .bar-button-solid-light { color: black; background-color: #f4f4f4; } .md .toolbar[danger] .bar-button-solid-light.activated { background-color: #e0e0e0; } .md .toolbar[danger] .bar-button-dark { color: #343434; background-color: transparent; } .md .toolbar[danger] .bar-button-dark:hover:not(.disable-hover) { color: #444444; } .md .toolbar[danger] .bar-button-dark.activated { opacity: 0.4; } .md .toolbar[danger] .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .md .toolbar[danger] .bar-button-outline-dark.activated { color: white; background-color: #343434; } .md .toolbar[danger] .bar-button-solid-dark { color: white; background-color: #222; } .md .toolbar[danger] .bar-button-solid-dark.activated { background-color: #343434; } .md .bar-button-danger { color: #e13838; background-color: transparent; } .md .bar-button-danger:hover:not(.disable-hover) { color: #cf3434; } .md .bar-button-danger.activated { opacity: 0.4; } .md .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .md .bar-button-outline-danger.activated { color: white; background-color: #e13838; } .md .bar-button-solid-danger { color: white; background-color: #f53d3d; } .md .bar-button-solid-danger.activated { background-color: #e13838; } .md .toolbar[light] .toolbar-background { background: #f4f4f4; } .md .toolbar[light] .toolbar-title, .md .toolbar[light] .bar-button-default, .md .toolbar[light] .bar-button-outline { color: #424242; } .md .toolbar[light] .bar-button-outline { border-color: #424242; } .md .toolbar[light] .bar-button-primary { color: #3474e1; background-color: transparent; } .md .toolbar[light] .bar-button-primary:hover:not(.disable-hover) { color: #306bcf; } .md .toolbar[light] .bar-button-primary.activated { opacity: 0.4; } .md .toolbar[light] .bar-button-outline-primary { border-color: #3474e1; color: #3474e1; background-color: transparent; } .md .toolbar[light] .bar-button-outline-primary.activated { color: white; background-color: #3474e1; } .md .toolbar[light] .bar-button-solid-primary { color: white; background-color: #387ef5; } .md .toolbar[light] .bar-button-solid-primary.activated { background-color: #3474e1; } .md .toolbar[light] .bar-button-secondary { color: #2ec95c; background-color: transparent; } .md .toolbar[light] .bar-button-secondary:hover:not(.disable-hover) { color: #3fcd69; } .md .toolbar[light] .bar-button-secondary.activated { opacity: 0.4; } .md .toolbar[light] .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .md .toolbar[light] .bar-button-outline-secondary.activated { color: white; background-color: #2ec95c; } .md .toolbar[light] .bar-button-solid-secondary { color: white; background-color: #32db64; } .md .toolbar[light] .bar-button-solid-secondary.activated { background-color: #2ec95c; } .md .toolbar[light] .bar-button-danger { color: #e13838; background-color: transparent; } .md .toolbar[light] .bar-button-danger:hover:not(.disable-hover) { color: #cf3434; } .md .toolbar[light] .bar-button-danger.activated { opacity: 0.4; } .md .toolbar[light] .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .md .toolbar[light] .bar-button-outline-danger.activated { color: white; background-color: #e13838; } .md .toolbar[light] .bar-button-solid-danger { color: white; background-color: #f53d3d; } .md .toolbar[light] .bar-button-solid-danger.activated { background-color: #e13838; } .md .toolbar[light] .bar-button-light { color: #e0e0e0; background-color: transparent; } .md .toolbar[light] .bar-button-light:hover:not(.disable-hover) { color: #cecece; } .md .toolbar[light] .bar-button-light.activated { opacity: 0.4; } .md .toolbar[light] .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .md .toolbar[light] .bar-button-outline-light.activated { color: black; background-color: #e0e0e0; } .md .toolbar[light] .bar-button-solid-light { color: black; background-color: #f4f4f4; } .md .toolbar[light] .bar-button-solid-light.activated { background-color: #e0e0e0; } .md .toolbar[light] .bar-button-dark { color: #343434; background-color: transparent; } .md .toolbar[light] .bar-button-dark:hover:not(.disable-hover) { color: #444444; } .md .toolbar[light] .bar-button-dark.activated { opacity: 0.4; } .md .toolbar[light] .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .md .toolbar[light] .bar-button-outline-dark.activated { color: white; background-color: #343434; } .md .toolbar[light] .bar-button-solid-dark { color: white; background-color: #222; } .md .toolbar[light] .bar-button-solid-dark.activated { background-color: #343434; } .md .bar-button-light { color: #e0e0e0; background-color: transparent; } .md .bar-button-light:hover:not(.disable-hover) { color: #cecece; } .md .bar-button-light.activated { opacity: 0.4; } .md .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .md .bar-button-outline-light.activated { color: black; background-color: #e0e0e0; } .md .bar-button-solid-light { color: black; background-color: #f4f4f4; } .md .bar-button-solid-light.activated { background-color: #e0e0e0; } .md .toolbar[dark] .toolbar-background { background: #222; } .md .toolbar[dark] .toolbar-title, .md .toolbar[dark] .bar-button-default, .md .toolbar[dark] .bar-button-outline { color: white; } .md .toolbar[dark] .bar-button-outline { border-color: white; } .md .toolbar[dark] .bar-button-primary { color: #3474e1; background-color: transparent; } .md .toolbar[dark] .bar-button-primary:hover:not(.disable-hover) { color: #306bcf; } .md .toolbar[dark] .bar-button-primary.activated { opacity: 0.4; } .md .toolbar[dark] .bar-button-outline-primary { border-color: #3474e1; color: #3474e1; background-color: transparent; } .md .toolbar[dark] .bar-button-outline-primary.activated { color: white; background-color: #3474e1; } .md .toolbar[dark] .bar-button-solid-primary { color: white; background-color: #387ef5; } .md .toolbar[dark] .bar-button-solid-primary.activated { background-color: #3474e1; } .md .toolbar[dark] .bar-button-secondary { color: #2ec95c; background-color: transparent; } .md .toolbar[dark] .bar-button-secondary:hover:not(.disable-hover) { color: #3fcd69; } .md .toolbar[dark] .bar-button-secondary.activated { opacity: 0.4; } .md .toolbar[dark] .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .md .toolbar[dark] .bar-button-outline-secondary.activated { color: white; background-color: #2ec95c; } .md .toolbar[dark] .bar-button-solid-secondary { color: white; background-color: #32db64; } .md .toolbar[dark] .bar-button-solid-secondary.activated { background-color: #2ec95c; } .md .toolbar[dark] .bar-button-danger { color: #e13838; background-color: transparent; } .md .toolbar[dark] .bar-button-danger:hover:not(.disable-hover) { color: #cf3434; } .md .toolbar[dark] .bar-button-danger.activated { opacity: 0.4; } .md .toolbar[dark] .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .md .toolbar[dark] .bar-button-outline-danger.activated { color: white; background-color: #e13838; } .md .toolbar[dark] .bar-button-solid-danger { color: white; background-color: #f53d3d; } .md .toolbar[dark] .bar-button-solid-danger.activated { background-color: #e13838; } .md .toolbar[dark] .bar-button-light { color: #e0e0e0; background-color: transparent; } .md .toolbar[dark] .bar-button-light:hover:not(.disable-hover) { color: #cecece; } .md .toolbar[dark] .bar-button-light.activated { opacity: 0.4; } .md .toolbar[dark] .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .md .toolbar[dark] .bar-button-outline-light.activated { color: black; background-color: #e0e0e0; } .md .toolbar[dark] .bar-button-solid-light { color: black; background-color: #f4f4f4; } .md .toolbar[dark] .bar-button-solid-light.activated { background-color: #e0e0e0; } .md .toolbar[dark] .bar-button-dark { color: #343434; background-color: transparent; } .md .toolbar[dark] .bar-button-dark:hover:not(.disable-hover) { color: #444444; } .md .toolbar[dark] .bar-button-dark.activated { opacity: 0.4; } .md .toolbar[dark] .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .md .toolbar[dark] .bar-button-outline-dark.activated { color: white; background-color: #343434; } .md .toolbar[dark] .bar-button-solid-dark { color: white; background-color: #222; } .md .toolbar[dark] .bar-button-solid-dark.activated { background-color: #343434; } .md .bar-button-dark { color: #343434; background-color: transparent; } .md .bar-button-dark:hover:not(.disable-hover) { color: #444444; } .md .bar-button-dark.activated { opacity: 0.4; } .md .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .md .bar-button-outline-dark.activated { color: white; background-color: #343434; } .md .bar-button-solid-dark { color: white; background-color: #222; } .md .bar-button-solid-dark.activated { background-color: #343434; } ================================================ FILE: content/data/index.json ================================================ {"ref":{"0":{"p":"/docs/v3/components/#header","t":"Headerbar-lightbar-stablebar-positivebar-calmbar-balancedbar-energizedbar-assertivebar-royalbar-dark","l":"docs_css"},"1":{"p":"/docs/v3/components/#subheader","t":"Sub HeaderHeaderSub Header","l":"docs_css"},"2":{"p":"/docs/v3/components/#content","t":"Content","l":"docs_css"},"3":{"p":"/docs/v3/components/#footer","t":"Footer","l":"docs_css"},"4":{"p":"/docs/v3/components/#buttons","t":"Buttons","l":"docs_css"},"5":{"p":"/docs/v3/components/#block-buttons","t":"Block Buttons","l":"docs_css"},"6":{"p":"/docs/v3/components/#full-buttons","t":"Full Width Block Buttons","l":"docs_css"},"7":{"p":"/docs/v3/components/#button-sizes","t":"Different Sizes","l":"docs_css"},"8":{"p":"/docs/v3/components/#outlined-buttons","t":"Outlined Buttons","l":"docs_css"},"9":{"p":"/docs/v3/components/#clear-buttons","t":"Clear Buttons","l":"docs_css"},"10":{"p":"/docs/v3/components/#icon-buttons","t":"Icon Buttons","l":"docs_css"},"11":{"p":"/docs/v3/components/#buttons-headers-footers","t":"Buttons in HeadersHeader Buttons","l":"docs_css"},"12":{"p":"/docs/v3/components/#clear-buttons-headers","t":"Clear Buttons in Headers","l":"docs_css"},"13":{"p":"/docs/v3/components/#button-bar","t":"Button Bar","l":"docs_css"},"14":{"p":"/docs/v3/components/#list","t":"List","l":"docs_css"},"15":{"p":"/docs/v3/components/#item-dividers","t":"List Dividers","l":"docs_css"},"16":{"p":"/docs/v3/components/#item-icons","t":"List Icons","l":"docs_css"},"17":{"p":"/docs/v3/components/#item-buttons","t":"List Buttons","l":"docs_css"},"18":{"p":"/docs/v3/components/#item-avatars","t":"Item Avatars","l":"docs_css"},"19":{"p":"/docs/v3/components/#item-thumbnails","t":"Item Thumbnails","l":"docs_css"},"20":{"p":"/docs/v3/components/#list-inset","t":"Inset Lists","l":"docs_css"},"21":{"p":"/docs/v3/components/#cards","t":"Cards","l":"docs_css"},"22":{"p":"/docs/v3/components/#card-headers-footers","t":"Card Headers and Footers","l":"docs_css"},"23":{"p":"/docs/v3/components/#card-lists","t":"Card Lists","l":"docs_css"},"24":{"p":"/docs/v3/components/#card-images","t":"Card Images","l":"docs_css"},"25":{"p":"/docs/v3/components/#card-showcase","t":"Card Showcase","l":"docs_css"},"26":{"p":"/docs/v3/components/#forms","t":"Forms & Inputs","l":"docs_css"},"27":{"p":"/docs/v3/components/#forms-placeholder-labels","t":"Text Input: Placeholder Labels","l":"docs_css"},"28":{"p":"/docs/v3/components/#forms-inline-labels","t":"Text Input: Inline Labels","l":"docs_css"},"29":{"p":"/docs/v3/components/#forms-stacked-labels","t":"Text Input: Stacked Labels","l":"docs_css"},"30":{"p":"/docs/v3/components/#inset-forms","t":"Inset Forms","l":"docs_css"},"31":{"p":"/docs/v3/components/#item-input-inset","t":"Inset Inputs","l":"docs_css"},"32":{"p":"/docs/v3/components/#input-icons","t":"Input Icons","l":"docs_css"},"33":{"p":"/docs/v3/components/#bar-inputs","t":"Header Inputs","l":"docs_css"},"34":{"p":"/docs/v3/components/#toggle","t":"Toggle","l":"docs_css"},"35":{"p":"/docs/v3/components/#checkbox","t":"Checkbox","l":"docs_css"},"36":{"p":"/docs/v3/components/#radio-buttons","t":"Radio Button List","l":"docs_css"},"37":{"p":"/docs/v3/components/#range","t":"Range","l":"docs_css"},"38":{"p":"/docs/v3/components/#select","t":"Select","l":"docs_css"},"39":{"p":"/docs/v3/components/#tabs","t":"Tabs","l":"docs_css"},"40":{"p":"/docs/v3/components/#icon-only-tabs","t":"Icon-only Tabs","l":"docs_css"},"41":{"p":"/docs/v3/components/#icon-top-tabs","t":"Top Icon Tabs","l":"docs_css"},"42":{"p":"/docs/v3/components/#icon-left-tabs","t":"Left Icon Tabs","l":"docs_css"},"43":{"p":"/docs/v3/components/#grid","t":"Grid","l":"docs_css"},"44":{"p":"/docs/v3/components/#grid-even","t":"Grid: Evenly Spaced Columns","l":"docs_css"},"45":{"p":"/docs/v3/components/#grid-explicit","t":"Grid: Explicit Column Sizes","l":"docs_css"},"46":{"p":"/docs/v3/components/#grid-offset","t":"Grid: Offset Columns","l":"docs_css"},"47":{"p":"/docs/v3/components/#grid-vertically-align","t":"Grid: Vertically Align Columns","l":"docs_css"},"48":{"p":"/docs/v3/components/#grid-responsive","t":"Responsive Grid","l":"docs_css"},"49":{"p":"/docs/v3/components/#utility","t":"","l":"docs_css"},"50":{"p":"/docs/v3/components/#colors","t":"Colors","l":"docs_css"},"51":{"p":"/docs/v3/components/#icons","t":"Icons","l":"docs_css"},"52":{"p":"/docs/v3/components/#padding","t":"Padding","l":"docs_css"},"53":{"p":"/docs/v3/components/#animations","t":"Animations","l":"docs_css"},"54":{"p":"/docs/guide/building.html","t":"Building out the Todo App","l":"docs_guide"},"55":{"p":"/docs/guide/","t":"Ionic Book: Table of Contents","l":"docs_guide"},"56":{"p":"/docs/guide/installation.html","t":"Installing Ionic and its Dependencies","l":"docs_guide"},"57":{"p":"/docs/guide/preface.html","t":"Welcome to Ionic","l":"docs_guide"},"58":{"p":"/docs/guide/publishing.html","t":"Publishing the Todo App","l":"docs_guide"},"59":{"p":"/docs/guide/starting.html","t":"Building the UI for Todo","l":"docs_guide"},"60":{"p":"/docs/guide/testing.html","t":"Testing your App","l":"docs_guide"},"61":{"p":"/docs/overview/#overview","t":"Overview","l":"docs_overview"},"62":{"p":"/docs/overview/#download","t":"Download","l":"docs_overview"},"63":{"p":"/docs/overview/#starter","t":"Command Line Utility and Seed Project","l":"docs_overview"},"64":{"p":"/docs/overview/#whats-included","t":"What's Included","l":"docs_overview"},"65":{"p":"/docs/overview/#css-sass","t":"CSS/Sass","l":"docs_overview"},"66":{"p":"/docs/overview/#phonegap","t":"PhoneGap/Cordova/Trigger.io","l":"docs_overview"},"67":{"p":"/docs/overview/#browser-support","t":"Browser Support","l":"docs_overview"},"68":{"p":"/docs/overview/#license","t":"License","l":"docs_overview"},"69":{"p":"/docs/overview/#contribute","t":"Contribute to Ionic Development","l":"docs_overview"},"70":{"p":"/docs/overview/#about","t":"About Ionic","l":"docs_overview"},"71":{"p":"/docs/api/controller/ionicModal/","t":"ionicModal","l":"docs_api"},"72":{"p":"/docs/api/directive/collectionRepeat/","t":"collection-repeat","l":"docs_api"},"73":{"p":"/docs/api/directive/ionCheckbox/","t":"ion-checkbox","l":"docs_api"},"74":{"p":"/docs/api/directive/ionContent/","t":"ion-content","l":"docs_api"},"75":{"p":"/docs/api/directive/ionDeleteButton/","t":"ion-delete-button","l":"docs_api"},"76":{"p":"/docs/api/directive/ionFooterBar/","t":"ion-footer-bar","l":"docs_api"},"77":{"p":"/docs/api/directive/ionHeaderBar/","t":"ion-header-bar","l":"docs_api"},"78":{"p":"/docs/api/directive/ionInfiniteScroll/","t":"ion-infinite-scroll","l":"docs_api"},"79":{"p":"/docs/api/directive/ionItem/","t":"ion-item","l":"docs_api"},"80":{"p":"/docs/api/directive/ionList/","t":"ion-list","l":"docs_api"},"81":{"p":"/docs/api/directive/ionNavBackButton/","t":"ion-nav-back-button","l":"docs_api"},"82":{"p":"/docs/api/directive/ionNavBar/","t":"ion-nav-bar","l":"docs_api"},"83":{"p":"/docs/api/directive/ionNavButtons/","t":"ion-nav-buttons","l":"docs_api"},"84":{"p":"/docs/api/directive/ionNavView/","t":"ion-nav-view","l":"docs_api"},"85":{"p":"/docs/api/directive/ionOptionButton/","t":"ion-option-button","l":"docs_api"},"86":{"p":"/docs/api/directive/ionPane/","t":"ion-pane","l":"docs_api"},"87":{"p":"/docs/api/directive/ionRadio/","t":"ion-radio","l":"docs_api"},"88":{"p":"/docs/api/directive/ionRefresher/","t":"ion-refresher","l":"docs_api"},"89":{"p":"/docs/api/directive/ionReorderButton/","t":"ion-reorder-button","l":"docs_api"},"90":{"p":"/docs/api/directive/ionScroll/","t":"ion-scroll","l":"docs_api"},"91":{"p":"/docs/api/directive/ionSideMenu/","t":"ion-side-menu","l":"docs_api"},"92":{"p":"/docs/api/directive/ionSideMenuContent/","t":"ion-side-menu-content","l":"docs_api"},"93":{"p":"/docs/api/directive/ionSideMenus/","t":"ion-side-menus","l":"docs_api"},"94":{"p":"/docs/api/directive/ionSlideBox/","t":"ion-slide-box","l":"docs_api"},"95":{"p":"/docs/api/directive/ionTab/","t":"ion-tab","l":"docs_api"},"96":{"p":"/docs/api/directive/ionTabs/","t":"ion-tabs","l":"docs_api"},"97":{"p":"/docs/api/directive/ionToggle/","t":"ion-toggle","l":"docs_api"},"98":{"p":"/docs/api/directive/ionView/","t":"ion-view","l":"docs_api"},"99":{"p":"/docs/api/directive/keyboardAttach/","t":"keyboard-attach","l":"docs_api"},"100":{"p":"/docs/api/directive/menuClose/","t":"menu-close","l":"docs_api"},"101":{"p":"/docs/api/directive/menuToggle/","t":"menu-toggle","l":"docs_api"},"102":{"p":"/docs/api/directive/navClear/","t":"nav-clear","l":"docs_api"},"103":{"p":"/docs/api/page/keyboard/","t":"keyboard","l":"docs_api"},"104":{"p":"/docs/api/page/tap/","t":"tap","l":"docs_api"},"105":{"p":"/docs/api/service/$ionicActionSheet/","t":"$ionicActionSheet","l":"docs_api"},"106":{"p":"/docs/api/service/$ionicAnimation/","t":"$ionicAnimation","l":"docs_api"},"107":{"p":"/docs/api/service/$ionicBackdrop/","t":"$ionicBackdrop","l":"docs_api"},"108":{"p":"/docs/api/service/$ionicGesture/","t":"$ionicGesture","l":"docs_api"},"109":{"p":"/docs/api/service/$ionicListDelegate/","t":"$ionicListDelegate","l":"docs_api"},"110":{"p":"/docs/api/service/$ionicLoading/","t":"$ionicLoading","l":"docs_api"},"111":{"p":"/docs/api/service/$ionicModal/","t":"$ionicModal","l":"docs_api"},"112":{"p":"/docs/api/service/$ionicNavBarDelegate/","t":"$ionicNavBarDelegate","l":"docs_api"},"113":{"p":"/docs/api/service/$ionicPlatform/","t":"$ionicPlatform","l":"docs_api"},"114":{"p":"/docs/api/service/$ionicPopup/","t":"$ionicPopup","l":"docs_api"},"115":{"p":"/docs/api/service/$ionicScrollDelegate/","t":"$ionicScrollDelegate","l":"docs_api"},"116":{"p":"/docs/api/service/$ionicSideMenuDelegate/","t":"$ionicSideMenuDelegate","l":"docs_api"},"117":{"p":"/docs/api/service/$ionicSlideBoxDelegate/","t":"$ionicSlideBoxDelegate","l":"docs_api"},"118":{"p":"/docs/api/service/$ionicTabsDelegate/","t":"$ionicTabsDelegate","l":"docs_api"},"119":{"p":"/docs/api/utility/ionic.DomUtil/","t":"ionic.DomUtil","l":"docs_api"},"120":{"p":"/docs/api/utility/ionic.EventController/","t":"ionic.EventController","l":"docs_api"},"121":{"p":"/docs/api/utility/ionic.Platform/","t":"ionic.Platform","l":"docs_api"},"122":{"p":"/docs/api/ionic/controller/","t":"Controllers in module ionic","l":"docs_api"},"123":{"p":"/docs/api/ionic/directive/","t":"Directives in module ionic","l":"docs_api"},"124":{"p":"/docs/api/ionic/service/","t":"Services in module ionic","l":"docs_api"},"125":{"p":"/docs/api/ionic/utility/","t":"Utilitys in module ionic","l":"docs_api"},"126":{"p":"/docs/","t":"Ionic Documentation","l":"docs_home"},"127":{"p":"/getting-started/","t":"Getting Started with Ionic","l":"default"},"128":{"p":"/tutorials/","t":"Ionic Tutorials","l":"tutorial"},"129":{"p":"/tutorials/customizing-ionic-with-sass/","t":"Customize Your Ionic App With Sass","l":"tutorial"},"130":{"p":"/tutorials/fade-status-bar/","t":"Fading header effect with Ionic","l":"tutorial"},"131":{"p":"/tutorials/fetching-from-a-remote-feed/","t":"Fetching From A Remote Feed With AngularJS And Ionic","l":"tutorial"},"132":{"p":"/tutorials/fullscreen-apps/","t":"Removing the iOS Status Bar","l":"tutorial"},"133":{"p":"/tutorials/intro-tutorial/","t":"Intro App Tutorial","l":"tutorial"},"134":{"p":"/blog/hybrid-apps-and-the-curse-of-the-300ms-delay/","t":"Hybrid Apps and the Curse of the 300ms Delay","l":"post"},"135":{"p":"/blog/what-is-cordova-phonegap/","t":"The Last Word on Cordova and PhoneGap","l":"post"},"136":{"p":"/blog/popup-support/","t":"Popup Support Just Landed","l":"post"}},"index":{"version":"0.4.5","fields":[{"name":"path","boost":1},{"name":"title","boost":10},{"name":"body","boost":1}],"ref":"id","documentStore":{"store":{"0":["action","bar-assert","bar-balanc","bar-calm","bar-dark","bar-energ","bar-light","bar-posit","bar-roy","bar-stabl","button","carri","color","come","contain","default","docs/components/#head","fix","header","headerbar-lightbar-stablebar-positivebar-calmbar-balancedbar-energizedbar-assertivebar-royalbar-dark","label","left/right","navig","option","out","region","screen","titl","top","varieti","variou"],"1":["bar","below","button","custom","docs/components/#subhead","few","header","headerheadersub","idea","look","more","origin","place","quit","secondari","sub","us","wai"],"2":["app","area","avail","bottom","content","doc","docs/components/#cont","fill","fix","footer","h1","h2","h3","h4","h5","h6","header","i'm","ionic","link","more","option","paragraph","remain","respect","scrollabl","see","space","top","viewport"],"3":["add","addition","automat","bar-foot","bar-head","bottom","button","color","contain","content","correct","docs/components/#foot","footer","header","instead","left","markup","need","option","place","present","pull-right","region","relat","requir","right","same","screen","side","such","titl","type","us","variou","written","you'll"],"4":["ah","appli","block","button","button-assert","button-balanc","button-calm","button-dark","button-energ","button-light","button-posit","button-roy","button-st","color","come","default","displai","docs/components/#button","essenti","experi","full","header","includ","inline-block","ionic'","mobil","option","part","spectrum","width"],"5":["100","ad","appli","between","block","breath","button","button'","button-assert","button-balanc","button-block","button-calm","button-dark","button-energ","button-light","button-posit","button-roy","button-st","contain","content","devic","displai","docs/components/#block-button","edg","element","exampl","go","pad","parent'","room","width"],"6":["ad","addition","appli","block","border","border-radiu","button","button'","button-assert","button-balanc","button-calm","button-dark","button-energ","button-ful","button-light","button-posit","button-roy","button-st","displai","docs/components/#full-button","element","entir","full","left","pad","parent","remov","right","stretch","style","us","width"],"7":["ad","button","button-assert","button-balanc","button-calm","button-dark","button-energ","button-larg","button-light","button-posit","button-roy","button-smal","button-st","differ","docs/components/#button-s","larg","larger","make","size","small","smaller"],"8":["appli","background","blue","border","button","button-assert","button-balanc","button-calm","button-dark","button-energ","button-light","button-outlin","button-posit","button-roy","button-st","color","docs/components/#outlined-button","mean","note","outlin","result","style","take","text","transpar","us"],"9":["add","appli","background","blue","border","button","button-assert","button-balanc","button-calm","button-clear","button-dark","button-energ","button-light","button-posit","button-roy","button-st","clear","color","docs/components/#clear-button","instead","make","mean","note","out","remov","result","stand","style","take","text"],"10":["ad","assign","back","built","button","child","choos","custom","directli","docs/components/#icon-button","dom","easili","element","favorit","font-pack","home","icon","insid","ionicon","learn","load","more","number","reduc","reorder","set","us"],"11":["add","bar","button","chang","class","default","desir","docs/components/#buttons-headers-foot","don't","edit","extra","footer","header","headershead","place","style","take","us"],"12":["add","approach","background","border","button","button-clear","classnam","clear","color","docs/components/#clear-buttons-head","edit","header","minim","more","remov","simpli"],"13":["ad","area","bar","button","button-bar","classnam","content","default","docs/components/#button-bar","easili","exampl","first","group","header","main","screen","second","third","togeth","us","well"],"14":["angularj","basic","battletoad","bro","button","check","common","compon","content","contra","current","detail","direct","displai","doc","docs/components/#list","drag","duck","edit","extens","hunter","icon","includ","inform","interact","interfac","ionic'","item","legend","list","man","mario","mega","metroid","mike","mobil","mode","more","os'","out","overview","power","pro-am","pull","punch-out","r.c","rang","read","refresh","reorder","right","simpl","spy","such","super","support","swipe","tale","text","that'","thumbnail","toggl","tyson'","us","variou","veri","versitil","view","wai","wide","zelda"],"15":["background","bar","butterfing","candi","child","class","color","creat","customiz","default","differ","divid","docs/components/#item-divid","easili","element","font-weight","gobstopp","group","hard","item","item-divid","jolli","kat","kit","lifesav","list","organ","rancher","skittl","snicker","twix","us"],"16":["0","activ","ad","add","addition","album","align","allow","and/or","appli","arrow","assign","automat","bad","badg","blue","both","break","built","call","check","choos","class","custom","default","docs/components/#item-icon","each","easili","element","entir","exampl","first","font-pack","fourth","friend","game","grammi","icon","ionicon","item","item-icon-left","item-icon-right","item-not","jt","learn","left","line","list","lt;a>","lt;button>","ma","mail","mario","more","music","need","pink","record","right","second","set","shop","side","small","super","tappabl","third","up","us","which","yellow"],"17":["button","call","docs/components/#item-button","item","item-button-left","item-button-right","list","ma","place","us","within"],"18":["avatar","back","big","boo","brought","classnam","creat","dana","docs/components/#item-avatar","dog","egon","essenti","full","gatekeep","go","gonna","i'm","icon","imag","isn't","item","item-avatar","larger","littl","man","okai","rai","scientist","showcas","slimer","smaller","spud","stream","that'","thumbnail","tulli","twinki","ugli","us","venkman","we'r","winston"],"19":["album","align","beasti","blue","boi","creat","dai","demo","docs/components/#item-thumbnail","dooki","dream","entir","essenti","green","hate","height","icon","ill","imag","inch","item","item-thumbnail-left","item-thumbnail-right","larger","left","licens","list","machin","nail","nevermind","ng-repeat","nine","nirvana","pretti","pumpkin","quick","right","showcas","siames","side","smash","span/defin","style","thumbnail","us","weezer"],"20":["ark","box-shadow","card","contain","crusad","crystal","differ","docs/components/#list-inset","doom","element","exampl","except","form","full","go","inset","insid","instead","it'll","kingdom","last","list","list-inset","lost","main","margin","more","perform","raider","scroll","show","similar","skull","templ","usag","width"],"21":["add","allow","anim","anoth","basic","becom","between","box-shadow","card","choic","compani","contain","content","control","cousin","default","design","differ","displai","docs/components/#card","easi","even","expect","experi","fast","flexibl","googl","great","includ","inform","inset","instead","it'","item","larg","left","like","list","list-inset","littl","make","mani","mobil","more","much","on","onc","organ","page","pattern","perform","place","predict","realest","reason","recent","recommend","right","same","screen","scroll","set","size","spotifi","swipe","text","they'r","top","twitter","up","us","user","usual","visual","wai","wherea","wide","wrap","year"],"22":["abov","add","basic","below","card","classnam","content","custom","docs/components/#card-headers-foot","easili","element","exampl","fill","footer","header","i'm","insid","item-divid","normal","place","screen","similarli","text","within"],"23":["address","card","classnam","creat","docs/components/#card-list","enter","home","inform","list","number","password","phone","us","wireless"],"24":["card","combin","docs/components/#card-imag","element","great","hate","imag","inch","list","listen","look","machin","nail","nine","pretti","start"],"25":["05","1","1955","5","align","begin","card","card-bodi","card-foot","classnam","comment","consist","content","creat","differ","docs/components/#card-showcas","element","facebook","footer","header","here","icon","imag","item","item-avatar","item-bodi","item-divid","left","list","marti","mcfly","novemb","paragraph","sever","share","showcas","style","tab","text","thumbnail","us","util","within"],"26":["addition","amp","appropri","associ","awar","both","creat","design","develop","docs/components/#form","each","element","field","focu","form","group","html5","individu","input","ionic","it'","item","item-input","keyboard","label","list","lt;label>","out","part","prefer","present","receiv","relat","row","submit","tap","type","underli","us","user","variou","virtual"],"27":["100","attribut","begin","border","default","docs/components/#forms-placeholder-label","enter","exampl","hidden","input","input'","it'll","label","left","lt;textarea>","multi-lin","notic","placehold","right","simul","submit","text","us","user","width"],"28":["docs/components/#forms-inline-label","element","enter","hide","inlin","input","input-label","label","left","note","noth","password","place","placehold","sign","stop","text","there'","us","user","usernam"],"29":["account","alwai","assign","attribut","creat","docs/components/#forms-stacked-label","each","email","exampl","first","hint","input","input'","input-label","item","item-stacked-label","label","last","look","name","place","placehold","stack","text","top","type","us","user'"],"30":["100","addition","appear","appli","assign","box","card","classnam","default","docs/components/#inset-form","each","element","fill","form","give","input","inset","item","list","list'","list-inset","lower","pad","parent","shadow","submit","us","width"],"31":["button","cancel","docs/components/#item-input-inset","entir","individu","input","inset","insid","item","item-input-inset","list","list-inset","place","submit","us","wherea"],"32":["ad","add","befor","color","default","docs/components/#input-icon","easili","give","icon","input","item-input","label","left","lt;input>","placehold","placeholder-icon","simpli","take","text","us"],"33":["along","button","cancel","docs/components/#bar-input","form","header","input","place","submit"],"34":["ad","along","applet","assert","assign","checkbox","class","color","compon","css3","devic","differ","docs/components/#toggl","drag","each","easi","easier","entir","exampl","except","flashplay","html","html5","input","ionic","item","item-toggl","java","javascript","list","look","lt;label>","make","multipl","note","order","prefer","same","side","silverlight","such","tap","technic","thing","toggl","toggle-assert","touch","us","web","within","wrap"],"35":["1.21","88","ad","along","assert","assign","capacitor","checkbox","checkbox-assert","class","color","delorean","differ","docs/components/#checkbox","each","element","entir","exampl","except","flux","gigawatt","html","input","ionic","it'","item","item-checkbox","list","lt;label>","make","mph","multipl","note","order","plutonium","prefer","resuppli","side","style","such","tappabl","us","within"],"36":["act","app","area","attribut","button","class","convent","design","differ","displai","docs/components/#radio-button","each","element","entir","follow","go","hide","icon","input","ionic","item","item-radio","java","list","lt;label>","make","modern","name","net","order","php","prefer","python","radio","radio-icon","rubi","same","seen","show","similarli","standard","tappabl","us"],"37":["card","color","default","docs/components/#rang","element","ionic","item","list","rang","such","theme","us","variou"],"38":["2-1b","a-w","alderaan","android","appear","arc-170","b1","behavior","blue","bottom","browser","browser'","c-3po","cover","custom","dagobah","default","delta-7","desktop","differ","docs/components/#select","down","droid","drop","each","element","exampl","felucia","fighter","geonosi","green","half","hoth","ig-88","interfac","io","ionic'","it-o","kamino","lightsab","list","manag","mygeeto","n-1","naboo","on","open","option","planet","platform'","popup","pretti","r2-d2","radio-button","red","rel","scroller","see","select","still","style","tataouin","tie","tradit","up","user","user-interfac","utapau","wherea","window","x-wing","y-wing","yavin","you'll"],"39":["add","allow","bar","between","build","button","chang","class","classnam","color","combin","consist","contain","content","control","default","doc","docs/components/#tab","each","element","enabl","exampl","experi","favorit","hide","home","horizont","icon","interfac","ionic","link","match","method","mobil","navig","popular","region","screen","see","set","show","standard","still","style","tab","tab-item","tabbar","tabs-dang","tabs-dark","tabs-default","tabs-info","tabs-item-hid","tabs-primari","tabs-secondari","tabs-success","tabs-warn","text","text-onli","us","without"],"40":["add","along","classnam","docs/components/#icon-only-tab","icon-onli","tab","tabs-icon-onli"],"41":["add","along","classic","classnam","docs/components/#icon-top-tab","favorit","home","icon","set","tab","tabs-icon-top","top"],"42":["add","along","classnam","docs/components/#icon-left-tab","favorit","home","icon","left","set","tab","tabs-icon-left"],"43":["1","12","1line","23","2line","3","6","7","ad","add","advantag","align","automag","avail","background","border","box","chose","classnam","col","column","content","crazi","css","demo","design","devic","differ","docs/components/#grid","doesn't","don't","each","easier","easili","etc","evenli","explicitli","figur","five","flexbox","flexibl","four","grai","grid","have","here","ionic","ionic'","it'","larg","layout","line","matter","modul","note","number","out","percentag","point","requir","restrict","right","row","see","simpli","space","standard","state","structur","support","surpris","system","take","there'","they'll","three","two","up","us","vertic","want","within","worri"],"44":["20","ad","amount","anywher","area","automat","avail","background","below","border","classnam","code","col","column","default","demo","docs/components/#grid-even","each","easier","equal","evenli","exampl","five","flexbox","grai","grid","insid","it'","note","notic","receiv","row","see","size","space","specifi","structur","take","thank","up","width"],"45":["10","12","20","25","33.3333","50","66.6666","75","80","90","ad","advantag","area","avail","background","border","case","certain","classnam","col","col-10","col-20","col-25","col-33","col-50","col-67","col-75","col-80","col-90","col.col-50","col.col-75","column","contrast","default","demo","divid","docs/components/#grid-explicit","each","easier","evenli","exampl","explicit","explicitli","grai","grid","ionic'","it'","larger","lock","need","note","other","percent","percentag","row","same","see","size","specif","state","still","structur","system","take","up","us","want","you'd"],"46":["10","20","25","33.3333","50","66.6666","75","80","90","ad","background","border","classnam","code","col","col-offset-10","col-offset-20","col-offset-25","col-offset-33","col-offset-50","col-offset-67","col-offset-75","col-offset-80","col-offset-90","column","demo","docs/components/#grid-offset","easier","grai","grid","it'","itself","left","note","offset","percentag","see","speak","structur","we'll"],"47":["1234","abil","ad","align","anoth","appli","background","border","bottom","center","col","column","content","default","demo","demonstr","docs/components/#grid-vertically-align","each","easier","easili","first","flexbox'","grai","grid","height","includ","it'","last","made","note","order","other","row","same","see","show","sleev","specif","structur","take","tallest","top","trick","up","vertic","we'v"],"48":["ad","area","avail","background","border","break","breakpoint","case","certain","chang","class","col","column","configur","creat","demo","docs/components/#grid-respons","each","easier","exampl","fit","further","grai","grid","it'","it'd","landscap","like","look","mixin","nice","note","phone","portrait","pretti","respons","responsive-grid-break","responsive-lg","responsive-md","responsive-sm","right","roughli","row","sass","see","simul","small","smaller","stack","structur","tablet","there'","turn","us","variabl","viewport","want"],"49":["class","come","design","docs/components/#util","each","hand","help","ionic","option","quickli","style","util"],"50":["_variables.scss","ad","addition","app","assert","assign","awai","balanc","blue","build","built","calm","choos","clean","color","come","convent","css","custom","dark","design","dictat","differ","docs/components/#color","each","easier","emot","energ","etc","extend","file","flexibl","gener","goal","help","instead","ionic","ionic'","ionic.css","let'","light","maintain","meant","modifi","more","name","notic","on","overrid","overridden","posit","power","prefer","provid","purpos","realist","recommend","red","repres","requir","royal","rule","sai","sass","set","simpli","stabl","stai","start","swatch","system","task","theme","those","top","us","util","variabl","within","word","you'll"],"51":["500","add","button","certainli","child","choos","class","classnam","come","doc","docs/components/#icon","easili","feel","font","free","homepag","icon","info","ionic","ionicon","it'","look","lt;i>","more","note","open-sourc","over","pack","pleas","possibl","restrict","set","show","simpli","take","up","us","wish"],"52":["15px","add","app","appli","around","between","bleed","blue","both","bottom","box","breath","class","compon","content","control","default","develop","docs/components/#pad","each","easili","edg","element","element'","follow","give","grai","help","inner","instanc","ionic","layout","left","mani","margin","mean","outer","pad","padding-bottom","padding-horizont","padding-left","padding-right","padding-top","padding-vert","purpos","repres","requir","reset","reus","right","room","screen","set","side","squar","start","throughout","top","util","zero"],"53":["angularj","anim","class","creat","docs/components/#anim","especi","fade-in","ionic","nav-title-slide-ios7","no-anim","predefin","revers","sever","slide-in-left","slide-in-right","slide-in-up","slide-left-right","slide-left-right-ios7","slide-out-left","slide-out-right","slide-right-left","slide-right-left-ios7","us"],"54":["0","1","5","abov","abstract","activ","activeproject.titl","actual","ad","add","again","angular","angular.fromjson(projectstr","angular.module('todo","angular.tojson(project","angularj","anim","anoth","anymor","anyth","anywher","app","app.j","applic","area","automat","awai","bacon","bar","basic","becom","befor","better","bind","bit","bodi","both","break","build","button","button-block","button-clear","button-posit","button-positive\">cr","call","center","certain","chanc","chapter","class","class=\"bar-secondari","class=\"button","class=\"item","class=\"list","class=\"mod","class=\"pad","class=\"title\">new","click","close","code","coin","collect","come","commonli","compon","concept","content","control","controller('todoctrl","correspond","creat","createproject","createproject(projecttitl","createtask","createtask(task","current","custom","data","defer","defin","detail","differ","direct","directli","displai","div","docs/guide/building.html","doesn't","don't","drive","each","easier","eat","egghead.io","enabl","endraw","enough","enter","ever-grow","everyth","exampl","exist","expand","extens","factori","factory('project","fear","featur","feel","fetch","few","file","find","first","flag","follow","form","frisbi","function","function($scop","function(index","function(mod","function(project","function(projecttitl","function(task","getlastactiveindex","give","given","go","good","grab","great","guid","h1","handl","header","here","high","hope","html","icon","id=\"new-task.html","identifi","if(!$scope.activeproject","if($scope.projects.length","if(projectstr","if(projecttitl","import","increas","index","ineffici","inform","initi","input","ion-cont","ion-header-bar","ion-item","ion-side-menu","ionic","ionicmod","ionicmodal.fromtemplateurl('new-task.html","ionicsidemenudeleg","ionicsidemenudelegate.toggleleft","ionicsidemenudelegate.toggleleft(fals","it'","item","item-input","javascript","javscript","john","jump","keep","know","label","larg","last","layout","learn","let","let'","level","lindquist","list","littl","load","local","localstorag","look","lot","lower","lower-level","lt;ion-content>","luckili","main","make","markup","matt","menu","mind","mockup","modal","model","more","move","much","multi-project","mushroom","n00b","name","nativ","need","never","new","newproject","ng-class","ng-click=\"closenewtask()\">cancelgo","html","improv","index","info","inform","instead","interfac","ion-cont","ion-nav-view","ion-view","ionic","ionic'","ionnavbar","ionnavview","js","keep","know","left","level","live","load","look","manag","map","markup","match","modul","more","much","multipl","music","music.html","name","navbar","navig","navview'","need","nest","network","next","ng-controller=\"homectrl","on","option","organ","page","page!mi","cleanup","content","control","controller('mycontrol","detail","div","doc","docs/api/service/$ionicmod","done","edit","execut","fromtemplate(templatestr","fromtemplateurl(templateurl","function","function($scop","go","h1","hello","hide","html","improv","insid","instanc","ion-cont","ion-header-bar","ionic","ionicmod","ionicmodal#initi","ionicmodal.fromtemplateurl('modal.html","item","js","load","main","make","method","modal","modal'","need","note","object","option","over","pane","param","pass","promis","put","remov","resolv","return","scope","scope.$on('$destroi","scope.$on('modal.hid","scope.$on('modal.remov","scope.closemod","scope.mod","scope.modal.hid","scope.modal.remov","scope.modal.show","scope.openmod","slide-in-up","string","templat","templatestr","templateurl","temporarili","then(function(mod","titleani","h3>thank","h3>use","h5>just","happi","hard","header","height","help","helvetica","helveticaneue-light","hit","id=\"intro-pag","id=\"list","id=\"logo","if(index","if(window.localstorage['didtutori","img","indic","initi","initial-load","insert","insid","interfac","intro","intro.html","introctrl","introduc","ionic","it'","javascript","kind","last","later","learn","left","left-buttons=\"leftbutton","leftbutton","let'","li","li>b","li>stai","li>ther","light","line","list","list-styl","listen","littl","load","local","locat","location.path('/main","locationprovid","logic","logo","look","lot","lt;body>","lt;ng-view>","lucida","main","main.html","mainctrl","make","map","margin","margin-top","met","mobil","modul","mous","move","multi-slid","mutli-screen","myapp","nav","nav-pag","navig","need","neue","new","next","ngrout","nice","none","notic","now","ol","on","on-slide-chang","on-slide-changed=\"slidechanged(index","onc","open","otherwis","p","padding-top","page","pattern","plai","pleas","point","popular","previou","progress","project","questions?":{"docs":{},"c":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{"4":{"ref":4,"tf":0.045454545454545456},"5":{"ref":5,"tf":0.02564102564102564},"6":{"ref":6,"tf":0.023809523809523808},"7":{"ref":7,"tf":0.04},"8":{"ref":8,"tf":0.02702702702702703},"9":{"ref":9,"tf":0.02702702702702703}}}}},"s":{"docs":{},"t":{"docs":{"4":{"ref":4,"tf":0.045454545454545456},"5":{"ref":5,"tf":0.02564102564102564},"6":{"ref":6,"tf":0.023809523809523808},"7":{"ref":7,"tf":0.04},"8":{"ref":8,"tf":0.02702702702702703},"9":{"ref":9,"tf":0.02702702702702703}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{"7":{"ref":7,"tf":0.04}}}}}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{"6":{"ref":6,"tf":0.023809523809523808}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"8":{"ref":8,"tf":0.02702702702702703}}}}}}}}},"'":{"docs":{"5":{"ref":5,"tf":0.02564102564102564},"6":{"ref":6,"tf":0.023809523809523808}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"105":{"ref":105,"tf":0.011695906432748537}}}}}}}}},"e":{"docs":{},"r":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"15":{"ref":15,"tf":0.045454545454545456}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"10":{"ref":10,"tf":0.023809523809523808},"16":{"ref":16,"tf":0.007352941176470588},"50":{"ref":50,"tf":0.008928571428571428},"57":{"ref":57,"tf":0.0047169811320754715},"65":{"ref":65,"tf":0.025},"70":{"ref":70,"tf":0.047619047619047616},"72":{"ref":72,"tf":0.002331002331002331},"74":{"ref":74,"tf":0.005988023952095809},"114":{"ref":114,"tf":0.001594896331738437},"123":{"ref":123,"tf":0.0035211267605633804},"126":{"ref":126,"tf":0.011111111111111112},"128":{"ref":128,"tf":0.017857142857142856},"129":{"ref":129,"tf":0.0052173913043478265},"131":{"ref":131,"tf":0.05555555555555555},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}},"-":{"docs":{},"i":{"docs":{},"n":{"docs":{"136":{"ref":136,"tf":0.010101010101010102}}}}}},"d":{"docs":{"39":{"ref":39,"tf":0.012658227848101266},"50":{"ref":50,"tf":0.008928571428571428},"54":{"ref":54,"tf":2.5025740025740024},"55":{"ref":55,"tf":0.04081632653061224},"56":{"ref":56,"tf":0.012759170653907496},"57":{"ref":57,"tf":0.030660377358490566},"58":{"ref":58,"tf":0.01912568306010929},"59":{"ref":59,"tf":3.3416898792943357},"60":{"ref":60,"tf":0.015909090909090907},"61":{"ref":61,"tf":0.010869565217391304},"63":{"ref":63,"tf":0.04878048780487805},"67":{"ref":67,"tf":0.027777777777777776},"70":{"ref":70,"tf":0.023809523809523808},"126":{"ref":126,"tf":0.011111111111111112},"127":{"ref":127,"tf":0.033112582781456956},"128":{"ref":128,"tf":0.017857142857142856},"129":{"ref":129,"tf":0.0034782608695652175},"133":{"ref":133,"tf":0.0033500837520938024},"134":{"ref":134,"tf":0.0034522439585730723},"135":{"ref":135,"tf":0.013513513513513514},"136":{"ref":136,"tf":0.005050505050505051}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"59":{"ref":59,"tf":0.002785515320334262}}}},"c":{"docs":{},"h":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}},"l":{"docs":{},"k":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"135":{"ref":135,"tf":0.0019305019305019305}}}},"g":{"docs":{"96":{"ref":96,"tf":0.017857142857142856},"134":{"ref":134,"tf":0.0011507479861910242}}},"b":{"docs":{},"b":{"docs":{},"l":{"docs":{"120":{"ref":120,"tf":0.018867924528301886}}}}}},"e":{"docs":{"103":{"ref":103,"tf":0.006493506493506494},"104":{"ref":104,"tf":0.00423728813559322}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"1":{"ref":1,"tf":0.045454545454545456},"22":{"ref":22,"tf":0.024390243902439025},"44":{"ref":44,"tf":0.018518518518518517},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.002785515320334262},"72":{"ref":72,"tf":0.004662004662004662},"76":{"ref":76,"tf":0.018867924528301886},"81":{"ref":81,"tf":0.015151515151515152},"84":{"ref":84,"tf":0.0036363636363636364},"97":{"ref":97,"tf":0.019230769230769232},"98":{"ref":98,"tf":0.018867924528301886},"100":{"ref":100,"tf":0.041666666666666664},"101":{"ref":101,"tf":0.043478260869565216},"102":{"ref":102,"tf":0.020833333333333332},"103":{"ref":103,"tf":0.006493506493506494},"114":{"ref":114,"tf":0.003189792663476874},"115":{"ref":115,"tf":0.003246753246753247},"123":{"ref":123,"tf":0.0035211267605633804},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0017391304347826088}}}},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"5":{"ref":5,"tf":0.02564102564102564},"21":{"ref":21,"tf":0.00980392156862745},"39":{"ref":39,"tf":0.012658227848101266},"52":{"ref":52,"tf":0.010416666666666666},"60":{"ref":60,"tf":0.0022727272727272726},"74":{"ref":74,"tf":0.005988023952095809},"84":{"ref":84,"tf":0.0036363636363636364},"94":{"ref":94,"tf":0.011111111111111112},"102":{"ref":102,"tf":0.020833333333333332},"104":{"ref":104,"tf":0.00423728813559322},"116":{"ref":116,"tf":0.011111111111111112},"119":{"ref":119,"tf":0.003937007874015748},"123":{"ref":123,"tf":0.01056338028169014},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.005791505791505791}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"19":{"ref":19,"tf":0.02}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"21":{"ref":21,"tf":0.0196078431372549},"54":{"ref":54,"tf":0.002574002574002574},"95":{"ref":95,"tf":0.009345794392523364},"135":{"ref":135,"tf":0.0019305019305019305}}}},"a":{"docs":{},"m":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"25":{"ref":25,"tf":0.011494252873563218},"27":{"ref":27,"tf":0.03225806451612903},"117":{"ref":117,"tf":0.007575757575757576}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"32":{"ref":32,"tf":0.04},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.003189792663476874},"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00546448087431694},"59":{"ref":59,"tf":0.002785515320334262},"72":{"ref":72,"tf":0.002331002331002331},"106":{"ref":106,"tf":0.013333333333333334},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"73":{"ref":73,"tf":0.05},"87":{"ref":87,"tf":0.041666666666666664},"97":{"ref":97,"tf":0.019230769230769232}},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"60":{"ref":60,"tf":0.0022727272727272726},"81":{"ref":81,"tf":0.015151515151515152},"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.006493506493506494}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"107":{"ref":107,"tf":0.012658227848101266},"130":{"ref":130,"tf":0.0043859649122807015}}}}}},"s":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"70":{"ref":70,"tf":0.023809523809523808},"103":{"ref":103,"tf":0.006493506493506494}}}},"n":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"84":{"ref":84,"tf":0.0036363636363636364},"123":{"ref":123,"tf":0.0035211267605633804},"132":{"ref":132,"tf":0.01282051282051282},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"j":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{"70":{"ref":70,"tf":0.023809523809523808}}}}}}}}}},"y":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"61":{"ref":61,"tf":0.010869565217391304},"134":{"ref":134,"tf":0.0011507479861910242}}}}}}},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"2":{"ref":2,"tf":0.025},"3":{"ref":3,"tf":0.019230769230769232},"38":{"ref":38,"tf":0.011627906976744186},"47":{"ref":47,"tf":0.01},"52":{"ref":52,"tf":0.020833333333333332},"56":{"ref":56,"tf":0.001594896331738437},"78":{"ref":78,"tf":0.056179775280898875},"119":{"ref":119,"tf":0.007874015748031496},"123":{"ref":123,"tf":0.007042253521126761}}}}},"h":{"docs":{"16":{"ref":16,"tf":0.022058823529411766},"26":{"ref":26,"tf":0.021739130434782608},"52":{"ref":52,"tf":0.010416666666666666},"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.007075471698113208},"59":{"ref":59,"tf":0.005571030640668524},"60":{"ref":60,"tf":0.004545454545454545},"80":{"ref":80,"tf":0.007692307692307693},"103":{"ref":103,"tf":0.006493506493506494},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.0019305019305019305}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"6":{"ref":6,"tf":0.023809523809523808},"8":{"ref":8,"tf":0.05405405405405406},"9":{"ref":9,"tf":0.05405405405405406},"12":{"ref":12,"tf":0.05},"27":{"ref":27,"tf":0.03225806451612903},"43":{"ref":43,"tf":0.006944444444444444},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.00980392156862745},"46":{"ref":46,"tf":0.019230769230769232},"47":{"ref":47,"tf":0.01},"48":{"ref":48,"tf":0.011627906976744186},"129":{"ref":129,"tf":0.0017391304347826088}},"-":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{"6":{"ref":6,"tf":0.023809523809523808}}}}}}}}}}}},"o":{"docs":{"18":{"ref":18,"tf":0.02}},"k":{"docs":{"55":{"ref":55,"tf":2.5408163265306123},"126":{"ref":126,"tf":0.011111111111111112}}},"t":{"docs":{"56":{"ref":56,"tf":0.004784688995215311}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"70":{"ref":70,"tf":0.023809523809523808}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"71":{"ref":71,"tf":0.016},"74":{"ref":74,"tf":0.03592814371257485},"80":{"ref":80,"tf":0.023076923076923078},"90":{"ref":90,"tf":0.041666666666666664},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"94":{"ref":94,"tf":0.022222222222222223},"97":{"ref":97,"tf":0.019230769230769232},"98":{"ref":98,"tf":0.03773584905660377},"109":{"ref":109,"tf":0.05128205128205128},"110":{"ref":110,"tf":0.01020408163265306},"112":{"ref":112,"tf":0.023529411764705882},"115":{"ref":115,"tf":0.01948051948051948},"116":{"ref":116,"tf":0.03888888888888889},"117":{"ref":117,"tf":0.015151515151515152},"118":{"ref":118,"tf":0.009523809523809525},"119":{"ref":119,"tf":0.003937007874015748},"120":{"ref":120,"tf":0.012578616352201259},"121":{"ref":121,"tf":0.05813953488372093},"123":{"ref":123,"tf":0.0035211267605633804}},"=":{"docs":{},"}":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{"71":{"ref":71,"tf":0.008}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"19":{"ref":19,"tf":0.02}}},"x":{"docs":{"30":{"ref":30,"tf":0.02702702702702703},"43":{"ref":43,"tf":0.006944444444444444},"52":{"ref":52,"tf":0.010416666666666666},"94":{"ref":94,"tf":0.03333333333333333},"104":{"ref":104,"tf":0.00423728813559322},"117":{"ref":117,"tf":0.015151515151515152},"123":{"ref":123,"tf":0.0035211267605633804},"133":{"ref":133,"tf":0.005025125628140704}},"-":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"20":{"ref":20,"tf":0.04081632653061224},"21":{"ref":21,"tf":0.00980392156862745}}}}}}}}}},"d":{"docs":{},"i":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"59":{"ref":59,"tf":0.008356545961002786},"105":{"ref":105,"tf":0.005847953216374269},"114":{"ref":114,"tf":0.012759170653907496}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"74":{"ref":74,"tf":0.005988023952095809}}},"d":{"docs":{"84":{"ref":84,"tf":0.007272727272727273},"113":{"ref":113,"tf":0.0070921985815602835},"119":{"ref":119,"tf":0.011811023622047244}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"4":{"ref":4,"tf":0.022727272727272728},"5":{"ref":5,"tf":5.102564102564102},"6":{"ref":6,"tf":2.5714285714285716},"110":{"ref":110,"tf":0.01020408163265306},"124":{"ref":124,"tf":0.010309278350515464},"136":{"ref":136,"tf":0.005050505050505051}}}},"g":{"docs":{},"/":{"docs":{},"h":{"docs":{},"y":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"-":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"-":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"-":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"-":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"-":{"docs":{},"o":{"docs":{},"f":{"docs":{},"-":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"-":{"3":{"0":{"0":{"docs":{},"m":{"docs":{},"s":{"docs":{},"-":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{"134":{"ref":134,"tf":1}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},"-":{"docs":{},"i":{"docs":{},"s":{"docs":{},"-":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"-":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"135":{"ref":135,"tf":1}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"-":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"136":{"ref":136,"tf":1}}}}}}}}}}}}}}}}}},"u":{"docs":{},"e":{"docs":{"8":{"ref":8,"tf":0.02702702702702703},"9":{"ref":9,"tf":0.05405405405405406},"16":{"ref":16,"tf":0.007352941176470588},"19":{"ref":19,"tf":0.02},"38":{"ref":38,"tf":0.023255813953488372},"50":{"ref":50,"tf":0.008928571428571428},"52":{"ref":52,"tf":0.010416666666666666},"94":{"ref":94,"tf":0.011111111111111112}}}},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{"52":{"ref":52,"tf":0.010416666666666666},"62":{"ref":62,"tf":0.041666666666666664},"130":{"ref":130,"tf":0.0043859649122807015}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}},"n":{"docs":{},"k":{"docs":{"127":{"ref":127,"tf":0.013245033112582781}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"5":{"ref":5,"tf":0.02564102564102564},"52":{"ref":52,"tf":0.010416666666666666}}}},"k":{"docs":{"16":{"ref":16,"tf":0.007352941176470588},"48":{"ref":48,"tf":0.011627906976744186},"54":{"ref":54,"tf":0.001287001287001287}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"48":{"ref":48,"tf":0.011627906976744186}}}}}}}}}},"o":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"18":{"ref":18,"tf":0.02}}}}}},"w":{"docs":{},"s":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}},"e":{"docs":{},"r":{"docs":{"38":{"ref":38,"tf":0.023255813953488372},"57":{"ref":57,"tf":0.01179245283018868},"60":{"ref":60,"tf":0.01818181818181818},"67":{"ref":67,"tf":5.027777777777778},"74":{"ref":74,"tf":0.005988023952095809},"104":{"ref":104,"tf":0.03389830508474576},"121":{"ref":121,"tf":0.005813953488372093},"123":{"ref":123,"tf":0.0035211267605633804},"129":{"ref":129,"tf":0.0034782608695652175},"134":{"ref":134,"tf":0.028768699654775604},"135":{"ref":135,"tf":0.015444015444015444},"136":{"ref":136,"tf":0.015151515151515152}},"'":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"74":{"ref":74,"tf":0.005988023952095809}}},"-":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}}}}}},"a":{"docs":{},"d":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"71":{"ref":71,"tf":0.008},"88":{"ref":88,"tf":0.009708737864077669}}}}}},"e":{"docs":{},"r":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088},"135":{"ref":135,"tf":0.0019305019305019305}}}}},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{"135":{"ref":135,"tf":0.003861003861003861}}}}}},"i":{"docs":{},"g":{"docs":{"18":{"ref":18,"tf":0.02},"61":{"ref":61,"tf":0.010869565217391304},"129":{"ref":129,"tf":0.0017391304347826088},"135":{"ref":135,"tf":0.003861003861003861}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"134":{"ref":134,"tf":0.0023014959723820483}}}}}}},"n":{"docs":{"56":{"ref":56,"tf":0.003189792663476874}},"d":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"94":{"ref":94,"tf":0.011111111111111112},"97":{"ref":97,"tf":0.019230769230769232},"113":{"ref":113,"tf":0.0070921985815602835},"123":{"ref":123,"tf":0.0035211267605633804},"133":{"ref":133,"tf":0.0033500837520938024},"136":{"ref":136,"tf":0.005050505050505051}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0023584905660377358},"59":{"ref":59,"tf":0.002785515320334262}}}}},"c":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"87":{"ref":87,"tf":0.041666666666666664}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{"0":{"ref":0,"tf":0.03225806451612903}}}},"d":{"docs":{"20":{"ref":20,"tf":0.02040816326530612},"21":{"ref":21,"tf":10.088235294117647},"22":{"ref":22,"tf":3.5772357723577235},"23":{"ref":23,"tf":5.151515151515151},"24":{"ref":24,"tf":5.083333333333333},"25":{"ref":25,"tf":5.057471264367816},"30":{"ref":30,"tf":0.05405405405405406},"37":{"ref":37,"tf":0.0625}},"-":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"25":{"ref":25,"tf":0.022988505747126436}}}}}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"25":{"ref":25,"tf":0.022988505747126436}}}}}}}},"e":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{"15":{"ref":15,"tf":0.06818181818181818}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"116":{"ref":116,"tf":0.005555555555555556}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"[":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"116":{"ref":116,"tf":0.005555555555555556}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{"31":{"ref":31,"tf":0.047619047619047616},"33":{"ref":33,"tf":0.3},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.023391812865497075},"114":{"ref":114,"tf":0.014354066985645933},"120":{"ref":120,"tf":0.012578616352201259},"136":{"ref":136,"tf":0.005050505050505051}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"105":{"ref":105,"tf":0.011695906432748537},"114":{"ref":114,"tf":0.003189792663476874}}}}},"y":{"docs":{},"p":{"docs":{"114":{"ref":114,"tf":0.003189792663476874}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"]":{"docs":{},")":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}}}}}}}}}}},"-":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"p":{"docs":{"80":{"ref":80,"tf":0.007692307692307693}}}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"(":{"docs":{},"[":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"109":{"ref":109,"tf":0.008547008547008548}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"t":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}},"l":{"docs":{},"l":{"docs":{"16":{"ref":16,"tf":0.014705882352941176},"17":{"ref":17,"tf":0.15384615384615385},"54":{"ref":54,"tf":0.006435006435006435},"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00546448087431694},"71":{"ref":71,"tf":0.008},"78":{"ref":78,"tf":0.033707865168539325},"88":{"ref":88,"tf":0.019417475728155338},"89":{"ref":89,"tf":0.022727272727272728},"90":{"ref":90,"tf":0.020833333333333332},"94":{"ref":94,"tf":0.022222222222222223},"95":{"ref":95,"tf":0.018691588785046728},"105":{"ref":105,"tf":0.017543859649122806},"107":{"ref":107,"tf":0.06329113924050633},"108":{"ref":108,"tf":0.014492753623188406},"109":{"ref":109,"tf":0.008547008547008548},"110":{"ref":110,"tf":0.01020408163265306},"113":{"ref":113,"tf":0.02127659574468085},"114":{"ref":114,"tf":0.007974481658692184},"115":{"ref":115,"tf":0.006493506493506494},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525},"119":{"ref":119,"tf":0.03543307086614173},"120":{"ref":120,"tf":0.012578616352201259},"121":{"ref":121,"tf":0.005813953488372093},"123":{"ref":123,"tf":0.0035211267605633804},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.008375209380234505},"135":{"ref":135,"tf":0.005791505791505791},"136":{"ref":136,"tf":0.005050505050505051}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"106":{"ref":106,"tf":0.02666666666666667},"108":{"ref":108,"tf":0.057971014492753624},"113":{"ref":113,"tf":0.0425531914893617},"119":{"ref":119,"tf":0.027559055118110236},"120":{"ref":120,"tf":0.050314465408805034},"121":{"ref":121,"tf":0.023255813953488372}}}}}}},"m":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"129":{"ref":129,"tf":0.0017391304347826088}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"35":{"ref":35,"tf":0.03636363636363636}}}}}}},"b":{"docs":{},"l":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"61":{"ref":61,"tf":0.010869565217391304},"135":{"ref":135,"tf":0.007722007722007722}}}}}},"s":{"docs":{},"e":{"docs":{"45":{"ref":45,"tf":0.00980392156862745},"48":{"ref":48,"tf":0.011627906976744186},"72":{"ref":72,"tf":0.002331002331002331},"74":{"ref":74,"tf":0.005988023952095809},"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0023014959723820483}}}},"u":{"docs":{},"s":{"docs":{"72":{"ref":72,"tf":0.004662004662004662},"96":{"ref":96,"tf":0.017857142857142856},"99":{"ref":99,"tf":0.02127659574468085},"102":{"ref":102,"tf":0.020833333333333332},"103":{"ref":103,"tf":0.006493506493506494},"114":{"ref":114,"tf":0.001594896331738437},"134":{"ref":134,"tf":0.004602991944764097}}}},"c":{"docs":{},"h":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{"135":{"ref":135,"tf":0.003861003861003861}}}}}}},"o":{"docs":{},"l":{"docs":{"43":{"ref":43,"tf":0.0763888888888889},"44":{"ref":44,"tf":0.2037037037037037},"45":{"ref":45,"tf":0.11764705882352941},"46":{"ref":46,"tf":0.19230769230769232},"47":{"ref":47,"tf":0.3},"48":{"ref":48,"tf":0.09302325581395349}},"o":{"docs":{},"r":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"3":{"ref":3,"tf":0.019230769230769232},"4":{"ref":4,"tf":0.022727272727272728},"8":{"ref":8,"tf":0.02702702702702703},"9":{"ref":9,"tf":0.02702702702702703},"12":{"ref":12,"tf":0.05},"15":{"ref":15,"tf":0.022727272727272728},"32":{"ref":32,"tf":0.08},"34":{"ref":34,"tf":0.03333333333333333},"35":{"ref":35,"tf":0.03636363636363636},"37":{"ref":37,"tf":0.0625},"39":{"ref":39,"tf":0.0379746835443038},"50":{"ref":50,"tf":10.098214285714286},"129":{"ref":129,"tf":0.006956521739130435},"133":{"ref":133,"tf":0.0016750418760469012}},"s":{"docs":{},"]":{"docs":{},"(":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"#":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"43":{"ref":43,"tf":0.0763888888888889},"44":{"ref":44,"tf":2.537037037037037},"45":{"ref":45,"tf":2.5784313725490198},"46":{"ref":46,"tf":3.3910256410256405},"47":{"ref":47,"tf":2.56},"48":{"ref":48,"tf":0.03488372093023256}}}}},"-":{"1":{"0":{"docs":{"45":{"ref":45,"tf":0.00980392156862745}}},"docs":{}},"2":{"0":{"docs":{"45":{"ref":45,"tf":0.00980392156862745}}},"5":{"docs":{"45":{"ref":45,"tf":0.00980392156862745}}},"docs":{}},"3":{"3":{"docs":{"45":{"ref":45,"tf":0.00980392156862745}}},"docs":{}},"5":{"0":{"docs":{"45":{"ref":45,"tf":0.00980392156862745}}},"docs":{}},"6":{"7":{"docs":{"45":{"ref":45,"tf":0.00980392156862745}}},"docs":{}},"7":{"5":{"docs":{"45":{"ref":45,"tf":0.00980392156862745}}},"docs":{}},"8":{"0":{"docs":{"45":{"ref":45,"tf":0.00980392156862745}}},"docs":{}},"9":{"0":{"docs":{"45":{"ref":45,"tf":0.00980392156862745}}},"docs":{}},"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"-":{"1":{"0":{"docs":{"46":{"ref":46,"tf":0.019230769230769232}}},"docs":{}},"2":{"0":{"docs":{"46":{"ref":46,"tf":0.019230769230769232}}},"5":{"docs":{"46":{"ref":46,"tf":0.019230769230769232}}},"docs":{}},"3":{"3":{"docs":{"46":{"ref":46,"tf":0.019230769230769232}}},"docs":{}},"5":{"0":{"docs":{"46":{"ref":46,"tf":0.019230769230769232}}},"docs":{}},"6":{"7":{"docs":{"46":{"ref":46,"tf":0.019230769230769232}}},"docs":{}},"7":{"5":{"docs":{"46":{"ref":46,"tf":0.019230769230769232}}},"docs":{}},"8":{"0":{"docs":{"46":{"ref":46,"tf":0.019230769230769232}}},"docs":{}},"9":{"0":{"docs":{"46":{"ref":46,"tf":0.019230769230769232}}},"docs":{}},"docs":{}}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"-":{"5":{"0":{"docs":{"45":{"ref":45,"tf":0.0196078431372549}}},"docs":{}},"7":{"5":{"docs":{"45":{"ref":45,"tf":0.0392156862745098}}},"docs":{}},"docs":{}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"72":{"ref":72,"tf":0.009324009324009324}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"-":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"-":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"72":{"ref":72,"tf":10.025641025641026}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"4":{"ref":4,"tf":0.022727272727272728},"49":{"ref":49,"tf":0.08333333333333333},"50":{"ref":50,"tf":0.017857142857142856},"51":{"ref":51,"tf":0.01694915254237288},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.008356545961002786},"64":{"ref":64,"tf":0.0625},"72":{"ref":72,"tf":0.002331002331002331},"104":{"ref":104,"tf":0.00423728813559322},"128":{"ref":128,"tf":0.017857142857142856},"129":{"ref":129,"tf":0.0052173913043478265},"134":{"ref":134,"tf":0.005753739930955121},"135":{"ref":135,"tf":0.003861003861003861},"136":{"ref":136,"tf":0.010101010101010102}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"57":{"ref":57,"tf":0.0023584905660377358},"134":{"ref":134,"tf":0.0011507479861910242},"136":{"ref":136,"tf":0.005050505050505051}},"l":{"docs":{},"i":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"25":{"ref":25,"tf":0.04597701149425287}}}},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{"57":{"ref":57,"tf":0.0047169811320754715},"68":{"ref":68,"tf":0.027777777777777776}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"56":{"ref":56,"tf":0.011164274322169059},"58":{"ref":58,"tf":0.00273224043715847},"60":{"ref":60,"tf":0.004545454545454545},"63":{"ref":63,"tf":2},"129":{"ref":129,"tf":0.0052173913043478265},"133":{"ref":133,"tf":0.0016750418760469012}},"-":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"127":{"ref":127,"tf":0.006622516556291391}}}}}}}}},"u":{"docs":{},"n":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"126":{"ref":126,"tf":0.011111111111111112},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"34":{"ref":34,"tf":0.016666666666666666},"52":{"ref":52,"tf":0.03125},"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0023584905660377358},"107":{"ref":107,"tf":0.02531645569620253},"126":{"ref":126,"tf":0.022222222222222223},"127":{"ref":127,"tf":0.006622516556291391}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"70":{"ref":70,"tf":0.023809523809523808}}}},"t":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}},"r":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"134":{"ref":134,"tf":0.0011507479861910242}}},"s":{"docs":{},"s":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}},"u":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.003189792663476874},"57":{"ref":57,"tf":0.0047169811320754715},"60":{"ref":60,"tf":0.004545454545454545}}}},"e":{"docs":{},"l":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"59":{"ref":59,"tf":0.002785515320334262},"74":{"ref":74,"tf":0.005988023952095809},"88":{"ref":88,"tf":0.009708737864077669},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"95":{"ref":95,"tf":0.009345794392523364},"114":{"ref":114,"tf":0.001594896331738437},"129":{"ref":129,"tf":0.0017391304347826088},"133":{"ref":133,"tf":0.0033500837520938024},"136":{"ref":136,"tf":0.005050505050505051}}},"x":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"114":{"ref":114,"tf":0.003189792663476874},"135":{"ref":135,"tf":0.0019305019305019305}}}},"i":{"docs":{},"c":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}},"i":{"docs":{},"l":{"docs":{"64":{"ref":64,"tf":0.0625},"72":{"ref":72,"tf":0.004662004662004662}},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"/":{"docs":{},"^":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"*":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"?":{"docs":{},"|":{"docs":{},"f":{"docs":{},"t":{"docs":{},"p":{"docs":{},"|":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"|":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"|":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"126":{"ref":126,"tf":0.011111111111111112}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{"24":{"ref":24,"tf":0.041666666666666664},"39":{"ref":39,"tf":0.012658227848101266},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"129":{"ref":129,"tf":0.0034782608695652175},"134":{"ref":134,"tf":0.0034522439585730723}}}}}},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"3":{"ref":3,"tf":0.019230769230769232},"5":{"ref":5,"tf":0.02564102564102564},"20":{"ref":20,"tf":0.02040816326530612},"21":{"ref":21,"tf":0.029411764705882353},"39":{"ref":39,"tf":0.02531645569620253},"57":{"ref":57,"tf":0.0023584905660377358},"72":{"ref":72,"tf":0.002331002331002331},"80":{"ref":80,"tf":0.015384615384615385},"84":{"ref":84,"tf":0.0036363636363636364},"86":{"ref":86,"tf":0.06666666666666667},"90":{"ref":90,"tf":0.010416666666666666},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.011111111111111112},"95":{"ref":95,"tf":0.009345794392523364},"98":{"ref":98,"tf":0.03773584905660377},"115":{"ref":115,"tf":0.003246753246753247},"119":{"ref":119,"tf":0.003937007874015748},"123":{"ref":123,"tf":0.028169014084507043},"129":{"ref":129,"tf":0.0017391304347826088}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"2":{"ref":2,"tf":10.125},"3":{"ref":3,"tf":0.019230769230769232},"5":{"ref":5,"tf":0.02564102564102564},"13":{"ref":13,"tf":0.019230769230769232},"14":{"ref":14,"tf":0.011494252873563218},"21":{"ref":21,"tf":0.00980392156862745},"22":{"ref":22,"tf":0.024390243902439025},"25":{"ref":25,"tf":0.022988505747126436},"39":{"ref":39,"tf":0.012658227848101266},"43":{"ref":43,"tf":0.006944444444444444},"47":{"ref":47,"tf":0.02},"52":{"ref":52,"tf":0.03125},"54":{"ref":54,"tf":0.007722007722007722},"55":{"ref":55,"tf":2.5},"59":{"ref":59,"tf":0.025069637883008356},"60":{"ref":60,"tf":0.0022727272727272726},"68":{"ref":68,"tf":0.027777777777777776},"72":{"ref":72,"tf":0.002331002331002331},"74":{"ref":74,"tf":0.03592814371257485},"76":{"ref":76,"tf":0.05660377358490566},"77":{"ref":77,"tf":0.05660377358490566},"78":{"ref":78,"tf":0.011235955056179775},"80":{"ref":80,"tf":0.007692307692307693},"82":{"ref":82,"tf":0.015625},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.0036363636363636364},"86":{"ref":86,"tf":0.06666666666666667},"90":{"ref":90,"tf":0.010416666666666666},"92":{"ref":92,"tf":0.05714285714285714},"93":{"ref":93,"tf":0.04225352112676056},"95":{"ref":95,"tf":0.018691588785046728},"98":{"ref":98,"tf":0.018867924528301886},"103":{"ref":103,"tf":0.006493506493506494},"110":{"ref":110,"tf":0.02040816326530612},"111":{"ref":111,"tf":0.022556390977443608},"114":{"ref":114,"tf":0.003189792663476874},"115":{"ref":115,"tf":0.003246753246753247},"116":{"ref":116,"tf":0.016666666666666666},"123":{"ref":123,"tf":0.04225352112676056},"124":{"ref":124,"tf":0.010309278350515464},"130":{"ref":130,"tf":0.017543859649122806},"133":{"ref":133,"tf":0.006700167504187605}},"'":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{},"$":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"$":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"93":{"ref":93,"tf":0.014084507042253521}}}}}}}}}}}}}}}}}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"103":{"ref":103,"tf":0.006493506493506494}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}}}}},"r":{"docs":{},"a":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}},"s":{"docs":{},"t":{"docs":{"45":{"ref":45,"tf":0.00980392156862745}}}}},"o":{"docs":{},"l":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"39":{"ref":39,"tf":0.012658227848101266},"52":{"ref":52,"tf":0.010416666666666666},"54":{"ref":54,"tf":0.009009009009009009},"56":{"ref":56,"tf":0.001594896331738437},"59":{"ref":59,"tf":0.005571030640668524},"71":{"ref":71,"tf":0.008},"84":{"ref":84,"tf":0.0036363636363636364},"88":{"ref":88,"tf":0.009708737864077669},"105":{"ref":105,"tf":0.005847953216374269},"109":{"ref":109,"tf":0.03418803418803419},"111":{"ref":111,"tf":0.015037593984962405},"112":{"ref":112,"tf":0.011764705882352941},"115":{"ref":115,"tf":0.01948051948051948},"116":{"ref":116,"tf":0.022222222222222223},"117":{"ref":117,"tf":0.030303030303030304},"118":{"ref":118,"tf":0.0380952380952381},"122":{"ref":122,"tf":3.333333333333333},"124":{"ref":124,"tf":0.05154639175257732},"126":{"ref":126,"tf":0.011111111111111112},"130":{"ref":130,"tf":0.013157894736842105},"133":{"ref":133,"tf":0.010050251256281407},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.020202020202020204}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"t":{"docs":{},"o":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.003861003861003861}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"88":{"ref":88,"tf":0.009708737864077669},"111":{"ref":111,"tf":0.007518796992481203}}}}}}}},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"132":{"ref":132,"tf":0.01282051282051282}}}}}}},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"110":{"ref":110,"tf":0.01020408163265306}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"$":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"105":{"ref":105,"tf":0.005847953216374269},"106":{"ref":106,"tf":0.013333333333333334},"114":{"ref":114,"tf":0.001594896331738437}}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"j":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"69":{"ref":69,"tf":3.383333333333333},"134":{"ref":134,"tf":0.0023014959723820483}},"o":{"docs":{},"r":{"docs":{"69":{"ref":69,"tf":0.05}}}},"e":{"docs":{},"]":{"docs":{},"(":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"114":{"ref":114,"tf":0.001594896331738437},"124":{"ref":124,"tf":0.010309278350515464},"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"25":{"ref":25,"tf":0.04597701149425287},"39":{"ref":39,"tf":0.012658227848101266}}}},"d":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"104":{"ref":104,"tf":0.00423728813559322}}}},"o":{"docs":{},"l":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}},"e":{"2":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"'":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"k":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}}},"y":{"docs":{"114":{"ref":114,"tf":0.003189792663476874}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{"136":{"ref":136,"tf":0.005050505050505051}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"36":{"ref":36,"tf":0.017857142857142856},"50":{"ref":50,"tf":0.017857142857142856}}},"i":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"136":{"ref":136,"tf":0.005050505050505051}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}},"u":{"docs":{},"r":{"docs":{"48":{"ref":48,"tf":0.011627906976744186},"56":{"ref":56,"tf":0.003189792663476874},"74":{"ref":74,"tf":0.005988023952095809},"103":{"ref":103,"tf":0.006493506493506494},"123":{"ref":123,"tf":0.0035211267605633804},"133":{"ref":133,"tf":0.0016750418760469012}}}},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.006493506493506494}}}}}},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"$":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"m":{"docs":{"114":{"ref":114,"tf":0.006379585326953748},"136":{"ref":136,"tf":0.005050505050505051}},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"r":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"104":{"ref":104,"tf":0.00847457627118644}}}}}},"u":{"docs":{},"s":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0023584905660377358}}}},"r":{"docs":{},"n":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"60":{"ref":60,"tf":0.0022727272727272726}}}}}},"j":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"103":{"ref":103,"tf":0.006493506493506494}}}}}}},"e":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"3":{"ref":3,"tf":0.019230769230769232},"104":{"ref":104,"tf":0.00423728813559322},"115":{"ref":115,"tf":0.003246753246753247}},"l":{"docs":{},"i":{"docs":{"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"82":{"ref":82,"tf":0.0078125},"84":{"ref":84,"tf":0.0036363636363636364},"104":{"ref":104,"tf":0.00423728813559322},"123":{"ref":123,"tf":0.0035211267605633804},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.0043859649122807015}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"72":{"ref":72,"tf":0.002331002331002331},"83":{"ref":83,"tf":0.02127659574468085},"132":{"ref":132,"tf":0.01282051282051282}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{"56":{"ref":56,"tf":0.014354066985645933},"57":{"ref":57,"tf":0.009433962264150943},"58":{"ref":58,"tf":0.00819672131147541},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.011363636363636364},"63":{"ref":63,"tf":0.024390243902439025},"66":{"ref":66,"tf":0.08695652173913043},"103":{"ref":103,"tf":0.006493506493506494},"121":{"ref":121,"tf":0.029069767441860465},"127":{"ref":127,"tf":0.026490066225165563},"128":{"ref":128,"tf":0.017857142857142856},"132":{"ref":132,"tf":0.038461538461538464},"135":{"ref":135,"tf":2.5559845559845558}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"128":{"ref":128,"tf":0.017857142857142856},"135":{"ref":135,"tf":0.0019305019305019305}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"61":{"ref":61,"tf":0.010869565217391304}}}}}}}}}}},".":{"docs":{},"j":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.006493506493506494}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}},"e":{"docs":{"57":{"ref":57,"tf":0.0047169811320754715},"59":{"ref":59,"tf":0.002785515320334262},"65":{"ref":65,"tf":0.025},"84":{"ref":84,"tf":0.0036363636363636364},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.009652509652509652}}}},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{"21":{"ref":21,"tf":0.00980392156862745}}}}},"r":{"docs":{},"s":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"127":{"ref":127,"tf":0.006622516556291391},"130":{"ref":130,"tf":0.0043859649122807015}}}},"n":{"docs":{},"t":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"127":{"ref":127,"tf":0.006622516556291391}}}}},"d":{"docs":{},"e":{"docs":{"44":{"ref":44,"tf":0.018518518518518517},"46":{"ref":46,"tf":0.019230769230769232},"54":{"ref":54,"tf":0.009009009009009009},"56":{"ref":56,"tf":0.003189792663476874},"57":{"ref":57,"tf":0.0047169811320754715},"59":{"ref":59,"tf":0.013927576601671309},"60":{"ref":60,"tf":0.004545454545454545},"69":{"ref":69,"tf":0.05},"105":{"ref":105,"tf":0.005847953216374269},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.005025125628140704},"134":{"ref":134,"tf":0.0034522439585730723},"135":{"ref":135,"tf":0.007722007722007722},"136":{"ref":136,"tf":0.005050505050505051}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}},"i":{"docs":{},"q":{"docs":{},"a":{"docs":{"70":{"ref":70,"tf":0.023809523809523808}}}}}},"i":{"docs":{},"n":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}},"s":{"docs":{},"t":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"60":{"ref":60,"tf":0.0022727272727272726}}}},"o":{"docs":{},"l":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}},"r":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{"134":{"ref":134,"tf":0.0034522439585730723}}}}}}},"p":{"docs":{},"i":{"docs":{"129":{"ref":129,"tf":0.0052173913043478265},"130":{"ref":130,"tf":0.0043859649122807015}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"1":{"ref":1,"tf":0.045454545454545456},"10":{"ref":10,"tf":0.023809523809523808},"16":{"ref":16,"tf":0.007352941176470588},"22":{"ref":22,"tf":0.024390243902439025},"38":{"ref":38,"tf":0.011627906976744186},"50":{"ref":50,"tf":0.026785714285714284},"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0023584905660377358},"59":{"ref":59,"tf":0.005571030640668524},"60":{"ref":60,"tf":0.0022727272727272726},"65":{"ref":65,"tf":0.05},"74":{"ref":74,"tf":0.011976047904191617},"81":{"ref":81,"tf":0.015151515151515152},"114":{"ref":114,"tf":0.003189792663476874},"123":{"ref":123,"tf":0.0035211267605633804},"126":{"ref":126,"tf":0.011111111111111112},"128":{"ref":128,"tf":0.017857142857142856},"129":{"ref":129,"tf":2.5156521739130433},"130":{"ref":130,"tf":0.008771929824561403},"135":{"ref":135,"tf":0.007722007722007722},"136":{"ref":136,"tf":0.005050505050505051}},"i":{"docs":{},"z":{"docs":{"15":{"ref":15,"tf":0.022727272727272728}}}}}}}},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.003189792663476874},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.005571030640668524},"61":{"ref":61,"tf":0.010869565217391304},"71":{"ref":71,"tf":0.008},"72":{"ref":72,"tf":0.006993006993006993},"80":{"ref":80,"tf":0.015384615384615385},"81":{"ref":81,"tf":0.015151515151515152},"82":{"ref":82,"tf":0.0078125},"91":{"ref":91,"tf":0.0196078431372549},"94":{"ref":94,"tf":0.011111111111111112},"98":{"ref":98,"tf":0.018867924528301886},"99":{"ref":99,"tf":0.02127659574468085},"100":{"ref":100,"tf":0.08333333333333333},"112":{"ref":112,"tf":0.0058823529411764705},"113":{"ref":113,"tf":0.0070921985815602835},"116":{"ref":116,"tf":0.016666666666666666},"117":{"ref":117,"tf":0.015151515151515152},"121":{"ref":121,"tf":0.023255813953488372},"123":{"ref":123,"tf":0.007042253521126761},"135":{"ref":135,"tf":0.0019305019305019305}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"117":{"ref":117,"tf":0.007575757575757576}}}}}}}}}}},"v":{"docs":{"106":{"ref":106,"tf":0.02666666666666667}}},"s":{"docs":{"134":{"ref":134,"tf":2}}}},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"9":{"ref":9,"tf":5.054054054054054},"12":{"ref":12,"tf":3.333333333333333},"56":{"ref":56,"tf":0.001594896331738437},"134":{"ref":134,"tf":0.0011507479861910242}}},"n":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"71":{"ref":71,"tf":0.016}},"u":{"docs":{},"p":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"11":{"ref":11,"tf":0.09090909090909091},"15":{"ref":15,"tf":0.022727272727272728},"16":{"ref":16,"tf":0.014705882352941176},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"36":{"ref":36,"tf":0.017857142857142856},"39":{"ref":39,"tf":0.02531645569620253},"48":{"ref":48,"tf":0.05813953488372093},"49":{"ref":49,"tf":0.08333333333333333},"51":{"ref":51,"tf":0.01694915254237288},"52":{"ref":52,"tf":0.020833333333333332},"53":{"ref":53,"tf":0.041666666666666664},"54":{"ref":54,"tf":0.001287001287001287},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"80":{"ref":80,"tf":0.015384615384615385},"86":{"ref":86,"tf":0.06666666666666667},"97":{"ref":97,"tf":0.038461538461538464},"103":{"ref":103,"tf":0.006493506493506494},"104":{"ref":104,"tf":0.00423728813559322},"111":{"ref":111,"tf":0.007518796992481203},"123":{"ref":123,"tf":0.0035211267605633804},"130":{"ref":130,"tf":0.0043859649122807015}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"12":{"ref":12,"tf":0.05},"13":{"ref":13,"tf":0.019230769230769232},"18":{"ref":18,"tf":0.02},"22":{"ref":22,"tf":0.024390243902439025},"23":{"ref":23,"tf":0.030303030303030304},"25":{"ref":25,"tf":0.011494252873563218},"30":{"ref":30,"tf":0.05405405405405406},"39":{"ref":39,"tf":0.02531645569620253},"40":{"ref":40,"tf":0.14285714285714285},"41":{"ref":41,"tf":0.0625},"42":{"ref":42,"tf":0.07142857142857142},"43":{"ref":43,"tf":0.006944444444444444},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.00980392156862745},"46":{"ref":46,"tf":0.019230769230769232},"51":{"ref":51,"tf":0.01694915254237288},"119":{"ref":119,"tf":0.023622047244094488},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"i":{"docs":{},"c":{"docs":{"41":{"ref":41,"tf":0.0625}}}},"=":{"docs":{},"\"":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"111":{"ref":111,"tf":0.007518796992481203}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},">":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}},"m":{"docs":{},"i":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}}}}}}}}},"&":{"docs":{},"q":{"docs":{},"u":{"docs":{},"o":{"docs":{},"t":{"docs":{},";":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"&":{"docs":{},"q":{"docs":{},"u":{"docs":{},"o":{"docs":{},"t":{"docs":{},";":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"82":{"ref":82,"tf":0.0078125}},"&":{"docs":{},"q":{"docs":{},"u":{"docs":{},"o":{"docs":{},"t":{"docs":{},";":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},"(":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"#":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"82":{"ref":82,"tf":0.0078125},"84":{"ref":84,"tf":0.0036363636363636364},"96":{"ref":96,"tf":0.017857142857142856}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"96":{"ref":96,"tf":0.017857142857142856}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"58":{"ref":58,"tf":0.00546448087431694},"71":{"ref":71,"tf":0.008},"81":{"ref":81,"tf":0.045454545454545456},"94":{"ref":94,"tf":0.011111111111111112},"95":{"ref":95,"tf":0.009345794392523364},"102":{"ref":102,"tf":0.041666666666666664},"104":{"ref":104,"tf":0.0211864406779661},"105":{"ref":105,"tf":0.023391812865497075},"113":{"ref":113,"tf":0.0070921985815602835},"114":{"ref":114,"tf":0.001594896331738437},"134":{"ref":134,"tf":0.02991944764096663}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"54":{"ref":54,"tf":0.005148005148005148},"57":{"ref":57,"tf":0.0023584905660377358},"71":{"ref":71,"tf":0.008},"100":{"ref":100,"tf":0.08333333333333333},"105":{"ref":105,"tf":0.011695906432748537},"109":{"ref":109,"tf":0.008547008547008548},"113":{"ref":113,"tf":0.014184397163120567},"114":{"ref":114,"tf":0.02711323763955343},"116":{"ref":116,"tf":0.011111111111111112},"123":{"ref":123,"tf":0.0035211267605633804},"134":{"ref":134,"tf":0.0011507479861910242}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"109":{"ref":109,"tf":0.008547008547008548}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"119":{"ref":119,"tf":0.007874015748031496}}}}}},"n":{"docs":{},"e":{"docs":{"62":{"ref":62,"tf":0.041666666666666664},"63":{"ref":63,"tf":0.024390243902439025},"128":{"ref":128,"tf":0.017857142857142856},"133":{"ref":133,"tf":0.0016750418760469012}}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"10":{"ref":10,"tf":0.023809523809523808},"15":{"ref":15,"tf":0.022727272727272728},"51":{"ref":51,"tf":0.01694915254237288},"71":{"ref":71,"tf":0.016},"74":{"ref":74,"tf":0.005988023952095809},"75":{"ref":75,"tf":0.08333333333333333},"78":{"ref":78,"tf":0.011235955056179775},"79":{"ref":79,"tf":0.125},"81":{"ref":81,"tf":0.015151515151515152},"83":{"ref":83,"tf":0.02127659574468085},"85":{"ref":85,"tf":0.09090909090909091},"88":{"ref":88,"tf":0.019417475728155338},"89":{"ref":89,"tf":0.022727272727272728},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"95":{"ref":95,"tf":0.009345794392523364},"98":{"ref":98,"tf":0.018867924528301886},"119":{"ref":119,"tf":0.007874015748031496}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{"104":{"ref":104,"tf":0.00423728813559322},"119":{"ref":119,"tf":0.003937007874015748}}}}}}}},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{"10":{"ref":10,"tf":0.023809523809523808},"16":{"ref":16,"tf":0.007352941176470588},"50":{"ref":50,"tf":0.008928571428571428},"51":{"ref":51,"tf":0.01694915254237288},"59":{"ref":59,"tf":0.002785515320334262},"87":{"ref":87,"tf":0.125},"105":{"ref":105,"tf":0.005847953216374269},"124":{"ref":124,"tf":0.010309278350515464},"129":{"ref":129,"tf":0.0034782608695652175},"133":{"ref":133,"tf":0.0016750418760469012}}}},"i":{"docs":{},"c":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"59":{"ref":59,"tf":0.002785515320334262},"111":{"ref":111,"tf":0.007518796992481203},"124":{"ref":124,"tf":0.010309278350515464}}}},"s":{"docs":{},"e":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"56":{"ref":56,"tf":0.001594896331738437}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"11":{"ref":11,"tf":0.045454545454545456},"39":{"ref":39,"tf":0.012658227848101266},"48":{"ref":48,"tf":0.011627906976744186},"56":{"ref":56,"tf":0.006379585326953748},"58":{"ref":58,"tf":0.00819672131147541},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.004545454545454545},"82":{"ref":82,"tf":0.0234375},"94":{"ref":94,"tf":0.022222222222222223},"102":{"ref":102,"tf":0.020833333333333332},"112":{"ref":112,"tf":0.0058823529411764705},"115":{"ref":115,"tf":0.003246753246753247},"117":{"ref":117,"tf":0.007575757575757576},"123":{"ref":123,"tf":0.0035211267605633804},"129":{"ref":129,"tf":0.01565217391304348},"130":{"ref":130,"tf":0.013157894736842105},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242}},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705}}}}}}}}}}}}}},"c":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"58":{"ref":58,"tf":0.00273224043715847}}}},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"55":{"ref":55,"tf":0.12244897959183673},"56":{"ref":56,"tf":0.006379585326953748},"57":{"ref":57,"tf":0.0047169811320754715},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.005571030640668524},"60":{"ref":60,"tf":0.006818181818181818}}}}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"16":{"ref":16,"tf":0.014705882352941176},"56":{"ref":56,"tf":0.001594896331738437},"60":{"ref":60,"tf":0.004545454545454545},"69":{"ref":69,"tf":0.05},"93":{"ref":93,"tf":0.014084507042253521},"114":{"ref":114,"tf":0.001594896331738437},"121":{"ref":121,"tf":0.005813953488372093},"126":{"ref":126,"tf":0.011111111111111112},"133":{"ref":133,"tf":0.005025125628140704},"134":{"ref":134,"tf":0.0034522439585730723},"136":{"ref":136,"tf":0.005050505050505051}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"34":{"ref":34,"tf":0.03333333333333333},"35":{"ref":35,"tf":10.127272727272727},"73":{"ref":73,"tf":0.2},"123":{"ref":123,"tf":0.0035211267605633804},"134":{"ref":134,"tf":0.0011507479861910242}},"-":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"35":{"ref":35,"tf":0.01818181818181818}}}}}}}}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"[":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"73":{"ref":73,"tf":0.05},"97":{"ref":97,"tf":0.019230769230769232}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.00909090909090909},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.0019305019305019305}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"15":{"ref":15,"tf":0.022727272727272728},"18":{"ref":18,"tf":0.02},"19":{"ref":19,"tf":0.02},"23":{"ref":23,"tf":0.030303030303030304},"25":{"ref":25,"tf":0.022988505747126436},"26":{"ref":26,"tf":0.021739130434782608},"29":{"ref":29,"tf":0.02564102564102564},"48":{"ref":48,"tf":0.011627906976744186},"53":{"ref":53,"tf":0.041666666666666664},"54":{"ref":54,"tf":0.01287001287001287},"55":{"ref":55,"tf":0.02040816326530612},"56":{"ref":56,"tf":0.007974481658692184},"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.01092896174863388},"59":{"ref":59,"tf":0.025069637883008356},"63":{"ref":63,"tf":0.024390243902439025},"70":{"ref":70,"tf":0.023809523809523808},"71":{"ref":71,"tf":0.016},"81":{"ref":81,"tf":0.015151515151515152},"82":{"ref":82,"tf":0.015625},"84":{"ref":84,"tf":0.007272727272727273},"90":{"ref":90,"tf":0.010416666666666666},"97":{"ref":97,"tf":0.019230769230769232},"105":{"ref":105,"tf":0.005847953216374269},"114":{"ref":114,"tf":0.001594896331738437},"115":{"ref":115,"tf":0.003246753246753247},"123":{"ref":123,"tf":0.017605633802816902},"124":{"ref":124,"tf":0.020618556701030927},"127":{"ref":127,"tf":0.006622516556291391},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.005025125628140704},"134":{"ref":134,"tf":0.0034522439585730723},"135":{"ref":135,"tf":0.0019305019305019305}},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}},"(":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}},"s":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"135":{"ref":135,"tf":0.003861003861003861}}}},"v":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}},"m":{"docs":{"114":{"ref":114,"tf":0.004784688995215311}}}}},"u":{"docs":{},"s":{"docs":{},"a":{"docs":{},"d":{"docs":{"20":{"ref":20,"tf":0.02040816326530612}}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"20":{"ref":20,"tf":0.02040816326530612}}}}}}},"a":{"docs":{},"z":{"docs":{},"i":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"134":{"ref":134,"tf":0.0011507479861910242}}}},"s":{"docs":{},"h":{"docs":{"127":{"ref":127,"tf":0.006622516556291391}}}}}},"s":{"docs":{},"s":{"3":{"docs":{"34":{"ref":34,"tf":0.016666666666666666}}},"docs":{"43":{"ref":43,"tf":0.006944444444444444},"50":{"ref":50,"tf":0.017857142857142856},"57":{"ref":57,"tf":0.007075471698113208},"59":{"ref":59,"tf":0.002785515320334262},"61":{"ref":61,"tf":0.021739130434782608},"64":{"ref":64,"tf":0.0625},"65":{"ref":65,"tf":0.075},"66":{"ref":66,"tf":0.043478260869565216},"72":{"ref":72,"tf":0.011655011655011656},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"80":{"ref":80,"tf":0.007692307692307693},"96":{"ref":96,"tf":0.017857142857142856},"97":{"ref":97,"tf":0.038461538461538464},"104":{"ref":104,"tf":0.00847457627118644},"106":{"ref":106,"tf":0.013333333333333334},"126":{"ref":126,"tf":0.022222222222222223},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.02782608695652174},"130":{"ref":130,"tf":0.008771929824561403},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.0019305019305019305}},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"65":{"ref":65,"tf":10}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},".":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{"129":{"ref":129,"tf":0.0034782608695652175}}}}}}}}}}}},"-":{"3":{"docs":{},"p":{"docs":{},"o":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}},"docs":{}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"45":{"ref":45,"tf":0.00980392156862745},"48":{"ref":48,"tf":0.011627906976744186},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"96":{"ref":96,"tf":0.017857142857142856},"104":{"ref":104,"tf":0.00423728813559322},"133":{"ref":133,"tf":0.0016750418760469012}},"l":{"docs":{},"i":{"docs":{"51":{"ref":51,"tf":0.01694915254237288}}}}}}},"i":{"docs":{},"f":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"47":{"ref":47,"tf":0.01},"54":{"ref":54,"tf":0.003861003861003861},"59":{"ref":59,"tf":0.013927576601671309},"60":{"ref":60,"tf":0.0022727272727272726},"93":{"ref":93,"tf":0.014084507042253521},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0016750418760469012}}}}}}},":":{"docs":{},"\\":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"-":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"-":{"1":{"docs":{},".":{"9":{"docs":{},".":{"2":{"docs":{},"\\":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"56":{"ref":56,"tf":0.003189792663476874}}}}}}}}}}},"d":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"60":{"ref":60,"tf":0.004545454545454545},"127":{"ref":127,"tf":0.006622516556291391}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"4":{"ref":4,"tf":0.06818181818181818},"11":{"ref":11,"tf":0.045454545454545456},"13":{"ref":13,"tf":0.019230769230769232},"15":{"ref":15,"tf":0.022727272727272728},"16":{"ref":16,"tf":0.007352941176470588},"21":{"ref":21,"tf":0.00980392156862745},"27":{"ref":27,"tf":0.03225806451612903},"30":{"ref":30,"tf":0.02702702702702703},"32":{"ref":32,"tf":0.04},"37":{"ref":37,"tf":0.0625},"38":{"ref":38,"tf":0.023255813953488372},"39":{"ref":39,"tf":0.02531645569620253},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.00980392156862745},"47":{"ref":47,"tf":0.01},"52":{"ref":52,"tf":0.010416666666666666},"56":{"ref":56,"tf":0.009569377990430622},"65":{"ref":65,"tf":0.05},"71":{"ref":71,"tf":0.032},"74":{"ref":74,"tf":0.03592814371257485},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"78":{"ref":78,"tf":0.02247191011235955},"80":{"ref":80,"tf":0.007692307692307693},"81":{"ref":81,"tf":0.030303030303030304},"82":{"ref":82,"tf":0.0078125},"88":{"ref":88,"tf":0.009708737864077669},"90":{"ref":90,"tf":0.052083333333333336},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"94":{"ref":94,"tf":0.011111111111111112},"95":{"ref":95,"tf":0.018691588785046728},"98":{"ref":98,"tf":0.03773584905660377},"99":{"ref":99,"tf":0.02127659574468085},"110":{"ref":110,"tf":0.030612244897959183},"112":{"ref":112,"tf":0.0058823529411764705},"113":{"ref":113,"tf":0.0070921985815602835},"114":{"ref":114,"tf":0.022328548644338118},"116":{"ref":116,"tf":0.011111111111111112},"118":{"ref":118,"tf":0.01904761904761905},"121":{"ref":121,"tf":0.011627906976744186},"129":{"ref":129,"tf":0.02434782608695652},"133":{"ref":133,"tf":0.0033500837520938024},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.003861003861003861}}}}}},"e":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}},"i":{"docs":{},"n":{"docs":{"54":{"ref":54,"tf":0.003861003861003861},"59":{"ref":59,"tf":0.002785515320334262},"72":{"ref":72,"tf":0.002331002331002331},"84":{"ref":84,"tf":0.0036363636363636364},"96":{"ref":96,"tf":0.017857142857142856},"119":{"ref":119,"tf":0.003937007874015748},"129":{"ref":129,"tf":0.0017391304347826088}}}}},"v":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}},"i":{"docs":{},"c":{"docs":{"5":{"ref":5,"tf":0.02564102564102564},"34":{"ref":34,"tf":0.016666666666666666},"43":{"ref":43,"tf":0.006944444444444444},"55":{"ref":55,"tf":0.02040816326530612},"56":{"ref":56,"tf":0.009569377990430622},"60":{"ref":60,"tf":0.00909090909090909},"104":{"ref":104,"tf":0.012711864406779662},"113":{"ref":113,"tf":0.02127659574468085},"121":{"ref":121,"tf":0.05813953488372093},"132":{"ref":132,"tf":0.01282051282051282},"134":{"ref":134,"tf":0.004602991944764097}},"e":{"docs":{},"&":{"docs":{},"#":{"3":{"9":{"docs":{},";":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}}},"docs":{}},"docs":{}}},"'":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"26":{"ref":26,"tf":0.021739130434782608},"52":{"ref":52,"tf":0.010416666666666666},"56":{"ref":56,"tf":0.012759170653907496},"57":{"ref":57,"tf":0.02358490566037736},"58":{"ref":58,"tf":0.01366120218579235},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.00909090909090909},"61":{"ref":61,"tf":0.010869565217391304},"65":{"ref":65,"tf":0.025},"69":{"ref":69,"tf":3.333333333333333},"70":{"ref":70,"tf":0.023809523809523808},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0034782608695652175},"134":{"ref":134,"tf":0.004602991944764097},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.010101010101010102}},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"r":{"docs":{"11":{"ref":11,"tf":0.045454545454545456},"129":{"ref":129,"tf":0.0017391304347826088}}},"g":{"docs":{},"n":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"26":{"ref":26,"tf":0.021739130434782608},"36":{"ref":36,"tf":0.017857142857142856},"43":{"ref":43,"tf":0.006944444444444444},"49":{"ref":49,"tf":0.08333333333333333},"50":{"ref":50,"tf":0.008928571428571428},"55":{"ref":55,"tf":0.02040816326530612},"57":{"ref":57,"tf":0.0023584905660377358},"59":{"ref":59,"tf":0.002785515320334262},"65":{"ref":65,"tf":0.025},"126":{"ref":126,"tf":0.011111111111111112},"136":{"ref":136,"tf":0.005050505050505051}}}}},"k":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"57":{"ref":57,"tf":0.0047169811320754715},"60":{"ref":60,"tf":0.01818181818181818},"105":{"ref":105,"tf":0.005847953216374269},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"122":{"ref":122,"tf":0.16666666666666666},"123":{"ref":123,"tf":0.0035211267605633804},"124":{"ref":124,"tf":0.010309278350515464},"125":{"ref":125,"tf":0.2}}}},"b":{"docs":{},"e":{"docs":{},"d":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{"83":{"ref":83,"tf":0.02127659574468085},"115":{"ref":115,"tf":0.003246753246753247}}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"105":{"ref":105,"tf":0.005847953216374269}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"105":{"ref":105,"tf":0.005847953216374269}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"105":{"ref":105,"tf":0.011695906432748537}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"95":{"ref":95,"tf":0.009345794392523364}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"54":{"ref":54,"tf":0.001287001287001287},"71":{"ref":71,"tf":0.008},"72":{"ref":72,"tf":0.002331002331002331},"74":{"ref":74,"tf":0.005988023952095809},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"78":{"ref":78,"tf":0.011235955056179775},"80":{"ref":80,"tf":0.007692307692307693},"82":{"ref":82,"tf":0.0078125},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.0036363636363636364},"88":{"ref":88,"tf":0.009708737864077669},"89":{"ref":89,"tf":0.022727272727272728},"90":{"ref":90,"tf":0.010416666666666666},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.011111111111111112},"95":{"ref":95,"tf":0.009345794392523364},"96":{"ref":96,"tf":0.03571428571428571},"97":{"ref":97,"tf":0.019230769230769232},"98":{"ref":98,"tf":0.018867924528301886},"105":{"ref":105,"tf":0.005847953216374269},"108":{"ref":108,"tf":0.028985507246376812},"109":{"ref":109,"tf":0.03418803418803419},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.015037593984962405},"112":{"ref":112,"tf":0.041176470588235294},"113":{"ref":113,"tf":0.028368794326241134},"114":{"ref":114,"tf":0.009569377990430622},"115":{"ref":115,"tf":0.025974025974025976},"116":{"ref":116,"tf":0.022222222222222223},"117":{"ref":117,"tf":0.022727272727272728},"118":{"ref":118,"tf":0.01904761904761905},"119":{"ref":119,"tf":0.03543307086614173},"120":{"ref":120,"tf":0.031446540880503145},"121":{"ref":121,"tf":0.01744186046511628},"134":{"ref":134,"tf":0.0011507479861910242},"136":{"ref":136,"tf":0.005050505050505051}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"104":{"ref":104,"tf":0.00423728813559322},"113":{"ref":113,"tf":0.0070921985815602835},"134":{"ref":134,"tf":0.004602991944764097}}}}}},"m":{"docs":{},"o":{"docs":{"19":{"ref":19,"tf":0.02},"43":{"ref":43,"tf":0.013888888888888888},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.00980392156862745},"46":{"ref":46,"tf":0.038461538461538464},"47":{"ref":47,"tf":0.02},"48":{"ref":48,"tf":0.011627906976744186},"72":{"ref":72,"tf":0.002331002331002331},"126":{"ref":126,"tf":0.022222222222222223},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0033500837520938024},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"47":{"ref":47,"tf":0.01}}}}}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"/":{"docs":{},"z":{"docs":{},"k":{"docs":{},"m":{"docs":{},"h":{"docs":{},"j":{"docs":{"136":{"ref":136,"tf":0.005050505050505051}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"35":{"ref":35,"tf":0.01818181818181818}}}}}}},"t":{"docs":{},"a":{"docs":{},"-":{"7":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}},"docs":{}}}},"e":{"docs":{},"g":{"docs":{"74":{"ref":74,"tf":0.005988023952095809},"80":{"ref":80,"tf":0.007692307692307693},"82":{"ref":82,"tf":0.0078125},"90":{"ref":90,"tf":0.010416666666666666},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.011111111111111112},"96":{"ref":96,"tf":0.017857142857142856},"109":{"ref":109,"tf":0.017094017094017096},"112":{"ref":112,"tf":0.011764705882352941},"115":{"ref":115,"tf":0.012987012987012988},"116":{"ref":116,"tf":0.011111111111111112},"117":{"ref":117,"tf":0.015151515151515152},"118":{"ref":118,"tf":0.01904761904761905},"124":{"ref":124,"tf":0.05154639175257732}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"-":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"74":{"ref":74,"tf":0.005988023952095809},"80":{"ref":80,"tf":0.007692307692307693},"82":{"ref":82,"tf":0.0078125},"90":{"ref":90,"tf":0.010416666666666666},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.011111111111111112},"96":{"ref":96,"tf":0.017857142857142856},"109":{"ref":109,"tf":0.008547008547008548},"112":{"ref":112,"tf":0.0058823529411764705},"115":{"ref":115,"tf":0.006493506493506494},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"109":{"ref":109,"tf":0.008547008547008548},"112":{"ref":112,"tf":0.0058823529411764705},"115":{"ref":115,"tf":0.003246753246753247},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"y":{"docs":{},"-":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"-":{"docs":{},"i":{"docs":{},"d":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"75":{"ref":75,"tf":0.08333333333333333},"80":{"ref":80,"tf":0.015384615384615385},"105":{"ref":105,"tf":0.005847953216374269},"109":{"ref":109,"tf":0.017094017094017096},"123":{"ref":123,"tf":0.0035211267605633804}}}},"a":{"docs":{},"i":{"docs":{"104":{"ref":104,"tf":0.029661016949152543},"106":{"ref":106,"tf":0.013333333333333334},"110":{"ref":110,"tf":0.030612244897959183},"134":{"ref":134,"tf":2.0253164556962027}}}},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"55":{"ref":55,"tf":0.02040816326530612},"56":{"ref":56,"tf":3.33652312599681},"82":{"ref":82,"tf":0.0078125},"127":{"ref":127,"tf":0.006622516556291391},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"l":{"docs":{},"o":{"docs":{},"i":{"docs":{"55":{"ref":55,"tf":0.02040816326530612},"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00546448087431694},"127":{"ref":127,"tf":0.006622516556291391}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"60":{"ref":60,"tf":0.006818181818181818}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"83":{"ref":83,"tf":0.02127659574468085}}}}},"i":{"docs":{},"d":{"docs":{"113":{"ref":113,"tf":0.0070921985815602835},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}}},"m":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"113":{"ref":113,"tf":0.0070921985815602835}}}}}}}}},"o":{"docs":{"63":{"ref":63,"tf":0.024390243902439025},"106":{"ref":106,"tf":0.013333333333333334}},"c":{"docs":{"2":{"ref":2,"tf":0.025},"14":{"ref":14,"tf":0.022988505747126436},"39":{"ref":39,"tf":0.012658227848101266},"51":{"ref":51,"tf":0.01694915254237288},"60":{"ref":60,"tf":0.0022727272727272726},"71":{"ref":71,"tf":0.008},"72":{"ref":72,"tf":0.002331002331002331},"73":{"ref":73,"tf":0.05},"74":{"ref":74,"tf":0.005988023952095809},"75":{"ref":75,"tf":0.08333333333333333},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"78":{"ref":78,"tf":0.011235955056179775},"79":{"ref":79,"tf":0.125},"80":{"ref":80,"tf":0.007692307692307693},"81":{"ref":81,"tf":0.015151515151515152},"82":{"ref":82,"tf":0.0078125},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.0036363636363636364},"85":{"ref":85,"tf":0.09090909090909091},"86":{"ref":86,"tf":0.06666666666666667},"87":{"ref":87,"tf":0.041666666666666664},"88":{"ref":88,"tf":0.009708737864077669},"89":{"ref":89,"tf":0.022727272727272728},"90":{"ref":90,"tf":0.010416666666666666},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.011111111111111112},"95":{"ref":95,"tf":0.009345794392523364},"96":{"ref":96,"tf":0.017857142857142856},"97":{"ref":97,"tf":0.019230769230769232},"98":{"ref":98,"tf":0.018867924528301886},"99":{"ref":99,"tf":0.02127659574468085},"100":{"ref":100,"tf":0.041666666666666664},"101":{"ref":101,"tf":0.043478260869565216},"102":{"ref":102,"tf":0.020833333333333332},"103":{"ref":103,"tf":0.006493506493506494},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.005847953216374269},"106":{"ref":106,"tf":0.013333333333333334},"107":{"ref":107,"tf":0.012658227848101266},"108":{"ref":108,"tf":0.014492753623188406},"109":{"ref":109,"tf":0.008547008547008548},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.007518796992481203},"112":{"ref":112,"tf":0.0058823529411764705},"113":{"ref":113,"tf":0.0070921985815602835},"114":{"ref":114,"tf":0.001594896331738437},"115":{"ref":115,"tf":0.003246753246753247},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525},"119":{"ref":119,"tf":0.003937007874015748},"120":{"ref":120,"tf":0.006289308176100629},"121":{"ref":121,"tf":0.005813953488372093},"126":{"ref":126,"tf":1.0222222222222221},"127":{"ref":127,"tf":0.006622516556291391},"136":{"ref":136,"tf":0.005050505050505051}},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"#":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"0":{"ref":0,"tf":1}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"1":{"ref":1,"tf":1}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"38":{"ref":38,"tf":1}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"2":{"ref":2,"tf":1}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"50":{"ref":50,"tf":1}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"9":{"ref":9,"tf":1}},"s":{"docs":{},"-":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"12":{"ref":12,"tf":1}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"21":{"ref":21,"tf":1}},"-":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"-":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"22":{"ref":22,"tf":1}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"23":{"ref":23,"tf":1}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"24":{"ref":24,"tf":1}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{"25":{"ref":25,"tf":1}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"35":{"ref":35,"tf":1}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"3":{"ref":3,"tf":1}}}},"r":{"docs":{},"m":{"docs":{"26":{"ref":26,"tf":1}},"s":{"docs":{},"-":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"-":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{"27":{"ref":27,"tf":1}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"-":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{"28":{"ref":28,"tf":1}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"-":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{"29":{"ref":29,"tf":1}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"6":{"ref":6,"tf":1}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"4":{"ref":4,"tf":1}},"-":{"docs":{},"s":{"docs":{"7":{"ref":7,"tf":1}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"13":{"ref":13,"tf":1}}}}}},"s":{"docs":{},"-":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"-":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"11":{"ref":11,"tf":1}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"5":{"ref":5,"tf":1}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"33":{"ref":33,"tf":1}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"8":{"ref":8,"tf":1}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"51":{"ref":51,"tf":1}},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"10":{"ref":10,"tf":1}}}}}}}},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},"-":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"40":{"ref":40,"tf":1}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"-":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"41":{"ref":41,"tf":1}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"-":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"42":{"ref":42,"tf":1}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"-":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"15":{"ref":15,"tf":1}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"16":{"ref":16,"tf":1}}}}},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"-":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"31":{"ref":31,"tf":1}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"17":{"ref":17,"tf":1}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{"18":{"ref":18,"tf":1}}}}}}}},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"n":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"19":{"ref":19,"tf":1}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"-":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"30":{"ref":30,"tf":1}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"-":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"32":{"ref":32,"tf":1}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"14":{"ref":14,"tf":1}},"-":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"20":{"ref":20,"tf":1}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"34":{"ref":34,"tf":1}}}}}},"a":{"docs":{},"b":{"docs":{"39":{"ref":39,"tf":1}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"36":{"ref":36,"tf":1}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{"37":{"ref":37,"tf":1}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"43":{"ref":43,"tf":1}},"-":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"44":{"ref":44,"tf":1}}}}},"x":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"45":{"ref":45,"tf":1}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"46":{"ref":46,"tf":1}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"-":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"47":{"ref":47,"tf":1}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"48":{"ref":48,"tf":1}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"49":{"ref":49,"tf":1}}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{"52":{"ref":52,"tf":1}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"53":{"ref":53,"tf":1}}}}}}}}}}}}}}}}}},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"55":{"ref":55,"tf":1}},"e":{"docs":{},"/":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":1}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"56":{"ref":56,"tf":1}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"57":{"ref":57,"tf":1}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"58":{"ref":58,"tf":1}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"59":{"ref":59,"tf":1}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"60":{"ref":60,"tf":1}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"/":{"docs":{},"#":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"61":{"ref":61,"tf":1}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"62":{"ref":62,"tf":1}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"63":{"ref":63,"tf":1}}}}}}},"w":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},"s":{"docs":{},"-":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"64":{"ref":64,"tf":1}}}}}}}}}}}}}},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{},"-":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"65":{"ref":65,"tf":1}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"69":{"ref":69,"tf":1}}}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"66":{"ref":66,"tf":1}}}}}}}}}},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"-":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"67":{"ref":67,"tf":1}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"68":{"ref":68,"tf":1}}}}}}}},"a":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"70":{"ref":70,"tf":1}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"71":{"ref":71,"tf":1}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"72":{"ref":72,"tf":1}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"73":{"ref":73,"tf":1}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"74":{"ref":74,"tf":1}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"75":{"ref":75,"tf":1}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"76":{"ref":76,"tf":1}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"77":{"ref":77,"tf":1}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"78":{"ref":78,"tf":1}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"79":{"ref":79,"tf":1}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"80":{"ref":80,"tf":1}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"81":{"ref":81,"tf":1}}}}}}}}}},"r":{"docs":{"82":{"ref":82,"tf":1}}}},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"83":{"ref":83,"tf":1}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"84":{"ref":84,"tf":1}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"85":{"ref":85,"tf":1}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"86":{"ref":86,"tf":1}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{"87":{"ref":87,"tf":1}}}}}},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"88":{"ref":88,"tf":1}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"89":{"ref":89,"tf":1}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"90":{"ref":90,"tf":1}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{"91":{"ref":91,"tf":1},"93":{"ref":93,"tf":1}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"92":{"ref":92,"tf":1}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"94":{"ref":94,"tf":1}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"95":{"ref":95,"tf":1},"96":{"ref":96,"tf":1}}}},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"97":{"ref":97,"tf":1}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"98":{"ref":98,"tf":1}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"99":{"ref":99,"tf":1}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{"100":{"ref":100,"tf":1}}}}}},"t":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"101":{"ref":101,"tf":1}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"102":{"ref":102,"tf":1}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"/":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"103":{"ref":103,"tf":1}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{"104":{"ref":104,"tf":1}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"$":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{"105":{"ref":105,"tf":1}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"106":{"ref":106,"tf":1}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{"107":{"ref":107,"tf":1}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"108":{"ref":108,"tf":1}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"109":{"ref":109,"tf":1}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"110":{"ref":110,"tf":1}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"111":{"ref":111,"tf":1}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"112":{"ref":112,"tf":1}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"113":{"ref":113,"tf":1}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{"114":{"ref":114,"tf":1}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"115":{"ref":115,"tf":1}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"116":{"ref":116,"tf":1}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"117":{"ref":117,"tf":1}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"118":{"ref":118,"tf":1}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"119":{"ref":119,"tf":1}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"120":{"ref":120,"tf":1}}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"121":{"ref":121,"tf":1}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"122":{"ref":122,"tf":1}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"123":{"ref":123,"tf":1}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"124":{"ref":124,"tf":1}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"125":{"ref":125,"tf":1}}}}}}}}}}}}}}}}},"]":{"docs":{},"(":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"#":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"76":{"ref":76,"tf":0.018867924528301886}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"77":{"ref":77,"tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"u":{"docs":{},"i":{"docs":{},"/":{"docs":{},"u":{"docs":{},"i":{"docs":{},"-":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{"84":{"ref":84,"tf":0.007272727272727273}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{"93":{"ref":93,"tf":0.014084507042253521}},"t":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"69":{"ref":69,"tf":0.05},"84":{"ref":84,"tf":0.0036363636363636364},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"95":{"ref":95,"tf":0.009345794392523364},"96":{"ref":96,"tf":0.017857142857142856},"104":{"ref":104,"tf":0.00423728813559322},"126":{"ref":126,"tf":5.011111111111111}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"`":{"docs":{},"]":{"docs":{},"(":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"#":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"80":{"ref":80,"tf":0.007692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"-":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"129":{"ref":129,"tf":0.0034782608695652175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"#":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{"10":{"ref":10,"tf":0.023809523809523808},"71":{"ref":71,"tf":0.008},"72":{"ref":72,"tf":0.018648018648018648},"104":{"ref":104,"tf":0.00423728813559322},"107":{"ref":107,"tf":0.012658227848101266},"119":{"ref":119,"tf":0.003937007874015748},"120":{"ref":120,"tf":0.006289308176100629},"134":{"ref":134,"tf":0.0034522439585730723}},"e":{"docs":{},"v":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705}}},"l":{"docs":{"119":{"ref":119,"tf":0.027559055118110236},"120":{"ref":120,"tf":0.025157232704402517}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"11":{"ref":11,"tf":0.045454545454545456},"43":{"ref":43,"tf":0.006944444444444444},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.003189792663476874},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.0022727272727272726},"114":{"ref":114,"tf":0.001594896331738437},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.005791505791505791}}}},"e":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"71":{"ref":71,"tf":0.008},"107":{"ref":107,"tf":0.012658227848101266},"111":{"ref":111,"tf":0.007518796992481203},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0033500837520938024},"134":{"ref":134,"tf":0.0011507479861910242}}},"\\":{"docs":{},"'":{"docs":{},"t":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}},"a":{"docs":{},"t":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}},"g":{"docs":{"18":{"ref":18,"tf":0.02}}},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{"19":{"ref":19,"tf":0.02}}}},"m":{"docs":{"20":{"ref":20,"tf":0.02040816326530612}}}},"w":{"docs":{},"n":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"57":{"ref":57,"tf":0.0023584905660377358},"72":{"ref":72,"tf":0.004662004662004662},"77":{"ref":77,"tf":0.018867924528301886},"88":{"ref":88,"tf":0.038834951456310676},"104":{"ref":104,"tf":0.00423728813559322}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"56":{"ref":56,"tf":0.004784688995215311},"62":{"ref":62,"tf":10.083333333333334},"128":{"ref":128,"tf":0.03571428571428571},"129":{"ref":129,"tf":0.0017391304347826088}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"54":{"ref":54,"tf":0.001287001287001287},"60":{"ref":60,"tf":0.0022727272727272726},"104":{"ref":104,"tf":0.00423728813559322},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.010356731875719217},"135":{"ref":135,"tf":0.0019305019305019305}}}}},"-":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{"94":{"ref":94,"tf":0.022222222222222223}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"134":{"ref":134,"tf":0.0011507479861910242}},"e":{"docs":{},"-":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{"104":{"ref":104,"tf":0.00847457627118644},"134":{"ref":134,"tf":0.0034522439585730723}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{"4":{"ref":4,"tf":0.022727272727272728},"5":{"ref":5,"tf":0.05128205128205128},"6":{"ref":6,"tf":0.047619047619047616},"14":{"ref":14,"tf":0.011494252873563218},"21":{"ref":21,"tf":0.0196078431372549},"36":{"ref":36,"tf":0.017857142857142856},"54":{"ref":54,"tf":0.001287001287001287},"72":{"ref":72,"tf":0.002331002331002331},"81":{"ref":81,"tf":0.015151515151515152},"84":{"ref":84,"tf":0.0036363636363636364},"88":{"ref":88,"tf":0.038834951456310676},"98":{"ref":98,"tf":0.018867924528301886},"104":{"ref":104,"tf":0.00847457627118644},"134":{"ref":134,"tf":0.005753739930955121}}}}}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"78":{"ref":78,"tf":0.033707865168539325},"115":{"ref":115,"tf":0.006493506493506494}}}}},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"102":{"ref":102,"tf":0.041666666666666664},"103":{"ref":103,"tf":0.012987012987012988},"104":{"ref":104,"tf":0.00847457627118644},"123":{"ref":123,"tf":0.0035211267605633804},"134":{"ref":134,"tf":0.0011507479861910242}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"136":{"ref":136,"tf":0.005050505050505051}}}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"7":{"ref":7,"tf":5},"15":{"ref":15,"tf":0.022727272727272728},"20":{"ref":20,"tf":0.02040816326530612},"21":{"ref":21,"tf":0.00980392156862745},"25":{"ref":25,"tf":0.011494252873563218},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.03636363636363636},"36":{"ref":36,"tf":0.017857142857142856},"38":{"ref":38,"tf":0.011627906976744186},"43":{"ref":43,"tf":0.006944444444444444},"50":{"ref":50,"tf":0.008928571428571428},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"73":{"ref":73,"tf":0.1},"84":{"ref":84,"tf":0.007272727272727273},"87":{"ref":87,"tf":0.08333333333333333},"104":{"ref":104,"tf":0.00423728813559322},"123":{"ref":123,"tf":0.014084507042253521},"129":{"ref":129,"tf":0.0017391304347826088},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.005791505791505791}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"54":{"ref":54,"tf":0.003861003861003861},"72":{"ref":72,"tf":0.011655011655011656},"74":{"ref":74,"tf":0.029940119760479042},"78":{"ref":78,"tf":0.02247191011235955},"80":{"ref":80,"tf":0.007692307692307693},"82":{"ref":82,"tf":0.0078125},"84":{"ref":84,"tf":0.01090909090909091},"87":{"ref":87,"tf":0.041666666666666664},"90":{"ref":90,"tf":0.010416666666666666},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.014084507042253521},"97":{"ref":97,"tf":0.038461538461538464},"99":{"ref":99,"tf":0.0851063829787234},"102":{"ref":102,"tf":0.0625},"103":{"ref":103,"tf":0.006493506493506494},"109":{"ref":109,"tf":0.017094017094017096},"112":{"ref":112,"tf":0.047058823529411764},"115":{"ref":115,"tf":0.003246753246753247},"116":{"ref":116,"tf":0.011111111111111112},"117":{"ref":117,"tf":0.015151515151515152},"118":{"ref":118,"tf":0.02857142857142857},"123":{"ref":123,"tf":3.3579812206572766},"124":{"ref":124,"tf":0.05154639175257732},"130":{"ref":130,"tf":0.03070175438596491},"134":{"ref":134,"tf":0.0011507479861910242}},"l":{"docs":{},"i":{"docs":{"10":{"ref":10,"tf":0.023809523809523808},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"60":{"ref":60,"tf":0.004545454545454545},"84":{"ref":84,"tf":0.0036363636363636364},"109":{"ref":109,"tf":0.008547008547008548},"115":{"ref":115,"tf":0.003246753246753247},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525},"129":{"ref":129,"tf":0.0034782608695652175}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"56":{"ref":56,"tf":0.006379585326953748},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.002785515320334262},"128":{"ref":128,"tf":0.017857142857142856},"129":{"ref":129,"tf":0.02608695652173913}}}}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"'":{"docs":{"96":{"ref":96,"tf":0.017857142857142856}}},"(":{"docs":{},"'":{"docs":{},"f":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}}}}}}}}}}}}}}},"v":{"docs":{"54":{"ref":54,"tf":0.007722007722007722},"111":{"ref":111,"tf":0.022556390977443608},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.006700167504187605},"134":{"ref":134,"tf":0.0023014959723820483}},"i":{"docs":{},"d":{"docs":{"15":{"ref":15,"tf":5.090909090909091},"45":{"ref":45,"tf":0.00980392156862745}}}}},"c":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"50":{"ref":50,"tf":0.008928571428571428}}}}}},"d":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}}}}},"t":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}},"g":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015},"135":{"ref":135,"tf":0.0019305019305019305}},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"114":{"ref":114,"tf":0.003189792663476874},"136":{"ref":136,"tf":0.010101010101010102}}}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"34":{"ref":34,"tf":0.016666666666666666},"59":{"ref":59,"tf":0.008356545961002786},"60":{"ref":60,"tf":0.004545454545454545},"80":{"ref":80,"tf":0.007692307692307693},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.011111111111111112},"97":{"ref":97,"tf":0.019230769230769232},"116":{"ref":116,"tf":0.011111111111111112},"120":{"ref":120,"tf":0.006289308176100629},"123":{"ref":123,"tf":0.007042253521126761},"130":{"ref":130,"tf":0.008771929824561403},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242}},"-":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"92":{"ref":92,"tf":0.02857142857142857}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}},"u":{"docs":{},"p":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"19":{"ref":19,"tf":0.02},"135":{"ref":135,"tf":0.0019305019305019305}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}},"p":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"56":{"ref":56,"tf":0.001594896331738437},"126":{"ref":126,"tf":0.011111111111111112}}}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}},"f":{"docs":{},"t":{"docs":{},"y":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"70":{"ref":70,"tf":0.023809523809523808}}}}}}},"u":{"docs":{},"c":{"docs":{},"k":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}}},"e":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}},"r":{"docs":{},"e":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}},"a":{"docs":{},"t":{"docs":{"106":{"ref":106,"tf":0.02666666666666667},"110":{"ref":110,"tf":0.01020408163265306}}}}},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"134":{"ref":134,"tf":0.0034522439585730723}}}}}}},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{"18":{"ref":18,"tf":0.02}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"105":{"ref":105,"tf":0.005847953216374269},"124":{"ref":124,"tf":0.010309278350515464}}}}}},"i":{"docs":{"19":{"ref":19,"tf":0.02},"135":{"ref":135,"tf":0.0019305019305019305}}},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"h":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}}}},"r":{"docs":{},"k":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"129":{"ref":129,"tf":0.0017391304347826088}}}},"t":{"docs":{},"a":{"docs":{"54":{"ref":54,"tf":0.005148005148005148},"72":{"ref":72,"tf":0.002331002331002331},"78":{"ref":78,"tf":0.011235955056179775},"84":{"ref":84,"tf":0.0036363636363636364},"120":{"ref":120,"tf":0.018867924528301886},"130":{"ref":130,"tf":0.0043859649122807015},"135":{"ref":135,"tf":0.007722007722007722},"136":{"ref":136,"tf":0.005050505050505051}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}},"-":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"-":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"104":{"ref":104,"tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}}},"f":{"0":{"docs":{},"b":{"8":{"4":{"0":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}},"docs":{}},"docs":{}},"docs":{}}},"8":{"docs":{},"f":{"8":{"docs":{},"f":{"8":{"docs":{"129":{"ref":129,"tf":0.0034782608695652175}}},"docs":{}}},"docs":{}}},"docs":{},"i":{"docs":{},"x":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"2":{"ref":2,"tf":0.025},"59":{"ref":59,"tf":0.002785515320334262},"76":{"ref":76,"tf":0.03773584905660377},"77":{"ref":77,"tf":0.03773584905660377},"103":{"ref":103,"tf":0.006493506493506494},"123":{"ref":123,"tf":0.007042253521126761},"130":{"ref":130,"tf":0.0043859649122807015}}},"l":{"docs":{},"l":{"docs":{"2":{"ref":2,"tf":0.025},"22":{"ref":22,"tf":0.024390243902439025},"30":{"ref":30,"tf":0.02702702702702703},"58":{"ref":58,"tf":0.00546448087431694}}},"e":{"docs":{"50":{"ref":50,"tf":0.017857142857142856},"54":{"ref":54,"tf":0.003861003861003861},"58":{"ref":58,"tf":0.01912568306010929},"59":{"ref":59,"tf":0.022284122562674095},"60":{"ref":60,"tf":0.004545454545454545},"64":{"ref":64,"tf":0.0625},"66":{"ref":66,"tf":0.043478260869565216},"84":{"ref":84,"tf":0.0036363636363636364},"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.006493506493506494},"128":{"ref":128,"tf":0.017857142857142856},"129":{"ref":129,"tf":0.06086956521739131}},"s":{"docs":{},"\\":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"\\":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"7":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}},"\\":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}}},"docs":{}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"72":{"ref":72,"tf":0.004662004662004662}},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}}}}}}}}}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"13":{"ref":13,"tf":0.21153846153846154},"16":{"ref":16,"tf":0.007352941176470588},"29":{"ref":29,"tf":0.05128205128205128},"47":{"ref":47,"tf":0.01},"54":{"ref":54,"tf":0.005148005148005148},"56":{"ref":56,"tf":0.006379585326953748},"57":{"ref":57,"tf":0.0047169811320754715},"58":{"ref":58,"tf":0.00819672131147541},"59":{"ref":59,"tf":0.005571030640668524},"60":{"ref":60,"tf":0.0022727272727272726},"71":{"ref":71,"tf":0.008},"88":{"ref":88,"tf":0.009708737864077669},"104":{"ref":104,"tf":0.00423728813559322},"119":{"ref":119,"tf":0.003937007874015748},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.0043859649122807015},"132":{"ref":132,"tf":0.01282051282051282},"133":{"ref":133,"tf":0.006700167504187605},"135":{"ref":135,"tf":0.003861003861003861},"136":{"ref":136,"tf":0.005050505050505051}}}},"e":{"docs":{"104":{"ref":104,"tf":0.00847457627118644},"121":{"ref":121,"tf":0.011627906976744186},"134":{"ref":134,"tf":0.009205983889528193}},"f":{"docs":{},"o":{"docs":{},"x":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}},"o":{"docs":{"67":{"ref":67,"tf":0.027777777777777776}}}}}}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"26":{"ref":26,"tf":0.021739130434782608},"105":{"ref":105,"tf":0.005847953216374269},"114":{"ref":114,"tf":0.001594896331738437}}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}}},"u":{"docs":{},"r":{"docs":{"43":{"ref":43,"tf":0.013888888888888888},"59":{"ref":59,"tf":0.002785515320334262},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"v":{"docs":{},"e":{"docs":{"43":{"ref":43,"tf":0.013888888888888888},"44":{"ref":44,"tf":0.018518518518518517}}}},"t":{"docs":{"48":{"ref":48,"tf":0.011627906976744186},"57":{"ref":57,"tf":0.0047169811320754715},"61":{"ref":61,"tf":0.021739130434782608},"72":{"ref":72,"tf":0.004662004662004662},"86":{"ref":86,"tf":0.06666666666666667},"119":{"ref":119,"tf":0.003937007874015748},"123":{"ref":123,"tf":0.0035211267605633804},"129":{"ref":129,"tf":0.0034782608695652175},"135":{"ref":135,"tf":0.003861003861003861}}},"n":{"docs":{},"d":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0047169811320754715},"58":{"ref":58,"tf":0.00273224043715847},"119":{"ref":119,"tf":0.015748031496062992},"126":{"ref":126,"tf":0.011111111111111112},"129":{"ref":129,"tf":0.0034782608695652175},"134":{"ref":134,"tf":0.0011507479861910242}}},"a":{"docs":{},"l":{"docs":{"58":{"ref":58,"tf":0.00546448087431694}},"l":{"docs":{},"y":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"88":{"ref":88,"tf":0.009708737864077669}}}}}}}}}}}},"e":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"70":{"ref":70,"tf":0.023809523809523808},"115":{"ref":115,"tf":0.003246753246753247},"135":{"ref":135,"tf":0.0019305019305019305}}},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"71":{"ref":71,"tf":0.024},"133":{"ref":133,"tf":0.005025125628140704}}}}}}},"e":{"docs":{},"w":{"docs":{"1":{"ref":1,"tf":0.045454545454545456},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.002785515320334262},"72":{"ref":72,"tf":0.002331002331002331},"114":{"ref":114,"tf":0.001594896331738437},"129":{"ref":129,"tf":0.0052173913043478265},"134":{"ref":134,"tf":0.0023014959723820483}}},"l":{"docs":{},"u":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}}},"t":{"docs":{"57":{"ref":57,"tf":0.0047169811320754715},"134":{"ref":134,"tf":0.0011507479861910242}}}},"e":{"docs":{},"l":{"docs":{"51":{"ref":51,"tf":0.01694915254237288},"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0023584905660377358},"59":{"ref":59,"tf":0.002785515320334262},"61":{"ref":61,"tf":0.010869565217391304},"65":{"ref":65,"tf":0.05},"96":{"ref":96,"tf":0.017857142857142856},"104":{"ref":104,"tf":0.00423728813559322},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.006904487917146145},"136":{"ref":136,"tf":0.005050505050505051}}},"d":{"docs":{"131":{"ref":131,"tf":2.0555555555555554}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"136":{"ref":136,"tf":0.005050505050505051}}}}}}}},"a":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"74":{"ref":74,"tf":0.005988023952095809},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0034522439585730723},"135":{"ref":135,"tf":0.005791505791505791},"136":{"ref":136,"tf":0.005050505050505051}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"84":{"ref":84,"tf":0.0036363636363636364},"131":{"ref":131,"tf":2.0555555555555554}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"2":{"ref":2,"tf":0.025},"3":{"ref":3,"tf":10.096153846153847},"11":{"ref":11,"tf":0.045454545454545456},"22":{"ref":22,"tf":3.40650406504065},"25":{"ref":25,"tf":0.034482758620689655},"76":{"ref":76,"tf":0.03773584905660377},"99":{"ref":99,"tf":0.02127659574468085},"114":{"ref":114,"tf":0.001594896331738437},"123":{"ref":123,"tf":0.0035211267605633804}}}}}},"n":{"docs":{},"t":{"docs":{"51":{"ref":51,"tf":0.01694915254237288},"126":{"ref":126,"tf":0.011111111111111112},"129":{"ref":129,"tf":0.008695652173913044}},"-":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"10":{"ref":10,"tf":0.023809523809523808},"16":{"ref":16,"tf":0.007352941176470588}}}}}},"w":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"15":{"ref":15,"tf":0.022727272727272728},"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}},"f":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}},"u":{"docs":{},"r":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"60":{"ref":60,"tf":0.0022727272727272726}},"t":{"docs":{},"h":{"docs":{"16":{"ref":16,"tf":0.007352941176470588}}}}},"n":{"docs":{},"d":{"docs":{"58":{"ref":58,"tf":0.00546448087431694},"59":{"ref":59,"tf":0.002785515320334262},"62":{"ref":62,"tf":0.041666666666666664},"68":{"ref":68,"tf":0.027777777777777776},"103":{"ref":103,"tf":0.006493506493506494},"115":{"ref":115,"tf":0.003246753246753247},"121":{"ref":121,"tf":0.005813953488372093},"129":{"ref":129,"tf":0.0017391304347826088}},"a":{"docs":{},"t":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"m":{"docs":{"20":{"ref":20,"tf":0.02040816326530612},"26":{"ref":26,"tf":3.3550724637681157},"30":{"ref":30,"tf":5.054054054054054},"33":{"ref":33,"tf":0.1},"54":{"ref":54,"tf":0.007722007722007722},"114":{"ref":114,"tf":0.006379585326953748},"134":{"ref":134,"tf":0.0011507479861910242}},"a":{"docs":{},"t":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}},"i":{"docs":{},"d":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"115":{"ref":115,"tf":0.006493506493506494}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"126":{"ref":126,"tf":0.011111111111111112},"127":{"ref":127,"tf":0.006622516556291391},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}},"c":{"docs":{},"u":{"docs":{"26":{"ref":26,"tf":0.021739130434782608},"103":{"ref":103,"tf":0.012987012987012988},"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0023014959723820483}},"s":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"61":{"ref":61,"tf":0.010869565217391304},"67":{"ref":67,"tf":0.027777777777777776},"103":{"ref":103,"tf":0.01948051948051948}},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"71":{"ref":71,"tf":0.008}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"36":{"ref":36,"tf":0.017857142857142856},"52":{"ref":52,"tf":0.010416666666666666},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.009569377990430622},"58":{"ref":58,"tf":0.00273224043715847},"71":{"ref":71,"tf":0.008},"115":{"ref":115,"tf":0.006493506493506494},"119":{"ref":119,"tf":0.003937007874015748},"127":{"ref":127,"tf":0.013245033112582781},"132":{"ref":132,"tf":0.01282051282051282},"134":{"ref":134,"tf":0.0011507479861910242}},"u":{"docs":{},"p":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"56":{"ref":56,"tf":0.012759170653907496},"60":{"ref":60,"tf":0.015909090909090907}}}}}},"e":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"4":{"ref":4,"tf":0.045454545454545456},"6":{"ref":6,"tf":2.5476190476190474},"18":{"ref":18,"tf":0.02},"20":{"ref":20,"tf":0.02040816326530612},"61":{"ref":61,"tf":0.010869565217391304},"72":{"ref":72,"tf":0.002331002331002331},"129":{"ref":129,"tf":0.0017391304347826088},"136":{"ref":136,"tf":0.005050505050505051}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.006493506493506494},"121":{"ref":121,"tf":0.01744186046511628},"128":{"ref":128,"tf":0.017857142857142856},"132":{"ref":132,"tf":0.05128205128205128}},"(":{"docs":{},"[":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}},"r":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"48":{"ref":48,"tf":0.011627906976744186}}},"s":{"docs":{},"t":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}}}}}},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"54":{"ref":54,"tf":0.014157014157014158},"57":{"ref":57,"tf":0.0023584905660377358},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.0022727272727272726},"63":{"ref":63,"tf":0.024390243902439025},"72":{"ref":72,"tf":0.011655011655011656},"78":{"ref":78,"tf":0.0449438202247191},"81":{"ref":81,"tf":0.06060606060606061},"88":{"ref":88,"tf":0.009708737864077669},"89":{"ref":89,"tf":0.022727272727272728},"93":{"ref":93,"tf":0.028169014084507043},"105":{"ref":105,"tf":0.023391812865497075},"106":{"ref":106,"tf":0.05333333333333334},"107":{"ref":107,"tf":0.02531645569620253},"108":{"ref":108,"tf":0.014492753623188406},"109":{"ref":109,"tf":0.017094017094017096},"110":{"ref":110,"tf":0.02040816326530612},"111":{"ref":111,"tf":0.03759398496240601},"112":{"ref":112,"tf":0.0058823529411764705},"113":{"ref":113,"tf":0.05673758865248227},"114":{"ref":114,"tf":0.017543859649122806},"115":{"ref":115,"tf":0.01948051948051948},"116":{"ref":116,"tf":0.011111111111111112},"117":{"ref":117,"tf":0.015151515151515152},"118":{"ref":118,"tf":0.009523809523809525},"119":{"ref":119,"tf":0.04330708661417323},"120":{"ref":120,"tf":0.018867924528301886},"121":{"ref":121,"tf":0.011627906976744186},"123":{"ref":123,"tf":0.0035211267605633804},"128":{"ref":128,"tf":0.017857142857142856},"133":{"ref":133,"tf":0.0033500837520938024},"135":{"ref":135,"tf":0.003861003861003861},"136":{"ref":136,"tf":0.010101010101010102}},"(":{"docs":{"108":{"ref":108,"tf":0.028985507246376812},"114":{"ref":114,"tf":0.004784688995215311},"120":{"ref":120,"tf":0.012578616352201259},"133":{"ref":133,"tf":0.006700167504187605},"136":{"ref":136,"tf":0.010101010101010102}},"$":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"54":{"ref":54,"tf":0.003861003861003861},"88":{"ref":88,"tf":0.009708737864077669},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.007518796992481203},"130":{"ref":130,"tf":0.008771929824561403},"132":{"ref":132,"tf":0.01282051282051282},"133":{"ref":133,"tf":0.0016750418760469012}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"105":{"ref":105,"tf":0.005847953216374269},"118":{"ref":118,"tf":0.009523809523809525},"133":{"ref":133,"tf":0.0016750418760469012}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"89":{"ref":89,"tf":0.022727272727272728}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705}}}}}},"a":{"docs":{},"m":{"docs":{},"t":{"docs":{"106":{"ref":106,"tf":0.013333333333333334}}}}},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"61":{"ref":61,"tf":0.021739130434782608},"70":{"ref":70,"tf":0.023809523809523808},"135":{"ref":135,"tf":0.005791505791505791}}}}}},"a":{"docs":{},"v":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{"10":{"ref":10,"tf":0.047619047619047616},"39":{"ref":39,"tf":0.02531645569620253},"41":{"ref":41,"tf":0.125},"42":{"ref":42,"tf":0.14285714285714285},"61":{"ref":61,"tf":0.010869565217391304}}}}}}},"s":{"docs":{},"t":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"84":{"ref":84,"tf":0.0036363636363636364},"104":{"ref":104,"tf":0.00423728813559322}},"e":{"docs":{},"r":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"f":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"104":{"ref":104,"tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"j":{"docs":{"134":{"ref":134,"tf":0.0034522439585730723}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"25":{"ref":25,"tf":0.022988505747126436}}}}}}},"t":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}},"y":{"docs":{},"(":{"docs":{},"'":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"128":{"ref":128,"tf":0.017857142857142856},"130":{"ref":130,"tf":2.539473684210526}},"-":{"docs":{},"i":{"docs":{},"n":{"docs":{"53":{"ref":53,"tf":0.041666666666666664}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"130":{"ref":130,"tf":0.013157894736842105}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}}}},"i":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{},"r":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"126":{"ref":126,"tf":0.011111111111111112}}}}}}}},"l":{"docs":{},"s":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"71":{"ref":71,"tf":0.008},"74":{"ref":74,"tf":0.011976047904191617},"105":{"ref":105,"tf":0.011695906432748537},"106":{"ref":106,"tf":0.013333333333333334},"114":{"ref":114,"tf":0.001594896331738437},"118":{"ref":118,"tf":0.009523809523809525},"121":{"ref":121,"tf":0.005813953488372093}}},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}},"r":{"docs":{"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0011507479861910242}}}},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"16":{"ref":16,"tf":0.014705882352941176}}}}},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}},"e":{"docs":{},"e":{"docs":{"51":{"ref":51,"tf":0.03389830508474576},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.002785515320334262},"68":{"ref":68,"tf":0.027777777777777776},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242}}},"s":{"docs":{},"h":{"docs":{"127":{"ref":127,"tf":0.006622516556291391}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"119":{"ref":119,"tf":0.007874015748031496}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"57":{"ref":57,"tf":0.025943396226415096},"59":{"ref":59,"tf":0.002785515320334262},"61":{"ref":61,"tf":0.05434782608695652},"64":{"ref":64,"tf":0.0625},"68":{"ref":68,"tf":0.027777777777777776},"70":{"ref":70,"tf":0.047619047619047616},"126":{"ref":126,"tf":0.022222222222222223},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0023014959723820483}},"'":{"docs":{"61":{"ref":61,"tf":0.010869565217391304},"69":{"ref":69,"tf":0.05}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"61":{"ref":61,"tf":0.010869565217391304}},"-":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"89":{"ref":89,"tf":0.045454545454545456}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"43":{"ref":43,"tf":0.006944444444444444},"50":{"ref":50,"tf":0.017857142857142856},"65":{"ref":65,"tf":0.025},"84":{"ref":84,"tf":0.0036363636363636364},"114":{"ref":114,"tf":0.001594896331738437}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"44":{"ref":44,"tf":0.018518518518518517}},"'":{"docs":{"47":{"ref":47,"tf":0.01}}}}}}},"s":{"docs":{},"h":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"34":{"ref":34,"tf":0.016666666666666666}}}}}}}},"g":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"133":{"ref":133,"tf":0.0033500837520938024}}}},"u":{"docs":{},"x":{"docs":{"35":{"ref":35,"tf":0.03636363636363636}}}},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{"99":{"ref":99,"tf":0.02127659574468085},"116":{"ref":116,"tf":0.005555555555555556}}}}}},"f":{"docs":{},"f":{"docs":{"129":{"ref":129,"tf":0.0034782608695652175},"133":{"ref":133,"tf":0.0016750418760469012}}}}},"h":{"1":{"docs":{"2":{"ref":2,"tf":0.025},"54":{"ref":54,"tf":0.001287001287001287},"111":{"ref":111,"tf":0.007518796992481203}}},"2":{"docs":{"2":{"ref":2,"tf":0.025}}},"3":{"docs":{"2":{"ref":2,"tf":0.025}},">":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"k":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}},"4":{"docs":{"2":{"ref":2,"tf":0.025}}},"5":{"docs":{"2":{"ref":2,"tf":0.025}},">":{"docs":{},"j":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}},"6":{"docs":{"2":{"ref":2,"tf":0.025}}},"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"127":{"ref":127,"tf":0.006622516556291391}},"e":{"docs":{},"r":{"docs":{"0":{"ref":0,"tf":0.0967741935483871},"1":{"ref":1,"tf":3.56060606060606},"2":{"ref":2,"tf":0.025},"3":{"ref":3,"tf":0.038461538461538464},"4":{"ref":4,"tf":0.022727272727272728},"11":{"ref":11,"tf":0.09090909090909091},"12":{"ref":12,"tf":3.483333333333333},"13":{"ref":13,"tf":0.019230769230769232},"22":{"ref":22,"tf":3.40650406504065},"25":{"ref":25,"tf":0.022988505747126436},"33":{"ref":33,"tf":5.1},"54":{"ref":54,"tf":0.005148005148005148},"59":{"ref":59,"tf":0.002785515320334262},"77":{"ref":77,"tf":0.03773584905660377},"82":{"ref":82,"tf":0.0078125},"84":{"ref":84,"tf":0.0036363636363636364},"103":{"ref":103,"tf":0.012987012987012988},"123":{"ref":123,"tf":0.0035211267605633804},"130":{"ref":130,"tf":2.513157894736842},"133":{"ref":133,"tf":0.0033500837520938024}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"a":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"0":{"ref":0,"tf":10}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"1":{"ref":1,"tf":3.333333333333333}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"11":{"ref":11,"tf":3.333333333333333}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}},"i":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"19":{"ref":19,"tf":0.02},"47":{"ref":47,"tf":0.01},"72":{"ref":72,"tf":0.011655011655011656},"119":{"ref":119,"tf":0.007874015748031496},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0016750418760469012}}}}}},"r":{"docs":{},"e":{"docs":{"25":{"ref":25,"tf":0.011494252873563218},"43":{"ref":43,"tf":0.006944444444444444},"54":{"ref":54,"tf":0.002574002574002574},"56":{"ref":56,"tf":0.003189792663476874},"58":{"ref":58,"tf":0.00273224043715847},"68":{"ref":68,"tf":0.027777777777777776},"72":{"ref":72,"tf":0.004662004662004662},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.0036363636363636364},"115":{"ref":115,"tf":0.003246753246753247},"129":{"ref":129,"tf":0.0034782608695652175},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.0019305019305019305}},"'":{"docs":{"134":{"ref":134,"tf":0.0023014959723820483}}}}},"l":{"docs":{},"p":{"docs":{"49":{"ref":49,"tf":0.08333333333333333},"50":{"ref":50,"tf":0.008928571428571428},"52":{"ref":52,"tf":0.010416666666666666},"56":{"ref":56,"tf":0.004784688995215311},"61":{"ref":61,"tf":0.010869565217391304},"69":{"ref":69,"tf":0.05},"84":{"ref":84,"tf":0.0036363636363636364},"126":{"ref":126,"tf":0.011111111111111112},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}}},"l":{"docs":{},"o":{"docs":{"56":{"ref":56,"tf":0.004784688995215311},"75":{"ref":75,"tf":0.08333333333333333},"79":{"ref":79,"tf":0.125},"82":{"ref":82,"tf":0.0078125},"98":{"ref":98,"tf":0.018867924528301886},"111":{"ref":111,"tf":0.007518796992481203},"118":{"ref":118,"tf":0.01904761904761905}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"-":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"-":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"k":{"docs":{"58":{"ref":58,"tf":0.00546448087431694}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"k":{"docs":{"58":{"ref":58,"tf":0.00546448087431694}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{"133":{"ref":133,"tf":0.005025125628140704}},"n":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},"-":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"10":{"ref":10,"tf":0.047619047619047616},"23":{"ref":23,"tf":0.06060606060606061},"39":{"ref":39,"tf":0.02531645569620253},"41":{"ref":41,"tf":0.125},"42":{"ref":42,"tf":0.14285714285714285},"100":{"ref":100,"tf":0.041666666666666664},"102":{"ref":102,"tf":0.020833333333333332}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"51":{"ref":51,"tf":0.01694915254237288}}}}},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"84":{"ref":84,"tf":0.01090909090909091}}}}}}}}},"t":{"docs":{},"h":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"39":{"ref":39,"tf":0.012658227848101266},"74":{"ref":74,"tf":0.005988023952095809},"90":{"ref":90,"tf":0.010416666666666666}}}}}}}},"p":{"docs":{},"e":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}},"s":{"docs":{},"t":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}},"l":{"docs":{},"d":{"docs":{"104":{"ref":104,"tf":0.00423728813559322},"120":{"ref":120,"tf":0.006289308176100629},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}}}}},"g":{"docs":{},"e":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"15":{"ref":15,"tf":0.022727272727272728},"58":{"ref":58,"tf":0.00273224043715847},"133":{"ref":133,"tf":0.0016750418760469012},"135":{"ref":135,"tf":0.0019305019305019305}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"113":{"ref":113,"tf":0.014184397163120567}}}}},"-":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}}},"t":{"docs":{},"e":{"docs":{"19":{"ref":19,"tf":0.02},"24":{"ref":24,"tf":0.08333333333333333}}}},"l":{"docs":{},"f":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}},"v":{"docs":{},"e":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"57":{"ref":57,"tf":0.0023584905660377358},"84":{"ref":84,"tf":0.0036363636363636364},"114":{"ref":114,"tf":0.001594896331738437},"134":{"ref":134,"tf":0.0011507479861910242}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"59":{"ref":59,"tf":0.002785515320334262},"129":{"ref":129,"tf":0.0034782608695652175}}}}}}},"n":{"docs":{},"d":{"docs":{"49":{"ref":49,"tf":0.08333333333333333},"134":{"ref":134,"tf":0.0011507479861910242}},"l":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"57":{"ref":57,"tf":0.0023584905660377358},"59":{"ref":59,"tf":0.002785515320334262},"74":{"ref":74,"tf":0.005988023952095809},"80":{"ref":80,"tf":0.007692307692307693},"82":{"ref":82,"tf":0.0078125},"90":{"ref":90,"tf":0.010416666666666666},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.011111111111111112},"96":{"ref":96,"tf":0.017857142857142856},"104":{"ref":104,"tf":0.00847457627118644},"106":{"ref":106,"tf":0.013333333333333334},"109":{"ref":109,"tf":0.017094017094017096},"112":{"ref":112,"tf":0.011764705882352941},"115":{"ref":115,"tf":0.006493506493506494},"116":{"ref":116,"tf":0.011111111111111112},"117":{"ref":117,"tf":0.015151515151515152},"118":{"ref":118,"tf":0.01904761904761905}},"e":{"docs":{},"r":{"docs":{"134":{"ref":134,"tf":0.0034522439585730723}}}}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"103":{"ref":103,"tf":0.006493506493506494},"108":{"ref":108,"tf":0.014492753623188406},"119":{"ref":119,"tf":0.003937007874015748},"120":{"ref":120,"tf":0.006289308176100629},"134":{"ref":134,"tf":0.006904487917146145}}}},"i":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}},"s":{"docs":{},"h":{"docs":{},"k":{"docs":{},"e":{"docs":{},"i":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}},"-":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"74":{"ref":74,"tf":0.005988023952095809}}}}}}}}},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}},"s":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"h":{"docs":{},"a":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"m":{"docs":{},"l":{"5":{"docs":{"26":{"ref":26,"tf":0.021739130434782608},"34":{"ref":34,"tf":0.03333333333333333},"57":{"ref":57,"tf":0.014150943396226415},"61":{"ref":61,"tf":0.010869565217391304},"70":{"ref":70,"tf":0.023809523809523808},"126":{"ref":126,"tf":0.011111111111111112},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}},"'":{"docs":{"70":{"ref":70,"tf":0.023809523809523808}}}},"docs":{"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"54":{"ref":54,"tf":0.009009009009009009},"57":{"ref":57,"tf":0.0047169811320754715},"59":{"ref":59,"tf":0.011142061281337047},"61":{"ref":61,"tf":0.010869565217391304},"72":{"ref":72,"tf":0.006993006993006993},"73":{"ref":73,"tf":0.1},"74":{"ref":74,"tf":0.005988023952095809},"75":{"ref":75,"tf":0.08333333333333333},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"78":{"ref":78,"tf":0.02247191011235955},"79":{"ref":79,"tf":0.125},"80":{"ref":80,"tf":0.023076923076923078},"81":{"ref":81,"tf":0.045454545454545456},"82":{"ref":82,"tf":0.0078125},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.01090909090909091},"85":{"ref":85,"tf":0.09090909090909091},"86":{"ref":86,"tf":0.06666666666666667},"87":{"ref":87,"tf":0.08333333333333333},"88":{"ref":88,"tf":0.009708737864077669},"89":{"ref":89,"tf":0.022727272727272728},"90":{"ref":90,"tf":0.010416666666666666},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.011111111111111112},"95":{"ref":95,"tf":0.009345794392523364},"96":{"ref":96,"tf":0.017857142857142856},"97":{"ref":97,"tf":0.019230769230769232},"98":{"ref":98,"tf":0.018867924528301886},"99":{"ref":99,"tf":0.02127659574468085},"100":{"ref":100,"tf":0.041666666666666664},"101":{"ref":101,"tf":0.043478260869565216},"102":{"ref":102,"tf":0.020833333333333332},"103":{"ref":103,"tf":0.006493506493506494},"104":{"ref":104,"tf":0.00423728813559322},"109":{"ref":109,"tf":0.008547008547008548},"110":{"ref":110,"tf":0.02040816326530612},"111":{"ref":111,"tf":0.007518796992481203},"112":{"ref":112,"tf":0.0058823529411764705},"114":{"ref":114,"tf":0.012759170653907496},"115":{"ref":115,"tf":0.00974025974025974},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525},"123":{"ref":123,"tf":0.007042253521126761},"132":{"ref":132,"tf":0.01282051282051282},"134":{"ref":134,"tf":0.0011507479861910242}}}},"t":{"docs":{},"p":{"docs":{"78":{"ref":78,"tf":0.011235955056179775},"88":{"ref":88,"tf":0.009708737864077669}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"-":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"78":{"ref":78,"tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"-":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"88":{"ref":88,"tf":0.009708737864077669}}}}}}}}}}}}}}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"8":{"0":{"0":{"0":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"74":{"ref":74,"tf":0.005988023952095809}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"-":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"-":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"-":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"-":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"103":{"ref":103,"tf":0.006493506493506494}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"126":{"ref":126,"tf":0.011111111111111112}},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"27":{"ref":27,"tf":0.03225806451612903},"59":{"ref":59,"tf":0.002785515320334262},"80":{"ref":80,"tf":0.015384615384615385}}}}},"e":{"docs":{"28":{"ref":28,"tf":0.038461538461538464},"36":{"ref":36,"tf":0.017857142857142856},"39":{"ref":39,"tf":0.012658227848101266},"71":{"ref":71,"tf":0.024},"98":{"ref":98,"tf":0.03773584905660377},"103":{"ref":103,"tf":0.012987012987012988},"104":{"ref":104,"tf":0.00423728813559322},"107":{"ref":107,"tf":0.012658227848101266},"110":{"ref":110,"tf":0.05102040816326531},"111":{"ref":111,"tf":0.007518796992481203},"121":{"ref":121,"tf":0.005813953488372093},"132":{"ref":132,"tf":0.01282051282051282}},"-":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"98":{"ref":98,"tf":0.018867924528301886}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"-":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"98":{"ref":98,"tf":0.018867924528301886}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"-":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"-":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"103":{"ref":103,"tf":0.006493506493506494}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"29":{"ref":29,"tf":0.02564102564102564},"71":{"ref":71,"tf":0.008},"118":{"ref":118,"tf":0.009523809523809525},"120":{"ref":120,"tf":0.006289308176100629}}}},"g":{"docs":{},"h":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"127":{"ref":127,"tf":0.006622516556291391},"135":{"ref":135,"tf":0.0019305019305019305}},"e":{"docs":{},"r":{"docs":{"76":{"ref":76,"tf":0.018867924528301886}}},"s":{"docs":{},"t":{"docs":{"113":{"ref":113,"tf":0.02127659574468085}}}}},"l":{"docs":{},"i":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"105":{"ref":105,"tf":0.005847953216374269},"124":{"ref":124,"tf":0.010309278350515464}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}},"i":{"docs":{"84":{"ref":84,"tf":0.01090909090909091},"95":{"ref":95,"tf":0.009345794392523364},"112":{"ref":112,"tf":0.0058823529411764705},"118":{"ref":118,"tf":0.009523809523809525},"123":{"ref":123,"tf":0.01056338028169014},"135":{"ref":135,"tf":0.0019305019305019305}}}}}}},"t":{"docs":{"105":{"ref":105,"tf":0.005847953216374269},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242}}}},"y":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"57":{"ref":57,"tf":0.01179245283018868},"60":{"ref":60,"tf":0.0022727272727272726},"134":{"ref":134,"tf":2.005753739930955},"135":{"ref":135,"tf":0.003861003861003861}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"95":{"ref":95,"tf":0.009345794392523364},"102":{"ref":102,"tf":0.020833333333333332}},"=":{"docs":{},"\"":{"docs":{},"#":{"docs":{},"/":{"docs":{},"m":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"\"":{"docs":{},">":{"docs":{},"g":{"docs":{},"o":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"26":{"ref":26,"tf":0.021739130434782608},"27":{"ref":27,"tf":2.596774193548387},"28":{"ref":28,"tf":2.6538461538461537},"29":{"ref":29,"tf":2.6025641025641026},"32":{"ref":32,"tf":0.04},"54":{"ref":54,"tf":0.002574002574002574},"73":{"ref":73,"tf":0.05},"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.009205983889528193}},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"97":{"ref":97,"tf":0.019230769230769232}}}}}}}},"'":{"docs":{"134":{"ref":134,"tf":0.0023014959723820483}}}}}},"r":{"docs":{},"g":{"docs":{"7":{"ref":7,"tf":0.08},"21":{"ref":21,"tf":0.00980392156862745},"43":{"ref":43,"tf":0.006944444444444444},"54":{"ref":54,"tf":0.001287001287001287},"60":{"ref":60,"tf":0.0022727272727272726},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0023014959723820483}},"e":{"docs":{},"r":{"docs":{"7":{"ref":7,"tf":0.04},"18":{"ref":18,"tf":0.02},"19":{"ref":19,"tf":0.02},"45":{"ref":45,"tf":0.00980392156862745}}},"s":{"docs":{},"t":{"docs":{"90":{"ref":90,"tf":0.010416666666666666}}}}}}},"s":{"docs":{},"t":{"docs":{"20":{"ref":20,"tf":0.02040816326530612},"29":{"ref":29,"tf":0.05128205128205128},"47":{"ref":47,"tf":0.01},"54":{"ref":54,"tf":0.002574002574002574},"59":{"ref":59,"tf":0.002785515320334262},"115":{"ref":115,"tf":0.003246753246753247},"119":{"ref":119,"tf":0.003937007874015748},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":2.5}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"43":{"ref":43,"tf":0.013888888888888888},"52":{"ref":52,"tf":0.010416666666666666},"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0023584905660377358},"59":{"ref":59,"tf":0.008356545961002786},"103":{"ref":103,"tf":0.006493506493506494},"130":{"ref":130,"tf":0.0043859649122807015}}}}},"e":{"docs":{},"r":{"docs":{"57":{"ref":57,"tf":0.0047169811320754715},"135":{"ref":135,"tf":0.003861003861003861}}}}},"n":{"docs":{},"d":{"docs":{"135":{"ref":135,"tf":0.003861003861003861},"136":{"ref":136,"tf":3.333333333333333}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{"48":{"ref":48,"tf":0.023255813953488372},"130":{"ref":130,"tf":0.0043859649122807015}}}}}}}},"i":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}}},"s":{"docs":{},"t":{"docs":{"62":{"ref":62,"tf":0.08333333333333333},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0034782608695652175}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"z":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"3":{"ref":3,"tf":0.019230769230769232},"6":{"ref":6,"tf":0.023809523809523808},"16":{"ref":16,"tf":0.029411764705882353},"19":{"ref":19,"tf":0.02},"21":{"ref":21,"tf":0.00980392156862745},"25":{"ref":25,"tf":0.022988505747126436},"27":{"ref":27,"tf":0.03225806451612903},"28":{"ref":28,"tf":0.038461538461538464},"32":{"ref":32,"tf":0.04},"42":{"ref":42,"tf":3.4047619047619047},"46":{"ref":46,"tf":0.019230769230769232},"52":{"ref":52,"tf":0.020833333333333332},"59":{"ref":59,"tf":0.008356545961002786},"60":{"ref":60,"tf":0.0022727272727272726},"65":{"ref":65,"tf":0.025},"72":{"ref":72,"tf":0.002331002331002331},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.0036363636363636364},"93":{"ref":93,"tf":0.014084507042253521},"115":{"ref":115,"tf":0.012987012987012988},"116":{"ref":116,"tf":0.03333333333333333},"119":{"ref":119,"tf":0.015748031496062992},"123":{"ref":123,"tf":0.007042253521126761},"130":{"ref":130,"tf":0.008771929824561403},"133":{"ref":133,"tf":0.01340033500837521}},"/":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"0":{"ref":0,"tf":0.03225806451612903}}}}}}}},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"133":{"ref":133,"tf":0.005025125628140704}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"10":{"ref":10,"tf":0.07142857142857142},"16":{"ref":16,"tf":0.007352941176470588},"54":{"ref":54,"tf":0.002574002574002574},"126":{"ref":126,"tf":0.011111111111111112},"129":{"ref":129,"tf":0.0017391304347826088},"133":{"ref":133,"tf":0.0016750418760469012}}}},"v":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"83":{"ref":83,"tf":0.02127659574468085},"115":{"ref":115,"tf":0.003246753246753247},"135":{"ref":135,"tf":0.0019305019305019305}}},"k":{"docs":{"71":{"ref":71,"tf":0.008}}},"f":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"104":{"ref":104,"tf":0.00423728813559322}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}}}}},"t":{"docs":{"54":{"ref":54,"tf":0.003861003861003861},"59":{"ref":59,"tf":0.005571030640668524},"88":{"ref":88,"tf":0.02912621359223301},"105":{"ref":105,"tf":0.005847953216374269},"124":{"ref":124,"tf":0.010309278350515464},"130":{"ref":130,"tf":0.0043859649122807015},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}},"'":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"54":{"ref":54,"tf":0.003861003861003861},"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.016713091922005572},"60":{"ref":60,"tf":0.0022727272727272726},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.0019305019305019305}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"60":{"ref":60,"tf":0.0022727272727272726},"84":{"ref":84,"tf":0.0036363636363636364},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}},"s":{"docs":{},"s":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"135":{"ref":135,"tf":0.0019305019305019305}},"e":{"docs":{},"r":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}},"o":{"docs":{},"n":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"1":{"ref":1,"tf":0.045454545454545456},"24":{"ref":24,"tf":0.041666666666666664},"29":{"ref":29,"tf":0.02564102564102564},"34":{"ref":34,"tf":0.016666666666666666},"48":{"ref":48,"tf":0.011627906976744186},"51":{"ref":51,"tf":0.03389830508474576},"54":{"ref":54,"tf":0.002574002574002574},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"59":{"ref":59,"tf":0.011142061281337047},"60":{"ref":60,"tf":0.004545454545454545},"61":{"ref":61,"tf":0.010869565217391304},"65":{"ref":65,"tf":0.025},"70":{"ref":70,"tf":0.023809523809523808},"84":{"ref":84,"tf":0.0036363636363636364},"96":{"ref":96,"tf":0.017857142857142856},"114":{"ref":114,"tf":0.001594896331738437},"129":{"ref":129,"tf":0.0017391304347826088},"133":{"ref":133,"tf":0.0016750418760469012},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}}},"p":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}},"s":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}},"a":{"docs":{},"d":{"docs":{"10":{"ref":10,"tf":0.023809523809523808},"54":{"ref":54,"tf":0.009009009009009009},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.0022727272727272726},"78":{"ref":78,"tf":0.02247191011235955},"84":{"ref":84,"tf":0.01090909090909091},"98":{"ref":98,"tf":0.018867924528301886},"105":{"ref":105,"tf":0.005847953216374269},"107":{"ref":107,"tf":0.012658227848101266},"110":{"ref":110,"tf":0.05102040816326531},"111":{"ref":111,"tf":0.007518796992481203},"115":{"ref":115,"tf":0.006493506493506494},"118":{"ref":118,"tf":0.01904761904761905},"133":{"ref":133,"tf":0.005025125628140704}}}},"s":{"docs":{},"t":{"docs":{"20":{"ref":20,"tf":0.04081632653061224}}},"e":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"30":{"ref":30,"tf":0.02702702702702703},"54":{"ref":54,"tf":0.001287001287001287},"77":{"ref":77,"tf":0.018867924528301886}},"-":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}},"-":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"135":{"ref":135,"tf":0.003861003861003861}}}}}}}}},"c":{"docs":{},"k":{"docs":{"45":{"ref":45,"tf":0.00980392156862745}}},"a":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.005148005148005148},"60":{"ref":60,"tf":0.0022727272727272726},"133":{"ref":133,"tf":0.0033500837520938024}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}},"t":{"docs":{"59":{"ref":59,"tf":0.002785515320334262},"133":{"ref":133,"tf":0.0016750418760469012}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"'":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"133":{"ref":133,"tf":0.0033500837520938024}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}}},"t":{"docs":{"54":{"ref":54,"tf":0.005148005148005148},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.0022727272727272726},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}}},"g":{"docs":{},"i":{"docs":{},"c":{"docs":{"55":{"ref":55,"tf":0.02040816326530612},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242}}}},"o":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}},"n":{"docs":{},"g":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"72":{"ref":72,"tf":0.002331002331002331},"106":{"ref":106,"tf":0.013333333333333334}}}},"v":{"docs":{},"e":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"69":{"ref":69,"tf":0.05},"85":{"ref":85,"tf":0.09090909090909091},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.0019305019305019305}}}}},"i":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}},"n":{"docs":{},"k":{"docs":{"2":{"ref":2,"tf":0.025},"39":{"ref":39,"tf":0.012658227848101266},"57":{"ref":57,"tf":0.0023584905660377358},"95":{"ref":95,"tf":0.009345794392523364},"100":{"ref":100,"tf":0.08333333333333333},"101":{"ref":101,"tf":0.08695652173913043},"102":{"ref":102,"tf":0.0625},"114":{"ref":114,"tf":0.001594896331738437},"123":{"ref":123,"tf":0.0035211267605633804},"130":{"ref":130,"tf":0.0043859649122807015},"134":{"ref":134,"tf":0.0011507479861910242}}},"e":{"docs":{"16":{"ref":16,"tf":0.007352941176470588},"43":{"ref":43,"tf":0.05555555555555555},"56":{"ref":56,"tf":0.003189792663476874},"58":{"ref":58,"tf":0.00273224043715847},"63":{"ref":63,"tf":2},"133":{"ref":133,"tf":0.0016750418760469012}}},"d":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}},"u":{"docs":{},"x":{"docs":{"56":{"ref":56,"tf":0.003189792663476874}}}}},"s":{"docs":{},"t":{"docs":{"14":{"ref":14,"tf":10.091954022988507},"15":{"ref":15,"tf":5.113636363636363},"16":{"ref":16,"tf":5.036764705882353},"17":{"ref":17,"tf":5.076923076923077},"19":{"ref":19,"tf":0.02},"20":{"ref":20,"tf":5.122448979591836},"21":{"ref":21,"tf":0.0196078431372549},"23":{"ref":23,"tf":5.090909090909091},"24":{"ref":24,"tf":0.041666666666666664},"25":{"ref":25,"tf":0.04597701149425287},"26":{"ref":26,"tf":0.021739130434782608},"30":{"ref":30,"tf":0.08108108108108109},"31":{"ref":31,"tf":0.09523809523809523},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"36":{"ref":36,"tf":3.3690476190476186},"37":{"ref":37,"tf":0.125},"38":{"ref":38,"tf":0.011627906976744186},"54":{"ref":54,"tf":0.009009009009009009},"58":{"ref":58,"tf":0.00819672131147541},"59":{"ref":59,"tf":0.005571030640668524},"72":{"ref":72,"tf":0.013986013986013986},"75":{"ref":75,"tf":0.08333333333333333},"80":{"ref":80,"tf":0.07692307692307693},"109":{"ref":109,"tf":0.05128205128205128},"123":{"ref":123,"tf":0.0035211267605633804},"126":{"ref":126,"tf":0.011111111111111112},"133":{"ref":133,"tf":0.005025125628140704},"134":{"ref":134,"tf":0.0011507479861910242}},"-":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"20":{"ref":20,"tf":0.04081632653061224},"21":{"ref":21,"tf":0.00980392156862745},"30":{"ref":30,"tf":0.05405405405405406},"31":{"ref":31,"tf":0.047619047619047616}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"123":{"ref":123,"tf":0.0035211267605633804}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}},"e":{"docs":{},"n":{"docs":{"24":{"ref":24,"tf":0.08333333333333333},"60":{"ref":60,"tf":0.0022727272727272726},"104":{"ref":104,"tf":0.00847457627118644},"108":{"ref":108,"tf":0.10144927536231885},"113":{"ref":113,"tf":0.02127659574468085},"120":{"ref":120,"tf":0.06918238993710692},"130":{"ref":130,"tf":0.0043859649122807015},"132":{"ref":132,"tf":0.01282051282051282},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0023014959723820483}}}},"'":{"docs":{"30":{"ref":30,"tf":0.02702702702702703}}}}},"f":{"docs":{},"e":{"docs":{"59":{"ref":59,"tf":0.002785515320334262},"126":{"ref":126,"tf":0.011111111111111112}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{"15":{"ref":15,"tf":0.022727272727272728}}}}}}},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{"18":{"ref":18,"tf":0.02},"21":{"ref":21,"tf":0.00980392156862745},"54":{"ref":54,"tf":0.001287001287001287},"58":{"ref":58,"tf":0.00273224043715847},"72":{"ref":72,"tf":0.002331002331002331},"129":{"ref":129,"tf":0.0017391304347826088},"133":{"ref":133,"tf":0.0016750418760469012},"136":{"ref":136,"tf":0.005050505050505051}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"19":{"ref":19,"tf":0.02},"57":{"ref":57,"tf":0.0047169811320754715},"68":{"ref":68,"tf":10.083333333333334},"126":{"ref":126,"tf":0.011111111111111112}}}}}},"k":{"docs":{},"e":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"48":{"ref":48,"tf":0.011627906976744186}},"l":{"docs":{},"i":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"129":{"ref":129,"tf":0.0034782608695652175},"133":{"ref":133,"tf":0.0016750418760469012}},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{"38":{"ref":38,"tf":0.023255813953488372}}}}}}}},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"104":{"ref":104,"tf":0.00847457627118644}}}}}},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{"58":{"ref":58,"tf":0.00546448087431694},"84":{"ref":84,"tf":0.0036363636363636364},"136":{"ref":136,"tf":0.005050505050505051}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}}}}},">":{"docs":{},"b":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}},"t":{"docs":{},";":{"docs":{},"a":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"16":{"ref":16,"tf":0.014705882352941176}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"82":{"ref":82,"tf":0.0078125}},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"16":{"ref":16,"tf":0.007352941176470588}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"26":{"ref":26,"tf":0.021739130434782608},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"36":{"ref":36,"tf":0.017857142857142856}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"27":{"ref":27,"tf":0.03225806451612903}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"32":{"ref":32,"tf":0.04}}}}}}}}},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"51":{"ref":51,"tf":0.01694915254237288}}}}},"o":{"docs":{},"n":{"docs":{},"-":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"-":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}}}}}}}}}}},"r":{"docs":{"82":{"ref":82,"tf":0.0078125}},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"123":{"ref":123,"tf":0.0035211267605633804}}}}}}},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}}}}}}},"/":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"-":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"-":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}}}}}}}}}}},"r":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}},"f":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"-":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"-":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}}},"u":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}},"n":{"0":{"0":{"docs":{},"b":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}},"docs":{}},"docs":{},"a":{"docs":{},"v":{"docs":{"82":{"ref":82,"tf":0.0078125},"101":{"ref":101,"tf":0.043478260869565216},"133":{"ref":133,"tf":0.01340033500837521}},"i":{"docs":{},"g":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"39":{"ref":39,"tf":0.02531645569620253},"60":{"ref":60,"tf":0.0022727272727272726},"81":{"ref":81,"tf":0.015151515151515152},"84":{"ref":84,"tf":0.02181818181818182},"95":{"ref":95,"tf":0.009345794392523364},"123":{"ref":123,"tf":0.01056338028169014},"133":{"ref":133,"tf":0.010050251256281407}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}}}}}}}}}},"-":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"-":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"-":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"7":{"docs":{"53":{"ref":53,"tf":0.041666666666666664},"82":{"ref":82,"tf":0.0078125}}},"docs":{}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"102":{"ref":102,"tf":10.083333333333334}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"133":{"ref":133,"tf":0.0033500837520938024}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"82":{"ref":82,"tf":0.0390625},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.0036363636363636364},"98":{"ref":98,"tf":0.018867924528301886},"112":{"ref":112,"tf":0.01764705882352941}},"'":{"docs":{"83":{"ref":83,"tf":0.02127659574468085}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"'":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}}}}},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"123":{"ref":123,"tf":0.0035211267605633804}}}}}}}},"i":{"docs":{},"l":{"docs":{"19":{"ref":19,"tf":0.02},"24":{"ref":24,"tf":0.08333333333333333}}}},"m":{"docs":{},"e":{"docs":{"29":{"ref":29,"tf":0.10256410256410256},"36":{"ref":36,"tf":0.017857142857142856},"50":{"ref":50,"tf":0.017857142857142856},"54":{"ref":54,"tf":0.001287001287001287},"84":{"ref":84,"tf":0.01818181818181818},"106":{"ref":106,"tf":0.02666666666666667},"121":{"ref":121,"tf":0.005813953488372093},"122":{"ref":122,"tf":0.16666666666666666},"123":{"ref":123,"tf":0.0035211267605633804},"124":{"ref":124,"tf":0.010309278350515464},"125":{"ref":125,"tf":0.2},"135":{"ref":135,"tf":0.005791505791505791}},"=":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.006493506493506494}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{"38":{"ref":38,"tf":0.023255813953488372}}}}},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.003189792663476874},"57":{"ref":57,"tf":0.025943396226415096},"60":{"ref":60,"tf":0.00909090909090909},"61":{"ref":61,"tf":0.010869565217391304},"67":{"ref":67,"tf":0.027777777777777776},"74":{"ref":74,"tf":0.005988023952095809},"103":{"ref":103,"tf":0.012987012987012988},"104":{"ref":104,"tf":0.00423728813559322},"128":{"ref":128,"tf":0.017857142857142856},"132":{"ref":132,"tf":0.01282051282051282},"135":{"ref":135,"tf":0.023166023166023165},"136":{"ref":136,"tf":0.010101010101010102}},"e":{"docs":{},"-":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}},"f":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{"61":{"ref":61,"tf":0.010869565217391304}}}}}},"t":{"docs":{},"o":{"docs":{},"-":{"docs":{},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}}}}}},"/":{"docs":{},"h":{"docs":{},"y":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"67":{"ref":67,"tf":0.027777777777777776}}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{"3":{"ref":3,"tf":0.019230769230769232},"16":{"ref":16,"tf":0.007352941176470588},"45":{"ref":45,"tf":0.00980392156862745},"54":{"ref":54,"tf":0.007722007722007722},"56":{"ref":56,"tf":0.017543859649122806},"57":{"ref":57,"tf":0.009433962264150943},"58":{"ref":58,"tf":0.01912568306010929},"59":{"ref":59,"tf":0.019498607242339833},"60":{"ref":60,"tf":0.004545454545454545},"63":{"ref":63,"tf":0.024390243902439025},"84":{"ref":84,"tf":0.0036363636363636364},"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.012987012987012988},"107":{"ref":107,"tf":0.012658227848101266},"111":{"ref":111,"tf":0.007518796992481203},"121":{"ref":121,"tf":0.005813953488372093},"126":{"ref":126,"tf":0.022222222222222223},"128":{"ref":128,"tf":0.017857142857142856},"129":{"ref":129,"tf":0.010434782608695653},"130":{"ref":130,"tf":0.017543859649122806},"132":{"ref":132,"tf":0.02564102564102564},"133":{"ref":133,"tf":0.006700167504187605},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.009652509652509652}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"130":{"ref":130,"tf":0.0043859649122807015}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"19":{"ref":19,"tf":0.02}}}}}}}}},"t":{"docs":{"36":{"ref":36,"tf":0.017857142857142856}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"84":{"ref":84,"tf":0.0036363636363636364}}}}}}},"w":{"docs":{"54":{"ref":54,"tf":0.019305019305019305},"55":{"ref":55,"tf":0.02040816326530612},"56":{"ref":56,"tf":0.006379585326953748},"58":{"ref":58,"tf":0.00819672131147541},"59":{"ref":59,"tf":0.016713091922005572},"71":{"ref":71,"tf":0.008},"105":{"ref":105,"tf":0.017543859649122806},"112":{"ref":112,"tf":0.023529411764705882},"114":{"ref":114,"tf":0.001594896331738437},"129":{"ref":129,"tf":0.0034782608695652175},"130":{"ref":130,"tf":0.008771929824561403},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.004602991944764097},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"88":{"ref":88,"tf":0.009708737864077669}}}}}},"e":{"docs":{},"r":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"56":{"ref":56,"tf":0.003189792663476874},"57":{"ref":57,"tf":0.0023584905660377358},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.003861003861003861}}}}}}}}},"x":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.004784688995215311},"84":{"ref":84,"tf":0.0036363636363636364},"102":{"ref":102,"tf":0.020833333333333332},"117":{"ref":117,"tf":0.022727272727272728},"119":{"ref":119,"tf":0.003937007874015748},"123":{"ref":123,"tf":0.0035211267605633804},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.005025125628140704}}}},"a":{"docs":{},"r":{"docs":{"78":{"ref":78,"tf":0.011235955056179775},"123":{"ref":123,"tf":0.0035211267605633804},"134":{"ref":134,"tf":0.0011507479861910242}}}},"s":{"docs":{},"t":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}},"u":{"docs":{},"e":{"docs":{"133":{"ref":133,"tf":0.0033500837520938024}}}}},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{"8":{"ref":8,"tf":0.02702702702702703},"9":{"ref":9,"tf":0.02702702702702703},"28":{"ref":28,"tf":0.038461538461538464},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"43":{"ref":43,"tf":0.006944444444444444},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.00980392156862745},"46":{"ref":46,"tf":0.019230769230769232},"47":{"ref":47,"tf":0.01},"48":{"ref":48,"tf":0.011627906976744186},"51":{"ref":51,"tf":0.01694915254237288},"56":{"ref":56,"tf":0.012759170653907496},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.004545454545454545},"71":{"ref":71,"tf":0.008},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"82":{"ref":82,"tf":0.0078125},"96":{"ref":96,"tf":0.017857142857142856},"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.012987012987012988},"104":{"ref":104,"tf":0.00423728813559322},"111":{"ref":111,"tf":0.007518796992481203},"115":{"ref":115,"tf":0.003246753246753247},"127":{"ref":127,"tf":0.006622516556291391},"132":{"ref":132,"tf":0.01282051282051282},"135":{"ref":135,"tf":0.0019305019305019305}}},"i":{"docs":{},"c":{"docs":{"27":{"ref":27,"tf":0.03225806451612903},"44":{"ref":44,"tf":0.018518518518518517},"50":{"ref":50,"tf":0.008928571428571428},"72":{"ref":72,"tf":0.002331002331002331},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0023014959723820483}}}},"h":{"docs":{"28":{"ref":28,"tf":0.038461538461538464},"116":{"ref":116,"tf":0.005555555555555556},"129":{"ref":129,"tf":0.0017391304347826088}}}},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{"22":{"ref":22,"tf":0.024390243902439025},"56":{"ref":56,"tf":0.001594896331738437},"102":{"ref":102,"tf":0.020833333333333332},"104":{"ref":104,"tf":0.00423728813559322},"114":{"ref":114,"tf":0.001594896331738437},"123":{"ref":123,"tf":0.0035211267605633804}}}}}},"v":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{"25":{"ref":25,"tf":0.022988505747126436}}}}}},"-":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"53":{"ref":53,"tf":0.041666666666666664}}}}}}},"w":{"docs":{"54":{"ref":54,"tf":0.005148005148005148},"56":{"ref":56,"tf":0.006379585326953748},"57":{"ref":57,"tf":0.0047169811320754715},"58":{"ref":58,"tf":0.01366120218579235},"59":{"ref":59,"tf":0.013927576601671309},"60":{"ref":60,"tf":0.004545454545454545},"63":{"ref":63,"tf":0.024390243902439025},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.017543859649122806},"132":{"ref":132,"tf":0.01282051282051282},"133":{"ref":133,"tf":0.005025125628140704},"134":{"ref":134,"tf":0.004602991944764097},"136":{"ref":136,"tf":0.005050505050505051}}},"d":{"docs":{},"e":{"docs":{"119":{"ref":119,"tf":0.007874015748031496}},".":{"docs":{},"j":{"docs":{"63":{"ref":63,"tf":0.024390243902439025},"127":{"ref":127,"tf":0.006622516556291391}},"s":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"119":{"ref":119,"tf":0.007874015748031496}}}}}}},"n":{"docs":{},"e":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"104":{"ref":104,"tf":0.00423728813559322},"133":{"ref":133,"tf":0.0016750418760469012}}},"-":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"105":{"ref":105,"tf":0.005847953216374269}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{"110":{"ref":110,"tf":0.01020408163265306}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"10":{"ref":10,"tf":0.023809523809523808},"23":{"ref":23,"tf":0.06060606060606061},"43":{"ref":43,"tf":0.006944444444444444},"72":{"ref":72,"tf":0.004662004662004662},"91":{"ref":91,"tf":0.0196078431372549},"94":{"ref":94,"tf":0.011111111111111112},"95":{"ref":95,"tf":0.009345794392523364},"110":{"ref":110,"tf":0.02040816326530612},"113":{"ref":113,"tf":0.0070921985815602835},"115":{"ref":115,"tf":0.01948051948051948},"117":{"ref":117,"tf":0.045454545454545456},"118":{"ref":118,"tf":0.01904761904761905},"119":{"ref":119,"tf":0.05905511811023622}}}}},"e":{"docs":{},"r":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"b":{"docs":{"97":{"ref":97,"tf":0.019230769230769232}}},"l":{"docs":{},"l":{"docs":{"106":{"ref":106,"tf":0.013333333333333334},"114":{"ref":114,"tf":0.001594896331738437},"119":{"ref":119,"tf":0.007874015748031496}}}}},"g":{"docs":{},"-":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"19":{"ref":19,"tf":0.02},"54":{"ref":54,"tf":0.001287001287001287},"117":{"ref":117,"tf":0.007575757575757576}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"95":{"ref":95,"tf":0.009345794392523364},"134":{"ref":134,"tf":0.005753739930955121}},"=":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"(":{"docs":{},")":{"docs":{},"\"":{"docs":{},">":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"<":{"docs":{},"/":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"(":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"72":{"ref":72,"tf":0.004662004662004662}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}}}},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{"72":{"ref":72,"tf":0.004662004662004662}}}}}},"i":{"docs":{},"f":{"docs":{"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"78":{"ref":78,"tf":0.011235955056179775}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}}}}},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"95":{"ref":95,"tf":0.009345794392523364},"134":{"ref":134,"tf":0.0011507479861910242}}}}}}},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{"134":{"ref":134,"tf":0.006904487917146145}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{"104":{"ref":104,"tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"133":{"ref":133,"tf":0.006700167504187605}}}}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{"19":{"ref":19,"tf":0.02},"24":{"ref":24,"tf":0.08333333333333333}}}},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{"19":{"ref":19,"tf":0.02}}}}}}},"c":{"docs":{},"e":{"docs":{"48":{"ref":48,"tf":0.011627906976744186},"58":{"ref":58,"tf":0.00273224043715847},"133":{"ref":133,"tf":0.0016750418760469012}}}},"f":{"docs":{},"t":{"docs":{},"i":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{"135":{"ref":135,"tf":0.003861003861003861}}}}}}},"-":{"1":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}},"docs":{}},"p":{"docs":{},"m":{"docs":{"56":{"ref":56,"tf":0.003189792663476874},"63":{"ref":63,"tf":0.024390243902439025},"127":{"ref":127,"tf":0.006622516556291391}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"105":{"ref":105,"tf":0.005847953216374269},"110":{"ref":110,"tf":0.01020408163265306}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"2":{"ref":2,"tf":0.025},"3":{"ref":3,"tf":0.019230769230769232},"4":{"ref":4,"tf":0.022727272727272728},"38":{"ref":38,"tf":0.023255813953488372},"49":{"ref":49,"tf":0.08333333333333333},"56":{"ref":56,"tf":0.001594896331738437},"60":{"ref":60,"tf":0.004545454545454545},"64":{"ref":64,"tf":0.0625},"71":{"ref":71,"tf":0.016},"72":{"ref":72,"tf":0.002331002331002331},"74":{"ref":74,"tf":0.059880239520958084},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"78":{"ref":78,"tf":0.02247191011235955},"80":{"ref":80,"tf":0.038461538461538464},"82":{"ref":82,"tf":0.015625},"84":{"ref":84,"tf":0.0036363636363636364},"88":{"ref":88,"tf":0.05825242718446602},"89":{"ref":89,"tf":0.022727272727272728},"90":{"ref":90,"tf":0.10416666666666667},"91":{"ref":91,"tf":0.0392156862745098},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.07777777777777778},"95":{"ref":95,"tf":0.08411214953271028},"96":{"ref":96,"tf":0.017857142857142856},"97":{"ref":97,"tf":0.019230769230769232},"98":{"ref":98,"tf":0.05660377358490566},"105":{"ref":105,"tf":0.017543859649122806},"109":{"ref":109,"tf":0.05128205128205128},"110":{"ref":110,"tf":0.02040816326530612},"111":{"ref":111,"tf":0.05263157894736842},"112":{"ref":112,"tf":0.01764705882352941},"113":{"ref":113,"tf":0.014184397163120567},"114":{"ref":114,"tf":0.03668261562998405},"115":{"ref":115,"tf":0.01948051948051948},"116":{"ref":116,"tf":0.016666666666666666},"117":{"ref":117,"tf":0.015151515151515152},"118":{"ref":118,"tf":0.009523809523809525},"120":{"ref":120,"tf":0.012578616352201259},"121":{"ref":121,"tf":0.011627906976744186},"124":{"ref":124,"tf":0.020618556701030927},"134":{"ref":134,"tf":0.0011507479861910242}}}},"m":{"docs":{"58":{"ref":58,"tf":0.00546448087431694}}}}},"e":{"docs":{},"n":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"54":{"ref":54,"tf":0.003861003861003861},"56":{"ref":56,"tf":0.003189792663476874},"57":{"ref":57,"tf":0.014150943396226415},"60":{"ref":60,"tf":0.011363636363636364},"68":{"ref":68,"tf":0.027777777777777776},"100":{"ref":100,"tf":0.08333333333333333},"101":{"ref":101,"tf":0.043478260869565216},"103":{"ref":103,"tf":0.006493506493506494},"105":{"ref":105,"tf":0.011695906432748537},"109":{"ref":109,"tf":0.008547008547008548},"113":{"ref":113,"tf":0.0070921985815602835},"114":{"ref":114,"tf":0.001594896331738437},"116":{"ref":116,"tf":0.06111111111111111},"123":{"ref":123,"tf":0.0035211267605633804},"128":{"ref":128,"tf":0.017857142857142856},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0016750418760469012},"135":{"ref":135,"tf":0.003861003861003861},"136":{"ref":136,"tf":0.005050505050505051}},"-":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"51":{"ref":51,"tf":0.01694915254237288}}}}}}}},"e":{"docs":{},"d":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"116":{"ref":116,"tf":0.011111111111111112}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}}}}},"r":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}}},"a":{"docs":{},"c":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}},"u":{"docs":{},"t":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"9":{"ref":9,"tf":0.02702702702702703},"14":{"ref":14,"tf":0.011494252873563218},"26":{"ref":26,"tf":0.021739130434782608},"43":{"ref":43,"tf":0.013888888888888888},"54":{"ref":54,"tf":2.501287001287001},"55":{"ref":55,"tf":0.02040816326530612},"56":{"ref":56,"tf":0.003189792663476874},"58":{"ref":58,"tf":0.00819672131147541},"59":{"ref":59,"tf":0.005571030640668524},"60":{"ref":60,"tf":0.00909090909090909},"61":{"ref":61,"tf":0.010869565217391304},"63":{"ref":63,"tf":0.024390243902439025},"69":{"ref":69,"tf":0.05},"71":{"ref":71,"tf":0.016},"93":{"ref":93,"tf":0.014084507042253521},"103":{"ref":103,"tf":0.012987012987012988},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.005847953216374269},"112":{"ref":112,"tf":0.0058823529411764705},"126":{"ref":126,"tf":0.011111111111111112},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.013157894736842105},"134":{"ref":134,"tf":0.005753739930955121},"135":{"ref":135,"tf":0.003861003861003861},"136":{"ref":136,"tf":0.005050505050505051}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"8":{"ref":8,"tf":5.081081081081081}}}}},"e":{"docs":{},"r":{"docs":{"52":{"ref":52,"tf":0.010416666666666666}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"129":{"ref":129,"tf":0.0034782608695652175}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"1":{"ref":1,"tf":0.045454545454545456},"71":{"ref":71,"tf":0.008},"113":{"ref":113,"tf":0.0070921985815602835}}}}}},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{"15":{"ref":15,"tf":0.022727272727272728},"21":{"ref":21,"tf":0.00980392156862745},"84":{"ref":84,"tf":0.0036363636363636364}}}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"132":{"ref":132,"tf":0.01282051282051282}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"36":{"ref":36,"tf":0.017857142857142856},"47":{"ref":47,"tf":0.01},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.003189792663476874},"57":{"ref":57,"tf":0.0047169811320754715},"58":{"ref":58,"tf":0.00273224043715847},"61":{"ref":61,"tf":0.021739130434782608},"103":{"ref":103,"tf":0.006493506493506494},"104":{"ref":104,"tf":0.00423728813559322},"114":{"ref":114,"tf":0.001594896331738437},"124":{"ref":124,"tf":0.010309278350515464},"130":{"ref":130,"tf":0.0043859649122807015}}}}}},"s":{"docs":{"56":{"ref":56,"tf":0.006379585326953748},"60":{"ref":60,"tf":0.00909090909090909},"127":{"ref":127,"tf":0.006622516556291391}},"'":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"51":{"ref":51,"tf":0.01694915254237288},"57":{"ref":57,"tf":0.0047169811320754715},"59":{"ref":59,"tf":0.002785515320334262},"107":{"ref":107,"tf":0.012658227848101266},"111":{"ref":111,"tf":0.007518796992481203},"116":{"ref":116,"tf":0.005555555555555556},"124":{"ref":124,"tf":0.010309278350515464},"126":{"ref":126,"tf":0.011111111111111112},"127":{"ref":127,"tf":0.006622516556291391},"135":{"ref":135,"tf":0.003861003861003861}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"61":{"ref":61,"tf":10},"126":{"ref":126,"tf":0.011111111111111112},"127":{"ref":127,"tf":0.013245033112582781}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"65":{"ref":65,"tf":0.025},"113":{"ref":113,"tf":0.0070921985815602835},"129":{"ref":129,"tf":0.008695652173913044},"134":{"ref":134,"tf":0.0011507479861910242}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"74":{"ref":74,"tf":0.017964071856287425},"103":{"ref":103,"tf":0.012987012987012988},"123":{"ref":123,"tf":0.0035211267605633804}},"-":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"74":{"ref":74,"tf":0.011976047904191617}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{"107":{"ref":107,"tf":0.012658227848101266},"110":{"ref":110,"tf":0.01020408163265306},"124":{"ref":124,"tf":0.010309278350515464}}}}}}}},"k":{"docs":{"114":{"ref":114,"tf":0.01594896331738437}},"a":{"docs":{},"i":{"docs":{"18":{"ref":18,"tf":0.02},"54":{"ref":54,"tf":0.001287001287001287}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"114":{"ref":114,"tf":0.004784688995215311}}}}},"y":{"docs":{},"p":{"docs":{"114":{"ref":114,"tf":0.004784688995215311}}}}}},"n":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"38":{"ref":38,"tf":0.011627906976744186},"50":{"ref":50,"tf":0.008928571428571428},"54":{"ref":54,"tf":0.005148005148005148},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.005571030640668524},"60":{"ref":60,"tf":0.006818181818181818},"61":{"ref":61,"tf":0.010869565217391304},"72":{"ref":72,"tf":0.004662004662004662},"84":{"ref":84,"tf":0.01090909090909091},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.014084507042253521},"105":{"ref":105,"tf":0.005847953216374269},"106":{"ref":106,"tf":0.013333333333333334},"107":{"ref":107,"tf":0.02531645569620253},"112":{"ref":112,"tf":0.0058823529411764705},"113":{"ref":113,"tf":0.014184397163120567},"114":{"ref":114,"tf":0.006379585326953748},"123":{"ref":123,"tf":0.0035211267605633804},"127":{"ref":127,"tf":0.013245033112582781},"129":{"ref":129,"tf":0.006956521739130435},"132":{"ref":132,"tf":0.01282051282051282},"133":{"ref":133,"tf":0.0033500837520938024},"134":{"ref":134,"tf":0.005753739930955121},"135":{"ref":135,"tf":0.011583011583011582},"136":{"ref":136,"tf":0.010101010101010102}},"c":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00273224043715847},"60":{"ref":60,"tf":0.0022727272727272726},"78":{"ref":78,"tf":0.011235955056179775},"104":{"ref":104,"tf":0.00423728813559322},"113":{"ref":113,"tf":0.0070921985815602835},"121":{"ref":121,"tf":0.011627906976744186},"129":{"ref":129,"tf":0.0052173913043478265},"133":{"ref":133,"tf":0.0033500837520938024},"134":{"ref":134,"tf":0.0011507479861910242}}},"-":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"95":{"ref":95,"tf":0.009345794392523364}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"74":{"ref":74,"tf":0.005988023952095809},"90":{"ref":90,"tf":0.010416666666666666}},"l":{"docs":{},"-":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"74":{"ref":74,"tf":0.005988023952095809}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"-":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"94":{"ref":94,"tf":0.011111111111111112},"133":{"ref":133,"tf":0.0016750418760469012}},"e":{"docs":{},"d":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"95":{"ref":95,"tf":0.009345794392523364}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"78":{"ref":78,"tf":0.033707865168539325}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{"88":{"ref":88,"tf":0.009708737864077669}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"88":{"ref":88,"tf":0.009708737864077669},"90":{"ref":90,"tf":0.010416666666666666}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"89":{"ref":89,"tf":0.022727272727272728}}}}}}}},"t":{"docs":{},"o":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"83":{"ref":83,"tf":0.02127659574468085}}},"a":{"docs":{},"p":{"docs":{"114":{"ref":114,"tf":0.007974481658692184},"136":{"ref":136,"tf":0.010101010101010102}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"106":{"ref":106,"tf":0.013333333333333334}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"106":{"ref":106,"tf":0.013333333333333334}}}}}}},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"108":{"ref":108,"tf":0.014492753623188406}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"113":{"ref":113,"tf":0.0070921985815602835}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"45":{"ref":45,"tf":0.0196078431372549},"47":{"ref":47,"tf":0.01},"57":{"ref":57,"tf":0.0023584905660377358},"129":{"ref":129,"tf":0.0017391304347826088}},"w":{"docs":{},"i":{"docs":{},"s":{"docs":{"97":{"ref":97,"tf":0.019230769230769232},"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"46":{"ref":46,"tf":3.3910256410256405},"119":{"ref":119,"tf":0.015748031496062992}}}}},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{"55":{"ref":55,"tf":0.02040816326530612},"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00273224043715847},"62":{"ref":62,"tf":0.041666666666666664},"128":{"ref":128,"tf":0.017857142857142856}}}}},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"108":{"ref":108,"tf":0.014492753623188406}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"113":{"ref":113,"tf":0.0070921985815602835}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"131":{"ref":131,"tf":0.05555555555555555},"135":{"ref":135,"tf":0.005791505791505791}}}}}},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"71":{"ref":71,"tf":0.024},"72":{"ref":72,"tf":0.011655011655011656},"105":{"ref":105,"tf":0.023391812865497075},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.03007518796992481},"112":{"ref":112,"tf":0.0058823529411764705},"114":{"ref":114,"tf":0.012759170653907496},"115":{"ref":115,"tf":0.006493506493506494},"119":{"ref":119,"tf":0.015748031496062992},"120":{"ref":120,"tf":0.006289308176100629},"121":{"ref":121,"tf":0.011627906976744186}}}}}},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{"103":{"ref":103,"tf":0.006493506493506494}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"135":{"ref":135,"tf":0.003861003861003861}}}}}}},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"u":{"docs":{"105":{"ref":105,"tf":0.005847953216374269},"124":{"ref":124,"tf":0.010309278350515464}}}}}}},"c":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{"102":{"ref":102,"tf":0.020833333333333332},"113":{"ref":113,"tf":0.0070921985815602835}}}}}},"l":{"docs":{"133":{"ref":133,"tf":0.006700167504187605}},"d":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705},"129":{"ref":129,"tf":0.0017391304347826088}}}},"h":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}}}},"r":{"2":{"docs":{},"-":{"docs":{},"d":{"2":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}},"docs":{}}}},"docs":{},"e":{"docs":{"114":{"ref":114,"tf":0.003189792663476874}},"g":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"3":{"ref":3,"tf":0.019230769230769232},"39":{"ref":39,"tf":0.012658227848101266},"134":{"ref":134,"tf":0.0023014959723820483}}}},"s":{"docs":{},"t":{"docs":{"113":{"ref":113,"tf":0.014184397163120567}},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"113":{"ref":113,"tf":0.0070921985815602835}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"2":{"ref":2,"tf":0.025}}}}},"o":{"docs":{},"v":{"docs":{"6":{"ref":6,"tf":0.023809523809523808},"9":{"ref":9,"tf":0.02702702702702703},"12":{"ref":12,"tf":0.05},"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00273224043715847},"71":{"ref":71,"tf":0.016},"80":{"ref":80,"tf":0.007692307692307693},"104":{"ref":104,"tf":0.025423728813559324},"108":{"ref":108,"tf":0.043478260869565216},"111":{"ref":111,"tf":0.007518796992481203},"113":{"ref":113,"tf":0.0070921985815602835},"120":{"ref":120,"tf":0.012578616352201259},"123":{"ref":123,"tf":0.0035211267605633804},"128":{"ref":128,"tf":0.017857142857142856},"132":{"ref":132,"tf":2.5128205128205128},"134":{"ref":134,"tf":0.01611047180667434}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"]":{"docs":{},"(":{"docs":{},"#":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"71":{"ref":71,"tf":0.008}}}}}}}}}}}}}},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"60":{"ref":60,"tf":0.004545454545454545},"131":{"ref":131,"tf":2.0555555555555554}}}},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364},"115":{"ref":115,"tf":0.012987012987012988},"134":{"ref":134,"tf":0.0023014959723820483}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"115":{"ref":115,"tf":0.006493506493506494}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"2":{"ref":2,"tf":0.025}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"48":{"ref":48,"tf":5.034883720930233},"57":{"ref":57,"tf":0.0023584905660377358},"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0011507479861910242}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"-":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"-":{"docs":{},"b":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"48":{"ref":48,"tf":0.011627906976744186}}}}}}}}}}}},"l":{"docs":{},"g":{"docs":{"48":{"ref":48,"tf":0.011627906976744186}}}},"m":{"docs":{},"d":{"docs":{"48":{"ref":48,"tf":0.011627906976744186}}}},"s":{"docs":{},"m":{"docs":{"48":{"ref":48,"tf":0.023255813953488372}}}}}}}}},"d":{"docs":{"114":{"ref":114,"tf":0.001594896331738437},"124":{"ref":124,"tf":0.010309278350515464},"133":{"ref":133,"tf":0.0016750418760469012}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"8":{"ref":8,"tf":0.02702702702702703},"9":{"ref":9,"tf":0.02702702702702703},"103":{"ref":103,"tf":0.006493506493506494}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{"72":{"ref":72,"tf":0.004662004662004662},"104":{"ref":104,"tf":0.00423728813559322}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{"35":{"ref":35,"tf":0.01818181818181818}}}}}}},"t":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"51":{"ref":51,"tf":0.01694915254237288},"130":{"ref":130,"tf":0.0043859649122807015}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}},"e":{"docs":{},"t":{"docs":{"52":{"ref":52,"tf":0.010416666666666666}}}},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{"71":{"ref":71,"tf":0.024},"72":{"ref":72,"tf":0.002331002331002331},"111":{"ref":111,"tf":0.007518796992481203},"113":{"ref":113,"tf":0.0070921985815602835},"114":{"ref":114,"tf":0.012759170653907496}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"126":{"ref":126,"tf":0.011111111111111112},"129":{"ref":129,"tf":0.0017391304347826088}}}}}},"i":{"docs":{},"z":{"docs":{"115":{"ref":115,"tf":0.003246753246753247},"117":{"ref":117,"tf":0.007575757575757576}}}},"a":{"docs":{},"v":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}},"l":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"134":{"ref":134,"tf":0.0011507479861910242}},"a":{"docs":{},"t":{"docs":{"3":{"ref":3,"tf":0.019230769230769232},"26":{"ref":26,"tf":0.021739130434782608},"80":{"ref":80,"tf":0.007692307692307693},"115":{"ref":115,"tf":0.003246753246753247}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.02459016393442623},"61":{"ref":61,"tf":0.010869565217391304},"62":{"ref":62,"tf":0.16666666666666666},"68":{"ref":68,"tf":0.027777777777777776},"107":{"ref":107,"tf":0.05063291139240506},"120":{"ref":120,"tf":0.006289308176100629},"129":{"ref":129,"tf":0.006956521739130435},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}}}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"3":{"ref":3,"tf":0.019230769230769232},"43":{"ref":43,"tf":0.006944444444444444},"50":{"ref":50,"tf":0.008928571428571428},"52":{"ref":52,"tf":0.010416666666666666},"56":{"ref":56,"tf":0.003189792663476874},"60":{"ref":60,"tf":0.0022727272727272726},"61":{"ref":61,"tf":0.010869565217391304},"80":{"ref":80,"tf":0.015384615384615385},"84":{"ref":84,"tf":0.0036363636363636364},"99":{"ref":99,"tf":0.02127659574468085},"107":{"ref":107,"tf":0.02531645569620253},"114":{"ref":114,"tf":0.001594896331738437},"124":{"ref":124,"tf":0.010309278350515464},"127":{"ref":127,"tf":0.013245033112582781},"129":{"ref":129,"tf":0.0017391304347826088}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"136":{"ref":136,"tf":0.005050505050505051}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}}}}}}}}}}}}}}}}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"m":{"docs":{},"o":{"docs":{},"z":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"e":{"docs":{},"n":{"docs":{},"-":{"docs":{},"u":{"docs":{},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"38":{"ref":38,"tf":0.023255813953488372},"50":{"ref":50,"tf":0.008928571428571428},"105":{"ref":105,"tf":0.005847953216374269},"124":{"ref":124,"tf":0.010309278350515464}},"u":{"docs":{},"c":{"docs":{"10":{"ref":10,"tf":0.023809523809523808},"56":{"ref":56,"tf":0.001594896331738437}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"10":{"ref":10,"tf":0.047619047619047616},"14":{"ref":14,"tf":0.011494252873563218},"80":{"ref":80,"tf":0.023076923076923078},"89":{"ref":89,"tf":0.022727272727272728},"109":{"ref":109,"tf":0.017094017094017096},"123":{"ref":123,"tf":0.0035211267605633804}}}}}}},"a":{"docs":{},"d":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"59":{"ref":59,"tf":0.002785515320334262},"61":{"ref":61,"tf":0.010869565217391304},"72":{"ref":72,"tf":0.002331002331002331},"74":{"ref":74,"tf":0.005988023952095809},"134":{"ref":134,"tf":0.0011507479861910242}},"i":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00819672131147541},"59":{"ref":59,"tf":0.002785515320334262},"113":{"ref":113,"tf":0.02127659574468085},"119":{"ref":119,"tf":0.007874015748031496},"121":{"ref":121,"tf":0.023255813953488372},"126":{"ref":126,"tf":0.011111111111111112},"129":{"ref":129,"tf":0.0017391304347826088},"132":{"ref":132,"tf":0.02564102564102564}}},"y":{"docs":{},"(":{"docs":{},"[":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"113":{"ref":113,"tf":0.0070921985815602835}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"119":{"ref":119,"tf":0.003937007874015748},"121":{"ref":121,"tf":0.005813953488372093}}}}}}}}}}},"-":{"docs":{},"m":{"docs":{},"a":{"docs":{},"d":{"docs":{"127":{"ref":127,"tf":0.006622516556291391}}}}}}},"e":{"docs":{},"r":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"59":{"ref":59,"tf":0.002785515320334262},"126":{"ref":126,"tf":0.011111111111111112},"130":{"ref":130,"tf":0.0043859649122807015}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"21":{"ref":21,"tf":0.00980392156862745}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"50":{"ref":50,"tf":0.008928571428571428}}}},"z":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}}}},"l":{"docs":{},"i":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0023584905660377358},"59":{"ref":59,"tf":0.002785515320334262},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.005791505791505791},"136":{"ref":136,"tf":0.010101010101010102}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"59":{"ref":59,"tf":0.002785515320334262},"74":{"ref":74,"tf":0.005988023952095809},"103":{"ref":103,"tf":0.01948051948051948},"114":{"ref":114,"tf":0.001594896331738437},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"c":{"docs":{},"h":{"docs":{"78":{"ref":78,"tf":0.02247191011235955}}},"t":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"88":{"ref":88,"tf":0.04854368932038835}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"-":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"88":{"ref":88,"tf":0.009708737864077669}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"88":{"ref":88,"tf":0.009708737864077669}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"58":{"ref":58,"tf":0.00546448087431694},"66":{"ref":66,"tf":0.043478260869565216},"126":{"ref":126,"tf":0.011111111111111112},"129":{"ref":129,"tf":0.0017391304347826088}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"16":{"ref":16,"tf":0.014705882352941176}}}},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"50":{"ref":50,"tf":0.008928571428571428},"56":{"ref":56,"tf":0.004784688995215311},"57":{"ref":57,"tf":0.0047169811320754715},"60":{"ref":60,"tf":0.004545454545454545},"61":{"ref":61,"tf":0.010869565217391304},"72":{"ref":72,"tf":0.002331002331002331},"74":{"ref":74,"tf":0.005988023952095809},"82":{"ref":82,"tf":0.0078125},"84":{"ref":84,"tf":0.0036363636363636364},"103":{"ref":103,"tf":0.006493506493506494},"129":{"ref":129,"tf":0.006956521739130435},"132":{"ref":132,"tf":0.01282051282051282},"134":{"ref":134,"tf":0.0034522439585730723}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"56":{"ref":56,"tf":0.003189792663476874},"57":{"ref":57,"tf":0.0023584905660377358},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242},"136":{"ref":136,"tf":0.005050505050505051}}}},"i":{"docs":{},"v":{"docs":{"26":{"ref":26,"tf":0.021739130434782608},"44":{"ref":44,"tf":0.018518518518518517},"119":{"ref":119,"tf":0.003937007874015748},"130":{"ref":130,"tf":0.0043859649122807015},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}},"p":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}},"t":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"119":{"ref":119,"tf":0.003937007874015748},"130":{"ref":130,"tf":0.013157894736842105}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},"x":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"52":{"ref":52,"tf":0.020833333333333332},"119":{"ref":119,"tf":0.007874015748031496}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"61":{"ref":61,"tf":0.010869565217391304},"84":{"ref":84,"tf":0.0036363636363636364},"130":{"ref":130,"tf":0.008771929824561403}}}}},"o":{"docs":{"68":{"ref":68,"tf":0.027777777777777776},"129":{"ref":129,"tf":0.0034782608695652175}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"72":{"ref":72,"tf":0.009324009324009324},"106":{"ref":106,"tf":0.02666666666666667},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"u":{"docs":{},"s":{"docs":{"52":{"ref":52,"tf":0.010416666666666666},"129":{"ref":129,"tf":0.0034782608695652175},"134":{"ref":134,"tf":0.0011507479861910242}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"106":{"ref":106,"tf":0.013333333333333334}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"53":{"ref":53,"tf":0.041666666666666664},"106":{"ref":106,"tf":0.013333333333333334}}}},"a":{"docs":{},"l":{"docs":{"80":{"ref":80,"tf":0.007692307692307693}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"54":{"ref":54,"tf":0.007722007722007722},"71":{"ref":71,"tf":0.032},"72":{"ref":72,"tf":0.002331002331002331},"81":{"ref":81,"tf":0.015151515151515152},"105":{"ref":105,"tf":0.023391812865497075},"109":{"ref":109,"tf":0.03418803418803419},"111":{"ref":111,"tf":0.015037593984962405},"112":{"ref":112,"tf":0.029411764705882353},"113":{"ref":113,"tf":0.014184397163120567},"114":{"ref":114,"tf":0.012759170653907496},"115":{"ref":115,"tf":0.00974025974025974},"116":{"ref":116,"tf":0.03888888888888889},"117":{"ref":117,"tf":0.030303030303030304},"118":{"ref":118,"tf":0.01904761904761905},"119":{"ref":119,"tf":0.031496062992125984},"121":{"ref":121,"tf":0.05232558139534884},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0016750418760469012},"136":{"ref":136,"tf":0.015151515151515152}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"107":{"ref":107,"tf":0.05063291139240506}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"72":{"ref":72,"tf":0.013986013986013986},"84":{"ref":84,"tf":0.01090909090909091}}}}},"a":{"docs":{},"m":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"129":{"ref":129,"tf":0.0034782608695652175}}},"t":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"3":{"ref":3,"tf":0.07692307692307693},"6":{"ref":6,"tf":0.023809523809523808},"14":{"ref":14,"tf":0.011494252873563218},"16":{"ref":16,"tf":0.051470588235294115},"19":{"ref":19,"tf":0.02},"21":{"ref":21,"tf":0.00980392156862745},"27":{"ref":27,"tf":0.03225806451612903},"43":{"ref":43,"tf":0.006944444444444444},"48":{"ref":48,"tf":0.011627906976744186},"52":{"ref":52,"tf":0.020833333333333332},"54":{"ref":54,"tf":0.002574002574002574},"56":{"ref":56,"tf":0.001594896331738437},"59":{"ref":59,"tf":0.005571030640668524},"60":{"ref":60,"tf":0.004545454545454545},"63":{"ref":63,"tf":0.024390243902439025},"72":{"ref":72,"tf":0.002331002331002331},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"82":{"ref":82,"tf":0.0078125},"84":{"ref":84,"tf":0.0036363636363636364},"93":{"ref":93,"tf":0.014084507042253521},"116":{"ref":116,"tf":0.022222222222222223},"119":{"ref":119,"tf":0.007874015748031496},"123":{"ref":123,"tf":0.007042253521126761},"130":{"ref":130,"tf":0.013157894736842105},"133":{"ref":133,"tf":0.010050251256281407},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.005791505791505791},"136":{"ref":136,"tf":0.005050505050505051}},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"&":{"docs":{},"q":{"docs":{},"u":{"docs":{},"o":{"docs":{},"t":{"docs":{},";":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"133":{"ref":133,"tf":0.005025125628140704}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}}}},"o":{"docs":{},"o":{"docs":{},"m":{"docs":{"5":{"ref":5,"tf":0.02564102564102564},"52":{"ref":52,"tf":0.010416666666666666}}},"t":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"60":{"ref":60,"tf":0.006818181818181818},"66":{"ref":66,"tf":0.043478260869565216},"129":{"ref":129,"tf":0.0034782608695652175},"133":{"ref":133,"tf":0.0016750418760469012}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"71":{"ref":71,"tf":0.008}}}}}}}},"w":{"docs":{"26":{"ref":26,"tf":0.021739130434782608},"43":{"ref":43,"tf":0.020833333333333332},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.00980392156862745},"47":{"ref":47,"tf":0.04},"48":{"ref":48,"tf":0.05813953488372093},"72":{"ref":72,"tf":0.006993006993006993}}},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{"48":{"ref":48,"tf":0.011627906976744186},"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"t":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"84":{"ref":84,"tf":0.0036363636363636364},"133":{"ref":133,"tf":0.006700167504187605},"134":{"ref":134,"tf":0.0011507479861910242}},"e":{"docs":{},"r":{"docs":{"84":{"ref":84,"tf":0.01090909090909091},"133":{"ref":133,"tf":0.005025125628140704}},"'":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"s":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}},"(":{"docs":{},"'":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"a":{"docs":{},"l":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"129":{"ref":129,"tf":0.0017391304347826088}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"67":{"ref":67,"tf":0.027777777777777776}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}},"s":{"docs":{},"e":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}},".":{"docs":{},"c":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"37":{"ref":37,"tf":10.25},"57":{"ref":57,"tf":0.0023584905660377358},"80":{"ref":80,"tf":0.007692307692307693},"104":{"ref":104,"tf":0.00423728813559322},"123":{"ref":123,"tf":0.0035211267605633804},"135":{"ref":135,"tf":0.0019305019305019305}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"15":{"ref":15,"tf":0.022727272727272728}}}}}},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{"113":{"ref":113,"tf":0.0070921985815602835}}}}}},"i":{"docs":{"18":{"ref":18,"tf":0.02}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"20":{"ref":20,"tf":0.04081632653061224}}}}},"l":{"docs":{"68":{"ref":68,"tf":0.027777777777777776}}}},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{"36":{"ref":36,"tf":3.4404761904761902},"87":{"ref":87,"tf":0.125},"123":{"ref":123,"tf":0.0035211267605633804},"134":{"ref":134,"tf":0.0023014959723820483}},"-":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"36":{"ref":36,"tf":0.017857142857142856}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}}}}}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"[":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{"87":{"ref":87,"tf":0.041666666666666664}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"130":{"ref":130,"tf":0.008771929824561403},"132":{"ref":132,"tf":0.01282051282051282}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{"116":{"ref":116,"tf":0.011111111111111112}}}}}},"u":{"docs":{},"b":{"docs":{},"i":{"docs":{"36":{"ref":36,"tf":0.017857142857142856},"68":{"ref":68,"tf":0.027777777777777776}}}},"l":{"docs":{},"e":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"57":{"ref":57,"tf":0.0023584905660377358},"72":{"ref":72,"tf":0.004662004662004662},"129":{"ref":129,"tf":0.0017391304347826088}}}},"n":{"docs":{"54":{"ref":54,"tf":0.003861003861003861},"56":{"ref":56,"tf":0.017543859649122806},"57":{"ref":57,"tf":0.01179245283018868},"58":{"ref":58,"tf":0.00819672131147541},"59":{"ref":59,"tf":0.013927576601671309},"60":{"ref":60,"tf":0.01818181818181818},"103":{"ref":103,"tf":0.006493506493506494},"106":{"ref":106,"tf":0.02666666666666667},"119":{"ref":119,"tf":0.003937007874015748},"121":{"ref":121,"tf":0.03488372093023256},"126":{"ref":126,"tf":0.011111111111111112},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0034782608695652175},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0016750418760469012}}}},"m":{"docs":{"56":{"ref":56,"tf":0.004784688995215311},"58":{"ref":58,"tf":0.00273224043715847}}},"s":{"docs":{},"a":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"3":{"ref":3,"tf":0.019230769230769232},"13":{"ref":13,"tf":0.019230769230769232},"21":{"ref":21,"tf":0.0196078431372549},"22":{"ref":22,"tf":0.024390243902439025},"39":{"ref":39,"tf":0.012658227848101266},"52":{"ref":52,"tf":0.010416666666666666},"72":{"ref":72,"tf":0.009324009324009324}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"132":{"ref":132,"tf":0.01282051282051282}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{"20":{"ref":20,"tf":0.02040816326530612},"21":{"ref":21,"tf":0.00980392156862745},"60":{"ref":60,"tf":0.0022727272727272726},"72":{"ref":72,"tf":0.009324009324009324},"74":{"ref":74,"tf":0.08383233532934131},"78":{"ref":78,"tf":0.033707865168539325},"90":{"ref":90,"tf":0.03125},"103":{"ref":103,"tf":0.045454545454545456},"104":{"ref":104,"tf":0.00847457627118644},"115":{"ref":115,"tf":0.09090909090909091},"119":{"ref":119,"tf":0.003937007874015748},"123":{"ref":123,"tf":0.007042253521126761}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"2":{"ref":2,"tf":0.025},"90":{"ref":90,"tf":0.010416666666666666},"123":{"ref":123,"tf":0.0035211267605633804}}}}},"e":{"docs":{},"r":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"78":{"ref":78,"tf":0.011235955056179775}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"74":{"ref":74,"tf":0.005988023952095809},"88":{"ref":88,"tf":0.009708737864077669},"90":{"ref":90,"tf":0.010416666666666666},"115":{"ref":115,"tf":0.032467532467532464},"123":{"ref":123,"tf":0.0035211267605633804},"124":{"ref":124,"tf":0.010309278350515464}},"'":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"74":{"ref":74,"tf":0.011976047904191617},"90":{"ref":90,"tf":0.020833333333333332}},"-":{"docs":{},"i":{"docs":{"74":{"ref":74,"tf":0.005988023952095809},"90":{"ref":90,"tf":0.010416666666666666}}},"x":{"docs":{"74":{"ref":74,"tf":0.005988023952095809},"90":{"ref":90,"tf":0.010416666666666666}}}}}},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"(":{"docs":{},"[":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"88":{"ref":88,"tf":0.009708737864077669}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{},"$":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}},"p":{"docs":{},"(":{"docs":{},"[":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"[":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"59":{"ref":59,"tf":0.008356545961002786},"84":{"ref":84,"tf":0.0036363636363636364}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"18":{"ref":18,"tf":0.04}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"54":{"ref":54,"tf":0.005148005148005148},"71":{"ref":71,"tf":0.024},"72":{"ref":72,"tf":0.002331002331002331},"74":{"ref":74,"tf":0.005988023952095809},"105":{"ref":105,"tf":0.005847953216374269},"111":{"ref":111,"tf":0.015037593984962405},"114":{"ref":114,"tf":0.007974481658692184},"130":{"ref":130,"tf":0.008771929824561403},"133":{"ref":133,"tf":0.0016750418760469012},"136":{"ref":136,"tf":0.015151515151515152}},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"107":{"ref":107,"tf":0.012658227848101266}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}}}},"x":{"docs":{},"t":{"docs":{"133":{"ref":133,"tf":0.0033500837520938024}},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"117":{"ref":117,"tf":0.007575757575757576}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},"-":{"1":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}},"docs":{}}}}}}}},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}}},"[":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"118":{"ref":118,"tf":0.009523809523809525}}}}}}}}}}}}}}}}}},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"105":{"ref":105,"tf":0.005847953216374269},"110":{"ref":110,"tf":0.01020408163265306}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"109":{"ref":109,"tf":0.008547008547008548}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"133":{"ref":133,"tf":0.0033500837520938024}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{"54":{"ref":54,"tf":0.005148005148005148}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"93":{"ref":93,"tf":0.014084507042253521}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{"116":{"ref":116,"tf":0.005555555555555556}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"81":{"ref":81,"tf":0.015151515151515152}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"81":{"ref":81,"tf":0.015151515151515152}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"78":{"ref":78,"tf":0.011235955056179775},"88":{"ref":88,"tf":0.019417475728155338},"89":{"ref":89,"tf":0.022727272727272728},"115":{"ref":115,"tf":0.003246753246753247}},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"'":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"89":{"ref":89,"tf":0.022727272727272728}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"89":{"ref":89,"tf":0.022727272727272728}}}}}}}}}}}}}}}}}}}}}},"$":{"docs":{},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"78":{"ref":78,"tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"88":{"ref":88,"tf":0.009708737864077669}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"78":{"ref":78,"tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}},"$":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"'":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{"78":{"ref":78,"tf":0.02247191011235955}}}}}}}},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"133":{"ref":133,"tf":0.005025125628140704}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"88":{"ref":88,"tf":0.009708737864077669}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"114":{"ref":114,"tf":0.001594896331738437},"136":{"ref":136,"tf":0.005050505050505051}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"114":{"ref":114,"tf":0.003189792663476874},"136":{"ref":136,"tf":0.005050505050505051}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"89":{"ref":89,"tf":0.022727272727272728}}}}}}}},"d":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{"110":{"ref":110,"tf":0.01020408163265306}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"133":{"ref":133,"tf":0.005025125628140704}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0034522439585730723}}}}}}}},"s":{"docs":{},"s":{"docs":{"129":{"ref":129,"tf":0.01391304347826087}},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}},":":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},".":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}},"o":{"docs":{},"n":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"13":{"ref":13,"tf":0.21153846153846154},"16":{"ref":16,"tf":0.007352941176470588},"107":{"ref":107,"tf":0.012658227848101266},"114":{"ref":114,"tf":0.001594896331738437},"133":{"ref":133,"tf":0.0016750418760469012}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"1":{"ref":1,"tf":0.045454545454545456}}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"60":{"ref":60,"tf":0.006818181818181818}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}},"e":{"docs":{"2":{"ref":2,"tf":0.025},"38":{"ref":38,"tf":0.011627906976744186},"39":{"ref":39,"tf":0.012658227848101266},"43":{"ref":43,"tf":0.006944444444444444},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.00980392156862745},"46":{"ref":46,"tf":0.019230769230769232},"47":{"ref":47,"tf":0.01},"48":{"ref":48,"tf":0.011627906976744186},"54":{"ref":54,"tf":0.005148005148005148},"56":{"ref":56,"tf":0.006379585326953748},"59":{"ref":59,"tf":0.008356545961002786},"60":{"ref":60,"tf":0.0022727272727272726},"72":{"ref":72,"tf":0.004662004662004662},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"81":{"ref":81,"tf":0.015151515151515152},"84":{"ref":84,"tf":0.01090909090909091},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"95":{"ref":95,"tf":0.009345794392523364},"96":{"ref":96,"tf":0.017857142857142856},"104":{"ref":104,"tf":0.00423728813559322},"108":{"ref":108,"tf":0.028985507246376812},"114":{"ref":114,"tf":0.001594896331738437},"129":{"ref":129,"tf":0.0052173913043478265},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}},"n":{"docs":{"36":{"ref":36,"tf":0.017857142857142856},"135":{"ref":135,"tf":0.0019305019305019305}}},"d":{"docs":{"63":{"ref":63,"tf":2.048780487804878},"128":{"ref":128,"tf":0.05357142857142857},"133":{"ref":133,"tf":0.0016750418760469012}}},"m":{"docs":{"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.0019305019305019305}}}},"t":{"docs":{"10":{"ref":10,"tf":0.023809523809523808},"16":{"ref":16,"tf":0.007352941176470588},"21":{"ref":21,"tf":0.00980392156862745},"39":{"ref":39,"tf":0.02531645569620253},"41":{"ref":41,"tf":0.125},"42":{"ref":42,"tf":0.14285714285714285},"50":{"ref":50,"tf":0.017857142857142856},"51":{"ref":51,"tf":0.05084745762711865},"52":{"ref":52,"tf":0.010416666666666666},"54":{"ref":54,"tf":0.003861003861003861},"56":{"ref":56,"tf":0.007974481658692184},"60":{"ref":60,"tf":0.006818181818181818},"72":{"ref":72,"tf":0.004662004662004662},"83":{"ref":83,"tf":0.02127659574468085},"95":{"ref":95,"tf":0.009345794392523364},"96":{"ref":96,"tf":0.017857142857142856},"97":{"ref":97,"tf":0.019230769230769232},"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.032467532467532464},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.005847953216374269},"109":{"ref":109,"tf":0.02564102564102564},"110":{"ref":110,"tf":0.01020408163265306},"112":{"ref":112,"tf":0.011764705882352941},"116":{"ref":116,"tf":0.005555555555555556},"121":{"ref":121,"tf":0.011627906976744186},"123":{"ref":123,"tf":0.007042253521126761},"124":{"ref":124,"tf":0.010309278350515464},"128":{"ref":128,"tf":0.017857142857142856},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.017543859649122806},"133":{"ref":133,"tf":0.01340033500837521},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.007722007722007722}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364},"129":{"ref":129,"tf":0.0034782608695652175}}}},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"112":{"ref":112,"tf":0.011764705882352941}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"25":{"ref":25,"tf":0.011494252873563218},"53":{"ref":53,"tf":0.041666666666666664}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"38":{"ref":38,"tf":10.05813953488372},"54":{"ref":54,"tf":0.011583011583011582},"95":{"ref":95,"tf":0.04672897196261682},"104":{"ref":104,"tf":0.00423728813559322},"118":{"ref":118,"tf":0.047619047619047616},"123":{"ref":123,"tf":0.0035211267605633804}},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"118":{"ref":118,"tf":0.009523809523809525}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"118":{"ref":118,"tf":0.009523809523809525}}}}}}}}}}}},"f":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}},"-":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"129":{"ref":129,"tf":0.0017391304347826088}}}}},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"71":{"ref":71,"tf":0.008},"84":{"ref":84,"tf":0.0036363636363636364},"105":{"ref":105,"tf":0.005847953216374269},"108":{"ref":108,"tf":0.014492753623188406},"109":{"ref":109,"tf":0.008547008547008548},"114":{"ref":114,"tf":0.001594896331738437},"115":{"ref":115,"tf":0.003246753246753247},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525},"122":{"ref":122,"tf":0.16666666666666666},"124":{"ref":124,"tf":3.353951890034364},"132":{"ref":132,"tf":0.01282051282051282},"135":{"ref":135,"tf":0.0019305019305019305}}}},"e":{"docs":{},"r":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"60":{"ref":60,"tf":0.00909090909090909}}}}}},"n":{"docs":{},"d":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}}}}},"u":{"docs":{},"b":{"docs":{"1":{"ref":1,"tf":3.3787878787878785}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"26":{"ref":26,"tf":0.021739130434782608},"27":{"ref":27,"tf":0.03225806451612903},"30":{"ref":30,"tf":0.02702702702702703},"31":{"ref":31,"tf":0.047619047619047616},"33":{"ref":33,"tf":0.1},"54":{"ref":54,"tf":0.003861003861003861},"58":{"ref":58,"tf":0.00546448087431694}}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"u":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.003189792663476874},"60":{"ref":60,"tf":0.004545454545454545},"127":{"ref":127,"tf":0.006622516556291391}}}}}}},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{"127":{"ref":127,"tf":0.006622516556291391}}}}}},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"76":{"ref":76,"tf":0.018867924528301886}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"77":{"ref":77,"tf":0.018867924528301886}}}}}},"-":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"114":{"ref":114,"tf":0.006379585326953748}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"114":{"ref":114,"tf":0.007974481658692184}}}}}}},"c":{"docs":{},"h":{"docs":{"3":{"ref":3,"tf":0.038461538461538464},"14":{"ref":14,"tf":0.011494252873563218},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"37":{"ref":37,"tf":0.0625},"67":{"ref":67,"tf":0.027777777777777776},"68":{"ref":68,"tf":0.027777777777777776},"70":{"ref":70,"tf":0.023809523809523808},"80":{"ref":80,"tf":0.007692307692307693},"103":{"ref":103,"tf":0.012987012987012988},"104":{"ref":104,"tf":0.01694915254237288},"105":{"ref":105,"tf":0.005847953216374269},"121":{"ref":121,"tf":0.005813953488372093},"129":{"ref":129,"tf":0.0052173913043478265},"134":{"ref":134,"tf":0.0011507479861910242}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"88":{"ref":88,"tf":0.009708737864077669}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"16":{"ref":16,"tf":0.007352941176470588},"83":{"ref":83,"tf":0.02127659574468085},"133":{"ref":133,"tf":0.0016750418760469012}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"43":{"ref":43,"tf":0.013888888888888888},"54":{"ref":54,"tf":0.002574002574002574},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0047169811320754715},"60":{"ref":60,"tf":0.0022727272727272726},"61":{"ref":61,"tf":0.010869565217391304},"67":{"ref":67,"tf":5.083333333333333},"72":{"ref":72,"tf":0.002331002331002331},"80":{"ref":80,"tf":0.007692307692307693},"90":{"ref":90,"tf":0.010416666666666666},"99":{"ref":99,"tf":0.02127659574468085},"114":{"ref":114,"tf":0.001594896331738437},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":3.348484848484848}}}}},"l":{"docs":{},"i":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"130":{"ref":130,"tf":0.0043859649122807015}}}}}},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"s":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"e":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"56":{"ref":56,"tf":0.014354066985645933},"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00273224043715847},"60":{"ref":60,"tf":0.0022727272727272726},"71":{"ref":71,"tf":0.008},"72":{"ref":72,"tf":0.002331002331002331},"114":{"ref":114,"tf":0.004784688995215311},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0017391304347826088},"136":{"ref":136,"tf":0.005050505050505051}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}},"d":{"docs":{},"o":{"docs":{"56":{"ref":56,"tf":0.006379585326953748},"63":{"ref":63,"tf":0.024390243902439025}}}},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{"74":{"ref":74,"tf":0.005988023952095809}}}}}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"127":{"ref":127,"tf":0.006622516556291391}}}}}}},"m":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{"2":{"ref":2,"tf":0.025},"43":{"ref":43,"tf":0.006944444444444444},"44":{"ref":44,"tf":2.5185185185185186},"72":{"ref":72,"tf":0.002331002331002331}}}},"n":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"19":{"ref":19,"tf":0.02}}}}}}}}},"r":{"docs":{},"k":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"m":{"docs":{"4":{"ref":4,"tf":0.022727272727272728}}}}}},"i":{"docs":{},"f":{"docs":{"45":{"ref":45,"tf":0.00980392156862745},"47":{"ref":47,"tf":0.01},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.006818181818181818},"104":{"ref":104,"tf":0.00423728813559322},"109":{"ref":109,"tf":0.008547008547008548},"115":{"ref":115,"tf":0.003246753246753247},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525}},"i":{"docs":{"44":{"ref":44,"tf":0.018518518518518517},"72":{"ref":72,"tf":0.004662004662004662},"119":{"ref":119,"tf":0.003937007874015748},"129":{"ref":129,"tf":0.0017391304347826088}}}}}},"a":{"docs":{},"k":{"docs":{"46":{"ref":46,"tf":0.019230769230769232}}}},"e":{"docs":{},"d":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"117":{"ref":117,"tf":0.015151515151515152}}}},"n":{"docs":{},"d":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}},"y":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}},"u":{"docs":{},"d":{"docs":{"18":{"ref":18,"tf":0.02}}}},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"21":{"ref":21,"tf":0.00980392156862745}}}}}}},"i":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"135":{"ref":135,"tf":0.0019305019305019305}}}}},"n":{"docs":{"88":{"ref":88,"tf":0.009708737864077669}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"3":{"ref":3,"tf":0.019230769230769232},"21":{"ref":21,"tf":0.00980392156862745},"34":{"ref":34,"tf":0.016666666666666666},"36":{"ref":36,"tf":0.017857142857142856},"45":{"ref":45,"tf":0.00980392156862745},"47":{"ref":47,"tf":0.02},"54":{"ref":54,"tf":0.002574002574002574},"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.004545454545454545},"68":{"ref":68,"tf":0.027777777777777776},"72":{"ref":72,"tf":0.011655011655011656},"84":{"ref":84,"tf":0.01090909090909091},"106":{"ref":106,"tf":0.013333333333333334},"127":{"ref":127,"tf":0.006622516556291391},"134":{"ref":134,"tf":0.006904487917146145},"135":{"ref":135,"tf":0.005791505791505791}}},"p":{"docs":{},"l":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}},"s":{"docs":{},"s":{"docs":{"48":{"ref":48,"tf":0.011627906976744186},"50":{"ref":50,"tf":0.017857142857142856},"64":{"ref":64,"tf":0.0625},"65":{"ref":65,"tf":0.05},"129":{"ref":129,"tf":2.557391304347826}},"]":{"docs":{},"(":{"docs":{},"/":{"docs":{},"t":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"z":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"-":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"-":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"-":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"128":{"ref":128,"tf":0.017857142857142856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"-":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}},"/":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"50":{"ref":50,"tf":0.008928571428571428}}},"v":{"docs":{},"e":{"docs":{"54":{"ref":54,"tf":0.007722007722007722},"58":{"ref":58,"tf":0.00273224043715847},"114":{"ref":114,"tf":0.001594896331738437},"115":{"ref":115,"tf":0.006493506493506494},"129":{"ref":129,"tf":0.0034782608695652175},"136":{"ref":136,"tf":0.005050505050505051}}}},"f":{"docs":{},"e":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00273224043715847},"133":{"ref":133,"tf":0.0016750418760469012}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.015909090909090907}}}}}},"k":{"docs":{},"e":{"docs":{"59":{"ref":59,"tf":0.002785515320334262},"72":{"ref":72,"tf":0.002331002331002331}}}},"n":{"docs":{},"s":{"docs":{},"-":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{"3":{"ref":3,"tf":0.057692307692307696},"16":{"ref":16,"tf":0.029411764705882353},"19":{"ref":19,"tf":0.02},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"52":{"ref":52,"tf":0.010416666666666666},"54":{"ref":54,"tf":0.005148005148005148},"59":{"ref":59,"tf":0.019498607242339833},"60":{"ref":60,"tf":0.0022727272727272726},"83":{"ref":83,"tf":0.06382978723404255},"86":{"ref":86,"tf":0.06666666666666667},"91":{"ref":91,"tf":0.13725490196078433},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.11267605633802817},"100":{"ref":100,"tf":0.08333333333333333},"101":{"ref":101,"tf":0.13043478260869565},"102":{"ref":102,"tf":0.020833333333333332},"116":{"ref":116,"tf":0.03333333333333333},"123":{"ref":123,"tf":0.03169014084507042},"130":{"ref":130,"tf":0.021929824561403508}},"=":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{"102":{"ref":102,"tf":0.020833333333333332},"123":{"ref":123,"tf":0.0035211267605633804},"127":{"ref":127,"tf":0.006622516556291391}}}}}}}},"z":{"docs":{},"e":{"docs":{"7":{"ref":7,"tf":5},"21":{"ref":21,"tf":0.00980392156862745},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":2.5294117647058822},"72":{"ref":72,"tf":0.002331002331002331},"115":{"ref":115,"tf":0.003246753246753247},"129":{"ref":129,"tf":0.0017391304347826088},"135":{"ref":135,"tf":0.003861003861003861}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"54":{"ref":54,"tf":0.002574002574002574},"57":{"ref":57,"tf":0.0023584905660377358},"59":{"ref":59,"tf":0.005571030640668524},"72":{"ref":72,"tf":0.002331002331002331},"84":{"ref":84,"tf":0.0036363636363636364},"86":{"ref":86,"tf":0.06666666666666667},"114":{"ref":114,"tf":0.004784688995215311},"123":{"ref":123,"tf":0.0035211267605633804},"127":{"ref":127,"tf":0.006622516556291391},"130":{"ref":130,"tf":0.013157894736842105},"132":{"ref":132,"tf":0.01282051282051282},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.013513513513513514}},"i":{"docs":{"12":{"ref":12,"tf":0.05},"32":{"ref":32,"tf":0.04},"43":{"ref":43,"tf":0.006944444444444444},"50":{"ref":50,"tf":0.008928571428571428},"51":{"ref":51,"tf":0.01694915254237288},"56":{"ref":56,"tf":0.001594896331738437},"60":{"ref":60,"tf":0.0022727272727272726},"61":{"ref":61,"tf":0.010869565217391304},"82":{"ref":82,"tf":0.0078125},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242}},"f":{"docs":{},"i":{"docs":{"61":{"ref":61,"tf":0.010869565217391304},"129":{"ref":129,"tf":0.0017391304347826088}}}},"c":{"docs":{"65":{"ref":65,"tf":0.025}}}},"e":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"60":{"ref":60,"tf":0.004545454545454545}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"20":{"ref":20,"tf":0.02040816326530612},"57":{"ref":57,"tf":0.0023584905660377358},"65":{"ref":65,"tf":0.025},"82":{"ref":82,"tf":0.0078125}},"l":{"docs":{},"i":{"docs":{"22":{"ref":22,"tf":0.024390243902439025},"36":{"ref":36,"tf":0.017857142857142856}}}}}}}},"u":{"docs":{},"l":{"docs":{"27":{"ref":27,"tf":0.03225806451612903},"48":{"ref":48,"tf":0.011627906976744186},"60":{"ref":60,"tf":0.011363636363636364}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{"19":{"ref":19,"tf":0.02}}}}}},"g":{"docs":{},"n":{"docs":{"28":{"ref":28,"tf":0.038461538461538464},"58":{"ref":58,"tf":0.01366120218579235},"60":{"ref":60,"tf":0.0022727272727272726}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"-":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"34":{"ref":34,"tf":0.016666666666666666}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"72":{"ref":72,"tf":0.002331002331002331},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"t":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}},"e":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{"62":{"ref":62,"tf":0.041666666666666664}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"62":{"ref":62,"tf":0.08333333333333333},"67":{"ref":67,"tf":0.027777777777777776}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"_":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"132":{"ref":132,"tf":0.01282051282051282}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"123":{"ref":123,"tf":0.007042253521126761}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"6":{"ref":6,"tf":0.023809523809523808},"72":{"ref":72,"tf":0.002331002331002331}}}}},"a":{"docs":{},"m":{"docs":{"18":{"ref":18,"tf":0.02},"135":{"ref":135,"tf":0.0019305019305019305}}}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.00980392156862745},"46":{"ref":46,"tf":0.019230769230769232},"47":{"ref":47,"tf":0.01},"48":{"ref":48,"tf":0.011627906976744186},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"129":{"ref":129,"tf":0.0034782608695652175}}}}}}},"a":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"-":{"docs":{},"t":{"docs":{},"o":{"docs":{},"-":{"docs":{},"t":{"docs":{},"h":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}},"l":{"docs":{},"i":{"docs":{"57":{"ref":57,"tf":0.0047169811320754715}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"71":{"ref":71,"tf":0.008},"74":{"ref":74,"tf":0.011976047904191617},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"78":{"ref":78,"tf":0.02247191011235955},"80":{"ref":80,"tf":0.007692307692307693},"82":{"ref":82,"tf":0.015625},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.0036363636363636364},"88":{"ref":88,"tf":0.038834951456310676},"90":{"ref":90,"tf":0.020833333333333332},"91":{"ref":91,"tf":0.0196078431372549},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.011111111111111112},"95":{"ref":95,"tf":0.04672897196261682},"96":{"ref":96,"tf":0.017857142857142856},"97":{"ref":97,"tf":0.019230769230769232},"98":{"ref":98,"tf":0.018867924528301886},"105":{"ref":105,"tf":0.017543859649122806},"108":{"ref":108,"tf":0.028985507246376812},"109":{"ref":109,"tf":0.008547008547008548},"110":{"ref":110,"tf":0.02040816326530612},"111":{"ref":111,"tf":0.022556390977443608},"112":{"ref":112,"tf":0.041176470588235294},"114":{"ref":114,"tf":0.044657097288676235},"115":{"ref":115,"tf":0.006493506493506494},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525},"119":{"ref":119,"tf":0.011811023622047244},"120":{"ref":120,"tf":0.031446540880503145},"121":{"ref":121,"tf":0.01744186046511628}}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"6":{"ref":6,"tf":0.023809523809523808},"8":{"ref":8,"tf":0.05405405405405406},"9":{"ref":9,"tf":0.02702702702702703},"11":{"ref":11,"tf":0.13636363636363635},"19":{"ref":19,"tf":0.02},"25":{"ref":25,"tf":0.022988505747126436},"35":{"ref":35,"tf":0.01818181818181818},"38":{"ref":38,"tf":0.023255813953488372},"39":{"ref":39,"tf":0.012658227848101266},"49":{"ref":49,"tf":0.08333333333333333},"72":{"ref":72,"tf":0.002331002331002331},"73":{"ref":73,"tf":0.05},"87":{"ref":87,"tf":0.041666666666666664},"95":{"ref":95,"tf":0.009345794392523364},"123":{"ref":123,"tf":0.007042253521126761},"129":{"ref":129,"tf":0.0052173913043478265},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0034522439585730723}},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{"129":{"ref":129,"tf":0.0034782608695652175}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"9":{"ref":9,"tf":0.02702702702702703},"65":{"ref":65,"tf":0.025},"134":{"ref":134,"tf":0.0011507479861910242}},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"36":{"ref":36,"tf":0.017857142857142856},"39":{"ref":39,"tf":0.012658227848101266},"43":{"ref":43,"tf":0.006944444444444444},"59":{"ref":59,"tf":0.002785515320334262},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.005791505791505791}}}}}}},"r":{"docs":{},"t":{"docs":{"24":{"ref":24,"tf":0.08333333333333333},"50":{"ref":50,"tf":0.008928571428571428},"52":{"ref":52,"tf":0.010416666666666666},"54":{"ref":54,"tf":0.002574002574002574},"55":{"ref":55,"tf":0.02040816326530612},"56":{"ref":56,"tf":0.009569377990430622},"57":{"ref":57,"tf":0.01179245283018868},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.008356545961002786},"60":{"ref":60,"tf":0.006818181818181818},"62":{"ref":62,"tf":0.041666666666666664},"63":{"ref":63,"tf":0.04878048780487805},"84":{"ref":84,"tf":0.0036363636363636364},"88":{"ref":88,"tf":0.009708737864077669},"106":{"ref":106,"tf":0.013333333333333334},"115":{"ref":115,"tf":0.006493506493506494},"126":{"ref":126,"tf":0.011111111111111112},"127":{"ref":127,"tf":3.386313465783664},"128":{"ref":128,"tf":0.03571428571428571},"129":{"ref":129,"tf":0.008695652173913044},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.008375209380234505},"135":{"ref":135,"tf":0.005791505791505791}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"133":{"ref":133,"tf":0.008375209380234505}}}}},"u":{"docs":{},"p":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"c":{"docs":{},"k":{"docs":{"29":{"ref":29,"tf":2.551282051282051},"48":{"ref":48,"tf":0.011627906976744186},"57":{"ref":57,"tf":0.0023584905660377358},"81":{"ref":81,"tf":0.015151515151515152},"84":{"ref":84,"tf":0.0036363636363636364},"129":{"ref":129,"tf":0.0017391304347826088},"136":{"ref":136,"tf":0.005050505050505051}}}},"t":{"docs":{},"e":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"45":{"ref":45,"tf":0.0196078431372549},"65":{"ref":65,"tf":0.025},"82":{"ref":82,"tf":0.0078125},"84":{"ref":84,"tf":0.04363636363636364},"123":{"ref":123,"tf":0.0035211267605633804}},"(":{"docs":{},"'":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}}}}},"m":{"docs":{},"u":{"docs":{},"s":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"84":{"ref":84,"tf":0.007272727272727273}}}}}}}}},"u":{"docs":{"121":{"ref":121,"tf":0.01744186046511628},"128":{"ref":128,"tf":0.017857142857142856},"130":{"ref":130,"tf":0.021929824561403508},"132":{"ref":132,"tf":2.5256410256410255}},"s":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"132":{"ref":132,"tf":0.01282051282051282}},".":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{"132":{"ref":132,"tf":0.01282051282051282}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"129":{"ref":129,"tf":0.0034782608695652175}}}},"i":{"docs":{"50":{"ref":50,"tf":0.008928571428571428}}}},"o":{"docs":{},"p":{"docs":{"28":{"ref":28,"tf":0.038461538461538464},"78":{"ref":78,"tf":0.011235955056179775},"88":{"ref":88,"tf":0.009708737864077669},"104":{"ref":104,"tf":0.00423728813559322},"114":{"ref":114,"tf":0.001594896331738437},"115":{"ref":115,"tf":0.003246753246753247},"117":{"ref":117,"tf":0.015151515151515152},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0023014959723820483}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"133":{"ref":133,"tf":0.0033500837520938024}}}},"e":{"docs":{"55":{"ref":55,"tf":0.02040816326530612},"58":{"ref":58,"tf":0.02459016393442623},"129":{"ref":129,"tf":0.0034782608695652175}}}}},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"39":{"ref":39,"tf":0.012658227848101266},"45":{"ref":45,"tf":0.00980392156862745},"57":{"ref":57,"tf":0.0023584905660377358},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.0022727272727272726},"61":{"ref":61,"tf":0.010869565217391304},"104":{"ref":104,"tf":0.00847457627118644},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.00805523590333717},"135":{"ref":135,"tf":0.0019305019305019305}}}},"c":{"docs":{},"k":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}},"e":{"docs":{},"p":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"106":{"ref":106,"tf":0.013333333333333334},"127":{"ref":127,"tf":0.006622516556291391},"133":{"ref":133,"tf":0.0016750418760469012}},"s":{"docs":{},":":{"docs":{},"<":{"docs":{},"/":{"docs":{},"h":{"5":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}},"docs":{}}}}}}}},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{"7":{"ref":7,"tf":0.08},"16":{"ref":16,"tf":0.007352941176470588},"48":{"ref":48,"tf":0.011627906976744186},"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00273224043715847},"60":{"ref":60,"tf":0.0022727272727272726},"115":{"ref":115,"tf":0.003246753246753247},"129":{"ref":129,"tf":0.0017391304347826088}},"e":{"docs":{},"r":{"docs":{"7":{"ref":7,"tf":0.04},"18":{"ref":18,"tf":0.02},"48":{"ref":48,"tf":0.03488372093023256}}},"s":{"docs":{},"t":{"docs":{"90":{"ref":90,"tf":0.010416666666666666}}}}}}},"s":{"docs":{},"h":{"docs":{"19":{"ref":19,"tf":0.02}}}},"r":{"docs":{},"t":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}}}}},"w":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"21":{"ref":21,"tf":0.00980392156862745},"80":{"ref":80,"tf":0.023076923076923078},"94":{"ref":94,"tf":0.011111111111111112},"109":{"ref":109,"tf":0.02564102564102564},"120":{"ref":120,"tf":0.006289308176100629},"123":{"ref":123,"tf":0.007042253521126761},"133":{"ref":133,"tf":0.0033500837520938024},"134":{"ref":134,"tf":0.0011507479861910242}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"120":{"ref":120,"tf":0.006289308176100629},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"120":{"ref":120,"tf":0.006289308176100629},"134":{"ref":134,"tf":0.0011507479861910242}}}}}}},"u":{"docs":{},"p":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"95":{"ref":95,"tf":0.009345794392523364},"97":{"ref":97,"tf":0.019230769230769232},"115":{"ref":115,"tf":0.003246753246753247},"123":{"ref":123,"tf":0.0035211267605633804},"133":{"ref":133,"tf":0.0016750418760469012}},"'":{"docs":{"97":{"ref":97,"tf":0.019230769230769232}}}}}},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"50":{"ref":50,"tf":0.008928571428571428}}}}}}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{"15":{"ref":15,"tf":0.022727272727272728}}}}},"p":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"133":{"ref":133,"tf":0.005025125628140704}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"20":{"ref":20,"tf":0.02040816326530612}}}}}},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"15":{"ref":15,"tf":0.022727272727272728}}}}}}}},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{"16":{"ref":16,"tf":0.007352941176470588}}},"w":{"docs":{"20":{"ref":20,"tf":0.02040816326530612},"36":{"ref":36,"tf":0.017857142857142856},"39":{"ref":39,"tf":0.012658227848101266},"47":{"ref":47,"tf":0.01},"51":{"ref":51,"tf":0.01694915254237288},"54":{"ref":54,"tf":0.002574002574002574},"71":{"ref":71,"tf":0.024},"74":{"ref":74,"tf":0.011976047904191617},"75":{"ref":75,"tf":0.08333333333333333},"78":{"ref":78,"tf":0.011235955056179775},"81":{"ref":81,"tf":0.015151515151515152},"90":{"ref":90,"tf":0.020833333333333332},"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.012987012987012988},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.017543859649122806},"107":{"ref":107,"tf":0.02531645569620253},"109":{"ref":109,"tf":0.03418803418803419},"110":{"ref":110,"tf":0.02040816326530612},"112":{"ref":112,"tf":0.03529411764705882},"113":{"ref":113,"tf":0.0070921985815602835},"114":{"ref":114,"tf":0.014354066985645933},"121":{"ref":121,"tf":0.01744186046511628},"123":{"ref":123,"tf":0.0035211267605633804},"124":{"ref":124,"tf":0.010309278350515464},"133":{"ref":133,"tf":0.0033500837520938024},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{"18":{"ref":18,"tf":0.02},"19":{"ref":19,"tf":0.02},"25":{"ref":25,"tf":5.011494252873563}}}}},"n":{"docs":{"71":{"ref":71,"tf":0.016},"80":{"ref":80,"tf":0.015384615384615385},"84":{"ref":84,"tf":0.0036363636363636364},"94":{"ref":94,"tf":0.011111111111111112},"107":{"ref":107,"tf":0.0379746835443038},"109":{"ref":109,"tf":0.017094017094017096},"110":{"ref":110,"tf":0.05102040816326531},"112":{"ref":112,"tf":0.023529411764705882}}},"-":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"80":{"ref":80,"tf":0.007692307692307693}}}}}}},"r":{"docs":{},"e":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"80":{"ref":80,"tf":0.007692307692307693}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"94":{"ref":94,"tf":0.022222222222222223}}}}}},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"105":{"ref":105,"tf":0.005847953216374269},"110":{"ref":110,"tf":0.01020408163265306},"114":{"ref":114,"tf":0.001594896331738437}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"[":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"109":{"ref":109,"tf":0.008547008547008548}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"109":{"ref":109,"tf":0.02564102564102564}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"[":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"109":{"ref":109,"tf":0.008547008547008548}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"[":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705}}}}}}}}}}}}}}}},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"121":{"ref":121,"tf":0.011627906976744186}},"(":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"134":{"ref":134,"tf":0.0034522439585730723}}}},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"115":{"ref":115,"tf":0.025974025974025976}}}}}},"e":{"docs":{},"n":{"docs":{"117":{"ref":117,"tf":0.007575757575757576}}},"r":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"118":{"ref":118,"tf":0.01904761904761905}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}}}}}}}},"t":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}},"a":{"1":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"s":{"docs":{},"a":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}}}}}},"docs":{},"r":{"docs":{},"e":{"docs":{"25":{"ref":25,"tf":0.022988505747126436},"80":{"ref":80,"tf":0.007692307692307693},"85":{"ref":85,"tf":0.09090909090909091},"105":{"ref":105,"tf":0.005847953216374269},"126":{"ref":126,"tf":0.011111111111111112}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"30":{"ref":30,"tf":0.02702702702702703}}}}}},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.007075471698113208},"59":{"ref":59,"tf":0.005571030640668524},"60":{"ref":60,"tf":0.0022727272727272726}}}},"e":{"docs":{},"t":{"docs":{"105":{"ref":105,"tf":0.06432748538011696},"124":{"ref":124,"tf":0.010309278350515464}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"s":{"3":{"docs":{},".":{"docs":{},"a":{"docs":{},"m":{"docs":{},"a":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"w":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{"105":{"ref":105,"tf":0.005847953216374269}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"p":{"docs":{"66":{"ref":66,"tf":0.043478260869565216}}}}},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"18":{"ref":18,"tf":0.02}}}}},"d":{"docs":{},"e":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"84":{"ref":84,"tf":0.0036363636363636364},"94":{"ref":94,"tf":0.07777777777777778},"117":{"ref":117,"tf":0.09090909090909091},"123":{"ref":123,"tf":0.007042253521126761},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.035175879396984924}},"-":{"docs":{},"i":{"docs":{},"n":{"docs":{},"-":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"53":{"ref":53,"tf":0.041666666666666664}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"53":{"ref":53,"tf":0.041666666666666664}}}}}}},"u":{"docs":{},"p":{"docs":{"53":{"ref":53,"tf":0.041666666666666664},"54":{"ref":54,"tf":0.001287001287001287},"84":{"ref":84,"tf":0.0036363636363636364},"111":{"ref":111,"tf":0.007518796992481203}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"94":{"ref":94,"tf":0.011111111111111112}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"-":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"53":{"ref":53,"tf":0.041666666666666664},"84":{"ref":84,"tf":0.0036363636363636364}},"-":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"7":{"docs":{"53":{"ref":53,"tf":0.041666666666666664},"84":{"ref":84,"tf":0.0036363636363636364}}},"docs":{}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"-":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"53":{"ref":53,"tf":0.041666666666666664}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"53":{"ref":53,"tf":0.041666666666666664}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"-":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"53":{"ref":53,"tf":0.041666666666666664}},"-":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"7":{"docs":{"53":{"ref":53,"tf":0.041666666666666664}}},"docs":{}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"105":{"ref":105,"tf":0.005847953216374269},"124":{"ref":124,"tf":0.010309278350515464}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"133":{"ref":133,"tf":0.0033500837520938024}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"94":{"ref":94,"tf":0.011111111111111112},"117":{"ref":117,"tf":0.022727272727272728},"133":{"ref":133,"tf":0.0016750418760469012}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"s":{"3":{"docs":{},".":{"docs":{},"a":{"docs":{},"m":{"docs":{},"a":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"w":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{"94":{"ref":94,"tf":0.011111111111111112}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{"117":{"ref":117,"tf":0.007575757575757576}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"117":{"ref":117,"tf":0.007575757575757576}}}}}}}},"r":{"docs":{"133":{"ref":133,"tf":0.0033500837520938024}},"-":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}},"p":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}},"c":{"docs":{},"k":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"129":{"ref":129,"tf":0.0017391304347826088}}}}},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{"47":{"ref":47,"tf":0.01},"129":{"ref":129,"tf":0.0017391304347826088}}}}},"o":{"docs":{},"w":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"72":{"ref":72,"tf":0.002331002331002331}},"l":{"docs":{},"i":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}}},"a":{"docs":{},"p":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"45":{"ref":45,"tf":0.0196078431372549},"50":{"ref":50,"tf":0.008928571428571428},"56":{"ref":56,"tf":0.003189792663476874},"84":{"ref":84,"tf":0.0036363636363636364},"104":{"ref":104,"tf":0.0211864406779661},"106":{"ref":106,"tf":0.013333333333333334},"114":{"ref":114,"tf":0.001594896331738437},"123":{"ref":123,"tf":0.0035211267605633804},"134":{"ref":134,"tf":0.0023014959723820483},"136":{"ref":136,"tf":0.010101010101010102}}}}}},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"x":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364},"129":{"ref":129,"tf":0.0017391304347826088}}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{"52":{"ref":52,"tf":0.020833333333333332}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"60":{"ref":60,"tf":0.004545454545454545},"126":{"ref":126,"tf":0.011111111111111112},"135":{"ref":135,"tf":0.003861003861003861}}},"i":{"docs":{},"m":{"docs":{"74":{"ref":74,"tf":0.005988023952095809},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00273224043715847}}}}}},"o":{"docs":{},"n":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"57":{"ref":57,"tf":0.01650943396226415},"68":{"ref":68,"tf":0.027777777777777776},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.003861003861003861}}}}},"f":{"docs":{},"t":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"70":{"ref":70,"tf":0.023809523809523808},"135":{"ref":135,"tf":0.0019305019305019305}}}}}}},"o":{"docs":{},"n":{"docs":{"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"136":{"ref":136,"tf":0.005050505050505051}}}},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"d":{"docs":{},"k":{"docs":{"56":{"ref":56,"tf":0.003189792663476874},"57":{"ref":57,"tf":0.0023584905660377358},"136":{"ref":136,"tf":0.005050505050505051}}}},"r":{"docs":{},"c":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"i":{"docs":{},"m":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"_":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"106":{"ref":106,"tf":0.013333333333333334}},"i":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}},"t":{"docs":{},"l":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"3":{"ref":3,"tf":0.07692307692307693},"54":{"ref":54,"tf":0.011583011583011582},"76":{"ref":76,"tf":0.03773584905660377},"77":{"ref":77,"tf":0.03773584905660377},"81":{"ref":81,"tf":0.015151515151515152},"82":{"ref":82,"tf":0.015625},"84":{"ref":84,"tf":0.0036363636363636364},"95":{"ref":95,"tf":0.018691588785046728},"98":{"ref":98,"tf":0.05660377358490566},"99":{"ref":99,"tf":0.02127659574468085},"105":{"ref":105,"tf":0.005847953216374269},"112":{"ref":112,"tf":0.07647058823529412},"114":{"ref":114,"tf":0.019138755980861243},"136":{"ref":136,"tf":0.010101010101010102}},"e":{"docs":{},"=":{"docs":{},"&":{"docs":{},"q":{"docs":{},"u":{"docs":{},"o":{"docs":{},"t":{"docs":{},";":{"docs":{},"m":{"docs":{},"y":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"&":{"docs":{},"q":{"docs":{},"u":{"docs":{},"o":{"docs":{},"t":{"docs":{},";":{"docs":{},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},"'":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"105":{"ref":105,"tf":0.011695906432748537}}}}}},"<":{"docs":{},"/":{"docs":{},"h":{"1":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}},"docs":{}}}}}}},"e":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}},"m":{"docs":{},"e":{"docs":{"56":{"ref":56,"tf":0.003189792663476874},"57":{"ref":57,"tf":0.0047169811320754715},"70":{"ref":70,"tf":0.023809523809523808},"104":{"ref":104,"tf":0.00423728813559322},"106":{"ref":106,"tf":0.05333333333333334},"107":{"ref":107,"tf":0.05063291139240506},"115":{"ref":115,"tf":0.003246753246753247},"119":{"ref":119,"tf":0.003937007874015748},"129":{"ref":129,"tf":0.0017391304347826088},"132":{"ref":132,"tf":0.01282051282051282},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.006904487917146145},"135":{"ref":135,"tf":0.0019305019305019305}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"107":{"ref":107,"tf":0.012658227848101266},"114":{"ref":114,"tf":0.001594896331738437}},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"107":{"ref":107,"tf":0.012658227848101266},"114":{"ref":114,"tf":0.001594896331738437},"130":{"ref":130,"tf":0.0043859649122807015}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}}},"o":{"docs":{},"p":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"2":{"ref":2,"tf":0.025},"21":{"ref":21,"tf":0.00980392156862745},"29":{"ref":29,"tf":0.02564102564102564},"41":{"ref":41,"tf":3.395833333333333},"47":{"ref":47,"tf":0.01},"50":{"ref":50,"tf":0.008928571428571428},"52":{"ref":52,"tf":0.020833333333333332},"84":{"ref":84,"tf":0.0036363636363636364},"115":{"ref":115,"tf":0.032467532467532464},"119":{"ref":119,"tf":0.015748031496062992},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"82":{"ref":82,"tf":0.0078125},"123":{"ref":123,"tf":0.0035211267605633804}}}}},"i":{"docs":{},"c":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"13":{"ref":13,"tf":0.019230769230769232}}}}},"g":{"docs":{},"l":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"34":{"ref":34,"tf":10.083333333333334},"74":{"ref":74,"tf":0.005988023952095809},"80":{"ref":80,"tf":0.007692307692307693},"93":{"ref":93,"tf":0.014084507042253521},"97":{"ref":97,"tf":0.057692307692307696},"101":{"ref":101,"tf":0.043478260869565216},"115":{"ref":115,"tf":0.003246753246753247},"116":{"ref":116,"tf":0.027777777777777776},"123":{"ref":123,"tf":0.01056338028169014},"134":{"ref":134,"tf":0.0011507479861910242}},"e":{"docs":{},"-":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"34":{"ref":34,"tf":0.016666666666666666}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{"97":{"ref":97,"tf":0.019230769230769232}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"97":{"ref":97,"tf":0.019230769230769232}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"(":{"docs":{},"[":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"116":{"ref":116,"tf":0.005555555555555556}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"(":{"docs":{},"[":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"116":{"ref":116,"tf":0.005555555555555556}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{"34":{"ref":34,"tf":0.016666666666666666},"69":{"ref":69,"tf":0.05},"104":{"ref":104,"tf":0.01694915254237288},"120":{"ref":120,"tf":0.006289308176100629},"134":{"ref":134,"tf":0.006904487917146145}},"-":{"docs":{},"e":{"docs":{},"v":{"docs":{"104":{"ref":104,"tf":0.00423728813559322}}}}},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"134":{"ref":134,"tf":0.005753739930955121}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"134":{"ref":134,"tf":0.0034522439585730723}}}}}}}}},"g":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}},"d":{"docs":{},"o":{"docs":{"54":{"ref":54,"tf":2.503861003861004},"58":{"ref":58,"tf":3.3387978142076498},"59":{"ref":59,"tf":3.3416898792943357}},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"s":{"3":{"docs":{},".":{"docs":{},"a":{"docs":{},"m":{"docs":{},"a":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"w":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"0":{"docs":{},".":{"1":{"docs":{},".":{"0":{"docs":{},"/":{"5":{"docs":{},"-":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"2":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}}},"docs":{}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}}}}},"o":{"docs":{},"l":{"docs":{"56":{"ref":56,"tf":0.004784688995215311},"57":{"ref":57,"tf":0.0047169811320754715},"58":{"ref":58,"tf":0.00819672131147541},"63":{"ref":63,"tf":0.024390243902439025},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0034782608695652175},"135":{"ref":135,"tf":0.0019305019305019305}},"s":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"j":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"m":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}},"n":{"docs":{"59":{"ref":59,"tf":0.002785515320334262},"135":{"ref":135,"tf":0.0019305019305019305}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"89":{"ref":89,"tf":0.045454545454545456}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705},"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"l":{"docs":{},"d":{"docs":{"117":{"ref":117,"tf":0.007575757575757576}}}}},"y":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}},"p":{"docs":{},"e":{"docs":{"3":{"ref":3,"tf":0.019230769230769232},"26":{"ref":26,"tf":0.021739130434782608},"29":{"ref":29,"tf":0.02564102564102564},"71":{"ref":71,"tf":0.008},"72":{"ref":72,"tf":0.002331002331002331},"74":{"ref":74,"tf":0.005988023952095809},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"78":{"ref":78,"tf":0.011235955056179775},"80":{"ref":80,"tf":0.007692307692307693},"82":{"ref":82,"tf":0.0078125},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.0036363636363636364},"88":{"ref":88,"tf":0.009708737864077669},"89":{"ref":89,"tf":0.022727272727272728},"90":{"ref":90,"tf":0.010416666666666666},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.011111111111111112},"95":{"ref":95,"tf":0.009345794392523364},"96":{"ref":96,"tf":0.017857142857142856},"97":{"ref":97,"tf":0.019230769230769232},"98":{"ref":98,"tf":0.018867924528301886},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.005847953216374269},"108":{"ref":108,"tf":0.028985507246376812},"109":{"ref":109,"tf":0.03418803418803419},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.015037593984962405},"112":{"ref":112,"tf":0.041176470588235294},"113":{"ref":113,"tf":0.028368794326241134},"114":{"ref":114,"tf":0.022328548644338118},"115":{"ref":115,"tf":0.025974025974025976},"116":{"ref":116,"tf":0.022222222222222223},"117":{"ref":117,"tf":0.022727272727272728},"118":{"ref":118,"tf":0.01904761904761905},"119":{"ref":119,"tf":0.051181102362204724},"120":{"ref":120,"tf":0.0440251572327044},"121":{"ref":121,"tf":0.01744186046511628},"126":{"ref":126,"tf":0.022222222222222223},"133":{"ref":133,"tf":0.006700167504187605},"136":{"ref":136,"tf":0.010101010101010102}},"=":{"docs":{},"\"":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"-":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"84":{"ref":84,"tf":0.0036363636363636364}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"8":{"ref":8,"tf":0.02702702702702703},"9":{"ref":9,"tf":0.02702702702702703},"11":{"ref":11,"tf":0.045454545454545456},"32":{"ref":32,"tf":0.04},"43":{"ref":43,"tf":0.006944444444444444},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.00980392156862745},"47":{"ref":47,"tf":0.01},"51":{"ref":51,"tf":0.01694915254237288},"54":{"ref":54,"tf":0.002574002574002574},"56":{"ref":56,"tf":0.006379585326953748},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.002785515320334262},"70":{"ref":70,"tf":0.023809523809523808},"72":{"ref":72,"tf":0.002331002331002331},"117":{"ref":117,"tf":0.007575757575757576},"129":{"ref":129,"tf":0.0017391304347826088},"131":{"ref":131,"tf":0.05555555555555555},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.0019305019305019305}}}},"l":{"docs":{},"e":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"47":{"ref":47,"tf":0.02}}}},"r":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}},"k":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.0022727272727272726},"134":{"ref":134,"tf":0.0011507479861910242}}}},"p":{"docs":{"26":{"ref":26,"tf":0.021739130434782608},"34":{"ref":34,"tf":0.016666666666666666},"95":{"ref":95,"tf":0.009345794392523364},"100":{"ref":100,"tf":0.041666666666666664},"101":{"ref":101,"tf":0.043478260869565216},"102":{"ref":102,"tf":0.020833333333333332},"104":{"ref":104,"tf":10.05084745762712},"105":{"ref":105,"tf":0.011695906432748537},"112":{"ref":112,"tf":0.0058823529411764705},"114":{"ref":114,"tf":0.007974481658692184},"120":{"ref":120,"tf":0.006289308176100629},"133":{"ref":133,"tf":0.010050251256281407},"134":{"ref":134,"tf":0.01726121979286536}},"p":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"16":{"ref":16,"tf":0.007352941176470588},"35":{"ref":35,"tf":0.01818181818181818},"36":{"ref":36,"tf":0.017857142857142856}}}}}}},"b":{"docs":{"25":{"ref":25,"tf":0.022988505747126436},"39":{"ref":39,"tf":10.113924050632912},"40":{"ref":40,"tf":5.285714285714286},"41":{"ref":41,"tf":3.520833333333333},"42":{"ref":42,"tf":3.476190476190476},"56":{"ref":56,"tf":0.001594896331738437},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.0022727272727272726},"95":{"ref":95,"tf":0.12149532710280374},"96":{"ref":96,"tf":0.08928571428571429},"118":{"ref":118,"tf":0.06666666666666667},"123":{"ref":123,"tf":0.01056338028169014},"127":{"ref":127,"tf":0.013245033112582781}},"-":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"39":{"ref":39,"tf":0.012658227848101266}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"39":{"ref":39,"tf":0.012658227848101266}}}}},"s":{"docs":{},"-":{"docs":{},"d":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"39":{"ref":39,"tf":0.012658227848101266}}}},"r":{"docs":{},"k":{"docs":{"39":{"ref":39,"tf":0.012658227848101266}}}}},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"39":{"ref":39,"tf":0.012658227848101266}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"39":{"ref":39,"tf":0.012658227848101266}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"-":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{"39":{"ref":39,"tf":0.012658227848101266}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"-":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"40":{"ref":40,"tf":0.14285714285714285}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"41":{"ref":41,"tf":0.0625}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"42":{"ref":42,"tf":0.07142857142857142}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"39":{"ref":39,"tf":0.012658227848101266}}}}}}}},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"95":{"ref":95,"tf":0.009345794392523364}}}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"39":{"ref":39,"tf":0.012658227848101266}}}}}}}}}},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"39":{"ref":39,"tf":0.012658227848101266}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"39":{"ref":39,"tf":0.012658227848101266}}}}}}}},"l":{"docs":{"55":{"ref":55,"tf":2.5}},"e":{"docs":{},"t":{"docs":{"48":{"ref":48,"tf":0.023255813953488372},"57":{"ref":57,"tf":0.0023584905660377358},"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"'":{"docs":{"95":{"ref":95,"tf":0.009345794392523364}}},"&":{"docs":{},"#":{"3":{"9":{"docs":{},";":{"docs":{"118":{"ref":118,"tf":0.009523809523809525},"123":{"ref":123,"tf":0.0035211267605633804}}}},"docs":{}},"docs":{}}}},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"u":{"docs":{},"i":{"docs":{},"n":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}}}}},"s":{"docs":{},"k":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"54":{"ref":54,"tf":0.021879021879021878},"59":{"ref":59,"tf":0.005571030640668524},"136":{"ref":136,"tf":0.005050505050505051}},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.007722007722007722}}}}}}},"<":{"docs":{},"/":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}},"h":{"1":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}},"docs":{}}}}},"t":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}},"g":{"docs":{"54":{"ref":54,"tf":0.005148005148005148},"59":{"ref":59,"tf":0.008356545961002786},"104":{"ref":104,"tf":0.00423728813559322},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0016750418760469012}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00273224043715847},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.005847953216374269},"114":{"ref":114,"tf":0.001594896331738437},"120":{"ref":120,"tf":0.006289308176100629},"134":{"ref":134,"tf":0.0011507479861910242}},"e":{"docs":{},"l":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"8":{"ref":8,"tf":0.05405405405405406},"9":{"ref":9,"tf":0.08108108108108109},"14":{"ref":14,"tf":0.011494252873563218},"21":{"ref":21,"tf":0.0196078431372549},"22":{"ref":22,"tf":0.04878048780487805},"25":{"ref":25,"tf":0.034482758620689655},"27":{"ref":27,"tf":2.564516129032258},"28":{"ref":28,"tf":2.5384615384615383},"29":{"ref":29,"tf":2.5256410256410255},"32":{"ref":32,"tf":0.04},"39":{"ref":39,"tf":0.012658227848101266},"54":{"ref":54,"tf":0.002574002574002574},"80":{"ref":80,"tf":0.007692307692307693},"88":{"ref":88,"tf":0.019417475728155338},"105":{"ref":105,"tf":0.029239766081871343},"112":{"ref":112,"tf":0.0058823529411764705},"114":{"ref":114,"tf":0.01594896331738437},"123":{"ref":123,"tf":0.0035211267605633804},"134":{"ref":134,"tf":0.0011507479861910242},"136":{"ref":136,"tf":0.010101010101010102}},"-":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"39":{"ref":39,"tf":0.012658227848101266}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"133":{"ref":133,"tf":0.0033500837520938024}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{"104":{"ref":104,"tf":0.00423728813559322}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"119":{"ref":119,"tf":0.03543307086614173}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"20":{"ref":20,"tf":0.02040816326530612}},"a":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.007722007722007722},"84":{"ref":84,"tf":0.01818181818181818},"110":{"ref":110,"tf":0.030612244897959183},"111":{"ref":111,"tf":0.015037593984962405},"114":{"ref":114,"tf":0.025518341307814992},"126":{"ref":126,"tf":0.011111111111111112},"127":{"ref":127,"tf":0.006622516556291391},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.011725293132328308},"136":{"ref":136,"tf":0.005050505050505051}},"e":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"84":{"ref":84,"tf":0.007272727272727273},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.007518796992481203},"114":{"ref":114,"tf":0.006379585326953748},"133":{"ref":133,"tf":0.0033500837520938024},"136":{"ref":136,"tf":0.005050505050505051}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{"111":{"ref":111,"tf":0.007518796992481203},"124":{"ref":124,"tf":0.010309278350515464}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{"34":{"ref":34,"tf":0.016666666666666666},"57":{"ref":57,"tf":0.0023584905660377358}}}},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"57":{"ref":57,"tf":0.0047169811320754715},"61":{"ref":61,"tf":0.010869565217391304},"135":{"ref":135,"tf":0.003861003861003861}}}}}}}}},"s":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.006435006435006435},"55":{"ref":55,"tf":0.04081632653061224},"56":{"ref":56,"tf":0.004784688995215311},"59":{"ref":59,"tf":0.011142061281337047},"60":{"ref":60,"tf":5.0636363636363635},"66":{"ref":66,"tf":0.043478260869565216},"105":{"ref":105,"tf":0.005847953216374269},"127":{"ref":127,"tf":0.006622516556291391},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0023014959723820483}},"s":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"/":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"j":{"docs":{"104":{"ref":104,"tf":0.00423728813559322}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.005571030640668524},"72":{"ref":72,"tf":0.002331002331002331},"98":{"ref":98,"tf":0.018867924528301886},"115":{"ref":115,"tf":0.006493506493506494},"123":{"ref":123,"tf":0.0035211267605633804},"129":{"ref":129,"tf":0.0017391304347826088},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242}}}},"r":{"docs":{},"m":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}},"i":{"docs":{},"n":{"docs":{"129":{"ref":129,"tf":0.0034782608695652175}}}}}},"n":{"docs":{"72":{"ref":72,"tf":0.004662004662004662}},"d":{"docs":{"67":{"ref":67,"tf":0.027777777777777776}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"126":{"ref":126,"tf":0.011111111111111112}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"8":{"ref":8,"tf":0.05405405405405406},"130":{"ref":130,"tf":0.008771929824561403}}}}},"i":{"docs":{},"t":{"docs":{"82":{"ref":82,"tf":0.0078125},"84":{"ref":84,"tf":0.01090909090909091},"102":{"ref":102,"tf":0.020833333333333332},"106":{"ref":106,"tf":0.013333333333333334},"112":{"ref":112,"tf":0.011764705882352941},"123":{"ref":123,"tf":0.01056338028169014}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"56":{"ref":56,"tf":0.001594896331738437}}}}},"c":{"docs":{},"k":{"docs":{"72":{"ref":72,"tf":0.023310023310023312},"84":{"ref":84,"tf":0.0036363636363636364},"123":{"ref":123,"tf":0.0035211267605633804},"134":{"ref":134,"tf":0.0011507479861910242}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"47":{"ref":47,"tf":0.01},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0034522439585730723}}}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"78":{"ref":78,"tf":0.011235955056179775},"90":{"ref":90,"tf":0.010416666666666666},"105":{"ref":105,"tf":0.011695906432748537},"113":{"ref":113,"tf":0.014184397163120567},"114":{"ref":114,"tf":0.001594896331738437},"120":{"ref":120,"tf":0.006289308176100629},"121":{"ref":121,"tf":0.005813953488372093},"133":{"ref":133,"tf":0.0016750418760469012}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{"66":{"ref":66,"tf":0.043478260869565216}}}}},"(":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}}}}}}}}}}},"y":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"56":{"ref":56,"tf":0.003189792663476874},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.0022727272727272726},"84":{"ref":84,"tf":0.0036363636363636364},"103":{"ref":103,"tf":0.006493506493506494},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0033500837520938024}}},"u":{"docs":{},"e":{"docs":{"71":{"ref":71,"tf":0.008},"74":{"ref":74,"tf":0.029940119760479042},"80":{"ref":80,"tf":0.007692307692307693},"90":{"ref":90,"tf":0.020833333333333332},"92":{"ref":92,"tf":0.02857142857142857},"94":{"ref":94,"tf":0.022222222222222223},"103":{"ref":103,"tf":0.012987012987012988},"105":{"ref":105,"tf":0.017543859649122806},"114":{"ref":114,"tf":0.001594896331738437},"118":{"ref":118,"tf":0.009523809523809525},"121":{"ref":121,"tf":0.005813953488372093},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0033500837520938024},"136":{"ref":136,"tf":0.005050505050505051}}}},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}},"h":{"docs":{},"i":{"docs":{},"r":{"docs":{},"d":{"docs":{"13":{"ref":13,"tf":0.21153846153846154},"16":{"ref":16,"tf":0.014705882352941176},"133":{"ref":133,"tf":0.0016750418760469012}},"-":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"104":{"ref":104,"tf":0.00423728813559322}}}}}}}}}},"n":{"docs":{},"g":{"docs":{"34":{"ref":34,"tf":0.016666666666666666},"54":{"ref":54,"tf":0.003861003861003861},"60":{"ref":60,"tf":0.0022727272727272726},"61":{"ref":61,"tf":0.010869565217391304},"72":{"ref":72,"tf":0.004662004662004662},"113":{"ref":113,"tf":0.0070921985815602835},"114":{"ref":114,"tf":0.001594896331738437},"129":{"ref":129,"tf":0.0034782608695652175},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.007722007722007722},"136":{"ref":136,"tf":0.015151515151515152}}},"k":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"72":{"ref":72,"tf":0.002331002331002331},"129":{"ref":129,"tf":0.0034782608695652175},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"'":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"18":{"ref":18,"tf":0.02},"130":{"ref":130,"tf":0.0043859649122807015},"132":{"ref":132,"tf":0.01282051282051282},"133":{"ref":133,"tf":0.0016750418760469012}}}},"n":{"docs":{},"k":{"docs":{"44":{"ref":44,"tf":0.018518518518518517}}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"n":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"18":{"ref":18,"tf":0.02},"19":{"ref":19,"tf":5.06},"25":{"ref":25,"tf":0.022988505747126436},"80":{"ref":80,"tf":0.015384615384615385},"123":{"ref":123,"tf":0.0035211267605633804}}}}}}}}},"e":{"docs":{},"y":{"docs":{},"'":{"docs":{},"r":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"134":{"ref":134,"tf":0.0011507479861910242}}},"l":{"docs":{},"l":{"docs":{"43":{"ref":43,"tf":0.006944444444444444}}}}}},"r":{"docs":{},"e":{"docs":{},"'":{"docs":{"28":{"ref":28,"tf":0.038461538461538464},"43":{"ref":43,"tf":0.006944444444444444},"48":{"ref":48,"tf":0.011627906976744186},"104":{"ref":104,"tf":0.00423728813559322},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"107":{"ref":107,"tf":0.012658227848101266},"134":{"ref":134,"tf":0.0011507479861910242}}}}}}},"m":{"docs":{},"e":{"docs":{"37":{"ref":37,"tf":0.0625},"50":{"ref":50,"tf":0.017857142857142856},"129":{"ref":129,"tf":0.0034782608695652175}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"v":{"docs":{"80":{"ref":80,"tf":0.007692307692307693}}}}}}},"n":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}},"r":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"136":{"ref":136,"tf":0.010101010101010102}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{"43":{"ref":43,"tf":0.013888888888888888},"60":{"ref":60,"tf":0.0022727272727272726},"72":{"ref":72,"tf":0.002331002331002331},"107":{"ref":107,"tf":0.02531645569620253},"133":{"ref":133,"tf":0.0016750418760469012}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"55":{"ref":55,"tf":0.02040816326530612},"56":{"ref":56,"tf":0.001594896331738437},"59":{"ref":59,"tf":0.002785515320334262},"84":{"ref":84,"tf":0.0036363636363636364},"96":{"ref":96,"tf":0.017857142857142856},"106":{"ref":106,"tf":0.013333333333333334},"115":{"ref":115,"tf":0.003246753246753247},"123":{"ref":123,"tf":0.0035211267605633804},"133":{"ref":133,"tf":0.006700167504187605},"135":{"ref":135,"tf":0.005791505791505791},"136":{"ref":136,"tf":0.005050505050505051}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"52":{"ref":52,"tf":0.010416666666666666},"84":{"ref":84,"tf":0.0036363636363636364},"123":{"ref":123,"tf":0.0035211267605633804},"129":{"ref":129,"tf":0.0034782608695652175}}}}}}}},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{"119":{"ref":119,"tf":0.007874015748031496}}}}},"w":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}},"n":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0047169811320754715},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0034522439585730723},"136":{"ref":136,"tf":0.005050505050505051}}}},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"135":{"ref":135,"tf":0.0019305019305019305}},"t":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"x":{"docs":{"15":{"ref":15,"tf":0.022727272727272728}}},"n":{"docs":{},"k":{"docs":{},"i":{"docs":{"18":{"ref":18,"tf":0.02}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"21":{"ref":21,"tf":0.00980392156862745}}}}}}},"o":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"59":{"ref":59,"tf":0.002785515320334262},"72":{"ref":72,"tf":0.006993006993006993},"115":{"ref":115,"tf":0.003246753246753247},"134":{"ref":134,"tf":0.0011507479861910242},"136":{"ref":136,"tf":0.005050505050505051}}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{"18":{"ref":18,"tf":0.02}}}}},"r":{"docs":{},"n":{"docs":{"48":{"ref":48,"tf":0.023255813953488372},"56":{"ref":56,"tf":0.003189792663476874},"59":{"ref":59,"tf":0.002785515320334262}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"54":{"ref":54,"tf":0.003861003861003861},"128":{"ref":128,"tf":6.035714285714286},"133":{"ref":133,"tf":3.3651591289782243}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"z":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"-":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"-":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"-":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"129":{"ref":129,"tf":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"-":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"-":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"130":{"ref":130,"tf":1}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"-":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"-":{"docs":{},"a":{"docs":{},"-":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"-":{"docs":{},"f":{"docs":{},"e":{"docs":{"131":{"ref":131,"tf":1}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"-":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"132":{"ref":132,"tf":1}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"-":{"docs":{},"t":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"133":{"ref":133,"tf":1}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{"58":{"ref":58,"tf":0.00546448087431694},"62":{"ref":62,"tf":0.041666666666666664},"129":{"ref":129,"tf":0.0017391304347826088},"132":{"ref":132,"tf":0.01282051282051282}},"a":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.006435006435006435},"72":{"ref":72,"tf":0.002331002331002331},"84":{"ref":84,"tf":0.0036363636363636364},"106":{"ref":106,"tf":0.013333333333333334},"114":{"ref":114,"tf":0.004784688995215311},"115":{"ref":115,"tf":0.006493506493506494},"133":{"ref":133,"tf":0.005025125628140704}},"i":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{"0":{"ref":0,"tf":0.03225806451612903}}}}},"o":{"docs":{},"u":{"docs":{"0":{"ref":0,"tf":0.03225806451612903},"3":{"ref":3,"tf":0.019230769230769232},"14":{"ref":14,"tf":0.011494252873563218},"26":{"ref":26,"tf":0.021739130434782608},"37":{"ref":37,"tf":0.0625},"55":{"ref":55,"tf":0.02040816326530612},"56":{"ref":56,"tf":0.001594896331738437},"59":{"ref":59,"tf":0.002785515320334262},"80":{"ref":80,"tf":0.007692307692307693},"84":{"ref":84,"tf":0.0036363636363636364},"104":{"ref":104,"tf":0.00423728813559322}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"48":{"ref":48,"tf":0.011627906976744186},"50":{"ref":50,"tf":0.008928571428571428},"56":{"ref":56,"tf":0.003189792663476874},"65":{"ref":65,"tf":0.025},"72":{"ref":72,"tf":0.009324009324009324},"94":{"ref":94,"tf":0.022222222222222223},"129":{"ref":129,"tf":0.020869565217391306}},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"-":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"#":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}},"u":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"91":{"ref":91,"tf":0.0196078431372549},"104":{"ref":104,"tf":0.00423728813559322},"114":{"ref":114,"tf":0.01594896331738437},"115":{"ref":115,"tf":0.003246753246753247},"129":{"ref":129,"tf":0.0052173913043478265},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0016750418760469012}},"e":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.006493506493506494}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"14":{"ref":14,"tf":0.022988505747126436},"56":{"ref":56,"tf":0.001594896331738437},"60":{"ref":60,"tf":0.0022727272727272726},"67":{"ref":67,"tf":0.027777777777777776},"74":{"ref":74,"tf":0.005988023952095809},"82":{"ref":82,"tf":0.015625},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.025454545454545455},"95":{"ref":95,"tf":0.009345794392523364},"98":{"ref":98,"tf":0.018867924528301886},"102":{"ref":102,"tf":0.0625},"103":{"ref":103,"tf":0.03896103896103896},"111":{"ref":111,"tf":0.007518796992481203},"112":{"ref":112,"tf":0.0058823529411764705},"113":{"ref":113,"tf":0.0070921985815602835},"115":{"ref":115,"tf":0.00974025974025974},"118":{"ref":118,"tf":0.009523809523809525},"123":{"ref":123,"tf":0.017605633802816902},"124":{"ref":124,"tf":0.010309278350515464},"133":{"ref":133,"tf":0.0033500837520938024},"135":{"ref":135,"tf":0.0019305019305019305}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"2":{"ref":2,"tf":0.025},"48":{"ref":48,"tf":0.011627906976744186},"104":{"ref":104,"tf":0.00423728813559322}}}}}},"&":{"docs":{},"#":{"3":{"9":{"docs":{},";":{"docs":{"82":{"ref":82,"tf":0.0078125}}}},"docs":{}},"docs":{}}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"103":{"ref":103,"tf":0.006493506493506494}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"21":{"ref":21,"tf":0.00980392156862745}}}}},"i":{"docs":{},"t":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"84":{"ref":84,"tf":0.0036363636363636364}}},"b":{"docs":{},"l":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"82":{"ref":82,"tf":0.0078125},"92":{"ref":92,"tf":0.02857142857142857},"123":{"ref":123,"tf":0.0035211267605633804}}}},"o":{"docs":{},"n":{"docs":{"135":{"ref":135,"tf":0.005791505791505791}}}}}},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"26":{"ref":26,"tf":0.021739130434782608},"56":{"ref":56,"tf":0.001594896331738437},"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0011507479861910242}}}}}}},"d":{"docs":{},"e":{"docs":{},"o":{"docs":{"54":{"ref":54,"tf":0.003861003861003861},"84":{"ref":84,"tf":0.0036363636363636364},"127":{"ref":127,"tf":0.006622516556291391}}}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"54":{"ref":54,"tf":0.002574002574002574},"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.0022727272727272726},"84":{"ref":84,"tf":0.0036363636363636364},"135":{"ref":135,"tf":0.003861003861003861}},"f":{"docs":{},"i":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}}}},"o":{"docs":{},"n":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"56":{"ref":56,"tf":0.006379585326953748},"60":{"ref":60,"tf":0.004545454545454545},"62":{"ref":62,"tf":0.041666666666666664},"66":{"ref":66,"tf":0.043478260869565216},"104":{"ref":104,"tf":0.00423728813559322},"114":{"ref":114,"tf":0.001594896331738437},"121":{"ref":121,"tf":0.011627906976744186},"129":{"ref":129,"tf":0.0052173913043478265},"135":{"ref":135,"tf":0.003861003861003861}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"47":{"ref":47,"tf":2.54},"74":{"ref":74,"tf":0.005988023952095809},"90":{"ref":90,"tf":0.010416666666666666}}}}},"b":{"docs":{},"o":{"docs":{},"s":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}},"n":{"docs":{},"k":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"18":{"ref":18,"tf":0.04}}}}}},"d":{"docs":{},"o":{"docs":{},"r":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}}},"i":{"docs":{},"d":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"72":{"ref":72,"tf":0.004662004662004662},"113":{"ref":113,"tf":0.014184397163120567},"115":{"ref":115,"tf":0.01948051948051948},"134":{"ref":134,"tf":0.0011507479861910242}},"e":{"docs":{},"a":{"docs":{"1":{"ref":1,"tf":0.045454545454545456},"134":{"ref":134,"tf":0.0011507479861910242}}},"n":{"docs":{},"t":{"docs":{"72":{"ref":72,"tf":0.009324009324009324},"129":{"ref":129,"tf":0.0017391304347826088}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"74":{"ref":74,"tf":0.005988023952095809},"80":{"ref":80,"tf":0.007692307692307693},"82":{"ref":82,"tf":0.0078125},"90":{"ref":90,"tf":0.010416666666666666},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.011111111111111112},"96":{"ref":96,"tf":0.017857142857142856}}}}}}}},"=":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"-":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"-":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}},")":{"docs":{},"&":{"docs":{},"#":{"3":{"9":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}},"docs":{}},"docs":{}}}}}}}}}},"'":{"docs":{},"m":{"docs":{"2":{"ref":2,"tf":0.175},"18":{"ref":18,"tf":0.04},"22":{"ref":22,"tf":0.0975609756097561},"83":{"ref":83,"tf":0.02127659574468085},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.0019305019305019305}}},"l":{"docs":{},"l":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}},"v":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}},"o":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"56":{"ref":56,"tf":0.012759170653907496},"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.022727272727272728},"65":{"ref":65,"tf":0.025},"67":{"ref":67,"tf":0.027777777777777776},"74":{"ref":74,"tf":0.011976047904191617},"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.012987012987012988},"121":{"ref":121,"tf":0.005813953488372093},"127":{"ref":127,"tf":0.039735099337748346},"130":{"ref":130,"tf":0.008771929824561403},"132":{"ref":132,"tf":2.5128205128205128},"136":{"ref":136,"tf":0.005050505050505051}},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{"2":{"ref":2,"tf":0.025},"26":{"ref":26,"tf":0.021739130434782608},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"36":{"ref":36,"tf":0.017857142857142856},"37":{"ref":37,"tf":0.0625},"39":{"ref":39,"tf":0.012658227848101266},"43":{"ref":43,"tf":0.006944444444444444},"49":{"ref":49,"tf":0.08333333333333333},"50":{"ref":50,"tf":0.044642857142857144},"51":{"ref":51,"tf":0.03389830508474576},"52":{"ref":52,"tf":0.010416666666666666},"53":{"ref":53,"tf":0.041666666666666664},"54":{"ref":54,"tf":0.010296010296010296},"55":{"ref":55,"tf":2.5816326530612246},"56":{"ref":56,"tf":3.358851674641148},"57":{"ref":57,"tf":5.058962264150943},"58":{"ref":58,"tf":0.00819672131147541},"59":{"ref":59,"tf":0.033426183844011144},"60":{"ref":60,"tf":0.006818181818181818},"61":{"ref":61,"tf":0.05434782608695652},"62":{"ref":62,"tf":0.041666666666666664},"63":{"ref":63,"tf":0.0975609756097561},"64":{"ref":64,"tf":0.0625},"65":{"ref":65,"tf":0.025},"66":{"ref":66,"tf":0.08695652173913043},"67":{"ref":67,"tf":0.05555555555555555},"68":{"ref":68,"tf":0.05555555555555555},"69":{"ref":69,"tf":3.383333333333333},"70":{"ref":70,"tf":10.071428571428571},"74":{"ref":74,"tf":0.017964071856287425},"84":{"ref":84,"tf":0.01090909090909091},"88":{"ref":88,"tf":0.009708737864077669},"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.025974025974025976},"104":{"ref":104,"tf":0.0211864406779661},"105":{"ref":105,"tf":0.005847953216374269},"106":{"ref":106,"tf":0.02666666666666667},"108":{"ref":108,"tf":0.014492753623188406},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.007518796992481203},"114":{"ref":114,"tf":0.003189792663476874},"122":{"ref":122,"tf":3.333333333333333},"123":{"ref":123,"tf":3.3368544600938965},"124":{"ref":124,"tf":3.353951890034364},"125":{"ref":125,"tf":3.333333333333333},"126":{"ref":126,"tf":5.066666666666666},"127":{"ref":127,"tf":3.4326710816777037},"128":{"ref":128,"tf":5.053571428571429},"129":{"ref":129,"tf":2.5243478260869567},"130":{"ref":130,"tf":2.508771929824561},"131":{"ref":131,"tf":2.111111111111111},"132":{"ref":132,"tf":0.038461538461538464},"133":{"ref":133,"tf":0.006700167504187605},"134":{"ref":134,"tf":0.01611047180667434},"135":{"ref":135,"tf":0.009652509652509652},"136":{"ref":136,"tf":0.010101010101010102}},"'":{"docs":{"4":{"ref":4,"tf":0.022727272727272728},"14":{"ref":14,"tf":0.011494252873563218},"38":{"ref":38,"tf":0.011627906976744186},"43":{"ref":43,"tf":0.006944444444444444},"45":{"ref":45,"tf":0.00980392156862745},"50":{"ref":50,"tf":0.008928571428571428},"74":{"ref":74,"tf":0.005988023952095809},"84":{"ref":84,"tf":0.0036363636363636364},"104":{"ref":104,"tf":0.012711864406779662},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.006956521739130435},"132":{"ref":132,"tf":0.01282051282051282},"134":{"ref":134,"tf":0.0011507479861910242}}},"o":{"docs":{},"n":{"docs":{"10":{"ref":10,"tf":0.023809523809523808},"16":{"ref":16,"tf":0.007352941176470588},"51":{"ref":51,"tf":0.0847457627118644},"126":{"ref":126,"tf":0.011111111111111112}},"s":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{"50":{"ref":50,"tf":0.008928571428571428}}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"113":{"ref":113,"tf":0.0070921985815602835},"121":{"ref":121,"tf":10.005813953488373},"124":{"ref":124,"tf":0.010309278350515464},"125":{"ref":125,"tf":0.2}},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"103":{"ref":103,"tf":0.012987012987012988}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"y":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"132":{"ref":132,"tf":0.01282051282051282}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"108":{"ref":108,"tf":0.028985507246376812},"120":{"ref":120,"tf":10.0062893081761},"125":{"ref":125,"tf":0.2}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"108":{"ref":108,"tf":0.014492753623188406}}},"&":{"docs":{},"#":{"3":{"9":{"docs":{},";":{"docs":{"124":{"ref":124,"tf":0.010309278350515464}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"l":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"119":{"ref":119,"tf":10.003937007874017},"125":{"ref":125,"tf":0.2}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}}}}},"n":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}},"s":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"71":{"ref":71,"tf":10.016},"111":{"ref":111,"tf":10.030075187969924},"122":{"ref":122,"tf":0.3333333333333333},"124":{"ref":124,"tf":0.010309278350515464}},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{},"'":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"-":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"#":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"111":{"ref":111,"tf":0.015037593984962405}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"93":{"ref":93,"tf":0.04225352112676056},"116":{"ref":116,"tf":10.016666666666667},"124":{"ref":124,"tf":0.010309278350515464}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"93":{"ref":93,"tf":0.014084507042253521},"116":{"ref":116,"tf":0.005555555555555556}},"(":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}},"$":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"y":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"y":{"docs":{},"-":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"116":{"ref":116,"tf":0.005555555555555556}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"74":{"ref":74,"tf":0.011976047904191617},"90":{"ref":90,"tf":0.020833333333333332},"115":{"ref":115,"tf":10.016233766233766},"124":{"ref":124,"tf":0.010309278350515464}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"$":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"y":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"-":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"94":{"ref":94,"tf":0.022222222222222223},"117":{"ref":117,"tf":10.022727272727273},"124":{"ref":124,"tf":0.010309278350515464}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"$":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"y":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"y":{"docs":{},"-":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"117":{"ref":117,"tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"117":{"ref":117,"tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}}}},"-":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"68":{"ref":68,"tf":0.027777777777777776}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"-":{"docs":{},"s":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"-":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"-":{"docs":{},"s":{"docs":{},"e":{"docs":{"128":{"ref":128,"tf":0.017857142857142856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"80":{"ref":80,"tf":0.015384615384615385},"109":{"ref":109,"tf":10.025641025641026}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"$":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"y":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"y":{"docs":{},"-":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"109":{"ref":109,"tf":0.008547008547008548}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"109":{"ref":109,"tf":0.008547008547008548}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"110":{"ref":110,"tf":10.020408163265307},"124":{"ref":124,"tf":0.010309278350515464}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{"110":{"ref":110,"tf":0.01020408163265306}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"110":{"ref":110,"tf":0.01020408163265306}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"81":{"ref":81,"tf":0.06060606060606061},"82":{"ref":82,"tf":0.015625},"112":{"ref":112,"tf":10.011764705882353},"124":{"ref":124,"tf":0.010309278350515464}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"81":{"ref":81,"tf":0.015151515151515152}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"81":{"ref":81,"tf":0.015151515151515152}}}}}}}}}}}}}}}}},"$":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"y":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"y":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"96":{"ref":96,"tf":0.03571428571428571},"118":{"ref":118,"tf":10.028571428571428},"124":{"ref":124,"tf":0.010309278350515464}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"95":{"ref":95,"tf":0.009345794392523364}},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"118":{"ref":118,"tf":0.009523809523809525}}}}}}}}}}}}}},"$":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"y":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"y":{"docs":{},"-":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{"118":{"ref":118,"tf":0.009523809523809525}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{"105":{"ref":105,"tf":10.017543859649123},"124":{"ref":124,"tf":0.010309278350515464}},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"105":{"ref":105,"tf":0.005847953216374269}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"106":{"ref":106,"tf":10.04}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{"107":{"ref":107,"tf":10.025316455696203}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"107":{"ref":107,"tf":0.02531645569620253}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"107":{"ref":107,"tf":0.02531645569620253}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"108":{"ref":108,"tf":10.014492753623188},"124":{"ref":124,"tf":0.010309278350515464}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"113":{"ref":113,"tf":10.00709219858156},"124":{"ref":124,"tf":0.010309278350515464}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{"114":{"ref":114,"tf":10.003189792663477},"124":{"ref":124,"tf":0.010309278350515464},"136":{"ref":136,"tf":0.005050505050505051}},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{"114":{"ref":114,"tf":0.001594896331738437},"136":{"ref":136,"tf":0.005050505050505051}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"114":{"ref":114,"tf":0.001594896331738437},"136":{"ref":136,"tf":0.005050505050505051}}}}}}}}}}}},"&":{"docs":{},"#":{"3":{"9":{"docs":{},";":{"docs":{"123":{"ref":123,"tf":0.007042253521126761}}}},"docs":{}},"docs":{}}},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"129":{"ref":129,"tf":0.0034782608695652175}}}}}}},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"74":{"ref":74,"tf":0.005988023952095809},"78":{"ref":78,"tf":0.011235955056179775},"123":{"ref":123,"tf":0.007042253521126761}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"75":{"ref":75,"tf":0.08333333333333333},"80":{"ref":80,"tf":0.015384615384615385},"85":{"ref":85,"tf":0.09090909090909091},"89":{"ref":89,"tf":0.022727272727272728},"123":{"ref":123,"tf":0.007042253521126761}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"127":{"ref":127,"tf":0.006622516556291391}}}}}}},"-":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"74":{"ref":74,"tf":10.005988023952096},"84":{"ref":84,"tf":0.007272727272727273},"96":{"ref":96,"tf":0.017857142857142856},"111":{"ref":111,"tf":0.015037593984962405}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"-":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"73":{"ref":73,"tf":10.05}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"-":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"77":{"ref":77,"tf":10.018867924528301},"111":{"ref":111,"tf":0.015037593984962405}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"79":{"ref":79,"tf":10.125}}}}},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"-":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"78":{"ref":78,"tf":10.01123595505618}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"-":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"59":{"ref":59,"tf":0.008356545961002786},"91":{"ref":91,"tf":10.019607843137255},"93":{"ref":93,"tf":10.04225352112676},"130":{"ref":130,"tf":0.008771929824561403}},"-":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"59":{"ref":59,"tf":0.002785515320334262},"92":{"ref":92,"tf":10.028571428571428},"93":{"ref":93,"tf":0.014084507042253521}}}}}}},"s":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"90":{"ref":90,"tf":10.010416666666666},"115":{"ref":115,"tf":0.003246753246753247}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"-":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"94":{"ref":94,"tf":10.011111111111111}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"75":{"ref":75,"tf":10.083333333333334}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"-":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"76":{"ref":76,"tf":10.018867924528301},"99":{"ref":99,"tf":0.02127659574468085}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"80":{"ref":80,"tf":10.007692307692308}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"-":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"81":{"ref":81,"tf":10.015151515151516}}}}}}}}}}},"r":{"docs":{"82":{"ref":82,"tf":10.03125}}}},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"83":{"ref":83,"tf":10.02127659574468}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"84":{"ref":84,"tf":10.010909090909092},"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"82":{"ref":82,"tf":0.015625},"84":{"ref":84,"tf":0.01090909090909091},"98":{"ref":98,"tf":10.018867924528301}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"85":{"ref":85,"tf":10.090909090909092}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"86":{"ref":86,"tf":10.066666666666666}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{"87":{"ref":87,"tf":10.041666666666666}}}}}},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"88":{"ref":88,"tf":10.019417475728156}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"-":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"89":{"ref":89,"tf":10.022727272727273}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"95":{"ref":95,"tf":10.009345794392523},"96":{"ref":96,"tf":10.035714285714286}}}},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"97":{"ref":97,"tf":10.01923076923077}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"78":{"ref":78,"tf":0.011235955056179775},"88":{"ref":88,"tf":0.019417475728155338},"115":{"ref":115,"tf":0.003246753246753247},"123":{"ref":123,"tf":0.0035211267605633804},"124":{"ref":124,"tf":0.010309278350515464}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{"91":{"ref":91,"tf":0.0392156862745098},"92":{"ref":92,"tf":0.08571428571428572},"93":{"ref":93,"tf":0.014084507042253521},"116":{"ref":116,"tf":0.016666666666666666},"123":{"ref":123,"tf":0.01056338028169014},"124":{"ref":124,"tf":0.010309278350515464}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"91":{"ref":91,"tf":0.0196078431372549},"93":{"ref":93,"tf":0.014084507042253521},"123":{"ref":123,"tf":0.007042253521126761}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"117":{"ref":117,"tf":0.015151515151515152},"123":{"ref":123,"tf":0.0035211267605633804},"124":{"ref":124,"tf":0.010309278350515464}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"74":{"ref":74,"tf":0.005988023952095809},"78":{"ref":78,"tf":0.011235955056179775},"88":{"ref":88,"tf":0.019417475728155338},"115":{"ref":115,"tf":0.003246753246753247},"123":{"ref":123,"tf":0.007042253521126761},"124":{"ref":124,"tf":0.010309278350515464}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"123":{"ref":123,"tf":0.0035211267605633804}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"74":{"ref":74,"tf":0.005988023952095809},"90":{"ref":90,"tf":0.010416666666666666},"123":{"ref":123,"tf":0.0035211267605633804}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"80":{"ref":80,"tf":0.007692307692307693}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{"123":{"ref":123,"tf":0.0035211267605633804}}}}}}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"76":{"ref":76,"tf":0.018867924528301886},"123":{"ref":123,"tf":0.0035211267605633804}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"77":{"ref":77,"tf":0.018867924528301886},"123":{"ref":123,"tf":0.0035211267605633804}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"79":{"ref":79,"tf":0.125},"80":{"ref":80,"tf":0.007692307692307693},"109":{"ref":109,"tf":0.02564102564102564},"123":{"ref":123,"tf":0.0035211267605633804}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"80":{"ref":80,"tf":0.007692307692307693}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"80":{"ref":80,"tf":0.007692307692307693}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"81":{"ref":81,"tf":0.030303030303030304},"83":{"ref":83,"tf":0.0425531914893617},"84":{"ref":84,"tf":0.0036363636363636364},"98":{"ref":98,"tf":0.07547169811320754},"112":{"ref":112,"tf":0.01764705882352941},"123":{"ref":123,"tf":0.014084507042253521},"124":{"ref":124,"tf":0.010309278350515464}}},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"82":{"ref":82,"tf":0.0078125},"112":{"ref":112,"tf":0.0058823529411764705},"123":{"ref":123,"tf":0.0035211267605633804}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"82":{"ref":82,"tf":0.0078125},"83":{"ref":83,"tf":0.02127659574468085},"123":{"ref":123,"tf":0.007042253521126761}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"82":{"ref":82,"tf":0.0078125},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.007272727272727273},"98":{"ref":98,"tf":0.018867924528301886},"118":{"ref":118,"tf":0.009523809523809525},"123":{"ref":123,"tf":0.007042253521126761}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"82":{"ref":82,"tf":0.0078125},"83":{"ref":83,"tf":0.02127659574468085},"123":{"ref":123,"tf":0.007042253521126761}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"95":{"ref":95,"tf":0.028037383177570093},"96":{"ref":96,"tf":0.017857142857142856},"118":{"ref":118,"tf":0.0380952380952381},"123":{"ref":123,"tf":0.007042253521126761},"124":{"ref":124,"tf":0.010309278350515464}}}},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"123":{"ref":123,"tf":0.0035211267605633804}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"123":{"ref":123,"tf":0.0035211267605633804}}}}}},"s":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"e":{"docs":{},"n":{"docs":{},"/":{"3":{"docs":{},".":{"4":{"docs":{},".":{"0":{"docs":{},"/":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"m":{"docs":{},"d":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"#":{"docs":{},"i":{"docs":{},"o":{"docs":{},"s":{"docs":{},"%":{"2":{"0":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"%":{"2":{"0":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}}},"docs":{}},"docs":{}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"3":{"ref":3,"tf":0.019230769230769232},"9":{"ref":9,"tf":0.02702702702702703},"20":{"ref":20,"tf":0.02040816326530612},"21":{"ref":21,"tf":0.00980392156862745},"50":{"ref":50,"tf":0.008928571428571428},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0047169811320754715},"58":{"ref":58,"tf":0.00273224043715847},"61":{"ref":61,"tf":0.010869565217391304},"74":{"ref":74,"tf":0.005988023952095809},"84":{"ref":84,"tf":0.0036363636363636364}}}}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"52":{"ref":52,"tf":0.010416666666666666},"71":{"ref":71,"tf":0.032},"109":{"ref":109,"tf":0.017094017094017096},"111":{"ref":111,"tf":0.015037593984962405},"112":{"ref":112,"tf":0.0058823529411764705},"115":{"ref":115,"tf":0.003246753246753247},"116":{"ref":116,"tf":0.011111111111111112},"117":{"ref":117,"tf":0.015151515151515152},"118":{"ref":118,"tf":0.01904761904761905}}},"t":{"docs":{},"i":{"docs":{"71":{"ref":71,"tf":0.008},"122":{"ref":122,"tf":0.16666666666666666}}}}},"l":{"docs":{"55":{"ref":55,"tf":0.04081632653061224},"56":{"ref":56,"tf":3.3636363636363633},"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.005571030640668524},"63":{"ref":63,"tf":0.024390243902439025},"127":{"ref":127,"tf":0.033112582781456956},"129":{"ref":129,"tf":0.006956521739130435},"132":{"ref":132,"tf":0.01282051282051282}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}},"i":{"docs":{},"d":{"docs":{"10":{"ref":10,"tf":0.023809523809523808},"20":{"ref":20,"tf":0.02040816326530612},"22":{"ref":22,"tf":0.024390243902439025},"31":{"ref":31,"tf":0.047619047619047616},"44":{"ref":44,"tf":0.018518518518518517},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.006818181818181818},"72":{"ref":72,"tf":0.002331002331002331},"81":{"ref":81,"tf":0.015151515151515152},"82":{"ref":82,"tf":0.03125},"90":{"ref":90,"tf":0.010416666666666666},"96":{"ref":96,"tf":0.017857142857142856},"111":{"ref":111,"tf":0.007518796992481203},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525},"123":{"ref":123,"tf":0.007042253521126761},"129":{"ref":129,"tf":0.0034782608695652175},"130":{"ref":130,"tf":0.008771929824561403},"133":{"ref":133,"tf":0.0016750418760469012}}}},"e":{"docs":{},"t":{"docs":{"20":{"ref":20,"tf":5.1020408163265305},"21":{"ref":21,"tf":0.00980392156862745},"30":{"ref":30,"tf":5.081081081081081},"31":{"ref":31,"tf":5.142857142857143}}},"r":{"docs":{},"t":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"60":{"ref":60,"tf":0.004545454545454545}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"4":{"ref":4,"tf":0.022727272727272728},"14":{"ref":14,"tf":0.011494252873563218},"21":{"ref":21,"tf":0.00980392156862745},"47":{"ref":47,"tf":0.01},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.016713091922005572},"64":{"ref":64,"tf":5},"65":{"ref":65,"tf":0.025},"80":{"ref":80,"tf":0.007692307692307693},"103":{"ref":103,"tf":0.006493506493506494},"104":{"ref":104,"tf":0.00423728813559322},"123":{"ref":123,"tf":0.0035211267605633804},"130":{"ref":130,"tf":0.0043859649122807015},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"h":{"docs":{"19":{"ref":19,"tf":0.02},"24":{"ref":24,"tf":0.08333333333333333}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}}}},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"28":{"ref":28,"tf":2.5384615384615383}},"e":{"docs":{},"-":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"4":{"ref":4,"tf":0.022727272727272728}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{"51":{"ref":51,"tf":0.01694915254237288},"84":{"ref":84,"tf":0.0036363636363636364}},"r":{"docs":{},"m":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"21":{"ref":21,"tf":0.0196078431372549},"23":{"ref":23,"tf":0.06060606060606061},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00273224043715847},"69":{"ref":69,"tf":0.05},"84":{"ref":84,"tf":0.0036363636363636364},"93":{"ref":93,"tf":0.014084507042253521},"103":{"ref":103,"tf":0.006493506493506494},"126":{"ref":126,"tf":0.011111111111111112},"129":{"ref":129,"tf":0.0034782608695652175}}}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"59":{"ref":59,"tf":0.002785515320334262},"74":{"ref":74,"tf":0.005988023952095809},"78":{"ref":78,"tf":0.011235955056179775},"106":{"ref":106,"tf":0.013333333333333334}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"57":{"ref":57,"tf":0.0023584905660377358},"61":{"ref":61,"tf":0.021739130434782608},"80":{"ref":80,"tf":0.007692307692307693},"110":{"ref":110,"tf":0.01020408163265306},"124":{"ref":124,"tf":0.010309278350515464},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"38":{"ref":38,"tf":0.011627906976744186},"39":{"ref":39,"tf":0.012658227848101266},"80":{"ref":80,"tf":0.007692307692307693},"84":{"ref":84,"tf":0.0036363636363636364},"96":{"ref":96,"tf":0.017857142857142856},"123":{"ref":123,"tf":0.007042253521126761},"133":{"ref":133,"tf":0.006700167504187605}}}},"e":{"docs":{},"r":{"docs":{"104":{"ref":104,"tf":0.00423728813559322}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"126":{"ref":126,"tf":0.011111111111111112},"135":{"ref":135,"tf":0.003861003861003861}}}}}},"g":{"docs":{"90":{"ref":90,"tf":0.020833333333333332}}}},"r":{"docs":{},"o":{"docs":{"133":{"ref":133,"tf":3.336683417085427}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"104":{"ref":104,"tf":0.00423728813559322},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242}}}}},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"133":{"ref":133,"tf":0.005025125628140704}}}}}}},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"u":{"docs":{"26":{"ref":26,"tf":0.021739130434782608},"31":{"ref":31,"tf":0.047619047619047616},"82":{"ref":82,"tf":0.0078125},"96":{"ref":96,"tf":0.017857142857142856}}}}}},"c":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"110":{"ref":110,"tf":0.11224489795918367},"124":{"ref":124,"tf":0.010309278350515464},"133":{"ref":133,"tf":0.0033500837520938024}}}},"e":{"docs":{},"x":{"docs":{"54":{"ref":54,"tf":0.003861003861003861},"72":{"ref":72,"tf":0.006993006993006993},"84":{"ref":84,"tf":0.0036363636363636364},"89":{"ref":89,"tf":0.022727272727272728},"105":{"ref":105,"tf":0.005847953216374269},"115":{"ref":115,"tf":0.003246753246753247},"117":{"ref":117,"tf":0.015151515151515152},"118":{"ref":118,"tf":0.0380952380952381},"119":{"ref":119,"tf":0.011811023622047244}},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"59":{"ref":59,"tf":0.008356545961002786},"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"70":{"ref":70,"tf":0.023809523809523808}}}}},"t":{"docs":{},"h":{"docs":{"127":{"ref":127,"tf":0.006622516556291391}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"26":{"ref":26,"tf":3.4202898550724634},"27":{"ref":27,"tf":2.564516129032258},"28":{"ref":28,"tf":2.5384615384615383},"29":{"ref":29,"tf":2.551282051282051},"30":{"ref":30,"tf":0.02702702702702703},"31":{"ref":31,"tf":5.095238095238095},"32":{"ref":32,"tf":5.08},"33":{"ref":33,"tf":5.1},"34":{"ref":34,"tf":0.03333333333333333},"35":{"ref":35,"tf":0.01818181818181818},"36":{"ref":36,"tf":0.05357142857142857},"54":{"ref":54,"tf":0.003861003861003861},"71":{"ref":71,"tf":0.008},"73":{"ref":73,"tf":0.05},"87":{"ref":87,"tf":0.041666666666666664},"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.01948051948051948},"104":{"ref":104,"tf":0.00847457627118644},"114":{"ref":114,"tf":0.006379585326953748},"123":{"ref":123,"tf":0.007042253521126761},"126":{"ref":126,"tf":0.022222222222222223},"134":{"ref":134,"tf":0.011507479861910242},"136":{"ref":136,"tf":0.010101010101010102}},"'":{"docs":{"27":{"ref":27,"tf":0.03225806451612903},"29":{"ref":29,"tf":0.02564102564102564},"134":{"ref":134,"tf":0.0023014959723820483}}},"-":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{"28":{"ref":28,"tf":0.038461538461538464},"29":{"ref":29,"tf":0.02564102564102564}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"114":{"ref":114,"tf":0.003189792663476874}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"114":{"ref":114,"tf":0.003189792663476874},"136":{"ref":136,"tf":0.005050505050505051}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"52":{"ref":52,"tf":0.010416666666666666},"97":{"ref":97,"tf":0.038461538461538464}}}}},"e":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"59":{"ref":59,"tf":0.011142061281337047},"104":{"ref":104,"tf":0.00423728813559322},"133":{"ref":133,"tf":0.005025125628140704},"134":{"ref":134,"tf":0.0011507479861910242}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"71":{"ref":71,"tf":0.008}}}}}}}}},"-":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}},"/":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"104":{"ref":104,"tf":0.00423728813559322}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"136":{"ref":136,"tf":0.005050505050505051}}}}}}},"c":{"docs":{"114":{"ref":114,"tf":0.004784688995215311}},"o":{"docs":{},"n":{"docs":{"10":{"ref":10,"tf":5.119047619047619},"14":{"ref":14,"tf":0.011494252873563218},"16":{"ref":16,"tf":5.088235294117647},"18":{"ref":18,"tf":0.02},"19":{"ref":19,"tf":0.02},"25":{"ref":25,"tf":0.022988505747126436},"32":{"ref":32,"tf":5.16},"36":{"ref":36,"tf":0.017857142857142856},"39":{"ref":39,"tf":0.02531645569620253},"41":{"ref":41,"tf":3.395833333333333},"42":{"ref":42,"tf":3.4047619047619047},"51":{"ref":51,"tf":10.152542372881356},"54":{"ref":54,"tf":0.001287001287001287},"64":{"ref":64,"tf":0.0625},"78":{"ref":78,"tf":0.02247191011235955},"80":{"ref":80,"tf":0.007692307692307693},"88":{"ref":88,"tf":0.019417475728155338},"95":{"ref":95,"tf":0.037383177570093455},"123":{"ref":123,"tf":0.0035211267605633804},"126":{"ref":126,"tf":0.011111111111111112},"129":{"ref":129,"tf":0.0017391304347826088}},"-":{"docs":{},"o":{"docs":{},"n":{"docs":{"95":{"ref":95,"tf":0.018691588785046728}},"l":{"docs":{},"i":{"docs":{"40":{"ref":40,"tf":5.142857142857143}}}}},"f":{"docs":{},"f":{"docs":{"95":{"ref":95,"tf":0.018691588785046728}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"15":{"ref":15,"tf":0.06818181818181818},"16":{"ref":16,"tf":0.08088235294117647},"17":{"ref":17,"tf":0.07692307692307693},"18":{"ref":18,"tf":5.06},"19":{"ref":19,"tf":5.08},"21":{"ref":21,"tf":0.029411764705882353},"25":{"ref":25,"tf":0.04597701149425287},"26":{"ref":26,"tf":0.021739130434782608},"29":{"ref":29,"tf":0.02564102564102564},"30":{"ref":30,"tf":0.02702702702702703},"31":{"ref":31,"tf":0.09523809523809523},"34":{"ref":34,"tf":0.03333333333333333},"35":{"ref":35,"tf":0.05454545454545454},"36":{"ref":36,"tf":0.017857142857142856},"37":{"ref":37,"tf":0.0625},"54":{"ref":54,"tf":0.001287001287001287},"72":{"ref":72,"tf":0.05827505827505827},"75":{"ref":75,"tf":0.08333333333333333},"80":{"ref":80,"tf":0.06153846153846154},"89":{"ref":89,"tf":0.09090909090909091},"111":{"ref":111,"tf":0.007518796992481203},"124":{"ref":124,"tf":0.010309278350515464}},"-":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"15":{"ref":15,"tf":0.022727272727272728},"22":{"ref":22,"tf":0.024390243902439025},"25":{"ref":25,"tf":0.011494252873563218}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"-":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"16":{"ref":16,"tf":0.007352941176470588}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"16":{"ref":16,"tf":0.007352941176470588}}}}}}}}}}},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"26":{"ref":26,"tf":0.043478260869565216},"32":{"ref":32,"tf":0.04},"54":{"ref":54,"tf":0.001287001287001287}},"-":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"31":{"ref":31,"tf":0.047619047619047616}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"16":{"ref":16,"tf":0.007352941176470588}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"-":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"17":{"ref":17,"tf":0.07692307692307693}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"17":{"ref":17,"tf":0.07692307692307693}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"25":{"ref":25,"tf":0.011494252873563218}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{"18":{"ref":18,"tf":0.02},"25":{"ref":25,"tf":0.011494252873563218}}}}}}}},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"n":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"-":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"19":{"ref":19,"tf":0.02}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"19":{"ref":19,"tf":0.02}}}}}}}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"34":{"ref":34,"tf":0.016666666666666666}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"-":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{"29":{"ref":29,"tf":0.02564102564102564}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"35":{"ref":35,"tf":0.01818181818181818}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{"36":{"ref":36,"tf":0.017857142857142856}}}}}}}},".":{"docs":{},"i":{"docs":{},"d":{"docs":{"72":{"ref":72,"tf":0.004662004662004662}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"80":{"ref":80,"tf":0.007692307692307693}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"80":{"ref":80,"tf":0.007692307692307693}}}}}}}}},"'":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"26":{"ref":26,"tf":0.021739130434782608},"35":{"ref":35,"tf":0.01818181818181818},"43":{"ref":43,"tf":0.006944444444444444},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.00980392156862745},"46":{"ref":46,"tf":0.019230769230769232},"47":{"ref":47,"tf":0.01},"48":{"ref":48,"tf":0.011627906976744186},"51":{"ref":51,"tf":0.01694915254237288},"54":{"ref":54,"tf":0.002574002574002574},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.007075471698113208},"58":{"ref":58,"tf":0.00273224043715847},"60":{"ref":60,"tf":0.004545454545454545},"69":{"ref":69,"tf":0.05},"73":{"ref":73,"tf":0.05},"87":{"ref":87,"tf":0.041666666666666664},"127":{"ref":127,"tf":0.006622516556291391},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.005753739930955121},"135":{"ref":135,"tf":0.003861003861003861}},"l":{"docs":{},"l":{"docs":{"20":{"ref":20,"tf":0.02040816326530612},"27":{"ref":27,"tf":0.03225806451612903},"121":{"ref":121,"tf":0.011627906976744186}}}},"d":{"docs":{"48":{"ref":48,"tf":0.011627906976744186}}}},"-":{"docs":{},"o":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"46":{"ref":46,"tf":0.019230769230769232},"57":{"ref":57,"tf":0.0023584905660377358},"63":{"ref":63,"tf":0.024390243902439025},"71":{"ref":71,"tf":0.008},"82":{"ref":82,"tf":0.0078125},"130":{"ref":130,"tf":0.008771929824561403},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"&":{"docs":{},"#":{"3":{"9":{"docs":{},";":{"docs":{"123":{"ref":123,"tf":0.007042253521126761}}}},"docs":{}},"docs":{}}},"]":{"docs":{},"(":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}}}}}}}}}}}}}}}}},"’":{"docs":{"134":{"ref":134,"tf":0.005753739930955121}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"18":{"ref":18,"tf":0.02},"19":{"ref":19,"tf":0.02},"24":{"ref":24,"tf":5.041666666666667},"25":{"ref":25,"tf":0.034482758620689655},"72":{"ref":72,"tf":0.002331002331002331}},"i":{"docs":{},"n":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"74":{"ref":74,"tf":0.005988023952095809},"129":{"ref":129,"tf":0.006956521739130435},"136":{"ref":136,"tf":0.005050505050505051}}}}},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"69":{"ref":69,"tf":0.1},"71":{"ref":71,"tf":0.008},"72":{"ref":72,"tf":0.002331002331002331},"73":{"ref":73,"tf":0.05},"74":{"ref":74,"tf":0.005988023952095809},"75":{"ref":75,"tf":0.08333333333333333},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"78":{"ref":78,"tf":0.011235955056179775},"79":{"ref":79,"tf":0.125},"80":{"ref":80,"tf":0.007692307692307693},"81":{"ref":81,"tf":0.015151515151515152},"82":{"ref":82,"tf":0.0078125},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.0036363636363636364},"85":{"ref":85,"tf":0.09090909090909091},"86":{"ref":86,"tf":0.06666666666666667},"87":{"ref":87,"tf":0.041666666666666664},"88":{"ref":88,"tf":0.009708737864077669},"89":{"ref":89,"tf":0.022727272727272728},"90":{"ref":90,"tf":0.010416666666666666},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.011111111111111112},"95":{"ref":95,"tf":0.009345794392523364},"96":{"ref":96,"tf":0.017857142857142856},"97":{"ref":97,"tf":0.019230769230769232},"98":{"ref":98,"tf":0.018867924528301886},"99":{"ref":99,"tf":0.02127659574468085},"100":{"ref":100,"tf":0.041666666666666664},"101":{"ref":101,"tf":0.043478260869565216},"102":{"ref":102,"tf":0.020833333333333332},"103":{"ref":103,"tf":0.006493506493506494},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.005847953216374269},"106":{"ref":106,"tf":0.013333333333333334},"107":{"ref":107,"tf":0.012658227848101266},"108":{"ref":108,"tf":0.014492753623188406},"109":{"ref":109,"tf":0.008547008547008548},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.007518796992481203},"112":{"ref":112,"tf":0.0058823529411764705},"113":{"ref":113,"tf":0.0070921985815602835},"114":{"ref":114,"tf":0.001594896331738437},"115":{"ref":115,"tf":0.003246753246753247},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525},"119":{"ref":119,"tf":0.003937007874015748},"120":{"ref":120,"tf":0.006289308176100629},"121":{"ref":121,"tf":0.005813953488372093},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"59":{"ref":59,"tf":0.002785515320334262},"74":{"ref":74,"tf":0.011976047904191617},"104":{"ref":104,"tf":0.00847457627118644},"130":{"ref":130,"tf":0.0043859649122807015},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.005791505791505791},"136":{"ref":136,"tf":0.010101010101010102}}}}}}},"i":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"113":{"ref":113,"tf":0.0070921985815602835},"119":{"ref":119,"tf":0.003937007874015748},"121":{"ref":121,"tf":0.005813953488372093},"131":{"ref":131,"tf":0.05555555555555555},"134":{"ref":134,"tf":0.0034522439585730723}}}}}},"g":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088},"133":{"ref":133,"tf":0.0016750418760469012}}}},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"18":{"ref":18,"tf":0.02},"58":{"ref":58,"tf":0.00273224043715847},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"s":{"docs":{},"u":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"103":{"ref":103,"tf":0.006493506493506494},"134":{"ref":134,"tf":0.006904487917146145}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"71":{"ref":71,"tf":0.008}}}}}}},"-":{"docs":{},"e":{"docs":{},"n":{"docs":{"91":{"ref":91,"tf":0.0196078431372549}}}}},"o":{"docs":{},"l":{"docs":{"105":{"ref":105,"tf":0.005847953216374269}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"116":{"ref":116,"tf":0.016666666666666666}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"116":{"ref":116,"tf":0.005555555555555556}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"116":{"ref":116,"tf":0.005555555555555556}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{"19":{"ref":19,"tf":0.02}}}},"g":{"docs":{},"-":{"8":{"8":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}},"docs":{}},"docs":{}},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"134":{"ref":134,"tf":0.0023014959723820483}}}}}},"f":{"docs":{},"(":{"docs":{},"!":{"docs":{},"$":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}}}}}}}},"$":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}}}}}}}}}},"r":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"133":{"ref":133,"tf":0.0033500837520938024}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"[":{"docs":{},"'":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"3":{"2":{"docs":{},"-":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}}},"docs":{}},"docs":{}},"p":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"56":{"ref":56,"tf":0.003189792663476874},"60":{"ref":60,"tf":0.0022727272727272726},"135":{"ref":135,"tf":0.0019305019305019305}}}}},"a":{"docs":{},"d":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"121":{"ref":121,"tf":0.005813953488372093}}}}},".":{"docs":{"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.006493506493506494}}},"=":{"0":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}},"docs":{}}},"m":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"1":{"ref":1,"tf":0.045454545454545456},"2":{"ref":2,"tf":0.025},"10":{"ref":10,"tf":0.07142857142857142},"12":{"ref":12,"tf":0.05},"14":{"ref":14,"tf":0.034482758620689655},"16":{"ref":16,"tf":0.007352941176470588},"20":{"ref":20,"tf":0.02040816326530612},"21":{"ref":21,"tf":0.00980392156862745},"50":{"ref":50,"tf":0.017857142857142856},"51":{"ref":51,"tf":0.01694915254237288},"54":{"ref":54,"tf":0.003861003861003861},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.004545454545454545},"65":{"ref":65,"tf":0.025},"69":{"ref":69,"tf":0.05},"72":{"ref":72,"tf":0.011655011655011656},"78":{"ref":78,"tf":0.011235955056179775},"81":{"ref":81,"tf":0.015151515151515152},"84":{"ref":84,"tf":0.014545454545454545},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.028169014084507043},"96":{"ref":96,"tf":0.017857142857142856},"104":{"ref":104,"tf":0.00423728813559322},"114":{"ref":114,"tf":0.001594896331738437},"123":{"ref":123,"tf":0.007042253521126761},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.004602991944764097},"135":{"ref":135,"tf":0.013513513513513514},"136":{"ref":136,"tf":0.010101010101010102}}}},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{"4":{"ref":4,"tf":0.022727272727272728},"14":{"ref":14,"tf":0.011494252873563218},"21":{"ref":21,"tf":0.00980392156862745},"39":{"ref":39,"tf":0.012658227848101266},"57":{"ref":57,"tf":0.030660377358490566},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.011363636363636364},"61":{"ref":61,"tf":0.010869565217391304},"67":{"ref":67,"tf":0.05555555555555555},"70":{"ref":70,"tf":0.047619047619047616},"80":{"ref":80,"tf":0.007692307692307693},"123":{"ref":123,"tf":0.0035211267605633804},"126":{"ref":126,"tf":0.022222222222222223},"127":{"ref":127,"tf":0.006622516556291391},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.006904487917146145},"135":{"ref":135,"tf":0.007722007722007722},"136":{"ref":136,"tf":0.005050505050505051}}}}},"d":{"docs":{},"e":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"58":{"ref":58,"tf":0.00273224043715847},"80":{"ref":80,"tf":0.007692307692307693},"97":{"ref":97,"tf":0.019230769230769232},"99":{"ref":99,"tf":0.02127659574468085}},"r":{"docs":{},"n":{"docs":{"36":{"ref":36,"tf":0.017857142857142856},"134":{"ref":134,"tf":0.0011507479861910242}}}},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"94":{"ref":94,"tf":0.011111111111111112},"97":{"ref":97,"tf":0.038461538461538464},"123":{"ref":123,"tf":0.0035211267605633804}}}},"u":{"docs":{},"l":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"59":{"ref":59,"tf":0.008356545961002786},"84":{"ref":84,"tf":0.0036363636363636364},"122":{"ref":122,"tf":3.333333333333333},"123":{"ref":123,"tf":3.333333333333333},"124":{"ref":124,"tf":3.333333333333333},"125":{"ref":125,"tf":3.333333333333333},"133":{"ref":133,"tf":0.0016750418760469012}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"105":{"ref":105,"tf":0.005847953216374269},"129":{"ref":129,"tf":0.0034782608695652175}}}}},"a":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.01673101673101673},"71":{"ref":71,"tf":0.096},"111":{"ref":111,"tf":0.06015037593984962},"113":{"ref":113,"tf":0.0070921985815602835},"124":{"ref":124,"tf":0.010309278350515464},"136":{"ref":136,"tf":0.010101010101010102}},".":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"71":{"ref":71,"tf":0.008}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"71":{"ref":71,"tf":0.008}}}}}}}},"&":{"docs":{},"#":{"3":{"9":{"docs":{},";":{"docs":{"111":{"ref":111,"tf":0.007518796992481203}}}},"docs":{}},"docs":{}}}}}},"c":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"59":{"ref":59,"tf":0.002785515320334262}}}}}},"v":{"docs":{},"e":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.003189792663476874},"72":{"ref":72,"tf":0.004662004662004662},"89":{"ref":89,"tf":0.022727272727272728},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.005847953216374269},"117":{"ref":117,"tf":0.007575757575757576},"126":{"ref":126,"tf":0.011111111111111112},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.006700167504187605}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"u":{"docs":{},"s":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"133":{"ref":133,"tf":0.0016750418760469012}},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"u":{"docs":{},"p":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"a":{"docs":{"16":{"ref":16,"tf":0.014705882352941176},"17":{"ref":17,"tf":0.15384615384615385}},"r":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"3":{"ref":3,"tf":0.019230769230769232},"54":{"ref":54,"tf":0.003861003861003861},"59":{"ref":59,"tf":0.002785515320334262},"84":{"ref":84,"tf":0.0036363636363636364}}}}},"i":{"docs":{},"o":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"16":{"ref":16,"tf":0.007352941176470588}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"20":{"ref":20,"tf":0.02040816326530612},"52":{"ref":52,"tf":0.020833333333333332},"129":{"ref":129,"tf":0.0017391304347826088},"133":{"ref":133,"tf":0.005025125628140704}},"-":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}},"t":{"docs":{},"i":{"docs":{"25":{"ref":25,"tf":0.022988505747126436}}}}},"k":{"docs":{},"e":{"docs":{"7":{"ref":7,"tf":0.08},"9":{"ref":9,"tf":0.02702702702702703},"21":{"ref":21,"tf":0.00980392156862745},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"36":{"ref":36,"tf":0.017857142857142856},"54":{"ref":54,"tf":0.006435006435006435},"56":{"ref":56,"tf":0.017543859649122806},"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00819672131147541},"59":{"ref":59,"tf":0.005571030640668524},"60":{"ref":60,"tf":0.0022727272727272726},"72":{"ref":72,"tf":0.004662004662004662},"80":{"ref":80,"tf":0.007692307692307693},"104":{"ref":104,"tf":0.00423728813559322},"111":{"ref":111,"tf":0.007518796992481203},"115":{"ref":115,"tf":0.003246753246753247},"119":{"ref":119,"tf":0.003937007874015748},"124":{"ref":124,"tf":0.020618556701030927},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0052173913043478265},"132":{"ref":132,"tf":0.01282051282051282},"133":{"ref":133,"tf":0.0033500837520938024},"134":{"ref":134,"tf":0.005753739930955121},"135":{"ref":135,"tf":0.007722007722007722},"136":{"ref":136,"tf":0.010101010101010102}},"r":{"docs":{"70":{"ref":70,"tf":0.023809523809523808}}}}},"i":{"docs":{},"n":{"docs":{"13":{"ref":13,"tf":0.019230769230769232},"20":{"ref":20,"tf":0.02040816326530612},"54":{"ref":54,"tf":0.001287001287001287},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.028169014084507043},"111":{"ref":111,"tf":0.007518796992481203},"123":{"ref":123,"tf":0.01056338028169014},"124":{"ref":124,"tf":0.010309278350515464},"133":{"ref":133,"tf":0.011725293132328308}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"50":{"ref":50,"tf":0.008928571428571428}}}}}},"l":{"docs":{},"i":{"docs":{"61":{"ref":61,"tf":0.010869565217391304}}}},"c":{"docs":{},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}},"(":{"docs":{},"$":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"115":{"ref":115,"tf":0.006493506493506494},"116":{"ref":116,"tf":0.005555555555555556}}}}}}}}}}}},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"133":{"ref":133,"tf":0.0033500837520938024}}}}}}}},"l":{"docs":{"16":{"ref":16,"tf":0.014705882352941176}}}},"n":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"18":{"ref":18,"tf":0.04}},"i":{"docs":{"21":{"ref":21,"tf":0.029411764705882353},"52":{"ref":52,"tf":0.020833333333333332},"57":{"ref":57,"tf":0.007075471698113208},"91":{"ref":91,"tf":0.0196078431372549},"94":{"ref":94,"tf":0.011111111111111112},"106":{"ref":106,"tf":0.013333333333333334},"110":{"ref":110,"tf":0.02040816326530612},"126":{"ref":126,"tf":0.011111111111111112},"129":{"ref":129,"tf":0.0034782608695652175},"132":{"ref":132,"tf":0.01282051282051282},"134":{"ref":134,"tf":0.0034522439585730723}},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{"134":{"ref":134,"tf":0.0023014959723820483}}}}}},"a":{"docs":{},"g":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"84":{"ref":84,"tf":0.007272727272727273},"123":{"ref":123,"tf":0.0035211267605633804}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"103":{"ref":103,"tf":0.006493506493506494},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"c":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"127":{"ref":127,"tf":0.006622516556291391}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{"19":{"ref":19,"tf":0.02},"24":{"ref":24,"tf":0.08333333333333333}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"39":{"ref":39,"tf":0.012658227848101266},"72":{"ref":72,"tf":0.002331002331002331},"84":{"ref":84,"tf":0.0036363636363636364},"109":{"ref":109,"tf":0.008547008547008548},"112":{"ref":112,"tf":0.0058823529411764705},"115":{"ref":115,"tf":0.00974025974025974},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.01904761904761905},"119":{"ref":119,"tf":0.015748031496062992}}}},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}},"e":{"docs":{},"r":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"72":{"ref":72,"tf":0.002331002331002331},"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"h":{"docs":{},".":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"(":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"47":{"ref":47,"tf":0.01},"60":{"ref":60,"tf":0.004545454545454545},"74":{"ref":74,"tf":0.005988023952095809},"105":{"ref":105,"tf":0.005847953216374269},"124":{"ref":124,"tf":0.010309278350515464},"129":{"ref":129,"tf":0.0034782608695652175},"135":{"ref":135,"tf":0.0019305019305019305}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}}}}}},"x":{"docs":{},"l":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"70":{"ref":70,"tf":0.023809523809523808}}}}}}},"-":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"m":{"docs":{"90":{"ref":90,"tf":0.010416666666666666}}}}}}}},"p":{"docs":{"72":{"ref":72,"tf":0.002331002331002331},"84":{"ref":84,"tf":0.0036363636363636364},"104":{"ref":104,"tf":0.00847457627118644},"133":{"ref":133,"tf":0.0016750418760469012},"135":{"ref":135,"tf":0.0019305019305019305}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}},"g":{"docs":{},"i":{"docs":{},"c":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"8":{"ref":8,"tf":0.02702702702702703},"9":{"ref":9,"tf":0.02702702702702703},"52":{"ref":52,"tf":0.010416666666666666},"57":{"ref":57,"tf":0.0023584905660377358},"61":{"ref":61,"tf":0.010869565217391304},"67":{"ref":67,"tf":0.027777777777777776},"68":{"ref":68,"tf":0.027777777777777776},"72":{"ref":72,"tf":0.002331002331002331},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}},"t":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.0022727272727272726},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0023014959723820483}}}}},"g":{"docs":{},"a":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}}},"t":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}}}}},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"39":{"ref":39,"tf":0.012658227848101266},"60":{"ref":60,"tf":0.0022727272727272726},"71":{"ref":71,"tf":0.008},"105":{"ref":105,"tf":0.005847953216374269},"107":{"ref":107,"tf":0.012658227848101266},"108":{"ref":108,"tf":0.014492753623188406},"109":{"ref":109,"tf":0.02564102564102564},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.022556390977443608},"112":{"ref":112,"tf":0.0058823529411764705},"113":{"ref":113,"tf":0.014184397163120567},"114":{"ref":114,"tf":0.001594896331738437},"115":{"ref":115,"tf":0.012987012987012988},"116":{"ref":116,"tf":0.016666666666666666},"117":{"ref":117,"tf":0.022727272727272728},"118":{"ref":118,"tf":0.02857142857142857},"119":{"ref":119,"tf":0.003937007874015748},"120":{"ref":120,"tf":0.006289308176100629},"121":{"ref":121,"tf":0.01744186046511628},"134":{"ref":134,"tf":0.0023014959723820483}}}}},"a":{"docs":{"104":{"ref":104,"tf":0.00423728813559322}}}},"n":{"docs":{},"u":{"docs":{"54":{"ref":54,"tf":0.005148005148005148},"59":{"ref":59,"tf":0.022284122562674095},"60":{"ref":60,"tf":0.004545454545454545},"91":{"ref":91,"tf":0.09803921568627451},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.056338028169014086},"100":{"ref":100,"tf":0.125},"101":{"ref":101,"tf":0.08695652173913043},"102":{"ref":102,"tf":0.020833333333333332},"116":{"ref":116,"tf":0.1},"123":{"ref":123,"tf":0.014084507042253521},"130":{"ref":130,"tf":0.021929824561403508}},"(":{"docs":{"93":{"ref":93,"tf":0.014084507042253521},"123":{"ref":123,"tf":0.0035211267605633804}}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"s":{"3":{"docs":{},".":{"docs":{},"a":{"docs":{},"m":{"docs":{},"a":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"w":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{"93":{"ref":93,"tf":0.014084507042253521}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"-":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{"100":{"ref":100,"tf":10.041666666666666}}}}}},"t":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"101":{"ref":101,"tf":10.043478260869565}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{"123":{"ref":123,"tf":0.0035211267605633804}}}}}},"t":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"123":{"ref":123,"tf":0.0035211267605633804}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"71":{"ref":71,"tf":0.008}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}},"r":{"docs":{},"e":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"12":{"ref":12,"tf":0.05},"104":{"ref":104,"tf":0.00423728813559322},"135":{"ref":135,"tf":0.0019305019305019305}},"u":{"docs":{},"m":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}},"-":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"126":{"ref":126,"tf":0.011111111111111112}}}}}}}},"d":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"72":{"ref":72,"tf":0.002331002331002331}}},"u":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.006379585326953748},"127":{"ref":127,"tf":0.006622516556291391}}}},"-":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"m":{"docs":{"90":{"ref":90,"tf":0.010416666666666666}}}}}}}},"k":{"docs":{},"e":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}}},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{"48":{"ref":48,"tf":0.011627906976744186},"65":{"ref":65,"tf":0.025}}}}},"s":{"docs":{},"s":{"docs":{"61":{"ref":61,"tf":0.010869565217391304},"134":{"ref":134,"tf":0.0011507479861910242}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}}}}}}}},"t":{"docs":{"68":{"ref":68,"tf":0.05555555555555555},"126":{"ref":126,"tf":0.011111111111111112}}},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"94":{"ref":94,"tf":0.011111111111111112},"110":{"ref":110,"tf":0.02040816326530612},"117":{"ref":117,"tf":0.007575757575757576},"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{"16":{"ref":16,"tf":0.007352941176470588},"84":{"ref":84,"tf":0.007272727272727273}},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"m":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}},"c":{"docs":{},"h":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"54":{"ref":54,"tf":0.001287001287001287},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.0022727272727272726},"84":{"ref":84,"tf":0.0036363636363636364},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.003861003861003861}}}},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"-":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"27":{"ref":27,"tf":0.03225806451612903}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}},"a":{"docs":{},"g":{"docs":{"94":{"ref":94,"tf":0.011111111111111112},"123":{"ref":123,"tf":0.0035211267605633804}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"96":{"ref":96,"tf":0.017857142857142856},"123":{"ref":123,"tf":0.0035211267605633804}}}}},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}},"p":{"docs":{},"l":{"docs":{"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"72":{"ref":72,"tf":0.002331002331002331},"84":{"ref":84,"tf":0.0036363636363636364},"104":{"ref":104,"tf":0.00423728813559322},"107":{"ref":107,"tf":0.012658227848101266},"123":{"ref":123,"tf":0.0035211267605633804}}}}}}},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"-":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}},"c":{"docs":{},"f":{"docs":{},"l":{"docs":{},"y":{"docs":{"25":{"ref":25,"tf":0.022988505747126436}}}}}},"p":{"docs":{},"h":{"docs":{"35":{"ref":35,"tf":0.01818181818181818}}}},"y":{"docs":{},"g":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}}}},"-":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"-":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"58":{"ref":58,"tf":0.00819672131147541}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"-":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"63":{"ref":63,"tf":0.024390243902439025}}}}}}}},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"r":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"$":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"78":{"ref":78,"tf":0.011235955056179775},"107":{"ref":107,"tf":0.012658227848101266}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{},"$":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"81":{"ref":81,"tf":0.030303030303030304},"89":{"ref":89,"tf":0.022727272727272728},"109":{"ref":109,"tf":0.008547008547008548},"112":{"ref":112,"tf":0.0058823529411764705},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"127":{"ref":127,"tf":0.033112582781456956},"133":{"ref":133,"tf":0.0016750418760469012}}}}}}},"p":{"docs":{"133":{"ref":133,"tf":0.010050251256281407}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{"1":{"ref":1,"tf":0.045454545454545456},"3":{"ref":3,"tf":0.019230769230769232},"11":{"ref":11,"tf":0.045454545454545456},"17":{"ref":17,"tf":0.07692307692307693},"21":{"ref":21,"tf":0.00980392156862745},"22":{"ref":22,"tf":0.024390243902439025},"28":{"ref":28,"tf":0.038461538461538464},"29":{"ref":29,"tf":0.02564102564102564},"31":{"ref":31,"tf":0.09523809523809523},"33":{"ref":33,"tf":0.1},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.002785515320334262},"83":{"ref":83,"tf":0.0425531914893617},"88":{"ref":88,"tf":0.009708737864077669},"96":{"ref":96,"tf":0.017857142857142856},"114":{"ref":114,"tf":0.014354066985645933},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242}},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"27":{"ref":27,"tf":2.596774193548387},"28":{"ref":28,"tf":0.038461538461538464},"29":{"ref":29,"tf":0.02564102564102564},"32":{"ref":32,"tf":0.04},"114":{"ref":114,"tf":0.001594896331738437}},"e":{"docs":{},"r":{"docs":{},"-":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"32":{"ref":32,"tf":0.04}}}}}}},"=":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}},"n":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"129":{"ref":129,"tf":0.0017391304347826088},"135":{"ref":135,"tf":0.003861003861003861}},"e":{"docs":{},"t":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"56":{"ref":56,"tf":0.023923444976076555},"57":{"ref":57,"tf":0.0047169811320754715},"58":{"ref":58,"tf":0.00273224043715847},"60":{"ref":60,"tf":0.0022727272727272726},"67":{"ref":67,"tf":0.027777777777777776},"104":{"ref":104,"tf":0.00423728813559322},"113":{"ref":113,"tf":0.014184397163120567},"121":{"ref":121,"tf":0.03488372093023256},"127":{"ref":127,"tf":0.019867549668874173},"132":{"ref":132,"tf":0.01282051282051282}},"'":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}},"-":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"60":{"ref":60,"tf":0.004545454545454545}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"f":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"-":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"-":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"k":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}},"s":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}}}}}}}}}},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"104":{"ref":104,"tf":0.00847457627118644}}}}}}}}}}}}},"i":{"docs":{"58":{"ref":58,"tf":0.02185792349726776},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242}},"n":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"106":{"ref":106,"tf":0.013333333333333334}}}}}}}}}}},"u":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"135":{"ref":135,"tf":0.0019305019305019305}},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{"35":{"ref":35,"tf":0.01818181818181818}}}}}}}},"g":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}},"i":{"docs":{},"n":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00819672131147541},"60":{"ref":60,"tf":0.0022727272727272726},"61":{"ref":61,"tf":0.010869565217391304},"66":{"ref":66,"tf":0.043478260869565216},"103":{"ref":103,"tf":0.01948051948051948},"132":{"ref":132,"tf":0.038461538461538464},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.023166023166023165}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"-":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"-":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.006493506493506494}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"51":{"ref":51,"tf":0.03389830508474576},"84":{"ref":84,"tf":0.0036363636363636364},"114":{"ref":114,"tf":0.001594896331738437},"129":{"ref":129,"tf":0.0017391304347826088},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{"2":{"ref":2,"tf":0.025},"25":{"ref":25,"tf":0.022988505747126436}}}}}}},"m":{"docs":{"71":{"ref":71,"tf":0.008},"105":{"ref":105,"tf":0.005847953216374269},"108":{"ref":108,"tf":0.028985507246376812},"109":{"ref":109,"tf":0.03418803418803419},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.015037593984962405},"112":{"ref":112,"tf":0.041176470588235294},"113":{"ref":113,"tf":0.028368794326241134},"114":{"ref":114,"tf":0.006379585326953748},"115":{"ref":115,"tf":0.025974025974025976},"116":{"ref":116,"tf":0.022222222222222223},"117":{"ref":117,"tf":0.022727272727272728},"118":{"ref":118,"tf":0.01904761904761905},"119":{"ref":119,"tf":0.03543307086614173},"120":{"ref":120,"tf":0.031446540880503145},"121":{"ref":121,"tf":0.01744186046511628}},"e":{"docs":{},"t":{"docs":{"89":{"ref":89,"tf":0.022727272727272728}}}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}}}}},"t":{"docs":{"4":{"ref":4,"tf":0.022727272727272728},"26":{"ref":26,"tf":0.021739130434782608},"54":{"ref":54,"tf":0.001287001287001287},"61":{"ref":61,"tf":0.010869565217391304},"84":{"ref":84,"tf":0.0036363636363636364},"126":{"ref":126,"tf":0.011111111111111112},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.003861003861003861}},"i":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"132":{"ref":132,"tf":0.01282051282051282}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"6":{"ref":6,"tf":0.023809523809523808},"30":{"ref":30,"tf":0.05405405405405406},"72":{"ref":72,"tf":0.002331002331002331},"83":{"ref":83,"tf":0.0425531914893617},"93":{"ref":93,"tf":0.014084507042253521},"98":{"ref":98,"tf":0.07547169811320754},"119":{"ref":119,"tf":0.007874015748031496},"123":{"ref":123,"tf":0.0035211267605633804}},"'":{"docs":{"5":{"ref":5,"tf":0.02564102564102564}}}}}},"s":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"[":{"docs":{},"'":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"5":{"ref":5,"tf":0.02564102564102564},"6":{"ref":6,"tf":0.023809523809523808},"30":{"ref":30,"tf":0.02702702702702703},"52":{"ref":52,"tf":10.135416666666666},"74":{"ref":74,"tf":0.011976047904191617},"129":{"ref":129,"tf":0.0017391304347826088}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"-":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"52":{"ref":52,"tf":0.010416666666666666}}}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"52":{"ref":52,"tf":0.010416666666666666}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"52":{"ref":52,"tf":0.010416666666666666}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"52":{"ref":52,"tf":0.010416666666666666}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"52":{"ref":52,"tf":0.010416666666666666},"133":{"ref":133,"tf":0.0016750418760469012}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"52":{"ref":52,"tf":0.010416666666666666}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0023584905660377358},"59":{"ref":59,"tf":0.005571030640668524},"72":{"ref":72,"tf":0.002331002331002331},"78":{"ref":78,"tf":0.02247191011235955},"84":{"ref":84,"tf":0.01818181818181818},"90":{"ref":90,"tf":0.020833333333333332},"94":{"ref":94,"tf":0.011111111111111112},"96":{"ref":96,"tf":0.017857142857142856},"98":{"ref":98,"tf":0.03773584905660377},"113":{"ref":113,"tf":0.0070921985815602835},"115":{"ref":115,"tf":0.00974025974025974},"118":{"ref":118,"tf":0.009523809523809525},"123":{"ref":123,"tf":0.01056338028169014},"133":{"ref":133,"tf":0.006700167504187605},"134":{"ref":134,"tf":0.0023014959723820483}},"!":{"docs":{},"<":{"docs":{},"/":{"docs":{},"a":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}}}},"r":{"docs":{"94":{"ref":94,"tf":0.022222222222222223}},"-":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"94":{"ref":94,"tf":0.011111111111111112}}}}}}}}},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"99":{"ref":99,"tf":0.02127659574468085}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"72":{"ref":72,"tf":0.004662004662004662},"133":{"ref":133,"tf":0.0016750418760469012}}}}}},"h":{"docs":{"56":{"ref":56,"tf":0.014354066985645933}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00273224043715847}}}}}}},"s":{"docs":{},"s":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"71":{"ref":71,"tf":0.008},"78":{"ref":78,"tf":0.011235955056179775},"94":{"ref":94,"tf":0.022222222222222223},"111":{"ref":111,"tf":0.015037593984962405},"114":{"ref":114,"tf":0.001594896331738437},"119":{"ref":119,"tf":0.007874015748031496},"120":{"ref":120,"tf":0.006289308176100629}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"23":{"ref":23,"tf":0.06060606060606061},"28":{"ref":28,"tf":0.07692307692307693},"58":{"ref":58,"tf":0.00273224043715847},"114":{"ref":114,"tf":0.011164274322169059},"136":{"ref":136,"tf":0.04040404040404041}}}}}},"a":{"docs":{},"g":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}}}},"t":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"74":{"ref":74,"tf":0.005988023952095809},"130":{"ref":130,"tf":0.0043859649122807015}}}},"c":{"docs":{},"k":{"docs":{"51":{"ref":51,"tf":0.01694915254237288},"64":{"ref":64,"tf":0.0625}},"a":{"docs":{},"g":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}},"n":{"docs":{},"e":{"docs":{"86":{"ref":86,"tf":0.06666666666666667},"105":{"ref":105,"tf":0.005847953216374269},"111":{"ref":111,"tf":0.007518796992481203},"124":{"ref":124,"tf":0.020618556701030927}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"3":{"ref":3,"tf":0.038461538461538464},"26":{"ref":26,"tf":0.021739130434782608}}}}},"s":{"docs":{"105":{"ref":105,"tf":0.005847953216374269},"113":{"ref":113,"tf":0.0070921985815602835},"114":{"ref":114,"tf":0.006379585326953748}}}},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"19":{"ref":19,"tf":0.02},"24":{"ref":24,"tf":0.08333333333333333},"38":{"ref":38,"tf":0.011627906976744186},"48":{"ref":48,"tf":0.011627906976744186},"54":{"ref":54,"tf":0.001287001287001287},"59":{"ref":59,"tf":0.002785515320334262},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.003861003861003861}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"21":{"ref":21,"tf":0.00980392156862745}}}}},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"53":{"ref":53,"tf":0.041666666666666664}}}}}}},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"26":{"ref":26,"tf":0.021739130434782608},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"36":{"ref":36,"tf":0.017857142857142856},"50":{"ref":50,"tf":0.008928571428571428},"56":{"ref":56,"tf":0.003189792663476874},"99":{"ref":99,"tf":0.02127659574468085},"103":{"ref":103,"tf":0.006493506493506494}}}}},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"u":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.003189792663476874},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.004545454545454545},"62":{"ref":62,"tf":0.041666666666666664},"81":{"ref":81,"tf":0.015151515151515152},"112":{"ref":112,"tf":0.0058823529411764705},"117":{"ref":117,"tf":0.015151515151515152},"133":{"ref":133,"tf":0.0016750418760469012}},"s":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}},"e":{"docs":{},"w":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"103":{"ref":103,"tf":0.012987012987012988},"104":{"ref":104,"tf":0.00423728813559322},"114":{"ref":114,"tf":0.001594896331738437},"134":{"ref":134,"tf":0.0034522439585730723}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"60":{"ref":60,"tf":0.0022727272727272726}}}}},"-":{"docs":{},"m":{"docs":{},"a":{"docs":{},"d":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}},"o":{"docs":{},"-":{"docs":{},"a":{"docs":{},"m":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"50":{"ref":50,"tf":0.017857142857142856},"54":{"ref":54,"tf":0.001287001287001287},"72":{"ref":72,"tf":0.002331002331002331},"74":{"ref":74,"tf":0.005988023952095809},"84":{"ref":84,"tf":0.0036363636363636364},"123":{"ref":123,"tf":0.0035211267605633804},"127":{"ref":127,"tf":0.006622516556291391},"135":{"ref":135,"tf":0.003861003861003861}}}},"e":{"docs":{"70":{"ref":70,"tf":0.023809523809523808}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.036036036036036036},"55":{"ref":55,"tf":0.02040816326530612},"56":{"ref":56,"tf":0.007974481658692184},"57":{"ref":57,"tf":0.007075471698113208},"59":{"ref":59,"tf":0.013927576601671309},"60":{"ref":60,"tf":0.013636363636363636},"61":{"ref":61,"tf":0.010869565217391304},"63":{"ref":63,"tf":2.097560975609756},"66":{"ref":66,"tf":0.043478260869565216},"68":{"ref":68,"tf":0.05555555555555555},"127":{"ref":127,"tf":0.013245033112582781},"128":{"ref":128,"tf":0.07142857142857142},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0033500837520938024},"135":{"ref":135,"tf":0.009652509652509652}},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"$":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.005148005148005148}}}}}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"-":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"-":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"-":{"docs":{},"s":{"docs":{},"e":{"docs":{"128":{"ref":128,"tf":0.017857142857142856}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"114":{"ref":114,"tf":0.004784688995215311},"129":{"ref":129,"tf":0.0017391304347826088},"136":{"ref":136,"tf":0.030303030303030304}},"(":{"docs":{},"'":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}}}},"i":{"docs":{},"s":{"docs":{"71":{"ref":71,"tf":0.048},"111":{"ref":111,"tf":0.015037593984962405},"113":{"ref":113,"tf":0.014184397163120567},"114":{"ref":114,"tf":0.012759170653907496},"136":{"ref":136,"tf":0.005050505050505051}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"135":{"ref":135,"tf":0.005791505791505791}},"l":{"docs":{},"i":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}},"t":{"docs":{},"i":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"65":{"ref":65,"tf":0.025},"71":{"ref":71,"tf":0.008},"72":{"ref":72,"tf":0.006993006993006993},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.005847953216374269},"110":{"ref":110,"tf":0.01020408163265306},"115":{"ref":115,"tf":0.003246753246753247},"119":{"ref":119,"tf":0.007874015748031496},"121":{"ref":121,"tf":0.005813953488372093},"129":{"ref":129,"tf":0.0034782608695652175}}}}}},"a":{"docs":{},"g":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"55":{"ref":55,"tf":0.02040816326530612},"56":{"ref":56,"tf":0.001594896331738437},"59":{"ref":59,"tf":0.005571030640668524},"60":{"ref":60,"tf":0.0022727272727272726},"129":{"ref":129,"tf":0.0052173913043478265}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}},"a":{"docs":{},"t":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364},"124":{"ref":124,"tf":0.010309278350515464}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"114":{"ref":114,"tf":0.007974481658692184}}}}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"133":{"ref":133,"tf":0.0033500837520938024}}}}}}},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"60":{"ref":60,"tf":0.0022727272727272726},"118":{"ref":118,"tf":0.009523809523809525},"129":{"ref":129,"tf":0.0017391304347826088}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"70":{"ref":70,"tf":0.023809523809523808},"135":{"ref":135,"tf":0.0019305019305019305}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"59":{"ref":59,"tf":0.002785515320334262}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"113":{"ref":113,"tf":0.03546099290780142}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"88":{"ref":88,"tf":0.038834951456310676}},"-":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"3":{"ref":3,"tf":0.019230769230769232}}}}}}},"t":{"docs":{},"o":{"docs":{},"-":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"74":{"ref":74,"tf":0.005988023952095809},"88":{"ref":88,"tf":0.009708737864077669},"90":{"ref":90,"tf":0.010416666666666666},"123":{"ref":123,"tf":0.0035211267605633804}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"-":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{"88":{"ref":88,"tf":0.009708737864077669}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"88":{"ref":88,"tf":0.009708737864077669}}}}}}}}}}}},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"-":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{"19":{"ref":19,"tf":0.02}}}}}}},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"52":{"ref":52,"tf":0.010416666666666666}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"e":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"135":{"ref":135,"tf":0.0019305019305019305}}}},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"55":{"ref":55,"tf":0.04081632653061224},"58":{"ref":58,"tf":3.3415300546448083}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"]":{"docs":{},"(":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"59":{"ref":59,"tf":0.002785515320334262},"72":{"ref":72,"tf":0.002331002331002331},"82":{"ref":82,"tf":0.0234375},"84":{"ref":84,"tf":0.007272727272727273},"95":{"ref":95,"tf":0.018691588785046728},"111":{"ref":111,"tf":0.007518796992481203},"115":{"ref":115,"tf":0.003246753246753247},"130":{"ref":130,"tf":0.0043859649122807015},"134":{"ref":134,"tf":0.0023014959723820483}}},"s":{"docs":{},"h":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"84":{"ref":84,"tf":0.0036363636363636364},"103":{"ref":103,"tf":0.012987012987012988}}}}},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"14":{"ref":14,"tf":0.022988505747126436},"50":{"ref":50,"tf":0.008928571428571428},"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0047169811320754715},"61":{"ref":61,"tf":0.021739130434782608},"65":{"ref":65,"tf":0.025},"70":{"ref":70,"tf":0.023809523809523808},"82":{"ref":82,"tf":0.0078125},"84":{"ref":84,"tf":0.0036363636363636364},"96":{"ref":96,"tf":0.017857142857142856},"106":{"ref":106,"tf":0.013333333333333334},"123":{"ref":123,"tf":0.0035211267605633804},"129":{"ref":129,"tf":0.0052173913043478265},"131":{"ref":131,"tf":0.05555555555555555},"135":{"ref":135,"tf":0.005791505791505791},"136":{"ref":136,"tf":0.005050505050505051}}}}},"p":{"docs":{"136":{"ref":136,"tf":0.005050505050505051}},"u":{"docs":{},"p":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"107":{"ref":107,"tf":0.012658227848101266},"114":{"ref":114,"tf":0.07496012759170653},"124":{"ref":124,"tf":0.020618556701030927},"136":{"ref":136,"tf":3.3787878787878785}},"-":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"136":{"ref":136,"tf":0.005050505050505051}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"39":{"ref":39,"tf":0.012658227848101266},"68":{"ref":68,"tf":0.027777777777777776},"133":{"ref":133,"tf":0.0016750418760469012},"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"i":{"docs":{},"n":{"docs":{"106":{"ref":106,"tf":0.013333333333333334}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.003189792663476874},"115":{"ref":115,"tf":0.003246753246753247},"128":{"ref":128,"tf":0.017857142857142856},"129":{"ref":129,"tf":0.0017391304347826088},"133":{"ref":133,"tf":0.0033500837520938024}},"e":{"docs":{},"r":{"docs":{"104":{"ref":104,"tf":0.00423728813559322}}}}}}},"r":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"48":{"ref":48,"tf":0.011627906976744186}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"61":{"ref":61,"tf":0.010869565217391304}}}}}}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"72":{"ref":72,"tf":0.006993006993006993},"115":{"ref":115,"tf":0.025974025974025976},"119":{"ref":119,"tf":0.007874015748031496},"129":{"ref":129,"tf":0.0034782608695652175},"130":{"ref":130,"tf":0.008771929824561403}},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"119":{"ref":119,"tf":0.011811023622047244}}}}}}},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"51":{"ref":51,"tf":0.01694915254237288},"56":{"ref":56,"tf":0.003189792663476874},"57":{"ref":57,"tf":0.0047169811320754715},"72":{"ref":72,"tf":0.004662004662004662},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}},"y":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"61":{"ref":61,"tf":0.010869565217391304}}}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"16":{"ref":16,"tf":0.007352941176470588},"94":{"ref":94,"tf":0.011111111111111112}}},"c":{"docs":{},"h":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}},"-":{"docs":{},"t":{"docs":{},"o":{"docs":{},"-":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"m":{"docs":{"90":{"ref":90,"tf":0.010416666666666666}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}}},"c":{"docs":{},"k":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"59":{"ref":59,"tf":0.002785515320334262}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"x":{"docs":{},"e":{"docs":{},"l":{"docs":{"72":{"ref":72,"tf":0.006993006993006993},"91":{"ref":91,"tf":0.0196078431372549},"116":{"ref":116,"tf":0.005555555555555556}}}}},"e":{"docs":{},"c":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}},"e":{"docs":{},"r":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"72":{"ref":72,"tf":0.004662004662004662}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"20":{"ref":20,"tf":0.02040816326530612},"21":{"ref":21,"tf":0.00980392156862745},"72":{"ref":72,"tf":0.002331002331002331},"74":{"ref":74,"tf":0.005988023952095809},"103":{"ref":103,"tf":0.006493506493506494},"134":{"ref":134,"tf":0.0023014959723820483}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"45":{"ref":45,"tf":0.00980392156862745}},"a":{"docs":{},"g":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"45":{"ref":45,"tf":0.0196078431372549},"46":{"ref":46,"tf":0.019230769230769232},"72":{"ref":72,"tf":0.006993006993006993}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"68":{"ref":68,"tf":0.027777777777777776}}}}}},"i":{"docs":{},"o":{"docs":{},"d":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"134":{"ref":134,"tf":0.0023014959723820483}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"68":{"ref":68,"tf":0.027777777777777776},"135":{"ref":135,"tf":0.0019305019305019305}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"o":{"docs":{},"p":{"docs":{},"l":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"23":{"ref":23,"tf":0.06060606060606061},"48":{"ref":48,"tf":0.011627906976744186},"60":{"ref":60,"tf":0.004545454545454545},"67":{"ref":67,"tf":0.027777777777777776},"104":{"ref":104,"tf":0.00423728813559322},"121":{"ref":121,"tf":0.005813953488372093},"132":{"ref":132,"tf":0.01282051282051282},"134":{"ref":134,"tf":0.0011507479861910242}},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"61":{"ref":61,"tf":0.010869565217391304},"66":{"ref":66,"tf":0.043478260869565216},"135":{"ref":135,"tf":2.525096525096525}},".":{"docs":{},"j":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{"113":{"ref":113,"tf":0.0070921985815602835}},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{"66":{"ref":66,"tf":10}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}},"p":{"docs":{"36":{"ref":36,"tf":0.017857142857142856}}},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"134":{"ref":134,"tf":0.0023014959723820483}}}}}}},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"36":{"ref":36,"tf":0.017857142857142856},"60":{"ref":60,"tf":0.006818181818181818}}}}}}},"s":{"docs":{},"e":{"docs":{},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{},"-":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{"1":{"ref":1,"tf":0.045454545454545456},"134":{"ref":134,"tf":0.0011507479861910242}}},"c":{"docs":{},"k":{"docs":{"19":{"ref":19,"tf":0.02},"56":{"ref":56,"tf":0.001594896331738437},"127":{"ref":127,"tf":0.006622516556291391},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}},"l":{"docs":{},"i":{"docs":{"49":{"ref":49,"tf":0.08333333333333333},"56":{"ref":56,"tf":0.001594896331738437},"63":{"ref":63,"tf":0.04878048780487805},"134":{"ref":134,"tf":0.0023014959723820483}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"126":{"ref":126,"tf":0.011111111111111112},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}},"s":{"docs":{},"?":{"docs":{},"<":{"docs":{},"/":{"docs":{},"h":{"3":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}},"docs":{}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},";":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"&":{"docs":{},"q":{"docs":{},"u":{"docs":{},"o":{"docs":{},"t":{"docs":{"123":{"ref":123,"tf":0.0035211267605633804}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"127":{"ref":127,"tf":0.006622516556291391},"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"d":{"docs":{},"r":{"docs":{},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{"134":{"ref":134,"tf":0.0023014959723820483}}}}}}}}}},"u":{"docs":{},"s":{"docs":{"1":{"ref":1,"tf":0.045454545454545456},"3":{"ref":3,"tf":0.019230769230769232},"6":{"ref":6,"tf":0.023809523809523808},"8":{"ref":8,"tf":0.02702702702702703},"10":{"ref":10,"tf":0.023809523809523808},"11":{"ref":11,"tf":0.045454545454545456},"13":{"ref":13,"tf":0.019230769230769232},"14":{"ref":14,"tf":0.022988505747126436},"15":{"ref":15,"tf":0.022727272727272728},"16":{"ref":16,"tf":0.022058823529411766},"17":{"ref":17,"tf":0.07692307692307693},"18":{"ref":18,"tf":0.02},"19":{"ref":19,"tf":0.02},"21":{"ref":21,"tf":0.029411764705882353},"23":{"ref":23,"tf":0.030303030303030304},"25":{"ref":25,"tf":0.011494252873563218},"26":{"ref":26,"tf":0.043478260869565216},"27":{"ref":27,"tf":0.06451612903225806},"28":{"ref":28,"tf":0.07692307692307693},"29":{"ref":29,"tf":0.02564102564102564},"30":{"ref":30,"tf":0.02702702702702703},"31":{"ref":31,"tf":0.047619047619047616},"32":{"ref":32,"tf":0.04},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"36":{"ref":36,"tf":0.03571428571428571},"37":{"ref":37,"tf":0.0625},"39":{"ref":39,"tf":0.02531645569620253},"43":{"ref":43,"tf":0.034722222222222224},"45":{"ref":45,"tf":0.00980392156862745},"48":{"ref":48,"tf":0.046511627906976744},"50":{"ref":50,"tf":0.017857142857142856},"51":{"ref":51,"tf":0.05084745762711865},"53":{"ref":53,"tf":0.08333333333333333},"54":{"ref":54,"tf":0.009009009009009009},"56":{"ref":56,"tf":0.009569377990430622},"57":{"ref":57,"tf":0.02122641509433962},"58":{"ref":58,"tf":0.00546448087431694},"59":{"ref":59,"tf":0.005571030640668524},"60":{"ref":60,"tf":0.00909090909090909},"61":{"ref":61,"tf":0.010869565217391304},"63":{"ref":63,"tf":0.024390243902439025},"68":{"ref":68,"tf":0.05555555555555555},"72":{"ref":72,"tf":0.018648018648018648},"74":{"ref":74,"tf":0.029940119760479042},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"78":{"ref":78,"tf":0.011235955056179775},"80":{"ref":80,"tf":0.023076923076923078},"81":{"ref":81,"tf":0.030303030303030304},"82":{"ref":82,"tf":0.03125},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.02909090909090909},"90":{"ref":90,"tf":0.010416666666666666},"93":{"ref":93,"tf":0.028169014084507043},"94":{"ref":94,"tf":0.011111111111111112},"95":{"ref":95,"tf":0.009345794392523364},"96":{"ref":96,"tf":0.017857142857142856},"98":{"ref":98,"tf":0.018867924528301886},"102":{"ref":102,"tf":0.041666666666666664},"103":{"ref":103,"tf":0.025974025974025976},"105":{"ref":105,"tf":0.005847953216374269},"106":{"ref":106,"tf":0.013333333333333334},"109":{"ref":109,"tf":0.008547008547008548},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.015037593984962405},"113":{"ref":113,"tf":0.0070921985815602835},"114":{"ref":114,"tf":0.007974481658692184},"115":{"ref":115,"tf":0.006493506493506494},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.015151515151515152},"118":{"ref":118,"tf":0.01904761904761905},"123":{"ref":123,"tf":0.02112676056338028},"124":{"ref":124,"tf":0.020618556701030927},"126":{"ref":126,"tf":0.03333333333333333},"127":{"ref":127,"tf":0.013245033112582781},"128":{"ref":128,"tf":0.05357142857142857},"129":{"ref":129,"tf":0.01217391304347826},"130":{"ref":130,"tf":0.008771929824561403},"132":{"ref":132,"tf":0.038461538461538464},"133":{"ref":133,"tf":0.021775544388609715},"134":{"ref":134,"tf":0.004602991944764097},"135":{"ref":135,"tf":0.019305019305019305},"136":{"ref":136,"tf":0.010101010101010102}},"a":{"docs":{},"g":{"docs":{"20":{"ref":20,"tf":0.02040816326530612},"72":{"ref":72,"tf":0.006993006993006993},"73":{"ref":73,"tf":0.05},"74":{"ref":74,"tf":0.005988023952095809},"75":{"ref":75,"tf":0.08333333333333333},"76":{"ref":76,"tf":0.018867924528301886},"77":{"ref":77,"tf":0.018867924528301886},"78":{"ref":78,"tf":0.011235955056179775},"79":{"ref":79,"tf":0.125},"80":{"ref":80,"tf":0.023076923076923078},"81":{"ref":81,"tf":0.015151515151515152},"82":{"ref":82,"tf":0.015625},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.0036363636363636364},"85":{"ref":85,"tf":0.09090909090909091},"86":{"ref":86,"tf":0.06666666666666667},"87":{"ref":87,"tf":0.041666666666666664},"88":{"ref":88,"tf":0.009708737864077669},"89":{"ref":89,"tf":0.022727272727272728},"90":{"ref":90,"tf":0.010416666666666666},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"93":{"ref":93,"tf":0.014084507042253521},"94":{"ref":94,"tf":0.011111111111111112},"95":{"ref":95,"tf":0.009345794392523364},"96":{"ref":96,"tf":0.017857142857142856},"97":{"ref":97,"tf":0.019230769230769232},"98":{"ref":98,"tf":0.018867924528301886},"99":{"ref":99,"tf":0.02127659574468085},"100":{"ref":100,"tf":0.041666666666666664},"101":{"ref":101,"tf":0.043478260869565216},"102":{"ref":102,"tf":0.020833333333333332},"103":{"ref":103,"tf":0.006493506493506494},"105":{"ref":105,"tf":0.005847953216374269},"106":{"ref":106,"tf":0.013333333333333334},"107":{"ref":107,"tf":0.012658227848101266},"109":{"ref":109,"tf":0.008547008547008548},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.007518796992481203},"112":{"ref":112,"tf":0.0058823529411764705},"114":{"ref":114,"tf":0.001594896331738437},"115":{"ref":115,"tf":0.006493506493506494},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525}}},"b":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"e":{"docs":{},"r":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"26":{"ref":26,"tf":0.021739130434782608},"27":{"ref":27,"tf":0.03225806451612903},"28":{"ref":28,"tf":0.038461538461538464},"38":{"ref":38,"tf":0.011627906976744186},"56":{"ref":56,"tf":0.001594896331738437},"60":{"ref":60,"tf":0.0022727272727272726},"72":{"ref":72,"tf":0.004662004662004662},"78":{"ref":78,"tf":0.02247191011235955},"81":{"ref":81,"tf":0.015151515151515152},"83":{"ref":83,"tf":0.02127659574468085},"84":{"ref":84,"tf":0.0036363636363636364},"88":{"ref":88,"tf":0.05825242718446602},"90":{"ref":90,"tf":0.010416666666666666},"104":{"ref":104,"tf":0.01694915254237288},"105":{"ref":105,"tf":0.005847953216374269},"110":{"ref":110,"tf":0.01020408163265306},"114":{"ref":114,"tf":0.012759170653907496},"115":{"ref":115,"tf":0.012987012987012988},"123":{"ref":123,"tf":0.007042253521126761},"124":{"ref":124,"tf":0.030927835051546393},"133":{"ref":133,"tf":0.018425460636515914},"134":{"ref":134,"tf":0.012658227848101266},"136":{"ref":136,"tf":0.010101010101010102}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"28":{"ref":28,"tf":0.07692307692307693}}}}},"'":{"docs":{"29":{"ref":29,"tf":0.02564102564102564},"72":{"ref":72,"tf":0.002331002331002331},"111":{"ref":111,"tf":0.007518796992481203}}},"-":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}}}}}}}},"&":{"docs":{},"#":{"3":{"9":{"docs":{},";":{"docs":{"124":{"ref":124,"tf":0.010309278350515464}}}},"docs":{}},"docs":{}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"78":{"ref":78,"tf":0.011235955056179775}}}}}}}}}}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"84":{"ref":84,"tf":0.0036363636363636364},"95":{"ref":95,"tf":0.009345794392523364},"111":{"ref":111,"tf":0.007518796992481203},"124":{"ref":124,"tf":0.010309278350515464},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"b":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}},"p":{"docs":{"16":{"ref":16,"tf":0.007352941176470588},"21":{"ref":21,"tf":0.00980392156862745},"38":{"ref":38,"tf":0.011627906976744186},"43":{"ref":43,"tf":0.006944444444444444},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.0196078431372549},"47":{"ref":47,"tf":0.01},"51":{"ref":51,"tf":0.01694915254237288},"54":{"ref":54,"tf":0.006435006435006435},"56":{"ref":56,"tf":0.007974481658692184},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.00909090909090909},"69":{"ref":69,"tf":0.05},"71":{"ref":71,"tf":0.016},"72":{"ref":72,"tf":0.002331002331002331},"76":{"ref":76,"tf":0.018867924528301886},"81":{"ref":81,"tf":0.015151515151515152},"97":{"ref":97,"tf":0.019230769230769232},"103":{"ref":103,"tf":0.012987012987012988},"120":{"ref":120,"tf":0.006289308176100629},"126":{"ref":126,"tf":0.011111111111111112},"128":{"ref":128,"tf":0.017857142857142856},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.008771929824561403},"133":{"ref":133,"tf":0.008375209380234505},"134":{"ref":134,"tf":0.004602991944764097},"135":{"ref":135,"tf":0.0019305019305019305}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.01092896174863388},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.0022727272727272726},"82":{"ref":82,"tf":0.0078125},"84":{"ref":84,"tf":0.0036363636363636364},"117":{"ref":117,"tf":0.015151515151515152},"123":{"ref":123,"tf":0.0035211267605633804},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0017391304347826088},"133":{"ref":133,"tf":0.008375209380234505}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"58":{"ref":58,"tf":0.00819672131147541}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{"129":{"ref":129,"tf":0.0034782608695652175}}}}}}},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{"18":{"ref":18,"tf":0.02}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"25":{"ref":25,"tf":0.011494252873563218},"49":{"ref":49,"tf":0.16666666666666666},"50":{"ref":50,"tf":0.017857142857142856},"52":{"ref":52,"tf":0.010416666666666666},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00273224043715847},"63":{"ref":63,"tf":2.024390243902439},"125":{"ref":125,"tf":3.333333333333333},"126":{"ref":126,"tf":0.011111111111111112},"127":{"ref":127,"tf":0.013245033112582781},"133":{"ref":133,"tf":0.0016750418760469012}}}},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"u":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"68":{"ref":68,"tf":0.05555555555555555},"115":{"ref":115,"tf":0.003246753246753247},"135":{"ref":135,"tf":0.0019305019305019305}},"l":{"docs":{},"i":{"docs":{"26":{"ref":26,"tf":0.021739130434782608}}}},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"61":{"ref":61,"tf":0.010869565217391304},"74":{"ref":74,"tf":0.005988023952095809},"129":{"ref":129,"tf":0.0034782608695652175},"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}}},"i":{"docs":{},"q":{"docs":{},"u":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"72":{"ref":72,"tf":0.002331002331002331},"84":{"ref":84,"tf":0.0036363636363636364},"106":{"ref":106,"tf":0.013333333333333334},"113":{"ref":113,"tf":0.0070921985815602835},"115":{"ref":115,"tf":0.003246753246753247}}}},"t":{"docs":{"104":{"ref":104,"tf":0.00423728813559322}}}},"l":{"docs":{},"i":{"docs":{},"k":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"114":{"ref":114,"tf":0.001594896331738437}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"n":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"60":{"ref":60,"tf":0.0022727272727272726},"136":{"ref":136,"tf":0.005050505050505051}}}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"58":{"ref":58,"tf":0.00819672131147541}}}}}},"-":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"99":{"ref":99,"tf":0.02127659574468085}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"107":{"ref":107,"tf":0.02531645569620253},"110":{"ref":110,"tf":0.02040816326530612},"117":{"ref":117,"tf":0.007575757575757576},"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"i":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"55":{"ref":55,"tf":0.02040816326530612},"57":{"ref":57,"tf":0.007075471698113208},"59":{"ref":59,"tf":3.3389043639740015},"61":{"ref":61,"tf":0.021739130434782608},"107":{"ref":107,"tf":0.02531645569620253},"135":{"ref":135,"tf":0.003861003861003861}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"67":{"ref":67,"tf":0.027777777777777776},"132":{"ref":132,"tf":0.01282051282051282}}}}}}}}},"-":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"&":{"docs":{},"#":{"3":{"9":{"docs":{},";":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}},"docs":{}},"docs":{}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"84":{"ref":84,"tf":0.007272727272727273}}}}}},"s":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"102":{"ref":102,"tf":0.020833333333333332}}}}}}}},"r":{"docs":{},"l":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"60":{"ref":60,"tf":0.0022727272727272726},"84":{"ref":84,"tf":0.025454545454545455},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.007518796992481203},"114":{"ref":114,"tf":0.006379585326953748},"133":{"ref":133,"tf":0.008375209380234505}}}},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{"1":{"ref":1,"tf":0.045454545454545456},"14":{"ref":14,"tf":0.022988505747126436},"21":{"ref":21,"tf":0.00980392156862745},"54":{"ref":54,"tf":0.005148005148005148},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0047169811320754715},"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.006818181818181818},"72":{"ref":72,"tf":0.002331002331002331},"74":{"ref":74,"tf":0.005988023952095809},"78":{"ref":78,"tf":0.011235955056179775},"80":{"ref":80,"tf":0.007692307692307693},"84":{"ref":84,"tf":0.007272727272727273},"90":{"ref":90,"tf":0.010416666666666666},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.005847953216374269},"113":{"ref":113,"tf":0.0070921985815602835},"123":{"ref":123,"tf":0.0035211267605633804},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0034782608695652175},"133":{"ref":133,"tf":0.0016750418760469012},"135":{"ref":135,"tf":0.0019305019305019305}},"t":{"docs":{"94":{"ref":94,"tf":0.011111111111111112},"104":{"ref":104,"tf":0.00423728813559322},"106":{"ref":106,"tf":0.013333333333333334},"110":{"ref":110,"tf":0.01020408163265306},"134":{"ref":134,"tf":0.0023014959723820483}}}},"n":{"docs":{},"t":{"docs":{"43":{"ref":43,"tf":0.020833333333333332},"45":{"ref":45,"tf":0.00980392156862745},"48":{"ref":48,"tf":0.011627906976744186},"56":{"ref":56,"tf":0.006379585326953748},"57":{"ref":57,"tf":0.007075471698113208},"58":{"ref":58,"tf":0.01092896174863388},"59":{"ref":59,"tf":0.005571030640668524},"60":{"ref":60,"tf":0.004545454545454545},"70":{"ref":70,"tf":0.023809523809523808},"104":{"ref":104,"tf":0.00423728813559322},"114":{"ref":114,"tf":0.001594896331738437},"115":{"ref":115,"tf":0.003246753246753247},"118":{"ref":118,"tf":0.009523809523809525},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.008695652173913044},"133":{"ref":133,"tf":0.0016750418760469012},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}}}},"l":{"docs":{},"k":{"docs":{"55":{"ref":55,"tf":0.02040816326530612},"56":{"ref":56,"tf":0.001594896331738437},"59":{"ref":59,"tf":0.002785515320334262}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.008695652173913044},"130":{"ref":130,"tf":0.0043859649122807015}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"3":{"ref":3,"tf":0.019230769230769232},"57":{"ref":57,"tf":0.0047169811320754715},"65":{"ref":65,"tf":0.025},"126":{"ref":126,"tf":0.011111111111111112}}}}},"e":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}},"a":{"docs":{},"p":{"docs":{"21":{"ref":21,"tf":0.0196078431372549},"34":{"ref":34,"tf":0.016666666666666666},"57":{"ref":57,"tf":0.0023584905660377358},"117":{"ref":117,"tf":0.015151515151515152},"121":{"ref":121,"tf":0.005813953488372093},"134":{"ref":134,"tf":0.004602991944764097}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"132":{"ref":132,"tf":0.01282051282051282}}}}}}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"4":{"ref":4,"tf":0.022727272727272728},"5":{"ref":5,"tf":0.02564102564102564},"6":{"ref":6,"tf":2.5714285714285716},"20":{"ref":20,"tf":0.02040816326530612},"27":{"ref":27,"tf":0.03225806451612903},"30":{"ref":30,"tf":0.02702702702702703},"44":{"ref":44,"tf":0.018518518518518517},"72":{"ref":72,"tf":0.009324009324009324},"91":{"ref":91,"tf":0.0196078431372549},"116":{"ref":116,"tf":0.011111111111111112},"119":{"ref":119,"tf":0.007874015748031496},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0016750418760469012}}}},"e":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"21":{"ref":21,"tf":0.00980392156862745},"80":{"ref":80,"tf":0.007692307692307693},"91":{"ref":91,"tf":0.0196078431372549},"123":{"ref":123,"tf":0.0035211267605633804},"134":{"ref":134,"tf":0.0023014959723820483}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{"17":{"ref":17,"tf":0.07692307692307693},"22":{"ref":22,"tf":0.024390243902439025},"25":{"ref":25,"tf":0.022988505747126436},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"43":{"ref":43,"tf":0.006944444444444444},"50":{"ref":50,"tf":0.008928571428571428},"72":{"ref":72,"tf":0.002331002331002331},"83":{"ref":83,"tf":0.02127659574468085},"100":{"ref":100,"tf":0.041666666666666664},"101":{"ref":101,"tf":0.043478260869565216},"102":{"ref":102,"tf":0.020833333333333332},"103":{"ref":103,"tf":0.006493506493506494},"119":{"ref":119,"tf":0.011811023622047244},"121":{"ref":121,"tf":0.01744186046511628},"123":{"ref":123,"tf":0.007042253521126761},"129":{"ref":129,"tf":0.0034782608695652175},"134":{"ref":134,"tf":0.0034522439585730723}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"39":{"ref":39,"tf":0.012658227848101266},"57":{"ref":57,"tf":0.0023584905660377358},"103":{"ref":103,"tf":0.006493506493506494},"134":{"ref":134,"tf":0.009205983889528193}}}}}}},"n":{"docs":{"134":{"ref":134,"tf":0.0023014959723820483}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"18":{"ref":18,"tf":0.02}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"38":{"ref":38,"tf":0.011627906976744186},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.011164274322169059},"67":{"ref":67,"tf":0.027777777777777776},"114":{"ref":114,"tf":0.001594896331738437},"121":{"ref":121,"tf":0.005813953488372093},"124":{"ref":124,"tf":0.010309278350515464}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"[":{"docs":{},"'":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.002574002574002574}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}}}}}},"s":{"docs":{},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"-":{"docs":{},"s":{"docs":{},"c":{"docs":{},"m":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"97":{"ref":97,"tf":0.019230769230769232},"133":{"ref":133,"tf":0.0016750418760469012}},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"23":{"ref":23,"tf":0.06060606060606061}}}}}}}},"s":{"docs":{},"h":{"docs":{"51":{"ref":51,"tf":0.01694915254237288},"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00273224043715847},"72":{"ref":72,"tf":0.002331002331002331},"81":{"ref":81,"tf":0.015151515151515152},"114":{"ref":114,"tf":0.001594896331738437},"136":{"ref":136,"tf":0.005050505050505051}}}},"l":{"docs":{},"d":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"136":{"ref":136,"tf":0.005050505050505051}},"-":{"docs":{},"w":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}}},"-":{"docs":{},"f":{"docs":{},"i":{"docs":{"114":{"ref":114,"tf":0.001594896331738437},"136":{"ref":136,"tf":0.005050505050505051}}}}},"f":{"docs":{},"i":{"docs":{"114":{"ref":114,"tf":0.001594896331738437},"136":{"ref":136,"tf":0.005050505050505051}}}}},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{"13":{"ref":13,"tf":0.019230769230769232},"56":{"ref":56,"tf":0.003189792663476874},"60":{"ref":60,"tf":0.0022727272727272726},"61":{"ref":61,"tf":0.010869565217391304},"103":{"ref":103,"tf":0.006493506493506494},"113":{"ref":113,"tf":0.0070921985815602835},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.003861003861003861}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"55":{"ref":55,"tf":0.02040816326530612},"57":{"ref":57,"tf":5.002358490566038},"61":{"ref":61,"tf":0.010869565217391304}}}}}},"'":{"docs":{},"r":{"docs":{"18":{"ref":18,"tf":0.02},"111":{"ref":111,"tf":0.007518796992481203},"131":{"ref":131,"tf":0.05555555555555555},"134":{"ref":134,"tf":0.0023014959723820483}}},"l":{"docs":{},"l":{"docs":{"46":{"ref":46,"tf":0.019230769230769232}}}},"v":{"docs":{"47":{"ref":47,"tf":0.01},"54":{"ref":54,"tf":0.002574002574002574},"59":{"ref":59,"tf":0.005571030640668524},"74":{"ref":74,"tf":0.005988023952095809},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.008771929824561403},"133":{"ref":133,"tf":0.0033500837520938024},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.005791505791505791},"136":{"ref":136,"tf":0.005050505050505051}}},"d":{"docs":{"61":{"ref":61,"tf":0.010869565217391304},"69":{"ref":69,"tf":0.05},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242}}}},"e":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{"19":{"ref":19,"tf":0.02}}}}},"k":{"docs":{"136":{"ref":136,"tf":0.005050505050505051}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"136":{"ref":136,"tf":0.005050505050505051}}}}}}},"b":{"docs":{"34":{"ref":34,"tf":0.016666666666666666},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.01179245283018868},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.00909090909090909},"61":{"ref":61,"tf":0.010869565217391304},"66":{"ref":66,"tf":0.043478260869565216},"67":{"ref":67,"tf":0.027777777777777776},"103":{"ref":103,"tf":0.006493506493506494},"121":{"ref":121,"tf":0.005813953488372093},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.007722007722007722}},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"57":{"ref":57,"tf":0.009433962264150943},"60":{"ref":60,"tf":0.004545454545454545},"67":{"ref":67,"tf":0.027777777777777776},"68":{"ref":68,"tf":0.027777777777777776}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"121":{"ref":121,"tf":0.011627906976744186}}}}}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"135":{"ref":135,"tf":0.0019305019305019305}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"-":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}},"’":{"docs":{},"v":{"docs":{"65":{"ref":65,"tf":0.025}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"132":{"ref":132,"tf":0.01282051282051282}}}}}}}},"h":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{"16":{"ref":16,"tf":0.007352941176470588}}}},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"31":{"ref":31,"tf":0.047619047619047616},"38":{"ref":38,"tf":0.011627906976744186}}}}},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"78":{"ref":78,"tf":0.011235955056179775},"90":{"ref":90,"tf":0.010416666666666666},"94":{"ref":94,"tf":0.011111111111111112},"123":{"ref":123,"tf":0.0035211267605633804}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"69":{"ref":69,"tf":0.05},"71":{"ref":71,"tf":0.024},"74":{"ref":74,"tf":0.03592814371257485},"80":{"ref":80,"tf":0.023076923076923078},"90":{"ref":90,"tf":0.041666666666666664},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"94":{"ref":94,"tf":0.022222222222222223},"98":{"ref":98,"tf":0.03773584905660377},"104":{"ref":104,"tf":0.00423728813559322},"106":{"ref":106,"tf":0.013333333333333334},"109":{"ref":109,"tf":0.05128205128205128},"110":{"ref":110,"tf":0.01020408163265306},"112":{"ref":112,"tf":0.03529411764705882},"115":{"ref":115,"tf":0.01948051948051948},"116":{"ref":116,"tf":0.03888888888888889},"117":{"ref":117,"tf":0.015151515151515152},"118":{"ref":118,"tf":0.009523809523809525},"119":{"ref":119,"tf":0.003937007874015748},"120":{"ref":120,"tf":0.012578616352201259},"121":{"ref":121,"tf":0.05813953488372093}}}}}}},"a":{"docs":{},"t":{"docs":{},"'":{"docs":{"64":{"ref":64,"tf":5},"127":{"ref":127,"tf":0.006622516556291391}}},"e":{"docs":{},"v":{"docs":{"67":{"ref":67,"tf":0.027777777777777776},"129":{"ref":129,"tf":0.0017391304347826088}}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"82":{"ref":82,"tf":0.0078125}}}}}},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{"43":{"ref":43,"tf":0.006944444444444444}}}},"d":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"135":{"ref":135,"tf":2.5}}},"k":{"docs":{"54":{"ref":54,"tf":0.003861003861003861},"56":{"ref":56,"tf":0.004784688995215311},"58":{"ref":58,"tf":0.00546448087431694},"60":{"ref":60,"tf":0.006818181818181818},"61":{"ref":61,"tf":0.010869565217391304},"63":{"ref":63,"tf":0.024390243902439025},"66":{"ref":66,"tf":0.043478260869565216},"70":{"ref":70,"tf":0.023809523809523808},"72":{"ref":72,"tf":0.002331002331002331},"82":{"ref":82,"tf":0.0078125},"84":{"ref":84,"tf":0.0036363636363636364},"95":{"ref":95,"tf":0.009345794392523364},"103":{"ref":103,"tf":0.012987012987012988},"104":{"ref":104,"tf":0.012711864406779662},"128":{"ref":128,"tf":0.017857142857142856},"130":{"ref":130,"tf":0.0043859649122807015},"131":{"ref":131,"tf":0.05555555555555555},"132":{"ref":132,"tf":0.01282051282051282},"133":{"ref":133,"tf":0.005025125628140704},"134":{"ref":134,"tf":0.0034522439585730723},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}}},"l":{"docs":{},"d":{"docs":{"58":{"ref":58,"tf":0.00546448087431694},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"58":{"ref":58,"tf":0.00273224043715847},"59":{"ref":59,"tf":0.002785515320334262},"128":{"ref":128,"tf":0.017857142857142856},"135":{"ref":135,"tf":0.0019305019305019305}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"127":{"ref":127,"tf":0.006622516556291391}}}}}},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}}}}}}}},"w":{"docs":{},"w":{"docs":{"60":{"ref":60,"tf":0.011363636363636364}},"/":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"59":{"ref":59,"tf":0.002785515320334262}}}}}}}}}}}},"j":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},".":{"docs":{},"j":{"docs":{"59":{"ref":59,"tf":0.002785515320334262}}}}}}}}}}}}}},"y":{"1":{"docs":{"119":{"ref":119,"tf":0.007874015748031496}}},"2":{"docs":{"119":{"ref":119,"tf":0.007874015748031496}}},"docs":{"119":{"ref":119,"tf":0.007874015748031496},"134":{"ref":134,"tf":0.0023014959723820483}},"o":{"docs":{},"u":{"docs":{},"'":{"docs":{},"l":{"docs":{},"l":{"docs":{"3":{"ref":3,"tf":0.019230769230769232},"38":{"ref":38,"tf":0.011627906976744186},"50":{"ref":50,"tf":0.008928571428571428},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.009569377990430622},"58":{"ref":58,"tf":0.01639344262295082},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.004545454545454545},"61":{"ref":61,"tf":0.010869565217391304},"126":{"ref":126,"tf":0.011111111111111112},"129":{"ref":129,"tf":0.006956521739130435},"133":{"ref":133,"tf":0.0016750418760469012}}}},"d":{"docs":{"45":{"ref":45,"tf":0.00980392156862745},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0017391304347826088}}},"v":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.004545454545454545},"129":{"ref":129,"tf":0.0034782608695652175},"132":{"ref":132,"tf":0.01282051282051282},"134":{"ref":134,"tf":0.0011507479861910242}}},"r":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242}}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"106":{"ref":106,"tf":0.013333333333333334}}}}}}},"’":{"docs":{},"d":{"docs":{"126":{"ref":126,"tf":0.011111111111111112}}}}}},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"16":{"ref":16,"tf":0.007352941176470588},"94":{"ref":94,"tf":0.011111111111111112}}}}}},"a":{"docs":{},"r":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"60":{"ref":60,"tf":0.0022727272727272726}}}},"p":{"docs":{"127":{"ref":127,"tf":0.006622516556291391}}}},"-":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"n":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}}}},"e":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"4":{"ref":4,"tf":0.022727272727272728},"18":{"ref":18,"tf":0.02},"19":{"ref":19,"tf":0.02},"57":{"ref":57,"tf":0.0023584905660377358}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{"53":{"ref":53,"tf":0.041666666666666664}}}}}},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{"105":{"ref":105,"tf":0.005847953216374269}}}}}},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"4":{"ref":4,"tf":0.022727272727272728},"21":{"ref":21,"tf":0.00980392156862745},"39":{"ref":39,"tf":0.012658227848101266},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.0022727272727272726},"72":{"ref":72,"tf":0.002331002331002331},"104":{"ref":104,"tf":0.00423728813559322},"132":{"ref":132,"tf":0.01282051282051282},"135":{"ref":135,"tf":0.003861003861003861},"136":{"ref":136,"tf":0.010101010101010102}}}},"c":{"docs":{},"t":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"104":{"ref":104,"tf":0.00423728813559322},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"45":{"ref":45,"tf":2.519607843137255}},"l":{"docs":{},"i":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"45":{"ref":45,"tf":0.00980392156862745},"72":{"ref":72,"tf":0.002331002331002331},"95":{"ref":95,"tf":0.009345794392523364},"117":{"ref":117,"tf":0.007575757575757576}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}}}}},"o":{"docs":{},"r":{"docs":{"126":{"ref":126,"tf":0.011111111111111112}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0023584905660377358},"61":{"ref":61,"tf":0.021739130434782608}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}},"s":{"docs":{"59":{"ref":59,"tf":0.008356545961002786},"60":{"ref":60,"tf":0.0022727272727272726},"108":{"ref":108,"tf":0.014492753623188406},"124":{"ref":124,"tf":0.010309278350515464},"135":{"ref":135,"tf":0.0019305019305019305}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"72":{"ref":72,"tf":0.02564102564102564},"74":{"ref":74,"tf":0.023952095808383235},"78":{"ref":78,"tf":0.033707865168539325},"88":{"ref":88,"tf":0.019417475728155338},"89":{"ref":89,"tf":0.045454545454545456},"90":{"ref":90,"tf":0.020833333333333332},"94":{"ref":94,"tf":0.05555555555555555},"95":{"ref":95,"tf":0.04672897196261682}}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"5":{"ref":5,"tf":0.02564102564102564},"13":{"ref":13,"tf":0.019230769230769232},"16":{"ref":16,"tf":0.014705882352941176},"20":{"ref":20,"tf":0.02040816326530612},"22":{"ref":22,"tf":0.024390243902439025},"27":{"ref":27,"tf":0.03225806451612903},"29":{"ref":29,"tf":0.02564102564102564},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"38":{"ref":38,"tf":0.011627906976744186},"39":{"ref":39,"tf":0.012658227848101266},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.00980392156862745},"48":{"ref":48,"tf":0.023255813953488372},"54":{"ref":54,"tf":0.003861003861003861},"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00546448087431694},"59":{"ref":59,"tf":0.005571030640668524},"60":{"ref":60,"tf":0.004545454545454545},"66":{"ref":66,"tf":0.043478260869565216},"72":{"ref":72,"tf":0.016317016317016316},"81":{"ref":81,"tf":0.015151515151515152},"84":{"ref":84,"tf":0.007272727272727273},"91":{"ref":91,"tf":0.0196078431372549},"92":{"ref":92,"tf":0.02857142857142857},"95":{"ref":95,"tf":0.009345794392523364},"97":{"ref":97,"tf":0.019230769230769232},"98":{"ref":98,"tf":0.018867924528301886},"100":{"ref":100,"tf":0.041666666666666664},"101":{"ref":101,"tf":0.043478260869565216},"102":{"ref":102,"tf":0.041666666666666664},"104":{"ref":104,"tf":0.00423728813559322},"107":{"ref":107,"tf":0.012658227848101266},"109":{"ref":109,"tf":0.008547008547008548},"112":{"ref":112,"tf":0.0058823529411764705},"113":{"ref":113,"tf":0.0070921985815602835},"114":{"ref":114,"tf":0.001594896331738437},"115":{"ref":115,"tf":0.00974025974025974},"116":{"ref":116,"tf":0.011111111111111112},"117":{"ref":117,"tf":0.015151515151515152},"118":{"ref":118,"tf":0.009523809523809525},"126":{"ref":126,"tf":0.011111111111111112},"128":{"ref":128,"tf":0.03571428571428571},"129":{"ref":129,"tf":0.0052173913043478265},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}}}}},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"134":{"ref":134,"tf":0.0011507479861910242}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{"11":{"ref":11,"tf":0.045454545454545456},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.0019305019305019305}},"c":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"128":{"ref":128,"tf":0.017857142857142856}}}}}},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"14":{"ref":14,"tf":0.011494252873563218},"54":{"ref":54,"tf":0.001287001287001287},"59":{"ref":59,"tf":0.002785515320334262},"64":{"ref":64,"tf":0.0625}}},"d":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"65":{"ref":65,"tf":0.025}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"20":{"ref":20,"tf":0.02040816326530612},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"73":{"ref":73,"tf":0.05},"82":{"ref":82,"tf":0.0078125},"87":{"ref":87,"tf":0.041666666666666664},"123":{"ref":123,"tf":0.007042253521126761}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.007075471698113208},"59":{"ref":59,"tf":0.002785515320334262},"95":{"ref":95,"tf":0.009345794392523364},"112":{"ref":112,"tf":0.0058823529411764705},"116":{"ref":116,"tf":0.011111111111111112},"118":{"ref":118,"tf":0.009523809523809525},"123":{"ref":123,"tf":0.0035211267605633804},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.0019305019305019305}}}},"t":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"121":{"ref":121,"tf":0.005813953488372093}}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"104":{"ref":104,"tf":0.00423728813559322},"111":{"ref":111,"tf":0.03007518796992481},"113":{"ref":113,"tf":0.014184397163120567},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0034522439585730723},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}}}}}}},"d":{"docs":{},"g":{"docs":{"5":{"ref":5,"tf":0.02564102564102564},"52":{"ref":52,"tf":0.010416666666666666},"62":{"ref":62,"tf":0.041666666666666664},"74":{"ref":74,"tf":0.005988023952095809}}},"i":{"docs":{},"t":{"docs":{"11":{"ref":11,"tf":0.09090909090909091},"12":{"ref":12,"tf":0.1},"14":{"ref":14,"tf":0.022988505747126436},"58":{"ref":58,"tf":0.00819672131147541},"59":{"ref":59,"tf":0.008356545961002786},"80":{"ref":80,"tf":0.015384615384615385},"85":{"ref":85,"tf":0.09090909090909091},"111":{"ref":111,"tf":0.007518796992481203},"123":{"ref":123,"tf":0.0035211267605633804},"124":{"ref":124,"tf":0.010309278350515464}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"5":{"ref":5,"tf":0.02564102564102564},"6":{"ref":6,"tf":0.023809523809523808},"10":{"ref":10,"tf":0.047619047619047616},"15":{"ref":15,"tf":0.022727272727272728},"16":{"ref":16,"tf":0.029411764705882353},"20":{"ref":20,"tf":0.02040816326530612},"22":{"ref":22,"tf":0.024390243902439025},"24":{"ref":24,"tf":0.041666666666666664},"25":{"ref":25,"tf":0.022988505747126436},"26":{"ref":26,"tf":0.043478260869565216},"28":{"ref":28,"tf":0.038461538461538464},"30":{"ref":30,"tf":0.05405405405405406},"35":{"ref":35,"tf":0.01818181818181818},"36":{"ref":36,"tf":0.05357142857142857},"37":{"ref":37,"tf":0.0625},"38":{"ref":38,"tf":0.011627906976744186},"39":{"ref":39,"tf":0.012658227848101266},"52":{"ref":52,"tf":0.03125},"57":{"ref":57,"tf":0.0023584905660377358},"72":{"ref":72,"tf":0.037296037296037296},"80":{"ref":80,"tf":0.023076923076923078},"82":{"ref":82,"tf":0.0234375},"86":{"ref":86,"tf":0.06666666666666667},"88":{"ref":88,"tf":0.009708737864077669},"93":{"ref":93,"tf":0.028169014084507043},"96":{"ref":96,"tf":0.03571428571428571},"97":{"ref":97,"tf":0.038461538461538464},"99":{"ref":99,"tf":0.02127659574468085},"102":{"ref":102,"tf":0.041666666666666664},"103":{"ref":103,"tf":0.01948051948051948},"104":{"ref":104,"tf":0.012711864406779662},"105":{"ref":105,"tf":0.005847953216374269},"108":{"ref":108,"tf":0.14492753623188406},"115":{"ref":115,"tf":0.00974025974025974},"117":{"ref":117,"tf":0.007575757575757576},"119":{"ref":119,"tf":0.04330708661417323},"120":{"ref":120,"tf":0.06289308176100629},"123":{"ref":123,"tf":0.01056338028169014},"130":{"ref":130,"tf":0.008771929824561403},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.01726121979286536}},"'":{"docs":{"52":{"ref":52,"tf":0.020833333333333332},"119":{"ref":119,"tf":0.003937007874015748}}},")":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{"120":{"ref":120,"tf":0.025157232704402517}}}}}}}},"[":{"0":{"docs":{},"]":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}}}}}}}}}}}},"docs":{}}}}}}},"a":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"134":{"ref":134,"tf":0.0034522439585730723}}}}}}},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"r":{"docs":{"6":{"ref":6,"tf":0.023809523809523808},"16":{"ref":16,"tf":0.007352941176470588},"19":{"ref":19,"tf":0.02},"31":{"ref":31,"tf":0.047619047619047616},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"36":{"ref":36,"tf":0.017857142857142856},"129":{"ref":129,"tf":0.0017391304347826088},"133":{"ref":133,"tf":0.0016750418760469012}}}},"e":{"docs":{},"r":{"docs":{"23":{"ref":23,"tf":0.24242424242424243},"27":{"ref":27,"tf":0.03225806451612903},"28":{"ref":28,"tf":0.038461538461538464},"54":{"ref":54,"tf":0.001287001287001287},"114":{"ref":114,"tf":0.004784688995215311},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0034782608695652175},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.010101010101010102}}}},"r":{"docs":{},"i":{"docs":{"56":{"ref":56,"tf":0.003189792663476874}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"39":{"ref":39,"tf":0.012658227848101266},"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00273224043715847},"60":{"ref":60,"tf":0.011363636363636364},"82":{"ref":82,"tf":0.0078125},"91":{"ref":91,"tf":0.0196078431372549},"117":{"ref":117,"tf":0.015151515151515152},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.003861003861003861}},"e":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"[":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"117":{"ref":117,"tf":0.007575757575757576}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"129":{"ref":129,"tf":0.0017391304347826088}}}}},"d":{"docs":{"61":{"ref":61,"tf":0.010869565217391304},"106":{"ref":106,"tf":0.013333333333333334},"117":{"ref":117,"tf":0.007575757575757576}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"132":{"ref":132,"tf":0.01282051282051282}}}}},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"63":{"ref":63,"tf":0.024390243902439025},"127":{"ref":127,"tf":0.019867549668874173},"130":{"ref":130,"tf":0.013157894736842105},"132":{"ref":132,"tf":0.01282051282051282},"133":{"ref":133,"tf":0.005025125628140704}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0047169811320754715},"70":{"ref":70,"tf":0.023809523809523808},"88":{"ref":88,"tf":0.009708737864077669}}}}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"135":{"ref":135,"tf":0.0019305019305019305}}}}}}},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"59":{"ref":59,"tf":0.002785515320334262},"134":{"ref":134,"tf":0.0011507479861910242}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"65":{"ref":65,"tf":0.025},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"72":{"ref":72,"tf":0.004662004662004662}}}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"34":{"ref":34,"tf":0.016666666666666666},"60":{"ref":60,"tf":0.0022727272727272726},"74":{"ref":74,"tf":0.011976047904191617},"78":{"ref":78,"tf":0.011235955056179775},"80":{"ref":80,"tf":0.007692307692307693},"105":{"ref":105,"tf":0.005847953216374269},"123":{"ref":123,"tf":0.0035211267605633804},"124":{"ref":124,"tf":0.010309278350515464},"127":{"ref":127,"tf":0.006622516556291391},"129":{"ref":129,"tf":0.0017391304347826088},"130":{"ref":130,"tf":0.0043859649122807015},"134":{"ref":134,"tf":0.004602991944764097},"135":{"ref":135,"tf":0.003861003861003861},"136":{"ref":136,"tf":0.005050505050505051}},"l":{"docs":{},"i":{"docs":{"10":{"ref":10,"tf":0.023809523809523808},"13":{"ref":13,"tf":0.019230769230769232},"15":{"ref":15,"tf":0.022727272727272728},"16":{"ref":16,"tf":0.007352941176470588},"22":{"ref":22,"tf":0.024390243902439025},"32":{"ref":32,"tf":0.04},"43":{"ref":43,"tf":0.006944444444444444},"47":{"ref":47,"tf":0.01},"51":{"ref":51,"tf":0.01694915254237288},"52":{"ref":52,"tf":0.010416666666666666},"65":{"ref":65,"tf":0.05},"123":{"ref":123,"tf":0.0035211267605633804},"134":{"ref":134,"tf":0.0011507479861910242}}}},"e":{"docs":{},"r":{"docs":{"34":{"ref":34,"tf":0.016666666666666666},"43":{"ref":43,"tf":0.006944444444444444},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.00980392156862745},"46":{"ref":46,"tf":0.019230769230769232},"47":{"ref":47,"tf":0.01},"48":{"ref":48,"tf":0.011627906976744186},"50":{"ref":50,"tf":0.008928571428571428},"54":{"ref":54,"tf":0.001287001287001287},"60":{"ref":60,"tf":0.0022727272727272726},"129":{"ref":129,"tf":0.0017391304347826088}}},"s":{"docs":{},"t":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"129":{"ref":129,"tf":0.0017391304347826088}}}}}},"e":{"docs":{},"-":{"docs":{},"i":{"docs":{},"n":{"docs":{},"-":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"106":{"ref":106,"tf":0.013333333333333334}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{"16":{"ref":16,"tf":0.022058823529411766},"26":{"ref":26,"tf":0.021739130434782608},"29":{"ref":29,"tf":0.02564102564102564},"30":{"ref":30,"tf":0.02702702702702703},"34":{"ref":34,"tf":0.016666666666666666},"35":{"ref":35,"tf":0.01818181818181818},"36":{"ref":36,"tf":0.017857142857142856},"38":{"ref":38,"tf":0.011627906976744186},"39":{"ref":39,"tf":0.012658227848101266},"43":{"ref":43,"tf":0.013888888888888888},"44":{"ref":44,"tf":0.037037037037037035},"45":{"ref":45,"tf":0.00980392156862745},"47":{"ref":47,"tf":0.01},"48":{"ref":48,"tf":0.023255813953488372},"49":{"ref":49,"tf":0.08333333333333333},"50":{"ref":50,"tf":0.017857142857142856},"52":{"ref":52,"tf":0.010416666666666666},"54":{"ref":54,"tf":0.001287001287001287},"58":{"ref":58,"tf":0.00273224043715847},"71":{"ref":71,"tf":0.008},"72":{"ref":72,"tf":0.006993006993006993},"80":{"ref":80,"tf":0.007692307692307693},"82":{"ref":82,"tf":0.0078125},"84":{"ref":84,"tf":0.01090909090909091},"94":{"ref":94,"tf":0.011111111111111112},"95":{"ref":95,"tf":0.009345794392523364},"104":{"ref":104,"tf":0.0211864406779661},"105":{"ref":105,"tf":0.005847953216374269},"107":{"ref":107,"tf":0.02531645569620253},"114":{"ref":114,"tf":0.001594896331738437},"123":{"ref":123,"tf":0.0035211267605633804},"129":{"ref":129,"tf":0.0017391304347826088},"133":{"ref":133,"tf":0.005025125628140704},"134":{"ref":134,"tf":0.0023014959723820483},"136":{"ref":136,"tf":0.005050505050505051}}}},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"114":{"ref":114,"tf":0.004784688995215311}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{"120":{"ref":120,"tf":0.006289308176100629}}}}}}}},"g":{"docs":{"95":{"ref":95,"tf":0.009345794392523364},"112":{"ref":112,"tf":0.0058823529411764705}},"o":{"docs":{},"n":{"docs":{"18":{"ref":18,"tf":0.02}}}},"g":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"65":{"ref":65,"tf":0.025},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.005847953216374269},"115":{"ref":115,"tf":0.003246753246753247},"134":{"ref":134,"tf":0.0023014959723820483}},"l":{"docs":{},"i":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"44":{"ref":44,"tf":2.537037037037037},"45":{"ref":45,"tf":0.0196078431372549},"72":{"ref":72,"tf":0.002331002331002331}}}},"t":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726},"71":{"ref":71,"tf":0.016},"88":{"ref":88,"tf":0.009708737864077669},"104":{"ref":104,"tf":0.012711864406779662},"108":{"ref":108,"tf":0.08695652173913043},"112":{"ref":112,"tf":0.01764705882352941},"113":{"ref":113,"tf":0.014184397163120567},"114":{"ref":114,"tf":0.001594896331738437},"120":{"ref":120,"tf":0.08176100628930817},"132":{"ref":132,"tf":0.01282051282051282},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.012658227848101266}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"108":{"ref":108,"tf":0.028985507246376812},"120":{"ref":120,"tf":0.025157232704402517}}}}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"114":{"ref":114,"tf":0.001594896331738437}}}}}}}}}}}}}}}}},"u":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088},"135":{"ref":135,"tf":0.0019305019305019305}}}}},"r":{"docs":{},"-":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"56":{"ref":56,"tf":0.003189792663476874},"57":{"ref":57,"tf":0.0023584905660377358},"59":{"ref":59,"tf":0.002785515320334262},"63":{"ref":63,"tf":0.024390243902439025},"126":{"ref":126,"tf":0.022222222222222223},"127":{"ref":127,"tf":0.006622516556291391}}}},"o":{"docs":{},"n":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358}}}}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"74":{"ref":74,"tf":0.011976047904191617}}}}},"i":{"docs":{},"l":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"29":{"ref":29,"tf":0.05128205128205128},"127":{"ref":127,"tf":0.006622516556291391}}}}},"o":{"docs":{},"t":{"docs":{"50":{"ref":50,"tf":0.008928571428571428}}}},"u":{"docs":{},"l":{"docs":{"56":{"ref":56,"tf":0.014354066985645933},"59":{"ref":59,"tf":0.002785515320334262},"60":{"ref":60,"tf":0.0022727272727272726},"127":{"ref":127,"tf":0.006622516556291391}}}},"b":{"docs":{},"e":{"docs":{},"d":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"t":{"docs":{},"c":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"50":{"ref":50,"tf":0.008928571428571428},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"44":{"ref":44,"tf":0.018518518518518517}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{"72":{"ref":72,"tf":0.004662004662004662}}}}}}}},"f":{"4":{"docs":{},"e":{"3":{"docs":{},"a":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}},"docs":{}}},"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"86":{"ref":86,"tf":0.06666666666666667},"123":{"ref":123,"tf":0.0035211267605633804},"130":{"ref":130,"tf":2.508771929824561}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"56":{"ref":56,"tf":0.006379585326953748},"72":{"ref":72,"tf":0.002331002331002331}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.0022727272727272726}}}}}},"o":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"135":{"ref":135,"tf":0.005791505791505791}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"114":{"ref":114,"tf":0.004784688995215311}}}}}}}}}}}}}}}}}},"g":{"docs":{"56":{"ref":56,"tf":0.003189792663476874},"63":{"ref":63,"tf":0.024390243902439025},"127":{"ref":127,"tf":0.006622516556291391}},"o":{"docs":{"5":{"ref":5,"tf":0.02564102564102564},"18":{"ref":18,"tf":0.02},"20":{"ref":20,"tf":0.02040816326530612},"36":{"ref":36,"tf":0.03571428571428571},"54":{"ref":54,"tf":0.007722007722007722},"56":{"ref":56,"tf":0.007974481658692184},"58":{"ref":58,"tf":0.00546448087431694},"59":{"ref":59,"tf":0.008356545961002786},"60":{"ref":60,"tf":0.0022727272727272726},"81":{"ref":81,"tf":0.030303030303030304},"88":{"ref":88,"tf":0.02912621359223301},"104":{"ref":104,"tf":0.00423728813559322},"111":{"ref":111,"tf":0.007518796992481203},"113":{"ref":113,"tf":0.0070921985815602835},"117":{"ref":117,"tf":0.015151515151515152},"124":{"ref":124,"tf":0.010309278350515464},"129":{"ref":129,"tf":0.006956521739130435},"130":{"ref":130,"tf":0.0043859649122807015},"133":{"ref":133,"tf":0.0016750418760469012},"134":{"ref":134,"tf":0.0023014959723820483},"136":{"ref":136,"tf":0.005050505050505051}},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"p":{"docs":{"15":{"ref":15,"tf":0.022727272727272728}}}}}}}},"n":{"docs":{},"n":{"docs":{},"a":{"docs":{"18":{"ref":18,"tf":0.02}}}},"e":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"58":{"ref":58,"tf":0.01912568306010929},"104":{"ref":104,"tf":0.00423728813559322}}}},"d":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"61":{"ref":61,"tf":0.010869565217391304},"84":{"ref":84,"tf":0.0036363636363636364},"114":{"ref":114,"tf":0.001594896331738437}}}},"a":{"docs":{},"l":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"61":{"ref":61,"tf":0.010869565217391304},"135":{"ref":135,"tf":0.007722007722007722}}}},"e":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705},"129":{"ref":129,"tf":0.0017391304347826088},"134":{"ref":134,"tf":0.0011507479861910242}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.005050505050505051}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"13":{"ref":13,"tf":0.019230769230769232},"15":{"ref":15,"tf":0.022727272727272728},"26":{"ref":26,"tf":0.021739130434782608}}}}},"a":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{"16":{"ref":16,"tf":0.014705882352941176}}}}},"i":{"docs":{"43":{"ref":43,"tf":0.006944444444444444},"44":{"ref":44,"tf":0.018518518518518517},"45":{"ref":45,"tf":0.00980392156862745},"46":{"ref":46,"tf":0.019230769230769232},"47":{"ref":47,"tf":0.01},"48":{"ref":48,"tf":0.011627906976744186},"52":{"ref":52,"tf":0.010416666666666666}}},"b":{"docs":{"54":{"ref":54,"tf":0.002574002574002574},"135":{"ref":135,"tf":0.0019305019305019305}}},"d":{"docs":{},"e":{"docs":{"121":{"ref":121,"tf":0.011627906976744186}}}},"n":{"docs":{},"d":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"19":{"ref":19,"tf":0.02},"38":{"ref":38,"tf":0.023255813953488372}}}},"a":{"docs":{},"t":{"docs":{"21":{"ref":21,"tf":0.00980392156862745},"24":{"ref":24,"tf":0.041666666666666664},"54":{"ref":54,"tf":0.006435006435006435},"57":{"ref":57,"tf":0.0047169811320754715},"64":{"ref":64,"tf":0.0625},"70":{"ref":70,"tf":0.023809523809523808},"84":{"ref":84,"tf":0.0036363636363636364},"131":{"ref":131,"tf":0.05555555555555555},"134":{"ref":134,"tf":0.009205983889528193},"135":{"ref":135,"tf":0.0019305019305019305},"136":{"ref":136,"tf":0.015151515151515152}},"e":{"docs":{},"r":{"docs":{"78":{"ref":78,"tf":0.011235955056179775}}}}}}},"i":{"docs":{},"d":{"docs":{"43":{"ref":43,"tf":10.020833333333334},"44":{"ref":44,"tf":2.5},"45":{"ref":45,"tf":2.5294117647058822},"46":{"ref":46,"tf":3.333333333333333},"47":{"ref":47,"tf":2.5},"48":{"ref":48,"tf":5.011627906976744},"72":{"ref":72,"tf":0.004662004662004662}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"16":{"ref":16,"tf":0.007352941176470588},"132":{"ref":132,"tf":0.01282051282051282}}}},"t":{"docs":{},"e":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"18":{"ref":18,"tf":0.02}}}}}}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{"30":{"ref":30,"tf":0.02702702702702703},"32":{"ref":32,"tf":0.04},"52":{"ref":52,"tf":0.010416666666666666},"54":{"ref":54,"tf":0.001287001287001287},"57":{"ref":57,"tf":0.0023584905660377358},"63":{"ref":63,"tf":0.024390243902439025},"72":{"ref":72,"tf":0.002331002331002331},"133":{"ref":133,"tf":0.0033500837520938024},"134":{"ref":134,"tf":0.0011507479861910242},"136":{"ref":136,"tf":0.005050505050505051}},"n":{"docs":{"54":{"ref":54,"tf":0.003861003861003861},"67":{"ref":67,"tf":0.027777777777777776},"84":{"ref":84,"tf":0.0036363636363636364},"89":{"ref":89,"tf":0.022727272727272728},"95":{"ref":95,"tf":0.018691588785046728},"97":{"ref":97,"tf":0.019230769230769232},"101":{"ref":101,"tf":0.08695652173913043},"102":{"ref":102,"tf":0.020833333333333332},"109":{"ref":109,"tf":0.008547008547008548},"110":{"ref":110,"tf":0.01020408163265306},"112":{"ref":112,"tf":0.01764705882352941},"114":{"ref":114,"tf":0.006379585326953748},"115":{"ref":115,"tf":0.006493506493506494},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.01904761904761905},"119":{"ref":119,"tf":0.011811023622047244},"121":{"ref":121,"tf":0.005813953488372093},"123":{"ref":123,"tf":0.01056338028169014}}}}},"g":{"docs":{},"a":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{"35":{"ref":35,"tf":0.01818181818181818}}}}}}}},"t":{"docs":{"56":{"ref":56,"tf":0.003189792663476874}},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"62":{"ref":62,"tf":0.08333333333333333},"128":{"ref":128,"tf":0.017857142857142856}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"133":{"ref":133,"tf":0.0016750418760469012}}}}},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"50":{"ref":50,"tf":0.017857142857142856},"58":{"ref":58,"tf":0.01366120218579235},"129":{"ref":129,"tf":0.0034782608695652175},"134":{"ref":134,"tf":0.0023014959723820483},"135":{"ref":135,"tf":0.005791505791505791}}}},"k":{"docs":{},"e":{"docs":{},"i":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}},"t":{"docs":{"55":{"ref":55,"tf":0.02040816326530612},"56":{"ref":56,"tf":0.001594896331738437},"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.0022727272727272726},"74":{"ref":74,"tf":0.005988023952095809},"78":{"ref":78,"tf":0.011235955056179775},"116":{"ref":116,"tf":0.005555555555555556},"123":{"ref":123,"tf":0.0035211267605633804},"127":{"ref":127,"tf":3.333333333333333},"135":{"ref":135,"tf":0.0019305019305019305}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"109":{"ref":109,"tf":0.008547008547008548},"115":{"ref":115,"tf":0.003246753246753247},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525}},"e":{"docs":{},"(":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"109":{"ref":109,"tf":0.008547008547008548},"112":{"ref":112,"tf":0.0058823529411764705},"115":{"ref":115,"tf":0.003246753246753247},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"e":{"docs":{},"l":{"docs":{"119":{"ref":119,"tf":0.007874015748031496}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},"l":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"112":{"ref":112,"tf":0.0058823529411764705}}}},"n":{"docs":{},"g":{"docs":{},"-":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"127":{"ref":127,"tf":1}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"(":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{"116":{"ref":116,"tf":0.005555555555555556}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"(":{"docs":{},"e":{"docs":{},"l":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"61":{"ref":61,"tf":0.010869565217391304},"108":{"ref":108,"tf":0.08695652173913043},"120":{"ref":120,"tf":0.031446540880503145},"124":{"ref":124,"tf":0.010309278350515464},"134":{"ref":134,"tf":0.0011507479861910242}}}}}},"m":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}},"u":{"docs":{},"i":{"docs":{"84":{"ref":84,"tf":0.0036363636363636364}},"d":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"56":{"ref":56,"tf":0.009569377990430622},"57":{"ref":57,"tf":0.0023584905660377358},"58":{"ref":58,"tf":0.00273224043715847},"69":{"ref":69,"tf":0.05},"127":{"ref":127,"tf":0.006622516556291391}},"e":{"docs":{},"]":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{},"-":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"-":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"-":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"129":{"ref":129,"tf":0.0017391304347826088}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"p":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"p":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"60":{"ref":60,"tf":0.0022727272727272726}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.005753739930955121}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}}}},"p":{"docs":{"135":{"ref":135,"tf":0.0019305019305019305}}}},"z":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{"14":{"ref":14,"tf":0.011494252873563218}}}}},"r":{"docs":{},"o":{"docs":{"52":{"ref":52,"tf":0.020833333333333332}}}}},"i":{"docs":{},"p":{"docs":{"56":{"ref":56,"tf":0.003189792663476874},"58":{"ref":58,"tf":0.00273224043715847}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"m":{"docs":{"90":{"ref":90,"tf":0.03125},"104":{"ref":104,"tf":0.00423728813559322},"134":{"ref":134,"tf":0.0034522439585730723}}}}},"-":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"130":{"ref":130,"tf":0.0043859649122807015}}}}}}}}},"j":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{"15":{"ref":15,"tf":0.022727272727272728}}}}},"h":{"docs":{},"n":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}},"i":{"docs":{},"n":{"docs":{"127":{"ref":127,"tf":0.006622516556291391}}}},"b":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}},"t":{"docs":{"16":{"ref":16,"tf":0.007352941176470588}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"34":{"ref":34,"tf":0.016666666666666666},"36":{"ref":36,"tf":0.017857142857142856},"56":{"ref":56,"tf":0.006379585326953748}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"34":{"ref":34,"tf":0.016666666666666666},"54":{"ref":54,"tf":0.003861003861003861},"57":{"ref":57,"tf":0.0047169811320754715},"59":{"ref":59,"tf":0.002785515320334262},"61":{"ref":61,"tf":0.021739130434782608},"64":{"ref":64,"tf":0.0625},"104":{"ref":104,"tf":0.00423728813559322},"114":{"ref":114,"tf":0.001594896331738437},"126":{"ref":126,"tf":0.022222222222222223},"127":{"ref":127,"tf":0.006622516556291391},"133":{"ref":133,"tf":0.0033500837520938024},"134":{"ref":134,"tf":0.0011507479861910242},"135":{"ref":135,"tf":0.007722007722007722},"136":{"ref":136,"tf":0.015151515151515152}}}}}}}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"56":{"ref":56,"tf":0.004784688995215311}},"e":{"docs":{},"=":{"docs":{},"$":{"docs":{},"(":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"54":{"ref":54,"tf":0.001287001287001287}}}}}}}}},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"58":{"ref":58,"tf":0.00546448087431694}}}}}}}},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"59":{"ref":59,"tf":0.002785515320334262},"126":{"ref":126,"tf":0.011111111111111112}}}}},"d":{"docs":{},"k":{"docs":{"56":{"ref":56,"tf":0.006379585326953748},"58":{"ref":58,"tf":0.00546448087431694}},"'":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}},"]":{"docs":{},"(":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"/":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"/":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"7":{"docs":{},"-":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"-":{"1":{"8":{"8":{"0":{"2":{"6":{"0":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"56":{"ref":56,"tf":0.001594896331738437}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"56":{"ref":56,"tf":0.003189792663476874}}}},"s":{"docs":{"59":{"ref":59,"tf":0.002785515320334262},"64":{"ref":64,"tf":0.0625},"66":{"ref":66,"tf":0.043478260869565216},"72":{"ref":72,"tf":0.002331002331002331},"78":{"ref":78,"tf":0.011235955056179775},"81":{"ref":81,"tf":0.030303030303030304},"84":{"ref":84,"tf":0.0036363636363636364},"88":{"ref":88,"tf":0.009708737864077669},"89":{"ref":89,"tf":0.022727272727272728},"93":{"ref":93,"tf":0.014084507042253521},"105":{"ref":105,"tf":0.005847953216374269},"106":{"ref":106,"tf":0.013333333333333334},"107":{"ref":107,"tf":0.012658227848101266},"109":{"ref":109,"tf":0.008547008547008548},"110":{"ref":110,"tf":0.01020408163265306},"111":{"ref":111,"tf":0.007518796992481203},"112":{"ref":112,"tf":0.0058823529411764705},"114":{"ref":114,"tf":0.001594896331738437},"115":{"ref":115,"tf":0.00974025974025974},"116":{"ref":116,"tf":0.005555555555555556},"117":{"ref":117,"tf":0.007575757575757576},"118":{"ref":118,"tf":0.009523809523809525},"129":{"ref":129,"tf":0.006956521739130435}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"68":{"ref":68,"tf":0.027777777777777776}}}}}}},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"70":{"ref":70,"tf":0.023809523809523808}}}}}}}},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{"72":{"ref":72,"tf":0.002331002331002331}}}}}}},"k":{"docs":{},"a":{"docs":{},"t":{"docs":{"15":{"ref":15,"tf":0.022727272727272728}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}}}},"i":{"docs":{},"t":{"docs":{"15":{"ref":15,"tf":0.022727272727272728}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"85":{"ref":85,"tf":0.09090909090909091}}}}}},"n":{"docs":{},"g":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{"20":{"ref":20,"tf":0.02040816326530612}}}}}},"d":{"docs":{"57":{"ref":57,"tf":0.0047169811320754715},"133":{"ref":133,"tf":0.0016750418760469012},"135":{"ref":135,"tf":0.0019305019305019305}}}}},"e":{"docs":{},"y":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"26":{"ref":26,"tf":0.021739130434782608},"99":{"ref":99,"tf":0.06382978723404255},"103":{"ref":103,"tf":10.051948051948052},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.005847953216374269}},"-":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"99":{"ref":99,"tf":10.042553191489361}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"58":{"ref":58,"tf":0.00819672131147541}}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"58":{"ref":58,"tf":0.00546448087431694}}}}}}},"e":{"docs":{},"p":{"docs":{"54":{"ref":54,"tf":0.001287001287001287},"72":{"ref":72,"tf":0.006993006993006993},"84":{"ref":84,"tf":0.0036363636363636364},"104":{"ref":104,"tf":0.00423728813559322},"105":{"ref":105,"tf":0.011695906432748537},"110":{"ref":110,"tf":0.01020408163265306},"114":{"ref":114,"tf":0.001594896331738437},"123":{"ref":123,"tf":0.0035211267605633804}}}},"i":{"docs":{"58":{"ref":58,"tf":0.00546448087431694},"72":{"ref":72,"tf":0.004662004662004662}}},"p":{"docs":{},"t":{"docs":{"134":{"ref":134,"tf":0.0011507479861910242}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"54":{"ref":54,"tf":0.005148005148005148},"57":{"ref":57,"tf":0.0023584905660377358},"60":{"ref":60,"tf":0.0022727272727272726},"84":{"ref":84,"tf":0.0036363636363636364},"104":{"ref":104,"tf":0.00423728813559322},"123":{"ref":123,"tf":0.0035211267605633804},"126":{"ref":126,"tf":0.011111111111111112},"127":{"ref":127,"tf":0.006622516556291391},"134":{"ref":134,"tf":0.004602991944764097},"135":{"ref":135,"tf":0.0019305019305019305}},"n":{"docs":{"96":{"ref":96,"tf":0.017857142857142856},"134":{"ref":134,"tf":0.0011507479861910242}}}}},"e":{"docs":{},"w":{"docs":{"136":{"ref":136,"tf":0.005050505050505051}}}}}},"x":{"1":{"docs":{"119":{"ref":119,"tf":0.007874015748031496}},",":{"docs":{},"y":{"1":{"docs":{},",":{"docs":{},"x":{"2":{"docs":{},",":{"docs":{},"y":{"2":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}}},"docs":{}}}},"docs":{}}}},"docs":{}}}},"2":{"docs":{"119":{"ref":119,"tf":0.007874015748031496}}},"docs":{"56":{"ref":56,"tf":0.006379585326953748},"60":{"ref":60,"tf":0.00909090909090909},"119":{"ref":119,"tf":0.003937007874015748},"127":{"ref":127,"tf":0.006622516556291391},"134":{"ref":134,"tf":0.0023014959723820483}},"-":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"38":{"ref":38,"tf":0.011627906976744186}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"115":{"ref":115,"tf":0.003246753246753247}}}}}}},"m":{"docs":{},"l":{"docs":{"56":{"ref":56,"tf":0.001594896331738437},"58":{"ref":58,"tf":0.00546448087431694},"103":{"ref":103,"tf":0.006493506493506494}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"60":{"ref":60,"tf":0.00909090909090909}}}}}},",":{"docs":{},"y":{"docs":{"119":{"ref":119,"tf":0.003937007874015748}}}}},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{"50":{"ref":50,"tf":0.008928571428571428},"129":{"ref":129,"tf":0.0052173913043478265}}}}}}}}}}}}}}}},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"_":{"docs":{"58":{"ref":58,"tf":0.00273224043715847}}}}}}}}}}},"length":8977},"corpusTokens":["0","0.5","000","05","0px","1","1,000","1,2,3","1.21","10","100","1000","10000","10px","12","1234","15px","17","170px","192.168.1.123:8000","1955","1line","2","2-1b","2.3","20","2009","2011","2048","20px","23","25","275","2line","3","3-wide","3.4.0","3.x","300","3000","300m","30px","32","32-bit","33","33.3333","39;$index'","39;'","39;back'","39;button-default'","39;button-positive'","39;cancel'","39;center'","39;danger'","39;forward'","39;index'","39;ion-arrow-down-c'","39;ion-loading-d'","39;left'","39;ok'","39;pane'","39;right'","39;slide-in-up'","39;text'","39;x'","39;xy'","39;y'","3cr","button-roy","button-smal","button-st","buttonclick","c","c-3po","c:\\apache-ant-1.9.2\\bin","c:\\program","cach","call","callback","calm","camera","can't","can-swip","cancel","cancelable])(alia","canceltext","canceltyp","candi","candrag","candragcontent([candrag","canswipeitems([showreord","capabl","capacitor","card","card-bodi","card-foot","care","carri","case","caus","cd","center","certain","certainli","certif","challeng","chanc","chang","changetitle(titl","chapter","check","checkbox","checkbox-assert","checkbox](http://docs.angularjs.org/api/ng/input/input[checkbox","child","children","choic","choos","chose","chrome","class","class=\"bar-secondari","class=\"button","class=\"item","class=\"list","class=\"mod","class=\"pad","class=\"title\">mi","class=\"title\">new","class="bar-positive">","class="button","class="button">","class](/docs/v3/components#anim","class](/docs/v3/components#tab","classic","classnam","clean","cleanup","clear","click","clone","close","closeoptionbutton","closest","code","codepen","codiqa","coin","col","col-10","col-20","col-25","col-33","col-50","col-67","col-75","col-80","col-90","col-offset-10","col-offset-20","col-offset-25","col-offset-33","col-offset-50","col-offset-67","col-offset-75","col-offset-80","col-offset-90","col.col-50","col.col-75","collect","collection-item-height","collection-item-width","collection-repeat","color","colors](/docs/v3/components/#color","column","combin","come","command","command-lin","comment","commerci","common","commonli","commun","compani","compar","compass","compat","compel","compil","compileprovid","compileprovider.ahrefsanitizationwhitelist(/^\\s*(https?|ftp|mailto|file|tel","complet","complex","complic","compon","comprehens","comput","concept","concern","conclus","cone","config","config(funct","config(function($routeprovid","config.xml","configur","confirm","confirm(opt","confirmpopup","confirmpopup.then(function(r","conflict","confus","conjunct","connect","consid","consist","consol","console.log('got","console.log('tap","console.log('thank","console.log('y","console.log('your","console2","console2](http://sourceforge.net/projects/consol","console](https://play.google.com/apps/publish","constantli","consum","contain","content","content'","content](https://ionicframework.com/docs/api/directive/ioncont","contentcontroller($scop","contentctrl($scop","context","continu","contra","contrast","contribut","contribute](/contribut","contributor","control","controller('introctrl","controller('loadingctrl","controller('menuctrl","controller('mycontrol","controller('myctrl","controller('todoctrl","controller(function($scop","controllers.j","conveni","convent","convinc","cool","coordin","copi","cordova","cordova'","cordova.j","cordova.plugins.keyboard.disablescroll(tru","cordova/phonegap","cordova](http://cordova.apache.org","core","correct","correctli","correspond","correspondingbutton","cost","count","cours","cousin","cover","crash","crazi","cream","creat","createproject","createproject(projecttitl","createtask","createtask(task","creation","creativ","creator","creators](http://drifty.com","crusad","crystal","css","css/app.css","css/sass","css3","culprit","cultiv","current","currentindex","curs","curv","custom","customiz","dagobah","dai","dana","danger","dark","data","data-tap-disabled=\"tru","databas","daunt","debug","decid","decim","declar","default","defer","defin","delai","deleg","delegate-handl","delegate.rememberscrollposition('my-scroll-id","delegate.scrolltorememberedposit","delegateinst","delet","delici","delorean","delta-7","demo","demo](http://codepen.io/ionic/pen/zkmhj","demonstr","depend","deploi","deregist","described](http://developer.android.com/tools/device.html","descript","deselect","design","desir","desktop","destroi","destruct","destructivebuttonclick","destructivetext","detail","detect","dev","develop","developer](https://developer.apple.com","devic","device'","device'","dialog","dictat","didn't","didtutori","differ","dig","digest","digestalg","direct","directive'","directive('fadebar","directli","directori","disabl","disagre","discuss","dismiss","displai","distanc","distinct","distribut","div","divid","do","doc","docs/api/controller/ionicmod","docs/api/directive/collectionrepeat","docs/api/directive/ioncheckbox","docs/api/directive/ioncont","docs/api/directive/iondeletebutton","docs/api/directive/ionfooterbar","docs/api/directive/ionheaderbar","docs/api/directive/ioninfinitescrol","docs/api/directive/ionitem","docs/api/directive/ionlist","docs/api/directive/ionnavbackbutton","docs/api/directive/ionnavbar","docs/api/directive/ionnavbutton","docs/api/directive/ionnavview","docs/api/directive/ionoptionbutton","docs/api/directive/ionpan","docs/api/directive/ionradio","docs/api/directive/ionrefresh","docs/api/directive/ionreorderbutton","docs/api/directive/ionscrol","docs/api/directive/ionsidemenu","docs/api/directive/ionsidemenucont","docs/api/directive/ionslidebox","docs/api/directive/iontab","docs/api/directive/iontoggl","docs/api/directive/ionview","docs/api/directive/keyboardattach","docs/api/directive/menuclos","docs/api/directive/menutoggl","docs/api/directive/navclear","docs/api/ionic/control","docs/api/ionic/direct","docs/api/ionic/servic","docs/api/ionic/util","docs/api/page/keyboard","docs/api/page/tap","docs/api/service/$ionicactionsheet","docs/api/service/$ionicanim","docs/api/service/$ionicbackdrop","docs/api/service/$ionicgestur","docs/api/service/$ioniclistdeleg","docs/api/service/$ionicload","docs/api/service/$ionicmod","docs/api/service/$ionicnavbardeleg","docs/api/service/$ionicplatform","docs/api/service/$ionicpopup","docs/api/service/$ionicscrolldeleg","docs/api/service/$ionicsidemenudeleg","docs/api/service/$ionicslideboxdeleg","docs/api/service/$ionictabsdeleg","docs/api/utility/ionic.domutil","docs/api/utility/ionic.eventcontrol","docs/api/utility/ionic.platform","docs/components/#anim","docs/components/#bar-input","docs/components/#block-button","docs/components/#button","docs/components/#button-bar","docs/components/#button-s","docs/components/#buttons-headers-foot","docs/components/#card","docs/components/#card-headers-foot","docs/components/#card-imag","docs/components/#card-list","docs/components/#card-showcas","docs/components/#checkbox","docs/components/#clear-button","docs/components/#clear-buttons-head","docs/components/#color","docs/components/#cont","docs/components/#foot","docs/components/#form","docs/components/#forms-inline-label","docs/components/#forms-placeholder-label","docs/components/#forms-stacked-label","docs/components/#full-button","docs/components/#grid","docs/components/#grid-even","docs/components/#grid-explicit","docs/components/#grid-offset","docs/components/#grid-respons","docs/components/#grid-vertically-align","docs/components/#head","docs/components/#icon","docs/components/#icon-button","docs/components/#icon-left-tab","docs/components/#icon-only-tab","docs/components/#icon-top-tab","docs/components/#input-icon","docs/components/#inset-form","docs/components/#item-avatar","docs/components/#item-button","docs/components/#item-divid","docs/components/#item-icon","docs/components/#item-input-inset","docs/components/#item-thumbnail","docs/components/#list","docs/components/#list-inset","docs/components/#outlined-button","docs/components/#pad","docs/components/#radio-button","docs/components/#rang","docs/components/#select","docs/components/#subhead","docs/components/#tab","docs/components/#toggl","docs/components/#util","docs/guid","docs/guide/building.html","docs/guide/installation.html","docs/guide/preface.html","docs/guide/publishing.html","docs/guide/starting.html","docs/guide/testing.html","docs/overview/#about","docs/overview/#browser-support","docs/overview/#contribut","docs/overview/#css-sass","docs/overview/#download","docs/overview/#licens","docs/overview/#overview","docs/overview/#phonegap","docs/overview/#start","docs/overview/#whats-includ","docs](/docs/v3/components/#foot","docs](/docs/v3/components/#subhead","docs](https://github.com/angular-ui/ui-router/wiki","documen","document","documentation](http://sass-lang.com/documentation/file.sass_reference.html","documentation](http://sass-lang.com/guide#vari","documentation`](/docs/v3/components/#list","does-continu","doesn't","dog","dom","domel","domev","don't","don\\'t","donat","done","dooki","doom","doubl","double-click","double-tap","doubletap","down","download","download](https://github.com/ionic-team/ionic/releas","drag","drag-cont","dragdown","dragend","dragleft","dragright","dragstart","dragup","dream","drifti","drifty](http://drifty.com","drive","droid","drop","duck","due","duplic","durat","dure","e","e.preventdefault","each","eager","earlier","ease-in-out","easi","easier","easiest","easili","eat","eclips","ecosystem","edg","edit","ef4e3a","effect","effort","eg","egghead.io","egon","elabor","element","element'","element)(alia","element[0].style.opac","elimin","email","embed","emot","emul","enabl","enableslide([shoulden","encourag","end","endhighlight","endraw","energ","enhanc","enjoi","enough","ensur","enter","entir","entri","enumer","environ","equal","equival","error","escap","especi","essenti","etc","evalu","even","evenli","event","event.preventdefault","eventtyp","eventu","ever-grow","everyon","everyth","evil","exactli","exampl","except","execut","exist","exit","exitapp","expand","expect","experi","explain","explicit","explicitli","explor","export","expos","express","extend","extens","extra","extract","f0b840","f8f8f8","face","facebook","fact","factori","factory('project","fade","fade-bar","fade-in","fadebar","fairli","fallback","fals","familiar","far","fast","fastclick.j","fastclick](https://github.com/ftlabs/fastclick","faster","favorit","fear","featur","feed","feedback","feel","felt","felucia","fetch","few","fff","field","fighter","figur","file","files\\java\\jdk7","files\\java\\jdk7\\bin","fill","filter","filter:searchtext","final","finally(funct","find","fine","finish","fire","firefox","firefoxo","first","fit","five","fix","flag","flashplay","flesh","flexbox","flexbox'","flexibl","float","flux","focu","focus","focusfirstinput","foe","folder","follow","followup","font","font-famili","font-pack","font-siz","font-weight","footer","forgetscrollposit","fork","form","format","formid","forum","forum](http://forum.ionicframework.com","found","foundat","foundation](http://apache.org","four","fourth","frame","framework","framework'","free","fresh","friend","frisbi","fromindex","fromtemplate(templatestr","fromtemplateurl(templateurl","front","front-end","full","fulli","fullscreen","fullscreen([showfullscreen","function","function(","function($scop","function($timeout","function(amt","function(index","function(item","function(mod","function(project","function(projecttitl","function(ratio","function(task","function(titl","further","furthest","futur","g","galleri","game","gatekeep","gem","gener","genkei","geoloc","geonosi","gestur","get","getbyhandl","getbyhandle(handl","getchildindex(el","getlastactiveindex","getopenratio","getparentwithclass(el","getpositioninparent(el","getprevioustitl","getscrollposit","getscrollview","gettextbounds(textnod","getting-start","gettitl","ghostclick","gigawatt","gist","git","github","github](https://github.com/ionic-team/ion","give","given","global","go","goal","gobstopp","goe","gone","gonna","good","googl","gotten","gp","grab","grade","grai","grammi","grand","great","greater","green","grid","group","gui","guid","guide](http://css-tricks.com/sass-style-guid","guide](installation.html","gulp","gulp](http://gulpjs.com","gut","h1","h2","h3","h3>ani","h3>thank","h3>use","h4","h5","h5>just","h6","half","hammer.j","hammer.js](http://eightmedia.github.io/hammer.j","hand","handl","handler","happen","happi","hard","hard-cod","hardwar","has-bounc","hashkei","hate","have","haven't","head","header","headerbar-lightbar-stablebar-positivebar-calmbar-balancedbar-energizedbar-assertivebar-royalbar-dark","headerheadersub","headershead","heavili","hei","height","hello","helloworld-release-unsigned.apk","helloworld.apk","help","helvetica","helveticaneue-light","here","here'","hi","hidden","hide","hide-back-button","hide-nav-bar","hide-on-keyboard-open","high","higher","highest","highli","highlight","hint","histor","histori","hit","hold","home","home.html","homepag","hope","horizont","host","hoth","href","href=\"#/music\">go","html","html5","html5'","http","http.get('/more-items').success(function(item","http.get('/new-item","http.server","http://localhost:8000","https://docs.angularjs.org/guide/scope](https://docs.angularjs.org/guide/scop","https://github.com/ionic-team/ionic-plugins-keyboard](https://github.com/ionic-team/ionic-plugins-keyboard","huge","hunter","hybrid","i'll","i'm","i'v","i.","i=0","ia32-lib","ic","icon","icon-off","icon-on","icon-onli","id","id(item","id(item)'","id=\"intro-pag","id=\"list","id=\"logo","id=\"new-task.html","idea","ident","identifi","if(!$scope.activeproject","if($scope.projects.length","if(index","if(projectstr","if(projecttitl","if(r","if(window.localstorage['didtutori","ig-88","ignor","ill","imag","imagin","img","immedi","implement","impli","import","improv","in/out","inch","includ","incorrectli","increas","increment","independ","indepth","index","index.html","indic","individu","ineffici","infinit","info","info](http://developer.android.com/guide/webapps/debugging.html","inform","initi","initial-load","initialize(opt","inject","inlin","inline-block","inner","input","input'","input-label","inputplacehold","inputtyp","insert","inset","insid","inspector","instagram","instal","installation](installation.html","instanc","instanti","instead","instruct","integ","interact","interest","interfac","interfer","intro","intro.html","introctrl","introduc","invest","io","ion-checkbox","ion-cont","ion-content/ion-scrol","ion-delete-button","ion-footer-bar","ion-header-bar","ion-infinite-scrol","ion-item","ion-list","ion-nav-back-button","ion-nav-bar","ion-nav-button","ion-nav-view","ion-option-button","ion-pan","ion-radio","ion-refresh","ion-reorder-button","ion-scrol","ion-side-menu","ion-side-menu-cont","ion-side-menus](https://ionicframework.com/docs/api/directive/ionsidemenu","ion-slide-box","ion-tab","ion-toggl","ion-view","ioncheckbox","ioncont","iondeletebutton","ionfooterbar","ionheaderbar","ionic","ionic'","ionic'","ionic-angular-cordova-seed](http://github.com/ionic-team/ionic-angular-cordova-se","ionic-sit","ionic.animationframethrottl","ionic.bundle.j","ionic.css","ionic.domutil","ionic.eventcontrol","ionic.eventcontroller'","ionic.eventcontroller'","ionic.off","ionic.offgestur","ionic.on","ionic.ongestur","ionic.platform","ionic.platform.isfullscreen","ionic.platform.ready(funct","ionic.requestanimationfram","ionic.scss","ionic.trigg","ionic/ion","ionicactionsheet","ionicactionsheet.show","ionicanim","ionicbackdrop","ionicbackdrop.releas","ionicbackdrop.retain","ionicgestur","ioniclistdeleg","ioniclistdelegate.$getbyhandle('my-handle').showreorder(tru","ioniclistdelegate.showdelete(tru","ionicload","ionicloading.hid","ionicloading.show","ionicmod","ionicmodal#initi","ionicmodal.fromtemplateurl('modal.html","ionicmodal.fromtemplateurl('new-task.html","ionicnavbardeleg","ionicnavbardelegate.$getbyhandle('myhandle').settitle('newtitl","ionicnavbardelegate.back","ionicnavbardelegate.getprevioustitl","ionicnavbardelegate.settitle(titl","ionicon","ionicons](https://ionicons.com","ionicplatform","ionicpopup","ionicpopup.alert","ionicpopup.confirm","ionicpopup.prompt","ionicpopup.show","ionicscrolldeleg","ionicscrolldelegate.$getbyhandle('mainscroll').scrolltop","ionicscrolldelegate.$getbyhandle('my-handle').scrolltop","ionicscrolldelegate.$getbyhandle('myscrol","ionicscrolldelegate.$getbyhandle('small').scrolltop","ionicscrolldelegate.scrolltop","ionicsidemenudeleg","ionicsidemenudelegate.$getbyhandle('my-handle').toggleleft","ionicsidemenudelegate.toggleleft","ionicsidemenudelegate.toggleleft(fals","ionicslideboxdeleg","ionicslideboxdelegate.$getbyhandle('my-handle').stop","ionicslideboxdelegate.next","ionictabsdeleg","ionictabsdelegate.$getbyhandle('my-handle').select(0","ionictabsdelegate.select","ionictabsdelegate.select(index","ioninfinitescrol","ionitem","ionitron","ionlist","ionnavbackbutton","ionnavbar","ionnavbutton","ionnavview","ionoptionbutton","ionpan","ionradio","ionrefresh","ionreorderbutton","ionscrol","ionsidemenu","ionsidemenucont","ionslidebox","iontab","iontoggl","ionview","ios'","ios](http://cordova.apache.org/docs/en/3.4.0/guide_platforms_ios_index.md.html#ios%20platform%20guid","ip","ipad","iphon","is-en","isandroid","isfullscreen","isio","isipad","isn't","isol","isopen","isopenleft","isopenright","isreadi","isshown","issu","iswebview","iswindowsphon","it'","it'","it'd","it'll","it-o","it](/examples/submit.html","item","item-avatar","item-bodi","item-button-left","item-button-right","item-checkbox","item-divid","item-icon-left","item-icon-right","item-input","item-input-inset","item-not","item-radio","item-stacked-label","item-thumbnail-left","item-thumbnail-right","item-toggl","item.descript","item.id","item.titl","itself","it’","jarsign","java","java_hom","java_home=$(/usr/libexec/java_hom","javascript","javscript","jdk","jdk'","jdk](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html","jerki","jetstrap","job","john","join","jolli","jqueri","jre","js","jt","jump","kamino","kat","keep","kei","kept","keyalg","keyboard","keyboard-attach","keysiz","keystor","keytool","kind","kingdom","kit","kitten","knew","know","known","label","label'","label.toggl","lai","land","landscap","larg","larger","largest","last","later","latest","latter","layer","layout","lazili","leaflet","leak","learn","leav","left","left-buttons=\"leftbutton","left/right","leftbutton","legend","less","lesser","lesson","let","let'","level","leverag","li","li>b","li>stai","li>ther","lib/js/angular","librari","licens","life","lifesav","light","lightsab","like","likelihood","limit","lindquist","line","link","linux","list","list'","list-inset","list-item","list-styl","listen","littl","live","load","local","localstorag","locat","location.path('/main","locationprovid","lock","logic","logo","long","look","loop","loos","lose","lost","lot","love","low-level","lower","lower-level","lt;/button>","lt;/div>","lt;/ion-nav-back-button>","lt;/ion-nav-bar>","lt;/ion-view>","lt;a>","lt;body>","lt;button","lt;button>","lt;div","lt;fade-bar>","lt;i>","lt;input>","lt;ion-content>","lt;ion-nav-back-button>","lt;ion-nav-bar","lt;ion-nav-bar>","lt;ion-nav-buttons>","lt;ion-view","lt;label>","lt;ng-view>","lt;style>","lt;textarea>","lucida","luckili","m","ma","mac","machin","made","magic","mail","main","main.html","mainctrl","mainctrl($scop","mainli","maintain","make","maker","man","manag","mani","manipul","manual","map","margin","margin-top","mario","markup","marti","master","match","math.abs(ratio","matt","matter","maverick","max-zoom","maxlynch","mcfly","mean","meant","mega","memori","menu","menu(","menu-clos","menu-toggl","menu](https://s3.amazonaws.com/ionicframework.com/docs/controllers/sidemenu.gif","menuclos","menutoggl","mere","messag","met","meta","method","metroid","mike","millisecond","min-zoom","mind","mini-book","minim","minimum","minut","miss","misunderstand","mit","mixin","mobil","mockup","modal","modal'","modal.hidden","modal.shown","mode","model","modern","modifi","modul","moment","month","more","mous","mousedown","mousemov","mouseup","move","mph","much","multi-lin","multi-pag","multi-project","multi-slid","multi-tab","multipl","mushroom","music","music.html","mutli-screen","my-image-item","my-item","my-release-key.keystor","myapp","mycontroller($scop","myctrl($scop","mygeeto","mypopup","mypopup.clos","mypopup.then(function(r","myproject","n-1","n00b","naboo","nail","name","name=\"fullscreen","nativ","native-feel","native-styl","native-to-brows","native/hybrid","nav","nav-clear","nav-pag","nav-title-slide-ios7","navbar","navbar'","navclear","navig","navigator.camera","navigator.camera.getphotos(start","navigator.camera.getpictur","navigator.geoloc","navview'","near","necessari","need","nest","net","network","neue","never","nevermind","new","newer","newitem","newproject","next","ng-app","ng-class","ng-click","ng-click=\"closenewtask()\">cancel ion-content { position: absolute; } ion-page scroll-content { display: none; } ion-page.show-page { opacity: 1; } ion-page.show-page scroll-content { display: block; } ion-header { position: absolute; top: 0; left: 0; z-index: 10; display: block; width: 100%; } ion-toolbar { position: relative; z-index: 10; } ion-footer { position: absolute; bottom: 0; left: 0; z-index: 10; display: block; width: 100%; } ion-tabbar { position: absolute; bottom: 0; left: 0; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; width: 100%; opacity: 0; } ion-tabbar.show-tabbar { opacity: 1; } [tabsPlacement=top] > ion-tabbar { top: 0; bottom: auto; } scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; display: block; overflow-x: hidden; overflow-y: scroll; -webkit-overflow-scrolling: touch; will-change: scroll-position; } ion-content.js-scroll > scroll-content { position: relative; min-height: 100%; overflow-x: initial; overflow-y: initial; -webkit-overflow-scrolling: auto; will-change: initial; } .disable-scroll ion-page scroll-content { overflow-y: hidden; overflow-x: hidden; } [nav-viewport], [nav-portal], [tab-portal], .nav-decor { display: none; } .hide, [hidden], template { display: none !important; } .sticky { position: -webkit-sticky; position: sticky; top: 0; } :focus, :active { outline: none; } .focus-outline :focus { outline: thin dotted; outline-offset: -1px; } .focus-outline button:focus, .focus-outline [button]:focus { border-color: #51a7e8; outline: thin solid #51a7e8; box-shadow: 0 0 8px 0 #51a7e8; } .focus-outline ion-input :focus { outline: none; } focus-ctrl { position: fixed; } focus-ctrl input, focus-ctrl button { position: fixed; top: 1px; left: -9999px; z-index: 9999; width: 9px; pointer-events: none; } click-block { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 9999; display: block; opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); -webkit-transform: translate3d(0, calc(-100% + 1px), 0); transform: translate3d(0, calc(-100% + 1px), 0); } .click-block-active { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } ion-backdrop { position: absolute; top: 0; left: 0; z-index: 2; display: block; width: 100%; height: 100%; background-color: #000; opacity: .01; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-backdrop.hide-backdrop { display: none; } ion-grid { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; padding: 5px; width: 100%; } ion-row { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; width: 100%; } ion-row[wrap] { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; } ion-row[top] { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } ion-row[bottom] { -webkit-box-align: end; -webkit-align-items: flex-end; -ms-flex-align: end; align-items: flex-end; } ion-row[center] { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-row[stretch] { -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; } ion-row[baseline] { -webkit-box-align: baseline; -webkit-align-items: baseline; -ms-flex-align: baseline; align-items: baseline; } ion-col { display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 5px; width: 100%; } ion-col[top] { -webkit-align-self: flex-start; -ms-flex-item-align: start; align-self: flex-start; } ion-col[bottom] { -webkit-align-self: flex-end; -ms-flex-item-align: end; align-self: flex-end; } ion-col[center] { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } ion-col[stretch] { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; } ion-col[baseline] { -webkit-align-self: baseline; -ms-flex-item-align: baseline; align-self: baseline; } ion-col[offset-10] { margin-left: 10%; } ion-col[offset-20] { margin-left: 20%; } ion-col[offset-25] { margin-left: 25%; } ion-col[offset-33], ion-col[offset-34] { margin-left: 33.3333%; } ion-col[offset-50] { margin-left: 50%; } ion-col[offset-66], ion-col[offset-67] { margin-left: 66.6666%; } ion-col[offset-75] { margin-left: 75%; } ion-col[offset-80] { margin-left: 80%; } ion-col[offset-90] { margin-left: 90%; } ion-col[width-10] { -webkit-box-flex: 0; -webkit-flex: 0 0 10%; -ms-flex: 0 0 10%; flex: 0 0 10%; max-width: 10%; } ion-col[width-20] { -webkit-box-flex: 0; -webkit-flex: 0 0 20%; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } ion-col[width-25] { -webkit-box-flex: 0; -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } ion-col[width-33], ion-col[width-34] { -webkit-box-flex: 0; -webkit-flex: 0 0 33.3333%; -ms-flex: 0 0 33.3333%; flex: 0 0 33.3333%; max-width: 33.3333%; } ion-col[width-50] { -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } ion-col[width-66], ion-col[width-67] { -webkit-box-flex: 0; -webkit-flex: 0 0 66.6666%; -ms-flex: 0 0 66.6666%; flex: 0 0 66.6666%; max-width: 66.6666%; } ion-col[width-75] { -webkit-box-flex: 0; -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } ion-col[width-80] { -webkit-box-flex: 0; -webkit-flex: 0 0 80%; -ms-flex: 0 0 80%; flex: 0 0 80%; max-width: 80%; } ion-col[width-90] { -webkit-box-flex: 0; -webkit-flex: 0 0 90%; -ms-flex: 0 0 90%; flex: 0 0 90%; max-width: 90%; } @media (max-width: 567px) { [responsive-sm] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-sm] ion-col[width-10], [responsive-sm] ion-col[width-20], [responsive-sm] ion-col[width-25], [responsive-sm] ion-col[width-33], [responsive-sm] ion-col[width-34], [responsive-sm] ion-col[width-50], [responsive-sm] ion-col[width-66], [responsive-sm] ion-col[width-67], [responsive-sm] ion-col[width-75], [responsive-sm] ion-col[width-80], [responsive-sm] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; width: 100%; max-width: 100%; } } @media (max-width: 767px) { [responsive-md] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-md] ion-col[width-10], [responsive-md] ion-col[width-20], [responsive-md] ion-col[width-25], [responsive-md] ion-col[width-33], [responsive-md] ion-col[width-34], [responsive-md] ion-col[width-50], [responsive-md] ion-col[width-66], [responsive-md] ion-col[width-67], [responsive-md] ion-col[width-75], [responsive-md] ion-col[width-80], [responsive-md] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; width: 100%; max-width: 100%; } } @media (max-width: 1023px) { [responsive-lg] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-lg] ion-col[width-10], [responsive-lg] ion-col[width-20], [responsive-lg] ion-col[width-25], [responsive-lg] ion-col[width-33], [responsive-lg] ion-col[width-34], [responsive-lg] ion-col[width-50], [responsive-lg] ion-col[width-66], [responsive-lg] ion-col[width-67], [responsive-lg] ion-col[width-75], [responsive-lg] ion-col[width-80], [responsive-lg] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; width: 100%; max-width: 100%; } } ion-icon { display: inline-block; font-size: 1.2em; } ion-icon[small] { min-height: 1.1em; font-size: 1.1em; } ion-img { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } ion-img img { -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; min-width: 100%; min-height: 100%; } ion-img .img-placeholder { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #eee; -webkit-transition: opacity 200ms; transition: opacity 200ms; } ion-img.img-loaded .img-placeholder { opacity: 0; } ion-infinite-scroll { display: block; width: 100%; } ion-infinite-scroll-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; height: 100%; min-height: 84px; text-align: center; } .infinite-loading { display: none; margin: 0 0 32px 0; width: 100%; } .infinite-loading-text { margin: 4px 32px 0 32px; color: #666; } ion-infinite-scroll-content[state=loading] .infinite-loading { display: block; } ion-infinite-scroll-content[state=disabled] { display: none; } ion-loading { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .loading-wrapper { z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; opacity: 0; } ion-menu { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: none; } ion-menu.show-menu { display: block; } .menu-inner { position: absolute; top: 0; right: auto; bottom: 0; left: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; width: 304px; -webkit-transform: translate3d(-9999px, 0, 0); transform: translate3d(-9999px, 0, 0); } .menu-inner > ion-header, .menu-inner > ion-content, .menu-inner > ion-footer { position: relative; } ion-menu[side=right] > .menu-inner { right: 0; left: auto; } ion-menu ion-backdrop { z-index: -1; display: none; opacity: .1; } .menu-content { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .menu-content-open ion-pane, .menu-content-open ion-content, .menu-content-open .toolbar { pointer-events: none; } @media (max-width: 340px) { .menu-inner { width: 264px; } } ion-menu[type=reveal] { z-index: 0; } ion-menu[type=reveal].show-menu .menu-inner { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } ion-menu[type=overlay] { z-index: 80; } ion-menu[type=overlay] .show-backdrop { display: block; } ion-modal { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; } @media not all and (min-width: 768px) and (min-height: 600px) { ion-modal ion-backdrop { visibility: hidden; } } .modal-wrapper { z-index: 10; height: 100%; } @media only screen and (min-width: 768px) and (min-height: 600px) { .modal-wrapper { position: absolute; top: calc(50% - (500px/2)); left: calc(50% - (600px/2)); width: 600px; height: 500px; } } @media only screen and (min-width: 768px) and (min-height: 768px) { .modal-wrapper { position: absolute; top: calc(50% - (600px/2)); left: calc(50% - (600px/2)); width: 600px; height: 600px; } } ion-modal-inner { position: absolute; top: 0; left: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; width: 100%; height: 100%; } .item-range .item-inner { overflow: visible; } .item-range .input-wrapper { overflow: visible; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .item-range ion-range { width: 100%; } .item-range ion-range ion-label { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } ion-range { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-range ion-label { -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; } ion-range ion-icon { min-height: 2.4rem; font-size: 2.4rem; line-height: 1; } .range-slider { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; cursor: pointer; } ion-refresher { position: absolute; top: 0; left: 0; z-index: 0; display: none; width: 100%; height: 60px; } ion-refresher.refresher-active { display: block; } .has-refresher > scroll-content { margin-top: -1px; border-top: 1px solid #ddd; -webkit-transition: all 320ms cubic-bezier(0.36, 0.66, 0.04, 1); transition: all 320ms cubic-bezier(0.36, 0.66, 0.04, 1); } ion-refresher-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; height: 100%; } .refresher-pulling, .refresher-refreshing { display: none; width: 100%; } .refresher-pulling-icon, .refresher-refreshing-icon { font-size: 30px; text-align: center; color: #000; -webkit-transform-origin: center; transform-origin: center; -webkit-transition: 200ms; transition: 200ms; } .refresher-pulling-text, .refresher-refreshing-text { font-size: 16px; text-align: center; color: #000; } ion-refresher-content[state=pulling] .refresher-pulling { display: block; } ion-refresher-content[state=ready] .refresher-pulling { display: block; } ion-refresher-content[state=ready] .refresher-pulling-icon { -webkit-transform: rotate(180deg); transform: rotate(180deg); } ion-refresher-content[state=refreshing] .refresher-refreshing { display: block; } ion-refresher-content[state=cancelling] .refresher-pulling { display: block; } ion-refresher-content[state=cancelling] .refresher-pulling-icon { -webkit-transform: scale(0); transform: scale(0); } ion-refresher-content[state=completing] .refresher-refreshing { display: block; } ion-refresher-content[state=completing] .refresher-refreshing-icon { -webkit-transform: scale(0); transform: scale(0); } ion-scroll { position: relative; display: block; } ion-scroll.scroll-x scroll-content { overflow-x: auto; } ion-scroll.scroll-y scroll-content { overflow-y: auto; } ion-scroll[center] scroll-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } ion-scroll scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow-y: hidden; overflow-x: hidden; -webkit-overflow-scrolling: touch; will-change: scroll-position; } .hidden-show-when { display: none !important; } .hidden-hide-when { display: none !important; } /** * Swiper 3.1.2 * Most modern mobile touch slider and framework with hardware accelerated transitions * * http://www.idangero.us/swiper/ * * Copyright 2015, Vladimir Kharlampidi * The iDangero.us * http://www.idangero.us/ * * Licensed under MIT * * Released on: August 22, 2015 */ .swiper-container { margin: 0 auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { -webkit-box-orient: vertical; -ms-flex-direction: column; -webkit-flex-direction: column; flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-transition-property: -webkit-transform; transition-property: transform; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { -webkit-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { -webkit-flex-shrink: 0; -ms-flex: 0 0 auto; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { -ms-touch-action: pan-y; touch-action: pan-y; } .swiper-wp8-vertical { -ms-touch-action: pan-x; touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background-position: center; background-repeat: no-repeat; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: .35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; -webkit-transition: 300ms; transition: 300ms; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } .swiper-pagination-bullet { width: 8px; height: 8px; display: inline-block; border-radius: 100%; background: #000; opacity: .2; } button.swiper-pagination-bullet { border: 0; margin: 0; padding: 0; box-shadow: none; -moz-appearance: none; -ms-appearance: none; -webkit-appearance: none; appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination { right: 10px; top: 50%; -webkit-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination { bottom: 20px; left: 0; width: 100%; } .swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet { margin: 0 5px; } /* 3D Container */ .swiper-container-3d { -webkit-perspective: 1200px; -o-perspective: 1200px; perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { -webkit-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-right { background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-top { background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } /* Cube */ .swiper-container-cube { overflow: visible; } .swiper-container-cube .swiper-slide { pointer-events: none; visibility: hidden; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; width: 100%; height: 100%; z-index: 1; } .swiper-container-cube.swiper-container-rtl .swiper-slide { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right { z-index: 0; -webkit-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: .6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; -webkit-transform-origin: 50%; transform-origin: 50%; -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); background-position: 50%; background-size: 100%; background-repeat: no-repeat; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @-webkit-keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); } } @keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } ion-slides { width: 100%; height: 100%; display: block; } .slide-zoom { display: block; width: 100%; text-align: center; } .swiper-container { width: 100%; height: 100%; padding: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; } .swiper-wrapper { width: 100%; height: 100%; padding: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .swiper-slide { width: 100%; height: 100%; box-sizing: border-box; text-align: center; font-size: 18px; /* Center slide text vertically */ display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .swiper-slide img { width: auto; height: auto; max-width: 100%; max-height: 100%; } ion-spinner { position: relative; display: inline-block; width: 28px; height: 28px; } ion-spinner svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-spinner.spinner-paused svg { -webkit-animation-play-state: paused; animation-play-state: paused; } .spinner-ios line, .spinner-ios-small line { stroke: #69717d; stroke-width: 4px; stroke-linecap: round; } .spinner-ios svg, .spinner-ios-small svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .spinner-bubbles circle { fill: #000; } .spinner-bubbles svg { -webkit-animation: spinner-scale-out 1s linear infinite; animation: spinner-scale-out 1s linear infinite; } .spinner-circles circle { fill: #69717d; } .spinner-circles svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .spinner-crescent circle { fill: transparent; stroke: #000; stroke-width: 4px; stroke-dasharray: 128px; stroke-dashoffset: 82px; } .spinner-crescent svg { -webkit-animation: spinner-rotate 1s linear infinite; animation: spinner-rotate 1s linear infinite; } .spinner-dots circle { fill: #444; stroke-width: 0; } .spinner-dots svg { -webkit-transform-origin: center; transform-origin: center; -webkit-animation: spinner-dots 1s linear infinite; animation: spinner-dots 1s linear infinite; } @-webkit-keyframes spinner-fade-out { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes spinner-fade-out { 0% { opacity: 1; } 100% { opacity: 0; } } @-webkit-keyframes spinner-scale-out { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 100% { -webkit-transform: scale(0, 0); transform: scale(0, 0); } } @keyframes spinner-scale-out { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 100% { -webkit-transform: scale(0, 0); transform: scale(0, 0); } } @-webkit-keyframes spinner-rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spinner-rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @-webkit-keyframes spinner-dots { 0% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } 50% { opacity: .3; -webkit-transform: scale(0.4, 0.4); transform: scale(0.4, 0.4); } 100% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } } @keyframes spinner-dots { 0% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } 50% { opacity: .3; -webkit-transform: scale(0.4, 0.4); transform: scale(0.4, 0.4); } 100% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } } html { font-size: 62.5%; } a { background-color: transparent; } .enable-hover a:hover { opacity: .7; } h1, h2, h3, h4, h5, h6 { margin-top: 1.6rem; margin-bottom: 1rem; font-weight: 500; line-height: 1.2; } [padding] h1:first-child, [padding] h2:first-child, [padding] h3:first-child, [padding] h4:first-child, [padding] h5:first-child, [padding] h6:first-child { margin-top: -.3rem; } h1 + h2, h1 + h3, h2 + h3 { margin-top: -.3rem; } h1 { margin-top: 2rem; font-size: 2.6rem; } h2 { margin-top: 1.8rem; font-size: 2.4rem; } h3 { font-size: 2.2rem; } h4 { font-size: 2rem; } h5 { font-size: 1.8rem; } h6 { font-size: 1.6rem; } small { font-size: 75%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sup { top: -.5em; } sub { bottom: -.25em; } [text-left] { text-align: left; } [text-center] { text-align: center; } [text-right] { text-align: right; } [text-justify] { text-align: justify; } [text-nowrap] { white-space: nowrap; } [text-uppercase] { text-transform: uppercase; } [text-lowercase] { text-transform: lowercase; } [text-capitalize] { text-transform: capitalize; } .virtual-scroll { position: relative; } .virtual-scroll .virtual-position, .virtual-scroll .virtual-position.item { position: absolute; top: 0; left: 0; -webkit-transition-duration: 0ms; transition-duration: 0ms; } .virtual-scroll .virtual-hidden { display: none; } .ion-ios-add:before { content: "\f102"; } .ion-ios-add-circle:before { content: "\f101"; } .ion-ios-add-circle-outline:before { content: "\f100"; } .ion-ios-add-outline:before { content: "\f102"; } .ion-ios-alarm:before { content: "\f3c8"; } .ion-ios-alarm-outline:before { content: "\f3c7"; } .ion-ios-albums:before { content: "\f3ca"; } .ion-ios-albums-outline:before { content: "\f3c9"; } .ion-ios-alert:before { content: "\f104"; } .ion-ios-alert-outline:before { content: "\f103"; } .ion-ios-american-football:before { content: "\f106"; } .ion-ios-american-football-outline:before { content: "\f105"; } .ion-ios-analytics:before { content: "\f3ce"; } .ion-ios-analytics-outline:before { content: "\f3cd"; } .ion-ios-aperture:before { content: "\f108"; } .ion-ios-aperture-outline:before { content: "\f107"; } .ion-ios-apps:before { content: "\f10a"; } .ion-ios-apps-outline:before { content: "\f109"; } .ion-ios-appstore:before { content: "\f10c"; } .ion-ios-appstore-outline:before { content: "\f10b"; } .ion-ios-archive:before { content: "\f10e"; } .ion-ios-archive-outline:before { content: "\f10d"; } .ion-ios-arrow-back:before { content: "\f3cf"; } .ion-ios-arrow-back-outline:before { content: "\f3cf"; } .ion-ios-arrow-down:before { content: "\f3d0"; } .ion-ios-arrow-down-outline:before { content: "\f3d0"; } .ion-ios-arrow-dropdown:before { content: "\f110"; } .ion-ios-arrow-dropdown-circle:before { content: "\f10f"; } .ion-ios-arrow-dropdown-circle-outline:before { content: "\f10f"; } .ion-ios-arrow-dropdown-outline:before { content: "\f110"; } .ion-ios-arrow-dropleft:before { content: "\f112"; } .ion-ios-arrow-dropleft-circle:before { content: "\f111"; } .ion-ios-arrow-dropleft-circle-outline:before { content: "\f111"; } .ion-ios-arrow-dropleft-outline:before { content: "\f112"; } .ion-ios-arrow-dropright:before { content: "\f114"; } .ion-ios-arrow-dropright-circle:before { content: "\f113"; } .ion-ios-arrow-dropright-circle-outline:before { content: "\f113"; } .ion-ios-arrow-dropright-outline:before { content: "\f114"; } .ion-ios-arrow-dropup:before { content: "\f116"; } .ion-ios-arrow-dropup-circle:before { content: "\f115"; } .ion-ios-arrow-dropup-circle-outline:before { content: "\f115"; } .ion-ios-arrow-dropup-outline:before { content: "\f116"; } .ion-ios-arrow-forward:before { content: "\f3d1"; } .ion-ios-arrow-forward-outline:before { content: "\f3d1"; } .ion-ios-arrow-round-back:before { content: "\f117"; } .ion-ios-arrow-round-back-outline:before { content: "\f117"; } .ion-ios-arrow-round-down:before { content: "\f118"; } .ion-ios-arrow-round-down-outline:before { content: "\f118"; } .ion-ios-arrow-round-forward:before { content: "\f119"; } .ion-ios-arrow-round-forward-outline:before { content: "\f119"; } .ion-ios-arrow-round-up:before { content: "\f11a"; } .ion-ios-arrow-round-up-outline:before { content: "\f11a"; } .ion-ios-arrow-up:before { content: "\f3d8"; } .ion-ios-arrow-up-outline:before { content: "\f3d8"; } .ion-ios-at:before { content: "\f3da"; } .ion-ios-at-outline:before { content: "\f3d9"; } .ion-ios-attach:before { content: "\f11b"; } .ion-ios-attach-outline:before { content: "\f11b"; } .ion-ios-backspace:before { content: "\f11d"; } .ion-ios-backspace-outline:before { content: "\f11c"; } .ion-ios-barcode:before { content: "\f3dc"; } .ion-ios-barcode-outline:before { content: "\f3db"; } .ion-ios-baseball:before { content: "\f3de"; } .ion-ios-baseball-outline:before { content: "\f3dd"; } .ion-ios-basket:before { content: "\f11f"; } .ion-ios-basket-outline:before { content: "\f11e"; } .ion-ios-basketball:before { content: "\f3e0"; } .ion-ios-basketball-outline:before { content: "\f3df"; } .ion-ios-battery-charging:before { content: "\f120"; } .ion-ios-battery-charging-outline:before { content: "\f120"; } .ion-ios-battery-dead:before { content: "\f121"; } .ion-ios-battery-dead-outline:before { content: "\f121"; } .ion-ios-battery-full:before { content: "\f122"; } .ion-ios-battery-full-outline:before { content: "\f122"; } .ion-ios-beaker:before { content: "\f124"; } .ion-ios-beaker-outline:before { content: "\f123"; } .ion-ios-beer:before { content: "\f126"; } .ion-ios-beer-outline:before { content: "\f125"; } .ion-ios-bicycle:before { content: "\f127"; } .ion-ios-bicycle-outline:before { content: "\f127"; } .ion-ios-bluetooth:before { content: "\f128"; } .ion-ios-bluetooth-outline:before { content: "\f128"; } .ion-ios-boat:before { content: "\f12a"; } .ion-ios-boat-outline:before { content: "\f129"; } .ion-ios-body:before { content: "\f3e4"; } .ion-ios-body-outline:before { content: "\f3e3"; } .ion-ios-bonfire:before { content: "\f12c"; } .ion-ios-bonfire-outline:before { content: "\f12b"; } .ion-ios-book:before { content: "\f3e8"; } .ion-ios-book-outline:before { content: "\f3e7"; } .ion-ios-bookmark:before { content: "\f12e"; } .ion-ios-bookmark-outline:before { content: "\f12d"; } .ion-ios-bookmarks:before { content: "\f3ea"; } .ion-ios-bookmarks-outline:before { content: "\f3e9"; } .ion-ios-bowtie:before { content: "\f130"; } .ion-ios-bowtie-outline:before { content: "\f12f"; } .ion-ios-briefcase:before { content: "\f3ee"; } .ion-ios-briefcase-outline:before { content: "\f3ed"; } .ion-ios-browsers:before { content: "\f3f0"; } .ion-ios-browsers-outline:before { content: "\f3ef"; } .ion-ios-brush:before { content: "\f132"; } .ion-ios-brush-outline:before { content: "\f131"; } .ion-ios-bug:before { content: "\f134"; } .ion-ios-bug-outline:before { content: "\f133"; } .ion-ios-build:before { content: "\f136"; } .ion-ios-build-outline:before { content: "\f135"; } .ion-ios-bulb:before { content: "\f138"; } .ion-ios-bulb-outline:before { content: "\f137"; } .ion-ios-bus:before { content: "\f13a"; } .ion-ios-bus-outline:before { content: "\f139"; } .ion-ios-cafe:before { content: "\f13c"; } .ion-ios-cafe-outline:before { content: "\f13b"; } .ion-ios-calculator:before { content: "\f3f2"; } .ion-ios-calculator-outline:before { content: "\f3f1"; } .ion-ios-calendar:before { content: "\f3f4"; } .ion-ios-calendar-outline:before { content: "\f3f3"; } .ion-ios-call:before { content: "\f13e"; } .ion-ios-call-outline:before { content: "\f13d"; } .ion-ios-camera:before { content: "\f3f6"; } .ion-ios-camera-outline:before { content: "\f3f5"; } .ion-ios-car:before { content: "\f140"; } .ion-ios-car-outline:before { content: "\f13f"; } .ion-ios-card:before { content: "\f142"; } .ion-ios-card-outline:before { content: "\f141"; } .ion-ios-cart:before { content: "\f3f8"; } .ion-ios-cart-outline:before { content: "\f3f7"; } .ion-ios-cash:before { content: "\f144"; } .ion-ios-cash-outline:before { content: "\f143"; } .ion-ios-chatboxes:before { content: "\f3fa"; } .ion-ios-chatboxes-outline:before { content: "\f3f9"; } .ion-ios-chatbubbles:before { content: "\f146"; } .ion-ios-chatbubbles-outline:before { content: "\f145"; } .ion-ios-checkbox:before { content: "\f148"; } .ion-ios-checkbox-outline:before { content: "\f147"; } .ion-ios-checkmark:before { content: "\f3ff"; } .ion-ios-checkmark-circle:before { content: "\f14a"; } .ion-ios-checkmark-circle-outline:before { content: "\f149"; } .ion-ios-checkmark-outline:before { content: "\f3ff"; } .ion-ios-clipboard:before { content: "\f14c"; } .ion-ios-clipboard-outline:before { content: "\f14b"; } .ion-ios-clock:before { content: "\f403"; } .ion-ios-clock-outline:before { content: "\f402"; } .ion-ios-close:before { content: "\f406"; } .ion-ios-close-circle:before { content: "\f14e"; } .ion-ios-close-circle-outline:before { content: "\f14d"; } .ion-ios-close-outline:before { content: "\f406"; } .ion-ios-closed-captioning:before { content: "\f150"; } .ion-ios-closed-captioning-outline:before { content: "\f14f"; } .ion-ios-cloud:before { content: "\f40c"; } .ion-ios-cloud-circle:before { content: "\f152"; } .ion-ios-cloud-circle-outline:before { content: "\f151"; } .ion-ios-cloud-done:before { content: "\f154"; } .ion-ios-cloud-done-outline:before { content: "\f153"; } .ion-ios-cloud-download:before { content: "\f408"; } .ion-ios-cloud-download-outline:before { content: "\f407"; } .ion-ios-cloud-outline:before { content: "\f409"; } .ion-ios-cloud-upload:before { content: "\f40b"; } .ion-ios-cloud-upload-outline:before { content: "\f40a"; } .ion-ios-cloudy:before { content: "\f410"; } .ion-ios-cloudy-night:before { content: "\f40e"; } .ion-ios-cloudy-night-outline:before { content: "\f40d"; } .ion-ios-cloudy-outline:before { content: "\f40f"; } .ion-ios-code:before { content: "\f157"; } .ion-ios-code-download:before { content: "\f155"; } .ion-ios-code-download-outline:before { content: "\f155"; } .ion-ios-code-outline:before { content: "\f157"; } .ion-ios-code-working:before { content: "\f156"; } .ion-ios-code-working-outline:before { content: "\f156"; } .ion-ios-cog:before { content: "\f412"; } .ion-ios-cog-outline:before { content: "\f411"; } .ion-ios-color-fill:before { content: "\f159"; } .ion-ios-color-fill-outline:before { content: "\f158"; } .ion-ios-color-filter:before { content: "\f414"; } .ion-ios-color-filter-outline:before { content: "\f413"; } .ion-ios-color-palette:before { content: "\f15b"; } .ion-ios-color-palette-outline:before { content: "\f15a"; } .ion-ios-color-wand:before { content: "\f416"; } .ion-ios-color-wand-outline:before { content: "\f415"; } .ion-ios-compass:before { content: "\f15d"; } .ion-ios-compass-outline:before { content: "\f15c"; } .ion-ios-construct:before { content: "\f15f"; } .ion-ios-construct-outline:before { content: "\f15e"; } .ion-ios-contact:before { content: "\f41a"; } .ion-ios-contact-outline:before { content: "\f419"; } .ion-ios-contacts:before { content: "\f161"; } .ion-ios-contacts-outline:before { content: "\f160"; } .ion-ios-contract:before { content: "\f162"; } .ion-ios-contract-outline:before { content: "\f162"; } .ion-ios-contrast:before { content: "\f163"; } .ion-ios-contrast-outline:before { content: "\f163"; } .ion-ios-copy:before { content: "\f41c"; } .ion-ios-copy-outline:before { content: "\f41b"; } .ion-ios-create:before { content: "\f165"; } .ion-ios-create-outline:before { content: "\f164"; } .ion-ios-crop:before { content: "\f41e"; } .ion-ios-crop-outline:before { content: "\f166"; } .ion-ios-cube:before { content: "\f168"; } .ion-ios-cube-outline:before { content: "\f167"; } .ion-ios-cut:before { content: "\f16a"; } .ion-ios-cut-outline:before { content: "\f169"; } .ion-ios-desktop:before { content: "\f16c"; } .ion-ios-desktop-outline:before { content: "\f16b"; } .ion-ios-disc:before { content: "\f16e"; } .ion-ios-disc-outline:before { content: "\f16d"; } .ion-ios-document:before { content: "\f170"; } .ion-ios-document-outline:before { content: "\f16f"; } .ion-ios-done-all:before { content: "\f171"; } .ion-ios-done-all-outline:before { content: "\f171"; } .ion-ios-download:before { content: "\f420"; } .ion-ios-download-outline:before { content: "\f41f"; } .ion-ios-easel:before { content: "\f173"; } .ion-ios-easel-outline:before { content: "\f172"; } .ion-ios-egg:before { content: "\f175"; } .ion-ios-egg-outline:before { content: "\f174"; } .ion-ios-exit:before { content: "\f177"; } .ion-ios-exit-outline:before { content: "\f176"; } .ion-ios-expand:before { content: "\f178"; } .ion-ios-expand-outline:before { content: "\f178"; } .ion-ios-eye:before { content: "\f425"; } .ion-ios-eye-off:before { content: "\f17a"; } .ion-ios-eye-off-outline:before { content: "\f179"; } .ion-ios-eye-outline:before { content: "\f424"; } .ion-ios-fastforward:before { content: "\f427"; } .ion-ios-fastforward-outline:before { content: "\f426"; } .ion-ios-female:before { content: "\f17b"; } .ion-ios-female-outline:before { content: "\f17b"; } .ion-ios-filing:before { content: "\f429"; } .ion-ios-filing-outline:before { content: "\f428"; } .ion-ios-film:before { content: "\f42b"; } .ion-ios-film-outline:before { content: "\f42a"; } .ion-ios-finger-print:before { content: "\f17c"; } .ion-ios-finger-print-outline:before { content: "\f17c"; } .ion-ios-flag:before { content: "\f42d"; } .ion-ios-flag-outline:before { content: "\f42c"; } .ion-ios-flame:before { content: "\f42f"; } .ion-ios-flame-outline:before { content: "\f42e"; } .ion-ios-flash:before { content: "\f17e"; } .ion-ios-flash-outline:before { content: "\f17d"; } .ion-ios-flask:before { content: "\f431"; } .ion-ios-flask-outline:before { content: "\f430"; } .ion-ios-flower:before { content: "\f433"; } .ion-ios-flower-outline:before { content: "\f432"; } .ion-ios-folder:before { content: "\f435"; } .ion-ios-folder-open:before { content: "\f180"; } .ion-ios-folder-open-outline:before { content: "\f17f"; } .ion-ios-folder-outline:before { content: "\f434"; } .ion-ios-football:before { content: "\f437"; } .ion-ios-football-outline:before { content: "\f436"; } .ion-ios-funnel:before { content: "\f182"; } .ion-ios-funnel-outline:before { content: "\f181"; } .ion-ios-game-controller-a:before { content: "\f439"; } .ion-ios-game-controller-a-outline:before { content: "\f438"; } .ion-ios-game-controller-b:before { content: "\f43b"; } .ion-ios-game-controller-b-outline:before { content: "\f43a"; } .ion-ios-git-branch:before { content: "\f183"; } .ion-ios-git-branch-outline:before { content: "\f183"; } .ion-ios-git-commit:before { content: "\f184"; } .ion-ios-git-commit-outline:before { content: "\f184"; } .ion-ios-git-compare:before { content: "\f185"; } .ion-ios-git-compare-outline:before { content: "\f185"; } .ion-ios-git-merge:before { content: "\f186"; } .ion-ios-git-merge-outline:before { content: "\f186"; } .ion-ios-git-network:before { content: "\f187"; } .ion-ios-git-network-outline:before { content: "\f187"; } .ion-ios-git-pull-request:before { content: "\f188"; } .ion-ios-git-pull-request-outline:before { content: "\f188"; } .ion-ios-glasses:before { content: "\f43f"; } .ion-ios-glasses-outline:before { content: "\f43e"; } .ion-ios-globe:before { content: "\f18a"; } .ion-ios-globe-outline:before { content: "\f189"; } .ion-ios-grid:before { content: "\f18c"; } .ion-ios-grid-outline:before { content: "\f18b"; } .ion-ios-hammer:before { content: "\f18e"; } .ion-ios-hammer-outline:before { content: "\f18d"; } .ion-ios-hand:before { content: "\f190"; } .ion-ios-hand-outline:before { content: "\f18f"; } .ion-ios-happy:before { content: "\f192"; } .ion-ios-happy-outline:before { content: "\f191"; } .ion-ios-headset:before { content: "\f194"; } .ion-ios-headset-outline:before { content: "\f193"; } .ion-ios-heart:before { content: "\f443"; } .ion-ios-heart-outline:before { content: "\f442"; } .ion-ios-help:before { content: "\f446"; } .ion-ios-help-buoy:before { content: "\f196"; } .ion-ios-help-buoy-outline:before { content: "\f195"; } .ion-ios-help-circle:before { content: "\f198"; } .ion-ios-help-circle-outline:before { content: "\f197"; } .ion-ios-help-outline:before { content: "\f446"; } .ion-ios-home:before { content: "\f448"; } .ion-ios-home-outline:before { content: "\f447"; } .ion-ios-ice-cream:before { content: "\f19a"; } .ion-ios-ice-cream-outline:before { content: "\f199"; } .ion-ios-image:before { content: "\f19c"; } .ion-ios-image-outline:before { content: "\f19b"; } .ion-ios-images:before { content: "\f19e"; } .ion-ios-images-outline:before { content: "\f19d"; } .ion-ios-infinite:before { content: "\f44a"; } .ion-ios-infinite-outline:before { content: "\f449"; } .ion-ios-information:before { content: "\f44d"; } .ion-ios-information-circle:before { content: "\f1a0"; } .ion-ios-information-circle-outline:before { content: "\f19f"; } .ion-ios-information-outline:before { content: "\f44d"; } .ion-ios-ionic:before { content: "\f1a1"; } .ion-ios-ionic-outline:before { content: "\f44e"; } .ion-ios-ionitron:before { content: "\f1a3"; } .ion-ios-ionitron-outline:before { content: "\f1a2"; } .ion-ios-jet:before { content: "\f1a5"; } .ion-ios-jet-outline:before { content: "\f1a4"; } .ion-ios-key:before { content: "\f1a7"; } .ion-ios-key-outline:before { content: "\f1a6"; } .ion-ios-keypad:before { content: "\f450"; } .ion-ios-keypad-outline:before { content: "\f44f"; } .ion-ios-laptop:before { content: "\f1a8"; } .ion-ios-laptop-outline:before { content: "\f1a8"; } .ion-ios-leaf:before { content: "\f1aa"; } .ion-ios-leaf-outline:before { content: "\f1a9"; } .ion-ios-link:before { content: "\f22a"; } .ion-ios-link-outline:before { content: "\f1ca"; } .ion-ios-list:before { content: "\f454"; } .ion-ios-list-box:before { content: "\f1ac"; } .ion-ios-list-box-outline:before { content: "\f1ab"; } .ion-ios-list-outline:before { content: "\f454"; } .ion-ios-locate:before { content: "\f1ae"; } .ion-ios-locate-outline:before { content: "\f1ad"; } .ion-ios-lock:before { content: "\f1b0"; } .ion-ios-lock-outline:before { content: "\f1af"; } .ion-ios-log-in:before { content: "\f1b1"; } .ion-ios-log-in-outline:before { content: "\f1b1"; } .ion-ios-log-out:before { content: "\f1b2"; } .ion-ios-log-out-outline:before { content: "\f1b2"; } .ion-ios-magnet:before { content: "\f1b4"; } .ion-ios-magnet-outline:before { content: "\f1b3"; } .ion-ios-mail:before { content: "\f1b8"; } .ion-ios-mail-open:before { content: "\f1b6"; } .ion-ios-mail-open-outline:before { content: "\f1b5"; } .ion-ios-mail-outline:before { content: "\f1b7"; } .ion-ios-male:before { content: "\f1b9"; } .ion-ios-male-outline:before { content: "\f1b9"; } .ion-ios-man:before { content: "\f1bb"; } .ion-ios-man-outline:before { content: "\f1ba"; } .ion-ios-map:before { content: "\f1bd"; } .ion-ios-map-outline:before { content: "\f1bc"; } .ion-ios-medal:before { content: "\f1bf"; } .ion-ios-medal-outline:before { content: "\f1be"; } .ion-ios-medical:before { content: "\f45c"; } .ion-ios-medical-outline:before { content: "\f45b"; } .ion-ios-medkit:before { content: "\f45e"; } .ion-ios-medkit-outline:before { content: "\f45d"; } .ion-ios-megaphone:before { content: "\f1c1"; } .ion-ios-megaphone-outline:before { content: "\f1c0"; } .ion-ios-menu:before { content: "\f1c3"; } .ion-ios-menu-outline:before { content: "\f1c2"; } .ion-ios-mic:before { content: "\f461"; } .ion-ios-mic-off:before { content: "\f45f"; } .ion-ios-mic-off-outline:before { content: "\f1c4"; } .ion-ios-mic-outline:before { content: "\f460"; } .ion-ios-microphone:before { content: "\f1c6"; } .ion-ios-microphone-outline:before { content: "\f1c5"; } .ion-ios-moon:before { content: "\f468"; } .ion-ios-moon-outline:before { content: "\f467"; } .ion-ios-more:before { content: "\f1c8"; } .ion-ios-more-outline:before { content: "\f1c7"; } .ion-ios-move:before { content: "\f1cb"; } .ion-ios-move-outline:before { content: "\f1cb"; } .ion-ios-musical-note:before { content: "\f46b"; } .ion-ios-musical-note-outline:before { content: "\f1cc"; } .ion-ios-musical-notes:before { content: "\f46c"; } .ion-ios-musical-notes-outline:before { content: "\f1cd"; } .ion-ios-navigate:before { content: "\f46e"; } .ion-ios-navigate-outline:before { content: "\f46d"; } .ion-ios-no-smoking:before { content: "\f1cf"; } .ion-ios-no-smoking-outline:before { content: "\f1ce"; } .ion-ios-notifications:before { content: "\f1d3"; } .ion-ios-notifications-off:before { content: "\f1d1"; } .ion-ios-notifications-off-outline:before { content: "\f1d0"; } .ion-ios-notifications-outline:before { content: "\f1d2"; } .ion-ios-nuclear:before { content: "\f1d5"; } .ion-ios-nuclear-outline:before { content: "\f1d4"; } .ion-ios-nutrition:before { content: "\f470"; } .ion-ios-nutrition-outline:before { content: "\f46f"; } .ion-ios-open:before { content: "\f1d7"; } .ion-ios-open-outline:before { content: "\f1d6"; } .ion-ios-options:before { content: "\f1d9"; } .ion-ios-options-outline:before { content: "\f1d8"; } .ion-ios-outlet:before { content: "\f1db"; } .ion-ios-outlet-outline:before { content: "\f1da"; } .ion-ios-paper:before { content: "\f472"; } .ion-ios-paper-outline:before { content: "\f471"; } .ion-ios-paper-plane:before { content: "\f1dd"; } .ion-ios-paper-plane-outline:before { content: "\f1dc"; } .ion-ios-partly-sunny:before { content: "\f1df"; } .ion-ios-partly-sunny-outline:before { content: "\f1de"; } .ion-ios-pause:before { content: "\f478"; } .ion-ios-pause-outline:before { content: "\f477"; } .ion-ios-paw:before { content: "\f47a"; } .ion-ios-paw-outline:before { content: "\f479"; } .ion-ios-people:before { content: "\f47c"; } .ion-ios-people-outline:before { content: "\f47b"; } .ion-ios-person:before { content: "\f47e"; } .ion-ios-person-add:before { content: "\f1e1"; } .ion-ios-person-add-outline:before { content: "\f1e0"; } .ion-ios-person-outline:before { content: "\f47d"; } .ion-ios-phone-landscape:before { content: "\f1e2"; } .ion-ios-phone-landscape-outline:before { content: "\f1e2"; } .ion-ios-phone-portrait:before { content: "\f1e3"; } .ion-ios-phone-portrait-outline:before { content: "\f1e3"; } .ion-ios-photos:before { content: "\f482"; } .ion-ios-photos-outline:before { content: "\f481"; } .ion-ios-pie:before { content: "\f484"; } .ion-ios-pie-outline:before { content: "\f483"; } .ion-ios-pin:before { content: "\f1e5"; } .ion-ios-pin-outline:before { content: "\f1e4"; } .ion-ios-pint:before { content: "\f486"; } .ion-ios-pint-outline:before { content: "\f485"; } .ion-ios-pizza:before { content: "\f1e7"; } .ion-ios-pizza-outline:before { content: "\f1e6"; } .ion-ios-plane:before { content: "\f1e9"; } .ion-ios-plane-outline:before { content: "\f1e8"; } .ion-ios-planet:before { content: "\f1eb"; } .ion-ios-planet-outline:before { content: "\f1ea"; } .ion-ios-play:before { content: "\f488"; } .ion-ios-play-outline:before { content: "\f487"; } .ion-ios-podium:before { content: "\f1ed"; } .ion-ios-podium-outline:before { content: "\f1ec"; } .ion-ios-power:before { content: "\f1ef"; } .ion-ios-power-outline:before { content: "\f1ee"; } .ion-ios-pricetag:before { content: "\f48d"; } .ion-ios-pricetag-outline:before { content: "\f48c"; } .ion-ios-pricetags:before { content: "\f48f"; } .ion-ios-pricetags-outline:before { content: "\f48e"; } .ion-ios-print:before { content: "\f1f1"; } .ion-ios-print-outline:before { content: "\f1f0"; } .ion-ios-pulse:before { content: "\f493"; } .ion-ios-pulse-outline:before { content: "\f1f2"; } .ion-ios-qr-scanner:before { content: "\f1f3"; } .ion-ios-qr-scanner-outline:before { content: "\f1f3"; } .ion-ios-quote:before { content: "\f1f5"; } .ion-ios-quote-outline:before { content: "\f1f4"; } .ion-ios-radio:before { content: "\f1f9"; } .ion-ios-radio-button-off:before { content: "\f1f6"; } .ion-ios-radio-button-off-outline:before { content: "\f1f6"; } .ion-ios-radio-button-on:before { content: "\f1f7"; } .ion-ios-radio-button-on-outline:before { content: "\f1f7"; } .ion-ios-radio-outline:before { content: "\f1f8"; } .ion-ios-rainy:before { content: "\f495"; } .ion-ios-rainy-outline:before { content: "\f494"; } .ion-ios-recording:before { content: "\f497"; } .ion-ios-recording-outline:before { content: "\f496"; } .ion-ios-redo:before { content: "\f499"; } .ion-ios-redo-outline:before { content: "\f498"; } .ion-ios-refresh:before { content: "\f49c"; } .ion-ios-refresh-circle:before { content: "\f226"; } .ion-ios-refresh-circle-outline:before { content: "\f224"; } .ion-ios-refresh-outline:before { content: "\f49c"; } .ion-ios-remove:before { content: "\f1fc"; } .ion-ios-remove-circle:before { content: "\f1fb"; } .ion-ios-remove-circle-outline:before { content: "\f1fa"; } .ion-ios-remove-outline:before { content: "\f1fc"; } .ion-ios-reorder:before { content: "\f1fd"; } .ion-ios-reorder-outline:before { content: "\f1fd"; } .ion-ios-repeat:before { content: "\f1fe"; } .ion-ios-repeat-outline:before { content: "\f1fe"; } .ion-ios-resize:before { content: "\f1ff"; } .ion-ios-resize-outline:before { content: "\f1ff"; } .ion-ios-restaurant:before { content: "\f201"; } .ion-ios-restaurant-outline:before { content: "\f200"; } .ion-ios-return-left:before { content: "\f202"; } .ion-ios-return-left-outline:before { content: "\f202"; } .ion-ios-return-right:before { content: "\f203"; } .ion-ios-return-right-outline:before { content: "\f203"; } .ion-ios-reverse-camera:before { content: "\f49f"; } .ion-ios-reverse-camera-outline:before { content: "\f49e"; } .ion-ios-rewind:before { content: "\f4a1"; } .ion-ios-rewind-outline:before { content: "\f4a0"; } .ion-ios-ribbon:before { content: "\f205"; } .ion-ios-ribbon-outline:before { content: "\f204"; } .ion-ios-rose:before { content: "\f4a3"; } .ion-ios-rose-outline:before { content: "\f4a2"; } .ion-ios-sad:before { content: "\f207"; } .ion-ios-sad-outline:before { content: "\f206"; } .ion-ios-school:before { content: "\f209"; } .ion-ios-school-outline:before { content: "\f208"; } .ion-ios-search:before { content: "\f4a5"; } .ion-ios-search-outline:before { content: "\f20a"; } .ion-ios-send:before { content: "\f20c"; } .ion-ios-send-outline:before { content: "\f20b"; } .ion-ios-settings:before { content: "\f4a7"; } .ion-ios-settings-outline:before { content: "\f20d"; } .ion-ios-share:before { content: "\f211"; } .ion-ios-share-alt:before { content: "\f20f"; } .ion-ios-share-alt-outline:before { content: "\f20e"; } .ion-ios-share-outline:before { content: "\f210"; } .ion-ios-shirt:before { content: "\f213"; } .ion-ios-shirt-outline:before { content: "\f212"; } .ion-ios-shuffle:before { content: "\f4a9"; } .ion-ios-shuffle-outline:before { content: "\f4a9"; } .ion-ios-skip-backward:before { content: "\f215"; } .ion-ios-skip-backward-outline:before { content: "\f214"; } .ion-ios-skip-forward:before { content: "\f217"; } .ion-ios-skip-forward-outline:before { content: "\f216"; } .ion-ios-snow:before { content: "\f218"; } .ion-ios-snow-outline:before { content: "\f22c"; } .ion-ios-speedometer:before { content: "\f4b0"; } .ion-ios-speedometer-outline:before { content: "\f4af"; } .ion-ios-square:before { content: "\f21a"; } .ion-ios-square-outline:before { content: "\f219"; } .ion-ios-star:before { content: "\f4b3"; } .ion-ios-star-half:before { content: "\f4b1"; } .ion-ios-star-half-outline:before { content: "\f4b1"; } .ion-ios-star-outline:before { content: "\f4b2"; } .ion-ios-stats:before { content: "\f21c"; } .ion-ios-stats-outline:before { content: "\f21b"; } .ion-ios-stopwatch:before { content: "\f4b5"; } .ion-ios-stopwatch-outline:before { content: "\f4b4"; } .ion-ios-subway:before { content: "\f21e"; } .ion-ios-subway-outline:before { content: "\f21d"; } .ion-ios-sunny:before { content: "\f4b7"; } .ion-ios-sunny-outline:before { content: "\f4b6"; } .ion-ios-swap:before { content: "\f21f"; } .ion-ios-swap-outline:before { content: "\f21f"; } .ion-ios-switch:before { content: "\f221"; } .ion-ios-switch-outline:before { content: "\f220"; } .ion-ios-sync:before { content: "\f222"; } .ion-ios-sync-outline:before { content: "\f222"; } .ion-ios-tablet-landscape:before { content: "\f223"; } .ion-ios-tablet-landscape-outline:before { content: "\f223"; } .ion-ios-tablet-portrait:before { content: "\f24e"; } .ion-ios-tablet-portrait-outline:before { content: "\f24e"; } .ion-ios-tennisball:before { content: "\f4bb"; } .ion-ios-tennisball-outline:before { content: "\f4ba"; } .ion-ios-text:before { content: "\f250"; } .ion-ios-text-outline:before { content: "\f24f"; } .ion-ios-thermometer:before { content: "\f252"; } .ion-ios-thermometer-outline:before { content: "\f251"; } .ion-ios-thumbs-down:before { content: "\f254"; } .ion-ios-thumbs-down-outline:before { content: "\f253"; } .ion-ios-thumbs-up:before { content: "\f256"; } .ion-ios-thumbs-up-outline:before { content: "\f255"; } .ion-ios-thunderstorm:before { content: "\f4bd"; } .ion-ios-thunderstorm-outline:before { content: "\f4bc"; } .ion-ios-time:before { content: "\f4bf"; } .ion-ios-time-outline:before { content: "\f4be"; } .ion-ios-timer:before { content: "\f4c1"; } .ion-ios-timer-outline:before { content: "\f4c0"; } .ion-ios-train:before { content: "\f258"; } .ion-ios-train-outline:before { content: "\f257"; } .ion-ios-transgender:before { content: "\f259"; } .ion-ios-transgender-outline:before { content: "\f259"; } .ion-ios-trash:before { content: "\f4c5"; } .ion-ios-trash-outline:before { content: "\f4c4"; } .ion-ios-trending-down:before { content: "\f25a"; } .ion-ios-trending-down-outline:before { content: "\f25a"; } .ion-ios-trending-up:before { content: "\f25b"; } .ion-ios-trending-up-outline:before { content: "\f25b"; } .ion-ios-trophy:before { content: "\f25d"; } .ion-ios-trophy-outline:before { content: "\f25c"; } .ion-ios-umbrella:before { content: "\f25f"; } .ion-ios-umbrella-outline:before { content: "\f25e"; } .ion-ios-undo:before { content: "\f4c7"; } .ion-ios-undo-outline:before { content: "\f4c6"; } .ion-ios-unlock:before { content: "\f261"; } .ion-ios-unlock-outline:before { content: "\f260"; } .ion-ios-videocam:before { content: "\f4cd"; } .ion-ios-videocam-outline:before { content: "\f4cc"; } .ion-ios-volume-down:before { content: "\f262"; } .ion-ios-volume-down-outline:before { content: "\f262"; } .ion-ios-volume-mute:before { content: "\f263"; } .ion-ios-volume-mute-outline:before { content: "\f263"; } .ion-ios-volume-off:before { content: "\f264"; } .ion-ios-volume-off-outline:before { content: "\f264"; } .ion-ios-volume-up:before { content: "\f265"; } .ion-ios-volume-up-outline:before { content: "\f265"; } .ion-ios-walk:before { content: "\f266"; } .ion-ios-walk-outline:before { content: "\f266"; } .ion-ios-warning:before { content: "\f268"; } .ion-ios-warning-outline:before { content: "\f267"; } .ion-ios-watch:before { content: "\f269"; } .ion-ios-watch-outline:before { content: "\f269"; } .ion-ios-water:before { content: "\f26b"; } .ion-ios-water-outline:before { content: "\f26a"; } .ion-ios-wifi:before { content: "\f26d"; } .ion-ios-wifi-outline:before { content: "\f26c"; } .ion-ios-wine:before { content: "\f26f"; } .ion-ios-wine-outline:before { content: "\f26e"; } .ion-ios-woman:before { content: "\f271"; } .ion-ios-woman-outline:before { content: "\f270"; } .ion-logo-android:before { content: "\f225"; } .ion-logo-angular:before { content: "\f227"; } .ion-logo-apple:before { content: "\f229"; } .ion-logo-bitcoin:before { content: "\f22b"; } .ion-logo-buffer:before { content: "\f22d"; } .ion-logo-chrome:before { content: "\f22f"; } .ion-logo-codepen:before { content: "\f230"; } .ion-logo-css3:before { content: "\f231"; } .ion-logo-designernews:before { content: "\f232"; } .ion-logo-dribbble:before { content: "\f233"; } .ion-logo-dropbox:before { content: "\f234"; } .ion-logo-euro:before { content: "\f235"; } .ion-logo-facebook:before { content: "\f236"; } .ion-logo-foursquare:before { content: "\f237"; } .ion-logo-freebsd-devil:before { content: "\f238"; } .ion-logo-github:before { content: "\f239"; } .ion-logo-google:before { content: "\f23a"; } .ion-logo-googleplus:before { content: "\f23b"; } .ion-logo-hackernews:before { content: "\f23c"; } .ion-logo-html5:before { content: "\f23d"; } .ion-logo-instagram:before { content: "\f23e"; } .ion-logo-javascript:before { content: "\f23f"; } .ion-logo-linkedin:before { content: "\f240"; } .ion-logo-markdown:before { content: "\f241"; } .ion-logo-nodejs:before { content: "\f242"; } .ion-logo-octocat:before { content: "\f243"; } .ion-logo-pinterest:before { content: "\f244"; } .ion-logo-playstation:before { content: "\f245"; } .ion-logo-python:before { content: "\f246"; } .ion-logo-reddit:before { content: "\f247"; } .ion-logo-rss:before { content: "\f248"; } .ion-logo-sass:before { content: "\f249"; } .ion-logo-skype:before { content: "\f24a"; } .ion-logo-snapchat:before { content: "\f24b"; } .ion-logo-steam:before { content: "\f24c"; } .ion-logo-tumblr:before { content: "\f24d"; } .ion-logo-tux:before { content: "\f2ae"; } .ion-logo-twitch:before { content: "\f2af"; } .ion-logo-twitter:before { content: "\f2b0"; } .ion-logo-usd:before { content: "\f2b1"; } .ion-logo-vimeo:before { content: "\f2c4"; } .ion-logo-whatsapp:before { content: "\f2c5"; } .ion-logo-windows:before { content: "\f32f"; } .ion-logo-wordpress:before { content: "\f330"; } .ion-logo-xbox:before { content: "\f34c"; } .ion-logo-yahoo:before { content: "\f34d"; } .ion-logo-yen:before { content: "\f34e"; } .ion-logo-youtube:before { content: "\f34f"; } .ion-md-add:before { content: "\f273"; } .ion-md-add-circle:before { content: "\f272"; } .ion-md-alarm:before { content: "\f274"; } .ion-md-albums:before { content: "\f275"; } .ion-md-alert:before { content: "\f276"; } .ion-md-american-football:before { content: "\f277"; } .ion-md-analytics:before { content: "\f278"; } .ion-md-aperture:before { content: "\f279"; } .ion-md-apps:before { content: "\f27a"; } .ion-md-appstore:before { content: "\f27b"; } .ion-md-archive:before { content: "\f27c"; } .ion-md-arrow-back:before { content: "\f27d"; } .ion-md-arrow-down:before { content: "\f27e"; } .ion-md-arrow-dropdown:before { content: "\f280"; } .ion-md-arrow-dropdown-circle:before { content: "\f27f"; } .ion-md-arrow-dropleft:before { content: "\f282"; } .ion-md-arrow-dropleft-circle:before { content: "\f281"; } .ion-md-arrow-dropright:before { content: "\f284"; } .ion-md-arrow-dropright-circle:before { content: "\f283"; } .ion-md-arrow-dropup:before { content: "\f286"; } .ion-md-arrow-dropup-circle:before { content: "\f285"; } .ion-md-arrow-forward:before { content: "\f287"; } .ion-md-arrow-round-back:before { content: "\f288"; } .ion-md-arrow-round-down:before { content: "\f289"; } .ion-md-arrow-round-forward:before { content: "\f28a"; } .ion-md-arrow-round-up:before { content: "\f28b"; } .ion-md-arrow-up:before { content: "\f28c"; } .ion-md-at:before { content: "\f28d"; } .ion-md-attach:before { content: "\f28e"; } .ion-md-backspace:before { content: "\f28f"; } .ion-md-barcode:before { content: "\f290"; } .ion-md-baseball:before { content: "\f291"; } .ion-md-basket:before { content: "\f292"; } .ion-md-basketball:before { content: "\f293"; } .ion-md-battery-charging:before { content: "\f294"; } .ion-md-battery-dead:before { content: "\f295"; } .ion-md-battery-full:before { content: "\f296"; } .ion-md-beaker:before { content: "\f297"; } .ion-md-beer:before { content: "\f298"; } .ion-md-bicycle:before { content: "\f299"; } .ion-md-bluetooth:before { content: "\f29a"; } .ion-md-boat:before { content: "\f29b"; } .ion-md-body:before { content: "\f29c"; } .ion-md-bonfire:before { content: "\f29d"; } .ion-md-book:before { content: "\f29e"; } .ion-md-bookmark:before { content: "\f29f"; } .ion-md-bookmarks:before { content: "\f2a0"; } .ion-md-bowtie:before { content: "\f2a1"; } .ion-md-briefcase:before { content: "\f2a2"; } .ion-md-browsers:before { content: "\f2a3"; } .ion-md-brush:before { content: "\f2a4"; } .ion-md-bug:before { content: "\f2a5"; } .ion-md-build:before { content: "\f2a6"; } .ion-md-bulb:before { content: "\f2a7"; } .ion-md-bus:before { content: "\f2a8"; } .ion-md-cafe:before { content: "\f2a9"; } .ion-md-calculator:before { content: "\f2aa"; } .ion-md-calendar:before { content: "\f2ab"; } .ion-md-call:before { content: "\f2ac"; } .ion-md-camera:before { content: "\f2ad"; } .ion-md-car:before { content: "\f2b2"; } .ion-md-card:before { content: "\f2b3"; } .ion-md-cart:before { content: "\f2b4"; } .ion-md-cash:before { content: "\f2b5"; } .ion-md-chatboxes:before { content: "\f2b6"; } .ion-md-chatbubbles:before { content: "\f2b7"; } .ion-md-checkbox:before { content: "\f2b9"; } .ion-md-checkbox-outline:before { content: "\f2b8"; } .ion-md-checkmark:before { content: "\f2bc"; } .ion-md-checkmark-circle:before { content: "\f2bb"; } .ion-md-checkmark-circle-outline:before { content: "\f2ba"; } .ion-md-clipboard:before { content: "\f2bd"; } .ion-md-clock:before { content: "\f2be"; } .ion-md-close:before { content: "\f2c0"; } .ion-md-close-circle:before { content: "\f2bf"; } .ion-md-closed-captioning:before { content: "\f2c1"; } .ion-md-cloud:before { content: "\f2c9"; } .ion-md-cloud-circle:before { content: "\f2c2"; } .ion-md-cloud-done:before { content: "\f2c3"; } .ion-md-cloud-download:before { content: "\f2c6"; } .ion-md-cloud-outline:before { content: "\f2c7"; } .ion-md-cloud-upload:before { content: "\f2c8"; } .ion-md-cloudy:before { content: "\f2cb"; } .ion-md-cloudy-night:before { content: "\f2ca"; } .ion-md-code:before { content: "\f2ce"; } .ion-md-code-download:before { content: "\f2cc"; } .ion-md-code-working:before { content: "\f2cd"; } .ion-md-cog:before { content: "\f2cf"; } .ion-md-color-fill:before { content: "\f2d0"; } .ion-md-color-filter:before { content: "\f2d1"; } .ion-md-color-palette:before { content: "\f2d2"; } .ion-md-color-wand:before { content: "\f2d3"; } .ion-md-compass:before { content: "\f2d4"; } .ion-md-construct:before { content: "\f2d5"; } .ion-md-contact:before { content: "\f2d6"; } .ion-md-contacts:before { content: "\f2d7"; } .ion-md-contract:before { content: "\f2d8"; } .ion-md-contrast:before { content: "\f2d9"; } .ion-md-copy:before { content: "\f2da"; } .ion-md-create:before { content: "\f2db"; } .ion-md-crop:before { content: "\f2dc"; } .ion-md-cube:before { content: "\f2dd"; } .ion-md-cut:before { content: "\f2de"; } .ion-md-desktop:before { content: "\f2df"; } .ion-md-disc:before { content: "\f2e0"; } .ion-md-document:before { content: "\f2e1"; } .ion-md-done-all:before { content: "\f2e2"; } .ion-md-download:before { content: "\f2e3"; } .ion-md-easel:before { content: "\f2e4"; } .ion-md-egg:before { content: "\f2e5"; } .ion-md-exit:before { content: "\f2e6"; } .ion-md-expand:before { content: "\f2e7"; } .ion-md-eye:before { content: "\f2e9"; } .ion-md-eye-off:before { content: "\f2e8"; } .ion-md-fastforward:before { content: "\f2ea"; } .ion-md-female:before { content: "\f2eb"; } .ion-md-filing:before { content: "\f2ec"; } .ion-md-film:before { content: "\f2ed"; } .ion-md-finger-print:before { content: "\f2ee"; } .ion-md-flag:before { content: "\f2ef"; } .ion-md-flame:before { content: "\f2f0"; } .ion-md-flash:before { content: "\f2f1"; } .ion-md-flask:before { content: "\f2f2"; } .ion-md-flower:before { content: "\f2f3"; } .ion-md-folder:before { content: "\f2f5"; } .ion-md-folder-open:before { content: "\f2f4"; } .ion-md-football:before { content: "\f2f6"; } .ion-md-funnel:before { content: "\f2f7"; } .ion-md-game-controller-a:before { content: "\f2f8"; } .ion-md-game-controller-b:before { content: "\f2f9"; } .ion-md-git-branch:before { content: "\f2fa"; } .ion-md-git-commit:before { content: "\f2fb"; } .ion-md-git-compare:before { content: "\f2fc"; } .ion-md-git-merge:before { content: "\f2fd"; } .ion-md-git-network:before { content: "\f2fe"; } .ion-md-git-pull-request:before { content: "\f2ff"; } .ion-md-glasses:before { content: "\f300"; } .ion-md-globe:before { content: "\f301"; } .ion-md-grid:before { content: "\f302"; } .ion-md-hammer:before { content: "\f303"; } .ion-md-hand:before { content: "\f304"; } .ion-md-happy:before { content: "\f305"; } .ion-md-headset:before { content: "\f306"; } .ion-md-heart:before { content: "\f308"; } .ion-md-heart-outline:before { content: "\f307"; } .ion-md-help:before { content: "\f30b"; } .ion-md-help-buoy:before { content: "\f309"; } .ion-md-help-circle:before { content: "\f30a"; } .ion-md-home:before { content: "\f30c"; } .ion-md-ice-cream:before { content: "\f30d"; } .ion-md-image:before { content: "\f30e"; } .ion-md-images:before { content: "\f30f"; } .ion-md-infinite:before { content: "\f310"; } .ion-md-information:before { content: "\f312"; } .ion-md-information-circle:before { content: "\f311"; } .ion-md-ionic:before { content: "\f313"; } .ion-md-ionitron:before { content: "\f314"; } .ion-md-jet:before { content: "\f315"; } .ion-md-key:before { content: "\f316"; } .ion-md-keypad:before { content: "\f317"; } .ion-md-laptop:before { content: "\f318"; } .ion-md-leaf:before { content: "\f319"; } .ion-md-link:before { content: "\f22e"; } .ion-md-list:before { content: "\f31b"; } .ion-md-list-box:before { content: "\f31a"; } .ion-md-locate:before { content: "\f31c"; } .ion-md-lock:before { content: "\f31d"; } .ion-md-log-in:before { content: "\f31e"; } .ion-md-log-out:before { content: "\f31f"; } .ion-md-magnet:before { content: "\f320"; } .ion-md-mail:before { content: "\f322"; } .ion-md-mail-open:before { content: "\f321"; } .ion-md-male:before { content: "\f323"; } .ion-md-man:before { content: "\f324"; } .ion-md-map:before { content: "\f325"; } .ion-md-medal:before { content: "\f326"; } .ion-md-medical:before { content: "\f327"; } .ion-md-medkit:before { content: "\f328"; } .ion-md-megaphone:before { content: "\f329"; } .ion-md-menu:before { content: "\f32a"; } .ion-md-mic:before { content: "\f32c"; } .ion-md-mic-off:before { content: "\f32b"; } .ion-md-microphone:before { content: "\f32d"; } .ion-md-moon:before { content: "\f32e"; } .ion-md-more:before { content: "\f1c9"; } .ion-md-move:before { content: "\f331"; } .ion-md-musical-note:before { content: "\f332"; } .ion-md-musical-notes:before { content: "\f333"; } .ion-md-navigate:before { content: "\f334"; } .ion-md-no-smoking:before { content: "\f335"; } .ion-md-notifications:before { content: "\f338"; } .ion-md-notifications-off:before { content: "\f336"; } .ion-md-notifications-outline:before { content: "\f337"; } .ion-md-nuclear:before { content: "\f339"; } .ion-md-nutrition:before { content: "\f33a"; } .ion-md-open:before { content: "\f33b"; } .ion-md-options:before { content: "\f33c"; } .ion-md-outlet:before { content: "\f33d"; } .ion-md-paper:before { content: "\f33f"; } .ion-md-paper-plane:before { content: "\f33e"; } .ion-md-partly-sunny:before { content: "\f340"; } .ion-md-pause:before { content: "\f341"; } .ion-md-paw:before { content: "\f342"; } .ion-md-people:before { content: "\f343"; } .ion-md-person:before { content: "\f345"; } .ion-md-person-add:before { content: "\f344"; } .ion-md-phone-landscape:before { content: "\f346"; } .ion-md-phone-portrait:before { content: "\f347"; } .ion-md-photos:before { content: "\f348"; } .ion-md-pie:before { content: "\f349"; } .ion-md-pin:before { content: "\f34a"; } .ion-md-pint:before { content: "\f34b"; } .ion-md-pizza:before { content: "\f354"; } .ion-md-plane:before { content: "\f355"; } .ion-md-planet:before { content: "\f356"; } .ion-md-play:before { content: "\f357"; } .ion-md-podium:before { content: "\f358"; } .ion-md-power:before { content: "\f359"; } .ion-md-pricetag:before { content: "\f35a"; } .ion-md-pricetags:before { content: "\f35b"; } .ion-md-print:before { content: "\f35c"; } .ion-md-pulse:before { content: "\f35d"; } .ion-md-qr-scanner:before { content: "\f35e"; } .ion-md-quote:before { content: "\f35f"; } .ion-md-radio:before { content: "\f362"; } .ion-md-radio-button-off:before { content: "\f360"; } .ion-md-radio-button-on:before { content: "\f361"; } .ion-md-rainy:before { content: "\f363"; } .ion-md-recording:before { content: "\f364"; } .ion-md-redo:before { content: "\f365"; } .ion-md-refresh:before { content: "\f366"; } .ion-md-refresh-circle:before { content: "\f228"; } .ion-md-remove:before { content: "\f368"; } .ion-md-remove-circle:before { content: "\f367"; } .ion-md-reorder:before { content: "\f369"; } .ion-md-repeat:before { content: "\f36a"; } .ion-md-resize:before { content: "\f36b"; } .ion-md-restaurant:before { content: "\f36c"; } .ion-md-return-left:before { content: "\f36d"; } .ion-md-return-right:before { content: "\f36e"; } .ion-md-reverse-camera:before { content: "\f36f"; } .ion-md-rewind:before { content: "\f370"; } .ion-md-ribbon:before { content: "\f371"; } .ion-md-rose:before { content: "\f372"; } .ion-md-sad:before { content: "\f373"; } .ion-md-school:before { content: "\f374"; } .ion-md-search:before { content: "\f375"; } .ion-md-send:before { content: "\f376"; } .ion-md-settings:before { content: "\f377"; } .ion-md-share:before { content: "\f379"; } .ion-md-share-alt:before { content: "\f378"; } .ion-md-shirt:before { content: "\f37a"; } .ion-md-shuffle:before { content: "\f37b"; } .ion-md-skip-backward:before { content: "\f37c"; } .ion-md-skip-forward:before { content: "\f37d"; } .ion-md-snow:before { content: "\f37e"; } .ion-md-speedometer:before { content: "\f37f"; } .ion-md-square:before { content: "\f381"; } .ion-md-square-outline:before { content: "\f380"; } .ion-md-star:before { content: "\f384"; } .ion-md-star-half:before { content: "\f382"; } .ion-md-star-outline:before { content: "\f383"; } .ion-md-stats:before { content: "\f385"; } .ion-md-stopwatch:before { content: "\f386"; } .ion-md-subway:before { content: "\f387"; } .ion-md-sunny:before { content: "\f388"; } .ion-md-swap:before { content: "\f389"; } .ion-md-switch:before { content: "\f38a"; } .ion-md-sync:before { content: "\f38b"; } .ion-md-tablet-landscape:before { content: "\f38c"; } .ion-md-tablet-portrait:before { content: "\f38d"; } .ion-md-tennisball:before { content: "\f38e"; } .ion-md-text:before { content: "\f38f"; } .ion-md-thermometer:before { content: "\f390"; } .ion-md-thumbs-down:before { content: "\f391"; } .ion-md-thumbs-up:before { content: "\f392"; } .ion-md-thunderstorm:before { content: "\f393"; } .ion-md-time:before { content: "\f394"; } .ion-md-timer:before { content: "\f395"; } .ion-md-train:before { content: "\f396"; } .ion-md-transgender:before { content: "\f397"; } .ion-md-trash:before { content: "\f398"; } .ion-md-trending-down:before { content: "\f399"; } .ion-md-trending-up:before { content: "\f39a"; } .ion-md-trophy:before { content: "\f39b"; } .ion-md-umbrella:before { content: "\f39c"; } .ion-md-undo:before { content: "\f39d"; } .ion-md-unlock:before { content: "\f39e"; } .ion-md-videocam:before { content: "\f39f"; } .ion-md-volume-down:before { content: "\f3a0"; } .ion-md-volume-mute:before { content: "\f3a1"; } .ion-md-volume-off:before { content: "\f3a2"; } .ion-md-volume-up:before { content: "\f3a3"; } .ion-md-walk:before { content: "\f3a4"; } .ion-md-warning:before { content: "\f3a5"; } .ion-md-watch:before { content: "\f3a6"; } .ion-md-water:before { content: "\f3a7"; } .ion-md-wifi:before { content: "\f3a8"; } .ion-md-wine:before { content: "\f3a9"; } .ion-md-woman:before { content: "\f3aa"; } @font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.woff2?v=3.0.0-alpha.3") format("woff2"), url("../fonts/ionicons.woff?v=3.0.0-alpha.3") format("woff"), url("../fonts/ionicons.ttf?v=3.0.0-alpha.3") format("truetype"); font-weight: normal; font-style: normal; } ion-icon { display: inline-block; font-family: "Ionicons"; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1; text-rendering: auto; text-transform: none; speak: none; } .ios { font-family: -apple-system, "Helvetica Neue", "Roboto", sans-serif; font-size: 1.4rem; background-color: #fff; } .ios ion-content { color: #000; } .ios hr { background-color: rgba(0, 0, 0, 0.12); } .ios.hairlines hr { height: 0.55px; } .ios ion-action-sheet { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; } .ios .action-sheet-wrapper { position: absolute; right: 0; bottom: 0; left: 0; z-index: 10; display: block; margin: auto; width: 100%; max-width: 500px; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .ios .action-sheet-button { width: 100%; } .ios ion-action-sheet { text-align: center; } .ios .action-sheet-container { padding: 0 10px; } .ios .action-sheet-group { overflow: hidden; margin-bottom: 8px; border-radius: 13px; background: #f9f9f9; } .ios .action-sheet-group:last-child { margin-bottom: 10px; } .ios .action-sheet-title { padding: 1.5rem; border-bottom: 1px solid #d6d6da; border-radius: 0; font-size: 1.3rem; font-weight: 400; text-align: center; color: #8f8f8f; } .ios .action-sheet-button { margin: 0; padding: 18px; min-height: 5.6rem; border-bottom: 1px solid #d6d6da; font-size: 2rem; color: #007aff; background: transparent; } .ios .action-sheet-button:last-child { border-bottom: 0; } .ios .action-sheet-button.activated { margin-top: -1px; border-top: 1px solid #ebebeb; border-bottom-color: #ebebeb; background: #ebebeb; } .ios .action-sheet-selected { font-weight: bold; background: #fff; } .ios .action-sheet-destructive { color: #f53d3d; } .ios .action-sheet-cancel { font-weight: 600; background: #fff; } .ios.hairlines .action-sheet-title, .ios.hairlines .action-sheet-button { border-bottom-width: 0.55px; } .ios ion-alert { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .ios ion-alert input { width: 100%; } .ios .alert-wrapper { z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; min-width: 250px; max-height: 90%; opacity: 0; } .ios .alert-title { margin: 0; padding: 0; } .ios .alert-sub-title { margin: 5px 0 0; padding: 0; font-weight: normal; } .ios .alert-message { overflow-y: scroll; -webkit-overflow-scrolling: touch; } .ios .alert-input { padding: 10px 0; border: 0; background: inherit; } .ios .alert-input::-moz-placeholder { color: #999; } .ios .alert-input:-ms-input-placeholder { color: #999; } .ios .alert-input::-webkit-input-placeholder { text-indent: 0; color: #999; } .ios .alert-button-group { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .ios .alert-button-group.vertical { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .ios .alert-button { z-index: 0; display: block; margin: 0; font-size: 14px; line-height: 20px; } .ios .alert-tappable { margin: 0; padding: 0; width: 100%; font-size: inherit; line-height: initial; text-align: left; background: transparent; -webkit-appearance: none; } .ios .alert-wrapper { overflow: hidden; max-width: 270px; border-radius: 13px; background-color: #f8f8f8; box-shadow: none; } .ios .alert-head { padding: 12px 16px 7px; text-align: center; } .ios .alert-title { margin-top: 8px; font-size: 17px; font-weight: 600; } .ios .alert-sub-title { font-size: 14px; color: #666; } .ios .alert-message, .ios .alert-input-group { padding: 0 16px 21px; font-size: 13px; text-align: center; color: inherit; } .ios .alert-message { max-height: 240px; } .ios .alert-message:empty { padding: 0 0 12px 0; } .ios .alert-input { margin-top: 10px; padding: 6px; border: 1px solid #ccc; border-radius: 4px; background-color: #fff; -webkit-appearance: none; } .ios .alert-radio-group, .ios .alert-checkbox-group { overflow: scroll; max-height: 240px; border-top: 1px solid #dbdbdf; -webkit-overflow-scrolling: touch; } .ios .alert-tappable { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; min-height: 44px; } .ios .alert-radio-label { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 1; -webkit-order: 0; -ms-flex-order: 0; order: 0; padding: 13px; text-overflow: ellipsis; white-space: nowrap; } .ios .alert-radio[aria-checked=true] .alert-radio-label { color: #327eff; } .ios .alert-radio-icon { position: relative; -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; min-width: 30px; } .ios .alert-radio[aria-checked=true] .alert-radio-inner { position: absolute; top: -7px; left: 7px; width: 6px; height: 12px; border-width: 2px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #327eff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .ios .alert-checkbox-label { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 13px; text-overflow: ellipsis; white-space: nowrap; } .ios .alert-checkbox[aria-checked=true] .alert-checkbox-label { color: initial; } .ios .alert-checkbox-icon { position: relative; margin: 10px 6px 10px 16px; width: 21px; height: 21px; border-width: 1px; border-style: solid; border-radius: 50%; border-color: #c8c7cc; background-color: #fff; } .ios .alert-checkbox[aria-checked=true] .alert-checkbox-icon { border-color: #327eff; background-color: #327eff; } .ios .alert-checkbox[aria-checked=true] .alert-checkbox-inner { position: absolute; top: 4px; left: 7px; width: 4px; height: 9px; border-width: 1px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .ios .alert-button-group { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-right: -1px; } .ios .alert-button { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; margin: 0; min-width: 50%; height: 44px; border-top: 1px solid #dbdbdf; border-right: 1px solid #dbdbdf; border-radius: 0; font-size: 17px; color: #327eff; background-color: transparent; } .ios .alert-button:last-child { border-right: 0; font-weight: bold; } .ios .alert-button.activated { background-color: #e9e9e9; } .ios.hairlines .alert-radio-group, .ios.hairlines .alert-checkbox-group { border-width: 0.55px; } .ios.hairlines .alert-input { border-width: 0.55px; } .ios.hairlines .alert-button { border-top-width: 0.55px; border-right-width: 0.55px; } .ios ion-badge { display: inline-block; padding: 3px 8px; min-width: 10px; font-size: 1.3rem; font-weight: bold; line-height: 1; text-align: center; white-space: nowrap; vertical-align: baseline; } .ios ion-badge:empty { display: none; } .ios ion-badge { border-radius: 10px; color: #fff; background-color: #327eff; } .ios .badge-primary { color: #fff; background-color: #327eff; } .ios .badge-secondary { color: #fff; background-color: #32db64; } .ios .badge-danger { color: #fff; background-color: #f53d3d; } .ios .badge-light { color: #000; background-color: #f4f4f4; } .ios .badge-dark { color: #fff; background-color: #222; } .ios .button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; position: relative; z-index: 0; display: inline-block; overflow: hidden; text-align: center; text-overflow: ellipsis; text-transform: none; white-space: nowrap; cursor: pointer; vertical-align: top; vertical-align: -webkit-baseline-middle; -webkit-transition: background-color, opacity 100ms linear; transition: background-color, opacity 100ms linear; -webkit-font-kerning: none; font-kerning: none; } .ios .button-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; width: 100%; height: 100%; } .ios [ion-button] { text-decoration: none; } .ios a[disabled], .ios button[disabled], .ios [ion-button][disabled] { cursor: default; opacity: .4; pointer-events: none; } .ios .button-block { display: block; clear: both; width: 100%; } .ios .button-block::after { clear: both; } .ios .button-full { display: block; width: 100%; } .ios .button-full.button-outline { border-right-width: 0; border-left-width: 0; border-radius: 0; } .ios .button { margin: 0.4rem 0.2rem; padding: 0 1em; height: 2.8em; border-radius: 4px; font-size: 1.6rem; color: #fff; background-color: #327eff; } .ios .button.activated { background-color: #2e74eb; opacity: 1; } .ios .button:hover:not(.disable-hover) { opacity: 0.8; } .ios .button-large { padding: 0 1em; height: 2.8em; font-size: 2rem; } .ios .button-small { padding: 0 0.9em; height: 2.1em; font-size: 1.3rem; } .ios .button-small[icon-only] ion-icon { font-size: 1.3em; } .ios .button-block { margin-right: 0; margin-left: 0; } .ios .button-full { margin-right: 0; margin-left: 0; border-right-width: 0; border-left-width: 0; border-radius: 0; } .ios .button-outline { border-width: 1px; border-style: solid; border-radius: 4px; border-color: #327eff; color: #327eff; background-color: transparent; } .ios .button-outline.activated { color: #fff; background-color: #327eff; opacity: 1; } .ios .button-clear { border-color: transparent; color: #327eff; background-color: transparent; } .ios .button-clear.activated { background-color: transparent; opacity: 0.4; } .ios .button-clear:hover:not(.disable-hover) { color: #327eff; opacity: 0.6; } .ios .button-round { padding: 0 2.6rem; border-radius: 64px; } .ios .button-fab { border-radius: 50%; } .ios ion-button-effect { display: none; } .ios .button-primary { color: #fff; background-color: #327eff; } .ios .button-primary.activated { background-color: #2e74eb; } .ios .button-outline-primary { border-color: #327eff; color: #327eff; background-color: transparent; } .ios .button-outline-primary.activated { color: #fff; background-color: #327eff; } .ios .button-clear-primary { border-color: transparent; color: #327eff; background-color: transparent; } .ios .button-clear-primary.activated { opacity: 0.4; } .ios .button-clear-primary:hover:not(.disable-hover) { color: #327eff; } .ios .button-secondary { color: #fff; background-color: #32db64; } .ios .button-secondary.activated { background-color: #2ec95c; } .ios .button-outline-secondary { border-color: #32db64; color: #32db64; background-color: transparent; } .ios .button-outline-secondary.activated { color: #fff; background-color: #32db64; } .ios .button-clear-secondary { border-color: transparent; color: #32db64; background-color: transparent; } .ios .button-clear-secondary.activated { opacity: 0.4; } .ios .button-clear-secondary:hover:not(.disable-hover) { color: #32db64; } .ios .button-danger { color: #fff; background-color: #f53d3d; } .ios .button-danger.activated { background-color: #e13838; } .ios .button-outline-danger { border-color: #f53d3d; color: #f53d3d; background-color: transparent; } .ios .button-outline-danger.activated { color: #fff; background-color: #f53d3d; } .ios .button-clear-danger { border-color: transparent; color: #f53d3d; background-color: transparent; } .ios .button-clear-danger.activated { opacity: 0.4; } .ios .button-clear-danger:hover:not(.disable-hover) { color: #f53d3d; } .ios .button-light { color: #000; background-color: #f4f4f4; } .ios .button-light.activated { background-color: #e0e0e0; } .ios .button-outline-light { border-color: #f4f4f4; color: #f4f4f4; background-color: transparent; } .ios .button-outline-light.activated { color: #000; background-color: #f4f4f4; } .ios .button-clear-light { border-color: transparent; color: #f4f4f4; background-color: transparent; } .ios .button-clear-light.activated { opacity: 0.4; } .ios .button-clear-light:hover:not(.disable-hover) { color: #f4f4f4; } .ios .button-dark { color: #fff; background-color: #222; } .ios .button-dark.activated { background-color: #343434; } .ios .button-outline-dark { border-color: #222; color: #222; background-color: transparent; } .ios .button-outline-dark.activated { color: #fff; background-color: #222; } .ios .button-clear-dark { border-color: transparent; color: #222; background-color: transparent; } .ios .button-clear-dark.activated { opacity: 0.4; } .ios .button-clear-dark:hover:not(.disable-hover) { color: #222; } .ios .button-fab { position: absolute; overflow: hidden; width: 56px; min-width: 0; height: 56px; font-size: 14px; line-height: 56px; vertical-align: middle; background-clip: padding-box; } .ios .button-fab ion-icon { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; font-size: 2.8rem; } .ios [fab-center] { left: 50%; margin-left: -28px; } .ios [fab-top] { top: 16px; } .ios [fab-right] { right: 16px; } .ios [fab-bottom] { bottom: 16px; } .ios [fab-left] { left: 16px; } .ios [fab-fixed] { position: fixed; } .ios [icon-left] ion-icon { font-size: 1.4em; line-height: .67; pointer-events: none; padding-right: .3em; } .ios [icon-right] ion-icon { font-size: 1.4em; line-height: .67; pointer-events: none; padding-left: .4em; } .ios [icon-only] { padding: 0; min-width: .9em; } .ios [icon-only] ion-icon { padding: 0 .5em; font-size: 1.8em; line-height: .67; pointer-events: none; } .ios ion-card { display: block; overflow: hidden; } .ios ion-card img { display: block; width: 100%; } .ios ion-card-header { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .ios ion-card-content { display: block; } .ios ion-card { margin: 12px 12px 12px 12px; width: calc(100% - 24px); border-radius: 2px; font-size: 1.4rem; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } .ios ion-card ion-list { margin-bottom: 0; } .ios ion-card > .item:last-child, .ios ion-card > .item-wrapper:last-child .item { border-bottom: 0; } .ios ion-card .item .item-inner { border: 0; } .ios ion-card ion-card-content { padding: 13px 16px 14px 16px; font-size: 1.4rem; line-height: 1.4; } .ios ion-card ion-card-header { padding: 16px; font-size: 1.6rem; font-weight: 500; color: #333; } .ios ion-card ion-card-header + ion-card-content, .ios ion-card .item + ion-card-content { padding-top: 0; } .ios ion-card ion-note[item-left], .ios ion-card ion-note[item-right] { font-size: 1.3rem; } .ios ion-card ion-card-title { display: block; margin: 2px 0 2px; padding: 8px 0 8px 0; font-size: 1.8rem; line-height: 1.2; color: #222; } .ios ion-card h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .ios ion-card h2 { margin: 2px 0; font-size: 1.6rem; font-weight: normal; } .ios ion-card h3, .ios ion-card h4, .ios ion-card h5, .ios ion-card h6 { margin: 2px 0; font-size: 1.4rem; font-weight: normal; } .ios ion-card p { margin: 0 0 2px; font-size: 1.4rem; color: #666; } .ios ion-card + ion-card { margin-top: 0; } .ios ion-checkbox { position: relative; display: inline-block; } .ios .checkbox-icon { position: relative; width: 21px; height: 21px; border-width: 1px; border-style: solid; border-radius: 50%; border-color: #c8c7cc; background-color: #fff; } .ios .checkbox-checked { border-color: #327eff; background-color: #327eff; } .ios .checkbox-checked .checkbox-inner { position: absolute; top: 4px; left: 7px; width: 4px; height: 9px; border-width: 1px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .ios .checkbox-disabled, .ios .item-checkbox-disabled ion-label { opacity: 0.3; pointer-events: none; } .ios .item ion-checkbox { position: static; display: block; margin: 8px 16px 8px 2px; } .ios .item ion-checkbox[item-right] { margin: 10px 8px 9px 0; } .ios .checkbox-primary .checkbox-checked { border-color: #327eff; background-color: #327eff; } .ios .checkbox-primary .checkbox-checked .checkbox-inner { border-color: #fff; } .ios .checkbox-secondary .checkbox-checked { border-color: #32db64; background-color: #32db64; } .ios .checkbox-secondary .checkbox-checked .checkbox-inner { border-color: #fff; } .ios .checkbox-danger .checkbox-checked { border-color: #f53d3d; background-color: #f53d3d; } .ios .checkbox-danger .checkbox-checked .checkbox-inner { border-color: #fff; } .ios .checkbox-light .checkbox-checked { border-color: #f4f4f4; background-color: #f4f4f4; } .ios .checkbox-light .checkbox-checked .checkbox-inner { border-color: #000; } .ios .checkbox-dark .checkbox-checked { border-color: #222; background-color: #222; } .ios .checkbox-dark .checkbox-checked .checkbox-inner { border-color: #fff; } .ios ion-chip { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; font-weight: normal; vertical-align: middle; box-sizing: border-box; } .ios ion-chip .button { margin: 0; width: 32px; height: 32px; border-radius: 50%; } .ios ion-chip ion-icon { width: 32px; height: 32px; border-radius: 50%; font-size: 18px; line-height: 32px; } .ios ion-chip ion-avatar { width: 32px; min-width: 32px; height: 32px; min-height: 32px; border-radius: 50%; } .ios ion-chip ion-avatar img { display: block; width: 100%; max-width: 100%; height: 100%; max-height: 100%; border-radius: 50%; } .ios ion-chip { margin: 2px 0; height: 32px; border-radius: 16px; font-size: 13px; line-height: 32px; color: rgba(0, 0, 0, 0.87); background: rgba(0, 0, 0, 0.12); } .ios ion-chip > ion-label { margin: 0 10px; } .ios ion-chip > ion-icon { color: #fff; background-color: #327eff; } .ios .chip-primary, .ios ion-chip .icon-primary { color: #fff; background-color: #327eff; } .ios .chip-secondary, .ios ion-chip .icon-secondary { color: #fff; background-color: #32db64; } .ios .chip-danger, .ios ion-chip .icon-danger { color: #fff; background-color: #f53d3d; } .ios .chip-light, .ios ion-chip .icon-light { color: #000; background-color: #f4f4f4; } .ios .chip-dark, .ios ion-chip .icon-dark { color: #fff; background-color: #222; } .ios [no-padding], .ios [no-padding] scroll-content { padding: 0; } .ios [no-margin], .ios [no-margin] scroll-content { margin: 0; } .ios ion-fixed { position: absolute; z-index: 2; -webkit-transform: translateZ(0); transform: translateZ(0); } .ios ion-content { background-color: #fff; } .ios .outer-content { background: #efeff4; } .ios ion-page.show-page ~ .nav-decor { position: absolute; top: 0; left: 0; z-index: 0; display: block; width: 100%; height: 100%; background: #000; pointer-events: none; } .ios [padding], .ios [padding] scroll-content { padding: 16px; } .ios [padding-top], .ios [padding-top] scroll-content { padding-top: 16px; } .ios [padding-left], .ios [padding-left] scroll-content { padding-left: 16px; } .ios [padding-right], .ios [padding-right] scroll-content { padding-right: 16px; } .ios [padding-bottom], .ios [padding-bottom] scroll-content { padding-bottom: 16px; } .ios [padding-vertical], .ios [padding-vertical] scroll-content { padding-top: 16px; padding-bottom: 16px; } .ios [padding-horizontal], .ios [padding-horizontal] scroll-content { padding-right: 16px; padding-left: 16px; } .ios [margin], .ios [margin] scroll-content { margin: 16px; } .ios [margin-top], .ios [margin-top] scroll-content { margin-top: 16px; } .ios [margin-left], .ios [margin-left] scroll-content { margin-left: 16px; } .ios [margin-right], .ios [margin-right] scroll-content { margin-right: 16px; } .ios [margin-bottom], .ios [margin-bottom] scroll-content { margin-bottom: 16px; } .ios [margin-vertical], .ios [margin-vertical] scroll-content { margin-top: 16px; margin-bottom: 16px; } .ios [margin-horizontal], .ios [margin-horizontal] scroll-content { margin-right: 16px; margin-left: 16px; } .ios ion-content:not([no-bounce]) > scroll-content::before, .ios ion-content:not([no-bounce]) > scroll-content::after { position: absolute; width: 1px; height: 1px; content: ""; } .ios ion-content:not([no-bounce]) > scroll-content::before { bottom: -1px; } .ios ion-content:not([no-bounce]) > scroll-content::after { top: -1px; } .ios ion-datetime { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; } .ios .datetime-text { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 16px; min-height: 1.2em; font-size: inherit; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; } .ios .datetime-disabled, .ios .item-datetime-disabled ion-label { opacity: .4; pointer-events: none; } .ios .item-label-stacked ion-datetime, .ios .item-label-floating ion-datetime { padding-left: 0; width: 100%; } .ios ion-datetime { padding: 12px 8px 13px 16px; } .ios ion-icon { display: inline-block; font-size: 1.2em; } .ios ion-icon[small] { min-height: 1.1em; font-size: 1.1em; } .ios .icon-primary { color: #327eff; } .ios .icon-secondary { color: #32db64; } .ios .icon-danger { color: #f53d3d; } .ios .icon-light { color: #f4f4f4; } .ios .icon-dark { color: #222; } .ios ion-input, .ios ion-textarea { position: relative; display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } .ios .item-input ion-input, .ios .item-input ion-textarea { position: static; } .ios .item.item-textarea { -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; } .ios .text-input { display: inline-block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 92%; width: calc(100% - 10px); border: 0; border-radius: 0; background: transparent; -webkit-appearance: none; } .ios .text-input::-moz-placeholder { color: #999; } .ios .text-input:-ms-input-placeholder { color: #999; } .ios .text-input::-webkit-input-placeholder { text-indent: 0; color: #999; } .ios textarea.text-input { display: block; } .ios .text-input[disabled] { opacity: .4; } .ios input.text-input:-webkit-autofill { background-color: transparent; } .ios .platform-mobile textarea.text-input { resize: none; } .ios .input-cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .ios .input-has-focus .input-cover { display: none; } .ios .input-has-focus { pointer-events: none; } .ios .input-has-focus input, .ios .input-has-focus textarea, .ios .input-has-focus a, .ios .input-has-focus button { pointer-events: auto; } .ios [next-input] { position: absolute; bottom: 1px; padding: 0; width: 1px; height: 1px; border: 0; background: transparent; pointer-events: none; } .ios .text-input-clear-icon { position: absolute; top: 0; display: none; margin: 0; padding: 0; height: 100%; background-repeat: no-repeat; background-position: center; } .ios .input-has-focus.input-has-value .text-input-clear-icon { display: block; } .ios .text-input.cloned-input { position: relative; top: 0; pointer-events: none; } .ios .item-input:not(.item-label-floating) .text-input.cloned-active { display: none; } .ios .text-input { margin: 12px 8px 13px 0; padding: 0; width: calc(100% - 8px - 0); } .ios .inset-input { margin: 6px 16px 6.5px 0; padding: 6px 8px 6.5px 8px; } .ios .item-label-stacked .text-input, .ios .item-label-floating .text-input { margin-top: 8px; margin-bottom: 8px; margin-left: 0; width: calc(100% - 8px); } .ios .item-label-stacked ion-select, .ios .item-label-floating ion-select { padding-top: 8px; padding-bottom: 8px; padding-left: 0; } .ios .item-label-floating .text-input.cloned-input, .ios .item-label-stacked .text-input.cloned-input { top: 30px; } .ios ion-input[clearInput] { position: relative; } .ios ion-input[clearInput] .text-input { padding-right: 30px; } .ios .text-input-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); right: 8px; width: 30px; background-size: 18px; } .ios .item { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 4.4rem; border: 0; font-weight: normal; line-height: normal; text-align: initial; text-decoration: none; color: inherit; } .ios .item-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; margin: 0; padding: 0; min-height: inherit; border: 0; } .ios .input-wrapper { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; text-overflow: ellipsis; } .ios .item[no-lines], .ios .item[no-lines] .item-inner { border: 0; } .ios ion-item-group { display: block; } .ios ion-item-divider { z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 30px; } .ios ion-item-divider[sticky] { position: -webkit-sticky; position: sticky; top: 0; } .ios [vertical-align-top], .ios ion-input.item { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .ios .item > ion-icon[small]:first-child, .ios .item-inner > ion-icon[small]:first-child { min-width: 18px; } .ios .item > ion-icon:first-child, .ios .item-inner > ion-icon:first-child { min-width: 24px; text-align: center; } .ios .item > ion-icon, .ios .item-inner > ion-icon { min-height: 2.4rem; font-size: 2.4rem; line-height: 1; } .ios .item > ion-icon[large], .ios .item-inner > ion-icon[large] { min-height: 3.2rem; font-size: 3.2rem; } .ios .item > ion-icon[small], .ios .item-inner > ion-icon[small] { min-height: 1.8rem; font-size: 1.8rem; } .ios ion-avatar, .ios ion-thumbnail { display: block; line-height: 1; } .ios ion-avatar img, .ios ion-thumbnail img { display: block; } .ios .item-cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent; cursor: pointer; } .ios ion-item-sliding { position: relative; display: block; overflow: hidden; width: 100%; } .ios ion-item-sliding .item { position: static; } .ios ion-item-options { position: absolute; top: 0; right: 0; z-index: 1; display: none; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; height: 100%; font-size: 14px; visibility: hidden; } .ios ion-item-options[side=left] { right: auto; left: 0; -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } .ios ion-item-options .button { margin: 0; padding: 0 .7em; height: 100%; border-radius: 0; box-shadow: none; box-sizing: content-box; } .ios ion-item-options:not([icon-left]) .button .button-inner { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .ios ion-item-options:not([icon-left]) .button ion-icon { padding-right: 0; padding-bottom: .3em; padding-left: 0; } .ios ion-item-sliding.active-slide .item, .ios ion-item-sliding.active-slide .item.activated { position: relative; z-index: 2; opacity: 1; -webkit-transition: -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); transition: transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); pointer-events: none; will-change: transform; } .ios ion-item-sliding.active-slide ion-item-options { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .ios ion-item-sliding.active-slide.active-options-left ion-item-options[side=left] { width: 100%; visibility: visible; } .ios ion-item-sliding.active-slide.active-options-right ion-item-options:not([side=left]) { width: 100%; visibility: visible; } .ios .button-expandable { -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-transition-duration: 0; transition-duration: 0; -webkit-transition-property: none; transition-property: none; -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1); transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1); } .ios ion-item-sliding.active-swipe-right .button-expandable { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; padding-left: 90%; -webkit-transition-duration: .6s; transition-duration: .6s; -webkit-transition-property: padding-left; transition-property: padding-left; } .ios ion-item-sliding.active-swipe-left .button-expandable { -webkit-box-ordinal-group: 0; -webkit-order: -1; -ms-flex-order: -1; order: -1; padding-right: 90%; -webkit-transition-duration: .6s; transition-duration: .6s; -webkit-transition-property: padding-right; transition-property: padding-right; } .ios ion-reorder { display: none; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; max-width: 40px; height: 100%; font-size: 1.7em; opacity: .25; -webkit-transform: translate3d(120%, 0, 0); transform: translate3d(120%, 0, 0); -webkit-transition: -webkit-transform 125ms ease-in; transition: transform 125ms ease-in; pointer-events: all; -ms-touch-action: manipulation; touch-action: manipulation; } .ios ion-reorder ion-icon { pointer-events: none; } .ios .reorder-enabled ion-reorder { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .ios .reorder-visible ion-reorder { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .ios .reorder-list-active .item, .ios .reorder-list-active .item-wrapper { -webkit-transition: -webkit-transform 300ms; transition: transform 300ms; will-change: transform; } .ios .reorder-list-active .item-inner { pointer-events: none; } .ios .item-wrapper.reorder-active, .ios .item.reorder-active, .ios .reorder-active { z-index: 4; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); opacity: .8; -webkit-transition: none; transition: none; pointer-events: none; } .ios .item { position: relative; padding-left: 16px; border-radius: 0; font-size: 1.6rem; color: #000; background-color: #fff; -webkit-transition-duration: 200ms; transition-duration: 200ms; } .ios .item h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .ios .item h2 { margin: 0 0 2px; font-size: 1.6rem; font-weight: normal; } .ios .item h3, .ios .item h4, .ios .item h5, .ios .item h6 { margin: 0 0 3px; font-size: 1.4rem; font-weight: normal; line-height: normal; } .ios .item p { overflow: inherit; margin: 0 0 2px; font-size: 1.2rem; line-height: normal; text-overflow: inherit; color: #666; } .ios .item h2:last-child, .ios .item h3:last-child, .ios .item h4:last-child, .ios .item h5:last-child, .ios .item h6:last-child, .ios .item p:last-child { margin-bottom: 0; } .ios .item a { text-decoration: none; } .ios .item.activated { background-color: #d9d9d9; -webkit-transition-duration: 0ms; transition-duration: 0ms; } .ios .item .item-inner { padding-right: 8px; border-bottom: 1px solid #c8c7cc; } .ios.hairlines .item-inner { border-bottom-width: 0.55px; } .ios [item-left] { margin: 8px 16px 8px 0; } .ios [item-right] { margin: 8px 8px 8px 8px; } .ios ion-icon[item-left], .ios ion-icon[item-right] { margin-top: 10px; margin-bottom: 9px; margin-left: 0; } .ios ion-avatar[item-left], .ios ion-thumbnail[item-left] { margin: 8px 16px 8px 0; } .ios ion-avatar[item-right], .ios ion-thumbnail[item-right] { margin: 8px; } .ios .item-button { padding: 0 .5em; height: 24px; font-size: 1.3rem; } .ios .item-button[icon-only] ion-icon, .ios .item-button[icon-only] { padding: 0 1px; } .ios ion-avatar { min-width: 3.6rem; min-height: 3.6rem; } .ios ion-avatar img { max-width: 3.6rem; max-height: 3.6rem; border-radius: 1.8rem; } .ios ion-thumbnail { min-width: 5.6rem; min-height: 5.6rem; } .ios ion-thumbnail img { max-width: 5.6rem; max-height: 5.6rem; } .ios ion-note { color: #aeacb4; } .ios .item[detail-push] .item-inner, .ios button.item:not([detail-none]) .item-inner, .ios a.item:not([detail-none]) .item-inner { background-image: url("data:image/svg+xml;charset=utf-8,"); padding-right: 32px; background-repeat: no-repeat; background-position: right 14px center; background-size: 14px 14px; } .ios ion-item-group .item:first-child .item-inner { border-top-width: 0; } .ios ion-item-group .item:last-child .item-inner, .ios ion-item-group .item-wrapper:last-child .item-inner { border: 0; } .ios ion-item-divider { padding-left: 16px; color: #222; background-color: #f7f7f7; } .ios .item .text-primary { color: #327eff; } .ios .item-primary { color: #fff; background-color: #327eff; } .ios .item .text-secondary { color: #32db64; } .ios .item-secondary { color: #fff; background-color: #32db64; } .ios .item .text-danger { color: #f53d3d; } .ios .item-danger { color: #fff; background-color: #f53d3d; } .ios .item .text-light { color: #f4f4f4; } .ios .item-light { color: #000; background-color: #f4f4f4; } .ios .item .text-dark { color: #222; } .ios .item-dark { color: #fff; background-color: #222; } .ios ion-item-sliding { background-color: #fff; } .ios ion-label { display: block; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin: 0; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; } .ios .item-input ion-label { -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; max-width: 200px; pointer-events: none; } .ios [text-wrap] ion-label { white-space: normal; } .ios ion-label[fixed] { -webkit-box-flex: 0; -webkit-flex: 0 0 100px; -ms-flex: 0 0 100px; flex: 0 0 100px; width: 100px; min-width: 100px; max-width: 200px; } .ios .item-label-stacked ion-label, .ios .item-label-floating ion-label { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; width: auto; max-width: 100%; } .ios ion-label[stacked], .ios ion-label[floating] { margin-bottom: 0; } .ios .item-label-stacked .input-wrapper, .ios .item-label-floating .input-wrapper { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .ios .item-label-stacked ion-select, .ios .item-label-floating ion-select { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; max-width: 100%; } .ios .item-select ion-label[floating] { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .ios ion-label { margin: 12px 8px 13px 0; } .ios .item-input ion-label, .ios .item-select ion-label, .ios .item-datetime ion-label { color: #7f7f7f; } .ios ion-label + ion-input .text-input, .ios ion-label + ion-textarea .text-input { margin-left: 16px; width: calc(100% - (16px / 2) - 16px); } .ios ion-label[stacked] { margin-bottom: 4px; font-size: 1.2rem; } .ios ion-label[floating] { margin-bottom: 0; -webkit-transform: translate3d(0, 27px, 0); transform: translate3d(0, 27px, 0); -webkit-transform-origin: left top; transform-origin: left top; -webkit-transition: -webkit-transform 150ms ease-in-out; transition: transform 150ms ease-in-out; } .ios .input-has-focus ion-label[floating], .ios .input-has-value ion-label[floating] { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .ios .item-label-stacked [item-right], .ios .item-label-floating [item-right] { margin-top: 6px; margin-bottom: 6px; } .ios .label-primary, .ios .item-input .label-primary, .ios .item-select .label-primary, .ios .item-datetime .label-primary { color: #327eff; } .ios .label-secondary, .ios .item-input .label-secondary, .ios .item-select .label-secondary, .ios .item-datetime .label-secondary { color: #32db64; } .ios .label-danger, .ios .item-input .label-danger, .ios .item-select .label-danger, .ios .item-datetime .label-danger { color: #f53d3d; } .ios .label-light, .ios .item-input .label-light, .ios .item-select .label-light, .ios .item-datetime .label-light { color: #f4f4f4; } .ios .label-dark, .ios .item-input .label-dark, .ios .item-select .label-dark, .ios .item-datetime .label-dark { color: #222; } .ios ion-list-header { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 4rem; } .ios ion-list { display: block; margin: 0; padding: 0; list-style-type: none; } .ios ion-list[inset] { overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); } .ios ion-list-header { position: relative; padding-left: 16px; border-bottom: 1px solid #c8c7cc; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.1rem; text-transform: uppercase; color: #333; } .ios ion-list { margin: -1px 0 32px 0; } .ios ion-list > .item:first-child { border-top: 1px solid #c8c7cc; } .ios ion-list > .item:last-child, .ios ion-list > .item-wrapper:last-child .item { border-bottom: 1px solid #c8c7cc; } .ios ion-list > .item:last-child .item-inner, .ios ion-list > .item-wrapper:last-child .item-inner { border-bottom: 0; } .ios ion-list .item .item-inner { border-bottom: 1px solid #c8c7cc; } .ios ion-list .item[no-lines], .ios ion-list .item[no-lines] .item-inner { border-width: 0; } .ios ion-list ion-item-options { border-bottom: 1px solid #c8c7cc; } .ios ion-list ion-item-options button, .ios ion-list ion-item-options [button] { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0; height: 100%; min-height: 100%; border: 0; border-radius: 0; box-sizing: border-box; } .ios ion-list ion-item-options button::before, .ios ion-list ion-item-options [button]::before { margin: 0 auto; } .ios ion-list + ion-list ion-list-header { margin-top: -10px; padding-top: 0; } .ios.hairlines ion-list-header { border-bottom-width: 0.55px; } .ios.hairlines ion-list ion-item-options { border-width: 0.55px; } .ios.hairlines ion-list .item .item-inner { border-width: 0.55px; } .ios.hairlines ion-list > .item:first-child { border-top-width: 0.55px; } .ios.hairlines ion-list > .item:last-child, .ios.hairlines ion-list > .item-wrapper:last-child .item { border-bottom-width: 0.55px; } .ios ion-list[inset] { margin: 16px 16px 16px 16px; border-radius: 4px; } .ios ion-list[inset] ion-list-header { background-color: #fff; } .ios ion-list[inset] .item { border-bottom: 1px solid #c8c7cc; } .ios ion-list[inset] .item .item-inner { border-bottom: 0; } .ios ion-list[inset] > .item:first-child, .ios ion-list[inset] > .item-wrapper:first-child .item { border-top: 0; } .ios ion-list[inset] > .item:last-child, .ios ion-list[inset] > .item-wrapper:last-child .item { border-bottom: 0; } .ios ion-list[inset] + ion-list[inset] { margin-top: 0; } .ios.hairlines ion-list[inset] .item { border-width: 0.55px; } .ios ion-list[no-lines] ion-list-header, .ios ion-list[no-lines] ion-item-options, .ios ion-list[no-lines] .item, .ios ion-list[no-lines] .item .item-inner, .ios.hairlines ion-list[no-lines] ion-list-header, .ios.hairlines ion-list[no-lines] ion-item-options, .ios.hairlines ion-list[no-lines] .item, .ios.hairlines ion-list[no-lines] .item .item-inner { border-width: 0; } .ios ion-loading { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .ios .loading-wrapper { z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; opacity: 0; } .ios .loading-wrapper { padding: 24px 34px; max-width: 270px; max-height: 90%; border-radius: 8px; color: #000; background: #f8f8f8; } .ios .loading-content { font-weight: bold; } .ios .loading-spinner + .loading-content { margin-left: 16px; } .ios .loading-spinner .spinner-ios line, .ios .loading-spinner .spinner-ios-small line { stroke: #69717d; } .ios .loading-spinner .spinner-bubbles circle { fill: #69717d; } .ios .loading-spinner .spinner-circles circle { fill: #69717d; } .ios .loading-spinner .spinner-crescent circle { stroke: #69717d; } .ios .loading-spinner .spinner-dots circle { fill: #69717d; } .ios .menu-inner { background: #fff; } .ios .menu-content-reveal { box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); } .ios .menu-content-push { box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); } .ios ion-menu[type=overlay] .menu-inner { box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); } .ios .modal-wrapper { -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .ios ion-picker-cmp { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; } .ios .picker-toolbar { z-index: 1; } .ios .picker-wrapper { position: absolute; right: 0; bottom: 0; left: 0; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; margin: auto; width: 100%; max-width: 500px; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .ios .picker-columns { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .ios .picker-col { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; max-height: 100%; } .ios .picker-opts { position: relative; width: 100%; min-width: 50px; max-width: 100%; } .ios .picker-prefix { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 50px; min-width: 45%; text-align: right; white-space: nowrap; } .ios .picker-suffix { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 50px; min-width: 45%; text-align: left; white-space: nowrap; } .ios .picker-opt { position: absolute; top: 0; left: 0; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } .ios .picker-opt .button-inner { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; -webkit-transition: opacity 150ms ease-in-out; transition: opacity 150ms ease-in-out; } .ios .picker-opt.picker-opt-disabled { pointer-events: none; } .ios .picker-opt-disabled .button-inner { opacity: 0; } .ios .picker-opts-left .button-inner { -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } .ios .picker-opts-right .button-inner { -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; } .ios .picker-above-highlight, .ios .picker-below-highlight { display: none; pointer-events: none; } .ios .picker-wrapper { height: 260px; border-top: 1px solid #c8c7cc; background: #fff; } .ios .picker-toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; height: 44px; border-bottom: 1px solid #c8c7cc; background: #fff; } .ios .hairlines .picker-wrapper, .ios .hairlines .picker-toolbar { border-width: 0.55px; } .ios .picker-toolbar-button { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; text-align: right; } .ios .picker-toolbar-cancel { font-weight: normal; text-align: left; } .ios .picker-button, .ios .picker-button.activated { margin: 0; height: 44px; color: #327eff; background: transparent; } .ios .picker-columns { height: 216px; -webkit-perspective: 1000px; perspective: 1000px; } .ios .picker-col { padding: 0 4px; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .ios .picker-prefix, .ios .picker-suffix, .ios .picker-opts { top: 77px; font-size: 20px; line-height: 42px; color: #000; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; pointer-events: none; } .ios .picker-opt { margin: 0; padding: 0; font-size: 20px; line-height: 42px; background: transparent; -webkit-transform-origin: center center; transform-origin: center center; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; pointer-events: auto; } .ios .picker-above-highlight { position: absolute; top: 0; left: 0; z-index: 10; display: block; width: 100%; height: 81px; border-bottom: 1px solid #c8c7cc; background: -webkit-linear-gradient(top, white 20%, rgba(255, 255, 255, 0.7) 100%); background: linear-gradient(to bottom, white 20%, rgba(255, 255, 255, 0.7) 100%); -webkit-transform: translate3d(0, 0, 90px); transform: translate3d(0, 0, 90px); } .ios .picker-below-highlight { position: absolute; top: 115px; left: 0; z-index: 11; display: block; width: 100%; height: 119px; border-top: 1px solid #c8c7cc; background: -webkit-linear-gradient(bottom, white 30%, rgba(255, 255, 255, 0.7) 100%); background: linear-gradient(to top, white 30%, rgba(255, 255, 255, 0.7) 100%); -webkit-transform: translate3d(0, 0, 90px); transform: translate3d(0, 0, 90px); } .ios ion-popover { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .ios .popover-wrapper { z-index: 10; opacity: 0; } .ios .popover-content { position: absolute; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: auto; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .ios .popover-content scroll-content { position: relative; } .ios .popover-content { width: 200px; min-width: 0; min-height: 0; max-height: 90%; border-radius: 10px; color: #000; background: #fff; } .ios .popover-content ion-content { background: #fff; } .ios .popover-content .item { background-color: #fff; } .ios .popover-arrow { position: absolute; display: block; overflow: hidden; width: 20px; height: 10px; } .ios .popover-arrow::after { position: absolute; top: 3px; left: 3px; z-index: 10; width: 14px; height: 14px; border-radius: 3px; background-color: #fff; content: ""; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .ios .popover-bottom .popover-arrow { top: auto; bottom: -10px; } .ios .popover-bottom .popover-arrow::after { top: -6px; } .ios ion-radio { position: relative; display: inline-block; } .ios .radio-icon { position: relative; display: block; width: 16px; height: 21px; } .ios .radio-checked .radio-inner { position: absolute; top: 4px; left: 7px; width: 5px; height: 12px; border-width: 2px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #327eff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .ios .radio-disabled, .ios .item-radio-disabled ion-label { opacity: 0.3; pointer-events: none; } .ios .item ion-radio { position: static; display: block; margin: 8px 11px 8px 8px; } .ios .item ion-radio[item-left] { margin: 8px 21px 8px 3px; } .ios .item-radio ion-label { margin-left: 0; } .ios .item-radio-checked ion-label { color: #327eff; } .ios .item-radio-primary.item-radio-checked ion-label { color: #327eff; } .ios .radio-primary .radio-checked { color: #327eff; } .ios .radio-primary .radio-checked .radio-inner { border-color: #327eff; } .ios .item-radio-secondary.item-radio-checked ion-label { color: #32db64; } .ios .radio-secondary .radio-checked { color: #32db64; } .ios .radio-secondary .radio-checked .radio-inner { border-color: #32db64; } .ios .item-radio-danger.item-radio-checked ion-label { color: #f53d3d; } .ios .radio-danger .radio-checked { color: #f53d3d; } .ios .radio-danger .radio-checked .radio-inner { border-color: #f53d3d; } .ios .item-radio-light.item-radio-checked ion-label { color: #f4f4f4; } .ios .radio-light .radio-checked { color: #f4f4f4; } .ios .radio-light .radio-checked .radio-inner { border-color: #f4f4f4; } .ios .item-radio-dark.item-radio-checked ion-label { color: #222; } .ios .radio-dark .radio-checked { color: #222; } .ios .radio-dark .radio-checked .radio-inner { border-color: #222; } .ios .item-range .item-inner { overflow: visible; } .ios .item-range .input-wrapper { overflow: visible; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .ios .item-range ion-range { width: 100%; } .ios .item-range ion-range ion-label { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } .ios ion-range { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .ios ion-range ion-label { -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; } .ios ion-range ion-icon { min-height: 2.4rem; font-size: 2.4rem; line-height: 1; } .ios .range-slider { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; cursor: pointer; } .ios ion-range { padding: 8px 16px; } .ios [range-left], .ios [range-right] { margin: 0 20px; } .ios [range-left] { margin-left: 0; } .ios [range-right] { margin-right: 0; } .ios .range-has-pin { padding-top: 20px; } .ios .range-slider { height: 42px; } .ios .range-bar { position: absolute; top: 21px; left: 0; width: 100%; height: 1px; border-radius: 1px; background: #bdbdbd; pointer-events: none; } .ios .range-pressed .range-bar-active { will-change: left, right; } .ios .range-pressed .range-knob-handle { will-change: left; } .ios .range-bar-active { bottom: 0; width: auto; background: #327eff; } .ios .range-knob-handle { position: absolute; top: 21px; left: 0%; margin-top: -21px; margin-left: -21px; width: 42px; height: 42px; text-align: center; } .ios .range-knob { position: absolute; top: 7px; left: 7px; width: 28px; height: 28px; border-radius: 50%; background: #fff; box-shadow: 0 3px 1px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.13), 0 0 0 1px rgba(0, 0, 0, 0.02); pointer-events: none; } .ios .range-tick { position: absolute; top: 17.5px; margin-left: -0.5px; width: 1px; height: 8px; border-radius: 0; background: #bdbdbd; pointer-events: none; } .ios .range-tick-active { background: #327eff; } .ios .range-pin { position: relative; top: -20px; display: inline-block; padding: 8px; min-width: 28px; border-radius: 50px; font-size: 12px; text-align: center; color: #000; background: transparent; -webkit-transform: translate3d(0, 28px, 0) scale(0.01); transform: translate3d(0, 28px, 0) scale(0.01); -webkit-transition: -webkit-transform 120ms ease; transition: transform 120ms ease; } .ios .range-knob-pressed .range-pin { -webkit-transform: translate3d(0, 0, 0) scale(1); transform: translate3d(0, 0, 0) scale(1); } .ios .range-disabled { opacity: .5; } .ios .range-primary .range-bar-active, .ios .range-primary .range-tick-active { background: #327eff; } .ios .range-secondary .range-bar-active, .ios .range-secondary .range-tick-active { background: #32db64; } .ios .range-danger .range-bar-active, .ios .range-danger .range-tick-active { background: #f53d3d; } .ios .range-light .range-bar-active, .ios .range-light .range-tick-active { background: #f4f4f4; } .ios .range-dark .range-bar-active, .ios .range-dark .range-tick-active { background: #222; } .ios ion-searchbar { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; width: 100%; } .ios .searchbar-icon { pointer-events: none; } .ios .searchbar-input-container { position: relative; display: block; -webkit-flex-shrink: 1; -ms-flex-negative: 1; flex-shrink: 1; width: 100%; } .ios .searchbar-input { -webkit-appearance: none; -moz-appearance: none; display: block; width: 100%; border: 0; font-family: inherit; } .ios .searchbar-clear-icon { display: none; margin: 0; padding: 0; min-height: 0; } .ios .searchbar-has-value.searchbar-has-focus .searchbar-clear-icon { display: block; } .ios ion-searchbar { padding: 0 8px; min-height: 44px; border-top: 1px solid transparent; border-bottom: 1px solid rgba(0, 0, 0, 0.05); background: rgba(0, 0, 0, 0.2); } .ios .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); margin-left: calc(50% - 60px); position: absolute; top: 9px; left: 9px; width: 14px; height: 14px; background-repeat: no-repeat; background-size: 13px; -webkit-transition: all 300ms ease; transition: all 300ms ease; } .ios .searchbar-input { padding-left: calc(50% - 28px); padding: 0 28px; height: 3rem; border-radius: 5px; font-size: 1.4rem; font-weight: 400; color: #000; background-color: #fff; -webkit-transition: all 300ms ease; transition: all 300ms ease; } .ios .searchbar-input::-moz-placeholder { color: rgba(0, 0, 0, 0.5); } .ios .searchbar-input:-ms-input-placeholder { color: rgba(0, 0, 0, 0.5); } .ios .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: rgba(0, 0, 0, 0.5); } .ios .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); position: absolute; top: 0; right: 0; width: 30px; height: 100%; background-repeat: no-repeat; background-position: center; background-size: 18px; } .ios .searchbar-ios-cancel { display: none; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; margin-right: -100%; margin-left: 0; padding: 0; padding-left: 8px; height: 30px; cursor: pointer; opacity: 0; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); -webkit-transition: all 300ms ease; transition: all 300ms ease; pointer-events: none; } .ios .searchbar-show-cancel .searchbar-ios-cancel { display: block; } .ios .searchbar-left-aligned .searchbar-search-icon { margin-left: 0; } .ios .searchbar-left-aligned .searchbar-input { padding-left: 30px; } .ios .searchbar-has-focus .searchbar-ios-cancel { opacity: 1; pointer-events: auto; } .ios .toolbar ion-searchbar { border-bottom-width: 0; background: transparent; } .ios .toolbar ion-searchbar .searchbar-input { background: rgba(0, 0, 0, 0.08); } .ios .toolbar ion-searchbar .searchbar-ios-cancel { padding: 0; } .ios .toolbar .searchbar-has-focus .searchbar-ios-cancel { padding-left: 8px; } .ios .searchbar-md-cancel { display: none; } .ios.hairlines ion-searchbar { border-bottom-width: 0.55px; } .ios.hairlines ion-toolbar ion-searchbar { border-bottom-width: 0; } .ios .searchbar-primary .searchbar-ios-cancel { color: #327eff; } .ios .searchbar-primary .searchbar-ios-cancel:hover:not(.disable-hover) { color: #2e74eb; } .ios .toolbar-primary ion-searchbar .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .ios .toolbar-primary ion-searchbar .searchbar-input { color: #fff; background: rgba(255, 255, 255, 0.08); } .ios .toolbar-primary ion-searchbar .searchbar-input::-moz-placeholder { color: rgba(255, 255, 255, 0.5); } .ios .toolbar-primary ion-searchbar .searchbar-input:-ms-input-placeholder { color: rgba(255, 255, 255, 0.5); } .ios .toolbar-primary ion-searchbar .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: rgba(255, 255, 255, 0.5); } .ios .toolbar-primary ion-searchbar .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .ios .toolbar-primary ion-searchbar .searchbar-ios-cancel { color: #fff; } .ios .searchbar-secondary .searchbar-ios-cancel { color: #32db64; } .ios .searchbar-secondary .searchbar-ios-cancel:hover:not(.disable-hover) { color: #2ec95c; } .ios .toolbar-secondary ion-searchbar .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .ios .toolbar-secondary ion-searchbar .searchbar-input { color: #fff; background: rgba(255, 255, 255, 0.08); } .ios .toolbar-secondary ion-searchbar .searchbar-input::-moz-placeholder { color: rgba(255, 255, 255, 0.5); } .ios .toolbar-secondary ion-searchbar .searchbar-input:-ms-input-placeholder { color: rgba(255, 255, 255, 0.5); } .ios .toolbar-secondary ion-searchbar .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: rgba(255, 255, 255, 0.5); } .ios .toolbar-secondary ion-searchbar .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .ios .toolbar-secondary ion-searchbar .searchbar-ios-cancel { color: #fff; } .ios .searchbar-danger .searchbar-ios-cancel { color: #f53d3d; } .ios .searchbar-danger .searchbar-ios-cancel:hover:not(.disable-hover) { color: #e13838; } .ios .toolbar-danger ion-searchbar .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .ios .toolbar-danger ion-searchbar .searchbar-input { color: #fff; background: rgba(255, 255, 255, 0.08); } .ios .toolbar-danger ion-searchbar .searchbar-input::-moz-placeholder { color: rgba(255, 255, 255, 0.5); } .ios .toolbar-danger ion-searchbar .searchbar-input:-ms-input-placeholder { color: rgba(255, 255, 255, 0.5); } .ios .toolbar-danger ion-searchbar .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: rgba(255, 255, 255, 0.5); } .ios .toolbar-danger ion-searchbar .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .ios .toolbar-danger ion-searchbar .searchbar-ios-cancel { color: #fff; } .ios .searchbar-light .searchbar-ios-cancel { color: #f4f4f4; } .ios .searchbar-light .searchbar-ios-cancel:hover:not(.disable-hover) { color: #e0e0e0; } .ios .toolbar-light ion-searchbar .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .ios .toolbar-light ion-searchbar .searchbar-input { color: #000; background: rgba(0, 0, 0, 0.08); } .ios .toolbar-light ion-searchbar .searchbar-input::-moz-placeholder { color: rgba(0, 0, 0, 0.5); } .ios .toolbar-light ion-searchbar .searchbar-input:-ms-input-placeholder { color: rgba(0, 0, 0, 0.5); } .ios .toolbar-light ion-searchbar .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: rgba(0, 0, 0, 0.5); } .ios .toolbar-light ion-searchbar .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .ios .toolbar-light ion-searchbar .searchbar-ios-cancel { color: #327eff; } .ios .searchbar-dark .searchbar-ios-cancel { color: #222; } .ios .searchbar-dark .searchbar-ios-cancel:hover:not(.disable-hover) { color: #343434; } .ios .toolbar-dark ion-searchbar .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .ios .toolbar-dark ion-searchbar .searchbar-input { color: #fff; background: rgba(255, 255, 255, 0.08); } .ios .toolbar-dark ion-searchbar .searchbar-input::-moz-placeholder { color: rgba(255, 255, 255, 0.5); } .ios .toolbar-dark ion-searchbar .searchbar-input:-ms-input-placeholder { color: rgba(255, 255, 255, 0.5); } .ios .toolbar-dark ion-searchbar .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: rgba(255, 255, 255, 0.5); } .ios .toolbar-dark ion-searchbar .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .ios .toolbar-dark ion-searchbar .searchbar-ios-cancel { color: #fff; } .ios ion-segment { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; width: 100%; } .ios .segment-button { position: relative; display: block; overflow: hidden; margin-right: 0; margin-left: 0; text-align: center; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; } .ios .segment-button { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 0; height: 3.2rem; border-width: 1px; border-style: solid; border-color: #327eff; font-size: 1.3rem; line-height: 3rem; color: #327eff; background-color: transparent; } .ios .segment-button ion-icon { font-size: 2.6rem; line-height: 2.8rem; } .ios .segment-button.segment-activated { color: #fff; background-color: #327eff; opacity: 1; -webkit-transition: 100ms all linear; transition: 100ms all linear; } .ios .segment-button:hover:not(.segment-activated) { background-color: rgba(50, 126, 255, 0.1); -webkit-transition: 100ms all linear; transition: 100ms all linear; } .ios .segment-button:active:not(.segment-activated) { background-color: rgba(50, 126, 255, 0.16); -webkit-transition: 100ms all linear; transition: 100ms all linear; } .ios .segment-button:first-of-type { margin-right: 0; border-radius: 4px 0 0 4px; } .ios .segment-button:not(:first-of-type) { border-left-width: 0; } .ios .segment-button:last-of-type { margin-left: 0; border-left-width: 0; border-radius: 0 4px 4px 0; } .ios .segment-button-disabled { color: rgba(50, 126, 255, 0.3); pointer-events: none; } .ios .toolbar ion-segment { position: absolute; top: 0; right: 0; bottom: 0; left: 0; } .ios .toolbar .segment-button { max-width: 100px; height: 2.6rem; font-size: 1.2rem; line-height: 2.5rem; } .ios .toolbar .segment-button ion-icon { font-size: 2.2rem; line-height: 2.4rem; } .ios .segment-primary .segment-button { border-color: #327eff; color: #327eff; } .ios .segment-primary .segment-button:hover:not(.segment-activated) { background-color: rgba(50, 126, 255, 0.1); } .ios .segment-primary .segment-button:active:not(.segment-activated) { background-color: rgba(50, 126, 255, 0.16); } .ios .segment-primary .segment-button.segment-activated { color: #fff; background-color: #327eff; } .ios .segment-primary .segment-button-disabled { color: rgba(50, 126, 255, 0.3); } .ios .toolbar-primary .segment-button.segment-activated { color: #327eff; } .ios .segment-secondary .segment-button { border-color: #32db64; color: #32db64; } .ios .segment-secondary .segment-button:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.1); } .ios .segment-secondary .segment-button:active:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .ios .segment-secondary .segment-button.segment-activated { color: #fff; background-color: #32db64; } .ios .segment-secondary .segment-button-disabled { color: rgba(50, 219, 100, 0.3); } .ios .toolbar-secondary .segment-button.segment-activated { color: #32db64; } .ios .segment-danger .segment-button { border-color: #f53d3d; color: #f53d3d; } .ios .segment-danger .segment-button:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.1); } .ios .segment-danger .segment-button:active:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .ios .segment-danger .segment-button.segment-activated { color: #fff; background-color: #f53d3d; } .ios .segment-danger .segment-button-disabled { color: rgba(245, 61, 61, 0.3); } .ios .toolbar-danger .segment-button.segment-activated { color: #f53d3d; } .ios .segment-light .segment-button { border-color: #f4f4f4; color: #f4f4f4; } .ios .segment-light .segment-button:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.1); } .ios .segment-light .segment-button:active:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .ios .segment-light .segment-button.segment-activated { color: #000; background-color: #f4f4f4; } .ios .segment-light .segment-button-disabled { color: rgba(244, 244, 244, 0.3); } .ios .toolbar-light .segment-button.segment-activated { color: #f4f4f4; } .ios .segment-dark .segment-button { border-color: #222; color: #222; } .ios .segment-dark .segment-button:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.1); } .ios .segment-dark .segment-button:active:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .ios .segment-dark .segment-button.segment-activated { color: #fff; background-color: #222; } .ios .segment-dark .segment-button-disabled { color: rgba(34, 34, 34, 0.3); } .ios .toolbar-dark .segment-button.segment-activated { color: #222; } .ios ion-select { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; max-width: 45%; } .ios .select-text { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 16px; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; } .ios .item-multiple-inputs ion-select { position: relative; } .ios .select-disabled, .ios .item-select-disabled ion-label { opacity: .4; pointer-events: none; } .ios ion-select { padding: 12px 8px 13px 16px; } .ios .select-placeholder { color: #999; } .ios .select-icon { position: relative; width: 12px; height: 18px; } .ios .select-icon .select-icon-inner { position: absolute; top: 50%; left: 5px; margin-top: -2px; width: 0; height: 0; border-top: 5px solid; border-right: 5px solid transparent; border-left: 5px solid transparent; color: #999; pointer-events: none; } .ios ion-spinner { position: relative; display: inline-block; width: 28px; height: 28px; } .ios ion-spinner svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); } .ios ion-spinner.spinner-paused svg { -webkit-animation-play-state: paused; animation-play-state: paused; } .ios .spinner-ios line, .ios .spinner-ios-small line { stroke: #69717d; stroke-width: 4px; stroke-linecap: round; } .ios .spinner-ios svg, .ios .spinner-ios-small svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .ios .spinner-bubbles circle { fill: #000; } .ios .spinner-bubbles svg { -webkit-animation: spinner-scale-out 1s linear infinite; animation: spinner-scale-out 1s linear infinite; } .ios .spinner-circles circle { fill: #69717d; } .ios .spinner-circles svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .ios .spinner-crescent circle { fill: transparent; stroke: #000; stroke-width: 4px; stroke-dasharray: 128px; stroke-dashoffset: 82px; } .ios .spinner-crescent svg { -webkit-animation: spinner-rotate 1s linear infinite; animation: spinner-rotate 1s linear infinite; } .ios .spinner-dots circle { fill: #444; stroke-width: 0; } .ios .spinner-dots svg { -webkit-transform-origin: center; transform-origin: center; -webkit-animation: spinner-dots 1s linear infinite; animation: spinner-dots 1s linear infinite; } @keyframes spinner-fade-out { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes spinner-scale-out { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 100% { -webkit-transform: scale(0, 0); transform: scale(0, 0); } } @keyframes spinner-rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spinner-dots { 0% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } 50% { opacity: .3; -webkit-transform: scale(0.4, 0.4); transform: scale(0.4, 0.4); } 100% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } } .ios .spinner-primary.spinner-ios line, .ios .spinner-primary.spinner-ios-small line, .ios .spinner-primary.spinner-crescent circle { stroke: #327eff; } .ios .spinner-primary.spinner-bubbles circle, .ios .spinner-primary.spinner-circles circle, .ios .spinner-primary.spinner-dots circle { fill: #327eff; } .ios .spinner-secondary.spinner-ios line, .ios .spinner-secondary.spinner-ios-small line, .ios .spinner-secondary.spinner-crescent circle { stroke: #32db64; } .ios .spinner-secondary.spinner-bubbles circle, .ios .spinner-secondary.spinner-circles circle, .ios .spinner-secondary.spinner-dots circle { fill: #32db64; } .ios .spinner-danger.spinner-ios line, .ios .spinner-danger.spinner-ios-small line, .ios .spinner-danger.spinner-crescent circle { stroke: #f53d3d; } .ios .spinner-danger.spinner-bubbles circle, .ios .spinner-danger.spinner-circles circle, .ios .spinner-danger.spinner-dots circle { fill: #f53d3d; } .ios .spinner-light.spinner-ios line, .ios .spinner-light.spinner-ios-small line, .ios .spinner-light.spinner-crescent circle { stroke: #f4f4f4; } .ios .spinner-light.spinner-bubbles circle, .ios .spinner-light.spinner-circles circle, .ios .spinner-light.spinner-dots circle { fill: #f4f4f4; } .ios .spinner-dark.spinner-ios line, .ios .spinner-dark.spinner-ios-small line, .ios .spinner-dark.spinner-crescent circle { stroke: #222; } .ios .spinner-dark.spinner-bubbles circle, .ios .spinner-dark.spinner-circles circle, .ios .spinner-dark.spinner-dots circle { fill: #222; } .ios .tab-button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; position: relative; z-index: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; margin: 0; border: 0; border-radius: 0; text-align: center; text-decoration: none; background: none; cursor: pointer; } .ios .tab-disabled { pointer-events: none; } .ios .tab-disabled ion-badge, .ios .tab-disabled ion-icon, .ios .tab-disabled span { opacity: .4; } .ios .tab-hidden { display: none; } .ios .tab-button-text { margin-top: 3px; margin-bottom: 2px; } .ios .tab-button-text, .ios .tab-button-icon { display: none; overflow: hidden; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; min-width: 26px; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; } .ios .has-icon .tab-button-icon, .ios .has-title .tab-button-text { display: block; } .ios .has-title-only .tab-button-text { white-space: normal; } .ios tab-highlight { display: none; } .ios [tabsLayout=icon-bottom] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; } .ios [tabsLayout=icon-left] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .ios [tabsLayout=icon-left] .tab-button .tab-button-icon { padding-right: 8px; text-align: right; } .ios [tabsLayout=icon-right] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .ios [tabsLayout=icon-right] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; padding-left: 8px; text-align: left; } .ios [tabsLayout=icon-hide] .tab-button-icon { display: none; } .ios [tabsLayout=title-hide] .tab-button-text { display: none; } .ios .tab-badge { position: absolute; top: 6%; right: 4%; right: calc(50% - 50px); padding: 1px 6px; height: auto; font-size: 12px; line-height: 16px; } .ios .has-icon .tab-badge { right: calc(50% - 30px); } .ios [tabsLayout=icon-bottom] .tab-badge, .ios [tabsLayout=icon-left] .tab-badge, .ios [tabsLayout=icon-right] .tab-badge { right: calc(50% - 50px); } .ios ion-tabbar { -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; border-top: 1px solid #b2b2b2; background: #f8f8f8; } .ios ion-tabs[tabsPlacement=top] ion-tabbar { border-top: 0; border-bottom: 1px solid #b2b2b2; } .ios .tab-button { padding: 0 2px; max-width: 240px; min-height: 49px; color: #8c8c8c; } .ios .tab-button:hover:not(.disable-hover), .ios .tab-button[aria-selected=true] { color: #327eff; } .ios .tab-button-text { margin-top: 0; margin-bottom: 0; min-height: 11px; font-size: 10px; } .ios .has-title-only .tab-button-text { font-size: 12px; } .ios .tab-button-icon { min-width: 35px; height: 30px; font-size: 30px; } .ios .tab-button-icon::before { vertical-align: top; } .ios [tabsLayout=icon-right] .tab-button .tab-button-text, .ios [tabsLayout=icon-left] .tab-button .tab-button-text { font-size: 1.4rem; line-height: 1.1; } .ios [tabsLayout=icon-right] .tab-button ion-icon, .ios [tabsLayout=icon-left] .tab-button ion-icon { min-width: 24px; height: 26px; font-size: 24px; } .ios [tabsLayout=icon-hide] .tab-button, .ios .tab-button.has-title-only { min-height: 41px; } .ios [tabsLayout=icon-hide] .tab-button .tab-button-text, .ios .tab-button.has-title-only .tab-button-text { margin: 2px 0; font-size: 1.4rem; line-height: 1.1; } .ios [tabsLayout=title-hide] .tab-button, .ios .tab-button.icon-only { min-height: 41px; } .ios.hairlines ion-tabs ion-tabbar { border-top-width: 0.55px; } .ios.hairlines ion-tabs[tabsPlacement="top"] ion-tabbar { border-bottom-width: 0.55px; } .ios .tabs-primary ion-tabbar { border-color: #005efe; background-color: #327eff; } .ios .tabs-primary ion-tabbar .tab-button { color: #fff; } .ios .tabs-primary ion-tabbar .tab-button:hover:not(.disable-hover), .ios .tabs-primary ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .ios .tabs-secondary ion-tabbar { border-color: #21b94e; background-color: #32db64; } .ios .tabs-secondary ion-tabbar .tab-button { color: #fff; } .ios .tabs-secondary ion-tabbar .tab-button:hover:not(.disable-hover), .ios .tabs-secondary ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .ios .tabs-danger ion-tabbar { border-color: #f30d0d; background-color: #f53d3d; } .ios .tabs-danger ion-tabbar .tab-button { color: #fff; } .ios .tabs-danger ion-tabbar .tab-button:hover:not(.disable-hover), .ios .tabs-danger ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .ios .tabs-light ion-tabbar { border-color: #dbdbdb; background-color: #f4f4f4; } .ios .tabs-light ion-tabbar .tab-button { color: #000; } .ios .tabs-light ion-tabbar .tab-button:hover:not(.disable-hover), .ios .tabs-light ion-tabbar .tab-button[aria-selected=true] { color: #000; } .ios .tabs-dark ion-tabbar { border-color: #090909; background-color: #222; } .ios .tabs-dark ion-tabbar .tab-button { color: #fff; } .ios .tabs-dark ion-tabbar .tab-button:hover:not(.disable-hover), .ios .tabs-dark ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .ios ion-toggle { position: relative; } .ios .toggle-icon { position: relative; display: block; width: 51px; height: 32px; border-radius: 16px; background-color: #e6e6e6; -webkit-transition: background-color 300ms; transition: background-color 300ms; pointer-events: none; } .ios .toggle-icon::before { position: absolute; top: 2px; right: 2px; bottom: 2px; left: 2px; border-radius: 16px; background-color: #fff; content: ""; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); -webkit-transition: -webkit-transform 300ms; transition: transform 300ms; } .ios .toggle-inner { position: absolute; top: 2px; left: 2px; width: 28px; height: 28px; border-radius: 14px; background-color: #fff; box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 1px rgba(0, 0, 0, 0.1); -webkit-transition: -webkit-transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms; transition: transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms; } .ios .toggle-checked { background-color: #327eff; } .ios .toggle-activated::before, .ios .toggle-checked::before { -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); } .ios .toggle-checked .toggle-inner { -webkit-transform: translate3d(19px, 0, 0); transform: translate3d(19px, 0, 0); } .ios .toggle-activated.toggle-checked::before { -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); } .ios .toggle-activated .toggle-inner { width: 34px; } .ios .toggle-activated.toggle-checked .toggle-inner { left: -4px; } .ios .toggle-disabled, .ios .item-toggle-disabled ion-label { opacity: 0.3; pointer-events: none; } .ios .toggle-disabled ion-radio { opacity: 0.3; } .ios .item ion-toggle { margin: 0; padding: 6px 8px 5px 16px; } .ios .item ion-toggle[item-left] { padding: 6px 16px 5px 0; } .ios .toggle-primary .toggle-checked { background-color: #327eff; } .ios .toggle-secondary .toggle-checked { background-color: #32db64; } .ios .toggle-danger .toggle-checked { background-color: #f53d3d; } .ios .toggle-light .toggle-checked { background-color: #f4f4f4; } .ios .toggle-dark .toggle-checked { background-color: #222; } .ios ion-toast { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; pointer-events: none; } .ios .toast-container { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; pointer-events: auto; } .ios .toast-button { padding: 19px 16px 17px; font-size: 1.5rem; } .ios .toast-message { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; } .ios .toast-wrapper { position: absolute; right: 10px; left: 10px; z-index: 10; display: block; margin: auto; max-width: 700px; border-radius: 0.65rem; background: rgba(0, 0, 0, 0.9); } .ios .toast-wrapper.toast-top { top: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } .ios .toast-wrapper.toast-bottom { bottom: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .ios .toast-wrapper.toast-middle { opacity: .01; } .ios .toast-message { padding: 1.5rem; font-size: 1.4rem; color: #fff; } .ios .toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; width: 100%; } .ios .toolbar-background { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; border: 0; -webkit-transform: translateZ(0); transform: translateZ(0); pointer-events: none; } .ios ion-title { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-transform: translateZ(0); transform: translateZ(0); } .ios .toolbar-title { display: block; overflow: hidden; width: 100%; text-overflow: ellipsis; white-space: nowrap; } .ios ion-buttons { display: block; margin: 0 .2rem; -webkit-transform: translateZ(0); transform: translateZ(0); pointer-events: none; } .ios ion-buttons button, .ios ion-buttons a, .ios ion-buttons input, .ios ion-buttons textarea, .ios ion-buttons div { pointer-events: auto; } .ios .toolbar[transparent] .toolbar-background { border-color: transparent; background: transparent; } .ios ion-buttons, .ios .bar-button-menutoggle { z-index: 99; -webkit-transform: translateZ(0); transform: translateZ(0); } .ios ion-navbar.toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; opacity: 0; -webkit-transform: translateZ(0); transform: translateZ(0); } .ios ion-navbar.toolbar.show-navbar { opacity: 1; } .ios .bar-button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; position: relative; display: inline-block; margin: 0; padding: 0; line-height: 1; text-align: center; text-overflow: ellipsis; text-transform: none; white-space: nowrap; cursor: pointer; vertical-align: top; vertical-align: -webkit-baseline-middle; } .ios .bar-button::after { position: absolute; top: -7px; right: -2px; bottom: -6px; left: -2px; content: ""; } .ios .bar-button-menutoggle { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .ios .back-button { display: none; } .ios .back-button.show-back-button { display: inline-block; } .ios .back-button-text { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .ios .toolbar { padding: 4px; min-height: 44px; } .ios .toolbar-background { border-top-width: 1px; border-bottom-width: 1px; border-style: solid; border-color: #b2b2b2; background: #f8f8f8; } .ios.hairlines .toolbar-background { border-top-width: 0.55px; border-bottom-width: 0.55px; } .ios ion-header .toolbar:first-child .toolbar-background, .ios ion-menu > .toolbar:first-child .toolbar-background, .ios .toolbar[no-border-top] .toolbar-background { border-top-width: 0; } .ios ion-footer .toolbar:last-child .toolbar-background, .ios .toolbar[no-border-bottom] .toolbar-background { border-bottom-width: 0; } .ios .toolbar[no-border] .toolbar-background { border-top-width: 0; border-bottom-width: 0; } .ios .toolbar-content { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 5; -webkit-order: 4; -ms-flex-order: 4; order: 4; min-width: 0; } .ios .toolbar-title { font-size: 1.7rem; font-weight: 600; text-align: center; color: #000; pointer-events: auto; } .ios ion-title { position: absolute; top: 0; left: 0; padding: 0 90px 1px; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); pointer-events: none; } .ios ion-buttons { -webkit-box-ordinal-group: 4; -webkit-order: 3; -ms-flex-order: 3; order: 3; -webkit-transform: translateZ(0); transform: translateZ(0); } .ios ion-buttons[left] { -webkit-box-ordinal-group: 3; -webkit-order: 2; -ms-flex-order: 2; order: 2; } .ios ion-buttons[end] { -webkit-box-ordinal-group: 6; -webkit-order: 5; -ms-flex-order: 5; order: 5; text-align: right; } .ios ion-buttons[right] { -webkit-box-ordinal-group: 7; -webkit-order: 6; -ms-flex-order: 6; order: 6; text-align: right; } .ios .bar-button { padding: 0 5px; height: 32px; border: 0; border-radius: 4px; font-size: 1.7rem; } .ios .bar-button-outline { border-width: 1px; border-style: solid; border-color: #327eff; color: #327eff; background-color: transparent; } .ios .bar-button-outline:hover:not(.disable-hover) { opacity: .4; } .ios .bar-button-outline.activated { color: #fff; background-color: #327eff; } .ios .bar-button-solid { color: #fff; background-color: #327eff; } .ios .bar-button-solid:hover:not(.disable-hover) { color: #fff; opacity: .4; } .ios .bar-button-solid.activated { color: #fff; background-color: #2e74eb; opacity: .4; } .ios .bar-button-icon-left ion-icon { padding-right: .3em; font-size: 1.4em; line-height: .67; pointer-events: none; } .ios .bar-button-icon-right ion-icon { padding-left: .4em; font-size: 1.4em; line-height: .67; pointer-events: none; } .ios .bar-button[icon-only] { padding: 0; min-width: .9em; } .ios .bar-button[icon-only] ion-icon { padding: 0 .1em; font-size: 1.8em; line-height: .67; pointer-events: none; } .ios .back-button { overflow: visible; -webkit-box-ordinal-group: 1; -webkit-order: 0; -ms-flex-order: 0; order: 0; margin: 0; min-height: 3.2rem; line-height: 1; -webkit-transform: translateZ(0); transform: translateZ(0); } .ios .back-button-icon { display: inherit; margin: 0; margin-top: -1px; min-width: 18px; font-size: 3.4rem; } .ios .back-button-text { letter-spacing: -.01em; } .ios .bar-button-menutoggle { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; margin: 0 6px; padding: 0; min-width: 36px; } .ios .bar-button-menutoggle ion-icon { padding: 0 6px; font-size: 2.8rem; } .ios .bar-button-menutoggle[end], .ios .bar-button-menutoggle[right] { -webkit-box-ordinal-group: 8; -webkit-order: 7; -ms-flex-order: 7; order: 7; } .ios .bar-button-default, .ios .bar-button-clear-default { color: #327eff; background-color: transparent; } .ios .bar-button-default:hover:not(.disable-hover), .ios .bar-button-clear-default:hover:not(.disable-hover) { color: #327eff; } .ios .bar-button-default.activated, .ios .bar-button-clear-default.activated { opacity: .4; } .ios .bar-button-clear, .ios .bar-button-clear-clear { color: #327eff; background-color: transparent; } .ios .bar-button-clear:hover:not(.disable-hover), .ios .bar-button-clear-clear:hover:not(.disable-hover) { color: #327eff; } .ios .bar-button-clear.activated, .ios .bar-button-clear-clear.activated { opacity: .4; } .ios .toolbar-primary .toolbar-background { border-color: #005efe; background: #327eff; } .ios .toolbar-primary .toolbar-title, .ios .toolbar-primary .bar-button-clear, .ios .toolbar-primary .bar-button-default { color: #fff; } .ios .bar-button-primary, .ios .bar-button-clear-primary { color: #327eff; background-color: transparent; } .ios .bar-button-primary:hover:not(.disable-hover), .ios .bar-button-clear-primary:hover:not(.disable-hover) { color: #327eff; } .ios .bar-button-primary.activated, .ios .bar-button-clear-primary.activated { opacity: .4; } .ios .bar-button-outline-primary { border-color: #327eff; color: #327eff; background-color: transparent; } .ios .bar-button-outline-primary.activated { color: #fff; background-color: #327eff; } .ios .bar-button-solid-primary { color: #fff; background-color: #327eff; } .ios .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .ios .toolbar-secondary .toolbar-background { border-color: #21b94e; background: #32db64; } .ios .toolbar-secondary .toolbar-title, .ios .toolbar-secondary .bar-button-clear, .ios .toolbar-secondary .bar-button-default { color: #fff; } .ios .bar-button-secondary, .ios .bar-button-clear-secondary { color: #32db64; background-color: transparent; } .ios .bar-button-secondary:hover:not(.disable-hover), .ios .bar-button-clear-secondary:hover:not(.disable-hover) { color: #32db64; } .ios .bar-button-secondary.activated, .ios .bar-button-clear-secondary.activated { opacity: .4; } .ios .bar-button-outline-secondary { border-color: #32db64; color: #32db64; background-color: transparent; } .ios .bar-button-outline-secondary.activated { color: #fff; background-color: #32db64; } .ios .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .ios .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .ios .toolbar-danger .toolbar-background { border-color: #f30d0d; background: #f53d3d; } .ios .toolbar-danger .toolbar-title, .ios .toolbar-danger .bar-button-clear, .ios .toolbar-danger .bar-button-default { color: #fff; } .ios .bar-button-danger, .ios .bar-button-clear-danger { color: #f53d3d; background-color: transparent; } .ios .bar-button-danger:hover:not(.disable-hover), .ios .bar-button-clear-danger:hover:not(.disable-hover) { color: #f53d3d; } .ios .bar-button-danger.activated, .ios .bar-button-clear-danger.activated { opacity: .4; } .ios .bar-button-outline-danger { border-color: #f53d3d; color: #f53d3d; background-color: transparent; } .ios .bar-button-outline-danger.activated { color: #fff; background-color: #f53d3d; } .ios .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .ios .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .ios .toolbar-light .toolbar-background { border-color: #dbdbdb; background: #f4f4f4; } .ios .toolbar-light .toolbar-title, .ios .toolbar-light .bar-button-clear, .ios .toolbar-light .bar-button-default { color: #000; } .ios .bar-button-light, .ios .bar-button-clear-light { color: #f4f4f4; background-color: transparent; } .ios .bar-button-light:hover:not(.disable-hover), .ios .bar-button-clear-light:hover:not(.disable-hover) { color: #f4f4f4; } .ios .bar-button-light.activated, .ios .bar-button-clear-light.activated { opacity: .4; } .ios .bar-button-outline-light { border-color: #f4f4f4; color: #f4f4f4; background-color: transparent; } .ios .bar-button-outline-light.activated { color: #000; background-color: #f4f4f4; } .ios .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .ios .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .ios .toolbar-dark .toolbar-background { border-color: #090909; background: #222; } .ios .toolbar-dark .toolbar-title, .ios .toolbar-dark .bar-button-clear, .ios .toolbar-dark .bar-button-default { color: #fff; } .ios .bar-button-dark, .ios .bar-button-clear-dark { color: #222; background-color: transparent; } .ios .bar-button-dark:hover:not(.disable-hover), .ios .bar-button-clear-dark:hover:not(.disable-hover) { color: #222; } .ios .bar-button-dark.activated, .ios .bar-button-clear-dark.activated { opacity: .4; } .ios .bar-button-outline-dark { border-color: #222; color: #222; background-color: transparent; } .ios .bar-button-outline-dark.activated { color: #fff; background-color: #222; } .ios .bar-button-solid-dark { color: #fff; background-color: #222; } .ios .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .ios html { font-size: 62.5%; } .ios a { background-color: transparent; } .ios .enable-hover a:hover { opacity: .7; } .ios h1, .ios h2, .ios h3, .ios h4, .ios h5, .ios h6 { margin-top: 1.6rem; margin-bottom: 1rem; font-weight: 500; line-height: 1.2; } .ios [padding] h1:first-child, .ios [padding] h2:first-child, .ios [padding] h3:first-child, .ios [padding] h4:first-child, .ios [padding] h5:first-child, .ios [padding] h6:first-child { margin-top: -.3rem; } .ios h1 + h2, .ios h1 + h3, .ios h2 + h3 { margin-top: -.3rem; } .ios h1 { margin-top: 2rem; font-size: 2.6rem; } .ios h2 { margin-top: 1.8rem; font-size: 2.4rem; } .ios h3 { font-size: 2.2rem; } .ios h4 { font-size: 2rem; } .ios h5 { font-size: 1.8rem; } .ios h6 { font-size: 1.6rem; } .ios small { font-size: 75%; } .ios sub, .ios sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } .ios sup { top: -.5em; } .ios sub { bottom: -.25em; } .ios [text-left] { text-align: left; } .ios [text-center] { text-align: center; } .ios [text-right] { text-align: right; } .ios [text-justify] { text-align: justify; } .ios [text-nowrap] { white-space: nowrap; } .ios [text-uppercase] { text-transform: uppercase; } .ios [text-lowercase] { text-transform: lowercase; } .ios [text-capitalize] { text-transform: capitalize; } .ios p { color: #000; } .ios a { color: #327eff; } .ios .text-primary { color: #327eff; } .ios .text-secondary { color: #32db64; } .ios .text-danger { color: #f53d3d; } .ios .text-light { color: #f4f4f4; } .ios .text-dark { color: #222; } .ios ion-nav > ion-page > .toolbar.statusbar-padding:first-child, .ios ion-nav > ion-page > ion-header > .toolbar.statusbar-padding:first-child, .ios ion-tab > ion-page > ion-header > .toolbar.statusbar-padding:first-child, .ios ion-tabs > ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child, .ios ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child, .ios ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child { padding-top: 20px; height: calc(44px + 20px); min-height: calc(44px + 20px); } .ios ion-nav > ion-page > ion-content.statusbar-padding:first-child scroll-content, .ios ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content, .ios ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content, .ios ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child scroll-content, .ios ion-menu > .menu-inner > ion-content.statusbar-padding:first-child scroll-content, .ios ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child scroll-content { padding-top: 20px; } .ios ion-nav > ion-page > ion-content.statusbar-padding:first-child[padding] scroll-content, .ios ion-nav > ion-page > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .ios ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .ios ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .ios ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .ios ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .ios ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .ios ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .ios ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding] scroll-content, .ios ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .ios ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .ios ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content { padding-top: calc(16px + 20px); } .ios ion-nav > ion-page > .toolbar.statusbar-padding:first-child ion-segment, .ios ion-nav > ion-page > .toolbar.statusbar-padding:first-child ion-title, .ios ion-nav > ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-segment, .ios ion-nav > ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-title, .ios ion-tab > ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-segment, .ios ion-tab > ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-title, .ios ion-tabs > ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child ion-segment, .ios ion-tabs > ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child ion-title, .ios ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child ion-segment, .ios ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child ion-title, .ios ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child ion-segment, .ios ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child ion-title { padding-top: 20px; height: calc(44px + 20px); min-height: calc(44px + 20px); } @media only screen and (max-width: 767px) { .ios .modal-wrapper > ion-page > ion-header > .toolbar.statusbar-padding:first-child { padding-top: 20px; height: calc(44px + 20px); min-height: calc(44px + 20px); } .ios .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content { padding-top: 20px; } .ios .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .ios .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content { padding-top: calc(16px + 20px); } .ios .modal-wrapper > ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-segment, .ios .modal-wrapper > ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-title { padding-top: 20px; height: calc(44px + 20px); min-height: calc(44px + 20px); } } .md { font-family: "Roboto", "Helvetica Neue", sans-serif; font-size: 1.4rem; background-color: #fff; } .md ion-content { color: #000; } .md hr { background-color: rgba(0, 0, 0, 0.08); } .md ion-action-sheet { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; } .md .action-sheet-wrapper { position: absolute; right: 0; bottom: 0; left: 0; z-index: 10; display: block; margin: auto; width: 100%; max-width: 500px; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .md .action-sheet-button { width: 100%; } .md .action-sheet-title { padding: 19px 16px 17px; font-size: 1.6rem; text-align: left; color: #757575; } .md .action-sheet-button { position: relative; overflow: hidden; padding: 0 16px; min-height: 4.8rem; font-size: 1.6rem; text-align: left; color: #222; background: transparent; } .md .action-sheet-button.activated { background: #f1f1f1; } .md .action-sheet-icon { margin: 0 28px 0 0; min-width: 24px; font-size: 2.4rem; text-align: center; vertical-align: middle; } .md .action-sheet-group { overflow: hidden; background: #fafafa; } .md .action-sheet-group:last-child .action-sheet-button { margin-bottom: 8px; } .md .action-sheet-group .button-inner { -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } .md .action-sheet-selected { font-weight: bold; } .md ion-alert { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .md ion-alert input { width: 100%; } .md .alert-wrapper { z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; min-width: 250px; max-height: 90%; opacity: 0; } .md .alert-title { margin: 0; padding: 0; } .md .alert-sub-title { margin: 5px 0 0; padding: 0; font-weight: normal; } .md .alert-message { overflow-y: scroll; -webkit-overflow-scrolling: touch; } .md .alert-input { padding: 10px 0; border: 0; background: inherit; } .md .alert-input::-moz-placeholder { color: #999; } .md .alert-input:-ms-input-placeholder { color: #999; } .md .alert-input::-webkit-input-placeholder { text-indent: 0; color: #999; } .md .alert-button-group { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .md .alert-button-group.vertical { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .md .alert-button { z-index: 0; display: block; margin: 0; font-size: 14px; line-height: 20px; } .md .alert-tappable { margin: 0; padding: 0; width: 100%; font-size: inherit; line-height: initial; text-align: left; background: transparent; -webkit-appearance: none; } .md .alert-wrapper { max-width: 280px; border-radius: 2px; background-color: #fafafa; box-shadow: 0 16px 20px rgba(0, 0, 0, 0.4); } .md .alert-head { padding: 24px 24px 20px 24px; text-align: left; } .md .alert-title { font-size: 22px; } .md .alert-sub-title { font-size: 16px; } .md .alert-message, .md .alert-input-group { padding: 0 24px 24px 24px; color: rgba(0, 0, 0, 0.5); } .md .alert-message { max-height: 240px; font-size: 15px; } .md .alert-message:empty { padding: 0; } .md .alert-input { margin: 5px 0 5px 0; border-bottom: 1px solid #dedede; color: #000; } .md .alert-input:focus { margin-bottom: 4px; border-bottom: 2px solid #327eff; } .md .alert-radio-group, .md .alert-checkbox-group { position: relative; overflow: auto; max-height: 240px; border-top: 1px solid #dedede; border-bottom: 1px solid #dedede; } .md .alert-tappable { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; min-height: 4.4rem; } .md .alert-radio-label { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 13px 26px; text-overflow: ellipsis; white-space: nowrap; } .md .alert-radio-icon { position: relative; top: 0; left: 13px; display: block; width: 16px; height: 16px; border-width: 2px; border-style: solid; border-radius: 50%; border-color: #787878; } .md .alert-radio-inner { position: absolute; top: 2px; left: 2px; width: 8px; height: 8px; border-radius: 50%; background-color: #327eff; -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); -webkit-transition: -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1); } .md .alert-radio[aria-checked=true] .alert-radio-label { color: #327eff; } .md .alert-radio[aria-checked=true] .alert-radio-icon { border-color: #327eff; } .md .alert-radio[aria-checked=true] .alert-radio-inner { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } .md .alert-checkbox-label { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 13px 26px; text-overflow: ellipsis; white-space: nowrap; } .md .alert-checkbox[aria-checked=true] .alert-checkbox-label { color: initial; } .md .alert-checkbox-icon { position: relative; top: 0; left: 13px; width: 16px; height: 16px; border-width: 2px; border-style: solid; border-radius: 2px; border-color: #787878; } .md .alert-checkbox[aria-checked=true] .alert-checkbox-icon { border-color: #327eff; background-color: #327eff; } .md .alert-checkbox[aria-checked=true] .alert-checkbox-inner { position: absolute; top: 0; left: 3px; width: 6px; height: 10px; border-width: 2px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .md .alert-button-group { -webkit-flex-wrap: wrap-reverse; -ms-flex-wrap: wrap-reverse; flex-wrap: wrap-reverse; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; padding: 8px 8px 8px 24px; } .md .alert-button { position: relative; overflow: hidden; margin: 0 8px 0 0; padding: 10px; border-radius: 2px; font-weight: 500; text-align: right; text-transform: uppercase; color: #327eff; background-color: transparent; } .md .alert-button.activated { background-color: rgba(158, 158, 158, 0.2); } .md .alert-button .button-inner { -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; } .md ion-badge { display: inline-block; padding: 3px 8px; min-width: 10px; font-size: 1.3rem; font-weight: bold; line-height: 1; text-align: center; white-space: nowrap; vertical-align: baseline; } .md ion-badge:empty { display: none; } .md ion-badge { border-radius: 4px; color: #fff; background-color: #327eff; } .md .badge-primary { color: #fff; background-color: #327eff; } .md .badge-secondary { color: #fff; background-color: #32db64; } .md .badge-danger { color: #fff; background-color: #f53d3d; } .md .badge-light { color: #000; background-color: #f4f4f4; } .md .badge-dark { color: #fff; background-color: #222; } .md .button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; position: relative; z-index: 0; display: inline-block; overflow: hidden; text-align: center; text-overflow: ellipsis; text-transform: none; white-space: nowrap; cursor: pointer; vertical-align: top; vertical-align: -webkit-baseline-middle; -webkit-transition: background-color, opacity 100ms linear; transition: background-color, opacity 100ms linear; -webkit-font-kerning: none; font-kerning: none; } .md .button-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; width: 100%; height: 100%; } .md [ion-button] { text-decoration: none; } .md a[disabled], .md button[disabled], .md [ion-button][disabled] { cursor: default; opacity: .4; pointer-events: none; } .md .button-block { display: block; clear: both; width: 100%; } .md .button-block::after { clear: both; } .md .button-full { display: block; width: 100%; } .md .button-full.button-outline { border-right-width: 0; border-left-width: 0; border-radius: 0; } .md .button { margin: 0.4rem 0.2rem; padding: 0 1.1em; height: 3.6rem; border-radius: 2px; font-size: 1.4rem; font-weight: 500; text-transform: uppercase; color: #fff; background-color: #327eff; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); -webkit-transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); } .md .button:hover:not(.disable-hover) { background-color: #327eff; } .md .button.activated { background-color: #2e74eb; box-shadow: 0 3px 5px rgba(0, 0, 0, 0.14), 0 3px 5px rgba(0, 0, 0, 0.21); } .md .button ion-button-effect { background-color: #fff; } .md .button-large { padding: 0 1em; height: 2.8em; font-size: 2rem; } .md .button-small { padding: 0 0.9em; height: 2.1em; font-size: 1.3rem; } .md .button-small[icon-only] ion-icon { font-size: 1.4em; } .md .button-block { margin-right: 0; margin-left: 0; } .md .button-full { margin-right: 0; margin-left: 0; border-right-width: 0; border-left-width: 0; border-radius: 0; } .md .button-outline { border-width: 1px; border-style: solid; border-color: #327eff; color: #327eff; background-color: transparent; box-shadow: none; } .md .button-outline:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .md .button-outline.activated { background-color: transparent; box-shadow: none; opacity: 1; } .md .button-outline ion-button-effect { background-color: #327eff; } .md .button-clear { border-color: transparent; color: #327eff; background-color: transparent; box-shadow: none; opacity: 1; } .md .button-clear.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .md .button-clear:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .md .button-clear ion-button-effect { background-color: #999; } .md .button-round { padding: 0 2.6rem; border-radius: 64px; } .md .button-fab { border-radius: 50%; box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.14), 0 4px 5px rgba(0, 0, 0, 0.1); -webkit-transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); } .md .button-fab.activated { box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.4), 0 4px 7px 0 rgba(0, 0, 0, 0.1); } .md [icon-only] { padding: 0; } .md ion-button-effect { position: absolute; z-index: 0; display: block; border-radius: 50%; background-color: #555; opacity: .2; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; pointer-events: none; } .md .button-primary { color: #fff; background-color: #327eff; } .md .button-primary:hover:not(.disable-hover) { background-color: #327eff; } .md .button-primary.activated { background-color: #2e74eb; opacity: 1; } .md .button-primary ion-button-effect { background-color: #fff; } .md .button-outline-primary { border-color: #3078f2; color: #3078f2; background-color: transparent; } .md .button-outline-primary:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .md .button-outline-primary.activated { background-color: transparent; } .md .button-outline-primary ion-button-effect { background-color: #3078f2; } .md .button-clear-primary { border-color: transparent; color: #327eff; background-color: transparent; } .md .button-clear-primary.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .md .button-clear-primary:hover:not(.disable-hover) { color: #327eff; } .md .button-secondary { color: #fff; background-color: #32db64; } .md .button-secondary:hover:not(.disable-hover) { background-color: #32db64; } .md .button-secondary.activated { background-color: #2ec95c; opacity: 1; } .md .button-secondary ion-button-effect { background-color: #fff; } .md .button-outline-secondary { border-color: #30d05f; color: #30d05f; background-color: transparent; } .md .button-outline-secondary:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .md .button-outline-secondary.activated { background-color: transparent; } .md .button-outline-secondary ion-button-effect { background-color: #30d05f; } .md .button-clear-secondary { border-color: transparent; color: #32db64; background-color: transparent; } .md .button-clear-secondary.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .md .button-clear-secondary:hover:not(.disable-hover) { color: #32db64; } .md .button-danger { color: #fff; background-color: #f53d3d; } .md .button-danger:hover:not(.disable-hover) { background-color: #f53d3d; } .md .button-danger.activated { background-color: #e13838; opacity: 1; } .md .button-danger ion-button-effect { background-color: #fff; } .md .button-outline-danger { border-color: #e93a3a; color: #e93a3a; background-color: transparent; } .md .button-outline-danger:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .md .button-outline-danger.activated { background-color: transparent; } .md .button-outline-danger ion-button-effect { background-color: #e93a3a; } .md .button-clear-danger { border-color: transparent; color: #f53d3d; background-color: transparent; } .md .button-clear-danger.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .md .button-clear-danger:hover:not(.disable-hover) { color: #f53d3d; } .md .button-light { color: #000; background-color: #f4f4f4; } .md .button-light:hover:not(.disable-hover) { background-color: #f4f4f4; } .md .button-light.activated { background-color: #e0e0e0; opacity: 1; } .md .button-light ion-button-effect { background-color: #000; } .md .button-outline-light { border-color: #e8e8e8; color: #e8e8e8; background-color: transparent; } .md .button-outline-light:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .md .button-outline-light.activated { background-color: transparent; } .md .button-outline-light ion-button-effect { background-color: #e8e8e8; } .md .button-clear-light { border-color: transparent; color: #f4f4f4; background-color: transparent; } .md .button-clear-light.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .md .button-clear-light:hover:not(.disable-hover) { color: #f4f4f4; } .md .button-dark { color: #fff; background-color: #222; } .md .button-dark:hover:not(.disable-hover) { background-color: #222; } .md .button-dark.activated { background-color: #343434; opacity: 1; } .md .button-dark ion-button-effect { background-color: #fff; } .md .button-outline-dark { border-color: #2d2d2d; color: #2d2d2d; background-color: transparent; } .md .button-outline-dark:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .md .button-outline-dark.activated { background-color: transparent; } .md .button-outline-dark ion-button-effect { background-color: #2d2d2d; } .md .button-clear-dark { border-color: transparent; color: #222; background-color: transparent; } .md .button-clear-dark.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .md .button-clear-dark:hover:not(.disable-hover) { color: #222; } .md .button-fab { position: absolute; overflow: hidden; width: 56px; min-width: 0; height: 56px; font-size: 14px; line-height: 56px; vertical-align: middle; background-clip: padding-box; } .md .button-fab ion-icon { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; font-size: 2.8rem; } .md [fab-center] { left: 50%; margin-left: -28px; } .md [fab-top] { top: 16px; } .md [fab-right] { right: 16px; } .md [fab-bottom] { bottom: 16px; } .md [fab-left] { left: 16px; } .md [fab-fixed] { position: fixed; } .md [icon-left] ion-icon { font-size: 1.4em; line-height: .67; pointer-events: none; padding-right: .3em; } .md [icon-right] ion-icon { font-size: 1.4em; line-height: .67; pointer-events: none; padding-left: .4em; } .md [icon-only] { padding: 0; min-width: .9em; } .md [icon-only] ion-icon { padding: 0 .5em; font-size: 1.8em; line-height: .67; pointer-events: none; } .md ion-card { display: block; overflow: hidden; } .md ion-card img { display: block; width: 100%; } .md ion-card-header { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .md ion-card-content { display: block; } .md ion-card { margin: 10px 10px 10px 10px; width: calc(100% - 20px); border-radius: 2px; font-size: 1.4rem; background: #fff; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } .md ion-card ion-list { margin-bottom: 0; } .md ion-card > .item:last-child, .md ion-card > .item-wrapper:last-child .item { border-bottom: 0; } .md ion-card .item .item-inner { border: 0; } .md ion-card ion-card-content { padding: 13px 16px 13px 16px; font-size: 1.4rem; line-height: 1.5; } .md ion-card ion-card-header { padding: 16px; font-size: 1.6rem; color: #222; } .md ion-card ion-card-header + ion-card-content, .md ion-card .item + ion-card-content { padding-top: 0; } .md ion-card ion-note[item-left], .md ion-card ion-note[item-right] { font-size: 1.3rem; } .md ion-card ion-card-title { display: block; margin: 2px 0 2px; padding: 8px 0 8px 0; font-size: 2.4rem; line-height: 1.2; color: #222; } .md ion-card h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; color: #222; } .md ion-card h2 { margin: 2px 0; font-size: 1.6rem; font-weight: normal; color: #222; } .md ion-card h3, .md ion-card h4, .md ion-card h5, .md ion-card h6 { margin: 2px 0; font-size: 1.4rem; font-weight: normal; color: #222; } .md ion-card p { margin: 0 0 2px; font-size: 1.4rem; font-weight: normal; line-height: 1.5; color: #222; } .md ion-card + ion-card { margin-top: 0; } .md ion-checkbox { position: relative; display: inline-block; } .md .checkbox-icon { position: relative; width: 16px; height: 16px; border-width: 2px; border-style: solid; border-radius: 2px; border-color: #787878; background-color: #fff; -webkit-transition-duration: 280ms; transition-duration: 280ms; -webkit-transition-property: background; transition-property: background; -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } .md .checkbox-checked { border-color: #327eff; background-color: #327eff; } .md .checkbox-checked .checkbox-inner { position: absolute; top: 0; left: 4px; width: 5px; height: 10px; border-width: 2px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .md .checkbox-disabled, .md .item-checkbox-disabled ion-label { opacity: 0.3; pointer-events: none; } .md .item ion-checkbox { position: static; display: block; margin: 9px 36px 9px 4px; } .md .item ion-checkbox[item-right] { margin: 11px 10px 10px 0; } .md ion-checkbox + .item-inner ion-label { margin-left: 0; } .md .checkbox-primary .checkbox-checked { border-color: #327eff; background-color: #327eff; } .md .checkbox-primary .checkbox-checked .checkbox-inner { border-color: #fff; } .md .checkbox-secondary .checkbox-checked { border-color: #32db64; background-color: #32db64; } .md .checkbox-secondary .checkbox-checked .checkbox-inner { border-color: #fff; } .md .checkbox-danger .checkbox-checked { border-color: #f53d3d; background-color: #f53d3d; } .md .checkbox-danger .checkbox-checked .checkbox-inner { border-color: #fff; } .md .checkbox-light .checkbox-checked { border-color: #f4f4f4; background-color: #f4f4f4; } .md .checkbox-light .checkbox-checked .checkbox-inner { border-color: #000; } .md .checkbox-dark .checkbox-checked { border-color: #222; background-color: #222; } .md .checkbox-dark .checkbox-checked .checkbox-inner { border-color: #fff; } .md ion-chip { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; font-weight: normal; vertical-align: middle; box-sizing: border-box; } .md ion-chip .button { margin: 0; width: 32px; height: 32px; border-radius: 50%; } .md ion-chip ion-icon { width: 32px; height: 32px; border-radius: 50%; font-size: 18px; line-height: 32px; } .md ion-chip ion-avatar { width: 32px; min-width: 32px; height: 32px; min-height: 32px; border-radius: 50%; } .md ion-chip ion-avatar img { display: block; width: 100%; max-width: 100%; height: 100%; max-height: 100%; border-radius: 50%; } .md ion-chip { margin: 2px 0; height: 32px; border-radius: 16px; font-size: 13px; line-height: 32px; color: rgba(0, 0, 0, 0.87); background: rgba(0, 0, 0, 0.12); } .md ion-chip > ion-label { margin: 0 10px; } .md ion-chip > ion-icon { color: #fff; background-color: #327eff; } .md .chip-primary, .md ion-chip .icon-primary { color: #fff; background-color: #327eff; } .md .chip-secondary, .md ion-chip .icon-secondary { color: #fff; background-color: #32db64; } .md .chip-danger, .md ion-chip .icon-danger { color: #fff; background-color: #f53d3d; } .md .chip-light, .md ion-chip .icon-light { color: #000; background-color: #f4f4f4; } .md .chip-dark, .md ion-chip .icon-dark { color: #fff; background-color: #222; } .md [no-padding], .md [no-padding] scroll-content { padding: 0; } .md [no-margin], .md [no-margin] scroll-content { margin: 0; } .md ion-fixed { position: absolute; z-index: 2; -webkit-transform: translateZ(0); transform: translateZ(0); } .md ion-content { background-color: #fff; } .md [padding], .md [padding] scroll-content { padding: 16px; } .md [padding-top], .md [padding-top] scroll-content { padding-top: 16px; } .md [padding-left], .md [padding-left] scroll-content { padding-left: 16px; } .md [padding-right], .md [padding-right] scroll-content { padding-right: 16px; } .md [padding-bottom], .md [padding-bottom] scroll-content { padding-bottom: 16px; } .md [padding-vertical], .md [padding-vertical] scroll-content { padding-top: 16px; padding-bottom: 16px; } .md [padding-horizontal], .md [padding-horizontal] scroll-content { padding-right: 16px; padding-left: 16px; } .md [margin], .md [margin] scroll-content { margin: 16px; } .md [margin-top], .md [margin-top] scroll-content { margin-top: 16px; } .md [margin-left], .md [margin-left] scroll-content { margin-left: 16px; } .md [margin-right], .md [margin-right] scroll-content { margin-right: 16px; } .md [margin-bottom], .md [margin-bottom] scroll-content { margin-bottom: 16px; } .md [margin-vertical], .md [margin-vertical] scroll-content { margin-top: 16px; margin-bottom: 16px; } .md [margin-horizontal], .md [margin-horizontal] scroll-content { margin-right: 16px; margin-left: 16px; } .md ion-datetime { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; } .md .datetime-text { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 16px; min-height: 1.2em; font-size: inherit; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; } .md .datetime-disabled, .md .item-datetime-disabled ion-label { opacity: .4; pointer-events: none; } .md .item-label-stacked ion-datetime, .md .item-label-floating ion-datetime { padding-left: 0; width: 100%; } .md ion-datetime { padding: 13px 8px 13px 16px; } .md ion-icon { display: inline-block; font-size: 1.2em; } .md ion-icon[small] { min-height: 1.1em; font-size: 1.1em; } .md .icon-primary { color: #327eff; } .md .icon-secondary { color: #32db64; } .md .icon-danger { color: #f53d3d; } .md .icon-light { color: #f4f4f4; } .md .icon-dark { color: #222; } .md ion-input, .md ion-textarea { position: relative; display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } .md .item-input ion-input, .md .item-input ion-textarea { position: static; } .md .item.item-textarea { -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; } .md .text-input { display: inline-block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 92%; width: calc(100% - 10px); border: 0; border-radius: 0; background: transparent; -webkit-appearance: none; } .md .text-input::-moz-placeholder { color: #999; } .md .text-input:-ms-input-placeholder { color: #999; } .md .text-input::-webkit-input-placeholder { text-indent: 0; color: #999; } .md textarea.text-input { display: block; } .md .text-input[disabled] { opacity: .4; } .md input.text-input:-webkit-autofill { background-color: transparent; } .md .platform-mobile textarea.text-input { resize: none; } .md .input-cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .md .input-has-focus .input-cover { display: none; } .md .input-has-focus { pointer-events: none; } .md .input-has-focus input, .md .input-has-focus textarea, .md .input-has-focus a, .md .input-has-focus button { pointer-events: auto; } .md [next-input] { position: absolute; bottom: 1px; padding: 0; width: 1px; height: 1px; border: 0; background: transparent; pointer-events: none; } .md .text-input-clear-icon { position: absolute; top: 0; display: none; margin: 0; padding: 0; height: 100%; background-repeat: no-repeat; background-position: center; } .md .input-has-focus.input-has-value .text-input-clear-icon { display: block; } .md .text-input.cloned-input { position: relative; top: 0; pointer-events: none; } .md .item-input:not(.item-label-floating) .text-input.cloned-active { display: none; } .md .text-input { margin: 13px 8px 13px 8px; padding: 0; width: calc(100% - 8px - 8px); } .md .inset-input { margin: 6.5px 16px 6.5px 16px; padding: 6.5px 8px 6.5px 8px; } .md .item-input.input-has-focus .item-inner { border-bottom-color: #327eff; box-shadow: inset 0 -1px 0 0 #327eff; } .md ion-list .item-input.input-has-focus:last-child { border-bottom-color: #327eff; box-shadow: inset 0 -1px 0 0 #327eff; } .md ion-list .item-input.input-has-focus:last-child .item-inner { box-shadow: none; } .md .item-input.ng-valid.input-has-value:not(.input-has-focus) .item-inner { border-bottom-color: #32db64; box-shadow: inset 0 -1px 0 0 #32db64; } .md ion-list .item-input.ng-valid.input-has-value:not(.input-has-focus):last-child { border-bottom-color: #32db64; box-shadow: inset 0 -1px 0 0 #32db64; } .md ion-list .item-input.ng-valid.input-has-value:not(.input-has-focus):last-child .item-inner { box-shadow: none; } .md .item-input.ng-invalid.ng-touched:not(.input-has-focus) .item-inner { border-bottom-color: #f53d3d; box-shadow: inset 0 -1px 0 0 #f53d3d; } .md ion-list .item-input.ng-invalid.ng-touched:not(.input-has-focus):last-child { border-bottom-color: #f53d3d; box-shadow: inset 0 -1px 0 0 #f53d3d; } .md ion-list .item-input.ng-invalid.ng-touched:not(.input-has-focus):last-child .item-inner { box-shadow: none; } .md .item-label-stacked .text-input, .md .item-label-floating .text-input { margin-top: 8px; margin-bottom: 8px; margin-left: 0; width: calc(100% - 8px); } .md .item-label-stacked ion-select, .md .item-label-floating ion-select { padding-top: 8px; padding-bottom: 8px; padding-left: 0; } .md .item-label-floating .text-input.cloned-input { top: 32px; } .md .item-label-stacked .text-input.cloned-input { top: 27px; } .md ion-input[clearInput] { position: relative; } .md ion-input[clearInput] .text-input { padding-right: 30px; } .md .text-input-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); right: 8px; width: 30px; background-size: 22px; } .md .item { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 4.4rem; border: 0; font-weight: normal; line-height: normal; text-align: initial; text-decoration: none; color: inherit; } .md .item-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; margin: 0; padding: 0; min-height: inherit; border: 0; } .md .input-wrapper { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; text-overflow: ellipsis; } .md .item[no-lines], .md .item[no-lines] .item-inner { border: 0; } .md ion-item-group { display: block; } .md ion-item-divider { z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 30px; } .md ion-item-divider[sticky] { position: -webkit-sticky; position: sticky; top: 0; } .md [vertical-align-top], .md ion-input.item { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .md .item > ion-icon[small]:first-child, .md .item-inner > ion-icon[small]:first-child { min-width: 18px; } .md .item > ion-icon:first-child, .md .item-inner > ion-icon:first-child { min-width: 24px; text-align: center; } .md .item > ion-icon, .md .item-inner > ion-icon { min-height: 2.4rem; font-size: 2.4rem; line-height: 1; } .md .item > ion-icon[large], .md .item-inner > ion-icon[large] { min-height: 3.2rem; font-size: 3.2rem; } .md .item > ion-icon[small], .md .item-inner > ion-icon[small] { min-height: 1.8rem; font-size: 1.8rem; } .md ion-avatar, .md ion-thumbnail { display: block; line-height: 1; } .md ion-avatar img, .md ion-thumbnail img { display: block; } .md .item-cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent; cursor: pointer; } .md ion-item-sliding { position: relative; display: block; overflow: hidden; width: 100%; } .md ion-item-sliding .item { position: static; } .md ion-item-options { position: absolute; top: 0; right: 0; z-index: 1; display: none; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; height: 100%; font-size: 14px; visibility: hidden; } .md ion-item-options[side=left] { right: auto; left: 0; -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } .md ion-item-options .button { margin: 0; padding: 0 .7em; height: 100%; border-radius: 0; box-shadow: none; box-sizing: content-box; } .md ion-item-options:not([icon-left]) .button .button-inner { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .md ion-item-options:not([icon-left]) .button ion-icon { padding-right: 0; padding-bottom: .3em; padding-left: 0; } .md ion-item-sliding.active-slide .item, .md ion-item-sliding.active-slide .item.activated { position: relative; z-index: 2; opacity: 1; -webkit-transition: -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); transition: transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); pointer-events: none; will-change: transform; } .md ion-item-sliding.active-slide ion-item-options { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .md ion-item-sliding.active-slide.active-options-left ion-item-options[side=left] { width: 100%; visibility: visible; } .md ion-item-sliding.active-slide.active-options-right ion-item-options:not([side=left]) { width: 100%; visibility: visible; } .md .button-expandable { -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-transition-duration: 0; transition-duration: 0; -webkit-transition-property: none; transition-property: none; -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1); transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1); } .md ion-item-sliding.active-swipe-right .button-expandable { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; padding-left: 90%; -webkit-transition-duration: .6s; transition-duration: .6s; -webkit-transition-property: padding-left; transition-property: padding-left; } .md ion-item-sliding.active-swipe-left .button-expandable { -webkit-box-ordinal-group: 0; -webkit-order: -1; -ms-flex-order: -1; order: -1; padding-right: 90%; -webkit-transition-duration: .6s; transition-duration: .6s; -webkit-transition-property: padding-right; transition-property: padding-right; } .md ion-reorder { display: none; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; max-width: 40px; height: 100%; font-size: 1.7em; opacity: .25; -webkit-transform: translate3d(120%, 0, 0); transform: translate3d(120%, 0, 0); -webkit-transition: -webkit-transform 125ms ease-in; transition: transform 125ms ease-in; pointer-events: all; -ms-touch-action: manipulation; touch-action: manipulation; } .md ion-reorder ion-icon { pointer-events: none; } .md .reorder-enabled ion-reorder { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .md .reorder-visible ion-reorder { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .md .reorder-list-active .item, .md .reorder-list-active .item-wrapper { -webkit-transition: -webkit-transform 300ms; transition: transform 300ms; will-change: transform; } .md .reorder-list-active .item-inner { pointer-events: none; } .md .item-wrapper.reorder-active, .md .item.reorder-active, .md .reorder-active { z-index: 4; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); opacity: .8; -webkit-transition: none; transition: none; pointer-events: none; } .md .item { position: relative; padding-right: 0; padding-left: 16px; font-size: 1.6rem; font-weight: normal; text-transform: none; color: #000; background-color: #fff; box-shadow: none; -webkit-transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 300ms; transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), transform 300ms; } .md .item h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .md .item h2 { margin: 2px 0; font-size: 1.6rem; font-weight: normal; } .md .item h3, .md .item h4, .md .item h5, .md .item h6 { margin: 2px 0; font-size: 1.4rem; font-weight: normal; line-height: normal; } .md .item p { overflow: inherit; margin: 0 0 2px; font-size: 1.4rem; line-height: normal; text-overflow: inherit; color: #666; } .md .item.activated { background-color: #f1f1f1; } .md .item[no-lines] { border-width: 0; } .md .item .item-inner { padding-right: 8px; border-bottom: 1px solid #dedede; } .md [item-left], .md [item-right] { margin: 9px 8px 9px 0; } .md ion-icon[item-left], .md ion-icon[item-right] { margin-top: 11px; margin-bottom: 10px; margin-left: 0; } .md .item-button { padding: 0 .6em; height: 25px; font-size: 1.2rem; } .md .item-button[icon-only] ion-icon, .md .item-button[icon-only] { padding: 0 1px; } .md ion-icon[item-left] + .item-inner, .md ion-icon[item-left] + .item-input { margin-left: 24px; } .md ion-avatar[item-left], .md ion-thumbnail[item-left] { margin: 8px 16px 8px 0; } .md ion-avatar[item-right], .md ion-thumbnail[item-right] { margin: 8px; } .md ion-avatar { min-width: 4rem; min-height: 4rem; } .md ion-avatar img { max-width: 4rem; max-height: 4rem; border-radius: 2rem; } .md ion-thumbnail { min-width: 8rem; min-height: 8rem; } .md ion-thumbnail img { max-width: 8rem; max-height: 8rem; } .md ion-note { color: #c5c5c5; } .md ion-item-group .item:first-child .item-inner { border-top-width: 0; } .md ion-item-group .item:last-child .item-inner, .md ion-item-group .item-wrapper:last-child .item-inner { border: 0; } .md ion-item-divider { padding-left: 16px; color: #222; background-color: #fff; } .md .item .text-primary { color: #327eff; } .md .item-primary { color: #fff; background-color: #327eff; } .md .item .text-secondary { color: #32db64; } .md .item-secondary { color: #fff; background-color: #32db64; } .md .item .text-danger { color: #f53d3d; } .md .item-danger { color: #fff; background-color: #f53d3d; } .md .item .text-light { color: #f4f4f4; } .md .item-light { color: #000; background-color: #f4f4f4; } .md .item .text-dark { color: #222; } .md .item-dark { color: #fff; background-color: #222; } .md ion-item-sliding { background-color: #fff; } .md ion-reorder { font-size: 1.5em; opacity: .3; } .md ion-label { display: block; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin: 0; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; } .md .item-input ion-label { -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; max-width: 200px; pointer-events: none; } .md [text-wrap] ion-label { white-space: normal; } .md ion-label[fixed] { -webkit-box-flex: 0; -webkit-flex: 0 0 100px; -ms-flex: 0 0 100px; flex: 0 0 100px; width: 100px; min-width: 100px; max-width: 200px; } .md .item-label-stacked ion-label, .md .item-label-floating ion-label { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; width: auto; max-width: 100%; } .md ion-label[stacked], .md ion-label[floating] { margin-bottom: 0; } .md .item-label-stacked .input-wrapper, .md .item-label-floating .input-wrapper { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .md .item-label-stacked ion-select, .md .item-label-floating ion-select { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; max-width: 100%; } .md .item-select ion-label[floating] { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .md ion-label { margin: 13px 8px 13px 0; } .md [text-wrap] ion-label { font-size: 1.4rem; line-height: 1.5; } .md .item-input ion-label, .md .item-select ion-label, .md .item-datetime ion-label { color: #999; } .md ion-label[stacked] { font-size: 1.2rem; } .md ion-label[floating] { -webkit-transform: translate3d(0, 27px, 0); transform: translate3d(0, 27px, 0); -webkit-transform-origin: left top; transform-origin: left top; -webkit-transition: -webkit-transform 150ms ease-in-out; transition: transform 150ms ease-in-out; } .md ion-label[stacked], .md ion-label[floating] { margin-bottom: 0; margin-left: 0; } .md .input-has-focus ion-label[stacked], .md .input-has-focus ion-label[floating] { color: #327eff; } .md .input-has-focus ion-label[floating], .md .input-has-value ion-label[floating] { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .md .item-label-stacked [item-right], .md .item-label-floating [item-right] { margin-top: 7px; margin-bottom: 7px; } .md .label-primary, .md .item-input .label-primary, .md .item-select .label-primary, .md .item-datetime .label-primary { color: #327eff; } .md .label-secondary, .md .item-input .label-secondary, .md .item-select .label-secondary, .md .item-datetime .label-secondary { color: #32db64; } .md .label-danger, .md .item-input .label-danger, .md .item-select .label-danger, .md .item-datetime .label-danger { color: #f53d3d; } .md .label-light, .md .item-input .label-light, .md .item-select .label-light, .md .item-datetime .label-light { color: #f4f4f4; } .md .label-dark, .md .item-input .label-dark, .md .item-select .label-dark, .md .item-datetime .label-dark { color: #222; } .md ion-list-header { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 4rem; } .md ion-list { display: block; margin: 0; padding: 0; list-style-type: none; } .md ion-list[inset] { overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); } .md ion-list-header, .md ion-item-divider { margin-left: 0; padding-left: 16px; border-bottom: 1px solid #dedede; font-size: 1.4rem; color: #858585; } .md ion-list { margin: 0 0 16px 0; } .md ion-list .item .item-inner { border-bottom: 1px solid #dedede; } .md ion-list > .item:first-child, .md ion-list > .item-wrapper:first-child .item { border-top: 1px solid #dedede; } .md ion-list > .item:last-child, .md ion-list > .item-wrapper:last-child .item { border-bottom: 1px solid #dedede; } .md ion-list > .item:last-child ion-label, .md ion-list > .item:last-child .item-inner, .md ion-list > .item-wrapper:last-child ion-label, .md ion-list > .item-wrapper:last-child .item-inner { border-bottom: 0; } .md ion-list > ion-input:last-child::after { left: 0; } .md ion-list ion-item-options { border-bottom: 1px solid #dedede; } .md ion-list ion-item-options button, .md ion-list ion-item-options [button] { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 1px 0; height: calc(100% - 2px); border: 0; border-radius: 0; box-shadow: none; box-sizing: border-box; } .md ion-list ion-item-options button::before, .md ion-list ion-item-options [button]::before { margin: 0 auto; } .md ion-list .item[no-lines], .md ion-list .item[no-lines] .item-inner { border-width: 0; } .md ion-list + ion-list ion-list-header { margin-top: -16px; padding-top: 0; } .md ion-list[inset] { margin: 16px 16px 16px 16px; border-radius: 2px; } .md ion-list[inset] .item:first-child { border-top-width: 0; border-top-left-radius: 2px; border-top-right-radius: 2px; } .md ion-list[inset] .item:last-child { border-bottom-width: 0; border-bottom-left-radius: 2px; border-bottom-right-radius: 2px; } .md ion-list[inset] .item-input { padding-right: 0; padding-left: 0; } .md ion-list[inset] + ion-list[inset] { margin-top: 0; } .md ion-list[inset] ion-list-header { background-color: #fff; } .md ion-list[no-lines] .item, .md ion-list[no-lines] ion-item-options, .md ion-list[no-lines] .item .item-inner { border-width: 0; } .md ion-loading { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .md .loading-wrapper { z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; opacity: 0; } .md .loading-wrapper { padding: 24px; max-width: 280px; max-height: 90%; border-radius: 2px; color: rgba(0, 0, 0, 0.5); background: #fafafa; box-shadow: 0 16px 20px rgba(0, 0, 0, 0.4); } .md .loading-spinner + .loading-content { margin-left: 16px; } .md .loading-spinner .spinner-ios line, .md .loading-spinner .spinner-ios-small line { stroke: #327eff; } .md .loading-spinner .spinner-bubbles circle { fill: #327eff; } .md .loading-spinner .spinner-circles circle { fill: #327eff; } .md .loading-spinner .spinner-crescent circle { stroke: #327eff; } .md .loading-spinner .spinner-dots circle { fill: #327eff; } .md .menu-inner { background: #fff; } .md .menu-content-reveal { box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); } .md .menu-content-push { box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); } .md ion-menu[type=overlay] .menu-inner { box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); } .md .modal-wrapper { opacity: .01; -webkit-transform: translate3d(0, 40px, 0); transform: translate3d(0, 40px, 0); } .md ion-picker-cmp { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; } .md .picker-toolbar { z-index: 1; } .md .picker-wrapper { position: absolute; right: 0; bottom: 0; left: 0; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; margin: auto; width: 100%; max-width: 500px; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .md .picker-columns { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .md .picker-col { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; max-height: 100%; } .md .picker-opts { position: relative; width: 100%; min-width: 50px; max-width: 100%; } .md .picker-prefix { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 50px; min-width: 45%; text-align: right; white-space: nowrap; } .md .picker-suffix { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 50px; min-width: 45%; text-align: left; white-space: nowrap; } .md .picker-opt { position: absolute; top: 0; left: 0; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } .md .picker-opt .button-inner { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; -webkit-transition: opacity 150ms ease-in-out; transition: opacity 150ms ease-in-out; } .md .picker-opt.picker-opt-disabled { pointer-events: none; } .md .picker-opt-disabled .button-inner { opacity: 0; } .md .picker-opts-left .button-inner { -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } .md .picker-opts-right .button-inner { -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; } .md .picker-above-highlight, .md .picker-below-highlight { display: none; pointer-events: none; } .md .picker-wrapper { height: 260px; border-top: 1px solid #dedede; background: #fff; } .md .picker-toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; height: 44px; background: #fff; } .md .hairlines .picker-wrapper, .md .hairlines .picker-toolbar { border-width: 0.55px; } .md .picker-button, .md .picker-button.activated { margin: 0; height: 44px; color: #327eff; background: transparent; box-shadow: none; } .md .picker-columns { height: 216px; -webkit-perspective: 1800px; perspective: 1800px; } .md .picker-col { padding: 0 8px; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .md .picker-prefix, .md .picker-suffix, .md .picker-opts { top: 77px; font-size: 18px; line-height: 42px; color: #000; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; pointer-events: none; } .md .picker-opts ion-button-effect { display: none; } .md .picker-opt { margin: 0; padding: 0; font-size: 18px; line-height: 42px; background: transparent; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; pointer-events: auto; } .md .picker-opt .button-inner { -webkit-transition: 200ms; transition: 200ms; } .md .picker-prefix, .md .picker-suffix, .md .picker-opt-selected { font-size: 22px; color: #327eff; } .md .picker-above-highlight { position: absolute; top: 0; left: 0; z-index: 10; width: 100%; height: 81px; border-bottom: 1px solid #dedede; background: -webkit-linear-gradient(top, white 20%, rgba(255, 255, 255, 0.7) 100%); background: linear-gradient(to bottom, white 20%, rgba(255, 255, 255, 0.7) 100%); -webkit-transform: translate3d(0, 0, 90px); transform: translate3d(0, 0, 90px); } .md .picker-below-highlight { position: absolute; top: 115px; left: 0; z-index: 11; width: 100%; height: 119px; border-top: 1px solid #dedede; background: -webkit-linear-gradient(bottom, white 30%, rgba(255, 255, 255, 0.7) 100%); background: linear-gradient(to top, white 30%, rgba(255, 255, 255, 0.7) 100%); -webkit-transform: translate3d(0, 0, 90px); transform: translate3d(0, 0, 90px); } .md ion-popover { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .md .popover-wrapper { z-index: 10; opacity: 0; } .md .popover-content { position: absolute; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: auto; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .md .popover-content scroll-content { position: relative; } .md .popover-content { width: 250px; min-width: 0; min-height: 0; max-height: 90%; border-radius: 2px; color: #000; background: #fafafa; box-shadow: 0 3px 12px 2px rgba(0, 0, 0, 0.3); -webkit-transform-origin: top left; transform-origin: top left; } .md .popover-content ion-content { background: #fafafa; } .md .popover-content .item { background-color: #fafafa; } .md .popover-viewport { opacity: 0; -webkit-transition-delay: 100ms; transition-delay: 100ms; } .md ion-radio { position: relative; display: inline-block; } .md .radio-icon { position: relative; top: 0; left: 0; display: block; margin: 0; width: 16px; height: 16px; border-width: 2px; border-style: solid; border-radius: 50%; border-color: #787878; } .md .radio-inner { position: absolute; top: 2px; left: 2px; width: 8px; height: 8px; border-radius: 50%; background-color: #327eff; -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); -webkit-transition: -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1); } .md .radio-checked { border-color: #327eff; } .md .radio-checked .radio-inner { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } .md .radio-disabled, .md .item-radio-disabled ion-label { opacity: 0.3; pointer-events: none; } .md .item ion-radio { position: static; display: block; margin: 9px 10px 9px 0; } .md .item ion-radio[item-left] { margin: 11px 36px 10px 4px; } .md .item-radio ion-label { margin-left: 0; } .md .item-radio-checked ion-label { color: #327eff; } .md .item-radio-primary.item-radio-checked ion-label { color: #327eff; } .md .radio-primary .radio-checked { border-color: #327eff; } .md .radio-primary .radio-inner { background-color: #327eff; } .md .item-radio-secondary.item-radio-checked ion-label { color: #32db64; } .md .radio-secondary .radio-checked { border-color: #32db64; } .md .radio-secondary .radio-inner { background-color: #32db64; } .md .item-radio-danger.item-radio-checked ion-label { color: #f53d3d; } .md .radio-danger .radio-checked { border-color: #f53d3d; } .md .radio-danger .radio-inner { background-color: #f53d3d; } .md .item-radio-light.item-radio-checked ion-label { color: #f4f4f4; } .md .radio-light .radio-checked { border-color: #f4f4f4; } .md .radio-light .radio-inner { background-color: #f4f4f4; } .md .item-radio-dark.item-radio-checked ion-label { color: #222; } .md .radio-dark .radio-checked { border-color: #222; } .md .radio-dark .radio-inner { background-color: #222; } .md .item-range .item-inner { overflow: visible; } .md .item-range .input-wrapper { overflow: visible; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .md .item-range ion-range { width: 100%; } .md .item-range ion-range ion-label { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } .md ion-range { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .md ion-range ion-label { -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; } .md ion-range ion-icon { min-height: 2.4rem; font-size: 2.4rem; line-height: 1; } .md .range-slider { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; cursor: pointer; } .md ion-range { padding: 8px 8px; } .md [range-left], .md [range-right] { margin: 0 12px; } .md [range-left] { margin-left: 0; } .md [range-right] { margin-right: 0; } .md .range-has-pin { padding-top: 28px; } .md .range-slider { height: 42px; } .md .range-bar { position: absolute; top: 21px; left: 0; width: 100%; height: 2px; background: #bdbdbd; pointer-events: none; } .md .range-pressed .range-bar-active { will-change: left, right; } .md .range-pressed .range-knob-handle { will-change: left; } .md .range-bar-active { bottom: 0; width: auto; background: #327eff; } .md .range-knob-handle { position: absolute; top: 21px; left: 0%; margin-top: -21px; margin-left: -21px; width: 42px; height: 42px; text-align: center; } .md .range-knob { position: absolute; top: 13px; left: 12px; z-index: 2; width: 18px; height: 18px; border-radius: 50%; background: #327eff; -webkit-transform: scale(0.67); transform: scale(0.67); -webkit-transition-duration: 120ms; transition-duration: 120ms; -webkit-transition-property: -webkit-transform, background-color, border; transition-property: transform, background-color, border; -webkit-transition-timing-function: ease; transition-timing-function: ease; pointer-events: none; } .md .range-tick { position: absolute; top: 21px; z-index: 1; margin-left: -1px; width: 2px; height: 2px; border-radius: 50%; background: #000; pointer-events: none; } .md .range-tick-active { background: #000; } .md .range-pin { position: relative; top: -20px; display: inline-block; padding: 8px 0; min-width: 28px; height: 28px; border-radius: 50%; font-size: 12px; text-align: center; color: #fff; background: #327eff; -webkit-transform: translate3d(0, 28px, 0) scale(0.01); transform: translate3d(0, 28px, 0) scale(0.01); -webkit-transition: -webkit-transform 120ms ease, background-color 120ms ease; transition: transform 120ms ease, background-color 120ms ease; } .md .range-pin::before { position: absolute; top: 3px; left: 50%; z-index: -1; margin-left: -13px; width: 26px; height: 26px; border-radius: 50% 50% 50% 0; background: #327eff; content: ""; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); -webkit-transition: background-color 120ms ease; transition: background-color 120ms ease; } .md .range-knob-pressed .range-pin { -webkit-transform: translate3d(0, 0, 0) scale(1); transform: translate3d(0, 0, 0) scale(1); } .md ion-range:not(.range-has-pin) .range-knob-pressed .range-knob { -webkit-transform: scale(1); transform: scale(1); } .md .range-knob-min .range-knob { border: 2px solid #bdbdbd; background: #fff; } .md .range-knob-min .range-pin, .md .range-knob-min .range-pin::before { color: #fff; background: #bdbdbd; } .md .range-disabled .range-bar-active { background-color: #bdbdbd; } .md .range-disabled .range-knob { outline: 5px solid #fff; background-color: #bdbdbd; -webkit-transform: scale(0.55); transform: scale(0.55); } .md .range-primary .range-knob-min .range-knob { border: 2px solid #bdbdbd; background: #fff; } .md .range-primary .range-knob-min .range-pin, .md .range-primary .range-knob-min .range-pin::before { color: #fff; background: #bdbdbd; } .md .range-primary .range-bar-active, .md .range-primary .range-knob, .md .range-primary .range-pin, .md .range-primary .range-pin::before { background: #327eff; } .md .range-secondary .range-knob-min .range-knob { border: 2px solid #bdbdbd; background: #fff; } .md .range-secondary .range-knob-min .range-pin, .md .range-secondary .range-knob-min .range-pin::before { color: #fff; background: #bdbdbd; } .md .range-secondary .range-bar-active, .md .range-secondary .range-knob, .md .range-secondary .range-pin, .md .range-secondary .range-pin::before { background: #32db64; } .md .range-danger .range-knob-min .range-knob { border: 2px solid #bdbdbd; background: #fff; } .md .range-danger .range-knob-min .range-pin, .md .range-danger .range-knob-min .range-pin::before { color: #fff; background: #bdbdbd; } .md .range-danger .range-bar-active, .md .range-danger .range-knob, .md .range-danger .range-pin, .md .range-danger .range-pin::before { background: #f53d3d; } .md .range-light .range-knob-min .range-knob { border: 2px solid #bdbdbd; background: #fff; } .md .range-light .range-knob-min .range-pin, .md .range-light .range-knob-min .range-pin::before { color: #fff; background: #bdbdbd; } .md .range-light .range-bar-active, .md .range-light .range-knob, .md .range-light .range-pin, .md .range-light .range-pin::before { background: #f4f4f4; } .md .range-dark .range-knob-min .range-knob { border: 2px solid #bdbdbd; background: #fff; } .md .range-dark .range-knob-min .range-pin, .md .range-dark .range-knob-min .range-pin::before { color: #fff; background: #bdbdbd; } .md .range-dark .range-bar-active, .md .range-dark .range-knob, .md .range-dark .range-pin, .md .range-dark .range-pin::before { background: #222; } .md ion-searchbar { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; width: 100%; } .md .searchbar-icon { pointer-events: none; } .md .searchbar-input-container { position: relative; display: block; -webkit-flex-shrink: 1; -ms-flex-negative: 1; flex-shrink: 1; width: 100%; } .md .searchbar-input { -webkit-appearance: none; -moz-appearance: none; display: block; width: 100%; border: 0; font-family: inherit; } .md .searchbar-clear-icon { display: none; margin: 0; padding: 0; min-height: 0; } .md .searchbar-has-value.searchbar-has-focus .searchbar-clear-icon { display: block; } .md ion-searchbar { padding: 8px; background: inherit; } .md .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); top: 11px; left: 16px; width: 21px; height: 21px; } .md .searchbar-md-cancel { top: 0; left: 10px; display: none; margin: 0; width: 21px; height: 100%; } .md .searchbar-search-icon, .md .searchbar-md-cancel { position: absolute; background-repeat: no-repeat; background-size: 20px; } .md .searchbar-search-icon.activated, .md .searchbar-md-cancel.activated { background-color: transparent; } .md .searchbar-input { padding: 6px 55px; height: auto; border-radius: 2px; font-size: 1.6rem; font-weight: 400; line-height: 3rem; color: #141414; background-color: #fff; background-position: 8px center; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } .md .searchbar-input::-moz-placeholder { color: #aeaeae; } .md .searchbar-input:-ms-input-placeholder { color: #aeaeae; } .md .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: #aeaeae; } .md .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); position: absolute; top: 0; right: 13px; padding: 0; width: 22px; height: 100%; background-repeat: no-repeat; background-position: center; background-size: 22px; } .md .searchbar-clear-icon.activated { background-color: transparent; } .md .searchbar-has-focus.searchbar-show-cancel .searchbar-search-icon { display: none; } .md .searchbar-has-focus.searchbar-show-cancel .searchbar-md-cancel { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; } .md .toolbar ion-searchbar { padding: 3px; } .md .toolbar .searchbar-md-cancel { left: 14px; } .md .searchbar-ios-cancel { display: none; } .md ion-segment { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; width: 100%; } .md .segment-button { position: relative; display: block; overflow: hidden; margin-right: 0; margin-left: 0; text-align: center; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; } .md .segment-button { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 0 6px; width: 0; height: 4.2rem; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: rgba(0, 0, 0, 0.1); font-size: 1.2rem; font-weight: 500; line-height: 4rem; text-transform: uppercase; color: #327eff; background-color: transparent; opacity: 0.7; -webkit-transition: 100ms all linear; transition: 100ms all linear; } .md .segment-button ion-icon { font-size: 2.6rem; line-height: 4rem; } .md .segment-button.activated, .md .segment-button.segment-activated { border-color: #327eff; opacity: 1; } .md .segment-button-disabled { opacity: 0.3; pointer-events: none; } .md .toolbar ion-segment { margin: 0 auto; } .md .toolbar .segment-button.activated, .md .toolbar .segment-button.segment-activated { opacity: 1; } .md .segment-primary .segment-button { color: #327eff; } .md .segment-primary .segment-button.activated, .md .segment-primary .segment-button.segment-activated { border-color: #327eff; color: #327eff; opacity: 1; } .md .segment-secondary .segment-button { color: #32db64; } .md .segment-secondary .segment-button.activated, .md .segment-secondary .segment-button.segment-activated { border-color: #32db64; color: #32db64; opacity: 1; } .md .segment-danger .segment-button { color: #f53d3d; } .md .segment-danger .segment-button.activated, .md .segment-danger .segment-button.segment-activated { border-color: #f53d3d; color: #f53d3d; opacity: 1; } .md .segment-light .segment-button { color: #f4f4f4; } .md .segment-light .segment-button.activated, .md .segment-light .segment-button.segment-activated { border-color: #f4f4f4; color: #f4f4f4; opacity: 1; } .md .segment-dark .segment-button { color: #222; } .md .segment-dark .segment-button.activated, .md .segment-dark .segment-button.segment-activated { border-color: #222; color: #222; opacity: 1; } .md ion-select { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; max-width: 45%; } .md .select-text { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 16px; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; } .md .item-multiple-inputs ion-select { position: relative; } .md .select-disabled, .md .item-select-disabled ion-label { opacity: .4; pointer-events: none; } .md ion-select { padding: 13px 8px 13px 16px; } .md .select-placeholder { color: #999; } .md .item-select ion-label { margin-left: 0; } .md .select-icon { position: relative; width: 12px; height: 19px; } .md .select-icon .select-icon-inner { position: absolute; top: 50%; left: 5px; margin-top: -3px; width: 0; height: 0; border-top: 5px solid; border-right: 5px solid transparent; border-left: 5px solid transparent; color: #999; pointer-events: none; } .md ion-spinner { position: relative; display: inline-block; width: 28px; height: 28px; } .md ion-spinner svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); } .md ion-spinner.spinner-paused svg { -webkit-animation-play-state: paused; animation-play-state: paused; } .md .spinner-ios line, .md .spinner-ios-small line { stroke: #69717d; stroke-width: 4px; stroke-linecap: round; } .md .spinner-ios svg, .md .spinner-ios-small svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .md .spinner-bubbles circle { fill: #000; } .md .spinner-bubbles svg { -webkit-animation: spinner-scale-out 1s linear infinite; animation: spinner-scale-out 1s linear infinite; } .md .spinner-circles circle { fill: #69717d; } .md .spinner-circles svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .md .spinner-crescent circle { fill: transparent; stroke: #000; stroke-width: 4px; stroke-dasharray: 128px; stroke-dashoffset: 82px; } .md .spinner-crescent svg { -webkit-animation: spinner-rotate 1s linear infinite; animation: spinner-rotate 1s linear infinite; } .md .spinner-dots circle { fill: #444; stroke-width: 0; } .md .spinner-dots svg { -webkit-transform-origin: center; transform-origin: center; -webkit-animation: spinner-dots 1s linear infinite; animation: spinner-dots 1s linear infinite; } @keyframes spinner-fade-out { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes spinner-scale-out { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 100% { -webkit-transform: scale(0, 0); transform: scale(0, 0); } } @keyframes spinner-rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spinner-dots { 0% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } 50% { opacity: .3; -webkit-transform: scale(0.4, 0.4); transform: scale(0.4, 0.4); } 100% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } } .md .spinner-primary.spinner-ios line, .md .spinner-primary.spinner-ios-small line, .md .spinner-primary.spinner-crescent circle { stroke: #327eff; } .md .spinner-primary.spinner-bubbles circle, .md .spinner-primary.spinner-circles circle, .md .spinner-primary.spinner-dots circle { fill: #327eff; } .md .spinner-secondary.spinner-ios line, .md .spinner-secondary.spinner-ios-small line, .md .spinner-secondary.spinner-crescent circle { stroke: #32db64; } .md .spinner-secondary.spinner-bubbles circle, .md .spinner-secondary.spinner-circles circle, .md .spinner-secondary.spinner-dots circle { fill: #32db64; } .md .spinner-danger.spinner-ios line, .md .spinner-danger.spinner-ios-small line, .md .spinner-danger.spinner-crescent circle { stroke: #f53d3d; } .md .spinner-danger.spinner-bubbles circle, .md .spinner-danger.spinner-circles circle, .md .spinner-danger.spinner-dots circle { fill: #f53d3d; } .md .spinner-light.spinner-ios line, .md .spinner-light.spinner-ios-small line, .md .spinner-light.spinner-crescent circle { stroke: #f4f4f4; } .md .spinner-light.spinner-bubbles circle, .md .spinner-light.spinner-circles circle, .md .spinner-light.spinner-dots circle { fill: #f4f4f4; } .md .spinner-dark.spinner-ios line, .md .spinner-dark.spinner-ios-small line, .md .spinner-dark.spinner-crescent circle { stroke: #222; } .md .spinner-dark.spinner-bubbles circle, .md .spinner-dark.spinner-circles circle, .md .spinner-dark.spinner-dots circle { fill: #222; } .md .tab-button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; position: relative; z-index: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; margin: 0; border: 0; border-radius: 0; text-align: center; text-decoration: none; background: none; cursor: pointer; } .md .tab-disabled { pointer-events: none; } .md .tab-disabled ion-badge, .md .tab-disabled ion-icon, .md .tab-disabled span { opacity: .4; } .md .tab-hidden { display: none; } .md .tab-button-text { margin-top: 3px; margin-bottom: 2px; } .md .tab-button-text, .md .tab-button-icon { display: none; overflow: hidden; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; min-width: 26px; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; } .md .has-icon .tab-button-icon, .md .has-title .tab-button-text { display: block; } .md .has-title-only .tab-button-text { white-space: normal; } .md tab-highlight { display: none; } .md [tabsLayout=icon-bottom] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; } .md [tabsLayout=icon-left] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .md [tabsLayout=icon-left] .tab-button .tab-button-icon { padding-right: 8px; text-align: right; } .md [tabsLayout=icon-right] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .md [tabsLayout=icon-right] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; padding-left: 8px; text-align: left; } .md [tabsLayout=icon-hide] .tab-button-icon { display: none; } .md [tabsLayout=title-hide] .tab-button-text { display: none; } .md .tab-badge { position: absolute; top: 6%; right: 4%; right: calc(50% - 50px); padding: 1px 6px; height: auto; font-size: 12px; line-height: 16px; } .md .has-icon .tab-badge { right: calc(50% - 30px); } .md [tabsLayout=icon-bottom] .tab-badge, .md [tabsLayout=icon-left] .tab-badge, .md [tabsLayout=icon-right] .tab-badge { right: calc(50% - 50px); } .md ion-tabbar { background: #f8f8f8; } .md .tab-button { padding: 8px 0 10px 0; min-height: 5.6rem; font-weight: normal; color: rgba(140, 140, 140, 0.7); } .md .tab-button[aria-selected=true] { padding: 6px 0 10px 0; font-size: 1.4rem; color: #327eff; } .md .tab-button-text { margin: 6px 0; text-transform: none; -webkit-transform: scale(0.85); transform: scale(0.85); -webkit-transform-origin: bottom center; transform-origin: bottom center; -webkit-transition: -webkit-transform 200ms ease-in-out; transition: transform 200ms ease-in-out; } .md .tab-button[aria-selected=true] .tab-button-text { margin: 7px 0; -webkit-transform: scale(1); transform: scale(1); } .md .tab-button-icon { min-width: 7.4rem; font-size: 2.4rem; } .md [tabsLayout=icon-top] .has-icon .tab-button-text { margin-bottom: 0; } .md [tabsLayout=icon-bottom] .tab-button { padding-top: 8px; padding-bottom: 8px; } .md [tabsLayout=icon-bottom] .tab-button .tab-button-text { margin-top: 0; } .md [tabsLayout=icon-right] .tab-button, .md [tabsLayout=icon-left] .tab-button { padding-bottom: 10px; } .md [tabsLayout=icon-right] .tab-button ion-icon, .md [tabsLayout=icon-left] .tab-button ion-icon { min-width: 24px; } .md [tabsLayout=icon-hide] .tab-button, .md [tabsLayout=title-hide] .tab-button, .md .tab-button.icon-only, .md .tab-button.has-title-only { padding: 6px 10px; } .md [tabsHighlight=true] tab-highlight { position: absolute; bottom: 0; left: 0; display: block; width: 1px; height: 2px; background: #327eff; -webkit-transform: translateZ(0); transform: translateZ(0); -webkit-transform-origin: 0 0; transform-origin: 0 0; } .md [tabsHighlight=true] tab-highlight.animate { -webkit-transition-duration: 300ms; transition-duration: 300ms; } .md [tabsHighlight=true][tabsPlacement=bottom] tab-highlight { top: 0; } .md .tabs-primary ion-tabbar { background-color: #327eff; } .md .tabs-primary ion-tabbar .tab-button { color: rgba(255, 255, 255, 0.7); } .md .tabs-primary ion-tabbar .tab-button:hover:not(.disable-hover), .md .tabs-primary ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .md .tabs-primary ion-tabbar tab-highlight { background: #fff; } .md .tabs-secondary ion-tabbar { background-color: #32db64; } .md .tabs-secondary ion-tabbar .tab-button { color: rgba(255, 255, 255, 0.7); } .md .tabs-secondary ion-tabbar .tab-button:hover:not(.disable-hover), .md .tabs-secondary ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .md .tabs-secondary ion-tabbar tab-highlight { background: #fff; } .md .tabs-danger ion-tabbar { background-color: #f53d3d; } .md .tabs-danger ion-tabbar .tab-button { color: rgba(255, 255, 255, 0.7); } .md .tabs-danger ion-tabbar .tab-button:hover:not(.disable-hover), .md .tabs-danger ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .md .tabs-danger ion-tabbar tab-highlight { background: #fff; } .md .tabs-light ion-tabbar { background-color: #f4f4f4; } .md .tabs-light ion-tabbar .tab-button { color: rgba(0, 0, 0, 0.7); } .md .tabs-light ion-tabbar .tab-button:hover:not(.disable-hover), .md .tabs-light ion-tabbar .tab-button[aria-selected=true] { color: #000; } .md .tabs-light ion-tabbar tab-highlight { background: #000; } .md .tabs-dark ion-tabbar { background-color: #222; } .md .tabs-dark ion-tabbar .tab-button { color: rgba(255, 255, 255, 0.7); } .md .tabs-dark ion-tabbar .tab-button:hover:not(.disable-hover), .md .tabs-dark ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .md .tabs-dark ion-tabbar tab-highlight { background: #fff; } .md ion-toggle { position: relative; } .md .toggle-icon { position: relative; display: block; width: 36px; height: 14px; border-radius: 14px; background-color: #dedede; -webkit-transition: background-color 300ms; transition: background-color 300ms; pointer-events: none; } .md .toggle-inner { position: absolute; top: -3px; left: 0; width: 20px; height: 20px; border-radius: 50%; background-color: #fff; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); -webkit-transition-duration: 300ms; transition-duration: 300ms; -webkit-transition-property: -webkit-transform, background-color; transition-property: transform, background-color; } .md .toggle-checked { background-color: #b2ceff; } .md .toggle-checked .toggle-inner { background-color: #327eff; -webkit-transform: translate3d(16px, 0, 0); transform: translate3d(16px, 0, 0); } .md .toggle-disabled, .md .item-toggle-disabled ion-label { opacity: 0.3; pointer-events: none; } .md .toggle-disabled ion-radio { opacity: 0.3; } .md .item ion-toggle { margin: 0; padding: 12px 8px 12px 16px; cursor: pointer; } .md .item ion-toggle[item-left] { padding: 12px 18px 12px 2px; } .md .item-toggle ion-label { margin-left: 0; } .md .toggle-primary .toggle-checked { background-color: #b2ceff; } .md .toggle-primary .toggle-checked .toggle-inner { background-color: #327eff; } .md .toggle-secondary .toggle-checked { background-color: #9eeeb6; } .md .toggle-secondary .toggle-checked .toggle-inner { background-color: #32db64; } .md .toggle-danger .toggle-checked { background-color: #fbb6b6; } .md .toggle-danger .toggle-checked .toggle-inner { background-color: #f53d3d; } .md .toggle-light .toggle-checked { background-color: white; } .md .toggle-light .toggle-checked .toggle-inner { background-color: #f4f4f4; } .md .toggle-dark .toggle-checked { background-color: #626262; } .md .toggle-dark .toggle-checked .toggle-inner { background-color: #222; } .md ion-toast { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; pointer-events: none; } .md .toast-container { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; pointer-events: auto; } .md .toast-button { padding: 19px 16px 17px; font-size: 1.5rem; } .md .toast-message { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; } .md .toast-wrapper { position: absolute; right: 0; left: 0; z-index: 10; display: block; margin: auto; width: 100%; max-width: 700px; background: #333; } .md .toast-wrapper.toast-top { top: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } .md .toast-wrapper.toast-bottom { bottom: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .md .toast-wrapper.toast-middle { opacity: .01; } .md .toast-message { padding: 19px 16px 17px; font-size: 1.5rem; color: #fff; } .md .toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; width: 100%; } .md .toolbar-background { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; border: 0; -webkit-transform: translateZ(0); transform: translateZ(0); pointer-events: none; } .md ion-title { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-transform: translateZ(0); transform: translateZ(0); } .md .toolbar-title { display: block; overflow: hidden; width: 100%; text-overflow: ellipsis; white-space: nowrap; } .md ion-buttons { display: block; margin: 0 .2rem; -webkit-transform: translateZ(0); transform: translateZ(0); pointer-events: none; } .md ion-buttons button, .md ion-buttons a, .md ion-buttons input, .md ion-buttons textarea, .md ion-buttons div { pointer-events: auto; } .md .toolbar[transparent] .toolbar-background { border-color: transparent; background: transparent; } .md ion-buttons, .md .bar-button-menutoggle { z-index: 99; -webkit-transform: translateZ(0); transform: translateZ(0); } .md ion-navbar.toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; opacity: 0; -webkit-transform: translateZ(0); transform: translateZ(0); } .md ion-navbar.toolbar.show-navbar { opacity: 1; } .md .bar-button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; position: relative; display: inline-block; margin: 0; padding: 0; line-height: 1; text-align: center; text-overflow: ellipsis; text-transform: none; white-space: nowrap; cursor: pointer; vertical-align: top; vertical-align: -webkit-baseline-middle; } .md .bar-button::after { position: absolute; top: -7px; right: -2px; bottom: -6px; left: -2px; content: ""; } .md .bar-button-menutoggle { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .md .back-button { display: none; } .md .back-button.show-back-button { display: inline-block; } .md .back-button-text { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .md .toolbar { padding: 4px; min-height: 5.6rem; } .md .toolbar-background { border-color: #b2b2b2; background: #f8f8f8; } .md ion-header::after, .md [tabsPlacement="top"] > ion-tabbar::after, .md ion-footer::before, .md [tabsPlacement="bottom"] > ion-tabbar::before { position: absolute; bottom: -5px; left: 0; width: 100%; height: 5px; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==); background-repeat: repeat-x; background-position: 0 -2px; content: ""; } .md ion-footer::before, .md [tabsPlacement="bottom"] > ion-tabbar::before { top: -2px; bottom: auto; height: 2px; background-position: 0 0; } .md ion-header[no-shadow]::after, .md ion-footer[no-shadow]::before, .md [tabsPlacement="top"][no-shadow] > ion-tabbar::after, .md [tabsPlacement="bottom"][no-shadow] > ion-tabbar::before { display: none; } .md .toolbar-content { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 4; -webkit-order: 3; -ms-flex-order: 3; order: 3; min-width: 0; max-width: 100%; } .md .toolbar-title { padding: 0 12px; font-size: 2rem; font-weight: 500; color: #424242; } .md ion-buttons { -webkit-box-ordinal-group: 5; -webkit-order: 4; -ms-flex-order: 4; order: 4; -webkit-transform: translateZ(0); transform: translateZ(0); } .md ion-buttons[left] { -webkit-box-ordinal-group: 3; -webkit-order: 2; -ms-flex-order: 2; order: 2; } .md ion-buttons[left] .bar-button:first-child { margin-left: 0; } .md ion-buttons[end] { -webkit-box-ordinal-group: 6; -webkit-order: 5; -ms-flex-order: 5; order: 5; text-align: right; } .md ion-buttons[right] { -webkit-box-ordinal-group: 7; -webkit-order: 6; -ms-flex-order: 6; order: 6; text-align: right; } .md .bar-button { margin-top: 0; margin-right: .2rem; margin-bottom: 0; margin-left: .2rem; padding: 0 5px; height: 32px; border: 0; border-radius: 2px; font-size: 1.4rem; font-weight: 500; text-transform: uppercase; } .md .bar-button-solid, .md .bar-button-outline { overflow: hidden; } .md .bar-button-outline { border-width: 1px; border-style: solid; border-color: #424242; color: #424242; background-color: transparent; } .md .bar-button-outline:hover:not(.disable-hover) { opacity: .4; } .md .bar-button-outline.activated { background-color: transparent; } .md .bar-button-outline ion-button-effect { background-color: #424242; } .md .bar-button-solid { color: #fff; background-color: #424242; } .md .bar-button-solid:hover:not(.disable-hover) { color: #fff; } .md .bar-button-solid.activated { color: #fff; background-color: #515151; } .md .bar-button-icon-left ion-icon { padding-right: .3em; font-size: 1.4em; line-height: .67; pointer-events: none; } .md .bar-button-icon-right ion-icon { padding-left: .4em; font-size: 1.4em; line-height: .67; pointer-events: none; } .md .bar-button[icon-only] { padding: 0; } .md .bar-button[icon-only] ion-icon { padding: 0 .1em; min-width: 28px; font-size: 1.8em; line-height: .67; pointer-events: none; } .md .back-button { margin: 0 6px; min-width: 44px; box-shadow: none; } .md .back-button-icon { margin: 0; padding: 0 6px; font-size: 2.4rem; font-weight: normal; text-align: left; } .md .bar-button-menutoggle { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; margin: 0 6px; padding: 0 2px; min-width: 44px; } .md .bar-button-menutoggle ion-icon { padding: 0 6px; font-size: 2.4rem; } .md .bar-button-menutoggle[end], .md .bar-button-menutoggle[right] { -webkit-box-ordinal-group: 8; -webkit-order: 7; -ms-flex-order: 7; order: 7; margin: 0 2px; min-width: 28px; } .md .bar-button-clear-default, .md .bar-button-default { color: #424242; background-color: transparent; } .md .bar-button-clear-default:hover:not(.disable-hover), .md .bar-button-default:hover:not(.disable-hover) { color: #424242; } .md .bar-button-clear-clear, .md .bar-button-clear { color: #424242; background-color: transparent; } .md .bar-button-clear-clear:hover:not(.disable-hover), .md .bar-button-clear:hover:not(.disable-hover) { color: #424242; } .md .toolbar-primary .toolbar-background { background: #327eff; } .md .toolbar-primary .bar-button-clear, .md .toolbar-primary .bar-button-default, .md .toolbar-primary .bar-button-outline, .md .toolbar-primary .toolbar-title { color: #fff; } .md .toolbar-primary .bar-button-clear ion-button-effect, .md .toolbar-primary .bar-button-default ion-button-effect, .md .toolbar-primary .bar-button-outline ion-button-effect { background-color: #fff; } .md .toolbar-primary .bar-button-outline { border-color: #fff; } .md .toolbar-primary .bar-button-clear-primary, .md .toolbar-primary .bar-button-primary { color: #327eff; background-color: transparent; } .md .toolbar-primary .bar-button-clear-primary:hover:not(.disable-hover), .md .toolbar-primary .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .md .toolbar-primary .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .md .toolbar-primary .bar-button-outline-primary.activated { background-color: transparent; } .md .toolbar-primary .bar-button-outline-primary ion-button-effect { background-color: #2e74eb; } .md .toolbar-primary .bar-button-solid-primary { color: #fff; background-color: #327eff; } .md .toolbar-primary .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .md .toolbar-primary .bar-button-clear-secondary, .md .toolbar-primary .bar-button-secondary { color: #32db64; background-color: transparent; } .md .toolbar-primary .bar-button-clear-secondary:hover:not(.disable-hover), .md .toolbar-primary .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .md .toolbar-primary .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .md .toolbar-primary .bar-button-outline-secondary.activated { background-color: transparent; } .md .toolbar-primary .bar-button-outline-secondary ion-button-effect { background-color: #2ec95c; } .md .toolbar-primary .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .md .toolbar-primary .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .md .toolbar-primary .bar-button-clear-danger, .md .toolbar-primary .bar-button-danger { color: #f53d3d; background-color: transparent; } .md .toolbar-primary .bar-button-clear-danger:hover:not(.disable-hover), .md .toolbar-primary .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .md .toolbar-primary .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .md .toolbar-primary .bar-button-outline-danger.activated { background-color: transparent; } .md .toolbar-primary .bar-button-outline-danger ion-button-effect { background-color: #e13838; } .md .toolbar-primary .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .md .toolbar-primary .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .md .toolbar-primary .bar-button-clear-light, .md .toolbar-primary .bar-button-light { color: #f4f4f4; background-color: transparent; } .md .toolbar-primary .bar-button-clear-light:hover:not(.disable-hover), .md .toolbar-primary .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .md .toolbar-primary .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .md .toolbar-primary .bar-button-outline-light.activated { background-color: transparent; } .md .toolbar-primary .bar-button-outline-light ion-button-effect { background-color: #e0e0e0; } .md .toolbar-primary .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .md .toolbar-primary .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .md .toolbar-primary .bar-button-clear-dark, .md .toolbar-primary .bar-button-dark { color: #222; background-color: transparent; } .md .toolbar-primary .bar-button-clear-dark:hover:not(.disable-hover), .md .toolbar-primary .bar-button-dark:hover:not(.disable-hover) { color: #222; } .md .toolbar-primary .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .md .toolbar-primary .bar-button-outline-dark.activated { background-color: transparent; } .md .toolbar-primary .bar-button-outline-dark ion-button-effect { background-color: #343434; } .md .toolbar-primary .bar-button-solid-dark { color: #fff; background-color: #222; } .md .toolbar-primary .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .md .bar-button-clear-primary, .md .bar-button-primary { color: #327eff; background-color: transparent; } .md .bar-button-clear-primary:hover:not(.disable-hover), .md .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .md .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .md .bar-button-outline-primary.activated { background-color: transparent; } .md .bar-button-outline-primary ion-button-effect { background-color: #2e74eb; } .md .bar-button-solid-primary { color: #fff; background-color: #327eff; } .md .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .md .toolbar-secondary .toolbar-background { background: #32db64; } .md .toolbar-secondary .bar-button-clear, .md .toolbar-secondary .bar-button-default, .md .toolbar-secondary .bar-button-outline, .md .toolbar-secondary .toolbar-title { color: #fff; } .md .toolbar-secondary .bar-button-clear ion-button-effect, .md .toolbar-secondary .bar-button-default ion-button-effect, .md .toolbar-secondary .bar-button-outline ion-button-effect { background-color: #fff; } .md .toolbar-secondary .bar-button-outline { border-color: #fff; } .md .toolbar-secondary .bar-button-clear-primary, .md .toolbar-secondary .bar-button-primary { color: #327eff; background-color: transparent; } .md .toolbar-secondary .bar-button-clear-primary:hover:not(.disable-hover), .md .toolbar-secondary .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .md .toolbar-secondary .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .md .toolbar-secondary .bar-button-outline-primary.activated { background-color: transparent; } .md .toolbar-secondary .bar-button-outline-primary ion-button-effect { background-color: #2e74eb; } .md .toolbar-secondary .bar-button-solid-primary { color: #fff; background-color: #327eff; } .md .toolbar-secondary .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .md .toolbar-secondary .bar-button-clear-secondary, .md .toolbar-secondary .bar-button-secondary { color: #32db64; background-color: transparent; } .md .toolbar-secondary .bar-button-clear-secondary:hover:not(.disable-hover), .md .toolbar-secondary .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .md .toolbar-secondary .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .md .toolbar-secondary .bar-button-outline-secondary.activated { background-color: transparent; } .md .toolbar-secondary .bar-button-outline-secondary ion-button-effect { background-color: #2ec95c; } .md .toolbar-secondary .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .md .toolbar-secondary .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .md .toolbar-secondary .bar-button-clear-danger, .md .toolbar-secondary .bar-button-danger { color: #f53d3d; background-color: transparent; } .md .toolbar-secondary .bar-button-clear-danger:hover:not(.disable-hover), .md .toolbar-secondary .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .md .toolbar-secondary .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .md .toolbar-secondary .bar-button-outline-danger.activated { background-color: transparent; } .md .toolbar-secondary .bar-button-outline-danger ion-button-effect { background-color: #e13838; } .md .toolbar-secondary .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .md .toolbar-secondary .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .md .toolbar-secondary .bar-button-clear-light, .md .toolbar-secondary .bar-button-light { color: #f4f4f4; background-color: transparent; } .md .toolbar-secondary .bar-button-clear-light:hover:not(.disable-hover), .md .toolbar-secondary .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .md .toolbar-secondary .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .md .toolbar-secondary .bar-button-outline-light.activated { background-color: transparent; } .md .toolbar-secondary .bar-button-outline-light ion-button-effect { background-color: #e0e0e0; } .md .toolbar-secondary .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .md .toolbar-secondary .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .md .toolbar-secondary .bar-button-clear-dark, .md .toolbar-secondary .bar-button-dark { color: #222; background-color: transparent; } .md .toolbar-secondary .bar-button-clear-dark:hover:not(.disable-hover), .md .toolbar-secondary .bar-button-dark:hover:not(.disable-hover) { color: #222; } .md .toolbar-secondary .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .md .toolbar-secondary .bar-button-outline-dark.activated { background-color: transparent; } .md .toolbar-secondary .bar-button-outline-dark ion-button-effect { background-color: #343434; } .md .toolbar-secondary .bar-button-solid-dark { color: #fff; background-color: #222; } .md .toolbar-secondary .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .md .bar-button-clear-secondary, .md .bar-button-secondary { color: #32db64; background-color: transparent; } .md .bar-button-clear-secondary:hover:not(.disable-hover), .md .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .md .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .md .bar-button-outline-secondary.activated { background-color: transparent; } .md .bar-button-outline-secondary ion-button-effect { background-color: #2ec95c; } .md .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .md .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .md .toolbar-danger .toolbar-background { background: #f53d3d; } .md .toolbar-danger .bar-button-clear, .md .toolbar-danger .bar-button-default, .md .toolbar-danger .bar-button-outline, .md .toolbar-danger .toolbar-title { color: #fff; } .md .toolbar-danger .bar-button-clear ion-button-effect, .md .toolbar-danger .bar-button-default ion-button-effect, .md .toolbar-danger .bar-button-outline ion-button-effect { background-color: #fff; } .md .toolbar-danger .bar-button-outline { border-color: #fff; } .md .toolbar-danger .bar-button-clear-primary, .md .toolbar-danger .bar-button-primary { color: #327eff; background-color: transparent; } .md .toolbar-danger .bar-button-clear-primary:hover:not(.disable-hover), .md .toolbar-danger .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .md .toolbar-danger .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .md .toolbar-danger .bar-button-outline-primary.activated { background-color: transparent; } .md .toolbar-danger .bar-button-outline-primary ion-button-effect { background-color: #2e74eb; } .md .toolbar-danger .bar-button-solid-primary { color: #fff; background-color: #327eff; } .md .toolbar-danger .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .md .toolbar-danger .bar-button-clear-secondary, .md .toolbar-danger .bar-button-secondary { color: #32db64; background-color: transparent; } .md .toolbar-danger .bar-button-clear-secondary:hover:not(.disable-hover), .md .toolbar-danger .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .md .toolbar-danger .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .md .toolbar-danger .bar-button-outline-secondary.activated { background-color: transparent; } .md .toolbar-danger .bar-button-outline-secondary ion-button-effect { background-color: #2ec95c; } .md .toolbar-danger .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .md .toolbar-danger .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .md .toolbar-danger .bar-button-clear-danger, .md .toolbar-danger .bar-button-danger { color: #f53d3d; background-color: transparent; } .md .toolbar-danger .bar-button-clear-danger:hover:not(.disable-hover), .md .toolbar-danger .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .md .toolbar-danger .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .md .toolbar-danger .bar-button-outline-danger.activated { background-color: transparent; } .md .toolbar-danger .bar-button-outline-danger ion-button-effect { background-color: #e13838; } .md .toolbar-danger .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .md .toolbar-danger .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .md .toolbar-danger .bar-button-clear-light, .md .toolbar-danger .bar-button-light { color: #f4f4f4; background-color: transparent; } .md .toolbar-danger .bar-button-clear-light:hover:not(.disable-hover), .md .toolbar-danger .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .md .toolbar-danger .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .md .toolbar-danger .bar-button-outline-light.activated { background-color: transparent; } .md .toolbar-danger .bar-button-outline-light ion-button-effect { background-color: #e0e0e0; } .md .toolbar-danger .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .md .toolbar-danger .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .md .toolbar-danger .bar-button-clear-dark, .md .toolbar-danger .bar-button-dark { color: #222; background-color: transparent; } .md .toolbar-danger .bar-button-clear-dark:hover:not(.disable-hover), .md .toolbar-danger .bar-button-dark:hover:not(.disable-hover) { color: #222; } .md .toolbar-danger .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .md .toolbar-danger .bar-button-outline-dark.activated { background-color: transparent; } .md .toolbar-danger .bar-button-outline-dark ion-button-effect { background-color: #343434; } .md .toolbar-danger .bar-button-solid-dark { color: #fff; background-color: #222; } .md .toolbar-danger .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .md .bar-button-clear-danger, .md .bar-button-danger { color: #f53d3d; background-color: transparent; } .md .bar-button-clear-danger:hover:not(.disable-hover), .md .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .md .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .md .bar-button-outline-danger.activated { background-color: transparent; } .md .bar-button-outline-danger ion-button-effect { background-color: #e13838; } .md .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .md .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .md .toolbar-light .toolbar-background { background: #f4f4f4; } .md .toolbar-light .bar-button-clear, .md .toolbar-light .bar-button-default, .md .toolbar-light .bar-button-outline, .md .toolbar-light .toolbar-title { color: #424242; } .md .toolbar-light .bar-button-clear ion-button-effect, .md .toolbar-light .bar-button-default ion-button-effect, .md .toolbar-light .bar-button-outline ion-button-effect { background-color: #424242; } .md .toolbar-light .bar-button-outline { border-color: #424242; } .md .toolbar-light .bar-button-clear-primary, .md .toolbar-light .bar-button-primary { color: #327eff; background-color: transparent; } .md .toolbar-light .bar-button-clear-primary:hover:not(.disable-hover), .md .toolbar-light .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .md .toolbar-light .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .md .toolbar-light .bar-button-outline-primary.activated { background-color: transparent; } .md .toolbar-light .bar-button-outline-primary ion-button-effect { background-color: #2e74eb; } .md .toolbar-light .bar-button-solid-primary { color: #fff; background-color: #327eff; } .md .toolbar-light .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .md .toolbar-light .bar-button-clear-secondary, .md .toolbar-light .bar-button-secondary { color: #32db64; background-color: transparent; } .md .toolbar-light .bar-button-clear-secondary:hover:not(.disable-hover), .md .toolbar-light .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .md .toolbar-light .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .md .toolbar-light .bar-button-outline-secondary.activated { background-color: transparent; } .md .toolbar-light .bar-button-outline-secondary ion-button-effect { background-color: #2ec95c; } .md .toolbar-light .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .md .toolbar-light .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .md .toolbar-light .bar-button-clear-danger, .md .toolbar-light .bar-button-danger { color: #f53d3d; background-color: transparent; } .md .toolbar-light .bar-button-clear-danger:hover:not(.disable-hover), .md .toolbar-light .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .md .toolbar-light .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .md .toolbar-light .bar-button-outline-danger.activated { background-color: transparent; } .md .toolbar-light .bar-button-outline-danger ion-button-effect { background-color: #e13838; } .md .toolbar-light .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .md .toolbar-light .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .md .toolbar-light .bar-button-clear-light, .md .toolbar-light .bar-button-light { color: #f4f4f4; background-color: transparent; } .md .toolbar-light .bar-button-clear-light:hover:not(.disable-hover), .md .toolbar-light .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .md .toolbar-light .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .md .toolbar-light .bar-button-outline-light.activated { background-color: transparent; } .md .toolbar-light .bar-button-outline-light ion-button-effect { background-color: #e0e0e0; } .md .toolbar-light .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .md .toolbar-light .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .md .toolbar-light .bar-button-clear-dark, .md .toolbar-light .bar-button-dark { color: #222; background-color: transparent; } .md .toolbar-light .bar-button-clear-dark:hover:not(.disable-hover), .md .toolbar-light .bar-button-dark:hover:not(.disable-hover) { color: #222; } .md .toolbar-light .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .md .toolbar-light .bar-button-outline-dark.activated { background-color: transparent; } .md .toolbar-light .bar-button-outline-dark ion-button-effect { background-color: #343434; } .md .toolbar-light .bar-button-solid-dark { color: #fff; background-color: #222; } .md .toolbar-light .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .md .bar-button-clear-light, .md .bar-button-light { color: #f4f4f4; background-color: transparent; } .md .bar-button-clear-light:hover:not(.disable-hover), .md .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .md .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .md .bar-button-outline-light.activated { background-color: transparent; } .md .bar-button-outline-light ion-button-effect { background-color: #e0e0e0; } .md .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .md .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .md .toolbar-dark .toolbar-background { background: #222; } .md .toolbar-dark .bar-button-clear, .md .toolbar-dark .bar-button-default, .md .toolbar-dark .bar-button-outline, .md .toolbar-dark .toolbar-title { color: #fff; } .md .toolbar-dark .bar-button-clear ion-button-effect, .md .toolbar-dark .bar-button-default ion-button-effect, .md .toolbar-dark .bar-button-outline ion-button-effect { background-color: #fff; } .md .toolbar-dark .bar-button-outline { border-color: #fff; } .md .toolbar-dark .bar-button-clear-primary, .md .toolbar-dark .bar-button-primary { color: #327eff; background-color: transparent; } .md .toolbar-dark .bar-button-clear-primary:hover:not(.disable-hover), .md .toolbar-dark .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .md .toolbar-dark .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .md .toolbar-dark .bar-button-outline-primary.activated { background-color: transparent; } .md .toolbar-dark .bar-button-outline-primary ion-button-effect { background-color: #2e74eb; } .md .toolbar-dark .bar-button-solid-primary { color: #fff; background-color: #327eff; } .md .toolbar-dark .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .md .toolbar-dark .bar-button-clear-secondary, .md .toolbar-dark .bar-button-secondary { color: #32db64; background-color: transparent; } .md .toolbar-dark .bar-button-clear-secondary:hover:not(.disable-hover), .md .toolbar-dark .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .md .toolbar-dark .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .md .toolbar-dark .bar-button-outline-secondary.activated { background-color: transparent; } .md .toolbar-dark .bar-button-outline-secondary ion-button-effect { background-color: #2ec95c; } .md .toolbar-dark .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .md .toolbar-dark .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .md .toolbar-dark .bar-button-clear-danger, .md .toolbar-dark .bar-button-danger { color: #f53d3d; background-color: transparent; } .md .toolbar-dark .bar-button-clear-danger:hover:not(.disable-hover), .md .toolbar-dark .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .md .toolbar-dark .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .md .toolbar-dark .bar-button-outline-danger.activated { background-color: transparent; } .md .toolbar-dark .bar-button-outline-danger ion-button-effect { background-color: #e13838; } .md .toolbar-dark .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .md .toolbar-dark .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .md .toolbar-dark .bar-button-clear-light, .md .toolbar-dark .bar-button-light { color: #f4f4f4; background-color: transparent; } .md .toolbar-dark .bar-button-clear-light:hover:not(.disable-hover), .md .toolbar-dark .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .md .toolbar-dark .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .md .toolbar-dark .bar-button-outline-light.activated { background-color: transparent; } .md .toolbar-dark .bar-button-outline-light ion-button-effect { background-color: #e0e0e0; } .md .toolbar-dark .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .md .toolbar-dark .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .md .toolbar-dark .bar-button-clear-dark, .md .toolbar-dark .bar-button-dark { color: #222; background-color: transparent; } .md .toolbar-dark .bar-button-clear-dark:hover:not(.disable-hover), .md .toolbar-dark .bar-button-dark:hover:not(.disable-hover) { color: #222; } .md .toolbar-dark .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .md .toolbar-dark .bar-button-outline-dark.activated { background-color: transparent; } .md .toolbar-dark .bar-button-outline-dark ion-button-effect { background-color: #343434; } .md .toolbar-dark .bar-button-solid-dark { color: #fff; background-color: #222; } .md .toolbar-dark .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .md .bar-button-clear-dark, .md .bar-button-dark { color: #222; background-color: transparent; } .md .bar-button-clear-dark:hover:not(.disable-hover), .md .bar-button-dark:hover:not(.disable-hover) { color: #222; } .md .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .md .bar-button-outline-dark.activated { background-color: transparent; } .md .bar-button-outline-dark ion-button-effect { background-color: #343434; } .md .bar-button-solid-dark { color: #fff; background-color: #222; } .md .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .md html { font-size: 62.5%; } .md a { background-color: transparent; } .md .enable-hover a:hover { opacity: .7; } .md h1, .md h2, .md h3, .md h4, .md h5, .md h6 { margin-top: 1.6rem; margin-bottom: 1rem; font-weight: 500; line-height: 1.2; } .md [padding] h1:first-child, .md [padding] h2:first-child, .md [padding] h3:first-child, .md [padding] h4:first-child, .md [padding] h5:first-child, .md [padding] h6:first-child { margin-top: -.3rem; } .md h1 + h2, .md h1 + h3, .md h2 + h3 { margin-top: -.3rem; } .md h1 { margin-top: 2rem; font-size: 2.6rem; } .md h2 { margin-top: 1.8rem; font-size: 2.4rem; } .md h3 { font-size: 2.2rem; } .md h4 { font-size: 2rem; } .md h5 { font-size: 1.8rem; } .md h6 { font-size: 1.6rem; } .md small { font-size: 75%; } .md sub, .md sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } .md sup { top: -.5em; } .md sub { bottom: -.25em; } .md [text-left] { text-align: left; } .md [text-center] { text-align: center; } .md [text-right] { text-align: right; } .md [text-justify] { text-align: justify; } .md [text-nowrap] { white-space: nowrap; } .md [text-uppercase] { text-transform: uppercase; } .md [text-lowercase] { text-transform: lowercase; } .md [text-capitalize] { text-transform: capitalize; } .md p { color: #000; } .md a { color: #327eff; } .md .text-primary { color: #327eff; } .md .text-secondary { color: #32db64; } .md .text-danger { color: #f53d3d; } .md .text-light { color: #f4f4f4; } .md .text-dark { color: #222; } .md ion-nav > ion-page > .toolbar.statusbar-padding:first-child, .md ion-nav > ion-page > ion-header > .toolbar.statusbar-padding:first-child, .md ion-tab > ion-page > ion-header > .toolbar.statusbar-padding:first-child, .md ion-tabs > ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child, .md ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child, .md ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child { padding-top: 20px; height: calc(5.6rem + 20px); min-height: calc(5.6rem + 20px); } .md ion-nav > ion-page > ion-content.statusbar-padding:first-child scroll-content, .md ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content, .md ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content, .md ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child scroll-content, .md ion-menu > .menu-inner > ion-content.statusbar-padding:first-child scroll-content, .md ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child scroll-content { padding-top: 20px; } .md ion-nav > ion-page > ion-content.statusbar-padding:first-child[padding] scroll-content, .md ion-nav > ion-page > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .md ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .md ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .md ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .md ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .md ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .md ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .md ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding] scroll-content, .md ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .md ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .md ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content { padding-top: calc(16px + 20px); } @media only screen and (max-width: 767px) { .md .modal-wrapper > ion-page > ion-header > .toolbar.statusbar-padding:first-child { padding-top: 20px; height: calc(5.6rem + 20px); min-height: calc(5.6rem + 20px); } .md .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content { padding-top: 20px; } .md .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .md .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content { padding-top: calc(16px + 20px); } } @font-face { font-family: "Roboto"; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: "Roboto"; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: "Roboto"; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: "Roboto"; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } .wp { font-family: "Segoe UI", "Noto Sans", sans-serif; font-size: 1.4rem; background-color: #fff; } .wp ion-content { color: #000; } .wp hr { background-color: rgba(0, 0, 0, 0.08); } .wp ion-action-sheet { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; } .wp .action-sheet-wrapper { position: absolute; right: 0; bottom: 0; left: 0; z-index: 10; display: block; margin: auto; width: 100%; max-width: 500px; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .wp .action-sheet-button { width: 100%; } .wp .action-sheet-wrapper { box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); } .wp .action-sheet-title { padding: 19px 16px 17px; font-size: 2rem; text-align: left; color: #4d4d4d; } .wp .action-sheet-button { padding: 0 16px; min-height: 4.8rem; font-size: 1.5rem; text-align: left; color: #4d4d4d; background: transparent; } .wp .action-sheet-button.activated { background: #aaa; } .wp .action-sheet-icon { margin: 0 16px 0 0; min-width: 24px; font-size: 2.4rem; text-align: center; vertical-align: middle; } .wp .action-sheet-group { background: #fff; } .wp .action-sheet-group:last-child .action-sheet-button { margin-bottom: 8px; } .wp .action-sheet-group .button-inner { -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } .wp .action-sheet-selected { font-weight: bold; } .wp .action-sheet-cancel { background: transparent; } .wp ion-alert { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .wp ion-alert input { width: 100%; } .wp .alert-wrapper { z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; min-width: 250px; max-height: 90%; opacity: 0; } .wp .alert-title { margin: 0; padding: 0; } .wp .alert-sub-title { margin: 5px 0 0; padding: 0; font-weight: normal; } .wp .alert-message { overflow-y: scroll; -webkit-overflow-scrolling: touch; } .wp .alert-input { padding: 10px 0; border: 0; background: inherit; } .wp .alert-input::-moz-placeholder { color: #999; } .wp .alert-input:-ms-input-placeholder { color: #999; } .wp .alert-input::-webkit-input-placeholder { text-indent: 0; color: #999; } .wp .alert-button-group { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .wp .alert-button-group.vertical { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .wp .alert-button { z-index: 0; display: block; margin: 0; font-size: 14px; line-height: 20px; } .wp .alert-tappable { margin: 0; padding: 0; width: 100%; font-size: inherit; line-height: initial; text-align: left; background: transparent; -webkit-appearance: none; } .wp ion-alert ion-backdrop { background: #fff; } .wp .alert-wrapper { width: 100%; max-width: 520px; border: 1px solid #327eff; border-radius: 0; background: #e6e6e6; } .wp .alert-head { padding: 20px 22px 5px 22px; text-align: left; } .wp .alert-title { font-size: 20px; font-weight: 400; } .wp .alert-sub-title { font-size: 16px; } .wp .alert-message, .wp .alert-input-group { padding: 0 22px 8px 22px; color: #000; } .wp .alert-message { max-height: 240px; font-size: 13px; } .wp .alert-message:empty { padding: 0; } .wp .alert-input { margin: 5px 0 5px 0; padding: 0 8px; border: 2px solid rgba(0, 0, 0, 0.5); line-height: 3rem; color: #000; } .wp .alert-input:focus { border-color: #327eff; } .wp .alert-radio-group, .wp .alert-checkbox-group { position: relative; overflow: auto; max-height: 240px; } .wp .alert-tappable { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; min-height: 4.4rem; } .wp .alert-radio-label { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 13px 26px; text-overflow: ellipsis; white-space: nowrap; } .wp .alert-radio-icon { position: relative; top: 0; left: 13px; display: block; margin: 0; width: 16px; height: 16px; border-width: 2px; border-style: solid; border-radius: 50%; border-color: rgba(0, 0, 0, 0.5); } .wp .alert-radio-inner { position: absolute; top: 2px; left: 2px; display: none; width: 8px; height: 8px; border-radius: 50%; background: #327eff; } .wp .alert-radio[aria-checked=true] .alert-radio-label { color: #000; } .wp .alert-radio[aria-checked=true] .alert-radio-icon { border-color: rgba(0, 0, 0, 0.5); } .wp .alert-radio[aria-checked=true] .alert-radio-inner { display: block; } .wp .alert-checkbox-label { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 13px 26px; text-overflow: ellipsis; white-space: nowrap; } .wp .alert-checkbox[aria-checked=true] .alert-checkbox-label { color: initial; } .wp .alert-checkbox-icon { position: relative; top: 0; left: 13px; width: 16px; height: 16px; border-width: 2px; border-style: solid; border-radius: 0; border-color: rgba(0, 0, 0, 0.5); background: transparent; } .wp .alert-checkbox[aria-checked=true] .alert-checkbox-icon { border-color: #327eff; background: #327eff; } .wp .alert-checkbox[aria-checked=true] .alert-checkbox-inner { position: absolute; top: -2px; left: 3px; width: 6px; height: 12px; border-width: 1px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .wp .alert-button-group { -webkit-flex-wrap: wrap-reverse; -ms-flex-wrap: wrap-reverse; flex-wrap: wrap-reverse; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; padding: 20px 22px 20px 22px; } .wp .alert-button-group.vertical .alert-button { margin-top: 5px; width: 100%; } .wp .alert-button-group.vertical .alert-button:first-child:not(:only-child) { margin-top: 0; } .wp .alert-button { padding: 5px; width: 49.5%; border-radius: 0; font-weight: 400; color: #000; background: #b8b8b8; } .wp .alert-button:first-child:not(:only-child) { margin-right: 1%; } .wp .alert-button.activated { background: darkgray; } .wp ion-badge { display: inline-block; padding: 3px 8px; min-width: 10px; font-size: 1.3rem; font-weight: bold; line-height: 1; text-align: center; white-space: nowrap; vertical-align: baseline; } .wp ion-badge:empty { display: none; } .wp ion-badge { border-radius: 0; color: #fff; background-color: #327eff; } .wp .badge-primary { color: #fff; background-color: #327eff; } .wp .badge-secondary { color: #fff; background-color: #32db64; } .wp .badge-danger { color: #fff; background-color: #f53d3d; } .wp .badge-light { color: #000; background-color: #f4f4f4; } .wp .badge-dark { color: #fff; background-color: #222; } .wp .button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; position: relative; z-index: 0; display: inline-block; overflow: hidden; text-align: center; text-overflow: ellipsis; text-transform: none; white-space: nowrap; cursor: pointer; vertical-align: top; vertical-align: -webkit-baseline-middle; -webkit-transition: background-color, opacity 100ms linear; transition: background-color, opacity 100ms linear; -webkit-font-kerning: none; font-kerning: none; } .wp .button-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; width: 100%; height: 100%; } .wp [ion-button] { text-decoration: none; } .wp a[disabled], .wp button[disabled], .wp [ion-button][disabled] { cursor: default; opacity: .4; pointer-events: none; } .wp .button-block { display: block; clear: both; width: 100%; } .wp .button-block::after { clear: both; } .wp .button-full { display: block; width: 100%; } .wp .button-full.button-outline { border-right-width: 0; border-left-width: 0; border-radius: 0; } .wp .button { margin: 0.4rem 0.2rem; padding: 0 1.1em; height: 3.6rem; border: 3px solid transparent; border-radius: 0; font-size: 1.4rem; color: #fff; background-color: #327eff; } .wp .button:hover:not(.disable-hover) { border-color: #2e74eb; background-color: #327eff; } .wp .button.activated { background-color: #2e74eb; } .wp .button-large { padding: 0 1em; height: 2.8em; font-size: 2rem; } .wp .button-small { padding: 0 0.9em; height: 2.1em; font-size: 1.3rem; } .wp .button-small[icon-only] ion-icon { font-size: 1.4em; } .wp .button-block { margin-right: 0; margin-left: 0; } .wp .button-full { margin-right: 0; margin-left: 0; border-right-width: 0; border-left-width: 0; border-radius: 0; } .wp .button-outline { border-width: 1px; border-style: solid; border-color: #327eff; color: #327eff; background-color: transparent; } .wp .button-outline:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .wp .button-outline.activated { background-color: rgba(50, 126, 255, 0.16); } .wp .button-clear { color: #327eff; background-color: transparent; } .wp .button-clear.activated { background-color: rgba(158, 158, 158, 0.2); } .wp .button-clear:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .wp .button-round { padding: 0 2.6rem; border-radius: 64px; } .wp .button-fab { border-radius: 50%; } .wp [icon-only] { padding: 0; } .wp ion-button-effect { display: none; } .wp .button-primary { color: #fff; background-color: #327eff; } .wp .button-primary:hover:not(.disable-hover) { border-color: #2e74eb; background-color: #327eff; } .wp .button-primary.activated { background-color: #2e74eb; } .wp .button-outline-primary { border-color: #3078f2; color: #3078f2; background-color: transparent; } .wp .button-outline-primary:hover:not(.disable-hover) { border-color: #3078f2; background-color: rgba(158, 158, 158, 0.1); } .wp .button-outline-primary.activated { background-color: rgba(48, 120, 242, 0.16); } .wp .button-clear-primary { color: #327eff; background-color: transparent; } .wp .button-clear-primary.activated { background-color: rgba(158, 158, 158, 0.2); } .wp .button-clear-primary:hover:not(.disable-hover) { color: #327eff; } .wp .button-secondary { color: #fff; background-color: #32db64; } .wp .button-secondary:hover:not(.disable-hover) { border-color: #2ec95c; background-color: #32db64; } .wp .button-secondary.activated { background-color: #2ec95c; } .wp .button-outline-secondary { border-color: #30d05f; color: #30d05f; background-color: transparent; } .wp .button-outline-secondary:hover:not(.disable-hover) { border-color: #30d05f; background-color: rgba(158, 158, 158, 0.1); } .wp .button-outline-secondary.activated { background-color: rgba(48, 208, 95, 0.16); } .wp .button-clear-secondary { color: #32db64; background-color: transparent; } .wp .button-clear-secondary.activated { background-color: rgba(158, 158, 158, 0.2); } .wp .button-clear-secondary:hover:not(.disable-hover) { color: #32db64; } .wp .button-danger { color: #fff; background-color: #f53d3d; } .wp .button-danger:hover:not(.disable-hover) { border-color: #e13838; background-color: #f53d3d; } .wp .button-danger.activated { background-color: #e13838; } .wp .button-outline-danger { border-color: #e93a3a; color: #e93a3a; background-color: transparent; } .wp .button-outline-danger:hover:not(.disable-hover) { border-color: #e93a3a; background-color: rgba(158, 158, 158, 0.1); } .wp .button-outline-danger.activated { background-color: rgba(233, 58, 58, 0.16); } .wp .button-clear-danger { color: #f53d3d; background-color: transparent; } .wp .button-clear-danger.activated { background-color: rgba(158, 158, 158, 0.2); } .wp .button-clear-danger:hover:not(.disable-hover) { color: #f53d3d; } .wp .button-light { color: #000; background-color: #f4f4f4; } .wp .button-light:hover:not(.disable-hover) { border-color: #e0e0e0; background-color: #f4f4f4; } .wp .button-light.activated { background-color: #e0e0e0; } .wp .button-outline-light { border-color: #e8e8e8; color: #e8e8e8; background-color: transparent; } .wp .button-outline-light:hover:not(.disable-hover) { border-color: #e8e8e8; background-color: rgba(158, 158, 158, 0.1); } .wp .button-outline-light.activated { background-color: rgba(232, 232, 232, 0.16); } .wp .button-clear-light { color: #f4f4f4; background-color: transparent; } .wp .button-clear-light.activated { background-color: rgba(158, 158, 158, 0.2); } .wp .button-clear-light:hover:not(.disable-hover) { color: #f4f4f4; } .wp .button-dark { color: #fff; background-color: #222; } .wp .button-dark:hover:not(.disable-hover) { border-color: #343434; background-color: #222; } .wp .button-dark.activated { background-color: #343434; } .wp .button-outline-dark { border-color: #2d2d2d; color: #2d2d2d; background-color: transparent; } .wp .button-outline-dark:hover:not(.disable-hover) { border-color: #2d2d2d; background-color: rgba(158, 158, 158, 0.1); } .wp .button-outline-dark.activated { background-color: rgba(45, 45, 45, 0.16); } .wp .button-clear-dark { color: #222; background-color: transparent; } .wp .button-clear-dark.activated { background-color: rgba(158, 158, 158, 0.2); } .wp .button-clear-dark:hover:not(.disable-hover) { color: #222; } .wp .button-fab { position: absolute; overflow: hidden; width: 56px; min-width: 0; height: 56px; font-size: 14px; line-height: 56px; vertical-align: middle; background-clip: padding-box; } .wp .button-fab ion-icon { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; font-size: 2.8rem; } .wp [fab-center] { left: 50%; margin-left: -28px; } .wp [fab-top] { top: 16px; } .wp [fab-right] { right: 16px; } .wp [fab-bottom] { bottom: 16px; } .wp [fab-left] { left: 16px; } .wp [fab-fixed] { position: fixed; } .wp [icon-left] ion-icon { font-size: 1.4em; line-height: .67; pointer-events: none; padding-right: .3em; } .wp [icon-right] ion-icon { font-size: 1.4em; line-height: .67; pointer-events: none; padding-left: .4em; } .wp [icon-only] { padding: 0; min-width: .9em; } .wp [icon-only] ion-icon { padding: 0 .5em; font-size: 1.8em; line-height: .67; pointer-events: none; } .wp ion-card { display: block; overflow: hidden; } .wp ion-card img { display: block; width: 100%; } .wp ion-card-header { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .wp ion-card-content { display: block; } .wp ion-card { margin: 8px 8px 8px 8px; width: calc(100% - 16px); border-radius: 1px; font-size: 1.4rem; background: #fff; box-shadow: 0 1px 1px 1px rgba(0, 0, 0, 0.2); } .wp ion-card ion-list { margin-bottom: 0; } .wp ion-card > .item:last-child, .wp ion-card > .item-wrapper:last-child .item { border-bottom: 0; } .wp ion-card .item .item-inner { border: 0; } .wp ion-card ion-card-content { padding: 13px 16px 13px 16px; font-size: 1.4rem; line-height: 1.5; } .wp ion-card ion-card-header { padding: 16px; font-size: 1.6rem; color: #222; } .wp ion-card ion-card-header + ion-card-content, .wp ion-card .item + ion-card-content { padding-top: 0; } .wp ion-card ion-note[item-left], .wp ion-card ion-note[item-right] { font-size: 1.3rem; } .wp ion-card ion-card-title { display: block; margin: 2px 0; padding: 8px 0 8px 0; font-size: 2.4rem; line-height: 1.2; color: #222; } .wp ion-card h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; color: #222; } .wp ion-card h2 { margin: 2px 0; font-size: 1.6rem; font-weight: normal; color: #222; } .wp ion-card h3, .wp ion-card h4, .wp ion-card h5, .wp ion-card h6 { margin: 2px 0; font-size: 1.4rem; font-weight: normal; color: #222; } .wp ion-card p { margin: 0 0 2px; font-size: 1.4rem; font-weight: normal; line-height: 1.5; color: #222; } .wp ion-card + ion-card { margin-top: 0; } .wp ion-checkbox { position: relative; display: inline-block; } .wp .checkbox-icon { position: relative; width: 16px; height: 16px; border-width: 2px; border-style: solid; border-radius: 0; border-color: #333; background-color: #fff; } .wp .checkbox-checked { border-color: #327eff; background-color: #327eff; } .wp .checkbox-checked .checkbox-inner { position: absolute; top: -2px; left: 3px; width: 6px; height: 12px; border-width: 1px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .wp .checkbox-disabled, .wp .item-checkbox-disabled ion-label { opacity: 0.3; pointer-events: none; } .wp .item ion-checkbox { position: static; display: block; margin: 9px 16px 9px 4px; } .wp .item ion-checkbox[item-right] { margin: 11px 10px 10px 0; } .wp ion-checkbox + .item-inner ion-label { margin-left: 0; } .wp .checkbox-primary .checkbox-checked { border-color: #327eff; background-color: #327eff; } .wp .checkbox-primary .checkbox-checked .checkbox-inner { border-color: #fff; } .wp .checkbox-secondary .checkbox-checked { border-color: #32db64; background-color: #32db64; } .wp .checkbox-secondary .checkbox-checked .checkbox-inner { border-color: #fff; } .wp .checkbox-danger .checkbox-checked { border-color: #f53d3d; background-color: #f53d3d; } .wp .checkbox-danger .checkbox-checked .checkbox-inner { border-color: #fff; } .wp .checkbox-light .checkbox-checked { border-color: #f4f4f4; background-color: #f4f4f4; } .wp .checkbox-light .checkbox-checked .checkbox-inner { border-color: #000; } .wp .checkbox-dark .checkbox-checked { border-color: #222; background-color: #222; } .wp .checkbox-dark .checkbox-checked .checkbox-inner { border-color: #fff; } .wp ion-chip { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; font-weight: normal; vertical-align: middle; box-sizing: border-box; } .wp ion-chip .button { margin: 0; width: 32px; height: 32px; border-radius: 50%; } .wp ion-chip ion-icon { width: 32px; height: 32px; border-radius: 50%; font-size: 18px; line-height: 32px; } .wp ion-chip ion-avatar { width: 32px; min-width: 32px; height: 32px; min-height: 32px; border-radius: 50%; } .wp ion-chip ion-avatar img { display: block; width: 100%; max-width: 100%; height: 100%; max-height: 100%; border-radius: 50%; } .wp ion-chip { margin: 2px 0; height: 32px; border-radius: 16px; font-size: 13px; line-height: 32px; color: rgba(0, 0, 0, 0.87); background: rgba(0, 0, 0, 0.12); } .wp ion-chip > ion-label { margin: 0 10px; } .wp ion-chip > ion-icon { color: #fff; background-color: #327eff; } .wp ion-chip .button { border: 0; } .wp .chip-primary, .wp ion-chip .icon-primary { color: #fff; background-color: #327eff; } .wp .chip-secondary, .wp ion-chip .icon-secondary { color: #fff; background-color: #32db64; } .wp .chip-danger, .wp ion-chip .icon-danger { color: #fff; background-color: #f53d3d; } .wp .chip-light, .wp ion-chip .icon-light { color: #000; background-color: #f4f4f4; } .wp .chip-dark, .wp ion-chip .icon-dark { color: #fff; background-color: #222; } .wp [no-padding], .wp [no-padding] scroll-content { padding: 0; } .wp [no-margin], .wp [no-margin] scroll-content { margin: 0; } .wp ion-fixed { position: absolute; z-index: 2; -webkit-transform: translateZ(0); transform: translateZ(0); } .wp ion-content { background-color: #fff; } .wp [padding], .wp [padding] scroll-content { padding: 16px; } .wp [padding-top], .wp [padding-top] scroll-content { padding-top: 16px; } .wp [padding-left], .wp [padding-left] scroll-content { padding-left: 16px; } .wp [padding-right], .wp [padding-right] scroll-content { padding-right: 16px; } .wp [padding-bottom], .wp [padding-bottom] scroll-content { padding-bottom: 16px; } .wp [padding-vertical], .wp [padding-vertical] scroll-content { padding-top: 16px; padding-bottom: 16px; } .wp [padding-horizontal], .wp [padding-horizontal] scroll-content { padding-right: 16px; padding-left: 16px; } .wp [margin], .wp [margin] scroll-content { margin: 16px; } .wp [margin-top], .wp [margin-top] scroll-content { margin-top: 16px; } .wp [margin-left], .wp [margin-left] scroll-content { margin-left: 16px; } .wp [margin-right], .wp [margin-right] scroll-content { margin-right: 16px; } .wp [margin-bottom], .wp [margin-bottom] scroll-content { margin-bottom: 16px; } .wp [margin-vertical], .wp [margin-vertical] scroll-content { margin-top: 16px; margin-bottom: 16px; } .wp [margin-horizontal], .wp [margin-horizontal] scroll-content { margin-right: 16px; margin-left: 16px; } .wp ion-datetime { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; } .wp .datetime-text { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 16px; min-height: 1.2em; font-size: inherit; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; } .wp .datetime-disabled, .wp .item-datetime-disabled ion-label { opacity: .4; pointer-events: none; } .wp .item-label-stacked ion-datetime, .wp .item-label-floating ion-datetime { padding-left: 0; width: 100%; } .wp ion-datetime { padding: 13px 8px 13px 16px; min-width: 45%; } .wp .datetime-text { padding: 0 8px; min-height: 3.4rem; border: 2px solid rgba(0, 0, 0, 0.5); line-height: 3rem; } .wp .item-datetime ion-label[floating] { -webkit-transform: translate3d(8px, 41px, 0); transform: translate3d(8px, 41px, 0); } .wp ion-icon { display: inline-block; font-size: 1.2em; } .wp ion-icon[small] { min-height: 1.1em; font-size: 1.1em; } .wp .icon-primary { color: #327eff; } .wp .icon-secondary { color: #32db64; } .wp .icon-danger { color: #f53d3d; } .wp .icon-light { color: #f4f4f4; } .wp .icon-dark { color: #222; } .wp ion-input, .wp ion-textarea { position: relative; display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } .wp .item-input ion-input, .wp .item-input ion-textarea { position: static; } .wp .item.item-textarea { -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; } .wp .text-input { display: inline-block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 92%; width: calc(100% - 10px); border: 0; border-radius: 0; background: transparent; -webkit-appearance: none; } .wp .text-input::-moz-placeholder { color: #999; } .wp .text-input:-ms-input-placeholder { color: #999; } .wp .text-input::-webkit-input-placeholder { text-indent: 0; color: #999; } .wp textarea.text-input { display: block; } .wp .text-input[disabled] { opacity: .4; } .wp input.text-input:-webkit-autofill { background-color: transparent; } .wp .platform-mobile textarea.text-input { resize: none; } .wp .input-cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .wp .input-has-focus .input-cover { display: none; } .wp .input-has-focus { pointer-events: none; } .wp .input-has-focus input, .wp .input-has-focus textarea, .wp .input-has-focus a, .wp .input-has-focus button { pointer-events: auto; } .wp [next-input] { position: absolute; bottom: 1px; padding: 0; width: 1px; height: 1px; border: 0; background: transparent; pointer-events: none; } .wp .text-input-clear-icon { position: absolute; top: 0; display: none; margin: 0; padding: 0; height: 100%; background-repeat: no-repeat; background-position: center; } .wp .input-has-focus.input-has-value .text-input-clear-icon { display: block; } .wp .text-input.cloned-input { position: relative; top: 0; pointer-events: none; } .wp .item-input:not(.item-label-floating) .text-input.cloned-active { display: none; } .wp .text-input { margin: 13px 8px 13px 8px; padding: 0 8px; width: calc(100% - 8px - 8px); border: 2px solid rgba(0, 0, 0, 0.5); line-height: 3rem; } .wp .inset-input { margin: 6.5px 16px 6.5px 16px; padding: 6.5px 8px 6.5px 8px; } .wp .item-input.input-has-focus .text-input { border-color: #327eff; } .wp .item-input.ng-valid.input-has-value:not(.input-has-focus) .text-input { border-color: #32db64; } .wp .item-input.ng-invalid.ng-touched:not(.input-has-focus) .text-input { border-color: #f53d3d; } .wp .item-label-stacked .text-input, .wp .item-label-floating .text-input, .wp .item-label-stacked ion-select, .wp .item-label-floating ion-select { margin-top: 8px; margin-bottom: 8px; margin-left: 0; width: calc(100% - 8px); } .wp .item-label-floating .text-input.cloned-input { top: 32px; } .wp .item-label-stacked .text-input.cloned-input { top: 27px; } .wp .item-label-stacked [item-right], .wp .item-label-floating [item-right] { -webkit-align-self: flex-end; -ms-flex-item-align: end; align-self: flex-end; } .wp ion-input[clearInput] { position: relative; } .wp ion-input[clearInput] .text-input { padding-right: 30px; } .wp .text-input-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); right: 8px; width: 30px; background-size: 22px; } .wp .item { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 4.4rem; border: 0; font-weight: normal; line-height: normal; text-align: initial; text-decoration: none; color: inherit; } .wp .item-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; margin: 0; padding: 0; min-height: inherit; border: 0; } .wp .input-wrapper { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; text-overflow: ellipsis; } .wp .item[no-lines], .wp .item[no-lines] .item-inner { border: 0; } .wp ion-item-group { display: block; } .wp ion-item-divider { z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 30px; } .wp ion-item-divider[sticky] { position: -webkit-sticky; position: sticky; top: 0; } .wp [vertical-align-top], .wp ion-input.item { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .wp .item > ion-icon[small]:first-child, .wp .item-inner > ion-icon[small]:first-child { min-width: 18px; } .wp .item > ion-icon:first-child, .wp .item-inner > ion-icon:first-child { min-width: 24px; text-align: center; } .wp .item > ion-icon, .wp .item-inner > ion-icon { min-height: 2.4rem; font-size: 2.4rem; line-height: 1; } .wp .item > ion-icon[large], .wp .item-inner > ion-icon[large] { min-height: 3.2rem; font-size: 3.2rem; } .wp .item > ion-icon[small], .wp .item-inner > ion-icon[small] { min-height: 1.8rem; font-size: 1.8rem; } .wp ion-avatar, .wp ion-thumbnail { display: block; line-height: 1; } .wp ion-avatar img, .wp ion-thumbnail img { display: block; } .wp .item-cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent; cursor: pointer; } .wp ion-item-sliding { position: relative; display: block; overflow: hidden; width: 100%; } .wp ion-item-sliding .item { position: static; } .wp ion-item-options { position: absolute; top: 0; right: 0; z-index: 1; display: none; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; height: 100%; font-size: 14px; visibility: hidden; } .wp ion-item-options[side=left] { right: auto; left: 0; -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } .wp ion-item-options .button { margin: 0; padding: 0 .7em; height: 100%; border-radius: 0; box-shadow: none; box-sizing: content-box; } .wp ion-item-options:not([icon-left]) .button .button-inner { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .wp ion-item-options:not([icon-left]) .button ion-icon { padding-right: 0; padding-bottom: .3em; padding-left: 0; } .wp ion-item-sliding.active-slide .item, .wp ion-item-sliding.active-slide .item.activated { position: relative; z-index: 2; opacity: 1; -webkit-transition: -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); transition: transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); pointer-events: none; will-change: transform; } .wp ion-item-sliding.active-slide ion-item-options { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .wp ion-item-sliding.active-slide.active-options-left ion-item-options[side=left] { width: 100%; visibility: visible; } .wp ion-item-sliding.active-slide.active-options-right ion-item-options:not([side=left]) { width: 100%; visibility: visible; } .wp .button-expandable { -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-transition-duration: 0; transition-duration: 0; -webkit-transition-property: none; transition-property: none; -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1); transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1); } .wp ion-item-sliding.active-swipe-right .button-expandable { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; padding-left: 90%; -webkit-transition-duration: .6s; transition-duration: .6s; -webkit-transition-property: padding-left; transition-property: padding-left; } .wp ion-item-sliding.active-swipe-left .button-expandable { -webkit-box-ordinal-group: 0; -webkit-order: -1; -ms-flex-order: -1; order: -1; padding-right: 90%; -webkit-transition-duration: .6s; transition-duration: .6s; -webkit-transition-property: padding-right; transition-property: padding-right; } .wp ion-reorder { display: none; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; max-width: 40px; height: 100%; font-size: 1.7em; opacity: .25; -webkit-transform: translate3d(120%, 0, 0); transform: translate3d(120%, 0, 0); -webkit-transition: -webkit-transform 125ms ease-in; transition: transform 125ms ease-in; pointer-events: all; -ms-touch-action: manipulation; touch-action: manipulation; } .wp ion-reorder ion-icon { pointer-events: none; } .wp .reorder-enabled ion-reorder { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .wp .reorder-visible ion-reorder { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .wp .reorder-list-active .item, .wp .reorder-list-active .item-wrapper { -webkit-transition: -webkit-transform 300ms; transition: transform 300ms; will-change: transform; } .wp .reorder-list-active .item-inner { pointer-events: none; } .wp .item-wrapper.reorder-active, .wp .item.reorder-active, .wp .reorder-active { z-index: 4; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); opacity: .8; -webkit-transition: none; transition: none; pointer-events: none; } .wp .item { position: relative; padding-right: 0; padding-left: 16px; font-size: 1.6rem; font-weight: normal; text-transform: none; color: #000; background-color: #fff; box-shadow: none; } .wp .item h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .wp .item h2 { margin: 2px 0; font-size: 1.6rem; font-weight: normal; } .wp .item h3, .wp .item h4, .wp .item h5, .wp .item h6 { margin: 2px 0; font-size: 1.4rem; font-weight: normal; line-height: normal; } .wp .item p { overflow: inherit; margin: 0 0 2px; font-size: 1.4rem; line-height: normal; text-overflow: inherit; color: #666; } .wp .item.activated { background-color: #aaa; } .wp .item[no-lines] { border-width: 0; } .wp .item .item-inner { padding-right: 8px; border-bottom: 1px solid transparent; } .wp [item-left], .wp [item-right] { margin: 9px 8px 9px 0; } .wp ion-icon[item-left], .wp ion-icon[item-right] { margin-top: 11px; margin-bottom: 10px; margin-left: 0; } .wp .item-button { padding: 0 .6em; height: 25px; font-size: 1.2rem; } .wp .item-button[icon-only] ion-icon, .wp .item-button[icon-only] { padding: 0 1px; } .wp [text-wrap] ion-label { font-size: 1.4rem; line-height: 1.5; } .wp ion-icon[item-left] + .item-inner, .wp ion-icon[item-left] + .item-input { margin-left: 8px; } .wp ion-avatar[item-left], .wp ion-thumbnail[item-left] { margin: 8px 16px 8px 0; } .wp ion-avatar[item-right], .wp ion-thumbnail[item-right] { margin: 8px; } .wp ion-avatar { min-width: 4rem; min-height: 4rem; } .wp ion-avatar img { max-width: 4rem; max-height: 4rem; border-radius: 2rem; } .wp ion-thumbnail { min-width: 8rem; min-height: 8rem; } .wp ion-thumbnail img { max-width: 8rem; max-height: 8rem; } .wp ion-note { color: rgba(0, 0, 0, 0.5); } .wp ion-item-divider { padding-left: 16px; color: #222; background-color: #fff; } .wp .item .text-primary { color: #327eff; } .wp .item-primary { color: #fff; background-color: #327eff; } .wp .item .text-secondary { color: #32db64; } .wp .item-secondary { color: #fff; background-color: #32db64; } .wp .item .text-danger { color: #f53d3d; } .wp .item-danger { color: #fff; background-color: #f53d3d; } .wp .item .text-light { color: #f4f4f4; } .wp .item-light { color: #000; background-color: #f4f4f4; } .wp .item .text-dark { color: #222; } .wp .item-dark { color: #fff; background-color: #222; } .wp ion-item-sliding { background-color: #fff; } .wp ion-label { display: block; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin: 0; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; } .wp .item-input ion-label { -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; max-width: 200px; pointer-events: none; } .wp [text-wrap] ion-label { white-space: normal; } .wp ion-label[fixed] { -webkit-box-flex: 0; -webkit-flex: 0 0 100px; -ms-flex: 0 0 100px; flex: 0 0 100px; width: 100px; min-width: 100px; max-width: 200px; } .wp .item-label-stacked ion-label, .wp .item-label-floating ion-label { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; width: auto; max-width: 100%; } .wp ion-label[stacked], .wp ion-label[floating] { margin-bottom: 0; } .wp .item-label-stacked .input-wrapper, .wp .item-label-floating .input-wrapper { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .wp .item-label-stacked ion-select, .wp .item-label-floating ion-select { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; max-width: 100%; } .wp .item-select ion-label[floating] { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .wp ion-label { margin: 13px 8px 13px 0; } .wp .item-input ion-label, .wp .item-select ion-label, .wp .item-datetime ion-label { color: #999; } .wp ion-label[stacked] { font-size: 1.2rem; } .wp ion-label[floating] { -webkit-transform: translate3d(8px, 34px, 0); transform: translate3d(8px, 34px, 0); -webkit-transform-origin: left top; transform-origin: left top; } .wp ion-label[stacked], .wp ion-label[floating] { margin-bottom: 0; margin-left: 0; } .wp .input-has-focus ion-label[stacked], .wp .input-has-focus ion-label[floating] { color: #327eff; } .wp .input-has-focus ion-label[floating], .wp .input-has-value ion-label[floating] { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .wp .item-label-stacked [item-right], .wp .item-label-floating [item-right] { margin-top: 13px; margin-bottom: 13px; } .wp .label-primary, .wp .item-input .label-primary, .wp .item-select .label-primary, .wp .item-datetime .label-primary { color: #327eff; } .wp .label-secondary, .wp .item-input .label-secondary, .wp .item-select .label-secondary, .wp .item-datetime .label-secondary { color: #32db64; } .wp .label-danger, .wp .item-input .label-danger, .wp .item-select .label-danger, .wp .item-datetime .label-danger { color: #f53d3d; } .wp .label-light, .wp .item-input .label-light, .wp .item-select .label-light, .wp .item-datetime .label-light { color: #f4f4f4; } .wp .label-dark, .wp .item-input .label-dark, .wp .item-select .label-dark, .wp .item-datetime .label-dark { color: #222; } .wp ion-list-header { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 4rem; } .wp ion-list { display: block; margin: 0; padding: 0; list-style-type: none; } .wp ion-list[inset] { overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); } .wp ion-list-header, .wp ion-item-divider { margin-left: 0; padding-left: 16px; border-bottom: 1px solid transparent; font-size: 2rem; color: #000; } .wp ion-list { margin: 0 0 16px 0; } .wp ion-list .item .item-inner { border-bottom: 1px solid transparent; } .wp ion-list > .item:first-child, .wp ion-list > .item-wrapper:first-child .item { border-top: 1px solid transparent; } .wp ion-list > .item:last-child, .wp ion-list > .item-wrapper:last-child .item { border-bottom: 1px solid transparent; } .wp ion-list > .item:last-child ion-label, .wp ion-list > .item:last-child .item-inner, .wp ion-list > .item-wrapper:last-child ion-label, .wp ion-list > .item-wrapper:last-child .item-inner { border-bottom: 0; } .wp ion-list > ion-input:last-child::after { left: 0; } .wp ion-list ion-item-options button, .wp ion-list ion-item-options [button] { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 1px 0; height: calc(100% - 2px); border: 0; border-radius: 0; box-shadow: none; box-sizing: border-box; } .wp ion-list ion-item-options button::before, .wp ion-list ion-item-options [button]::before { margin: 0 auto; } .wp ion-list .item[no-lines], .wp ion-list .item[no-lines] .item-inner { border-width: 0; } .wp ion-list + ion-list ion-list-header { margin-top: -16px; padding-top: 0; } .wp ion-list[inset] { margin: 16px 16px 16px 16px; border-radius: 2px; } .wp ion-list[inset] .item:first-child { border-top-width: 0; border-top-left-radius: 2px; border-top-right-radius: 2px; } .wp ion-list[inset] .item:last-child { border-bottom-width: 0; border-bottom-left-radius: 2px; border-bottom-right-radius: 2px; } .wp ion-list[inset] .item-input { padding-right: 0; padding-left: 0; } .wp ion-list[inset] + ion-list[inset] { margin-top: 0; } .wp ion-list[inset] ion-list-header { background-color: #fff; } .wp ion-list[no-lines] .item, .wp ion-list[no-lines] .item .item-inner { border-width: 0; } .wp ion-loading { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .wp .loading-wrapper { z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; opacity: 0; } .wp .loading-wrapper { padding: 20px; max-width: 280px; max-height: 90%; border-radius: 2px; color: #fff; background: #000; } .wp .loading-spinner + .loading-content { margin-left: 16px; } .wp .loading-spinner .spinner-ios line, .wp .loading-spinner .spinner-ios-small line { stroke: #fff; } .wp .loading-spinner .spinner-bubbles circle { fill: #fff; } .wp .loading-spinner .spinner-circles circle { fill: #fff; } .wp .loading-spinner .spinner-crescent circle { stroke: #fff; } .wp .loading-spinner .spinner-dots circle { fill: #fff; } .wp .menu-inner { background: #f2f2f2; } .wp .modal-wrapper { opacity: .01; -webkit-transform: translate3d(0, 40px, 0); transform: translate3d(0, 40px, 0); } .wp ion-picker-cmp { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; } .wp .picker-toolbar { z-index: 1; } .wp .picker-wrapper { position: absolute; right: 0; bottom: 0; left: 0; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; margin: auto; width: 100%; max-width: 500px; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .wp .picker-columns { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .wp .picker-col { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; max-height: 100%; } .wp .picker-opts { position: relative; width: 100%; min-width: 50px; max-width: 100%; } .wp .picker-prefix { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 50px; min-width: 45%; text-align: right; white-space: nowrap; } .wp .picker-suffix { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 50px; min-width: 45%; text-align: left; white-space: nowrap; } .wp .picker-opt { position: absolute; top: 0; left: 0; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } .wp .picker-opt .button-inner { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; -webkit-transition: opacity 150ms ease-in-out; transition: opacity 150ms ease-in-out; } .wp .picker-opt.picker-opt-disabled { pointer-events: none; } .wp .picker-opt-disabled .button-inner { opacity: 0; } .wp .picker-opts-left .button-inner { -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } .wp .picker-opts-right .button-inner { -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; } .wp .picker-above-highlight, .wp .picker-below-highlight { display: none; pointer-events: none; } .wp .picker-wrapper { height: 260px; border-top: 1px solid transparent; background: #fff; } .wp .picker-toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; height: 44px; background: #fff; } .wp .hairlines .picker-wrapper, .wp .hairlines .picker-toolbar { border-width: 0.55px; } .wp .picker-toolbar-button { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; text-align: right; } .wp .picker-toolbar-cancel { font-weight: normal; text-align: left; } .wp .picker-button, .wp .picker-button.activated { margin: 0; height: 44px; color: #327eff; background: transparent; box-shadow: none; } .wp .picker-columns { height: 216px; -webkit-perspective: 1800px; perspective: 1800px; } .wp .picker-col { padding: 0 4px; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .wp .picker-prefix, .wp .picker-suffix, .wp .picker-opts { top: 77px; font-size: 18px; line-height: 42px; color: #000; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; pointer-events: none; } .wp .picker-opts ion-button-effect { display: none; } .wp .picker-opt { margin: 0; padding: 0; font-size: 18px; line-height: 42px; background: transparent; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; pointer-events: auto; } .wp .picker-opt .button-inner { -webkit-transition: 200ms; transition: 200ms; } .wp .picker-prefix, .wp .picker-suffix, .wp .picker-opt-selected { font-size: 22px; color: #327eff; } .wp .picker-above-highlight { position: absolute; top: 0; left: 0; z-index: 10; width: 100%; height: 81px; border-bottom: 1px solid transparent; background: -webkit-linear-gradient(top, white 20%, rgba(255, 255, 255, 0.7) 100%); background: linear-gradient(to bottom, white 20%, rgba(255, 255, 255, 0.7) 100%); -webkit-transform: translate3d(0, 0, 90px); transform: translate3d(0, 0, 90px); } .wp .picker-below-highlight { position: absolute; top: 115px; left: 0; z-index: 11; width: 100%; height: 119px; border-top: 1px solid transparent; background: -webkit-linear-gradient(bottom, white 30%, rgba(255, 255, 255, 0.7) 100%); background: linear-gradient(to top, white 30%, rgba(255, 255, 255, 0.7) 100%); -webkit-transform: translate3d(0, 0, 90px); transform: translate3d(0, 0, 90px); } .wp ion-popover { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .wp .popover-wrapper { z-index: 10; opacity: 0; } .wp .popover-content { position: absolute; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: auto; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .wp .popover-content scroll-content { position: relative; } .wp .popover-content { width: 200px; min-width: 0; min-height: 0; max-height: 90%; border: 2px solid #ccc; border-radius: 0; color: #000; background: #f2f2f2; -webkit-transform-origin: top left; transform-origin: top left; } .wp .popover-content ion-content { background: #f2f2f2; } .wp .popover-content .item { background-color: #f2f2f2; } .wp .popover-viewport { opacity: 0; -webkit-transition-delay: 100ms; transition-delay: 100ms; } .wp ion-radio { position: relative; display: inline-block; } .wp .radio-icon { position: relative; top: 0; left: 0; display: block; margin: 0; width: 16px; height: 16px; border-width: 2px; border-style: solid; border-radius: 50%; border-color: #333; } .wp .radio-inner { position: absolute; top: 2px; left: 2px; display: none; width: 8px; height: 8px; border-radius: 50%; background-color: #333; } .wp .radio-checked { border-color: #327eff; } .wp .radio-checked .radio-inner { display: block; } .wp .radio-disabled, .wp .item-radio-disabled ion-label { opacity: 0.3; pointer-events: none; } .wp .item ion-radio { position: static; display: block; -webkit-box-ordinal-group: 0; -webkit-order: -1; -ms-flex-order: -1; order: -1; margin: 9px 20px 9px 4px; } .wp .item ion-radio[item-right] { -webkit-box-ordinal-group: 1; -webkit-order: 0; -ms-flex-order: 0; order: 0; margin: 11px 10px 10px 0; } .wp .item-radio ion-label { margin-left: 0; } .wp .radio-primary .radio-checked { border-color: #327eff; } .wp .radio-secondary .radio-checked { border-color: #32db64; } .wp .radio-danger .radio-checked { border-color: #f53d3d; } .wp .radio-light .radio-checked { border-color: #f4f4f4; } .wp .radio-dark .radio-checked { border-color: #222; } .wp .item-range .item-inner { overflow: visible; } .wp .item-range .input-wrapper { overflow: visible; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .wp .item-range ion-range { width: 100%; } .wp .item-range ion-range ion-label { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } .wp ion-range { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .wp ion-range ion-label { -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; } .wp ion-range ion-icon { min-height: 2.4rem; font-size: 2.4rem; line-height: 1; } .wp .range-slider { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; cursor: pointer; } .wp ion-range { padding: 8px 8px; } .wp [range-left], .wp [range-right] { margin: 0 12px; } .wp [range-left] { margin-left: 0; } .wp [range-right] { margin-right: 0; } .wp .range-has-pin { padding-top: 28px; } .wp .range-slider { height: 42px; } .wp .range-bar { position: absolute; top: 21px; left: 0; width: 100%; height: 2px; background: #bdbdbd; pointer-events: none; } .wp .range-pressed .range-bar-active { will-change: left, right; } .wp .range-pressed .range-knob-handle { will-change: left; } .wp .range-bar-active { bottom: 0; width: auto; background: #327eff; } .wp .range-knob-handle { position: absolute; top: 21px; left: 0%; margin-top: -21px; margin-left: -21px; width: 42px; height: 42px; text-align: center; } .wp .range-knob { position: absolute; top: 10px; left: 17px; width: 8px; height: 24px; border-radius: 4px; background: #327eff; pointer-events: none; } .wp .range-tick { position: absolute; top: 19px; margin-left: -1px; width: 2px; height: 6px; border-radius: 4px; background: #bdbdbd; pointer-events: none; } .wp .range-tick-active { background: #327eff; } .wp .range-pin { position: relative; top: -24px; display: inline-block; padding: 8px; min-width: 28px; border-radius: 50px; font-size: 12px; text-align: center; color: #fff; background: #327eff; -webkit-transform: translate3d(0, 28px, 0) scale(0.01); transform: translate3d(0, 28px, 0) scale(0.01); -webkit-transition: -webkit-transform 120ms ease; transition: transform 120ms ease; } .wp .range-knob-pressed .range-pin { -webkit-transform: translate3d(0, 0, 0) scale(1); transform: translate3d(0, 0, 0) scale(1); } .wp .range-disabled { opacity: .5; } .wp .range-primary .range-bar-active, .wp .range-primary .range-tick-active, .wp .range-primary .range-knob, .wp .range-primary .range-pin { background: #327eff; } .wp .range-secondary .range-bar-active, .wp .range-secondary .range-tick-active, .wp .range-secondary .range-knob, .wp .range-secondary .range-pin { background: #32db64; } .wp .range-danger .range-bar-active, .wp .range-danger .range-tick-active, .wp .range-danger .range-knob, .wp .range-danger .range-pin { background: #f53d3d; } .wp .range-light .range-bar-active, .wp .range-light .range-tick-active, .wp .range-light .range-knob, .wp .range-light .range-pin { background: #f4f4f4; } .wp .range-dark .range-bar-active, .wp .range-dark .range-tick-active, .wp .range-dark .range-knob, .wp .range-dark .range-pin { background: #222; } .wp ion-searchbar { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; width: 100%; } .wp .searchbar-icon { pointer-events: none; } .wp .searchbar-input-container { position: relative; display: block; -webkit-flex-shrink: 1; -ms-flex-negative: 1; flex-shrink: 1; width: 100%; } .wp .searchbar-input { -webkit-appearance: none; -moz-appearance: none; display: block; width: 100%; border: 0; font-family: inherit; } .wp .searchbar-clear-icon { display: none; margin: 0; padding: 0; min-height: 0; } .wp .searchbar-has-value.searchbar-has-focus .searchbar-clear-icon { display: block; } .wp ion-searchbar { padding: 8px; background: transparent; } .wp .searchbar-input-container { border: 2px solid rgba(0, 0, 0, 0.5); } .wp .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); position: absolute; top: 5px; right: 8px; width: 21px; height: 21px; background-repeat: no-repeat; background-size: 20px; } .wp .searchbar-search-icon.activated { background-color: transparent; } .wp .searchbar-input { padding: 0 8px; height: auto; border-radius: 0; font-size: 1.4rem; font-weight: 400; line-height: 3rem; color: #141414; background-color: #fff; background-position: 8px center; } .wp .searchbar-input::-moz-placeholder { color: #858585; } .wp .searchbar-input:-ms-input-placeholder { color: #858585; } .wp .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: #858585; } .wp .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); position: absolute; top: 0; right: 8px; padding: 0; width: 22px; height: 100%; background-repeat: no-repeat; background-position: center; background-size: 22px; } .wp .searchbar-clear-icon.activated { background-color: transparent; } .wp .searchbar-has-focus .searchbar-input-container { border-color: #327eff; } .wp .searchbar-has-value .searchbar-search-icon { display: none; } .wp .searchbar-ios-cancel { display: none; } .wp .searchbar-md-cancel { display: none; } .wp .toolbar ion-searchbar { padding: 2px; } .wp .searchbar-primary.searchbar-has-focus .searchbar-input-container { border-color: #327eff; } .wp .searchbar-secondary.searchbar-has-focus .searchbar-input-container { border-color: #32db64; } .wp .searchbar-danger.searchbar-has-focus .searchbar-input-container { border-color: #f53d3d; } .wp .searchbar-light.searchbar-has-focus .searchbar-input-container { border-color: #f4f4f4; } .wp .searchbar-dark.searchbar-has-focus .searchbar-input-container { border-color: #222; } .wp ion-segment { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; width: 100%; } .wp .segment-button { position: relative; display: block; overflow: hidden; margin-right: 0; margin-left: 0; text-align: center; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; } .wp ion-segment { -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } .wp .segment-button { padding: 0 6px; height: 4rem; font-size: 1.3rem; font-weight: bold; line-height: 4rem; text-transform: uppercase; color: #000; background-color: transparent; opacity: 0.5; } .wp .segment-button.segment-activated { opacity: 1; } .wp .segment-button ion-icon { font-size: 2.6rem; line-height: 4rem; } .wp .segment-button-disabled { opacity: 0.3; pointer-events: none; } .wp .toolbar ion-segment { margin: 0 auto; } .wp .segment-primary .segment-button { color: #327eff; } .wp .segment-primary .segment-button.activated, .wp .segment-primary .segment-button.segment-activated { border-color: #327eff; color: #327eff; opacity: 1; } .wp .segment-secondary .segment-button { color: #32db64; } .wp .segment-secondary .segment-button.activated, .wp .segment-secondary .segment-button.segment-activated { border-color: #32db64; color: #32db64; opacity: 1; } .wp .segment-danger .segment-button { color: #f53d3d; } .wp .segment-danger .segment-button.activated, .wp .segment-danger .segment-button.segment-activated { border-color: #f53d3d; color: #f53d3d; opacity: 1; } .wp .segment-light .segment-button { color: #f4f4f4; } .wp .segment-light .segment-button.activated, .wp .segment-light .segment-button.segment-activated { border-color: #f4f4f4; color: #f4f4f4; opacity: 1; } .wp .segment-dark .segment-button { color: #222; } .wp .segment-dark .segment-button.activated, .wp .segment-dark .segment-button.segment-activated { border-color: #222; color: #222; opacity: 1; } .wp ion-select { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; max-width: 45%; } .wp .select-text { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 16px; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; } .wp .item-multiple-inputs ion-select { position: relative; } .wp .select-disabled, .wp .item-select-disabled ion-label { opacity: .4; pointer-events: none; } .wp ion-select { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin: 13px 8px 13px 8px; padding: 0 8px; max-width: 100%; border: 2px solid rgba(0, 0, 0, 0.5); line-height: 3rem; } .wp .select-placeholder { color: rgba(0, 0, 0, 0.5); } .wp .item-select ion-label { margin-left: 0; } .wp .select-icon { position: relative; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; width: 18px; height: 18px; } .wp .select-icon .select-icon-inner { position: absolute; top: 3px; left: 5px; display: block; width: 9px; height: 9px; border-top: 2px solid rgba(0, 0, 0, 0.5); border-right: 2px solid rgba(0, 0, 0, 0.5); -webkit-transform: rotate(135deg); transform: rotate(135deg); pointer-events: none; } .wp .select-text { min-height: 3rem; } .wp ion-spinner { position: relative; display: inline-block; width: 28px; height: 28px; } .wp ion-spinner svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); } .wp ion-spinner.spinner-paused svg { -webkit-animation-play-state: paused; animation-play-state: paused; } .wp .spinner-ios line, .wp .spinner-ios-small line { stroke: #69717d; stroke-width: 4px; stroke-linecap: round; } .wp .spinner-ios svg, .wp .spinner-ios-small svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .wp .spinner-bubbles circle { fill: #000; } .wp .spinner-bubbles svg { -webkit-animation: spinner-scale-out 1s linear infinite; animation: spinner-scale-out 1s linear infinite; } .wp .spinner-circles circle { fill: #69717d; } .wp .spinner-circles svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .wp .spinner-crescent circle { fill: transparent; stroke: #000; stroke-width: 4px; stroke-dasharray: 128px; stroke-dashoffset: 82px; } .wp .spinner-crescent svg { -webkit-animation: spinner-rotate 1s linear infinite; animation: spinner-rotate 1s linear infinite; } .wp .spinner-dots circle { fill: #444; stroke-width: 0; } .wp .spinner-dots svg { -webkit-transform-origin: center; transform-origin: center; -webkit-animation: spinner-dots 1s linear infinite; animation: spinner-dots 1s linear infinite; } @keyframes spinner-fade-out { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes spinner-scale-out { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 100% { -webkit-transform: scale(0, 0); transform: scale(0, 0); } } @keyframes spinner-rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spinner-dots { 0% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } 50% { opacity: .3; -webkit-transform: scale(0.4, 0.4); transform: scale(0.4, 0.4); } 100% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } } .wp .spinner-primary.spinner-ios line, .wp .spinner-primary.spinner-ios-small line, .wp .spinner-primary.spinner-crescent circle { stroke: #327eff; } .wp .spinner-primary.spinner-bubbles circle, .wp .spinner-primary.spinner-circles circle, .wp .spinner-primary.spinner-dots circle { fill: #327eff; } .wp .spinner-secondary.spinner-ios line, .wp .spinner-secondary.spinner-ios-small line, .wp .spinner-secondary.spinner-crescent circle { stroke: #32db64; } .wp .spinner-secondary.spinner-bubbles circle, .wp .spinner-secondary.spinner-circles circle, .wp .spinner-secondary.spinner-dots circle { fill: #32db64; } .wp .spinner-danger.spinner-ios line, .wp .spinner-danger.spinner-ios-small line, .wp .spinner-danger.spinner-crescent circle { stroke: #f53d3d; } .wp .spinner-danger.spinner-bubbles circle, .wp .spinner-danger.spinner-circles circle, .wp .spinner-danger.spinner-dots circle { fill: #f53d3d; } .wp .spinner-light.spinner-ios line, .wp .spinner-light.spinner-ios-small line, .wp .spinner-light.spinner-crescent circle { stroke: #f4f4f4; } .wp .spinner-light.spinner-bubbles circle, .wp .spinner-light.spinner-circles circle, .wp .spinner-light.spinner-dots circle { fill: #f4f4f4; } .wp .spinner-dark.spinner-ios line, .wp .spinner-dark.spinner-ios-small line, .wp .spinner-dark.spinner-crescent circle { stroke: #222; } .wp .spinner-dark.spinner-bubbles circle, .wp .spinner-dark.spinner-circles circle, .wp .spinner-dark.spinner-dots circle { fill: #222; } .wp .tab-button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; position: relative; z-index: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; margin: 0; border: 0; border-radius: 0; text-align: center; text-decoration: none; background: none; cursor: pointer; } .wp .tab-disabled { pointer-events: none; } .wp .tab-disabled ion-badge, .wp .tab-disabled ion-icon, .wp .tab-disabled span { opacity: .4; } .wp .tab-hidden { display: none; } .wp .tab-button-text { margin-top: 3px; margin-bottom: 2px; } .wp .tab-button-text, .wp .tab-button-icon { display: none; overflow: hidden; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; min-width: 26px; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; } .wp .has-icon .tab-button-icon, .wp .has-title .tab-button-text { display: block; } .wp .has-title-only .tab-button-text { white-space: normal; } .wp tab-highlight { display: none; } .wp [tabsLayout=icon-bottom] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; } .wp [tabsLayout=icon-left] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .wp [tabsLayout=icon-left] .tab-button .tab-button-icon { padding-right: 8px; text-align: right; } .wp [tabsLayout=icon-right] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .wp [tabsLayout=icon-right] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; padding-left: 8px; text-align: left; } .wp [tabsLayout=icon-hide] .tab-button-icon { display: none; } .wp [tabsLayout=title-hide] .tab-button-text { display: none; } .wp .tab-badge { position: absolute; top: 6%; right: 4%; right: calc(50% - 50px); padding: 1px 6px; height: auto; font-size: 12px; line-height: 16px; } .wp .has-icon .tab-badge { right: calc(50% - 30px); } .wp [tabsLayout=icon-bottom] .tab-badge, .wp [tabsLayout=icon-left] .tab-badge, .wp [tabsLayout=icon-right] .tab-badge { right: calc(50% - 50px); } .wp ion-tabbar { background: #f8f8f8; } .wp .tab-button { padding: 12px 10px 5px 10px; min-height: 4.8rem; border-bottom: 2px solid transparent; border-radius: 0; font-size: 1.2rem; font-weight: normal; color: rgba(140, 140, 140, 0.7); box-shadow: none; } .wp .tab-button[aria-selected=true] { border-bottom-color: #327eff; color: #327eff; } .wp .tab-button.activated { background: rgba(0, 0, 0, 0.1); } .wp .tab-button-text { margin-top: 5px; margin-bottom: 5px; } .wp .tab-button-icon { min-width: 2.4rem; font-size: 2.4rem; } .wp [tabsLayout=icon-bottom] .tab-button { padding-top: 8px; padding-bottom: 8px; } .wp [tabsLayout=icon-right] .tab-button, .wp [tabsLayout=icon-left] .tab-button { padding-bottom: 10px; } .wp [tabsLayout=icon-right] .tab-button ion-icon, .wp [tabsLayout=icon-left] .tab-button ion-icon { min-width: 24px; } .wp [tabsLayout=icon-hide] .tab-button, .wp [tabsLayout=title-hide] .tab-button, .wp .tab-button.icon-only, .wp .tab-button.has-title-only { padding: 6px 10px; } .wp [tabsPlacement=bottom] .tab-button { border-top: 2px solid transparent; border-bottom-width: 0; } .wp [tabsPlacement=bottom] .tab-button[aria-selected=true] { border-top-color: #327eff; } .wp .tabs-primary ion-tabbar { background-color: #327eff; } .wp .tabs-primary ion-tabbar .tab-button { color: rgba(255, 255, 255, 0.7); } .wp .tabs-primary ion-tabbar .tab-button:hover:not(.disable-hover), .wp .tabs-primary ion-tabbar .tab-button[aria-selected=true] { border-color: #fff; color: #fff; } .wp .tabs-secondary ion-tabbar { background-color: #32db64; } .wp .tabs-secondary ion-tabbar .tab-button { color: rgba(255, 255, 255, 0.7); } .wp .tabs-secondary ion-tabbar .tab-button:hover:not(.disable-hover), .wp .tabs-secondary ion-tabbar .tab-button[aria-selected=true] { border-color: #fff; color: #fff; } .wp .tabs-danger ion-tabbar { background-color: #f53d3d; } .wp .tabs-danger ion-tabbar .tab-button { color: rgba(255, 255, 255, 0.7); } .wp .tabs-danger ion-tabbar .tab-button:hover:not(.disable-hover), .wp .tabs-danger ion-tabbar .tab-button[aria-selected=true] { border-color: #fff; color: #fff; } .wp .tabs-light ion-tabbar { background-color: #f4f4f4; } .wp .tabs-light ion-tabbar .tab-button { color: rgba(0, 0, 0, 0.7); } .wp .tabs-light ion-tabbar .tab-button:hover:not(.disable-hover), .wp .tabs-light ion-tabbar .tab-button[aria-selected=true] { border-color: #000; color: #000; } .wp .tabs-dark ion-tabbar { background-color: #222; } .wp .tabs-dark ion-tabbar .tab-button { color: rgba(255, 255, 255, 0.7); } .wp .tabs-dark ion-tabbar .tab-button:hover:not(.disable-hover), .wp .tabs-dark ion-tabbar .tab-button[aria-selected=true] { border-color: #fff; color: #fff; } .wp ion-toggle { position: relative; } .wp .toggle-icon { position: relative; display: block; width: 40px; height: 18px; border: 2px solid #323232; border-radius: 18px; background-color: transparent; pointer-events: none; } .wp .toggle-inner { position: absolute; top: 2px; left: 2px; width: 10px; height: 10px; border-radius: 50%; background-color: #323232; -webkit-transition-duration: 300ms; transition-duration: 300ms; -webkit-transition-property: -webkit-transform, background-color; transition-property: transform, background-color; } .wp .toggle-checked { border-color: #327eff; background-color: #327eff; } .wp .toggle-checked .toggle-inner { background-color: #fff; -webkit-transform: translate3d(22px, 0, 0); transform: translate3d(22px, 0, 0); } .wp .toggle-disabled, .wp .item-toggle-disabled ion-label { opacity: 0.3; pointer-events: none; } .wp .toggle-disabled ion-radio { opacity: 0.3; } .wp .item ion-toggle { margin: 0; padding: 12px 8px 12px 16px; cursor: pointer; } .wp .item ion-toggle[item-left] { padding: 12px 18px 12px 2px; } .wp .item-toggle ion-label { margin-left: 0; } .wp .toggle-primary .toggle-checked { border-color: #327eff; background-color: #327eff; } .wp .toggle-primary .toggle-checked .toggle-inner { background-color: #fff; } .wp .toggle-secondary .toggle-checked { border-color: #32db64; background-color: #32db64; } .wp .toggle-secondary .toggle-checked .toggle-inner { background-color: #fff; } .wp .toggle-danger .toggle-checked { border-color: #f53d3d; background-color: #f53d3d; } .wp .toggle-danger .toggle-checked .toggle-inner { background-color: #fff; } .wp .toggle-light .toggle-checked { border-color: #f4f4f4; background-color: #f4f4f4; } .wp .toggle-light .toggle-checked .toggle-inner { background-color: #000; } .wp .toggle-dark .toggle-checked { border-color: #222; background-color: #222; } .wp .toggle-dark .toggle-checked .toggle-inner { background-color: #fff; } .wp ion-toast { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; pointer-events: none; } .wp .toast-container { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; pointer-events: auto; } .wp .toast-button { padding: 19px 16px 17px; font-size: 1.5rem; } .wp .toast-message { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; } .wp .toast-wrapper { position: absolute; right: 0; left: 0; z-index: 10; display: block; margin: auto; max-width: 700px; border-radius: 0; background: black; } .wp .toast-wrapper.toast-top { top: 0; opacity: .01; } .wp .toast-wrapper.toast-bottom { bottom: 0; opacity: .01; } .wp .toast-wrapper.toast-middle { opacity: .01; } .wp .toast-message { padding: 1.5rem; font-size: 1.4rem; color: #fff; } .wp .toast-button { color: #fff; } .wp .toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; width: 100%; } .wp .toolbar-background { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; border: 0; -webkit-transform: translateZ(0); transform: translateZ(0); pointer-events: none; } .wp ion-title { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-transform: translateZ(0); transform: translateZ(0); } .wp .toolbar-title { display: block; overflow: hidden; width: 100%; text-overflow: ellipsis; white-space: nowrap; } .wp ion-buttons { display: block; margin: 0 .2rem; -webkit-transform: translateZ(0); transform: translateZ(0); pointer-events: none; } .wp ion-buttons button, .wp ion-buttons a, .wp ion-buttons input, .wp ion-buttons textarea, .wp ion-buttons div { pointer-events: auto; } .wp .toolbar[transparent] .toolbar-background { border-color: transparent; background: transparent; } .wp ion-buttons, .wp .bar-button-menutoggle { z-index: 99; -webkit-transform: translateZ(0); transform: translateZ(0); } .wp ion-navbar.toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; opacity: 0; -webkit-transform: translateZ(0); transform: translateZ(0); } .wp ion-navbar.toolbar.show-navbar { opacity: 1; } .wp .bar-button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; position: relative; display: inline-block; margin: 0; padding: 0; line-height: 1; text-align: center; text-overflow: ellipsis; text-transform: none; white-space: nowrap; cursor: pointer; vertical-align: top; vertical-align: -webkit-baseline-middle; } .wp .bar-button::after { position: absolute; top: -7px; right: -2px; bottom: -6px; left: -2px; content: ""; } .wp .bar-button-menutoggle { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .wp .back-button { display: none; } .wp .back-button.show-back-button { display: inline-block; } .wp .back-button-text { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .wp .toolbar { padding: 4px; min-height: 4.6rem; } .wp .toolbar-background { border-color: #b2b2b2; background: #f8f8f8; } .wp .toolbar-content { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 4; -webkit-order: 3; -ms-flex-order: 3; order: 3; min-width: 0; max-width: 100%; } .wp .toolbar-title { padding: 0 6px; font-size: 1.5rem; font-weight: bold; text-transform: uppercase; color: #000; } .wp ion-buttons { -webkit-box-ordinal-group: 5; -webkit-order: 4; -ms-flex-order: 4; order: 4; -webkit-transform: translateZ(0); transform: translateZ(0); } .wp ion-buttons[left] { -webkit-box-ordinal-group: 3; -webkit-order: 2; -ms-flex-order: 2; order: 2; } .wp ion-buttons[left] .bar-button:first-child { margin-left: 0; } .wp ion-buttons[end] { -webkit-box-ordinal-group: 6; -webkit-order: 5; -ms-flex-order: 5; order: 5; text-align: right; } .wp ion-buttons[right] { -webkit-box-ordinal-group: 7; -webkit-order: 6; -ms-flex-order: 6; order: 6; text-align: right; } .wp .bar-button { margin-top: 0; margin-right: .2rem; margin-bottom: 0; margin-left: .2rem; padding: 0 5px; height: 32px; border: 0; border-radius: 2px; font-size: 1.4rem; font-weight: 500; text-transform: uppercase; } .wp .bar-button-solid, .wp .bar-button-outline { overflow: hidden; } .wp .bar-button-outline { border-width: 1px; border-style: solid; border-color: #000; color: #000; background-color: transparent; } .wp .bar-button-outline:hover:not(.disable-hover) { opacity: .4; } .wp .bar-button-outline.activated { color: #fff; background-color: #000; } .wp .bar-button-solid { color: #fff; background-color: #000; } .wp .bar-button-solid:hover:not(.disable-hover) { color: #fff; } .wp .bar-button-solid.activated { color: #fff; background-color: #141414; } .wp .bar-button-icon-left ion-icon { padding-right: .3em; font-size: 1.4em; line-height: .67; pointer-events: none; } .wp .bar-button-icon-right ion-icon { padding-left: .4em; font-size: 1.4em; line-height: .67; pointer-events: none; } .wp .bar-button[icon-only] { padding: 0; } .wp .bar-button[icon-only] ion-icon { padding: 0 .1em; min-width: 28px; font-size: 1.8em; line-height: .67; pointer-events: none; } .wp .back-button { margin: 0 6px; min-width: 44px; box-shadow: none; } .wp .back-button-icon { margin: 0; padding: 0 6px; font-size: 2.4rem; font-weight: normal; text-align: left; } .wp .bar-button-menutoggle { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; margin: 0 6px; padding: 0 2px; min-width: 44px; } .wp .bar-button-menutoggle ion-icon { padding: 0 6px; font-size: 2.4rem; } .wp .bar-button-menutoggle[end], .wp .bar-button-menutoggle[right] { -webkit-box-ordinal-group: 8; -webkit-order: 7; -ms-flex-order: 7; order: 7; margin: 0 2px; min-width: 28px; } .wp .bar-button-clear-default, .wp .bar-button-default { color: #000; background-color: transparent; } .wp .bar-button-clear-default:hover:not(.disable-hover), .wp .bar-button-default:hover:not(.disable-hover) { color: #000; } .wp .bar-button-clear-clear, .wp .bar-button-clear { color: #000; background-color: transparent; } .wp .bar-button-clear-clear:hover:not(.disable-hover), .wp .bar-button-clear:hover:not(.disable-hover) { color: #000; } .wp .toolbar-primary .toolbar-background { background: #327eff; } .wp .toolbar-primary .bar-button-clear, .wp .toolbar-primary .bar-button-default, .wp .toolbar-primary .bar-button-outline, .wp .toolbar-primary .toolbar-title { color: #fff; } .wp .toolbar-primary .bar-button-outline { border-color: #fff; } .wp .toolbar-primary .bar-button-clear-primary, .wp .toolbar-primary .bar-button-primary { color: #327eff; background-color: transparent; } .wp .toolbar-primary .bar-button-clear-primary:hover:not(.disable-hover), .wp .toolbar-primary .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .wp .toolbar-primary .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .wp .toolbar-primary .bar-button-outline-primary.activated { color: #fff; background-color: #2e74eb; } .wp .toolbar-primary .bar-button-solid-primary { color: #fff; background-color: #327eff; } .wp .toolbar-primary .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .wp .toolbar-primary .bar-button-clear-secondary, .wp .toolbar-primary .bar-button-secondary { color: #32db64; background-color: transparent; } .wp .toolbar-primary .bar-button-clear-secondary:hover:not(.disable-hover), .wp .toolbar-primary .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .wp .toolbar-primary .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .wp .toolbar-primary .bar-button-outline-secondary.activated { color: #fff; background-color: #2ec95c; } .wp .toolbar-primary .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .wp .toolbar-primary .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .wp .toolbar-primary .bar-button-clear-danger, .wp .toolbar-primary .bar-button-danger { color: #f53d3d; background-color: transparent; } .wp .toolbar-primary .bar-button-clear-danger:hover:not(.disable-hover), .wp .toolbar-primary .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .wp .toolbar-primary .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .wp .toolbar-primary .bar-button-outline-danger.activated { color: #fff; background-color: #e13838; } .wp .toolbar-primary .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .wp .toolbar-primary .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .wp .toolbar-primary .bar-button-clear-light, .wp .toolbar-primary .bar-button-light { color: #f4f4f4; background-color: transparent; } .wp .toolbar-primary .bar-button-clear-light:hover:not(.disable-hover), .wp .toolbar-primary .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .wp .toolbar-primary .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .wp .toolbar-primary .bar-button-outline-light.activated { color: #000; background-color: #e0e0e0; } .wp .toolbar-primary .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .wp .toolbar-primary .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .wp .toolbar-primary .bar-button-clear-dark, .wp .toolbar-primary .bar-button-dark { color: #222; background-color: transparent; } .wp .toolbar-primary .bar-button-clear-dark:hover:not(.disable-hover), .wp .toolbar-primary .bar-button-dark:hover:not(.disable-hover) { color: #222; } .wp .toolbar-primary .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .wp .toolbar-primary .bar-button-outline-dark.activated { color: #fff; background-color: #343434; } .wp .toolbar-primary .bar-button-solid-dark { color: #fff; background-color: #222; } .wp .toolbar-primary .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .wp .bar-button-clear-primary, .wp .bar-button-primary { color: #327eff; background-color: transparent; } .wp .bar-button-clear-primary:hover:not(.disable-hover), .wp .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .wp .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .wp .bar-button-outline-primary.activated { color: #fff; background-color: #2e74eb; } .wp .bar-button-solid-primary { color: #fff; background-color: #327eff; } .wp .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .wp .toolbar-secondary .toolbar-background { background: #32db64; } .wp .toolbar-secondary .bar-button-clear, .wp .toolbar-secondary .bar-button-default, .wp .toolbar-secondary .bar-button-outline, .wp .toolbar-secondary .toolbar-title { color: #fff; } .wp .toolbar-secondary .bar-button-outline { border-color: #fff; } .wp .toolbar-secondary .bar-button-clear-primary, .wp .toolbar-secondary .bar-button-primary { color: #327eff; background-color: transparent; } .wp .toolbar-secondary .bar-button-clear-primary:hover:not(.disable-hover), .wp .toolbar-secondary .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .wp .toolbar-secondary .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .wp .toolbar-secondary .bar-button-outline-primary.activated { color: #fff; background-color: #2e74eb; } .wp .toolbar-secondary .bar-button-solid-primary { color: #fff; background-color: #327eff; } .wp .toolbar-secondary .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .wp .toolbar-secondary .bar-button-clear-secondary, .wp .toolbar-secondary .bar-button-secondary { color: #32db64; background-color: transparent; } .wp .toolbar-secondary .bar-button-clear-secondary:hover:not(.disable-hover), .wp .toolbar-secondary .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .wp .toolbar-secondary .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .wp .toolbar-secondary .bar-button-outline-secondary.activated { color: #fff; background-color: #2ec95c; } .wp .toolbar-secondary .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .wp .toolbar-secondary .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .wp .toolbar-secondary .bar-button-clear-danger, .wp .toolbar-secondary .bar-button-danger { color: #f53d3d; background-color: transparent; } .wp .toolbar-secondary .bar-button-clear-danger:hover:not(.disable-hover), .wp .toolbar-secondary .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .wp .toolbar-secondary .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .wp .toolbar-secondary .bar-button-outline-danger.activated { color: #fff; background-color: #e13838; } .wp .toolbar-secondary .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .wp .toolbar-secondary .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .wp .toolbar-secondary .bar-button-clear-light, .wp .toolbar-secondary .bar-button-light { color: #f4f4f4; background-color: transparent; } .wp .toolbar-secondary .bar-button-clear-light:hover:not(.disable-hover), .wp .toolbar-secondary .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .wp .toolbar-secondary .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .wp .toolbar-secondary .bar-button-outline-light.activated { color: #000; background-color: #e0e0e0; } .wp .toolbar-secondary .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .wp .toolbar-secondary .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .wp .toolbar-secondary .bar-button-clear-dark, .wp .toolbar-secondary .bar-button-dark { color: #222; background-color: transparent; } .wp .toolbar-secondary .bar-button-clear-dark:hover:not(.disable-hover), .wp .toolbar-secondary .bar-button-dark:hover:not(.disable-hover) { color: #222; } .wp .toolbar-secondary .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .wp .toolbar-secondary .bar-button-outline-dark.activated { color: #fff; background-color: #343434; } .wp .toolbar-secondary .bar-button-solid-dark { color: #fff; background-color: #222; } .wp .toolbar-secondary .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .wp .bar-button-clear-secondary, .wp .bar-button-secondary { color: #32db64; background-color: transparent; } .wp .bar-button-clear-secondary:hover:not(.disable-hover), .wp .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .wp .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .wp .bar-button-outline-secondary.activated { color: #fff; background-color: #2ec95c; } .wp .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .wp .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .wp .toolbar-danger .toolbar-background { background: #f53d3d; } .wp .toolbar-danger .bar-button-clear, .wp .toolbar-danger .bar-button-default, .wp .toolbar-danger .bar-button-outline, .wp .toolbar-danger .toolbar-title { color: #fff; } .wp .toolbar-danger .bar-button-outline { border-color: #fff; } .wp .toolbar-danger .bar-button-clear-primary, .wp .toolbar-danger .bar-button-primary { color: #327eff; background-color: transparent; } .wp .toolbar-danger .bar-button-clear-primary:hover:not(.disable-hover), .wp .toolbar-danger .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .wp .toolbar-danger .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .wp .toolbar-danger .bar-button-outline-primary.activated { color: #fff; background-color: #2e74eb; } .wp .toolbar-danger .bar-button-solid-primary { color: #fff; background-color: #327eff; } .wp .toolbar-danger .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .wp .toolbar-danger .bar-button-clear-secondary, .wp .toolbar-danger .bar-button-secondary { color: #32db64; background-color: transparent; } .wp .toolbar-danger .bar-button-clear-secondary:hover:not(.disable-hover), .wp .toolbar-danger .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .wp .toolbar-danger .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .wp .toolbar-danger .bar-button-outline-secondary.activated { color: #fff; background-color: #2ec95c; } .wp .toolbar-danger .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .wp .toolbar-danger .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .wp .toolbar-danger .bar-button-clear-danger, .wp .toolbar-danger .bar-button-danger { color: #f53d3d; background-color: transparent; } .wp .toolbar-danger .bar-button-clear-danger:hover:not(.disable-hover), .wp .toolbar-danger .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .wp .toolbar-danger .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .wp .toolbar-danger .bar-button-outline-danger.activated { color: #fff; background-color: #e13838; } .wp .toolbar-danger .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .wp .toolbar-danger .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .wp .toolbar-danger .bar-button-clear-light, .wp .toolbar-danger .bar-button-light { color: #f4f4f4; background-color: transparent; } .wp .toolbar-danger .bar-button-clear-light:hover:not(.disable-hover), .wp .toolbar-danger .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .wp .toolbar-danger .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .wp .toolbar-danger .bar-button-outline-light.activated { color: #000; background-color: #e0e0e0; } .wp .toolbar-danger .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .wp .toolbar-danger .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .wp .toolbar-danger .bar-button-clear-dark, .wp .toolbar-danger .bar-button-dark { color: #222; background-color: transparent; } .wp .toolbar-danger .bar-button-clear-dark:hover:not(.disable-hover), .wp .toolbar-danger .bar-button-dark:hover:not(.disable-hover) { color: #222; } .wp .toolbar-danger .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .wp .toolbar-danger .bar-button-outline-dark.activated { color: #fff; background-color: #343434; } .wp .toolbar-danger .bar-button-solid-dark { color: #fff; background-color: #222; } .wp .toolbar-danger .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .wp .bar-button-clear-danger, .wp .bar-button-danger { color: #f53d3d; background-color: transparent; } .wp .bar-button-clear-danger:hover:not(.disable-hover), .wp .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .wp .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .wp .bar-button-outline-danger.activated { color: #fff; background-color: #e13838; } .wp .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .wp .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .wp .toolbar-light .toolbar-background { background: #f4f4f4; } .wp .toolbar-light .bar-button-clear, .wp .toolbar-light .bar-button-default, .wp .toolbar-light .bar-button-outline, .wp .toolbar-light .toolbar-title { color: #000; } .wp .toolbar-light .bar-button-outline { border-color: #000; } .wp .toolbar-light .bar-button-clear-primary, .wp .toolbar-light .bar-button-primary { color: #327eff; background-color: transparent; } .wp .toolbar-light .bar-button-clear-primary:hover:not(.disable-hover), .wp .toolbar-light .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .wp .toolbar-light .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .wp .toolbar-light .bar-button-outline-primary.activated { color: #fff; background-color: #2e74eb; } .wp .toolbar-light .bar-button-solid-primary { color: #fff; background-color: #327eff; } .wp .toolbar-light .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .wp .toolbar-light .bar-button-clear-secondary, .wp .toolbar-light .bar-button-secondary { color: #32db64; background-color: transparent; } .wp .toolbar-light .bar-button-clear-secondary:hover:not(.disable-hover), .wp .toolbar-light .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .wp .toolbar-light .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .wp .toolbar-light .bar-button-outline-secondary.activated { color: #fff; background-color: #2ec95c; } .wp .toolbar-light .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .wp .toolbar-light .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .wp .toolbar-light .bar-button-clear-danger, .wp .toolbar-light .bar-button-danger { color: #f53d3d; background-color: transparent; } .wp .toolbar-light .bar-button-clear-danger:hover:not(.disable-hover), .wp .toolbar-light .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .wp .toolbar-light .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .wp .toolbar-light .bar-button-outline-danger.activated { color: #fff; background-color: #e13838; } .wp .toolbar-light .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .wp .toolbar-light .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .wp .toolbar-light .bar-button-clear-light, .wp .toolbar-light .bar-button-light { color: #f4f4f4; background-color: transparent; } .wp .toolbar-light .bar-button-clear-light:hover:not(.disable-hover), .wp .toolbar-light .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .wp .toolbar-light .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .wp .toolbar-light .bar-button-outline-light.activated { color: #000; background-color: #e0e0e0; } .wp .toolbar-light .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .wp .toolbar-light .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .wp .toolbar-light .bar-button-clear-dark, .wp .toolbar-light .bar-button-dark { color: #222; background-color: transparent; } .wp .toolbar-light .bar-button-clear-dark:hover:not(.disable-hover), .wp .toolbar-light .bar-button-dark:hover:not(.disable-hover) { color: #222; } .wp .toolbar-light .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .wp .toolbar-light .bar-button-outline-dark.activated { color: #fff; background-color: #343434; } .wp .toolbar-light .bar-button-solid-dark { color: #fff; background-color: #222; } .wp .toolbar-light .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .wp .bar-button-clear-light, .wp .bar-button-light { color: #f4f4f4; background-color: transparent; } .wp .bar-button-clear-light:hover:not(.disable-hover), .wp .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .wp .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .wp .bar-button-outline-light.activated { color: #000; background-color: #e0e0e0; } .wp .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .wp .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .wp .toolbar-dark .toolbar-background { background: #222; } .wp .toolbar-dark .bar-button-clear, .wp .toolbar-dark .bar-button-default, .wp .toolbar-dark .bar-button-outline, .wp .toolbar-dark .toolbar-title { color: #fff; } .wp .toolbar-dark .bar-button-outline { border-color: #fff; } .wp .toolbar-dark .bar-button-clear-primary, .wp .toolbar-dark .bar-button-primary { color: #327eff; background-color: transparent; } .wp .toolbar-dark .bar-button-clear-primary:hover:not(.disable-hover), .wp .toolbar-dark .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .wp .toolbar-dark .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .wp .toolbar-dark .bar-button-outline-primary.activated { color: #fff; background-color: #2e74eb; } .wp .toolbar-dark .bar-button-solid-primary { color: #fff; background-color: #327eff; } .wp .toolbar-dark .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .wp .toolbar-dark .bar-button-clear-secondary, .wp .toolbar-dark .bar-button-secondary { color: #32db64; background-color: transparent; } .wp .toolbar-dark .bar-button-clear-secondary:hover:not(.disable-hover), .wp .toolbar-dark .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .wp .toolbar-dark .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .wp .toolbar-dark .bar-button-outline-secondary.activated { color: #fff; background-color: #2ec95c; } .wp .toolbar-dark .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .wp .toolbar-dark .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .wp .toolbar-dark .bar-button-clear-danger, .wp .toolbar-dark .bar-button-danger { color: #f53d3d; background-color: transparent; } .wp .toolbar-dark .bar-button-clear-danger:hover:not(.disable-hover), .wp .toolbar-dark .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .wp .toolbar-dark .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .wp .toolbar-dark .bar-button-outline-danger.activated { color: #fff; background-color: #e13838; } .wp .toolbar-dark .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .wp .toolbar-dark .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .wp .toolbar-dark .bar-button-clear-light, .wp .toolbar-dark .bar-button-light { color: #f4f4f4; background-color: transparent; } .wp .toolbar-dark .bar-button-clear-light:hover:not(.disable-hover), .wp .toolbar-dark .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .wp .toolbar-dark .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .wp .toolbar-dark .bar-button-outline-light.activated { color: #000; background-color: #e0e0e0; } .wp .toolbar-dark .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .wp .toolbar-dark .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .wp .toolbar-dark .bar-button-clear-dark, .wp .toolbar-dark .bar-button-dark { color: #222; background-color: transparent; } .wp .toolbar-dark .bar-button-clear-dark:hover:not(.disable-hover), .wp .toolbar-dark .bar-button-dark:hover:not(.disable-hover) { color: #222; } .wp .toolbar-dark .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .wp .toolbar-dark .bar-button-outline-dark.activated { color: #fff; background-color: #343434; } .wp .toolbar-dark .bar-button-solid-dark { color: #fff; background-color: #222; } .wp .toolbar-dark .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .wp .bar-button-clear-dark, .wp .bar-button-dark { color: #222; background-color: transparent; } .wp .bar-button-clear-dark:hover:not(.disable-hover), .wp .bar-button-dark:hover:not(.disable-hover) { color: #222; } .wp .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .wp .bar-button-outline-dark.activated { color: #fff; background-color: #343434; } .wp .bar-button-solid-dark { color: #fff; background-color: #222; } .wp .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .wp html { font-size: 62.5%; } .wp a { background-color: transparent; } .wp .enable-hover a:hover { opacity: .7; } .wp h1, .wp h2, .wp h3, .wp h4, .wp h5, .wp h6 { margin-top: 1.6rem; margin-bottom: 1rem; font-weight: 500; line-height: 1.2; } .wp [padding] h1:first-child, .wp [padding] h2:first-child, .wp [padding] h3:first-child, .wp [padding] h4:first-child, .wp [padding] h5:first-child, .wp [padding] h6:first-child { margin-top: -.3rem; } .wp h1 + h2, .wp h1 + h3, .wp h2 + h3 { margin-top: -.3rem; } .wp h1 { margin-top: 2rem; font-size: 2.6rem; } .wp h2 { margin-top: 1.8rem; font-size: 2.4rem; } .wp h3 { font-size: 2.2rem; } .wp h4 { font-size: 2rem; } .wp h5 { font-size: 1.8rem; } .wp h6 { font-size: 1.6rem; } .wp small { font-size: 75%; } .wp sub, .wp sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } .wp sup { top: -.5em; } .wp sub { bottom: -.25em; } .wp [text-left] { text-align: left; } .wp [text-center] { text-align: center; } .wp [text-right] { text-align: right; } .wp [text-justify] { text-align: justify; } .wp [text-nowrap] { white-space: nowrap; } .wp [text-uppercase] { text-transform: uppercase; } .wp [text-lowercase] { text-transform: lowercase; } .wp [text-capitalize] { text-transform: capitalize; } .wp p { color: #000; } .wp a { color: #327eff; } .wp .text-primary { color: #327eff; } .wp .text-secondary { color: #32db64; } .wp .text-danger { color: #f53d3d; } .wp .text-light { color: #f4f4f4; } .wp .text-dark { color: #222; } .wp ion-nav > ion-page > .toolbar.statusbar-padding:first-child, .wp ion-nav > ion-page > ion-header > .toolbar.statusbar-padding:first-child, .wp ion-tab > ion-page > ion-header > .toolbar.statusbar-padding:first-child, .wp ion-tabs > ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child, .wp ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child, .wp ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child { padding-top: 20px; height: calc(4.6rem + 20px); min-height: calc(4.6rem + 20px); } .wp ion-nav > ion-page > ion-content.statusbar-padding:first-child scroll-content, .wp ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content, .wp ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content, .wp ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child scroll-content, .wp ion-menu > .menu-inner > ion-content.statusbar-padding:first-child scroll-content, .wp ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child scroll-content { padding-top: 20px; } .wp ion-nav > ion-page > ion-content.statusbar-padding:first-child[padding] scroll-content, .wp ion-nav > ion-page > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .wp ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .wp ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .wp ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .wp ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .wp ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .wp ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .wp ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding] scroll-content, .wp ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding-top] scroll-content, .wp ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .wp ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content { padding-top: calc(16px + 20px); } @media only screen and (max-width: 767px) { .wp .modal-wrapper > ion-page > ion-header > .toolbar.statusbar-padding:first-child { padding-top: 20px; height: calc(4.6rem + 20px); min-height: calc(4.6rem + 20px); } .wp .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content { padding-top: 20px; } .wp .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .wp .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content { padding-top: calc(16px + 20px); } } @font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 300; src: local("Noto Sans"), local("Noto-Sans-Regular"), url("../fonts/noto-sans-regular.ttf") format("truetype"); } @font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 400; src: local("Noto Sans"), local("Noto-Sans-Regular"), url("../fonts/noto-sans-regular.ttf") format("truetype"); } @font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 500; src: local("Noto Sans Bold"), local("Noto-Sans-Bold"), url("../fonts/noto-sans-bold.ttf") format("truetype"); } @font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 700; src: local("Noto Sans Bold"), local("Noto-Sans-Bold"), url("../fonts/noto-sans-bold.ttf") format("truetype"); } ================================================ FILE: content/dist/bundles/ionic.ios.css ================================================ audio, canvas, progress, video { vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } b, strong { font-weight: bold; } img { max-width: 100%; border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { height: 1px; border-width: 0; box-sizing: content-box; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } label, input, select, textarea { font-family: inherit; line-height: normal; } textarea { overflow: auto; height: auto; font: inherit; color: inherit; } form, input, optgroup, select { margin: 0; font: inherit; color: inherit; } html input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; } a, a div, a span, a ion-icon, a ion-label, button, button div, button span, button ion-icon, button ion-label, [tappable], [tappable] div, [tappable] span, [tappable] ion-icon, [tappable] ion-label, input, textarea { -ms-touch-action: manipulation; touch-action: manipulation; } a ion-label, button ion-label, [tappable] ion-label { pointer-events: none; } button { border: 0; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: 1; text-transform: none; cursor: pointer; -webkit-appearance: button; } a[disabled], button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; } input[type="checkbox"], input[type="radio"] { padding: 0; box-sizing: border-box; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; } html { width: 100%; height: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust: 100%; } body { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; position: fixed; overflow: hidden; margin: 0; padding: 0; width: 100%; max-width: 100%; height: 100%; max-height: 100%; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; text-rendering: optimizeLegibility; -webkit-user-drag: none; -ms-content-zooming: none; -ms-touch-action: manipulation; touch-action: manipulation; word-wrap: break-word; -webkit-text-size-adjust: none; -ms-text-size-adjust: none; text-size-adjust: none; } ion-app, ion-nav, ion-tab, ion-tabs, .app-root { position: absolute; top: 0; left: 0; z-index: 0; display: block; overflow: hidden; width: 100%; height: 100%; } ion-tab scroll-cotent { display: none; } ion-tab { -webkit-transform: translateY(-200%); transform: translateY(-200%); } ion-tab.show-tab { -webkit-transform: translateY(0); transform: translateY(0); } ion-tab.show-tab scroll-cotent { display: block; } ion-page { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; opacity: 0; } ion-content { position: relative; top: 0; left: 0; display: block; width: 100%; height: 100%; } ion-page > ion-content { position: absolute; } ion-page scroll-content { display: none; } ion-page.show-page { opacity: 1; } ion-page.show-page scroll-content { display: block; } ion-header { position: absolute; top: 0; left: 0; z-index: 10; display: block; width: 100%; } ion-toolbar { position: relative; z-index: 10; } ion-footer { position: absolute; bottom: 0; left: 0; z-index: 10; display: block; width: 100%; } ion-tabbar { position: absolute; bottom: 0; left: 0; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; width: 100%; opacity: 0; } ion-tabbar.show-tabbar { opacity: 1; } [tabsPlacement=top] > ion-tabbar { top: 0; bottom: auto; } scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; display: block; overflow-x: hidden; overflow-y: scroll; -webkit-overflow-scrolling: touch; will-change: scroll-position; } ion-content.js-scroll > scroll-content { position: relative; min-height: 100%; overflow-x: initial; overflow-y: initial; -webkit-overflow-scrolling: auto; will-change: initial; } .disable-scroll ion-page scroll-content { overflow-y: hidden; overflow-x: hidden; } [nav-viewport], [nav-portal], [tab-portal], .nav-decor { display: none; } .hide, [hidden], template { display: none !important; } .sticky { position: -webkit-sticky; position: sticky; top: 0; } :focus, :active { outline: none; } .focus-outline :focus { outline: thin dotted; outline-offset: -1px; } .focus-outline button:focus, .focus-outline [button]:focus { border-color: #51a7e8; outline: thin solid #51a7e8; box-shadow: 0 0 8px 0 #51a7e8; } .focus-outline ion-input :focus { outline: none; } focus-ctrl { position: fixed; } focus-ctrl input, focus-ctrl button { position: fixed; top: 1px; left: -9999px; z-index: 9999; width: 9px; pointer-events: none; } click-block { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 9999; display: block; opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); -webkit-transform: translate3d(0, calc(-100% + 1px), 0); transform: translate3d(0, calc(-100% + 1px), 0); } .click-block-active { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } ion-backdrop { position: absolute; top: 0; left: 0; z-index: 2; display: block; width: 100%; height: 100%; background-color: #000; opacity: .01; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-backdrop.hide-backdrop { display: none; } ion-grid { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; padding: 5px; width: 100%; } ion-row { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; width: 100%; } ion-row[wrap] { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; } ion-row[top] { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } ion-row[bottom] { -webkit-box-align: end; -webkit-align-items: flex-end; -ms-flex-align: end; align-items: flex-end; } ion-row[center] { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-row[stretch] { -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; } ion-row[baseline] { -webkit-box-align: baseline; -webkit-align-items: baseline; -ms-flex-align: baseline; align-items: baseline; } ion-col { display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 5px; width: 100%; } ion-col[top] { -webkit-align-self: flex-start; -ms-flex-item-align: start; align-self: flex-start; } ion-col[bottom] { -webkit-align-self: flex-end; -ms-flex-item-align: end; align-self: flex-end; } ion-col[center] { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } ion-col[stretch] { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; } ion-col[baseline] { -webkit-align-self: baseline; -ms-flex-item-align: baseline; align-self: baseline; } ion-col[offset-10] { margin-left: 10%; } ion-col[offset-20] { margin-left: 20%; } ion-col[offset-25] { margin-left: 25%; } ion-col[offset-33], ion-col[offset-34] { margin-left: 33.3333%; } ion-col[offset-50] { margin-left: 50%; } ion-col[offset-66], ion-col[offset-67] { margin-left: 66.6666%; } ion-col[offset-75] { margin-left: 75%; } ion-col[offset-80] { margin-left: 80%; } ion-col[offset-90] { margin-left: 90%; } ion-col[width-10] { -webkit-box-flex: 0; -webkit-flex: 0 0 10%; -ms-flex: 0 0 10%; flex: 0 0 10%; max-width: 10%; } ion-col[width-20] { -webkit-box-flex: 0; -webkit-flex: 0 0 20%; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } ion-col[width-25] { -webkit-box-flex: 0; -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } ion-col[width-33], ion-col[width-34] { -webkit-box-flex: 0; -webkit-flex: 0 0 33.3333%; -ms-flex: 0 0 33.3333%; flex: 0 0 33.3333%; max-width: 33.3333%; } ion-col[width-50] { -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } ion-col[width-66], ion-col[width-67] { -webkit-box-flex: 0; -webkit-flex: 0 0 66.6666%; -ms-flex: 0 0 66.6666%; flex: 0 0 66.6666%; max-width: 66.6666%; } ion-col[width-75] { -webkit-box-flex: 0; -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } ion-col[width-80] { -webkit-box-flex: 0; -webkit-flex: 0 0 80%; -ms-flex: 0 0 80%; flex: 0 0 80%; max-width: 80%; } ion-col[width-90] { -webkit-box-flex: 0; -webkit-flex: 0 0 90%; -ms-flex: 0 0 90%; flex: 0 0 90%; max-width: 90%; } @media (max-width: 567px) { [responsive-sm] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-sm] ion-col[width-10], [responsive-sm] ion-col[width-20], [responsive-sm] ion-col[width-25], [responsive-sm] ion-col[width-33], [responsive-sm] ion-col[width-34], [responsive-sm] ion-col[width-50], [responsive-sm] ion-col[width-66], [responsive-sm] ion-col[width-67], [responsive-sm] ion-col[width-75], [responsive-sm] ion-col[width-80], [responsive-sm] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; width: 100%; max-width: 100%; } } @media (max-width: 767px) { [responsive-md] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-md] ion-col[width-10], [responsive-md] ion-col[width-20], [responsive-md] ion-col[width-25], [responsive-md] ion-col[width-33], [responsive-md] ion-col[width-34], [responsive-md] ion-col[width-50], [responsive-md] ion-col[width-66], [responsive-md] ion-col[width-67], [responsive-md] ion-col[width-75], [responsive-md] ion-col[width-80], [responsive-md] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; width: 100%; max-width: 100%; } } @media (max-width: 1023px) { [responsive-lg] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-lg] ion-col[width-10], [responsive-lg] ion-col[width-20], [responsive-lg] ion-col[width-25], [responsive-lg] ion-col[width-33], [responsive-lg] ion-col[width-34], [responsive-lg] ion-col[width-50], [responsive-lg] ion-col[width-66], [responsive-lg] ion-col[width-67], [responsive-lg] ion-col[width-75], [responsive-lg] ion-col[width-80], [responsive-lg] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; width: 100%; max-width: 100%; } } ion-icon { display: inline-block; font-size: 1.2em; } ion-icon[small] { min-height: 1.1em; font-size: 1.1em; } ion-img { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } ion-img img { -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; min-width: 100%; min-height: 100%; } ion-img .img-placeholder { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #eee; -webkit-transition: opacity 200ms; transition: opacity 200ms; } ion-img.img-loaded .img-placeholder { opacity: 0; } ion-infinite-scroll { display: block; width: 100%; } ion-infinite-scroll-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; height: 100%; min-height: 84px; text-align: center; } .infinite-loading { display: none; margin: 0 0 32px 0; width: 100%; } .infinite-loading-text { margin: 4px 32px 0 32px; color: #666; } ion-infinite-scroll-content[state=loading] .infinite-loading { display: block; } ion-infinite-scroll-content[state=disabled] { display: none; } ion-loading { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .loading-wrapper { z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; opacity: 0; } ion-menu { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: none; } ion-menu.show-menu { display: block; } .menu-inner { position: absolute; top: 0; right: auto; bottom: 0; left: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; width: 304px; -webkit-transform: translate3d(-9999px, 0, 0); transform: translate3d(-9999px, 0, 0); } .menu-inner > ion-header, .menu-inner > ion-content, .menu-inner > ion-footer { position: relative; } ion-menu[side=right] > .menu-inner { right: 0; left: auto; } ion-menu ion-backdrop { z-index: -1; display: none; opacity: .1; } .menu-content { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .menu-content-open ion-pane, .menu-content-open ion-content, .menu-content-open .toolbar { pointer-events: none; } @media (max-width: 340px) { .menu-inner { width: 264px; } } ion-menu[type=reveal] { z-index: 0; } ion-menu[type=reveal].show-menu .menu-inner { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } ion-menu[type=overlay] { z-index: 80; } ion-menu[type=overlay] .show-backdrop { display: block; } ion-modal { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; } @media not all and (min-width: 768px) and (min-height: 600px) { ion-modal ion-backdrop { visibility: hidden; } } .modal-wrapper { z-index: 10; height: 100%; } @media only screen and (min-width: 768px) and (min-height: 600px) { .modal-wrapper { position: absolute; top: calc(50% - (500px/2)); left: calc(50% - (600px/2)); width: 600px; height: 500px; } } @media only screen and (min-width: 768px) and (min-height: 768px) { .modal-wrapper { position: absolute; top: calc(50% - (600px/2)); left: calc(50% - (600px/2)); width: 600px; height: 600px; } } ion-modal-inner { position: absolute; top: 0; left: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; width: 100%; height: 100%; } .item-range .item-inner { overflow: visible; } .item-range .input-wrapper { overflow: visible; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .item-range ion-range { width: 100%; } .item-range ion-range ion-label { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } ion-range { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-range ion-label { -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; } ion-range ion-icon { min-height: 2.4rem; font-size: 2.4rem; line-height: 1; } .range-slider { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; cursor: pointer; } ion-refresher { position: absolute; top: 0; left: 0; z-index: 0; display: none; width: 100%; height: 60px; } ion-refresher.refresher-active { display: block; } .has-refresher > scroll-content { margin-top: -1px; border-top: 1px solid #ddd; -webkit-transition: all 320ms cubic-bezier(0.36, 0.66, 0.04, 1); transition: all 320ms cubic-bezier(0.36, 0.66, 0.04, 1); } ion-refresher-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; height: 100%; } .refresher-pulling, .refresher-refreshing { display: none; width: 100%; } .refresher-pulling-icon, .refresher-refreshing-icon { font-size: 30px; text-align: center; color: #000; -webkit-transform-origin: center; transform-origin: center; -webkit-transition: 200ms; transition: 200ms; } .refresher-pulling-text, .refresher-refreshing-text { font-size: 16px; text-align: center; color: #000; } ion-refresher-content[state=pulling] .refresher-pulling { display: block; } ion-refresher-content[state=ready] .refresher-pulling { display: block; } ion-refresher-content[state=ready] .refresher-pulling-icon { -webkit-transform: rotate(180deg); transform: rotate(180deg); } ion-refresher-content[state=refreshing] .refresher-refreshing { display: block; } ion-refresher-content[state=cancelling] .refresher-pulling { display: block; } ion-refresher-content[state=cancelling] .refresher-pulling-icon { -webkit-transform: scale(0); transform: scale(0); } ion-refresher-content[state=completing] .refresher-refreshing { display: block; } ion-refresher-content[state=completing] .refresher-refreshing-icon { -webkit-transform: scale(0); transform: scale(0); } ion-scroll { position: relative; display: block; } ion-scroll.scroll-x scroll-content { overflow-x: auto; } ion-scroll.scroll-y scroll-content { overflow-y: auto; } ion-scroll[center] scroll-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } ion-scroll scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow-y: hidden; overflow-x: hidden; -webkit-overflow-scrolling: touch; will-change: scroll-position; } .hidden-show-when { display: none !important; } .hidden-hide-when { display: none !important; } /** * Swiper 3.1.2 * Most modern mobile touch slider and framework with hardware accelerated transitions * * http://www.idangero.us/swiper/ * * Copyright 2015, Vladimir Kharlampidi * The iDangero.us * http://www.idangero.us/ * * Licensed under MIT * * Released on: August 22, 2015 */ .swiper-container { margin: 0 auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { -webkit-box-orient: vertical; -ms-flex-direction: column; -webkit-flex-direction: column; flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-transition-property: -webkit-transform; transition-property: transform; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { -webkit-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { -webkit-flex-shrink: 0; -ms-flex: 0 0 auto; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { -ms-touch-action: pan-y; touch-action: pan-y; } .swiper-wp8-vertical { -ms-touch-action: pan-x; touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background-position: center; background-repeat: no-repeat; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: .35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; -webkit-transition: 300ms; transition: 300ms; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } .swiper-pagination-bullet { width: 8px; height: 8px; display: inline-block; border-radius: 100%; background: #000; opacity: .2; } button.swiper-pagination-bullet { border: 0; margin: 0; padding: 0; box-shadow: none; -moz-appearance: none; -ms-appearance: none; -webkit-appearance: none; appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination { right: 10px; top: 50%; -webkit-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination { bottom: 20px; left: 0; width: 100%; } .swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet { margin: 0 5px; } /* 3D Container */ .swiper-container-3d { -webkit-perspective: 1200px; -o-perspective: 1200px; perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { -webkit-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-right { background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-top { background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } /* Cube */ .swiper-container-cube { overflow: visible; } .swiper-container-cube .swiper-slide { pointer-events: none; visibility: hidden; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; width: 100%; height: 100%; z-index: 1; } .swiper-container-cube.swiper-container-rtl .swiper-slide { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right { z-index: 0; -webkit-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: .6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; -webkit-transform-origin: 50%; transform-origin: 50%; -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); background-position: 50%; background-size: 100%; background-repeat: no-repeat; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @-webkit-keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); } } @keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } ion-slides { width: 100%; height: 100%; display: block; } .slide-zoom { display: block; width: 100%; text-align: center; } .swiper-container { width: 100%; height: 100%; padding: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; } .swiper-wrapper { width: 100%; height: 100%; padding: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .swiper-slide { width: 100%; height: 100%; box-sizing: border-box; text-align: center; font-size: 18px; /* Center slide text vertically */ display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .swiper-slide img { width: auto; height: auto; max-width: 100%; max-height: 100%; } ion-spinner { position: relative; display: inline-block; width: 28px; height: 28px; } ion-spinner svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-spinner.spinner-paused svg { -webkit-animation-play-state: paused; animation-play-state: paused; } .spinner-ios line, .spinner-ios-small line { stroke: #69717d; stroke-width: 4px; stroke-linecap: round; } .spinner-ios svg, .spinner-ios-small svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .spinner-bubbles circle { fill: #000; } .spinner-bubbles svg { -webkit-animation: spinner-scale-out 1s linear infinite; animation: spinner-scale-out 1s linear infinite; } .spinner-circles circle { fill: #69717d; } .spinner-circles svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .spinner-crescent circle { fill: transparent; stroke: #000; stroke-width: 4px; stroke-dasharray: 128px; stroke-dashoffset: 82px; } .spinner-crescent svg { -webkit-animation: spinner-rotate 1s linear infinite; animation: spinner-rotate 1s linear infinite; } .spinner-dots circle { fill: #444; stroke-width: 0; } .spinner-dots svg { -webkit-transform-origin: center; transform-origin: center; -webkit-animation: spinner-dots 1s linear infinite; animation: spinner-dots 1s linear infinite; } @-webkit-keyframes spinner-fade-out { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes spinner-fade-out { 0% { opacity: 1; } 100% { opacity: 0; } } @-webkit-keyframes spinner-scale-out { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 100% { -webkit-transform: scale(0, 0); transform: scale(0, 0); } } @keyframes spinner-scale-out { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 100% { -webkit-transform: scale(0, 0); transform: scale(0, 0); } } @-webkit-keyframes spinner-rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spinner-rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @-webkit-keyframes spinner-dots { 0% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } 50% { opacity: .3; -webkit-transform: scale(0.4, 0.4); transform: scale(0.4, 0.4); } 100% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } } @keyframes spinner-dots { 0% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } 50% { opacity: .3; -webkit-transform: scale(0.4, 0.4); transform: scale(0.4, 0.4); } 100% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } } html { font-size: 62.5%; } a { background-color: transparent; } .enable-hover a:hover { opacity: .7; } h1, h2, h3, h4, h5, h6 { margin-top: 1.6rem; margin-bottom: 1rem; font-weight: 500; line-height: 1.2; } [padding] h1:first-child, [padding] h2:first-child, [padding] h3:first-child, [padding] h4:first-child, [padding] h5:first-child, [padding] h6:first-child { margin-top: -.3rem; } h1 + h2, h1 + h3, h2 + h3 { margin-top: -.3rem; } h1 { margin-top: 2rem; font-size: 2.6rem; } h2 { margin-top: 1.8rem; font-size: 2.4rem; } h3 { font-size: 2.2rem; } h4 { font-size: 2rem; } h5 { font-size: 1.8rem; } h6 { font-size: 1.6rem; } small { font-size: 75%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sup { top: -.5em; } sub { bottom: -.25em; } [text-left] { text-align: left; } [text-center] { text-align: center; } [text-right] { text-align: right; } [text-justify] { text-align: justify; } [text-nowrap] { white-space: nowrap; } [text-uppercase] { text-transform: uppercase; } [text-lowercase] { text-transform: lowercase; } [text-capitalize] { text-transform: capitalize; } .virtual-scroll { position: relative; } .virtual-scroll .virtual-position, .virtual-scroll .virtual-position.item { position: absolute; top: 0; left: 0; -webkit-transition-duration: 0ms; transition-duration: 0ms; } .virtual-scroll .virtual-hidden { display: none; } .ion-ios-add:before { content: "\f102"; } .ion-ios-add-circle:before { content: "\f101"; } .ion-ios-add-circle-outline:before { content: "\f100"; } .ion-ios-add-outline:before { content: "\f102"; } .ion-ios-alarm:before { content: "\f3c8"; } .ion-ios-alarm-outline:before { content: "\f3c7"; } .ion-ios-albums:before { content: "\f3ca"; } .ion-ios-albums-outline:before { content: "\f3c9"; } .ion-ios-alert:before { content: "\f104"; } .ion-ios-alert-outline:before { content: "\f103"; } .ion-ios-american-football:before { content: "\f106"; } .ion-ios-american-football-outline:before { content: "\f105"; } .ion-ios-analytics:before { content: "\f3ce"; } .ion-ios-analytics-outline:before { content: "\f3cd"; } .ion-ios-aperture:before { content: "\f108"; } .ion-ios-aperture-outline:before { content: "\f107"; } .ion-ios-apps:before { content: "\f10a"; } .ion-ios-apps-outline:before { content: "\f109"; } .ion-ios-appstore:before { content: "\f10c"; } .ion-ios-appstore-outline:before { content: "\f10b"; } .ion-ios-archive:before { content: "\f10e"; } .ion-ios-archive-outline:before { content: "\f10d"; } .ion-ios-arrow-back:before { content: "\f3cf"; } .ion-ios-arrow-back-outline:before { content: "\f3cf"; } .ion-ios-arrow-down:before { content: "\f3d0"; } .ion-ios-arrow-down-outline:before { content: "\f3d0"; } .ion-ios-arrow-dropdown:before { content: "\f110"; } .ion-ios-arrow-dropdown-circle:before { content: "\f10f"; } .ion-ios-arrow-dropdown-circle-outline:before { content: "\f10f"; } .ion-ios-arrow-dropdown-outline:before { content: "\f110"; } .ion-ios-arrow-dropleft:before { content: "\f112"; } .ion-ios-arrow-dropleft-circle:before { content: "\f111"; } .ion-ios-arrow-dropleft-circle-outline:before { content: "\f111"; } .ion-ios-arrow-dropleft-outline:before { content: "\f112"; } .ion-ios-arrow-dropright:before { content: "\f114"; } .ion-ios-arrow-dropright-circle:before { content: "\f113"; } .ion-ios-arrow-dropright-circle-outline:before { content: "\f113"; } .ion-ios-arrow-dropright-outline:before { content: "\f114"; } .ion-ios-arrow-dropup:before { content: "\f116"; } .ion-ios-arrow-dropup-circle:before { content: "\f115"; } .ion-ios-arrow-dropup-circle-outline:before { content: "\f115"; } .ion-ios-arrow-dropup-outline:before { content: "\f116"; } .ion-ios-arrow-forward:before { content: "\f3d1"; } .ion-ios-arrow-forward-outline:before { content: "\f3d1"; } .ion-ios-arrow-round-back:before { content: "\f117"; } .ion-ios-arrow-round-back-outline:before { content: "\f117"; } .ion-ios-arrow-round-down:before { content: "\f118"; } .ion-ios-arrow-round-down-outline:before { content: "\f118"; } .ion-ios-arrow-round-forward:before { content: "\f119"; } .ion-ios-arrow-round-forward-outline:before { content: "\f119"; } .ion-ios-arrow-round-up:before { content: "\f11a"; } .ion-ios-arrow-round-up-outline:before { content: "\f11a"; } .ion-ios-arrow-up:before { content: "\f3d8"; } .ion-ios-arrow-up-outline:before { content: "\f3d8"; } .ion-ios-at:before { content: "\f3da"; } .ion-ios-at-outline:before { content: "\f3d9"; } .ion-ios-attach:before { content: "\f11b"; } .ion-ios-attach-outline:before { content: "\f11b"; } .ion-ios-backspace:before { content: "\f11d"; } .ion-ios-backspace-outline:before { content: "\f11c"; } .ion-ios-barcode:before { content: "\f3dc"; } .ion-ios-barcode-outline:before { content: "\f3db"; } .ion-ios-baseball:before { content: "\f3de"; } .ion-ios-baseball-outline:before { content: "\f3dd"; } .ion-ios-basket:before { content: "\f11f"; } .ion-ios-basket-outline:before { content: "\f11e"; } .ion-ios-basketball:before { content: "\f3e0"; } .ion-ios-basketball-outline:before { content: "\f3df"; } .ion-ios-battery-charging:before { content: "\f120"; } .ion-ios-battery-charging-outline:before { content: "\f120"; } .ion-ios-battery-dead:before { content: "\f121"; } .ion-ios-battery-dead-outline:before { content: "\f121"; } .ion-ios-battery-full:before { content: "\f122"; } .ion-ios-battery-full-outline:before { content: "\f122"; } .ion-ios-beaker:before { content: "\f124"; } .ion-ios-beaker-outline:before { content: "\f123"; } .ion-ios-beer:before { content: "\f126"; } .ion-ios-beer-outline:before { content: "\f125"; } .ion-ios-bicycle:before { content: "\f127"; } .ion-ios-bicycle-outline:before { content: "\f127"; } .ion-ios-bluetooth:before { content: "\f128"; } .ion-ios-bluetooth-outline:before { content: "\f128"; } .ion-ios-boat:before { content: "\f12a"; } .ion-ios-boat-outline:before { content: "\f129"; } .ion-ios-body:before { content: "\f3e4"; } .ion-ios-body-outline:before { content: "\f3e3"; } .ion-ios-bonfire:before { content: "\f12c"; } .ion-ios-bonfire-outline:before { content: "\f12b"; } .ion-ios-book:before { content: "\f3e8"; } .ion-ios-book-outline:before { content: "\f3e7"; } .ion-ios-bookmark:before { content: "\f12e"; } .ion-ios-bookmark-outline:before { content: "\f12d"; } .ion-ios-bookmarks:before { content: "\f3ea"; } .ion-ios-bookmarks-outline:before { content: "\f3e9"; } .ion-ios-bowtie:before { content: "\f130"; } .ion-ios-bowtie-outline:before { content: "\f12f"; } .ion-ios-briefcase:before { content: "\f3ee"; } .ion-ios-briefcase-outline:before { content: "\f3ed"; } .ion-ios-browsers:before { content: "\f3f0"; } .ion-ios-browsers-outline:before { content: "\f3ef"; } .ion-ios-brush:before { content: "\f132"; } .ion-ios-brush-outline:before { content: "\f131"; } .ion-ios-bug:before { content: "\f134"; } .ion-ios-bug-outline:before { content: "\f133"; } .ion-ios-build:before { content: "\f136"; } .ion-ios-build-outline:before { content: "\f135"; } .ion-ios-bulb:before { content: "\f138"; } .ion-ios-bulb-outline:before { content: "\f137"; } .ion-ios-bus:before { content: "\f13a"; } .ion-ios-bus-outline:before { content: "\f139"; } .ion-ios-cafe:before { content: "\f13c"; } .ion-ios-cafe-outline:before { content: "\f13b"; } .ion-ios-calculator:before { content: "\f3f2"; } .ion-ios-calculator-outline:before { content: "\f3f1"; } .ion-ios-calendar:before { content: "\f3f4"; } .ion-ios-calendar-outline:before { content: "\f3f3"; } .ion-ios-call:before { content: "\f13e"; } .ion-ios-call-outline:before { content: "\f13d"; } .ion-ios-camera:before { content: "\f3f6"; } .ion-ios-camera-outline:before { content: "\f3f5"; } .ion-ios-car:before { content: "\f140"; } .ion-ios-car-outline:before { content: "\f13f"; } .ion-ios-card:before { content: "\f142"; } .ion-ios-card-outline:before { content: "\f141"; } .ion-ios-cart:before { content: "\f3f8"; } .ion-ios-cart-outline:before { content: "\f3f7"; } .ion-ios-cash:before { content: "\f144"; } .ion-ios-cash-outline:before { content: "\f143"; } .ion-ios-chatboxes:before { content: "\f3fa"; } .ion-ios-chatboxes-outline:before { content: "\f3f9"; } .ion-ios-chatbubbles:before { content: "\f146"; } .ion-ios-chatbubbles-outline:before { content: "\f145"; } .ion-ios-checkbox:before { content: "\f148"; } .ion-ios-checkbox-outline:before { content: "\f147"; } .ion-ios-checkmark:before { content: "\f3ff"; } .ion-ios-checkmark-circle:before { content: "\f14a"; } .ion-ios-checkmark-circle-outline:before { content: "\f149"; } .ion-ios-checkmark-outline:before { content: "\f3ff"; } .ion-ios-clipboard:before { content: "\f14c"; } .ion-ios-clipboard-outline:before { content: "\f14b"; } .ion-ios-clock:before { content: "\f403"; } .ion-ios-clock-outline:before { content: "\f402"; } .ion-ios-close:before { content: "\f406"; } .ion-ios-close-circle:before { content: "\f14e"; } .ion-ios-close-circle-outline:before { content: "\f14d"; } .ion-ios-close-outline:before { content: "\f406"; } .ion-ios-closed-captioning:before { content: "\f150"; } .ion-ios-closed-captioning-outline:before { content: "\f14f"; } .ion-ios-cloud:before { content: "\f40c"; } .ion-ios-cloud-circle:before { content: "\f152"; } .ion-ios-cloud-circle-outline:before { content: "\f151"; } .ion-ios-cloud-done:before { content: "\f154"; } .ion-ios-cloud-done-outline:before { content: "\f153"; } .ion-ios-cloud-download:before { content: "\f408"; } .ion-ios-cloud-download-outline:before { content: "\f407"; } .ion-ios-cloud-outline:before { content: "\f409"; } .ion-ios-cloud-upload:before { content: "\f40b"; } .ion-ios-cloud-upload-outline:before { content: "\f40a"; } .ion-ios-cloudy:before { content: "\f410"; } .ion-ios-cloudy-night:before { content: "\f40e"; } .ion-ios-cloudy-night-outline:before { content: "\f40d"; } .ion-ios-cloudy-outline:before { content: "\f40f"; } .ion-ios-code:before { content: "\f157"; } .ion-ios-code-download:before { content: "\f155"; } .ion-ios-code-download-outline:before { content: "\f155"; } .ion-ios-code-outline:before { content: "\f157"; } .ion-ios-code-working:before { content: "\f156"; } .ion-ios-code-working-outline:before { content: "\f156"; } .ion-ios-cog:before { content: "\f412"; } .ion-ios-cog-outline:before { content: "\f411"; } .ion-ios-color-fill:before { content: "\f159"; } .ion-ios-color-fill-outline:before { content: "\f158"; } .ion-ios-color-filter:before { content: "\f414"; } .ion-ios-color-filter-outline:before { content: "\f413"; } .ion-ios-color-palette:before { content: "\f15b"; } .ion-ios-color-palette-outline:before { content: "\f15a"; } .ion-ios-color-wand:before { content: "\f416"; } .ion-ios-color-wand-outline:before { content: "\f415"; } .ion-ios-compass:before { content: "\f15d"; } .ion-ios-compass-outline:before { content: "\f15c"; } .ion-ios-construct:before { content: "\f15f"; } .ion-ios-construct-outline:before { content: "\f15e"; } .ion-ios-contact:before { content: "\f41a"; } .ion-ios-contact-outline:before { content: "\f419"; } .ion-ios-contacts:before { content: "\f161"; } .ion-ios-contacts-outline:before { content: "\f160"; } .ion-ios-contract:before { content: "\f162"; } .ion-ios-contract-outline:before { content: "\f162"; } .ion-ios-contrast:before { content: "\f163"; } .ion-ios-contrast-outline:before { content: "\f163"; } .ion-ios-copy:before { content: "\f41c"; } .ion-ios-copy-outline:before { content: "\f41b"; } .ion-ios-create:before { content: "\f165"; } .ion-ios-create-outline:before { content: "\f164"; } .ion-ios-crop:before { content: "\f41e"; } .ion-ios-crop-outline:before { content: "\f166"; } .ion-ios-cube:before { content: "\f168"; } .ion-ios-cube-outline:before { content: "\f167"; } .ion-ios-cut:before { content: "\f16a"; } .ion-ios-cut-outline:before { content: "\f169"; } .ion-ios-desktop:before { content: "\f16c"; } .ion-ios-desktop-outline:before { content: "\f16b"; } .ion-ios-disc:before { content: "\f16e"; } .ion-ios-disc-outline:before { content: "\f16d"; } .ion-ios-document:before { content: "\f170"; } .ion-ios-document-outline:before { content: "\f16f"; } .ion-ios-done-all:before { content: "\f171"; } .ion-ios-done-all-outline:before { content: "\f171"; } .ion-ios-download:before { content: "\f420"; } .ion-ios-download-outline:before { content: "\f41f"; } .ion-ios-easel:before { content: "\f173"; } .ion-ios-easel-outline:before { content: "\f172"; } .ion-ios-egg:before { content: "\f175"; } .ion-ios-egg-outline:before { content: "\f174"; } .ion-ios-exit:before { content: "\f177"; } .ion-ios-exit-outline:before { content: "\f176"; } .ion-ios-expand:before { content: "\f178"; } .ion-ios-expand-outline:before { content: "\f178"; } .ion-ios-eye:before { content: "\f425"; } .ion-ios-eye-off:before { content: "\f17a"; } .ion-ios-eye-off-outline:before { content: "\f179"; } .ion-ios-eye-outline:before { content: "\f424"; } .ion-ios-fastforward:before { content: "\f427"; } .ion-ios-fastforward-outline:before { content: "\f426"; } .ion-ios-female:before { content: "\f17b"; } .ion-ios-female-outline:before { content: "\f17b"; } .ion-ios-filing:before { content: "\f429"; } .ion-ios-filing-outline:before { content: "\f428"; } .ion-ios-film:before { content: "\f42b"; } .ion-ios-film-outline:before { content: "\f42a"; } .ion-ios-finger-print:before { content: "\f17c"; } .ion-ios-finger-print-outline:before { content: "\f17c"; } .ion-ios-flag:before { content: "\f42d"; } .ion-ios-flag-outline:before { content: "\f42c"; } .ion-ios-flame:before { content: "\f42f"; } .ion-ios-flame-outline:before { content: "\f42e"; } .ion-ios-flash:before { content: "\f17e"; } .ion-ios-flash-outline:before { content: "\f17d"; } .ion-ios-flask:before { content: "\f431"; } .ion-ios-flask-outline:before { content: "\f430"; } .ion-ios-flower:before { content: "\f433"; } .ion-ios-flower-outline:before { content: "\f432"; } .ion-ios-folder:before { content: "\f435"; } .ion-ios-folder-open:before { content: "\f180"; } .ion-ios-folder-open-outline:before { content: "\f17f"; } .ion-ios-folder-outline:before { content: "\f434"; } .ion-ios-football:before { content: "\f437"; } .ion-ios-football-outline:before { content: "\f436"; } .ion-ios-funnel:before { content: "\f182"; } .ion-ios-funnel-outline:before { content: "\f181"; } .ion-ios-game-controller-a:before { content: "\f439"; } .ion-ios-game-controller-a-outline:before { content: "\f438"; } .ion-ios-game-controller-b:before { content: "\f43b"; } .ion-ios-game-controller-b-outline:before { content: "\f43a"; } .ion-ios-git-branch:before { content: "\f183"; } .ion-ios-git-branch-outline:before { content: "\f183"; } .ion-ios-git-commit:before { content: "\f184"; } .ion-ios-git-commit-outline:before { content: "\f184"; } .ion-ios-git-compare:before { content: "\f185"; } .ion-ios-git-compare-outline:before { content: "\f185"; } .ion-ios-git-merge:before { content: "\f186"; } .ion-ios-git-merge-outline:before { content: "\f186"; } .ion-ios-git-network:before { content: "\f187"; } .ion-ios-git-network-outline:before { content: "\f187"; } .ion-ios-git-pull-request:before { content: "\f188"; } .ion-ios-git-pull-request-outline:before { content: "\f188"; } .ion-ios-glasses:before { content: "\f43f"; } .ion-ios-glasses-outline:before { content: "\f43e"; } .ion-ios-globe:before { content: "\f18a"; } .ion-ios-globe-outline:before { content: "\f189"; } .ion-ios-grid:before { content: "\f18c"; } .ion-ios-grid-outline:before { content: "\f18b"; } .ion-ios-hammer:before { content: "\f18e"; } .ion-ios-hammer-outline:before { content: "\f18d"; } .ion-ios-hand:before { content: "\f190"; } .ion-ios-hand-outline:before { content: "\f18f"; } .ion-ios-happy:before { content: "\f192"; } .ion-ios-happy-outline:before { content: "\f191"; } .ion-ios-headset:before { content: "\f194"; } .ion-ios-headset-outline:before { content: "\f193"; } .ion-ios-heart:before { content: "\f443"; } .ion-ios-heart-outline:before { content: "\f442"; } .ion-ios-help:before { content: "\f446"; } .ion-ios-help-buoy:before { content: "\f196"; } .ion-ios-help-buoy-outline:before { content: "\f195"; } .ion-ios-help-circle:before { content: "\f198"; } .ion-ios-help-circle-outline:before { content: "\f197"; } .ion-ios-help-outline:before { content: "\f446"; } .ion-ios-home:before { content: "\f448"; } .ion-ios-home-outline:before { content: "\f447"; } .ion-ios-ice-cream:before { content: "\f19a"; } .ion-ios-ice-cream-outline:before { content: "\f199"; } .ion-ios-image:before { content: "\f19c"; } .ion-ios-image-outline:before { content: "\f19b"; } .ion-ios-images:before { content: "\f19e"; } .ion-ios-images-outline:before { content: "\f19d"; } .ion-ios-infinite:before { content: "\f44a"; } .ion-ios-infinite-outline:before { content: "\f449"; } .ion-ios-information:before { content: "\f44d"; } .ion-ios-information-circle:before { content: "\f1a0"; } .ion-ios-information-circle-outline:before { content: "\f19f"; } .ion-ios-information-outline:before { content: "\f44d"; } .ion-ios-ionic:before { content: "\f1a1"; } .ion-ios-ionic-outline:before { content: "\f44e"; } .ion-ios-ionitron:before { content: "\f1a3"; } .ion-ios-ionitron-outline:before { content: "\f1a2"; } .ion-ios-jet:before { content: "\f1a5"; } .ion-ios-jet-outline:before { content: "\f1a4"; } .ion-ios-key:before { content: "\f1a7"; } .ion-ios-key-outline:before { content: "\f1a6"; } .ion-ios-keypad:before { content: "\f450"; } .ion-ios-keypad-outline:before { content: "\f44f"; } .ion-ios-laptop:before { content: "\f1a8"; } .ion-ios-laptop-outline:before { content: "\f1a8"; } .ion-ios-leaf:before { content: "\f1aa"; } .ion-ios-leaf-outline:before { content: "\f1a9"; } .ion-ios-link:before { content: "\f22a"; } .ion-ios-link-outline:before { content: "\f1ca"; } .ion-ios-list:before { content: "\f454"; } .ion-ios-list-box:before { content: "\f1ac"; } .ion-ios-list-box-outline:before { content: "\f1ab"; } .ion-ios-list-outline:before { content: "\f454"; } .ion-ios-locate:before { content: "\f1ae"; } .ion-ios-locate-outline:before { content: "\f1ad"; } .ion-ios-lock:before { content: "\f1b0"; } .ion-ios-lock-outline:before { content: "\f1af"; } .ion-ios-log-in:before { content: "\f1b1"; } .ion-ios-log-in-outline:before { content: "\f1b1"; } .ion-ios-log-out:before { content: "\f1b2"; } .ion-ios-log-out-outline:before { content: "\f1b2"; } .ion-ios-magnet:before { content: "\f1b4"; } .ion-ios-magnet-outline:before { content: "\f1b3"; } .ion-ios-mail:before { content: "\f1b8"; } .ion-ios-mail-open:before { content: "\f1b6"; } .ion-ios-mail-open-outline:before { content: "\f1b5"; } .ion-ios-mail-outline:before { content: "\f1b7"; } .ion-ios-male:before { content: "\f1b9"; } .ion-ios-male-outline:before { content: "\f1b9"; } .ion-ios-man:before { content: "\f1bb"; } .ion-ios-man-outline:before { content: "\f1ba"; } .ion-ios-map:before { content: "\f1bd"; } .ion-ios-map-outline:before { content: "\f1bc"; } .ion-ios-medal:before { content: "\f1bf"; } .ion-ios-medal-outline:before { content: "\f1be"; } .ion-ios-medical:before { content: "\f45c"; } .ion-ios-medical-outline:before { content: "\f45b"; } .ion-ios-medkit:before { content: "\f45e"; } .ion-ios-medkit-outline:before { content: "\f45d"; } .ion-ios-megaphone:before { content: "\f1c1"; } .ion-ios-megaphone-outline:before { content: "\f1c0"; } .ion-ios-menu:before { content: "\f1c3"; } .ion-ios-menu-outline:before { content: "\f1c2"; } .ion-ios-mic:before { content: "\f461"; } .ion-ios-mic-off:before { content: "\f45f"; } .ion-ios-mic-off-outline:before { content: "\f1c4"; } .ion-ios-mic-outline:before { content: "\f460"; } .ion-ios-microphone:before { content: "\f1c6"; } .ion-ios-microphone-outline:before { content: "\f1c5"; } .ion-ios-moon:before { content: "\f468"; } .ion-ios-moon-outline:before { content: "\f467"; } .ion-ios-more:before { content: "\f1c8"; } .ion-ios-more-outline:before { content: "\f1c7"; } .ion-ios-move:before { content: "\f1cb"; } .ion-ios-move-outline:before { content: "\f1cb"; } .ion-ios-musical-note:before { content: "\f46b"; } .ion-ios-musical-note-outline:before { content: "\f1cc"; } .ion-ios-musical-notes:before { content: "\f46c"; } .ion-ios-musical-notes-outline:before { content: "\f1cd"; } .ion-ios-navigate:before { content: "\f46e"; } .ion-ios-navigate-outline:before { content: "\f46d"; } .ion-ios-no-smoking:before { content: "\f1cf"; } .ion-ios-no-smoking-outline:before { content: "\f1ce"; } .ion-ios-notifications:before { content: "\f1d3"; } .ion-ios-notifications-off:before { content: "\f1d1"; } .ion-ios-notifications-off-outline:before { content: "\f1d0"; } .ion-ios-notifications-outline:before { content: "\f1d2"; } .ion-ios-nuclear:before { content: "\f1d5"; } .ion-ios-nuclear-outline:before { content: "\f1d4"; } .ion-ios-nutrition:before { content: "\f470"; } .ion-ios-nutrition-outline:before { content: "\f46f"; } .ion-ios-open:before { content: "\f1d7"; } .ion-ios-open-outline:before { content: "\f1d6"; } .ion-ios-options:before { content: "\f1d9"; } .ion-ios-options-outline:before { content: "\f1d8"; } .ion-ios-outlet:before { content: "\f1db"; } .ion-ios-outlet-outline:before { content: "\f1da"; } .ion-ios-paper:before { content: "\f472"; } .ion-ios-paper-outline:before { content: "\f471"; } .ion-ios-paper-plane:before { content: "\f1dd"; } .ion-ios-paper-plane-outline:before { content: "\f1dc"; } .ion-ios-partly-sunny:before { content: "\f1df"; } .ion-ios-partly-sunny-outline:before { content: "\f1de"; } .ion-ios-pause:before { content: "\f478"; } .ion-ios-pause-outline:before { content: "\f477"; } .ion-ios-paw:before { content: "\f47a"; } .ion-ios-paw-outline:before { content: "\f479"; } .ion-ios-people:before { content: "\f47c"; } .ion-ios-people-outline:before { content: "\f47b"; } .ion-ios-person:before { content: "\f47e"; } .ion-ios-person-add:before { content: "\f1e1"; } .ion-ios-person-add-outline:before { content: "\f1e0"; } .ion-ios-person-outline:before { content: "\f47d"; } .ion-ios-phone-landscape:before { content: "\f1e2"; } .ion-ios-phone-landscape-outline:before { content: "\f1e2"; } .ion-ios-phone-portrait:before { content: "\f1e3"; } .ion-ios-phone-portrait-outline:before { content: "\f1e3"; } .ion-ios-photos:before { content: "\f482"; } .ion-ios-photos-outline:before { content: "\f481"; } .ion-ios-pie:before { content: "\f484"; } .ion-ios-pie-outline:before { content: "\f483"; } .ion-ios-pin:before { content: "\f1e5"; } .ion-ios-pin-outline:before { content: "\f1e4"; } .ion-ios-pint:before { content: "\f486"; } .ion-ios-pint-outline:before { content: "\f485"; } .ion-ios-pizza:before { content: "\f1e7"; } .ion-ios-pizza-outline:before { content: "\f1e6"; } .ion-ios-plane:before { content: "\f1e9"; } .ion-ios-plane-outline:before { content: "\f1e8"; } .ion-ios-planet:before { content: "\f1eb"; } .ion-ios-planet-outline:before { content: "\f1ea"; } .ion-ios-play:before { content: "\f488"; } .ion-ios-play-outline:before { content: "\f487"; } .ion-ios-podium:before { content: "\f1ed"; } .ion-ios-podium-outline:before { content: "\f1ec"; } .ion-ios-power:before { content: "\f1ef"; } .ion-ios-power-outline:before { content: "\f1ee"; } .ion-ios-pricetag:before { content: "\f48d"; } .ion-ios-pricetag-outline:before { content: "\f48c"; } .ion-ios-pricetags:before { content: "\f48f"; } .ion-ios-pricetags-outline:before { content: "\f48e"; } .ion-ios-print:before { content: "\f1f1"; } .ion-ios-print-outline:before { content: "\f1f0"; } .ion-ios-pulse:before { content: "\f493"; } .ion-ios-pulse-outline:before { content: "\f1f2"; } .ion-ios-qr-scanner:before { content: "\f1f3"; } .ion-ios-qr-scanner-outline:before { content: "\f1f3"; } .ion-ios-quote:before { content: "\f1f5"; } .ion-ios-quote-outline:before { content: "\f1f4"; } .ion-ios-radio:before { content: "\f1f9"; } .ion-ios-radio-button-off:before { content: "\f1f6"; } .ion-ios-radio-button-off-outline:before { content: "\f1f6"; } .ion-ios-radio-button-on:before { content: "\f1f7"; } .ion-ios-radio-button-on-outline:before { content: "\f1f7"; } .ion-ios-radio-outline:before { content: "\f1f8"; } .ion-ios-rainy:before { content: "\f495"; } .ion-ios-rainy-outline:before { content: "\f494"; } .ion-ios-recording:before { content: "\f497"; } .ion-ios-recording-outline:before { content: "\f496"; } .ion-ios-redo:before { content: "\f499"; } .ion-ios-redo-outline:before { content: "\f498"; } .ion-ios-refresh:before { content: "\f49c"; } .ion-ios-refresh-circle:before { content: "\f226"; } .ion-ios-refresh-circle-outline:before { content: "\f224"; } .ion-ios-refresh-outline:before { content: "\f49c"; } .ion-ios-remove:before { content: "\f1fc"; } .ion-ios-remove-circle:before { content: "\f1fb"; } .ion-ios-remove-circle-outline:before { content: "\f1fa"; } .ion-ios-remove-outline:before { content: "\f1fc"; } .ion-ios-reorder:before { content: "\f1fd"; } .ion-ios-reorder-outline:before { content: "\f1fd"; } .ion-ios-repeat:before { content: "\f1fe"; } .ion-ios-repeat-outline:before { content: "\f1fe"; } .ion-ios-resize:before { content: "\f1ff"; } .ion-ios-resize-outline:before { content: "\f1ff"; } .ion-ios-restaurant:before { content: "\f201"; } .ion-ios-restaurant-outline:before { content: "\f200"; } .ion-ios-return-left:before { content: "\f202"; } .ion-ios-return-left-outline:before { content: "\f202"; } .ion-ios-return-right:before { content: "\f203"; } .ion-ios-return-right-outline:before { content: "\f203"; } .ion-ios-reverse-camera:before { content: "\f49f"; } .ion-ios-reverse-camera-outline:before { content: "\f49e"; } .ion-ios-rewind:before { content: "\f4a1"; } .ion-ios-rewind-outline:before { content: "\f4a0"; } .ion-ios-ribbon:before { content: "\f205"; } .ion-ios-ribbon-outline:before { content: "\f204"; } .ion-ios-rose:before { content: "\f4a3"; } .ion-ios-rose-outline:before { content: "\f4a2"; } .ion-ios-sad:before { content: "\f207"; } .ion-ios-sad-outline:before { content: "\f206"; } .ion-ios-school:before { content: "\f209"; } .ion-ios-school-outline:before { content: "\f208"; } .ion-ios-search:before { content: "\f4a5"; } .ion-ios-search-outline:before { content: "\f20a"; } .ion-ios-send:before { content: "\f20c"; } .ion-ios-send-outline:before { content: "\f20b"; } .ion-ios-settings:before { content: "\f4a7"; } .ion-ios-settings-outline:before { content: "\f20d"; } .ion-ios-share:before { content: "\f211"; } .ion-ios-share-alt:before { content: "\f20f"; } .ion-ios-share-alt-outline:before { content: "\f20e"; } .ion-ios-share-outline:before { content: "\f210"; } .ion-ios-shirt:before { content: "\f213"; } .ion-ios-shirt-outline:before { content: "\f212"; } .ion-ios-shuffle:before { content: "\f4a9"; } .ion-ios-shuffle-outline:before { content: "\f4a9"; } .ion-ios-skip-backward:before { content: "\f215"; } .ion-ios-skip-backward-outline:before { content: "\f214"; } .ion-ios-skip-forward:before { content: "\f217"; } .ion-ios-skip-forward-outline:before { content: "\f216"; } .ion-ios-snow:before { content: "\f218"; } .ion-ios-snow-outline:before { content: "\f22c"; } .ion-ios-speedometer:before { content: "\f4b0"; } .ion-ios-speedometer-outline:before { content: "\f4af"; } .ion-ios-square:before { content: "\f21a"; } .ion-ios-square-outline:before { content: "\f219"; } .ion-ios-star:before { content: "\f4b3"; } .ion-ios-star-half:before { content: "\f4b1"; } .ion-ios-star-half-outline:before { content: "\f4b1"; } .ion-ios-star-outline:before { content: "\f4b2"; } .ion-ios-stats:before { content: "\f21c"; } .ion-ios-stats-outline:before { content: "\f21b"; } .ion-ios-stopwatch:before { content: "\f4b5"; } .ion-ios-stopwatch-outline:before { content: "\f4b4"; } .ion-ios-subway:before { content: "\f21e"; } .ion-ios-subway-outline:before { content: "\f21d"; } .ion-ios-sunny:before { content: "\f4b7"; } .ion-ios-sunny-outline:before { content: "\f4b6"; } .ion-ios-swap:before { content: "\f21f"; } .ion-ios-swap-outline:before { content: "\f21f"; } .ion-ios-switch:before { content: "\f221"; } .ion-ios-switch-outline:before { content: "\f220"; } .ion-ios-sync:before { content: "\f222"; } .ion-ios-sync-outline:before { content: "\f222"; } .ion-ios-tablet-landscape:before { content: "\f223"; } .ion-ios-tablet-landscape-outline:before { content: "\f223"; } .ion-ios-tablet-portrait:before { content: "\f24e"; } .ion-ios-tablet-portrait-outline:before { content: "\f24e"; } .ion-ios-tennisball:before { content: "\f4bb"; } .ion-ios-tennisball-outline:before { content: "\f4ba"; } .ion-ios-text:before { content: "\f250"; } .ion-ios-text-outline:before { content: "\f24f"; } .ion-ios-thermometer:before { content: "\f252"; } .ion-ios-thermometer-outline:before { content: "\f251"; } .ion-ios-thumbs-down:before { content: "\f254"; } .ion-ios-thumbs-down-outline:before { content: "\f253"; } .ion-ios-thumbs-up:before { content: "\f256"; } .ion-ios-thumbs-up-outline:before { content: "\f255"; } .ion-ios-thunderstorm:before { content: "\f4bd"; } .ion-ios-thunderstorm-outline:before { content: "\f4bc"; } .ion-ios-time:before { content: "\f4bf"; } .ion-ios-time-outline:before { content: "\f4be"; } .ion-ios-timer:before { content: "\f4c1"; } .ion-ios-timer-outline:before { content: "\f4c0"; } .ion-ios-train:before { content: "\f258"; } .ion-ios-train-outline:before { content: "\f257"; } .ion-ios-transgender:before { content: "\f259"; } .ion-ios-transgender-outline:before { content: "\f259"; } .ion-ios-trash:before { content: "\f4c5"; } .ion-ios-trash-outline:before { content: "\f4c4"; } .ion-ios-trending-down:before { content: "\f25a"; } .ion-ios-trending-down-outline:before { content: "\f25a"; } .ion-ios-trending-up:before { content: "\f25b"; } .ion-ios-trending-up-outline:before { content: "\f25b"; } .ion-ios-trophy:before { content: "\f25d"; } .ion-ios-trophy-outline:before { content: "\f25c"; } .ion-ios-umbrella:before { content: "\f25f"; } .ion-ios-umbrella-outline:before { content: "\f25e"; } .ion-ios-undo:before { content: "\f4c7"; } .ion-ios-undo-outline:before { content: "\f4c6"; } .ion-ios-unlock:before { content: "\f261"; } .ion-ios-unlock-outline:before { content: "\f260"; } .ion-ios-videocam:before { content: "\f4cd"; } .ion-ios-videocam-outline:before { content: "\f4cc"; } .ion-ios-volume-down:before { content: "\f262"; } .ion-ios-volume-down-outline:before { content: "\f262"; } .ion-ios-volume-mute:before { content: "\f263"; } .ion-ios-volume-mute-outline:before { content: "\f263"; } .ion-ios-volume-off:before { content: "\f264"; } .ion-ios-volume-off-outline:before { content: "\f264"; } .ion-ios-volume-up:before { content: "\f265"; } .ion-ios-volume-up-outline:before { content: "\f265"; } .ion-ios-walk:before { content: "\f266"; } .ion-ios-walk-outline:before { content: "\f266"; } .ion-ios-warning:before { content: "\f268"; } .ion-ios-warning-outline:before { content: "\f267"; } .ion-ios-watch:before { content: "\f269"; } .ion-ios-watch-outline:before { content: "\f269"; } .ion-ios-water:before { content: "\f26b"; } .ion-ios-water-outline:before { content: "\f26a"; } .ion-ios-wifi:before { content: "\f26d"; } .ion-ios-wifi-outline:before { content: "\f26c"; } .ion-ios-wine:before { content: "\f26f"; } .ion-ios-wine-outline:before { content: "\f26e"; } .ion-ios-woman:before { content: "\f271"; } .ion-ios-woman-outline:before { content: "\f270"; } .ion-logo-android:before { content: "\f225"; } .ion-logo-angular:before { content: "\f227"; } .ion-logo-apple:before { content: "\f229"; } .ion-logo-bitcoin:before { content: "\f22b"; } .ion-logo-buffer:before { content: "\f22d"; } .ion-logo-chrome:before { content: "\f22f"; } .ion-logo-codepen:before { content: "\f230"; } .ion-logo-css3:before { content: "\f231"; } .ion-logo-designernews:before { content: "\f232"; } .ion-logo-dribbble:before { content: "\f233"; } .ion-logo-dropbox:before { content: "\f234"; } .ion-logo-euro:before { content: "\f235"; } .ion-logo-facebook:before { content: "\f236"; } .ion-logo-foursquare:before { content: "\f237"; } .ion-logo-freebsd-devil:before { content: "\f238"; } .ion-logo-github:before { content: "\f239"; } .ion-logo-google:before { content: "\f23a"; } .ion-logo-googleplus:before { content: "\f23b"; } .ion-logo-hackernews:before { content: "\f23c"; } .ion-logo-html5:before { content: "\f23d"; } .ion-logo-instagram:before { content: "\f23e"; } .ion-logo-javascript:before { content: "\f23f"; } .ion-logo-linkedin:before { content: "\f240"; } .ion-logo-markdown:before { content: "\f241"; } .ion-logo-nodejs:before { content: "\f242"; } .ion-logo-octocat:before { content: "\f243"; } .ion-logo-pinterest:before { content: "\f244"; } .ion-logo-playstation:before { content: "\f245"; } .ion-logo-python:before { content: "\f246"; } .ion-logo-reddit:before { content: "\f247"; } .ion-logo-rss:before { content: "\f248"; } .ion-logo-sass:before { content: "\f249"; } .ion-logo-skype:before { content: "\f24a"; } .ion-logo-snapchat:before { content: "\f24b"; } .ion-logo-steam:before { content: "\f24c"; } .ion-logo-tumblr:before { content: "\f24d"; } .ion-logo-tux:before { content: "\f2ae"; } .ion-logo-twitch:before { content: "\f2af"; } .ion-logo-twitter:before { content: "\f2b0"; } .ion-logo-usd:before { content: "\f2b1"; } .ion-logo-vimeo:before { content: "\f2c4"; } .ion-logo-whatsapp:before { content: "\f2c5"; } .ion-logo-windows:before { content: "\f32f"; } .ion-logo-wordpress:before { content: "\f330"; } .ion-logo-xbox:before { content: "\f34c"; } .ion-logo-yahoo:before { content: "\f34d"; } .ion-logo-yen:before { content: "\f34e"; } .ion-logo-youtube:before { content: "\f34f"; } .ion-md-add:before { content: "\f273"; } .ion-md-add-circle:before { content: "\f272"; } .ion-md-alarm:before { content: "\f274"; } .ion-md-albums:before { content: "\f275"; } .ion-md-alert:before { content: "\f276"; } .ion-md-american-football:before { content: "\f277"; } .ion-md-analytics:before { content: "\f278"; } .ion-md-aperture:before { content: "\f279"; } .ion-md-apps:before { content: "\f27a"; } .ion-md-appstore:before { content: "\f27b"; } .ion-md-archive:before { content: "\f27c"; } .ion-md-arrow-back:before { content: "\f27d"; } .ion-md-arrow-down:before { content: "\f27e"; } .ion-md-arrow-dropdown:before { content: "\f280"; } .ion-md-arrow-dropdown-circle:before { content: "\f27f"; } .ion-md-arrow-dropleft:before { content: "\f282"; } .ion-md-arrow-dropleft-circle:before { content: "\f281"; } .ion-md-arrow-dropright:before { content: "\f284"; } .ion-md-arrow-dropright-circle:before { content: "\f283"; } .ion-md-arrow-dropup:before { content: "\f286"; } .ion-md-arrow-dropup-circle:before { content: "\f285"; } .ion-md-arrow-forward:before { content: "\f287"; } .ion-md-arrow-round-back:before { content: "\f288"; } .ion-md-arrow-round-down:before { content: "\f289"; } .ion-md-arrow-round-forward:before { content: "\f28a"; } .ion-md-arrow-round-up:before { content: "\f28b"; } .ion-md-arrow-up:before { content: "\f28c"; } .ion-md-at:before { content: "\f28d"; } .ion-md-attach:before { content: "\f28e"; } .ion-md-backspace:before { content: "\f28f"; } .ion-md-barcode:before { content: "\f290"; } .ion-md-baseball:before { content: "\f291"; } .ion-md-basket:before { content: "\f292"; } .ion-md-basketball:before { content: "\f293"; } .ion-md-battery-charging:before { content: "\f294"; } .ion-md-battery-dead:before { content: "\f295"; } .ion-md-battery-full:before { content: "\f296"; } .ion-md-beaker:before { content: "\f297"; } .ion-md-beer:before { content: "\f298"; } .ion-md-bicycle:before { content: "\f299"; } .ion-md-bluetooth:before { content: "\f29a"; } .ion-md-boat:before { content: "\f29b"; } .ion-md-body:before { content: "\f29c"; } .ion-md-bonfire:before { content: "\f29d"; } .ion-md-book:before { content: "\f29e"; } .ion-md-bookmark:before { content: "\f29f"; } .ion-md-bookmarks:before { content: "\f2a0"; } .ion-md-bowtie:before { content: "\f2a1"; } .ion-md-briefcase:before { content: "\f2a2"; } .ion-md-browsers:before { content: "\f2a3"; } .ion-md-brush:before { content: "\f2a4"; } .ion-md-bug:before { content: "\f2a5"; } .ion-md-build:before { content: "\f2a6"; } .ion-md-bulb:before { content: "\f2a7"; } .ion-md-bus:before { content: "\f2a8"; } .ion-md-cafe:before { content: "\f2a9"; } .ion-md-calculator:before { content: "\f2aa"; } .ion-md-calendar:before { content: "\f2ab"; } .ion-md-call:before { content: "\f2ac"; } .ion-md-camera:before { content: "\f2ad"; } .ion-md-car:before { content: "\f2b2"; } .ion-md-card:before { content: "\f2b3"; } .ion-md-cart:before { content: "\f2b4"; } .ion-md-cash:before { content: "\f2b5"; } .ion-md-chatboxes:before { content: "\f2b6"; } .ion-md-chatbubbles:before { content: "\f2b7"; } .ion-md-checkbox:before { content: "\f2b9"; } .ion-md-checkbox-outline:before { content: "\f2b8"; } .ion-md-checkmark:before { content: "\f2bc"; } .ion-md-checkmark-circle:before { content: "\f2bb"; } .ion-md-checkmark-circle-outline:before { content: "\f2ba"; } .ion-md-clipboard:before { content: "\f2bd"; } .ion-md-clock:before { content: "\f2be"; } .ion-md-close:before { content: "\f2c0"; } .ion-md-close-circle:before { content: "\f2bf"; } .ion-md-closed-captioning:before { content: "\f2c1"; } .ion-md-cloud:before { content: "\f2c9"; } .ion-md-cloud-circle:before { content: "\f2c2"; } .ion-md-cloud-done:before { content: "\f2c3"; } .ion-md-cloud-download:before { content: "\f2c6"; } .ion-md-cloud-outline:before { content: "\f2c7"; } .ion-md-cloud-upload:before { content: "\f2c8"; } .ion-md-cloudy:before { content: "\f2cb"; } .ion-md-cloudy-night:before { content: "\f2ca"; } .ion-md-code:before { content: "\f2ce"; } .ion-md-code-download:before { content: "\f2cc"; } .ion-md-code-working:before { content: "\f2cd"; } .ion-md-cog:before { content: "\f2cf"; } .ion-md-color-fill:before { content: "\f2d0"; } .ion-md-color-filter:before { content: "\f2d1"; } .ion-md-color-palette:before { content: "\f2d2"; } .ion-md-color-wand:before { content: "\f2d3"; } .ion-md-compass:before { content: "\f2d4"; } .ion-md-construct:before { content: "\f2d5"; } .ion-md-contact:before { content: "\f2d6"; } .ion-md-contacts:before { content: "\f2d7"; } .ion-md-contract:before { content: "\f2d8"; } .ion-md-contrast:before { content: "\f2d9"; } .ion-md-copy:before { content: "\f2da"; } .ion-md-create:before { content: "\f2db"; } .ion-md-crop:before { content: "\f2dc"; } .ion-md-cube:before { content: "\f2dd"; } .ion-md-cut:before { content: "\f2de"; } .ion-md-desktop:before { content: "\f2df"; } .ion-md-disc:before { content: "\f2e0"; } .ion-md-document:before { content: "\f2e1"; } .ion-md-done-all:before { content: "\f2e2"; } .ion-md-download:before { content: "\f2e3"; } .ion-md-easel:before { content: "\f2e4"; } .ion-md-egg:before { content: "\f2e5"; } .ion-md-exit:before { content: "\f2e6"; } .ion-md-expand:before { content: "\f2e7"; } .ion-md-eye:before { content: "\f2e9"; } .ion-md-eye-off:before { content: "\f2e8"; } .ion-md-fastforward:before { content: "\f2ea"; } .ion-md-female:before { content: "\f2eb"; } .ion-md-filing:before { content: "\f2ec"; } .ion-md-film:before { content: "\f2ed"; } .ion-md-finger-print:before { content: "\f2ee"; } .ion-md-flag:before { content: "\f2ef"; } .ion-md-flame:before { content: "\f2f0"; } .ion-md-flash:before { content: "\f2f1"; } .ion-md-flask:before { content: "\f2f2"; } .ion-md-flower:before { content: "\f2f3"; } .ion-md-folder:before { content: "\f2f5"; } .ion-md-folder-open:before { content: "\f2f4"; } .ion-md-football:before { content: "\f2f6"; } .ion-md-funnel:before { content: "\f2f7"; } .ion-md-game-controller-a:before { content: "\f2f8"; } .ion-md-game-controller-b:before { content: "\f2f9"; } .ion-md-git-branch:before { content: "\f2fa"; } .ion-md-git-commit:before { content: "\f2fb"; } .ion-md-git-compare:before { content: "\f2fc"; } .ion-md-git-merge:before { content: "\f2fd"; } .ion-md-git-network:before { content: "\f2fe"; } .ion-md-git-pull-request:before { content: "\f2ff"; } .ion-md-glasses:before { content: "\f300"; } .ion-md-globe:before { content: "\f301"; } .ion-md-grid:before { content: "\f302"; } .ion-md-hammer:before { content: "\f303"; } .ion-md-hand:before { content: "\f304"; } .ion-md-happy:before { content: "\f305"; } .ion-md-headset:before { content: "\f306"; } .ion-md-heart:before { content: "\f308"; } .ion-md-heart-outline:before { content: "\f307"; } .ion-md-help:before { content: "\f30b"; } .ion-md-help-buoy:before { content: "\f309"; } .ion-md-help-circle:before { content: "\f30a"; } .ion-md-home:before { content: "\f30c"; } .ion-md-ice-cream:before { content: "\f30d"; } .ion-md-image:before { content: "\f30e"; } .ion-md-images:before { content: "\f30f"; } .ion-md-infinite:before { content: "\f310"; } .ion-md-information:before { content: "\f312"; } .ion-md-information-circle:before { content: "\f311"; } .ion-md-ionic:before { content: "\f313"; } .ion-md-ionitron:before { content: "\f314"; } .ion-md-jet:before { content: "\f315"; } .ion-md-key:before { content: "\f316"; } .ion-md-keypad:before { content: "\f317"; } .ion-md-laptop:before { content: "\f318"; } .ion-md-leaf:before { content: "\f319"; } .ion-md-link:before { content: "\f22e"; } .ion-md-list:before { content: "\f31b"; } .ion-md-list-box:before { content: "\f31a"; } .ion-md-locate:before { content: "\f31c"; } .ion-md-lock:before { content: "\f31d"; } .ion-md-log-in:before { content: "\f31e"; } .ion-md-log-out:before { content: "\f31f"; } .ion-md-magnet:before { content: "\f320"; } .ion-md-mail:before { content: "\f322"; } .ion-md-mail-open:before { content: "\f321"; } .ion-md-male:before { content: "\f323"; } .ion-md-man:before { content: "\f324"; } .ion-md-map:before { content: "\f325"; } .ion-md-medal:before { content: "\f326"; } .ion-md-medical:before { content: "\f327"; } .ion-md-medkit:before { content: "\f328"; } .ion-md-megaphone:before { content: "\f329"; } .ion-md-menu:before { content: "\f32a"; } .ion-md-mic:before { content: "\f32c"; } .ion-md-mic-off:before { content: "\f32b"; } .ion-md-microphone:before { content: "\f32d"; } .ion-md-moon:before { content: "\f32e"; } .ion-md-more:before { content: "\f1c9"; } .ion-md-move:before { content: "\f331"; } .ion-md-musical-note:before { content: "\f332"; } .ion-md-musical-notes:before { content: "\f333"; } .ion-md-navigate:before { content: "\f334"; } .ion-md-no-smoking:before { content: "\f335"; } .ion-md-notifications:before { content: "\f338"; } .ion-md-notifications-off:before { content: "\f336"; } .ion-md-notifications-outline:before { content: "\f337"; } .ion-md-nuclear:before { content: "\f339"; } .ion-md-nutrition:before { content: "\f33a"; } .ion-md-open:before { content: "\f33b"; } .ion-md-options:before { content: "\f33c"; } .ion-md-outlet:before { content: "\f33d"; } .ion-md-paper:before { content: "\f33f"; } .ion-md-paper-plane:before { content: "\f33e"; } .ion-md-partly-sunny:before { content: "\f340"; } .ion-md-pause:before { content: "\f341"; } .ion-md-paw:before { content: "\f342"; } .ion-md-people:before { content: "\f343"; } .ion-md-person:before { content: "\f345"; } .ion-md-person-add:before { content: "\f344"; } .ion-md-phone-landscape:before { content: "\f346"; } .ion-md-phone-portrait:before { content: "\f347"; } .ion-md-photos:before { content: "\f348"; } .ion-md-pie:before { content: "\f349"; } .ion-md-pin:before { content: "\f34a"; } .ion-md-pint:before { content: "\f34b"; } .ion-md-pizza:before { content: "\f354"; } .ion-md-plane:before { content: "\f355"; } .ion-md-planet:before { content: "\f356"; } .ion-md-play:before { content: "\f357"; } .ion-md-podium:before { content: "\f358"; } .ion-md-power:before { content: "\f359"; } .ion-md-pricetag:before { content: "\f35a"; } .ion-md-pricetags:before { content: "\f35b"; } .ion-md-print:before { content: "\f35c"; } .ion-md-pulse:before { content: "\f35d"; } .ion-md-qr-scanner:before { content: "\f35e"; } .ion-md-quote:before { content: "\f35f"; } .ion-md-radio:before { content: "\f362"; } .ion-md-radio-button-off:before { content: "\f360"; } .ion-md-radio-button-on:before { content: "\f361"; } .ion-md-rainy:before { content: "\f363"; } .ion-md-recording:before { content: "\f364"; } .ion-md-redo:before { content: "\f365"; } .ion-md-refresh:before { content: "\f366"; } .ion-md-refresh-circle:before { content: "\f228"; } .ion-md-remove:before { content: "\f368"; } .ion-md-remove-circle:before { content: "\f367"; } .ion-md-reorder:before { content: "\f369"; } .ion-md-repeat:before { content: "\f36a"; } .ion-md-resize:before { content: "\f36b"; } .ion-md-restaurant:before { content: "\f36c"; } .ion-md-return-left:before { content: "\f36d"; } .ion-md-return-right:before { content: "\f36e"; } .ion-md-reverse-camera:before { content: "\f36f"; } .ion-md-rewind:before { content: "\f370"; } .ion-md-ribbon:before { content: "\f371"; } .ion-md-rose:before { content: "\f372"; } .ion-md-sad:before { content: "\f373"; } .ion-md-school:before { content: "\f374"; } .ion-md-search:before { content: "\f375"; } .ion-md-send:before { content: "\f376"; } .ion-md-settings:before { content: "\f377"; } .ion-md-share:before { content: "\f379"; } .ion-md-share-alt:before { content: "\f378"; } .ion-md-shirt:before { content: "\f37a"; } .ion-md-shuffle:before { content: "\f37b"; } .ion-md-skip-backward:before { content: "\f37c"; } .ion-md-skip-forward:before { content: "\f37d"; } .ion-md-snow:before { content: "\f37e"; } .ion-md-speedometer:before { content: "\f37f"; } .ion-md-square:before { content: "\f381"; } .ion-md-square-outline:before { content: "\f380"; } .ion-md-star:before { content: "\f384"; } .ion-md-star-half:before { content: "\f382"; } .ion-md-star-outline:before { content: "\f383"; } .ion-md-stats:before { content: "\f385"; } .ion-md-stopwatch:before { content: "\f386"; } .ion-md-subway:before { content: "\f387"; } .ion-md-sunny:before { content: "\f388"; } .ion-md-swap:before { content: "\f389"; } .ion-md-switch:before { content: "\f38a"; } .ion-md-sync:before { content: "\f38b"; } .ion-md-tablet-landscape:before { content: "\f38c"; } .ion-md-tablet-portrait:before { content: "\f38d"; } .ion-md-tennisball:before { content: "\f38e"; } .ion-md-text:before { content: "\f38f"; } .ion-md-thermometer:before { content: "\f390"; } .ion-md-thumbs-down:before { content: "\f391"; } .ion-md-thumbs-up:before { content: "\f392"; } .ion-md-thunderstorm:before { content: "\f393"; } .ion-md-time:before { content: "\f394"; } .ion-md-timer:before { content: "\f395"; } .ion-md-train:before { content: "\f396"; } .ion-md-transgender:before { content: "\f397"; } .ion-md-trash:before { content: "\f398"; } .ion-md-trending-down:before { content: "\f399"; } .ion-md-trending-up:before { content: "\f39a"; } .ion-md-trophy:before { content: "\f39b"; } .ion-md-umbrella:before { content: "\f39c"; } .ion-md-undo:before { content: "\f39d"; } .ion-md-unlock:before { content: "\f39e"; } .ion-md-videocam:before { content: "\f39f"; } .ion-md-volume-down:before { content: "\f3a0"; } .ion-md-volume-mute:before { content: "\f3a1"; } .ion-md-volume-off:before { content: "\f3a2"; } .ion-md-volume-up:before { content: "\f3a3"; } .ion-md-walk:before { content: "\f3a4"; } .ion-md-warning:before { content: "\f3a5"; } .ion-md-watch:before { content: "\f3a6"; } .ion-md-water:before { content: "\f3a7"; } .ion-md-wifi:before { content: "\f3a8"; } .ion-md-wine:before { content: "\f3a9"; } .ion-md-woman:before { content: "\f3aa"; } @font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.woff2?v=3.0.0-alpha.3") format("woff2"), url("../fonts/ionicons.woff?v=3.0.0-alpha.3") format("woff"), url("../fonts/ionicons.ttf?v=3.0.0-alpha.3") format("truetype"); font-weight: normal; font-style: normal; } ion-icon { display: inline-block; font-family: "Ionicons"; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1; text-rendering: auto; text-transform: none; speak: none; } ion-content { color: #000; } hr { background-color: rgba(0, 0, 0, 0.12); } .hairlines hr { height: 0.55px; } ion-action-sheet { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; } .action-sheet-wrapper { position: absolute; right: 0; bottom: 0; left: 0; z-index: 10; display: block; margin: auto; width: 100%; max-width: 500px; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .action-sheet-button { width: 100%; } ion-action-sheet { text-align: center; } .action-sheet-container { padding: 0 10px; } .action-sheet-group { overflow: hidden; margin-bottom: 8px; border-radius: 13px; background: #f9f9f9; } .action-sheet-group:last-child { margin-bottom: 10px; } .action-sheet-title { padding: 1.5rem; border-bottom: 1px solid #d6d6da; border-radius: 0; font-size: 1.3rem; font-weight: 400; text-align: center; color: #8f8f8f; } .action-sheet-button { margin: 0; padding: 18px; min-height: 5.6rem; border-bottom: 1px solid #d6d6da; font-size: 2rem; color: #007aff; background: transparent; } .action-sheet-button:last-child { border-bottom: 0; } .action-sheet-button.activated { margin-top: -1px; border-top: 1px solid #ebebeb; border-bottom-color: #ebebeb; background: #ebebeb; } .action-sheet-selected { font-weight: bold; background: #fff; } .action-sheet-destructive { color: #f53d3d; } .action-sheet-cancel { font-weight: 600; background: #fff; } .hairlines .action-sheet-title, .hairlines .action-sheet-button { border-bottom-width: 0.55px; } ion-alert { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } ion-alert input { width: 100%; } .alert-wrapper { z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; min-width: 250px; max-height: 90%; opacity: 0; } .alert-title { margin: 0; padding: 0; } .alert-sub-title { margin: 5px 0 0; padding: 0; font-weight: normal; } .alert-message { overflow-y: scroll; -webkit-overflow-scrolling: touch; } .alert-input { padding: 10px 0; border: 0; background: inherit; } .alert-input::-moz-placeholder { color: #999; } .alert-input:-ms-input-placeholder { color: #999; } .alert-input::-webkit-input-placeholder { text-indent: 0; color: #999; } .alert-button-group { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .alert-button-group.vertical { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .alert-button { z-index: 0; display: block; margin: 0; font-size: 14px; line-height: 20px; } .alert-tappable { margin: 0; padding: 0; width: 100%; font-size: inherit; line-height: initial; text-align: left; background: transparent; -webkit-appearance: none; } .alert-wrapper { overflow: hidden; max-width: 270px; border-radius: 13px; background-color: #f8f8f8; box-shadow: none; } .alert-head { padding: 12px 16px 7px; text-align: center; } .alert-title { margin-top: 8px; font-size: 17px; font-weight: 600; } .alert-sub-title { font-size: 14px; color: #666; } .alert-message, .alert-input-group { padding: 0 16px 21px; font-size: 13px; text-align: center; color: inherit; } .alert-message { max-height: 240px; } .alert-message:empty { padding: 0 0 12px 0; } .alert-input { margin-top: 10px; padding: 6px; border: 1px solid #ccc; border-radius: 4px; background-color: #fff; -webkit-appearance: none; } .alert-radio-group, .alert-checkbox-group { overflow: scroll; max-height: 240px; border-top: 1px solid #dbdbdf; -webkit-overflow-scrolling: touch; } .alert-tappable { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; min-height: 44px; } .alert-radio-label { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 1; -webkit-order: 0; -ms-flex-order: 0; order: 0; padding: 13px; text-overflow: ellipsis; white-space: nowrap; } .alert-radio[aria-checked=true] .alert-radio-label { color: #327eff; } .alert-radio-icon { position: relative; -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; min-width: 30px; } .alert-radio[aria-checked=true] .alert-radio-inner { position: absolute; top: -7px; left: 7px; width: 6px; height: 12px; border-width: 2px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #327eff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .alert-checkbox-label { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 13px; text-overflow: ellipsis; white-space: nowrap; } .alert-checkbox[aria-checked=true] .alert-checkbox-label { color: initial; } .alert-checkbox-icon { position: relative; margin: 10px 6px 10px 16px; width: 21px; height: 21px; border-width: 1px; border-style: solid; border-radius: 50%; border-color: #c8c7cc; background-color: #fff; } .alert-checkbox[aria-checked=true] .alert-checkbox-icon { border-color: #327eff; background-color: #327eff; } .alert-checkbox[aria-checked=true] .alert-checkbox-inner { position: absolute; top: 4px; left: 7px; width: 4px; height: 9px; border-width: 1px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .alert-button-group { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-right: -1px; } .alert-button { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; margin: 0; min-width: 50%; height: 44px; border-top: 1px solid #dbdbdf; border-right: 1px solid #dbdbdf; border-radius: 0; font-size: 17px; color: #327eff; background-color: transparent; } .alert-button:last-child { border-right: 0; font-weight: bold; } .alert-button.activated { background-color: #e9e9e9; } .hairlines .alert-radio-group, .hairlines .alert-checkbox-group { border-width: 0.55px; } .hairlines .alert-input { border-width: 0.55px; } .hairlines .alert-button { border-top-width: 0.55px; border-right-width: 0.55px; } ion-badge { display: inline-block; padding: 3px 8px; min-width: 10px; font-size: 1.3rem; font-weight: bold; line-height: 1; text-align: center; white-space: nowrap; vertical-align: baseline; } ion-badge:empty { display: none; } ion-badge { border-radius: 10px; color: #fff; background-color: #327eff; } .badge-primary { color: #fff; background-color: #327eff; } .badge-secondary { color: #fff; background-color: #32db64; } .badge-danger { color: #fff; background-color: #f53d3d; } .badge-light { color: #000; background-color: #f4f4f4; } .badge-dark { color: #fff; background-color: #222; } .button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; position: relative; z-index: 0; display: inline-block; overflow: hidden; text-align: center; text-overflow: ellipsis; text-transform: none; white-space: nowrap; cursor: pointer; vertical-align: top; vertical-align: -webkit-baseline-middle; -webkit-transition: background-color, opacity 100ms linear; transition: background-color, opacity 100ms linear; -webkit-font-kerning: none; font-kerning: none; } .button-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; width: 100%; height: 100%; } [ion-button] { text-decoration: none; } a[disabled], button[disabled], [ion-button][disabled] { cursor: default; opacity: .4; pointer-events: none; } .button-block { display: block; clear: both; width: 100%; } .button-block::after { clear: both; } .button-full { display: block; width: 100%; } .button-full.button-outline { border-right-width: 0; border-left-width: 0; border-radius: 0; } .button { margin: 0.4rem 0.2rem; padding: 0 1em; height: 2.8em; border-radius: 4px; font-size: 1.6rem; color: #fff; background-color: #327eff; } .button.activated { background-color: #2e74eb; opacity: 1; } .button:hover:not(.disable-hover) { opacity: 0.8; } .button-large { padding: 0 1em; height: 2.8em; font-size: 2rem; } .button-small { padding: 0 0.9em; height: 2.1em; font-size: 1.3rem; } .button-small[icon-only] ion-icon { font-size: 1.3em; } .button-block { margin-right: 0; margin-left: 0; } .button-full { margin-right: 0; margin-left: 0; border-right-width: 0; border-left-width: 0; border-radius: 0; } .button-outline { border-width: 1px; border-style: solid; border-radius: 4px; border-color: #327eff; color: #327eff; background-color: transparent; } .button-outline.activated { color: #fff; background-color: #327eff; opacity: 1; } .button-clear { border-color: transparent; color: #327eff; background-color: transparent; } .button-clear.activated { background-color: transparent; opacity: 0.4; } .button-clear:hover:not(.disable-hover) { color: #327eff; opacity: 0.6; } .button-round { padding: 0 2.6rem; border-radius: 64px; } .button-fab { border-radius: 50%; } ion-button-effect { display: none; } .button-primary { color: #fff; background-color: #327eff; } .button-primary.activated { background-color: #2e74eb; } .button-outline-primary { border-color: #327eff; color: #327eff; background-color: transparent; } .button-outline-primary.activated { color: #fff; background-color: #327eff; } .button-clear-primary { border-color: transparent; color: #327eff; background-color: transparent; } .button-clear-primary.activated { opacity: 0.4; } .button-clear-primary:hover:not(.disable-hover) { color: #327eff; } .button-secondary { color: #fff; background-color: #32db64; } .button-secondary.activated { background-color: #2ec95c; } .button-outline-secondary { border-color: #32db64; color: #32db64; background-color: transparent; } .button-outline-secondary.activated { color: #fff; background-color: #32db64; } .button-clear-secondary { border-color: transparent; color: #32db64; background-color: transparent; } .button-clear-secondary.activated { opacity: 0.4; } .button-clear-secondary:hover:not(.disable-hover) { color: #32db64; } .button-danger { color: #fff; background-color: #f53d3d; } .button-danger.activated { background-color: #e13838; } .button-outline-danger { border-color: #f53d3d; color: #f53d3d; background-color: transparent; } .button-outline-danger.activated { color: #fff; background-color: #f53d3d; } .button-clear-danger { border-color: transparent; color: #f53d3d; background-color: transparent; } .button-clear-danger.activated { opacity: 0.4; } .button-clear-danger:hover:not(.disable-hover) { color: #f53d3d; } .button-light { color: #000; background-color: #f4f4f4; } .button-light.activated { background-color: #e0e0e0; } .button-outline-light { border-color: #f4f4f4; color: #f4f4f4; background-color: transparent; } .button-outline-light.activated { color: #000; background-color: #f4f4f4; } .button-clear-light { border-color: transparent; color: #f4f4f4; background-color: transparent; } .button-clear-light.activated { opacity: 0.4; } .button-clear-light:hover:not(.disable-hover) { color: #f4f4f4; } .button-dark { color: #fff; background-color: #222; } .button-dark.activated { background-color: #343434; } .button-outline-dark { border-color: #222; color: #222; background-color: transparent; } .button-outline-dark.activated { color: #fff; background-color: #222; } .button-clear-dark { border-color: transparent; color: #222; background-color: transparent; } .button-clear-dark.activated { opacity: 0.4; } .button-clear-dark:hover:not(.disable-hover) { color: #222; } .button-fab { position: absolute; overflow: hidden; width: 56px; min-width: 0; height: 56px; font-size: 14px; line-height: 56px; vertical-align: middle; background-clip: padding-box; } .button-fab ion-icon { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; font-size: 2.8rem; } [fab-center] { left: 50%; margin-left: -28px; } [fab-top] { top: 16px; } [fab-right] { right: 16px; } [fab-bottom] { bottom: 16px; } [fab-left] { left: 16px; } [fab-fixed] { position: fixed; } [icon-left] ion-icon { font-size: 1.4em; line-height: .67; pointer-events: none; padding-right: .3em; } [icon-right] ion-icon { font-size: 1.4em; line-height: .67; pointer-events: none; padding-left: .4em; } [icon-only] { padding: 0; min-width: .9em; } [icon-only] ion-icon { padding: 0 .5em; font-size: 1.8em; line-height: .67; pointer-events: none; } ion-card { display: block; overflow: hidden; } ion-card img { display: block; width: 100%; } ion-card-header { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } ion-card-content { display: block; } ion-card { margin: 12px 12px 12px 12px; width: calc(100% - 24px); border-radius: 2px; font-size: 1.4rem; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } ion-card ion-list { margin-bottom: 0; } ion-card > .item:last-child, ion-card > .item-wrapper:last-child .item { border-bottom: 0; } ion-card .item .item-inner { border: 0; } ion-card ion-card-content { padding: 13px 16px 14px 16px; font-size: 1.4rem; line-height: 1.4; } ion-card ion-card-header { padding: 16px; font-size: 1.6rem; font-weight: 500; color: #333; } ion-card ion-card-header + ion-card-content, ion-card .item + ion-card-content { padding-top: 0; } ion-card ion-note[item-left], ion-card ion-note[item-right] { font-size: 1.3rem; } ion-card ion-card-title { display: block; margin: 2px 0 2px; padding: 8px 0 8px 0; font-size: 1.8rem; line-height: 1.2; color: #222; } ion-card h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } ion-card h2 { margin: 2px 0; font-size: 1.6rem; font-weight: normal; } ion-card h3, ion-card h4, ion-card h5, ion-card h6 { margin: 2px 0; font-size: 1.4rem; font-weight: normal; } ion-card p { margin: 0 0 2px; font-size: 1.4rem; color: #666; } ion-card + ion-card { margin-top: 0; } ion-checkbox { position: relative; display: inline-block; } .checkbox-icon { position: relative; width: 21px; height: 21px; border-width: 1px; border-style: solid; border-radius: 50%; border-color: #c8c7cc; background-color: #fff; } .checkbox-checked { border-color: #327eff; background-color: #327eff; } .checkbox-checked .checkbox-inner { position: absolute; top: 4px; left: 7px; width: 4px; height: 9px; border-width: 1px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .checkbox-disabled, .item-checkbox-disabled ion-label { opacity: 0.3; pointer-events: none; } .item ion-checkbox { position: static; display: block; margin: 8px 16px 8px 2px; } .item ion-checkbox[item-right] { margin: 10px 8px 9px 0; } .checkbox-primary .checkbox-checked { border-color: #327eff; background-color: #327eff; } .checkbox-primary .checkbox-checked .checkbox-inner { border-color: #fff; } .checkbox-secondary .checkbox-checked { border-color: #32db64; background-color: #32db64; } .checkbox-secondary .checkbox-checked .checkbox-inner { border-color: #fff; } .checkbox-danger .checkbox-checked { border-color: #f53d3d; background-color: #f53d3d; } .checkbox-danger .checkbox-checked .checkbox-inner { border-color: #fff; } .checkbox-light .checkbox-checked { border-color: #f4f4f4; background-color: #f4f4f4; } .checkbox-light .checkbox-checked .checkbox-inner { border-color: #000; } .checkbox-dark .checkbox-checked { border-color: #222; background-color: #222; } .checkbox-dark .checkbox-checked .checkbox-inner { border-color: #fff; } ion-chip { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; font-weight: normal; vertical-align: middle; box-sizing: border-box; } ion-chip .button { margin: 0; width: 32px; height: 32px; border-radius: 50%; } ion-chip ion-icon { width: 32px; height: 32px; border-radius: 50%; font-size: 18px; line-height: 32px; } ion-chip ion-avatar { width: 32px; min-width: 32px; height: 32px; min-height: 32px; border-radius: 50%; } ion-chip ion-avatar img { display: block; width: 100%; max-width: 100%; height: 100%; max-height: 100%; border-radius: 50%; } ion-chip { margin: 2px 0; height: 32px; border-radius: 16px; font-size: 13px; line-height: 32px; color: rgba(0, 0, 0, 0.87); background: rgba(0, 0, 0, 0.12); } ion-chip > ion-label { margin: 0 10px; } ion-chip > ion-icon { color: #fff; background-color: #327eff; } .chip-primary, ion-chip .icon-primary { color: #fff; background-color: #327eff; } .chip-secondary, ion-chip .icon-secondary { color: #fff; background-color: #32db64; } .chip-danger, ion-chip .icon-danger { color: #fff; background-color: #f53d3d; } .chip-light, ion-chip .icon-light { color: #000; background-color: #f4f4f4; } .chip-dark, ion-chip .icon-dark { color: #fff; background-color: #222; } [no-padding], [no-padding] scroll-content { padding: 0; } [no-margin], [no-margin] scroll-content { margin: 0; } ion-fixed { position: absolute; z-index: 2; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-content { background-color: #fff; } .outer-content { background: #efeff4; } ion-page.show-page ~ .nav-decor { position: absolute; top: 0; left: 0; z-index: 0; display: block; width: 100%; height: 100%; background: #000; pointer-events: none; } [padding], [padding] scroll-content { padding: 16px; } [padding-top], [padding-top] scroll-content { padding-top: 16px; } [padding-left], [padding-left] scroll-content { padding-left: 16px; } [padding-right], [padding-right] scroll-content { padding-right: 16px; } [padding-bottom], [padding-bottom] scroll-content { padding-bottom: 16px; } [padding-vertical], [padding-vertical] scroll-content { padding-top: 16px; padding-bottom: 16px; } [padding-horizontal], [padding-horizontal] scroll-content { padding-right: 16px; padding-left: 16px; } [margin], [margin] scroll-content { margin: 16px; } [margin-top], [margin-top] scroll-content { margin-top: 16px; } [margin-left], [margin-left] scroll-content { margin-left: 16px; } [margin-right], [margin-right] scroll-content { margin-right: 16px; } [margin-bottom], [margin-bottom] scroll-content { margin-bottom: 16px; } [margin-vertical], [margin-vertical] scroll-content { margin-top: 16px; margin-bottom: 16px; } [margin-horizontal], [margin-horizontal] scroll-content { margin-right: 16px; margin-left: 16px; } ion-content:not([no-bounce]) > scroll-content::before, ion-content:not([no-bounce]) > scroll-content::after { position: absolute; width: 1px; height: 1px; content: ""; } ion-content:not([no-bounce]) > scroll-content::before { bottom: -1px; } ion-content:not([no-bounce]) > scroll-content::after { top: -1px; } ion-datetime { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; } .datetime-text { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 16px; min-height: 1.2em; font-size: inherit; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; } .datetime-disabled, .item-datetime-disabled ion-label { opacity: .4; pointer-events: none; } .item-label-stacked ion-datetime, .item-label-floating ion-datetime { padding-left: 0; width: 100%; } ion-datetime { padding: 12px 8px 13px 16px; } ion-icon { display: inline-block; font-size: 1.2em; } ion-icon[small] { min-height: 1.1em; font-size: 1.1em; } .icon-primary { color: #327eff; } .icon-secondary { color: #32db64; } .icon-danger { color: #f53d3d; } .icon-light { color: #f4f4f4; } .icon-dark { color: #222; } ion-input, ion-textarea { position: relative; display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } .item-input ion-input, .item-input ion-textarea { position: static; } .item.item-textarea { -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; } .text-input { display: inline-block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 92%; width: calc(100% - 10px); border: 0; border-radius: 0; background: transparent; -webkit-appearance: none; } .text-input::-moz-placeholder { color: #999; } .text-input:-ms-input-placeholder { color: #999; } .text-input::-webkit-input-placeholder { text-indent: 0; color: #999; } textarea.text-input { display: block; } .text-input[disabled] { opacity: .4; } input.text-input:-webkit-autofill { background-color: transparent; } .platform-mobile textarea.text-input { resize: none; } .input-cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .input-has-focus .input-cover { display: none; } .input-has-focus { pointer-events: none; } .input-has-focus input, .input-has-focus textarea, .input-has-focus a, .input-has-focus button { pointer-events: auto; } [next-input] { position: absolute; bottom: 1px; padding: 0; width: 1px; height: 1px; border: 0; background: transparent; pointer-events: none; } .text-input-clear-icon { position: absolute; top: 0; display: none; margin: 0; padding: 0; height: 100%; background-repeat: no-repeat; background-position: center; } .input-has-focus.input-has-value .text-input-clear-icon { display: block; } .text-input.cloned-input { position: relative; top: 0; pointer-events: none; } .item-input:not(.item-label-floating) .text-input.cloned-active { display: none; } .text-input { margin: 12px 8px 13px 0; padding: 0; width: calc(100% - 8px - 0); } .inset-input { margin: 6px 16px 6.5px 0; padding: 6px 8px 6.5px 8px; } .item-label-stacked .text-input, .item-label-floating .text-input { margin-top: 8px; margin-bottom: 8px; margin-left: 0; width: calc(100% - 8px); } .item-label-stacked ion-select, .item-label-floating ion-select { padding-top: 8px; padding-bottom: 8px; padding-left: 0; } .item-label-floating .text-input.cloned-input, .item-label-stacked .text-input.cloned-input { top: 30px; } ion-input[clearInput] { position: relative; } ion-input[clearInput] .text-input { padding-right: 30px; } .text-input-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); right: 8px; width: 30px; background-size: 18px; } .item { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 4.4rem; border: 0; font-weight: normal; line-height: normal; text-align: initial; text-decoration: none; color: inherit; } .item-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; margin: 0; padding: 0; min-height: inherit; border: 0; } .input-wrapper { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; text-overflow: ellipsis; } .item[no-lines], .item[no-lines] .item-inner { border: 0; } ion-item-group { display: block; } ion-item-divider { z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 30px; } ion-item-divider[sticky] { position: -webkit-sticky; position: sticky; top: 0; } [vertical-align-top], ion-input.item { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .item > ion-icon[small]:first-child, .item-inner > ion-icon[small]:first-child { min-width: 18px; } .item > ion-icon:first-child, .item-inner > ion-icon:first-child { min-width: 24px; text-align: center; } .item > ion-icon, .item-inner > ion-icon { min-height: 2.4rem; font-size: 2.4rem; line-height: 1; } .item > ion-icon[large], .item-inner > ion-icon[large] { min-height: 3.2rem; font-size: 3.2rem; } .item > ion-icon[small], .item-inner > ion-icon[small] { min-height: 1.8rem; font-size: 1.8rem; } ion-avatar, ion-thumbnail { display: block; line-height: 1; } ion-avatar img, ion-thumbnail img { display: block; } .item-cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent; cursor: pointer; } ion-item-sliding { position: relative; display: block; overflow: hidden; width: 100%; } ion-item-sliding .item { position: static; } ion-item-options { position: absolute; top: 0; right: 0; z-index: 1; display: none; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; height: 100%; font-size: 14px; visibility: hidden; } ion-item-options[side=left] { right: auto; left: 0; -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } ion-item-options .button { margin: 0; padding: 0 .7em; height: 100%; border-radius: 0; box-shadow: none; box-sizing: content-box; } ion-item-options:not([icon-left]) .button .button-inner { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } ion-item-options:not([icon-left]) .button ion-icon { padding-right: 0; padding-bottom: .3em; padding-left: 0; } ion-item-sliding.active-slide .item, ion-item-sliding.active-slide .item.activated { position: relative; z-index: 2; opacity: 1; -webkit-transition: -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); transition: transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); pointer-events: none; will-change: transform; } ion-item-sliding.active-slide ion-item-options { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } ion-item-sliding.active-slide.active-options-left ion-item-options[side=left] { width: 100%; visibility: visible; } ion-item-sliding.active-slide.active-options-right ion-item-options:not([side=left]) { width: 100%; visibility: visible; } .button-expandable { -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-transition-duration: 0; transition-duration: 0; -webkit-transition-property: none; transition-property: none; -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1); transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1); } ion-item-sliding.active-swipe-right .button-expandable { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; padding-left: 90%; -webkit-transition-duration: .6s; transition-duration: .6s; -webkit-transition-property: padding-left; transition-property: padding-left; } ion-item-sliding.active-swipe-left .button-expandable { -webkit-box-ordinal-group: 0; -webkit-order: -1; -ms-flex-order: -1; order: -1; padding-right: 90%; -webkit-transition-duration: .6s; transition-duration: .6s; -webkit-transition-property: padding-right; transition-property: padding-right; } ion-reorder { display: none; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; max-width: 40px; height: 100%; font-size: 1.7em; opacity: .25; -webkit-transform: translate3d(120%, 0, 0); transform: translate3d(120%, 0, 0); -webkit-transition: -webkit-transform 125ms ease-in; transition: transform 125ms ease-in; pointer-events: all; -ms-touch-action: manipulation; touch-action: manipulation; } ion-reorder ion-icon { pointer-events: none; } .reorder-enabled ion-reorder { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .reorder-visible ion-reorder { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .reorder-list-active .item, .reorder-list-active .item-wrapper { -webkit-transition: -webkit-transform 300ms; transition: transform 300ms; will-change: transform; } .reorder-list-active .item-inner { pointer-events: none; } .item-wrapper.reorder-active, .item.reorder-active, .reorder-active { z-index: 4; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); opacity: .8; -webkit-transition: none; transition: none; pointer-events: none; } .item { position: relative; padding-left: 16px; border-radius: 0; font-size: 1.6rem; color: #000; background-color: #fff; -webkit-transition-duration: 200ms; transition-duration: 200ms; } .item h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .item h2 { margin: 0 0 2px; font-size: 1.6rem; font-weight: normal; } .item h3, .item h4, .item h5, .item h6 { margin: 0 0 3px; font-size: 1.4rem; font-weight: normal; line-height: normal; } .item p { overflow: inherit; margin: 0 0 2px; font-size: 1.2rem; line-height: normal; text-overflow: inherit; color: #666; } .item h2:last-child, .item h3:last-child, .item h4:last-child, .item h5:last-child, .item h6:last-child, .item p:last-child { margin-bottom: 0; } .item a { text-decoration: none; } .item.activated { background-color: #d9d9d9; -webkit-transition-duration: 0ms; transition-duration: 0ms; } .item .item-inner { padding-right: 8px; border-bottom: 1px solid #c8c7cc; } .hairlines .item-inner { border-bottom-width: 0.55px; } [item-left] { margin: 8px 16px 8px 0; } [item-right] { margin: 8px 8px 8px 8px; } ion-icon[item-left], ion-icon[item-right] { margin-top: 10px; margin-bottom: 9px; margin-left: 0; } ion-avatar[item-left], ion-thumbnail[item-left] { margin: 8px 16px 8px 0; } ion-avatar[item-right], ion-thumbnail[item-right] { margin: 8px; } .item-button { padding: 0 .5em; height: 24px; font-size: 1.3rem; } .item-button[icon-only] ion-icon, .item-button[icon-only] { padding: 0 1px; } ion-avatar { min-width: 3.6rem; min-height: 3.6rem; } ion-avatar img { max-width: 3.6rem; max-height: 3.6rem; border-radius: 1.8rem; } ion-thumbnail { min-width: 5.6rem; min-height: 5.6rem; } ion-thumbnail img { max-width: 5.6rem; max-height: 5.6rem; } ion-note { color: #aeacb4; } .item[detail-push] .item-inner, button.item:not([detail-none]) .item-inner, a.item:not([detail-none]) .item-inner { background-image: url("data:image/svg+xml;charset=utf-8,"); padding-right: 32px; background-repeat: no-repeat; background-position: right 14px center; background-size: 14px 14px; } ion-item-group .item:first-child .item-inner { border-top-width: 0; } ion-item-group .item:last-child .item-inner, ion-item-group .item-wrapper:last-child .item-inner { border: 0; } ion-item-divider { padding-left: 16px; color: #222; background-color: #f7f7f7; } .item .text-primary { color: #327eff; } .item-primary { color: #fff; background-color: #327eff; } .item .text-secondary { color: #32db64; } .item-secondary { color: #fff; background-color: #32db64; } .item .text-danger { color: #f53d3d; } .item-danger { color: #fff; background-color: #f53d3d; } .item .text-light { color: #f4f4f4; } .item-light { color: #000; background-color: #f4f4f4; } .item .text-dark { color: #222; } .item-dark { color: #fff; background-color: #222; } ion-item-sliding { background-color: #fff; } ion-label { display: block; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin: 0; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; } .item-input ion-label { -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; max-width: 200px; pointer-events: none; } [text-wrap] ion-label { white-space: normal; } ion-label[fixed] { -webkit-box-flex: 0; -webkit-flex: 0 0 100px; -ms-flex: 0 0 100px; flex: 0 0 100px; width: 100px; min-width: 100px; max-width: 200px; } .item-label-stacked ion-label, .item-label-floating ion-label { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; width: auto; max-width: 100%; } ion-label[stacked], ion-label[floating] { margin-bottom: 0; } .item-label-stacked .input-wrapper, .item-label-floating .input-wrapper { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .item-label-stacked ion-select, .item-label-floating ion-select { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; max-width: 100%; } .item-select ion-label[floating] { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } ion-label { margin: 12px 8px 13px 0; } .item-input ion-label, .item-select ion-label, .item-datetime ion-label { color: #7f7f7f; } ion-label + ion-input .text-input, ion-label + ion-textarea .text-input { margin-left: 16px; width: calc(100% - (16px / 2) - 16px); } ion-label[stacked] { margin-bottom: 4px; font-size: 1.2rem; } ion-label[floating] { margin-bottom: 0; -webkit-transform: translate3d(0, 27px, 0); transform: translate3d(0, 27px, 0); -webkit-transform-origin: left top; transform-origin: left top; -webkit-transition: -webkit-transform 150ms ease-in-out; transition: transform 150ms ease-in-out; } .input-has-focus ion-label[floating], .input-has-value ion-label[floating] { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .item-label-stacked [item-right], .item-label-floating [item-right] { margin-top: 6px; margin-bottom: 6px; } .label-primary, .item-input .label-primary, .item-select .label-primary, .item-datetime .label-primary { color: #327eff; } .label-secondary, .item-input .label-secondary, .item-select .label-secondary, .item-datetime .label-secondary { color: #32db64; } .label-danger, .item-input .label-danger, .item-select .label-danger, .item-datetime .label-danger { color: #f53d3d; } .label-light, .item-input .label-light, .item-select .label-light, .item-datetime .label-light { color: #f4f4f4; } .label-dark, .item-input .label-dark, .item-select .label-dark, .item-datetime .label-dark { color: #222; } ion-list-header { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 4rem; } ion-list { display: block; margin: 0; padding: 0; list-style-type: none; } ion-list[inset] { overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-list-header { position: relative; padding-left: 16px; border-bottom: 1px solid #c8c7cc; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.1rem; text-transform: uppercase; color: #333; } ion-list { margin: -1px 0 32px 0; } ion-list > .item:first-child { border-top: 1px solid #c8c7cc; } ion-list > .item:last-child, ion-list > .item-wrapper:last-child .item { border-bottom: 1px solid #c8c7cc; } ion-list > .item:last-child .item-inner, ion-list > .item-wrapper:last-child .item-inner { border-bottom: 0; } ion-list .item .item-inner { border-bottom: 1px solid #c8c7cc; } ion-list .item[no-lines], ion-list .item[no-lines] .item-inner { border-width: 0; } ion-list ion-item-options { border-bottom: 1px solid #c8c7cc; } ion-list ion-item-options button, ion-list ion-item-options [button] { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 0; height: 100%; min-height: 100%; border: 0; border-radius: 0; box-sizing: border-box; } ion-list ion-item-options button::before, ion-list ion-item-options [button]::before { margin: 0 auto; } ion-list + ion-list ion-list-header { margin-top: -10px; padding-top: 0; } .hairlines ion-list-header { border-bottom-width: 0.55px; } .hairlines ion-list ion-item-options { border-width: 0.55px; } .hairlines ion-list .item .item-inner { border-width: 0.55px; } .hairlines ion-list > .item:first-child { border-top-width: 0.55px; } .hairlines ion-list > .item:last-child, .hairlines ion-list > .item-wrapper:last-child .item { border-bottom-width: 0.55px; } ion-list[inset] { margin: 16px 16px 16px 16px; border-radius: 4px; } ion-list[inset] ion-list-header { background-color: #fff; } ion-list[inset] .item { border-bottom: 1px solid #c8c7cc; } ion-list[inset] .item .item-inner { border-bottom: 0; } ion-list[inset] > .item:first-child, ion-list[inset] > .item-wrapper:first-child .item { border-top: 0; } ion-list[inset] > .item:last-child, ion-list[inset] > .item-wrapper:last-child .item { border-bottom: 0; } ion-list[inset] + ion-list[inset] { margin-top: 0; } .hairlines ion-list[inset] .item { border-width: 0.55px; } ion-list[no-lines] ion-list-header, ion-list[no-lines] ion-item-options, ion-list[no-lines] .item, ion-list[no-lines] .item .item-inner, .hairlines ion-list[no-lines] ion-list-header, .hairlines ion-list[no-lines] ion-item-options, .hairlines ion-list[no-lines] .item, .hairlines ion-list[no-lines] .item .item-inner { border-width: 0; } ion-loading { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .loading-wrapper { z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; opacity: 0; } .loading-wrapper { padding: 24px 34px; max-width: 270px; max-height: 90%; border-radius: 8px; color: #000; background: #f8f8f8; } .loading-content { font-weight: bold; } .loading-spinner + .loading-content { margin-left: 16px; } .loading-spinner .spinner-ios line, .loading-spinner .spinner-ios-small line { stroke: #69717d; } .loading-spinner .spinner-bubbles circle { fill: #69717d; } .loading-spinner .spinner-circles circle { fill: #69717d; } .loading-spinner .spinner-crescent circle { stroke: #69717d; } .loading-spinner .spinner-dots circle { fill: #69717d; } .menu-inner { background: #fff; } .menu-content-reveal { box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); } .menu-content-push { box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); } ion-menu[type=overlay] .menu-inner { box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); } .modal-wrapper { -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } ion-picker-cmp { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; } .picker-toolbar { z-index: 1; } .picker-wrapper { position: absolute; right: 0; bottom: 0; left: 0; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; margin: auto; width: 100%; max-width: 500px; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .picker-columns { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .picker-col { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; max-height: 100%; } .picker-opts { position: relative; width: 100%; min-width: 50px; max-width: 100%; } .picker-prefix { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 50px; min-width: 45%; text-align: right; white-space: nowrap; } .picker-suffix { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 50px; min-width: 45%; text-align: left; white-space: nowrap; } .picker-opt { position: absolute; top: 0; left: 0; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } .picker-opt .button-inner { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; -webkit-transition: opacity 150ms ease-in-out; transition: opacity 150ms ease-in-out; } .picker-opt.picker-opt-disabled { pointer-events: none; } .picker-opt-disabled .button-inner { opacity: 0; } .picker-opts-left .button-inner { -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } .picker-opts-right .button-inner { -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; } .picker-above-highlight, .picker-below-highlight { display: none; pointer-events: none; } .picker-wrapper { height: 260px; border-top: 1px solid #c8c7cc; background: #fff; } .picker-toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; height: 44px; border-bottom: 1px solid #c8c7cc; background: #fff; } .hairlines .picker-wrapper, .hairlines .picker-toolbar { border-width: 0.55px; } .picker-toolbar-button { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; text-align: right; } .picker-toolbar-cancel { font-weight: normal; text-align: left; } .picker-button, .picker-button.activated { margin: 0; height: 44px; color: #327eff; background: transparent; } .picker-columns { height: 216px; -webkit-perspective: 1000px; perspective: 1000px; } .picker-col { padding: 0 4px; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .picker-prefix, .picker-suffix, .picker-opts { top: 77px; font-size: 20px; line-height: 42px; color: #000; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; pointer-events: none; } .picker-opt { margin: 0; padding: 0; font-size: 20px; line-height: 42px; background: transparent; -webkit-transform-origin: center center; transform-origin: center center; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; pointer-events: auto; } .picker-above-highlight { position: absolute; top: 0; left: 0; z-index: 10; display: block; width: 100%; height: 81px; border-bottom: 1px solid #c8c7cc; background: -webkit-linear-gradient(top, white 20%, rgba(255, 255, 255, 0.7) 100%); background: linear-gradient(to bottom, white 20%, rgba(255, 255, 255, 0.7) 100%); -webkit-transform: translate3d(0, 0, 90px); transform: translate3d(0, 0, 90px); } .picker-below-highlight { position: absolute; top: 115px; left: 0; z-index: 11; display: block; width: 100%; height: 119px; border-top: 1px solid #c8c7cc; background: -webkit-linear-gradient(bottom, white 30%, rgba(255, 255, 255, 0.7) 100%); background: linear-gradient(to top, white 30%, rgba(255, 255, 255, 0.7) 100%); -webkit-transform: translate3d(0, 0, 90px); transform: translate3d(0, 0, 90px); } ion-popover { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .popover-wrapper { z-index: 10; opacity: 0; } .popover-content { position: absolute; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: auto; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .popover-content scroll-content { position: relative; } .popover-content { width: 200px; min-width: 0; min-height: 0; max-height: 90%; border-radius: 10px; color: #000; background: #fff; } .popover-content ion-content { background: #fff; } .popover-content .item { background-color: #fff; } .popover-arrow { position: absolute; display: block; overflow: hidden; width: 20px; height: 10px; } .popover-arrow::after { position: absolute; top: 3px; left: 3px; z-index: 10; width: 14px; height: 14px; border-radius: 3px; background-color: #fff; content: ""; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .popover-bottom .popover-arrow { top: auto; bottom: -10px; } .popover-bottom .popover-arrow::after { top: -6px; } ion-radio { position: relative; display: inline-block; } .radio-icon { position: relative; display: block; width: 16px; height: 21px; } .radio-checked .radio-inner { position: absolute; top: 4px; left: 7px; width: 5px; height: 12px; border-width: 2px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #327eff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .radio-disabled, .item-radio-disabled ion-label { opacity: 0.3; pointer-events: none; } .item ion-radio { position: static; display: block; margin: 8px 11px 8px 8px; } .item ion-radio[item-left] { margin: 8px 21px 8px 3px; } .item-radio ion-label { margin-left: 0; } .item-radio-checked ion-label { color: #327eff; } .item-radio-primary.item-radio-checked ion-label { color: #327eff; } .radio-primary .radio-checked { color: #327eff; } .radio-primary .radio-checked .radio-inner { border-color: #327eff; } .item-radio-secondary.item-radio-checked ion-label { color: #32db64; } .radio-secondary .radio-checked { color: #32db64; } .radio-secondary .radio-checked .radio-inner { border-color: #32db64; } .item-radio-danger.item-radio-checked ion-label { color: #f53d3d; } .radio-danger .radio-checked { color: #f53d3d; } .radio-danger .radio-checked .radio-inner { border-color: #f53d3d; } .item-radio-light.item-radio-checked ion-label { color: #f4f4f4; } .radio-light .radio-checked { color: #f4f4f4; } .radio-light .radio-checked .radio-inner { border-color: #f4f4f4; } .item-radio-dark.item-radio-checked ion-label { color: #222; } .radio-dark .radio-checked { color: #222; } .radio-dark .radio-checked .radio-inner { border-color: #222; } .item-range .item-inner { overflow: visible; } .item-range .input-wrapper { overflow: visible; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .item-range ion-range { width: 100%; } .item-range ion-range ion-label { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } ion-range { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-range ion-label { -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; } ion-range ion-icon { min-height: 2.4rem; font-size: 2.4rem; line-height: 1; } .range-slider { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; cursor: pointer; } ion-range { padding: 8px 16px; } [range-left], [range-right] { margin: 0 20px; } [range-left] { margin-left: 0; } [range-right] { margin-right: 0; } .range-has-pin { padding-top: 20px; } .range-slider { height: 42px; } .range-bar { position: absolute; top: 21px; left: 0; width: 100%; height: 1px; border-radius: 1px; background: #bdbdbd; pointer-events: none; } .range-pressed .range-bar-active { will-change: left, right; } .range-pressed .range-knob-handle { will-change: left; } .range-bar-active { bottom: 0; width: auto; background: #327eff; } .range-knob-handle { position: absolute; top: 21px; left: 0%; margin-top: -21px; margin-left: -21px; width: 42px; height: 42px; text-align: center; } .range-knob { position: absolute; top: 7px; left: 7px; width: 28px; height: 28px; border-radius: 50%; background: #fff; box-shadow: 0 3px 1px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.13), 0 0 0 1px rgba(0, 0, 0, 0.02); pointer-events: none; } .range-tick { position: absolute; top: 17.5px; margin-left: -0.5px; width: 1px; height: 8px; border-radius: 0; background: #bdbdbd; pointer-events: none; } .range-tick-active { background: #327eff; } .range-pin { position: relative; top: -20px; display: inline-block; padding: 8px; min-width: 28px; border-radius: 50px; font-size: 12px; text-align: center; color: #000; background: transparent; -webkit-transform: translate3d(0, 28px, 0) scale(0.01); transform: translate3d(0, 28px, 0) scale(0.01); -webkit-transition: -webkit-transform 120ms ease; transition: transform 120ms ease; } .range-knob-pressed .range-pin { -webkit-transform: translate3d(0, 0, 0) scale(1); transform: translate3d(0, 0, 0) scale(1); } .range-disabled { opacity: .5; } .range-primary .range-bar-active, .range-primary .range-tick-active { background: #327eff; } .range-secondary .range-bar-active, .range-secondary .range-tick-active { background: #32db64; } .range-danger .range-bar-active, .range-danger .range-tick-active { background: #f53d3d; } .range-light .range-bar-active, .range-light .range-tick-active { background: #f4f4f4; } .range-dark .range-bar-active, .range-dark .range-tick-active { background: #222; } ion-searchbar { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; width: 100%; } .searchbar-icon { pointer-events: none; } .searchbar-input-container { position: relative; display: block; -webkit-flex-shrink: 1; -ms-flex-negative: 1; flex-shrink: 1; width: 100%; } .searchbar-input { -webkit-appearance: none; -moz-appearance: none; display: block; width: 100%; border: 0; font-family: inherit; } .searchbar-clear-icon { display: none; margin: 0; padding: 0; min-height: 0; } .searchbar-has-value.searchbar-has-focus .searchbar-clear-icon { display: block; } ion-searchbar { padding: 0 8px; min-height: 44px; border-top: 1px solid transparent; border-bottom: 1px solid rgba(0, 0, 0, 0.05); background: rgba(0, 0, 0, 0.2); } .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); margin-left: calc(50% - 60px); position: absolute; top: 9px; left: 9px; width: 14px; height: 14px; background-repeat: no-repeat; background-size: 13px; -webkit-transition: all 300ms ease; transition: all 300ms ease; } .searchbar-input { padding-left: calc(50% - 28px); padding: 0 28px; height: 3rem; border-radius: 5px; font-size: 1.4rem; font-weight: 400; color: #000; background-color: #fff; -webkit-transition: all 300ms ease; transition: all 300ms ease; } .searchbar-input::-moz-placeholder { color: rgba(0, 0, 0, 0.5); } .searchbar-input:-ms-input-placeholder { color: rgba(0, 0, 0, 0.5); } .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: rgba(0, 0, 0, 0.5); } .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); position: absolute; top: 0; right: 0; width: 30px; height: 100%; background-repeat: no-repeat; background-position: center; background-size: 18px; } .searchbar-ios-cancel { display: none; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; margin-right: -100%; margin-left: 0; padding: 0; padding-left: 8px; height: 30px; cursor: pointer; opacity: 0; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); -webkit-transition: all 300ms ease; transition: all 300ms ease; pointer-events: none; } .searchbar-show-cancel .searchbar-ios-cancel { display: block; } .searchbar-left-aligned .searchbar-search-icon { margin-left: 0; } .searchbar-left-aligned .searchbar-input { padding-left: 30px; } .searchbar-has-focus .searchbar-ios-cancel { opacity: 1; pointer-events: auto; } .toolbar ion-searchbar { border-bottom-width: 0; background: transparent; } .toolbar ion-searchbar .searchbar-input { background: rgba(0, 0, 0, 0.08); } .toolbar ion-searchbar .searchbar-ios-cancel { padding: 0; } .toolbar .searchbar-has-focus .searchbar-ios-cancel { padding-left: 8px; } .searchbar-md-cancel { display: none; } .hairlines ion-searchbar { border-bottom-width: 0.55px; } .hairlines ion-toolbar ion-searchbar { border-bottom-width: 0; } .searchbar-primary .searchbar-ios-cancel { color: #327eff; } .searchbar-primary .searchbar-ios-cancel:hover:not(.disable-hover) { color: #2e74eb; } .toolbar-primary ion-searchbar .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .toolbar-primary ion-searchbar .searchbar-input { color: #fff; background: rgba(255, 255, 255, 0.08); } .toolbar-primary ion-searchbar .searchbar-input::-moz-placeholder { color: rgba(255, 255, 255, 0.5); } .toolbar-primary ion-searchbar .searchbar-input:-ms-input-placeholder { color: rgba(255, 255, 255, 0.5); } .toolbar-primary ion-searchbar .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: rgba(255, 255, 255, 0.5); } .toolbar-primary ion-searchbar .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .toolbar-primary ion-searchbar .searchbar-ios-cancel { color: #fff; } .searchbar-secondary .searchbar-ios-cancel { color: #32db64; } .searchbar-secondary .searchbar-ios-cancel:hover:not(.disable-hover) { color: #2ec95c; } .toolbar-secondary ion-searchbar .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .toolbar-secondary ion-searchbar .searchbar-input { color: #fff; background: rgba(255, 255, 255, 0.08); } .toolbar-secondary ion-searchbar .searchbar-input::-moz-placeholder { color: rgba(255, 255, 255, 0.5); } .toolbar-secondary ion-searchbar .searchbar-input:-ms-input-placeholder { color: rgba(255, 255, 255, 0.5); } .toolbar-secondary ion-searchbar .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: rgba(255, 255, 255, 0.5); } .toolbar-secondary ion-searchbar .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .toolbar-secondary ion-searchbar .searchbar-ios-cancel { color: #fff; } .searchbar-danger .searchbar-ios-cancel { color: #f53d3d; } .searchbar-danger .searchbar-ios-cancel:hover:not(.disable-hover) { color: #e13838; } .toolbar-danger ion-searchbar .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .toolbar-danger ion-searchbar .searchbar-input { color: #fff; background: rgba(255, 255, 255, 0.08); } .toolbar-danger ion-searchbar .searchbar-input::-moz-placeholder { color: rgba(255, 255, 255, 0.5); } .toolbar-danger ion-searchbar .searchbar-input:-ms-input-placeholder { color: rgba(255, 255, 255, 0.5); } .toolbar-danger ion-searchbar .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: rgba(255, 255, 255, 0.5); } .toolbar-danger ion-searchbar .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .toolbar-danger ion-searchbar .searchbar-ios-cancel { color: #fff; } .searchbar-light .searchbar-ios-cancel { color: #f4f4f4; } .searchbar-light .searchbar-ios-cancel:hover:not(.disable-hover) { color: #e0e0e0; } .toolbar-light ion-searchbar .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .toolbar-light ion-searchbar .searchbar-input { color: #000; background: rgba(0, 0, 0, 0.08); } .toolbar-light ion-searchbar .searchbar-input::-moz-placeholder { color: rgba(0, 0, 0, 0.5); } .toolbar-light ion-searchbar .searchbar-input:-ms-input-placeholder { color: rgba(0, 0, 0, 0.5); } .toolbar-light ion-searchbar .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: rgba(0, 0, 0, 0.5); } .toolbar-light ion-searchbar .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .toolbar-light ion-searchbar .searchbar-ios-cancel { color: #327eff; } .searchbar-dark .searchbar-ios-cancel { color: #222; } .searchbar-dark .searchbar-ios-cancel:hover:not(.disable-hover) { color: #343434; } .toolbar-dark ion-searchbar .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .toolbar-dark ion-searchbar .searchbar-input { color: #fff; background: rgba(255, 255, 255, 0.08); } .toolbar-dark ion-searchbar .searchbar-input::-moz-placeholder { color: rgba(255, 255, 255, 0.5); } .toolbar-dark ion-searchbar .searchbar-input:-ms-input-placeholder { color: rgba(255, 255, 255, 0.5); } .toolbar-dark ion-searchbar .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: rgba(255, 255, 255, 0.5); } .toolbar-dark ion-searchbar .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); } .toolbar-dark ion-searchbar .searchbar-ios-cancel { color: #fff; } ion-segment { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; width: 100%; } .segment-button { position: relative; display: block; overflow: hidden; margin-right: 0; margin-left: 0; text-align: center; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; } .segment-button { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 0; height: 3.2rem; border-width: 1px; border-style: solid; border-color: #327eff; font-size: 1.3rem; line-height: 3rem; color: #327eff; background-color: transparent; } .segment-button ion-icon { font-size: 2.6rem; line-height: 2.8rem; } .segment-button.segment-activated { color: #fff; background-color: #327eff; opacity: 1; -webkit-transition: 100ms all linear; transition: 100ms all linear; } .segment-button:hover:not(.segment-activated) { background-color: rgba(50, 126, 255, 0.1); -webkit-transition: 100ms all linear; transition: 100ms all linear; } .segment-button:active:not(.segment-activated) { background-color: rgba(50, 126, 255, 0.16); -webkit-transition: 100ms all linear; transition: 100ms all linear; } .segment-button:first-of-type { margin-right: 0; border-radius: 4px 0 0 4px; } .segment-button:not(:first-of-type) { border-left-width: 0; } .segment-button:last-of-type { margin-left: 0; border-left-width: 0; border-radius: 0 4px 4px 0; } .segment-button-disabled { color: rgba(50, 126, 255, 0.3); pointer-events: none; } .toolbar ion-segment { position: absolute; top: 0; right: 0; bottom: 0; left: 0; } .toolbar .segment-button { max-width: 100px; height: 2.6rem; font-size: 1.2rem; line-height: 2.5rem; } .toolbar .segment-button ion-icon { font-size: 2.2rem; line-height: 2.4rem; } .segment-primary .segment-button { border-color: #327eff; color: #327eff; } .segment-primary .segment-button:hover:not(.segment-activated) { background-color: rgba(50, 126, 255, 0.1); } .segment-primary .segment-button:active:not(.segment-activated) { background-color: rgba(50, 126, 255, 0.16); } .segment-primary .segment-button.segment-activated { color: #fff; background-color: #327eff; } .segment-primary .segment-button-disabled { color: rgba(50, 126, 255, 0.3); } .toolbar-primary .segment-button.segment-activated { color: #327eff; } .segment-secondary .segment-button { border-color: #32db64; color: #32db64; } .segment-secondary .segment-button:hover:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.1); } .segment-secondary .segment-button:active:not(.segment-activated) { background-color: rgba(50, 219, 100, 0.16); } .segment-secondary .segment-button.segment-activated { color: #fff; background-color: #32db64; } .segment-secondary .segment-button-disabled { color: rgba(50, 219, 100, 0.3); } .toolbar-secondary .segment-button.segment-activated { color: #32db64; } .segment-danger .segment-button { border-color: #f53d3d; color: #f53d3d; } .segment-danger .segment-button:hover:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.1); } .segment-danger .segment-button:active:not(.segment-activated) { background-color: rgba(245, 61, 61, 0.16); } .segment-danger .segment-button.segment-activated { color: #fff; background-color: #f53d3d; } .segment-danger .segment-button-disabled { color: rgba(245, 61, 61, 0.3); } .toolbar-danger .segment-button.segment-activated { color: #f53d3d; } .segment-light .segment-button { border-color: #f4f4f4; color: #f4f4f4; } .segment-light .segment-button:hover:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.1); } .segment-light .segment-button:active:not(.segment-activated) { background-color: rgba(244, 244, 244, 0.16); } .segment-light .segment-button.segment-activated { color: #000; background-color: #f4f4f4; } .segment-light .segment-button-disabled { color: rgba(244, 244, 244, 0.3); } .toolbar-light .segment-button.segment-activated { color: #f4f4f4; } .segment-dark .segment-button { border-color: #222; color: #222; } .segment-dark .segment-button:hover:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.1); } .segment-dark .segment-button:active:not(.segment-activated) { background-color: rgba(34, 34, 34, 0.16); } .segment-dark .segment-button.segment-activated { color: #fff; background-color: #222; } .segment-dark .segment-button-disabled { color: rgba(34, 34, 34, 0.3); } .toolbar-dark .segment-button.segment-activated { color: #222; } ion-select { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; max-width: 45%; } .select-text { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 16px; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; } .item-multiple-inputs ion-select { position: relative; } .select-disabled, .item-select-disabled ion-label { opacity: .4; pointer-events: none; } ion-select { padding: 12px 8px 13px 16px; } .select-placeholder { color: #999; } .select-icon { position: relative; width: 12px; height: 18px; } .select-icon .select-icon-inner { position: absolute; top: 50%; left: 5px; margin-top: -2px; width: 0; height: 0; border-top: 5px solid; border-right: 5px solid transparent; border-left: 5px solid transparent; color: #999; pointer-events: none; } ion-spinner { position: relative; display: inline-block; width: 28px; height: 28px; } ion-spinner svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-spinner.spinner-paused svg { -webkit-animation-play-state: paused; animation-play-state: paused; } .spinner-ios line, .spinner-ios-small line { stroke: #69717d; stroke-width: 4px; stroke-linecap: round; } .spinner-ios svg, .spinner-ios-small svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .spinner-bubbles circle { fill: #000; } .spinner-bubbles svg { -webkit-animation: spinner-scale-out 1s linear infinite; animation: spinner-scale-out 1s linear infinite; } .spinner-circles circle { fill: #69717d; } .spinner-circles svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .spinner-crescent circle { fill: transparent; stroke: #000; stroke-width: 4px; stroke-dasharray: 128px; stroke-dashoffset: 82px; } .spinner-crescent svg { -webkit-animation: spinner-rotate 1s linear infinite; animation: spinner-rotate 1s linear infinite; } .spinner-dots circle { fill: #444; stroke-width: 0; } .spinner-dots svg { -webkit-transform-origin: center; transform-origin: center; -webkit-animation: spinner-dots 1s linear infinite; animation: spinner-dots 1s linear infinite; } @keyframes spinner-fade-out { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes spinner-scale-out { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 100% { -webkit-transform: scale(0, 0); transform: scale(0, 0); } } @keyframes spinner-rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spinner-dots { 0% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } 50% { opacity: .3; -webkit-transform: scale(0.4, 0.4); transform: scale(0.4, 0.4); } 100% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } } .spinner-primary.spinner-ios line, .spinner-primary.spinner-ios-small line, .spinner-primary.spinner-crescent circle { stroke: #327eff; } .spinner-primary.spinner-bubbles circle, .spinner-primary.spinner-circles circle, .spinner-primary.spinner-dots circle { fill: #327eff; } .spinner-secondary.spinner-ios line, .spinner-secondary.spinner-ios-small line, .spinner-secondary.spinner-crescent circle { stroke: #32db64; } .spinner-secondary.spinner-bubbles circle, .spinner-secondary.spinner-circles circle, .spinner-secondary.spinner-dots circle { fill: #32db64; } .spinner-danger.spinner-ios line, .spinner-danger.spinner-ios-small line, .spinner-danger.spinner-crescent circle { stroke: #f53d3d; } .spinner-danger.spinner-bubbles circle, .spinner-danger.spinner-circles circle, .spinner-danger.spinner-dots circle { fill: #f53d3d; } .spinner-light.spinner-ios line, .spinner-light.spinner-ios-small line, .spinner-light.spinner-crescent circle { stroke: #f4f4f4; } .spinner-light.spinner-bubbles circle, .spinner-light.spinner-circles circle, .spinner-light.spinner-dots circle { fill: #f4f4f4; } .spinner-dark.spinner-ios line, .spinner-dark.spinner-ios-small line, .spinner-dark.spinner-crescent circle { stroke: #222; } .spinner-dark.spinner-bubbles circle, .spinner-dark.spinner-circles circle, .spinner-dark.spinner-dots circle { fill: #222; } .tab-button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; position: relative; z-index: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; margin: 0; border: 0; border-radius: 0; text-align: center; text-decoration: none; background: none; cursor: pointer; } .tab-disabled { pointer-events: none; } .tab-disabled ion-badge, .tab-disabled ion-icon, .tab-disabled span { opacity: .4; } .tab-hidden { display: none; } .tab-button-text { margin-top: 3px; margin-bottom: 2px; } .tab-button-text, .tab-button-icon { display: none; overflow: hidden; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; min-width: 26px; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; } .has-icon .tab-button-icon, .has-title .tab-button-text { display: block; } .has-title-only .tab-button-text { white-space: normal; } tab-highlight { display: none; } [tabsLayout=icon-bottom] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; } [tabsLayout=icon-left] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } [tabsLayout=icon-left] .tab-button .tab-button-icon { padding-right: 8px; text-align: right; } [tabsLayout=icon-right] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } [tabsLayout=icon-right] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; padding-left: 8px; text-align: left; } [tabsLayout=icon-hide] .tab-button-icon { display: none; } [tabsLayout=title-hide] .tab-button-text { display: none; } .tab-badge { position: absolute; top: 6%; right: 4%; right: calc(50% - 50px); padding: 1px 6px; height: auto; font-size: 12px; line-height: 16px; } .has-icon .tab-badge { right: calc(50% - 30px); } [tabsLayout=icon-bottom] .tab-badge, [tabsLayout=icon-left] .tab-badge, [tabsLayout=icon-right] .tab-badge { right: calc(50% - 50px); } ion-tabbar { -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; border-top: 1px solid #b2b2b2; background: #f8f8f8; } ion-tabs[tabsPlacement=top] ion-tabbar { border-top: 0; border-bottom: 1px solid #b2b2b2; } .tab-button { padding: 0 2px; max-width: 240px; min-height: 49px; color: #8c8c8c; } .tab-button:hover:not(.disable-hover), .tab-button[aria-selected=true] { color: #327eff; } .tab-button-text { margin-top: 0; margin-bottom: 0; min-height: 11px; font-size: 10px; } .has-title-only .tab-button-text { font-size: 12px; } .tab-button-icon { min-width: 35px; height: 30px; font-size: 30px; } .tab-button-icon::before { vertical-align: top; } [tabsLayout=icon-right] .tab-button .tab-button-text, [tabsLayout=icon-left] .tab-button .tab-button-text { font-size: 1.4rem; line-height: 1.1; } [tabsLayout=icon-right] .tab-button ion-icon, [tabsLayout=icon-left] .tab-button ion-icon { min-width: 24px; height: 26px; font-size: 24px; } [tabsLayout=icon-hide] .tab-button, .tab-button.has-title-only { min-height: 41px; } [tabsLayout=icon-hide] .tab-button .tab-button-text, .tab-button.has-title-only .tab-button-text { margin: 2px 0; font-size: 1.4rem; line-height: 1.1; } [tabsLayout=title-hide] .tab-button, .tab-button.icon-only { min-height: 41px; } .hairlines ion-tabs ion-tabbar { border-top-width: 0.55px; } .hairlines ion-tabs[tabsPlacement="top"] ion-tabbar { border-bottom-width: 0.55px; } .tabs-primary ion-tabbar { border-color: #005efe; background-color: #327eff; } .tabs-primary ion-tabbar .tab-button { color: #fff; } .tabs-primary ion-tabbar .tab-button:hover:not(.disable-hover), .tabs-primary ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .tabs-secondary ion-tabbar { border-color: #21b94e; background-color: #32db64; } .tabs-secondary ion-tabbar .tab-button { color: #fff; } .tabs-secondary ion-tabbar .tab-button:hover:not(.disable-hover), .tabs-secondary ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .tabs-danger ion-tabbar { border-color: #f30d0d; background-color: #f53d3d; } .tabs-danger ion-tabbar .tab-button { color: #fff; } .tabs-danger ion-tabbar .tab-button:hover:not(.disable-hover), .tabs-danger ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .tabs-light ion-tabbar { border-color: #dbdbdb; background-color: #f4f4f4; } .tabs-light ion-tabbar .tab-button { color: #000; } .tabs-light ion-tabbar .tab-button:hover:not(.disable-hover), .tabs-light ion-tabbar .tab-button[aria-selected=true] { color: #000; } .tabs-dark ion-tabbar { border-color: #090909; background-color: #222; } .tabs-dark ion-tabbar .tab-button { color: #fff; } .tabs-dark ion-tabbar .tab-button:hover:not(.disable-hover), .tabs-dark ion-tabbar .tab-button[aria-selected=true] { color: #fff; } ion-toggle { position: relative; } .toggle-icon { position: relative; display: block; width: 51px; height: 32px; border-radius: 16px; background-color: #e6e6e6; -webkit-transition: background-color 300ms; transition: background-color 300ms; pointer-events: none; } .toggle-icon::before { position: absolute; top: 2px; right: 2px; bottom: 2px; left: 2px; border-radius: 16px; background-color: #fff; content: ""; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); -webkit-transition: -webkit-transform 300ms; transition: transform 300ms; } .toggle-inner { position: absolute; top: 2px; left: 2px; width: 28px; height: 28px; border-radius: 14px; background-color: #fff; box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 1px rgba(0, 0, 0, 0.1); -webkit-transition: -webkit-transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms; transition: transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms; } .toggle-checked { background-color: #327eff; } .toggle-activated::before, .toggle-checked::before { -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); } .toggle-checked .toggle-inner { -webkit-transform: translate3d(19px, 0, 0); transform: translate3d(19px, 0, 0); } .toggle-activated.toggle-checked::before { -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); } .toggle-activated .toggle-inner { width: 34px; } .toggle-activated.toggle-checked .toggle-inner { left: -4px; } .toggle-disabled, .item-toggle-disabled ion-label { opacity: 0.3; pointer-events: none; } .toggle-disabled ion-radio { opacity: 0.3; } .item ion-toggle { margin: 0; padding: 6px 8px 5px 16px; } .item ion-toggle[item-left] { padding: 6px 16px 5px 0; } .toggle-primary .toggle-checked { background-color: #327eff; } .toggle-secondary .toggle-checked { background-color: #32db64; } .toggle-danger .toggle-checked { background-color: #f53d3d; } .toggle-light .toggle-checked { background-color: #f4f4f4; } .toggle-dark .toggle-checked { background-color: #222; } ion-toast { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; pointer-events: none; } .toast-container { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; pointer-events: auto; } .toast-button { padding: 19px 16px 17px; font-size: 1.5rem; } .toast-message { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; } .toast-wrapper { position: absolute; right: 10px; left: 10px; z-index: 10; display: block; margin: auto; max-width: 700px; border-radius: 0.65rem; background: rgba(0, 0, 0, 0.9); } .toast-wrapper.toast-top { top: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } .toast-wrapper.toast-bottom { bottom: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .toast-wrapper.toast-middle { opacity: .01; } .toast-message { padding: 1.5rem; font-size: 1.4rem; color: #fff; } .toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; width: 100%; } .toolbar-background { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; border: 0; -webkit-transform: translateZ(0); transform: translateZ(0); pointer-events: none; } ion-title { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-transform: translateZ(0); transform: translateZ(0); } .toolbar-title { display: block; overflow: hidden; width: 100%; text-overflow: ellipsis; white-space: nowrap; } ion-buttons { display: block; margin: 0 .2rem; -webkit-transform: translateZ(0); transform: translateZ(0); pointer-events: none; } ion-buttons button, ion-buttons a, ion-buttons input, ion-buttons textarea, ion-buttons div { pointer-events: auto; } .toolbar[transparent] .toolbar-background { border-color: transparent; background: transparent; } ion-buttons, .bar-button-menutoggle { z-index: 99; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-navbar.toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; opacity: 0; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-navbar.toolbar.show-navbar { opacity: 1; } .bar-button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; position: relative; display: inline-block; margin: 0; padding: 0; line-height: 1; text-align: center; text-overflow: ellipsis; text-transform: none; white-space: nowrap; cursor: pointer; vertical-align: top; vertical-align: -webkit-baseline-middle; } .bar-button::after { position: absolute; top: -7px; right: -2px; bottom: -6px; left: -2px; content: ""; } .bar-button-menutoggle { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .back-button { display: none; } .back-button.show-back-button { display: inline-block; } .back-button-text { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .toolbar { padding: 4px; min-height: 44px; } .toolbar-background { border-top-width: 1px; border-bottom-width: 1px; border-style: solid; border-color: #b2b2b2; background: #f8f8f8; } .hairlines .toolbar-background { border-top-width: 0.55px; border-bottom-width: 0.55px; } ion-header .toolbar:first-child .toolbar-background, ion-menu > .toolbar:first-child .toolbar-background, .toolbar[no-border-top] .toolbar-background { border-top-width: 0; } ion-footer .toolbar:last-child .toolbar-background, .toolbar[no-border-bottom] .toolbar-background { border-bottom-width: 0; } .toolbar[no-border] .toolbar-background { border-top-width: 0; border-bottom-width: 0; } .toolbar-content { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 5; -webkit-order: 4; -ms-flex-order: 4; order: 4; min-width: 0; } .toolbar-title { font-size: 1.7rem; font-weight: 600; text-align: center; color: #000; pointer-events: auto; } ion-title { position: absolute; top: 0; left: 0; padding: 0 90px 1px; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); pointer-events: none; } ion-buttons { -webkit-box-ordinal-group: 4; -webkit-order: 3; -ms-flex-order: 3; order: 3; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-buttons[left] { -webkit-box-ordinal-group: 3; -webkit-order: 2; -ms-flex-order: 2; order: 2; } ion-buttons[end] { -webkit-box-ordinal-group: 6; -webkit-order: 5; -ms-flex-order: 5; order: 5; text-align: right; } ion-buttons[right] { -webkit-box-ordinal-group: 7; -webkit-order: 6; -ms-flex-order: 6; order: 6; text-align: right; } .bar-button { padding: 0 5px; height: 32px; border: 0; border-radius: 4px; font-size: 1.7rem; } .bar-button-outline { border-width: 1px; border-style: solid; border-color: #327eff; color: #327eff; background-color: transparent; } .bar-button-outline:hover:not(.disable-hover) { opacity: .4; } .bar-button-outline.activated { color: #fff; background-color: #327eff; } .bar-button-solid { color: #fff; background-color: #327eff; } .bar-button-solid:hover:not(.disable-hover) { color: #fff; opacity: .4; } .bar-button-solid.activated { color: #fff; background-color: #2e74eb; opacity: .4; } .bar-button-icon-left ion-icon { padding-right: .3em; font-size: 1.4em; line-height: .67; pointer-events: none; } .bar-button-icon-right ion-icon { padding-left: .4em; font-size: 1.4em; line-height: .67; pointer-events: none; } .bar-button[icon-only] { padding: 0; min-width: .9em; } .bar-button[icon-only] ion-icon { padding: 0 .1em; font-size: 1.8em; line-height: .67; pointer-events: none; } .back-button { overflow: visible; -webkit-box-ordinal-group: 1; -webkit-order: 0; -ms-flex-order: 0; order: 0; margin: 0; min-height: 3.2rem; line-height: 1; -webkit-transform: translateZ(0); transform: translateZ(0); } .back-button-icon { display: inherit; margin: 0; margin-top: -1px; min-width: 18px; font-size: 3.4rem; } .back-button-text { letter-spacing: -.01em; } .bar-button-menutoggle { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; margin: 0 6px; padding: 0; min-width: 36px; } .bar-button-menutoggle ion-icon { padding: 0 6px; font-size: 2.8rem; } .bar-button-menutoggle[end], .bar-button-menutoggle[right] { -webkit-box-ordinal-group: 8; -webkit-order: 7; -ms-flex-order: 7; order: 7; } .bar-button-default, .bar-button-clear-default { color: #327eff; background-color: transparent; } .bar-button-default:hover:not(.disable-hover), .bar-button-clear-default:hover:not(.disable-hover) { color: #327eff; } .bar-button-default.activated, .bar-button-clear-default.activated { opacity: .4; } .bar-button-clear, .bar-button-clear-clear { color: #327eff; background-color: transparent; } .bar-button-clear:hover:not(.disable-hover), .bar-button-clear-clear:hover:not(.disable-hover) { color: #327eff; } .bar-button-clear.activated, .bar-button-clear-clear.activated { opacity: .4; } .toolbar-primary .toolbar-background { border-color: #005efe; background: #327eff; } .toolbar-primary .toolbar-title, .toolbar-primary .bar-button-clear, .toolbar-primary .bar-button-default { color: #fff; } .bar-button-primary, .bar-button-clear-primary { color: #327eff; background-color: transparent; } .bar-button-primary:hover:not(.disable-hover), .bar-button-clear-primary:hover:not(.disable-hover) { color: #327eff; } .bar-button-primary.activated, .bar-button-clear-primary.activated { opacity: .4; } .bar-button-outline-primary { border-color: #327eff; color: #327eff; background-color: transparent; } .bar-button-outline-primary.activated { color: #fff; background-color: #327eff; } .bar-button-solid-primary { color: #fff; background-color: #327eff; } .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .toolbar-secondary .toolbar-background { border-color: #21b94e; background: #32db64; } .toolbar-secondary .toolbar-title, .toolbar-secondary .bar-button-clear, .toolbar-secondary .bar-button-default { color: #fff; } .bar-button-secondary, .bar-button-clear-secondary { color: #32db64; background-color: transparent; } .bar-button-secondary:hover:not(.disable-hover), .bar-button-clear-secondary:hover:not(.disable-hover) { color: #32db64; } .bar-button-secondary.activated, .bar-button-clear-secondary.activated { opacity: .4; } .bar-button-outline-secondary { border-color: #32db64; color: #32db64; background-color: transparent; } .bar-button-outline-secondary.activated { color: #fff; background-color: #32db64; } .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .toolbar-danger .toolbar-background { border-color: #f30d0d; background: #f53d3d; } .toolbar-danger .toolbar-title, .toolbar-danger .bar-button-clear, .toolbar-danger .bar-button-default { color: #fff; } .bar-button-danger, .bar-button-clear-danger { color: #f53d3d; background-color: transparent; } .bar-button-danger:hover:not(.disable-hover), .bar-button-clear-danger:hover:not(.disable-hover) { color: #f53d3d; } .bar-button-danger.activated, .bar-button-clear-danger.activated { opacity: .4; } .bar-button-outline-danger { border-color: #f53d3d; color: #f53d3d; background-color: transparent; } .bar-button-outline-danger.activated { color: #fff; background-color: #f53d3d; } .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .toolbar-light .toolbar-background { border-color: #dbdbdb; background: #f4f4f4; } .toolbar-light .toolbar-title, .toolbar-light .bar-button-clear, .toolbar-light .bar-button-default { color: #000; } .bar-button-light, .bar-button-clear-light { color: #f4f4f4; background-color: transparent; } .bar-button-light:hover:not(.disable-hover), .bar-button-clear-light:hover:not(.disable-hover) { color: #f4f4f4; } .bar-button-light.activated, .bar-button-clear-light.activated { opacity: .4; } .bar-button-outline-light { border-color: #f4f4f4; color: #f4f4f4; background-color: transparent; } .bar-button-outline-light.activated { color: #000; background-color: #f4f4f4; } .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .toolbar-dark .toolbar-background { border-color: #090909; background: #222; } .toolbar-dark .toolbar-title, .toolbar-dark .bar-button-clear, .toolbar-dark .bar-button-default { color: #fff; } .bar-button-dark, .bar-button-clear-dark { color: #222; background-color: transparent; } .bar-button-dark:hover:not(.disable-hover), .bar-button-clear-dark:hover:not(.disable-hover) { color: #222; } .bar-button-dark.activated, .bar-button-clear-dark.activated { opacity: .4; } .bar-button-outline-dark { border-color: #222; color: #222; background-color: transparent; } .bar-button-outline-dark.activated { color: #fff; background-color: #222; } .bar-button-solid-dark { color: #fff; background-color: #222; } .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } html { font-size: 62.5%; } a { background-color: transparent; } .enable-hover a:hover { opacity: .7; } h1, h2, h3, h4, h5, h6 { margin-top: 1.6rem; margin-bottom: 1rem; font-weight: 500; line-height: 1.2; } [padding] h1:first-child, [padding] h2:first-child, [padding] h3:first-child, [padding] h4:first-child, [padding] h5:first-child, [padding] h6:first-child { margin-top: -.3rem; } h1 + h2, h1 + h3, h2 + h3 { margin-top: -.3rem; } h1 { margin-top: 2rem; font-size: 2.6rem; } h2 { margin-top: 1.8rem; font-size: 2.4rem; } h3 { font-size: 2.2rem; } h4 { font-size: 2rem; } h5 { font-size: 1.8rem; } h6 { font-size: 1.6rem; } small { font-size: 75%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sup { top: -.5em; } sub { bottom: -.25em; } [text-left] { text-align: left; } [text-center] { text-align: center; } [text-right] { text-align: right; } [text-justify] { text-align: justify; } [text-nowrap] { white-space: nowrap; } [text-uppercase] { text-transform: uppercase; } [text-lowercase] { text-transform: lowercase; } [text-capitalize] { text-transform: capitalize; } p { color: #000; } a { color: #327eff; } .text-primary { color: #327eff; } .text-secondary { color: #32db64; } .text-danger { color: #f53d3d; } .text-light { color: #f4f4f4; } .text-dark { color: #222; } ion-nav > ion-page > .toolbar.statusbar-padding:first-child, ion-nav > ion-page > ion-header > .toolbar.statusbar-padding:first-child, ion-tab > ion-page > ion-header > .toolbar.statusbar-padding:first-child, ion-tabs > ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child, ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child, ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child { padding-top: 20px; height: calc(44px + 20px); min-height: calc(44px + 20px); } ion-nav > ion-page > ion-content.statusbar-padding:first-child scroll-content, ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content, ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content, ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child scroll-content, ion-menu > .menu-inner > ion-content.statusbar-padding:first-child scroll-content, ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child scroll-content { padding-top: 20px; } ion-nav > ion-page > ion-content.statusbar-padding:first-child[padding] scroll-content, ion-nav > ion-page > ion-content.statusbar-padding:first-child[padding-top] scroll-content, ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding] scroll-content, ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding-top] scroll-content, ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content { padding-top: calc(16px + 20px); } ion-nav > ion-page > .toolbar.statusbar-padding:first-child ion-segment, ion-nav > ion-page > .toolbar.statusbar-padding:first-child ion-title, ion-nav > ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-segment, ion-nav > ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-title, ion-tab > ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-segment, ion-tab > ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-title, ion-tabs > ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child ion-segment, ion-tabs > ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child ion-title, ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child ion-segment, ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child ion-title, ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child ion-segment, ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child ion-title { padding-top: 20px; height: calc(44px + 20px); min-height: calc(44px + 20px); } @media only screen and (max-width: 767px) { .modal-wrapper > ion-page > ion-header > .toolbar.statusbar-padding:first-child { padding-top: 20px; height: calc(44px + 20px); min-height: calc(44px + 20px); } .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content { padding-top: 20px; } .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content { padding-top: calc(16px + 20px); } .modal-wrapper > ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-segment, .modal-wrapper > ion-page > ion-header > .toolbar.statusbar-padding:first-child ion-title { padding-top: 20px; height: calc(44px + 20px); min-height: calc(44px + 20px); } } body { font-family: -apple-system, "Helvetica Neue", "Roboto", sans-serif; font-size: 1.4rem; background-color: #fff; } ================================================ FILE: content/dist/bundles/ionic.md.css ================================================ audio, canvas, progress, video { vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } b, strong { font-weight: bold; } img { max-width: 100%; border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { height: 1px; border-width: 0; box-sizing: content-box; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } label, input, select, textarea { font-family: inherit; line-height: normal; } textarea { overflow: auto; height: auto; font: inherit; color: inherit; } form, input, optgroup, select { margin: 0; font: inherit; color: inherit; } html input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; } a, a div, a span, a ion-icon, a ion-label, button, button div, button span, button ion-icon, button ion-label, [tappable], [tappable] div, [tappable] span, [tappable] ion-icon, [tappable] ion-label, input, textarea { -ms-touch-action: manipulation; touch-action: manipulation; } a ion-label, button ion-label, [tappable] ion-label { pointer-events: none; } button { border: 0; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: 1; text-transform: none; cursor: pointer; -webkit-appearance: button; } a[disabled], button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; } input[type="checkbox"], input[type="radio"] { padding: 0; box-sizing: border-box; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; } html { width: 100%; height: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust: 100%; } body { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; position: fixed; overflow: hidden; margin: 0; padding: 0; width: 100%; max-width: 100%; height: 100%; max-height: 100%; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; text-rendering: optimizeLegibility; -webkit-user-drag: none; -ms-content-zooming: none; -ms-touch-action: manipulation; touch-action: manipulation; word-wrap: break-word; -webkit-text-size-adjust: none; -ms-text-size-adjust: none; text-size-adjust: none; } ion-app, ion-nav, ion-tab, ion-tabs, .app-root { position: absolute; top: 0; left: 0; z-index: 0; display: block; overflow: hidden; width: 100%; height: 100%; } ion-tab scroll-cotent { display: none; } ion-tab { -webkit-transform: translateY(-200%); transform: translateY(-200%); } ion-tab.show-tab { -webkit-transform: translateY(0); transform: translateY(0); } ion-tab.show-tab scroll-cotent { display: block; } ion-page { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; opacity: 0; } ion-content { position: relative; top: 0; left: 0; display: block; width: 100%; height: 100%; } ion-page > ion-content { position: absolute; } ion-page scroll-content { display: none; } ion-page.show-page { opacity: 1; } ion-page.show-page scroll-content { display: block; } ion-header { position: absolute; top: 0; left: 0; z-index: 10; display: block; width: 100%; } ion-toolbar { position: relative; z-index: 10; } ion-footer { position: absolute; bottom: 0; left: 0; z-index: 10; display: block; width: 100%; } ion-tabbar { position: absolute; bottom: 0; left: 0; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; width: 100%; opacity: 0; } ion-tabbar.show-tabbar { opacity: 1; } [tabsPlacement=top] > ion-tabbar { top: 0; bottom: auto; } scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; display: block; overflow-x: hidden; overflow-y: scroll; -webkit-overflow-scrolling: touch; will-change: scroll-position; } ion-content.js-scroll > scroll-content { position: relative; min-height: 100%; overflow-x: initial; overflow-y: initial; -webkit-overflow-scrolling: auto; will-change: initial; } .disable-scroll ion-page scroll-content { overflow-y: hidden; overflow-x: hidden; } [nav-viewport], [nav-portal], [tab-portal], .nav-decor { display: none; } .hide, [hidden], template { display: none !important; } .sticky { position: -webkit-sticky; position: sticky; top: 0; } :focus, :active { outline: none; } .focus-outline :focus { outline: thin dotted; outline-offset: -1px; } .focus-outline button:focus, .focus-outline [button]:focus { border-color: #51a7e8; outline: thin solid #51a7e8; box-shadow: 0 0 8px 0 #51a7e8; } .focus-outline ion-input :focus { outline: none; } focus-ctrl { position: fixed; } focus-ctrl input, focus-ctrl button { position: fixed; top: 1px; left: -9999px; z-index: 9999; width: 9px; pointer-events: none; } click-block { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 9999; display: block; opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); -webkit-transform: translate3d(0, calc(-100% + 1px), 0); transform: translate3d(0, calc(-100% + 1px), 0); } .click-block-active { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } ion-backdrop { position: absolute; top: 0; left: 0; z-index: 2; display: block; width: 100%; height: 100%; background-color: #000; opacity: .01; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-backdrop.hide-backdrop { display: none; } ion-grid { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; padding: 5px; width: 100%; } ion-row { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; width: 100%; } ion-row[wrap] { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; } ion-row[top] { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } ion-row[bottom] { -webkit-box-align: end; -webkit-align-items: flex-end; -ms-flex-align: end; align-items: flex-end; } ion-row[center] { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-row[stretch] { -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; } ion-row[baseline] { -webkit-box-align: baseline; -webkit-align-items: baseline; -ms-flex-align: baseline; align-items: baseline; } ion-col { display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 5px; width: 100%; } ion-col[top] { -webkit-align-self: flex-start; -ms-flex-item-align: start; align-self: flex-start; } ion-col[bottom] { -webkit-align-self: flex-end; -ms-flex-item-align: end; align-self: flex-end; } ion-col[center] { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } ion-col[stretch] { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; } ion-col[baseline] { -webkit-align-self: baseline; -ms-flex-item-align: baseline; align-self: baseline; } ion-col[offset-10] { margin-left: 10%; } ion-col[offset-20] { margin-left: 20%; } ion-col[offset-25] { margin-left: 25%; } ion-col[offset-33], ion-col[offset-34] { margin-left: 33.3333%; } ion-col[offset-50] { margin-left: 50%; } ion-col[offset-66], ion-col[offset-67] { margin-left: 66.6666%; } ion-col[offset-75] { margin-left: 75%; } ion-col[offset-80] { margin-left: 80%; } ion-col[offset-90] { margin-left: 90%; } ion-col[width-10] { -webkit-box-flex: 0; -webkit-flex: 0 0 10%; -ms-flex: 0 0 10%; flex: 0 0 10%; max-width: 10%; } ion-col[width-20] { -webkit-box-flex: 0; -webkit-flex: 0 0 20%; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } ion-col[width-25] { -webkit-box-flex: 0; -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } ion-col[width-33], ion-col[width-34] { -webkit-box-flex: 0; -webkit-flex: 0 0 33.3333%; -ms-flex: 0 0 33.3333%; flex: 0 0 33.3333%; max-width: 33.3333%; } ion-col[width-50] { -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } ion-col[width-66], ion-col[width-67] { -webkit-box-flex: 0; -webkit-flex: 0 0 66.6666%; -ms-flex: 0 0 66.6666%; flex: 0 0 66.6666%; max-width: 66.6666%; } ion-col[width-75] { -webkit-box-flex: 0; -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } ion-col[width-80] { -webkit-box-flex: 0; -webkit-flex: 0 0 80%; -ms-flex: 0 0 80%; flex: 0 0 80%; max-width: 80%; } ion-col[width-90] { -webkit-box-flex: 0; -webkit-flex: 0 0 90%; -ms-flex: 0 0 90%; flex: 0 0 90%; max-width: 90%; } @media (max-width: 567px) { [responsive-sm] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-sm] ion-col[width-10], [responsive-sm] ion-col[width-20], [responsive-sm] ion-col[width-25], [responsive-sm] ion-col[width-33], [responsive-sm] ion-col[width-34], [responsive-sm] ion-col[width-50], [responsive-sm] ion-col[width-66], [responsive-sm] ion-col[width-67], [responsive-sm] ion-col[width-75], [responsive-sm] ion-col[width-80], [responsive-sm] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; width: 100%; max-width: 100%; } } @media (max-width: 767px) { [responsive-md] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-md] ion-col[width-10], [responsive-md] ion-col[width-20], [responsive-md] ion-col[width-25], [responsive-md] ion-col[width-33], [responsive-md] ion-col[width-34], [responsive-md] ion-col[width-50], [responsive-md] ion-col[width-66], [responsive-md] ion-col[width-67], [responsive-md] ion-col[width-75], [responsive-md] ion-col[width-80], [responsive-md] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; width: 100%; max-width: 100%; } } @media (max-width: 1023px) { [responsive-lg] { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } [responsive-lg] ion-col[width-10], [responsive-lg] ion-col[width-20], [responsive-lg] ion-col[width-25], [responsive-lg] ion-col[width-33], [responsive-lg] ion-col[width-34], [responsive-lg] ion-col[width-50], [responsive-lg] ion-col[width-66], [responsive-lg] ion-col[width-67], [responsive-lg] ion-col[width-75], [responsive-lg] ion-col[width-80], [responsive-lg] ion-col[width-90] { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin-bottom: 15px; margin-left: 0; width: 100%; max-width: 100%; } } ion-icon { display: inline-block; font-size: 1.2em; } ion-icon[small] { min-height: 1.1em; font-size: 1.1em; } ion-img { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } ion-img img { -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; min-width: 100%; min-height: 100%; } ion-img .img-placeholder { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #eee; -webkit-transition: opacity 200ms; transition: opacity 200ms; } ion-img.img-loaded .img-placeholder { opacity: 0; } ion-infinite-scroll { display: block; width: 100%; } ion-infinite-scroll-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; height: 100%; min-height: 84px; text-align: center; } .infinite-loading { display: none; margin: 0 0 32px 0; width: 100%; } .infinite-loading-text { margin: 4px 32px 0 32px; color: #666; } ion-infinite-scroll-content[state=loading] .infinite-loading { display: block; } ion-infinite-scroll-content[state=disabled] { display: none; } ion-loading { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .loading-wrapper { z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; opacity: 0; } ion-menu { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: none; } ion-menu.show-menu { display: block; } .menu-inner { position: absolute; top: 0; right: auto; bottom: 0; left: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; width: 304px; -webkit-transform: translate3d(-9999px, 0, 0); transform: translate3d(-9999px, 0, 0); } .menu-inner > ion-header, .menu-inner > ion-content, .menu-inner > ion-footer { position: relative; } ion-menu[side=right] > .menu-inner { right: 0; left: auto; } ion-menu ion-backdrop { z-index: -1; display: none; opacity: .1; } .menu-content { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .menu-content-open ion-pane, .menu-content-open ion-content, .menu-content-open .toolbar { pointer-events: none; } @media (max-width: 340px) { .menu-inner { width: 264px; } } ion-menu[type=reveal] { z-index: 0; } ion-menu[type=reveal].show-menu .menu-inner { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } ion-menu[type=overlay] { z-index: 80; } ion-menu[type=overlay] .show-backdrop { display: block; } ion-modal { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; } @media not all and (min-width: 768px) and (min-height: 600px) { ion-modal ion-backdrop { visibility: hidden; } } .modal-wrapper { z-index: 10; height: 100%; } @media only screen and (min-width: 768px) and (min-height: 600px) { .modal-wrapper { position: absolute; top: calc(50% - (500px/2)); left: calc(50% - (600px/2)); width: 600px; height: 500px; } } @media only screen and (min-width: 768px) and (min-height: 768px) { .modal-wrapper { position: absolute; top: calc(50% - (600px/2)); left: calc(50% - (600px/2)); width: 600px; height: 600px; } } ion-modal-inner { position: absolute; top: 0; left: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; width: 100%; height: 100%; } .item-range .item-inner { overflow: visible; } .item-range .input-wrapper { overflow: visible; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .item-range ion-range { width: 100%; } .item-range ion-range ion-label { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } ion-range { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-range ion-label { -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; } ion-range ion-icon { min-height: 2.4rem; font-size: 2.4rem; line-height: 1; } .range-slider { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; cursor: pointer; } ion-refresher { position: absolute; top: 0; left: 0; z-index: 0; display: none; width: 100%; height: 60px; } ion-refresher.refresher-active { display: block; } .has-refresher > scroll-content { margin-top: -1px; border-top: 1px solid #ddd; -webkit-transition: all 320ms cubic-bezier(0.36, 0.66, 0.04, 1); transition: all 320ms cubic-bezier(0.36, 0.66, 0.04, 1); } ion-refresher-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; height: 100%; } .refresher-pulling, .refresher-refreshing { display: none; width: 100%; } .refresher-pulling-icon, .refresher-refreshing-icon { font-size: 30px; text-align: center; color: #000; -webkit-transform-origin: center; transform-origin: center; -webkit-transition: 200ms; transition: 200ms; } .refresher-pulling-text, .refresher-refreshing-text { font-size: 16px; text-align: center; color: #000; } ion-refresher-content[state=pulling] .refresher-pulling { display: block; } ion-refresher-content[state=ready] .refresher-pulling { display: block; } ion-refresher-content[state=ready] .refresher-pulling-icon { -webkit-transform: rotate(180deg); transform: rotate(180deg); } ion-refresher-content[state=refreshing] .refresher-refreshing { display: block; } ion-refresher-content[state=cancelling] .refresher-pulling { display: block; } ion-refresher-content[state=cancelling] .refresher-pulling-icon { -webkit-transform: scale(0); transform: scale(0); } ion-refresher-content[state=completing] .refresher-refreshing { display: block; } ion-refresher-content[state=completing] .refresher-refreshing-icon { -webkit-transform: scale(0); transform: scale(0); } ion-scroll { position: relative; display: block; } ion-scroll.scroll-x scroll-content { overflow-x: auto; } ion-scroll.scroll-y scroll-content { overflow-y: auto; } ion-scroll[center] scroll-content { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } ion-scroll scroll-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow-y: hidden; overflow-x: hidden; -webkit-overflow-scrolling: touch; will-change: scroll-position; } .hidden-show-when { display: none !important; } .hidden-hide-when { display: none !important; } /** * Swiper 3.1.2 * Most modern mobile touch slider and framework with hardware accelerated transitions * * http://www.idangero.us/swiper/ * * Copyright 2015, Vladimir Kharlampidi * The iDangero.us * http://www.idangero.us/ * * Licensed under MIT * * Released on: August 22, 2015 */ .swiper-container { margin: 0 auto; position: relative; overflow: hidden; /* Fix of Webkit flickering */ z-index: 1; } .swiper-container-no-flexbox .swiper-slide { float: left; } .swiper-container-vertical > .swiper-wrapper { -webkit-box-orient: vertical; -ms-flex-direction: column; -webkit-flex-direction: column; flex-direction: column; } .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-transition-property: -webkit-transform; transition-property: transform; box-sizing: content-box; } .swiper-container-android .swiper-slide, .swiper-wrapper { -webkit-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0); } .swiper-container-multirow > .swiper-wrapper { -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; } .swiper-container-free-mode > .swiper-wrapper { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; margin: 0 auto; } .swiper-slide { -webkit-flex-shrink: 0; -ms-flex: 0 0 auto; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; width: 100%; height: 100%; position: relative; } /* a11y */ .swiper-container .swiper-notification { position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1000; } /* IE10 Windows Phone 8 Fixes */ .swiper-wp8-horizontal { -ms-touch-action: pan-y; touch-action: pan-y; } .swiper-wp8-vertical { -ms-touch-action: pan-x; touch-action: pan-x; } /* Arrows */ .swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; width: 27px; height: 44px; margin-top: -22px; z-index: 10; cursor: pointer; background-size: 27px 44px; background-position: center; background-repeat: no-repeat; } .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled { opacity: .35; cursor: auto; pointer-events: none; } .swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); left: 10px; right: auto; } .swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); right: 10px; left: auto; } .swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } .swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } /* Pagination Styles */ .swiper-pagination { position: absolute; text-align: center; -webkit-transition: 300ms; transition: 300ms; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); z-index: 10; } .swiper-pagination.swiper-pagination-hidden { opacity: 0; } .swiper-pagination-bullet { width: 8px; height: 8px; display: inline-block; border-radius: 100%; background: #000; opacity: .2; } button.swiper-pagination-bullet { border: 0; margin: 0; padding: 0; box-shadow: none; -moz-appearance: none; -ms-appearance: none; -webkit-appearance: none; appearance: none; } .swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; } .swiper-pagination-white .swiper-pagination-bullet { background: #fff; } .swiper-pagination-bullet-active { opacity: 1; } .swiper-pagination-white .swiper-pagination-bullet-active { background: #fff; } .swiper-pagination-black .swiper-pagination-bullet-active { background: #000; } .swiper-container-vertical > .swiper-pagination { right: 10px; top: 50%; -webkit-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); } .swiper-container-vertical > .swiper-pagination .swiper-pagination-bullet { margin: 5px 0; display: block; } .swiper-container-horizontal > .swiper-pagination { bottom: 20px; left: 0; width: 100%; } .swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet { margin: 0 5px; } /* 3D Container */ .swiper-container-3d { -webkit-perspective: 1200px; -o-perspective: 1200px; perspective: 1200px; } .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow { -webkit-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; } .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; } .swiper-container-3d .swiper-slide-shadow-left { background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-right { background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-top { background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } .swiper-container-3d .swiper-slide-shadow-bottom { background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); /* Safari 4+, Chrome */ background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent); /* Chrome 10+, Safari 5.1+, iOS 5+ */ /* Firefox 3.6-15 */ /* Opera 11.10-12.00 */ background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent); /* Firefox 16+, IE10, Opera 12.50+ */ } /* Coverflow */ .swiper-container-coverflow .swiper-wrapper { /* Windows 8 IE 10 fix */ -ms-perspective: 1200px; } /* Fade */ .swiper-container-fade.swiper-container-free-mode .swiper-slide { -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; } .swiper-container-fade .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide .swiper-slide { pointer-events: none; } .swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active { pointer-events: auto; } /* Cube */ .swiper-container-cube { overflow: visible; } .swiper-container-cube .swiper-slide { pointer-events: none; visibility: hidden; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; width: 100%; height: 100%; z-index: 1; } .swiper-container-cube.swiper-container-rtl .swiper-slide { -webkit-transform-origin: 100% 0; transform-origin: 100% 0; } .swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next + .swiper-slide { pointer-events: auto; visibility: visible; } .swiper-container-cube .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right { z-index: 0; -webkit-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; } .swiper-container-cube .swiper-cube-shadow { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #000; opacity: .6; -webkit-filter: blur(50px); filter: blur(50px); z-index: 0; } /* Scrollbar */ .swiper-scrollbar { border-radius: 10px; position: relative; -ms-touch-action: none; background: rgba(0, 0, 0, 0.1); } .swiper-container-horizontal > .swiper-scrollbar { position: absolute; left: 1%; bottom: 3px; z-index: 50; height: 5px; width: 98%; } .swiper-container-vertical > .swiper-scrollbar { position: absolute; right: 3px; top: 1%; z-index: 50; width: 5px; height: 98%; } .swiper-scrollbar-drag { height: 100%; width: 100%; position: relative; background: rgba(0, 0, 0, 0.5); border-radius: 10px; left: 0; top: 0; } .swiper-scrollbar-cursor-drag { cursor: move; } /* Preloader */ .swiper-lazy-preloader { width: 42px; height: 42px; position: absolute; left: 50%; top: 50%; margin-left: -21px; margin-top: -21px; z-index: 10; -webkit-transform-origin: 50%; transform-origin: 50%; -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; animation: swiper-preloader-spin 1s steps(12, end) infinite; } .swiper-lazy-preloader:after { display: block; content: ""; width: 100%; height: 100%; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); background-position: 50%; background-size: 100%; background-repeat: no-repeat; } .swiper-lazy-preloader-white:after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } @-webkit-keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); } } @keyframes swiper-preloader-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } ion-slides { width: 100%; height: 100%; display: block; } .slide-zoom { display: block; width: 100%; text-align: center; } .swiper-container { width: 100%; height: 100%; padding: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; } .swiper-wrapper { width: 100%; height: 100%; padding: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .swiper-slide { width: 100%; height: 100%; box-sizing: border-box; text-align: center; font-size: 18px; /* Center slide text vertically */ display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .swiper-slide img { width: auto; height: auto; max-width: 100%; max-height: 100%; } ion-spinner { position: relative; display: inline-block; width: 28px; height: 28px; } ion-spinner svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-spinner.spinner-paused svg { -webkit-animation-play-state: paused; animation-play-state: paused; } .spinner-ios line, .spinner-ios-small line { stroke: #69717d; stroke-width: 4px; stroke-linecap: round; } .spinner-ios svg, .spinner-ios-small svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .spinner-bubbles circle { fill: #000; } .spinner-bubbles svg { -webkit-animation: spinner-scale-out 1s linear infinite; animation: spinner-scale-out 1s linear infinite; } .spinner-circles circle { fill: #69717d; } .spinner-circles svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .spinner-crescent circle { fill: transparent; stroke: #000; stroke-width: 4px; stroke-dasharray: 128px; stroke-dashoffset: 82px; } .spinner-crescent svg { -webkit-animation: spinner-rotate 1s linear infinite; animation: spinner-rotate 1s linear infinite; } .spinner-dots circle { fill: #444; stroke-width: 0; } .spinner-dots svg { -webkit-transform-origin: center; transform-origin: center; -webkit-animation: spinner-dots 1s linear infinite; animation: spinner-dots 1s linear infinite; } @-webkit-keyframes spinner-fade-out { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes spinner-fade-out { 0% { opacity: 1; } 100% { opacity: 0; } } @-webkit-keyframes spinner-scale-out { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 100% { -webkit-transform: scale(0, 0); transform: scale(0, 0); } } @keyframes spinner-scale-out { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 100% { -webkit-transform: scale(0, 0); transform: scale(0, 0); } } @-webkit-keyframes spinner-rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spinner-rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @-webkit-keyframes spinner-dots { 0% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } 50% { opacity: .3; -webkit-transform: scale(0.4, 0.4); transform: scale(0.4, 0.4); } 100% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } } @keyframes spinner-dots { 0% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } 50% { opacity: .3; -webkit-transform: scale(0.4, 0.4); transform: scale(0.4, 0.4); } 100% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } } html { font-size: 62.5%; } a { background-color: transparent; } .enable-hover a:hover { opacity: .7; } h1, h2, h3, h4, h5, h6 { margin-top: 1.6rem; margin-bottom: 1rem; font-weight: 500; line-height: 1.2; } [padding] h1:first-child, [padding] h2:first-child, [padding] h3:first-child, [padding] h4:first-child, [padding] h5:first-child, [padding] h6:first-child { margin-top: -.3rem; } h1 + h2, h1 + h3, h2 + h3 { margin-top: -.3rem; } h1 { margin-top: 2rem; font-size: 2.6rem; } h2 { margin-top: 1.8rem; font-size: 2.4rem; } h3 { font-size: 2.2rem; } h4 { font-size: 2rem; } h5 { font-size: 1.8rem; } h6 { font-size: 1.6rem; } small { font-size: 75%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sup { top: -.5em; } sub { bottom: -.25em; } [text-left] { text-align: left; } [text-center] { text-align: center; } [text-right] { text-align: right; } [text-justify] { text-align: justify; } [text-nowrap] { white-space: nowrap; } [text-uppercase] { text-transform: uppercase; } [text-lowercase] { text-transform: lowercase; } [text-capitalize] { text-transform: capitalize; } .virtual-scroll { position: relative; } .virtual-scroll .virtual-position, .virtual-scroll .virtual-position.item { position: absolute; top: 0; left: 0; -webkit-transition-duration: 0ms; transition-duration: 0ms; } .virtual-scroll .virtual-hidden { display: none; } .ion-ios-add:before { content: "\f102"; } .ion-ios-add-circle:before { content: "\f101"; } .ion-ios-add-circle-outline:before { content: "\f100"; } .ion-ios-add-outline:before { content: "\f102"; } .ion-ios-alarm:before { content: "\f3c8"; } .ion-ios-alarm-outline:before { content: "\f3c7"; } .ion-ios-albums:before { content: "\f3ca"; } .ion-ios-albums-outline:before { content: "\f3c9"; } .ion-ios-alert:before { content: "\f104"; } .ion-ios-alert-outline:before { content: "\f103"; } .ion-ios-american-football:before { content: "\f106"; } .ion-ios-american-football-outline:before { content: "\f105"; } .ion-ios-analytics:before { content: "\f3ce"; } .ion-ios-analytics-outline:before { content: "\f3cd"; } .ion-ios-aperture:before { content: "\f108"; } .ion-ios-aperture-outline:before { content: "\f107"; } .ion-ios-apps:before { content: "\f10a"; } .ion-ios-apps-outline:before { content: "\f109"; } .ion-ios-appstore:before { content: "\f10c"; } .ion-ios-appstore-outline:before { content: "\f10b"; } .ion-ios-archive:before { content: "\f10e"; } .ion-ios-archive-outline:before { content: "\f10d"; } .ion-ios-arrow-back:before { content: "\f3cf"; } .ion-ios-arrow-back-outline:before { content: "\f3cf"; } .ion-ios-arrow-down:before { content: "\f3d0"; } .ion-ios-arrow-down-outline:before { content: "\f3d0"; } .ion-ios-arrow-dropdown:before { content: "\f110"; } .ion-ios-arrow-dropdown-circle:before { content: "\f10f"; } .ion-ios-arrow-dropdown-circle-outline:before { content: "\f10f"; } .ion-ios-arrow-dropdown-outline:before { content: "\f110"; } .ion-ios-arrow-dropleft:before { content: "\f112"; } .ion-ios-arrow-dropleft-circle:before { content: "\f111"; } .ion-ios-arrow-dropleft-circle-outline:before { content: "\f111"; } .ion-ios-arrow-dropleft-outline:before { content: "\f112"; } .ion-ios-arrow-dropright:before { content: "\f114"; } .ion-ios-arrow-dropright-circle:before { content: "\f113"; } .ion-ios-arrow-dropright-circle-outline:before { content: "\f113"; } .ion-ios-arrow-dropright-outline:before { content: "\f114"; } .ion-ios-arrow-dropup:before { content: "\f116"; } .ion-ios-arrow-dropup-circle:before { content: "\f115"; } .ion-ios-arrow-dropup-circle-outline:before { content: "\f115"; } .ion-ios-arrow-dropup-outline:before { content: "\f116"; } .ion-ios-arrow-forward:before { content: "\f3d1"; } .ion-ios-arrow-forward-outline:before { content: "\f3d1"; } .ion-ios-arrow-round-back:before { content: "\f117"; } .ion-ios-arrow-round-back-outline:before { content: "\f117"; } .ion-ios-arrow-round-down:before { content: "\f118"; } .ion-ios-arrow-round-down-outline:before { content: "\f118"; } .ion-ios-arrow-round-forward:before { content: "\f119"; } .ion-ios-arrow-round-forward-outline:before { content: "\f119"; } .ion-ios-arrow-round-up:before { content: "\f11a"; } .ion-ios-arrow-round-up-outline:before { content: "\f11a"; } .ion-ios-arrow-up:before { content: "\f3d8"; } .ion-ios-arrow-up-outline:before { content: "\f3d8"; } .ion-ios-at:before { content: "\f3da"; } .ion-ios-at-outline:before { content: "\f3d9"; } .ion-ios-attach:before { content: "\f11b"; } .ion-ios-attach-outline:before { content: "\f11b"; } .ion-ios-backspace:before { content: "\f11d"; } .ion-ios-backspace-outline:before { content: "\f11c"; } .ion-ios-barcode:before { content: "\f3dc"; } .ion-ios-barcode-outline:before { content: "\f3db"; } .ion-ios-baseball:before { content: "\f3de"; } .ion-ios-baseball-outline:before { content: "\f3dd"; } .ion-ios-basket:before { content: "\f11f"; } .ion-ios-basket-outline:before { content: "\f11e"; } .ion-ios-basketball:before { content: "\f3e0"; } .ion-ios-basketball-outline:before { content: "\f3df"; } .ion-ios-battery-charging:before { content: "\f120"; } .ion-ios-battery-charging-outline:before { content: "\f120"; } .ion-ios-battery-dead:before { content: "\f121"; } .ion-ios-battery-dead-outline:before { content: "\f121"; } .ion-ios-battery-full:before { content: "\f122"; } .ion-ios-battery-full-outline:before { content: "\f122"; } .ion-ios-beaker:before { content: "\f124"; } .ion-ios-beaker-outline:before { content: "\f123"; } .ion-ios-beer:before { content: "\f126"; } .ion-ios-beer-outline:before { content: "\f125"; } .ion-ios-bicycle:before { content: "\f127"; } .ion-ios-bicycle-outline:before { content: "\f127"; } .ion-ios-bluetooth:before { content: "\f128"; } .ion-ios-bluetooth-outline:before { content: "\f128"; } .ion-ios-boat:before { content: "\f12a"; } .ion-ios-boat-outline:before { content: "\f129"; } .ion-ios-body:before { content: "\f3e4"; } .ion-ios-body-outline:before { content: "\f3e3"; } .ion-ios-bonfire:before { content: "\f12c"; } .ion-ios-bonfire-outline:before { content: "\f12b"; } .ion-ios-book:before { content: "\f3e8"; } .ion-ios-book-outline:before { content: "\f3e7"; } .ion-ios-bookmark:before { content: "\f12e"; } .ion-ios-bookmark-outline:before { content: "\f12d"; } .ion-ios-bookmarks:before { content: "\f3ea"; } .ion-ios-bookmarks-outline:before { content: "\f3e9"; } .ion-ios-bowtie:before { content: "\f130"; } .ion-ios-bowtie-outline:before { content: "\f12f"; } .ion-ios-briefcase:before { content: "\f3ee"; } .ion-ios-briefcase-outline:before { content: "\f3ed"; } .ion-ios-browsers:before { content: "\f3f0"; } .ion-ios-browsers-outline:before { content: "\f3ef"; } .ion-ios-brush:before { content: "\f132"; } .ion-ios-brush-outline:before { content: "\f131"; } .ion-ios-bug:before { content: "\f134"; } .ion-ios-bug-outline:before { content: "\f133"; } .ion-ios-build:before { content: "\f136"; } .ion-ios-build-outline:before { content: "\f135"; } .ion-ios-bulb:before { content: "\f138"; } .ion-ios-bulb-outline:before { content: "\f137"; } .ion-ios-bus:before { content: "\f13a"; } .ion-ios-bus-outline:before { content: "\f139"; } .ion-ios-cafe:before { content: "\f13c"; } .ion-ios-cafe-outline:before { content: "\f13b"; } .ion-ios-calculator:before { content: "\f3f2"; } .ion-ios-calculator-outline:before { content: "\f3f1"; } .ion-ios-calendar:before { content: "\f3f4"; } .ion-ios-calendar-outline:before { content: "\f3f3"; } .ion-ios-call:before { content: "\f13e"; } .ion-ios-call-outline:before { content: "\f13d"; } .ion-ios-camera:before { content: "\f3f6"; } .ion-ios-camera-outline:before { content: "\f3f5"; } .ion-ios-car:before { content: "\f140"; } .ion-ios-car-outline:before { content: "\f13f"; } .ion-ios-card:before { content: "\f142"; } .ion-ios-card-outline:before { content: "\f141"; } .ion-ios-cart:before { content: "\f3f8"; } .ion-ios-cart-outline:before { content: "\f3f7"; } .ion-ios-cash:before { content: "\f144"; } .ion-ios-cash-outline:before { content: "\f143"; } .ion-ios-chatboxes:before { content: "\f3fa"; } .ion-ios-chatboxes-outline:before { content: "\f3f9"; } .ion-ios-chatbubbles:before { content: "\f146"; } .ion-ios-chatbubbles-outline:before { content: "\f145"; } .ion-ios-checkbox:before { content: "\f148"; } .ion-ios-checkbox-outline:before { content: "\f147"; } .ion-ios-checkmark:before { content: "\f3ff"; } .ion-ios-checkmark-circle:before { content: "\f14a"; } .ion-ios-checkmark-circle-outline:before { content: "\f149"; } .ion-ios-checkmark-outline:before { content: "\f3ff"; } .ion-ios-clipboard:before { content: "\f14c"; } .ion-ios-clipboard-outline:before { content: "\f14b"; } .ion-ios-clock:before { content: "\f403"; } .ion-ios-clock-outline:before { content: "\f402"; } .ion-ios-close:before { content: "\f406"; } .ion-ios-close-circle:before { content: "\f14e"; } .ion-ios-close-circle-outline:before { content: "\f14d"; } .ion-ios-close-outline:before { content: "\f406"; } .ion-ios-closed-captioning:before { content: "\f150"; } .ion-ios-closed-captioning-outline:before { content: "\f14f"; } .ion-ios-cloud:before { content: "\f40c"; } .ion-ios-cloud-circle:before { content: "\f152"; } .ion-ios-cloud-circle-outline:before { content: "\f151"; } .ion-ios-cloud-done:before { content: "\f154"; } .ion-ios-cloud-done-outline:before { content: "\f153"; } .ion-ios-cloud-download:before { content: "\f408"; } .ion-ios-cloud-download-outline:before { content: "\f407"; } .ion-ios-cloud-outline:before { content: "\f409"; } .ion-ios-cloud-upload:before { content: "\f40b"; } .ion-ios-cloud-upload-outline:before { content: "\f40a"; } .ion-ios-cloudy:before { content: "\f410"; } .ion-ios-cloudy-night:before { content: "\f40e"; } .ion-ios-cloudy-night-outline:before { content: "\f40d"; } .ion-ios-cloudy-outline:before { content: "\f40f"; } .ion-ios-code:before { content: "\f157"; } .ion-ios-code-download:before { content: "\f155"; } .ion-ios-code-download-outline:before { content: "\f155"; } .ion-ios-code-outline:before { content: "\f157"; } .ion-ios-code-working:before { content: "\f156"; } .ion-ios-code-working-outline:before { content: "\f156"; } .ion-ios-cog:before { content: "\f412"; } .ion-ios-cog-outline:before { content: "\f411"; } .ion-ios-color-fill:before { content: "\f159"; } .ion-ios-color-fill-outline:before { content: "\f158"; } .ion-ios-color-filter:before { content: "\f414"; } .ion-ios-color-filter-outline:before { content: "\f413"; } .ion-ios-color-palette:before { content: "\f15b"; } .ion-ios-color-palette-outline:before { content: "\f15a"; } .ion-ios-color-wand:before { content: "\f416"; } .ion-ios-color-wand-outline:before { content: "\f415"; } .ion-ios-compass:before { content: "\f15d"; } .ion-ios-compass-outline:before { content: "\f15c"; } .ion-ios-construct:before { content: "\f15f"; } .ion-ios-construct-outline:before { content: "\f15e"; } .ion-ios-contact:before { content: "\f41a"; } .ion-ios-contact-outline:before { content: "\f419"; } .ion-ios-contacts:before { content: "\f161"; } .ion-ios-contacts-outline:before { content: "\f160"; } .ion-ios-contract:before { content: "\f162"; } .ion-ios-contract-outline:before { content: "\f162"; } .ion-ios-contrast:before { content: "\f163"; } .ion-ios-contrast-outline:before { content: "\f163"; } .ion-ios-copy:before { content: "\f41c"; } .ion-ios-copy-outline:before { content: "\f41b"; } .ion-ios-create:before { content: "\f165"; } .ion-ios-create-outline:before { content: "\f164"; } .ion-ios-crop:before { content: "\f41e"; } .ion-ios-crop-outline:before { content: "\f166"; } .ion-ios-cube:before { content: "\f168"; } .ion-ios-cube-outline:before { content: "\f167"; } .ion-ios-cut:before { content: "\f16a"; } .ion-ios-cut-outline:before { content: "\f169"; } .ion-ios-desktop:before { content: "\f16c"; } .ion-ios-desktop-outline:before { content: "\f16b"; } .ion-ios-disc:before { content: "\f16e"; } .ion-ios-disc-outline:before { content: "\f16d"; } .ion-ios-document:before { content: "\f170"; } .ion-ios-document-outline:before { content: "\f16f"; } .ion-ios-done-all:before { content: "\f171"; } .ion-ios-done-all-outline:before { content: "\f171"; } .ion-ios-download:before { content: "\f420"; } .ion-ios-download-outline:before { content: "\f41f"; } .ion-ios-easel:before { content: "\f173"; } .ion-ios-easel-outline:before { content: "\f172"; } .ion-ios-egg:before { content: "\f175"; } .ion-ios-egg-outline:before { content: "\f174"; } .ion-ios-exit:before { content: "\f177"; } .ion-ios-exit-outline:before { content: "\f176"; } .ion-ios-expand:before { content: "\f178"; } .ion-ios-expand-outline:before { content: "\f178"; } .ion-ios-eye:before { content: "\f425"; } .ion-ios-eye-off:before { content: "\f17a"; } .ion-ios-eye-off-outline:before { content: "\f179"; } .ion-ios-eye-outline:before { content: "\f424"; } .ion-ios-fastforward:before { content: "\f427"; } .ion-ios-fastforward-outline:before { content: "\f426"; } .ion-ios-female:before { content: "\f17b"; } .ion-ios-female-outline:before { content: "\f17b"; } .ion-ios-filing:before { content: "\f429"; } .ion-ios-filing-outline:before { content: "\f428"; } .ion-ios-film:before { content: "\f42b"; } .ion-ios-film-outline:before { content: "\f42a"; } .ion-ios-finger-print:before { content: "\f17c"; } .ion-ios-finger-print-outline:before { content: "\f17c"; } .ion-ios-flag:before { content: "\f42d"; } .ion-ios-flag-outline:before { content: "\f42c"; } .ion-ios-flame:before { content: "\f42f"; } .ion-ios-flame-outline:before { content: "\f42e"; } .ion-ios-flash:before { content: "\f17e"; } .ion-ios-flash-outline:before { content: "\f17d"; } .ion-ios-flask:before { content: "\f431"; } .ion-ios-flask-outline:before { content: "\f430"; } .ion-ios-flower:before { content: "\f433"; } .ion-ios-flower-outline:before { content: "\f432"; } .ion-ios-folder:before { content: "\f435"; } .ion-ios-folder-open:before { content: "\f180"; } .ion-ios-folder-open-outline:before { content: "\f17f"; } .ion-ios-folder-outline:before { content: "\f434"; } .ion-ios-football:before { content: "\f437"; } .ion-ios-football-outline:before { content: "\f436"; } .ion-ios-funnel:before { content: "\f182"; } .ion-ios-funnel-outline:before { content: "\f181"; } .ion-ios-game-controller-a:before { content: "\f439"; } .ion-ios-game-controller-a-outline:before { content: "\f438"; } .ion-ios-game-controller-b:before { content: "\f43b"; } .ion-ios-game-controller-b-outline:before { content: "\f43a"; } .ion-ios-git-branch:before { content: "\f183"; } .ion-ios-git-branch-outline:before { content: "\f183"; } .ion-ios-git-commit:before { content: "\f184"; } .ion-ios-git-commit-outline:before { content: "\f184"; } .ion-ios-git-compare:before { content: "\f185"; } .ion-ios-git-compare-outline:before { content: "\f185"; } .ion-ios-git-merge:before { content: "\f186"; } .ion-ios-git-merge-outline:before { content: "\f186"; } .ion-ios-git-network:before { content: "\f187"; } .ion-ios-git-network-outline:before { content: "\f187"; } .ion-ios-git-pull-request:before { content: "\f188"; } .ion-ios-git-pull-request-outline:before { content: "\f188"; } .ion-ios-glasses:before { content: "\f43f"; } .ion-ios-glasses-outline:before { content: "\f43e"; } .ion-ios-globe:before { content: "\f18a"; } .ion-ios-globe-outline:before { content: "\f189"; } .ion-ios-grid:before { content: "\f18c"; } .ion-ios-grid-outline:before { content: "\f18b"; } .ion-ios-hammer:before { content: "\f18e"; } .ion-ios-hammer-outline:before { content: "\f18d"; } .ion-ios-hand:before { content: "\f190"; } .ion-ios-hand-outline:before { content: "\f18f"; } .ion-ios-happy:before { content: "\f192"; } .ion-ios-happy-outline:before { content: "\f191"; } .ion-ios-headset:before { content: "\f194"; } .ion-ios-headset-outline:before { content: "\f193"; } .ion-ios-heart:before { content: "\f443"; } .ion-ios-heart-outline:before { content: "\f442"; } .ion-ios-help:before { content: "\f446"; } .ion-ios-help-buoy:before { content: "\f196"; } .ion-ios-help-buoy-outline:before { content: "\f195"; } .ion-ios-help-circle:before { content: "\f198"; } .ion-ios-help-circle-outline:before { content: "\f197"; } .ion-ios-help-outline:before { content: "\f446"; } .ion-ios-home:before { content: "\f448"; } .ion-ios-home-outline:before { content: "\f447"; } .ion-ios-ice-cream:before { content: "\f19a"; } .ion-ios-ice-cream-outline:before { content: "\f199"; } .ion-ios-image:before { content: "\f19c"; } .ion-ios-image-outline:before { content: "\f19b"; } .ion-ios-images:before { content: "\f19e"; } .ion-ios-images-outline:before { content: "\f19d"; } .ion-ios-infinite:before { content: "\f44a"; } .ion-ios-infinite-outline:before { content: "\f449"; } .ion-ios-information:before { content: "\f44d"; } .ion-ios-information-circle:before { content: "\f1a0"; } .ion-ios-information-circle-outline:before { content: "\f19f"; } .ion-ios-information-outline:before { content: "\f44d"; } .ion-ios-ionic:before { content: "\f1a1"; } .ion-ios-ionic-outline:before { content: "\f44e"; } .ion-ios-ionitron:before { content: "\f1a3"; } .ion-ios-ionitron-outline:before { content: "\f1a2"; } .ion-ios-jet:before { content: "\f1a5"; } .ion-ios-jet-outline:before { content: "\f1a4"; } .ion-ios-key:before { content: "\f1a7"; } .ion-ios-key-outline:before { content: "\f1a6"; } .ion-ios-keypad:before { content: "\f450"; } .ion-ios-keypad-outline:before { content: "\f44f"; } .ion-ios-laptop:before { content: "\f1a8"; } .ion-ios-laptop-outline:before { content: "\f1a8"; } .ion-ios-leaf:before { content: "\f1aa"; } .ion-ios-leaf-outline:before { content: "\f1a9"; } .ion-ios-link:before { content: "\f22a"; } .ion-ios-link-outline:before { content: "\f1ca"; } .ion-ios-list:before { content: "\f454"; } .ion-ios-list-box:before { content: "\f1ac"; } .ion-ios-list-box-outline:before { content: "\f1ab"; } .ion-ios-list-outline:before { content: "\f454"; } .ion-ios-locate:before { content: "\f1ae"; } .ion-ios-locate-outline:before { content: "\f1ad"; } .ion-ios-lock:before { content: "\f1b0"; } .ion-ios-lock-outline:before { content: "\f1af"; } .ion-ios-log-in:before { content: "\f1b1"; } .ion-ios-log-in-outline:before { content: "\f1b1"; } .ion-ios-log-out:before { content: "\f1b2"; } .ion-ios-log-out-outline:before { content: "\f1b2"; } .ion-ios-magnet:before { content: "\f1b4"; } .ion-ios-magnet-outline:before { content: "\f1b3"; } .ion-ios-mail:before { content: "\f1b8"; } .ion-ios-mail-open:before { content: "\f1b6"; } .ion-ios-mail-open-outline:before { content: "\f1b5"; } .ion-ios-mail-outline:before { content: "\f1b7"; } .ion-ios-male:before { content: "\f1b9"; } .ion-ios-male-outline:before { content: "\f1b9"; } .ion-ios-man:before { content: "\f1bb"; } .ion-ios-man-outline:before { content: "\f1ba"; } .ion-ios-map:before { content: "\f1bd"; } .ion-ios-map-outline:before { content: "\f1bc"; } .ion-ios-medal:before { content: "\f1bf"; } .ion-ios-medal-outline:before { content: "\f1be"; } .ion-ios-medical:before { content: "\f45c"; } .ion-ios-medical-outline:before { content: "\f45b"; } .ion-ios-medkit:before { content: "\f45e"; } .ion-ios-medkit-outline:before { content: "\f45d"; } .ion-ios-megaphone:before { content: "\f1c1"; } .ion-ios-megaphone-outline:before { content: "\f1c0"; } .ion-ios-menu:before { content: "\f1c3"; } .ion-ios-menu-outline:before { content: "\f1c2"; } .ion-ios-mic:before { content: "\f461"; } .ion-ios-mic-off:before { content: "\f45f"; } .ion-ios-mic-off-outline:before { content: "\f1c4"; } .ion-ios-mic-outline:before { content: "\f460"; } .ion-ios-microphone:before { content: "\f1c6"; } .ion-ios-microphone-outline:before { content: "\f1c5"; } .ion-ios-moon:before { content: "\f468"; } .ion-ios-moon-outline:before { content: "\f467"; } .ion-ios-more:before { content: "\f1c8"; } .ion-ios-more-outline:before { content: "\f1c7"; } .ion-ios-move:before { content: "\f1cb"; } .ion-ios-move-outline:before { content: "\f1cb"; } .ion-ios-musical-note:before { content: "\f46b"; } .ion-ios-musical-note-outline:before { content: "\f1cc"; } .ion-ios-musical-notes:before { content: "\f46c"; } .ion-ios-musical-notes-outline:before { content: "\f1cd"; } .ion-ios-navigate:before { content: "\f46e"; } .ion-ios-navigate-outline:before { content: "\f46d"; } .ion-ios-no-smoking:before { content: "\f1cf"; } .ion-ios-no-smoking-outline:before { content: "\f1ce"; } .ion-ios-notifications:before { content: "\f1d3"; } .ion-ios-notifications-off:before { content: "\f1d1"; } .ion-ios-notifications-off-outline:before { content: "\f1d0"; } .ion-ios-notifications-outline:before { content: "\f1d2"; } .ion-ios-nuclear:before { content: "\f1d5"; } .ion-ios-nuclear-outline:before { content: "\f1d4"; } .ion-ios-nutrition:before { content: "\f470"; } .ion-ios-nutrition-outline:before { content: "\f46f"; } .ion-ios-open:before { content: "\f1d7"; } .ion-ios-open-outline:before { content: "\f1d6"; } .ion-ios-options:before { content: "\f1d9"; } .ion-ios-options-outline:before { content: "\f1d8"; } .ion-ios-outlet:before { content: "\f1db"; } .ion-ios-outlet-outline:before { content: "\f1da"; } .ion-ios-paper:before { content: "\f472"; } .ion-ios-paper-outline:before { content: "\f471"; } .ion-ios-paper-plane:before { content: "\f1dd"; } .ion-ios-paper-plane-outline:before { content: "\f1dc"; } .ion-ios-partly-sunny:before { content: "\f1df"; } .ion-ios-partly-sunny-outline:before { content: "\f1de"; } .ion-ios-pause:before { content: "\f478"; } .ion-ios-pause-outline:before { content: "\f477"; } .ion-ios-paw:before { content: "\f47a"; } .ion-ios-paw-outline:before { content: "\f479"; } .ion-ios-people:before { content: "\f47c"; } .ion-ios-people-outline:before { content: "\f47b"; } .ion-ios-person:before { content: "\f47e"; } .ion-ios-person-add:before { content: "\f1e1"; } .ion-ios-person-add-outline:before { content: "\f1e0"; } .ion-ios-person-outline:before { content: "\f47d"; } .ion-ios-phone-landscape:before { content: "\f1e2"; } .ion-ios-phone-landscape-outline:before { content: "\f1e2"; } .ion-ios-phone-portrait:before { content: "\f1e3"; } .ion-ios-phone-portrait-outline:before { content: "\f1e3"; } .ion-ios-photos:before { content: "\f482"; } .ion-ios-photos-outline:before { content: "\f481"; } .ion-ios-pie:before { content: "\f484"; } .ion-ios-pie-outline:before { content: "\f483"; } .ion-ios-pin:before { content: "\f1e5"; } .ion-ios-pin-outline:before { content: "\f1e4"; } .ion-ios-pint:before { content: "\f486"; } .ion-ios-pint-outline:before { content: "\f485"; } .ion-ios-pizza:before { content: "\f1e7"; } .ion-ios-pizza-outline:before { content: "\f1e6"; } .ion-ios-plane:before { content: "\f1e9"; } .ion-ios-plane-outline:before { content: "\f1e8"; } .ion-ios-planet:before { content: "\f1eb"; } .ion-ios-planet-outline:before { content: "\f1ea"; } .ion-ios-play:before { content: "\f488"; } .ion-ios-play-outline:before { content: "\f487"; } .ion-ios-podium:before { content: "\f1ed"; } .ion-ios-podium-outline:before { content: "\f1ec"; } .ion-ios-power:before { content: "\f1ef"; } .ion-ios-power-outline:before { content: "\f1ee"; } .ion-ios-pricetag:before { content: "\f48d"; } .ion-ios-pricetag-outline:before { content: "\f48c"; } .ion-ios-pricetags:before { content: "\f48f"; } .ion-ios-pricetags-outline:before { content: "\f48e"; } .ion-ios-print:before { content: "\f1f1"; } .ion-ios-print-outline:before { content: "\f1f0"; } .ion-ios-pulse:before { content: "\f493"; } .ion-ios-pulse-outline:before { content: "\f1f2"; } .ion-ios-qr-scanner:before { content: "\f1f3"; } .ion-ios-qr-scanner-outline:before { content: "\f1f3"; } .ion-ios-quote:before { content: "\f1f5"; } .ion-ios-quote-outline:before { content: "\f1f4"; } .ion-ios-radio:before { content: "\f1f9"; } .ion-ios-radio-button-off:before { content: "\f1f6"; } .ion-ios-radio-button-off-outline:before { content: "\f1f6"; } .ion-ios-radio-button-on:before { content: "\f1f7"; } .ion-ios-radio-button-on-outline:before { content: "\f1f7"; } .ion-ios-radio-outline:before { content: "\f1f8"; } .ion-ios-rainy:before { content: "\f495"; } .ion-ios-rainy-outline:before { content: "\f494"; } .ion-ios-recording:before { content: "\f497"; } .ion-ios-recording-outline:before { content: "\f496"; } .ion-ios-redo:before { content: "\f499"; } .ion-ios-redo-outline:before { content: "\f498"; } .ion-ios-refresh:before { content: "\f49c"; } .ion-ios-refresh-circle:before { content: "\f226"; } .ion-ios-refresh-circle-outline:before { content: "\f224"; } .ion-ios-refresh-outline:before { content: "\f49c"; } .ion-ios-remove:before { content: "\f1fc"; } .ion-ios-remove-circle:before { content: "\f1fb"; } .ion-ios-remove-circle-outline:before { content: "\f1fa"; } .ion-ios-remove-outline:before { content: "\f1fc"; } .ion-ios-reorder:before { content: "\f1fd"; } .ion-ios-reorder-outline:before { content: "\f1fd"; } .ion-ios-repeat:before { content: "\f1fe"; } .ion-ios-repeat-outline:before { content: "\f1fe"; } .ion-ios-resize:before { content: "\f1ff"; } .ion-ios-resize-outline:before { content: "\f1ff"; } .ion-ios-restaurant:before { content: "\f201"; } .ion-ios-restaurant-outline:before { content: "\f200"; } .ion-ios-return-left:before { content: "\f202"; } .ion-ios-return-left-outline:before { content: "\f202"; } .ion-ios-return-right:before { content: "\f203"; } .ion-ios-return-right-outline:before { content: "\f203"; } .ion-ios-reverse-camera:before { content: "\f49f"; } .ion-ios-reverse-camera-outline:before { content: "\f49e"; } .ion-ios-rewind:before { content: "\f4a1"; } .ion-ios-rewind-outline:before { content: "\f4a0"; } .ion-ios-ribbon:before { content: "\f205"; } .ion-ios-ribbon-outline:before { content: "\f204"; } .ion-ios-rose:before { content: "\f4a3"; } .ion-ios-rose-outline:before { content: "\f4a2"; } .ion-ios-sad:before { content: "\f207"; } .ion-ios-sad-outline:before { content: "\f206"; } .ion-ios-school:before { content: "\f209"; } .ion-ios-school-outline:before { content: "\f208"; } .ion-ios-search:before { content: "\f4a5"; } .ion-ios-search-outline:before { content: "\f20a"; } .ion-ios-send:before { content: "\f20c"; } .ion-ios-send-outline:before { content: "\f20b"; } .ion-ios-settings:before { content: "\f4a7"; } .ion-ios-settings-outline:before { content: "\f20d"; } .ion-ios-share:before { content: "\f211"; } .ion-ios-share-alt:before { content: "\f20f"; } .ion-ios-share-alt-outline:before { content: "\f20e"; } .ion-ios-share-outline:before { content: "\f210"; } .ion-ios-shirt:before { content: "\f213"; } .ion-ios-shirt-outline:before { content: "\f212"; } .ion-ios-shuffle:before { content: "\f4a9"; } .ion-ios-shuffle-outline:before { content: "\f4a9"; } .ion-ios-skip-backward:before { content: "\f215"; } .ion-ios-skip-backward-outline:before { content: "\f214"; } .ion-ios-skip-forward:before { content: "\f217"; } .ion-ios-skip-forward-outline:before { content: "\f216"; } .ion-ios-snow:before { content: "\f218"; } .ion-ios-snow-outline:before { content: "\f22c"; } .ion-ios-speedometer:before { content: "\f4b0"; } .ion-ios-speedometer-outline:before { content: "\f4af"; } .ion-ios-square:before { content: "\f21a"; } .ion-ios-square-outline:before { content: "\f219"; } .ion-ios-star:before { content: "\f4b3"; } .ion-ios-star-half:before { content: "\f4b1"; } .ion-ios-star-half-outline:before { content: "\f4b1"; } .ion-ios-star-outline:before { content: "\f4b2"; } .ion-ios-stats:before { content: "\f21c"; } .ion-ios-stats-outline:before { content: "\f21b"; } .ion-ios-stopwatch:before { content: "\f4b5"; } .ion-ios-stopwatch-outline:before { content: "\f4b4"; } .ion-ios-subway:before { content: "\f21e"; } .ion-ios-subway-outline:before { content: "\f21d"; } .ion-ios-sunny:before { content: "\f4b7"; } .ion-ios-sunny-outline:before { content: "\f4b6"; } .ion-ios-swap:before { content: "\f21f"; } .ion-ios-swap-outline:before { content: "\f21f"; } .ion-ios-switch:before { content: "\f221"; } .ion-ios-switch-outline:before { content: "\f220"; } .ion-ios-sync:before { content: "\f222"; } .ion-ios-sync-outline:before { content: "\f222"; } .ion-ios-tablet-landscape:before { content: "\f223"; } .ion-ios-tablet-landscape-outline:before { content: "\f223"; } .ion-ios-tablet-portrait:before { content: "\f24e"; } .ion-ios-tablet-portrait-outline:before { content: "\f24e"; } .ion-ios-tennisball:before { content: "\f4bb"; } .ion-ios-tennisball-outline:before { content: "\f4ba"; } .ion-ios-text:before { content: "\f250"; } .ion-ios-text-outline:before { content: "\f24f"; } .ion-ios-thermometer:before { content: "\f252"; } .ion-ios-thermometer-outline:before { content: "\f251"; } .ion-ios-thumbs-down:before { content: "\f254"; } .ion-ios-thumbs-down-outline:before { content: "\f253"; } .ion-ios-thumbs-up:before { content: "\f256"; } .ion-ios-thumbs-up-outline:before { content: "\f255"; } .ion-ios-thunderstorm:before { content: "\f4bd"; } .ion-ios-thunderstorm-outline:before { content: "\f4bc"; } .ion-ios-time:before { content: "\f4bf"; } .ion-ios-time-outline:before { content: "\f4be"; } .ion-ios-timer:before { content: "\f4c1"; } .ion-ios-timer-outline:before { content: "\f4c0"; } .ion-ios-train:before { content: "\f258"; } .ion-ios-train-outline:before { content: "\f257"; } .ion-ios-transgender:before { content: "\f259"; } .ion-ios-transgender-outline:before { content: "\f259"; } .ion-ios-trash:before { content: "\f4c5"; } .ion-ios-trash-outline:before { content: "\f4c4"; } .ion-ios-trending-down:before { content: "\f25a"; } .ion-ios-trending-down-outline:before { content: "\f25a"; } .ion-ios-trending-up:before { content: "\f25b"; } .ion-ios-trending-up-outline:before { content: "\f25b"; } .ion-ios-trophy:before { content: "\f25d"; } .ion-ios-trophy-outline:before { content: "\f25c"; } .ion-ios-umbrella:before { content: "\f25f"; } .ion-ios-umbrella-outline:before { content: "\f25e"; } .ion-ios-undo:before { content: "\f4c7"; } .ion-ios-undo-outline:before { content: "\f4c6"; } .ion-ios-unlock:before { content: "\f261"; } .ion-ios-unlock-outline:before { content: "\f260"; } .ion-ios-videocam:before { content: "\f4cd"; } .ion-ios-videocam-outline:before { content: "\f4cc"; } .ion-ios-volume-down:before { content: "\f262"; } .ion-ios-volume-down-outline:before { content: "\f262"; } .ion-ios-volume-mute:before { content: "\f263"; } .ion-ios-volume-mute-outline:before { content: "\f263"; } .ion-ios-volume-off:before { content: "\f264"; } .ion-ios-volume-off-outline:before { content: "\f264"; } .ion-ios-volume-up:before { content: "\f265"; } .ion-ios-volume-up-outline:before { content: "\f265"; } .ion-ios-walk:before { content: "\f266"; } .ion-ios-walk-outline:before { content: "\f266"; } .ion-ios-warning:before { content: "\f268"; } .ion-ios-warning-outline:before { content: "\f267"; } .ion-ios-watch:before { content: "\f269"; } .ion-ios-watch-outline:before { content: "\f269"; } .ion-ios-water:before { content: "\f26b"; } .ion-ios-water-outline:before { content: "\f26a"; } .ion-ios-wifi:before { content: "\f26d"; } .ion-ios-wifi-outline:before { content: "\f26c"; } .ion-ios-wine:before { content: "\f26f"; } .ion-ios-wine-outline:before { content: "\f26e"; } .ion-ios-woman:before { content: "\f271"; } .ion-ios-woman-outline:before { content: "\f270"; } .ion-logo-android:before { content: "\f225"; } .ion-logo-angular:before { content: "\f227"; } .ion-logo-apple:before { content: "\f229"; } .ion-logo-bitcoin:before { content: "\f22b"; } .ion-logo-buffer:before { content: "\f22d"; } .ion-logo-chrome:before { content: "\f22f"; } .ion-logo-codepen:before { content: "\f230"; } .ion-logo-css3:before { content: "\f231"; } .ion-logo-designernews:before { content: "\f232"; } .ion-logo-dribbble:before { content: "\f233"; } .ion-logo-dropbox:before { content: "\f234"; } .ion-logo-euro:before { content: "\f235"; } .ion-logo-facebook:before { content: "\f236"; } .ion-logo-foursquare:before { content: "\f237"; } .ion-logo-freebsd-devil:before { content: "\f238"; } .ion-logo-github:before { content: "\f239"; } .ion-logo-google:before { content: "\f23a"; } .ion-logo-googleplus:before { content: "\f23b"; } .ion-logo-hackernews:before { content: "\f23c"; } .ion-logo-html5:before { content: "\f23d"; } .ion-logo-instagram:before { content: "\f23e"; } .ion-logo-javascript:before { content: "\f23f"; } .ion-logo-linkedin:before { content: "\f240"; } .ion-logo-markdown:before { content: "\f241"; } .ion-logo-nodejs:before { content: "\f242"; } .ion-logo-octocat:before { content: "\f243"; } .ion-logo-pinterest:before { content: "\f244"; } .ion-logo-playstation:before { content: "\f245"; } .ion-logo-python:before { content: "\f246"; } .ion-logo-reddit:before { content: "\f247"; } .ion-logo-rss:before { content: "\f248"; } .ion-logo-sass:before { content: "\f249"; } .ion-logo-skype:before { content: "\f24a"; } .ion-logo-snapchat:before { content: "\f24b"; } .ion-logo-steam:before { content: "\f24c"; } .ion-logo-tumblr:before { content: "\f24d"; } .ion-logo-tux:before { content: "\f2ae"; } .ion-logo-twitch:before { content: "\f2af"; } .ion-logo-twitter:before { content: "\f2b0"; } .ion-logo-usd:before { content: "\f2b1"; } .ion-logo-vimeo:before { content: "\f2c4"; } .ion-logo-whatsapp:before { content: "\f2c5"; } .ion-logo-windows:before { content: "\f32f"; } .ion-logo-wordpress:before { content: "\f330"; } .ion-logo-xbox:before { content: "\f34c"; } .ion-logo-yahoo:before { content: "\f34d"; } .ion-logo-yen:before { content: "\f34e"; } .ion-logo-youtube:before { content: "\f34f"; } .ion-md-add:before { content: "\f273"; } .ion-md-add-circle:before { content: "\f272"; } .ion-md-alarm:before { content: "\f274"; } .ion-md-albums:before { content: "\f275"; } .ion-md-alert:before { content: "\f276"; } .ion-md-american-football:before { content: "\f277"; } .ion-md-analytics:before { content: "\f278"; } .ion-md-aperture:before { content: "\f279"; } .ion-md-apps:before { content: "\f27a"; } .ion-md-appstore:before { content: "\f27b"; } .ion-md-archive:before { content: "\f27c"; } .ion-md-arrow-back:before { content: "\f27d"; } .ion-md-arrow-down:before { content: "\f27e"; } .ion-md-arrow-dropdown:before { content: "\f280"; } .ion-md-arrow-dropdown-circle:before { content: "\f27f"; } .ion-md-arrow-dropleft:before { content: "\f282"; } .ion-md-arrow-dropleft-circle:before { content: "\f281"; } .ion-md-arrow-dropright:before { content: "\f284"; } .ion-md-arrow-dropright-circle:before { content: "\f283"; } .ion-md-arrow-dropup:before { content: "\f286"; } .ion-md-arrow-dropup-circle:before { content: "\f285"; } .ion-md-arrow-forward:before { content: "\f287"; } .ion-md-arrow-round-back:before { content: "\f288"; } .ion-md-arrow-round-down:before { content: "\f289"; } .ion-md-arrow-round-forward:before { content: "\f28a"; } .ion-md-arrow-round-up:before { content: "\f28b"; } .ion-md-arrow-up:before { content: "\f28c"; } .ion-md-at:before { content: "\f28d"; } .ion-md-attach:before { content: "\f28e"; } .ion-md-backspace:before { content: "\f28f"; } .ion-md-barcode:before { content: "\f290"; } .ion-md-baseball:before { content: "\f291"; } .ion-md-basket:before { content: "\f292"; } .ion-md-basketball:before { content: "\f293"; } .ion-md-battery-charging:before { content: "\f294"; } .ion-md-battery-dead:before { content: "\f295"; } .ion-md-battery-full:before { content: "\f296"; } .ion-md-beaker:before { content: "\f297"; } .ion-md-beer:before { content: "\f298"; } .ion-md-bicycle:before { content: "\f299"; } .ion-md-bluetooth:before { content: "\f29a"; } .ion-md-boat:before { content: "\f29b"; } .ion-md-body:before { content: "\f29c"; } .ion-md-bonfire:before { content: "\f29d"; } .ion-md-book:before { content: "\f29e"; } .ion-md-bookmark:before { content: "\f29f"; } .ion-md-bookmarks:before { content: "\f2a0"; } .ion-md-bowtie:before { content: "\f2a1"; } .ion-md-briefcase:before { content: "\f2a2"; } .ion-md-browsers:before { content: "\f2a3"; } .ion-md-brush:before { content: "\f2a4"; } .ion-md-bug:before { content: "\f2a5"; } .ion-md-build:before { content: "\f2a6"; } .ion-md-bulb:before { content: "\f2a7"; } .ion-md-bus:before { content: "\f2a8"; } .ion-md-cafe:before { content: "\f2a9"; } .ion-md-calculator:before { content: "\f2aa"; } .ion-md-calendar:before { content: "\f2ab"; } .ion-md-call:before { content: "\f2ac"; } .ion-md-camera:before { content: "\f2ad"; } .ion-md-car:before { content: "\f2b2"; } .ion-md-card:before { content: "\f2b3"; } .ion-md-cart:before { content: "\f2b4"; } .ion-md-cash:before { content: "\f2b5"; } .ion-md-chatboxes:before { content: "\f2b6"; } .ion-md-chatbubbles:before { content: "\f2b7"; } .ion-md-checkbox:before { content: "\f2b9"; } .ion-md-checkbox-outline:before { content: "\f2b8"; } .ion-md-checkmark:before { content: "\f2bc"; } .ion-md-checkmark-circle:before { content: "\f2bb"; } .ion-md-checkmark-circle-outline:before { content: "\f2ba"; } .ion-md-clipboard:before { content: "\f2bd"; } .ion-md-clock:before { content: "\f2be"; } .ion-md-close:before { content: "\f2c0"; } .ion-md-close-circle:before { content: "\f2bf"; } .ion-md-closed-captioning:before { content: "\f2c1"; } .ion-md-cloud:before { content: "\f2c9"; } .ion-md-cloud-circle:before { content: "\f2c2"; } .ion-md-cloud-done:before { content: "\f2c3"; } .ion-md-cloud-download:before { content: "\f2c6"; } .ion-md-cloud-outline:before { content: "\f2c7"; } .ion-md-cloud-upload:before { content: "\f2c8"; } .ion-md-cloudy:before { content: "\f2cb"; } .ion-md-cloudy-night:before { content: "\f2ca"; } .ion-md-code:before { content: "\f2ce"; } .ion-md-code-download:before { content: "\f2cc"; } .ion-md-code-working:before { content: "\f2cd"; } .ion-md-cog:before { content: "\f2cf"; } .ion-md-color-fill:before { content: "\f2d0"; } .ion-md-color-filter:before { content: "\f2d1"; } .ion-md-color-palette:before { content: "\f2d2"; } .ion-md-color-wand:before { content: "\f2d3"; } .ion-md-compass:before { content: "\f2d4"; } .ion-md-construct:before { content: "\f2d5"; } .ion-md-contact:before { content: "\f2d6"; } .ion-md-contacts:before { content: "\f2d7"; } .ion-md-contract:before { content: "\f2d8"; } .ion-md-contrast:before { content: "\f2d9"; } .ion-md-copy:before { content: "\f2da"; } .ion-md-create:before { content: "\f2db"; } .ion-md-crop:before { content: "\f2dc"; } .ion-md-cube:before { content: "\f2dd"; } .ion-md-cut:before { content: "\f2de"; } .ion-md-desktop:before { content: "\f2df"; } .ion-md-disc:before { content: "\f2e0"; } .ion-md-document:before { content: "\f2e1"; } .ion-md-done-all:before { content: "\f2e2"; } .ion-md-download:before { content: "\f2e3"; } .ion-md-easel:before { content: "\f2e4"; } .ion-md-egg:before { content: "\f2e5"; } .ion-md-exit:before { content: "\f2e6"; } .ion-md-expand:before { content: "\f2e7"; } .ion-md-eye:before { content: "\f2e9"; } .ion-md-eye-off:before { content: "\f2e8"; } .ion-md-fastforward:before { content: "\f2ea"; } .ion-md-female:before { content: "\f2eb"; } .ion-md-filing:before { content: "\f2ec"; } .ion-md-film:before { content: "\f2ed"; } .ion-md-finger-print:before { content: "\f2ee"; } .ion-md-flag:before { content: "\f2ef"; } .ion-md-flame:before { content: "\f2f0"; } .ion-md-flash:before { content: "\f2f1"; } .ion-md-flask:before { content: "\f2f2"; } .ion-md-flower:before { content: "\f2f3"; } .ion-md-folder:before { content: "\f2f5"; } .ion-md-folder-open:before { content: "\f2f4"; } .ion-md-football:before { content: "\f2f6"; } .ion-md-funnel:before { content: "\f2f7"; } .ion-md-game-controller-a:before { content: "\f2f8"; } .ion-md-game-controller-b:before { content: "\f2f9"; } .ion-md-git-branch:before { content: "\f2fa"; } .ion-md-git-commit:before { content: "\f2fb"; } .ion-md-git-compare:before { content: "\f2fc"; } .ion-md-git-merge:before { content: "\f2fd"; } .ion-md-git-network:before { content: "\f2fe"; } .ion-md-git-pull-request:before { content: "\f2ff"; } .ion-md-glasses:before { content: "\f300"; } .ion-md-globe:before { content: "\f301"; } .ion-md-grid:before { content: "\f302"; } .ion-md-hammer:before { content: "\f303"; } .ion-md-hand:before { content: "\f304"; } .ion-md-happy:before { content: "\f305"; } .ion-md-headset:before { content: "\f306"; } .ion-md-heart:before { content: "\f308"; } .ion-md-heart-outline:before { content: "\f307"; } .ion-md-help:before { content: "\f30b"; } .ion-md-help-buoy:before { content: "\f309"; } .ion-md-help-circle:before { content: "\f30a"; } .ion-md-home:before { content: "\f30c"; } .ion-md-ice-cream:before { content: "\f30d"; } .ion-md-image:before { content: "\f30e"; } .ion-md-images:before { content: "\f30f"; } .ion-md-infinite:before { content: "\f310"; } .ion-md-information:before { content: "\f312"; } .ion-md-information-circle:before { content: "\f311"; } .ion-md-ionic:before { content: "\f313"; } .ion-md-ionitron:before { content: "\f314"; } .ion-md-jet:before { content: "\f315"; } .ion-md-key:before { content: "\f316"; } .ion-md-keypad:before { content: "\f317"; } .ion-md-laptop:before { content: "\f318"; } .ion-md-leaf:before { content: "\f319"; } .ion-md-link:before { content: "\f22e"; } .ion-md-list:before { content: "\f31b"; } .ion-md-list-box:before { content: "\f31a"; } .ion-md-locate:before { content: "\f31c"; } .ion-md-lock:before { content: "\f31d"; } .ion-md-log-in:before { content: "\f31e"; } .ion-md-log-out:before { content: "\f31f"; } .ion-md-magnet:before { content: "\f320"; } .ion-md-mail:before { content: "\f322"; } .ion-md-mail-open:before { content: "\f321"; } .ion-md-male:before { content: "\f323"; } .ion-md-man:before { content: "\f324"; } .ion-md-map:before { content: "\f325"; } .ion-md-medal:before { content: "\f326"; } .ion-md-medical:before { content: "\f327"; } .ion-md-medkit:before { content: "\f328"; } .ion-md-megaphone:before { content: "\f329"; } .ion-md-menu:before { content: "\f32a"; } .ion-md-mic:before { content: "\f32c"; } .ion-md-mic-off:before { content: "\f32b"; } .ion-md-microphone:before { content: "\f32d"; } .ion-md-moon:before { content: "\f32e"; } .ion-md-more:before { content: "\f1c9"; } .ion-md-move:before { content: "\f331"; } .ion-md-musical-note:before { content: "\f332"; } .ion-md-musical-notes:before { content: "\f333"; } .ion-md-navigate:before { content: "\f334"; } .ion-md-no-smoking:before { content: "\f335"; } .ion-md-notifications:before { content: "\f338"; } .ion-md-notifications-off:before { content: "\f336"; } .ion-md-notifications-outline:before { content: "\f337"; } .ion-md-nuclear:before { content: "\f339"; } .ion-md-nutrition:before { content: "\f33a"; } .ion-md-open:before { content: "\f33b"; } .ion-md-options:before { content: "\f33c"; } .ion-md-outlet:before { content: "\f33d"; } .ion-md-paper:before { content: "\f33f"; } .ion-md-paper-plane:before { content: "\f33e"; } .ion-md-partly-sunny:before { content: "\f340"; } .ion-md-pause:before { content: "\f341"; } .ion-md-paw:before { content: "\f342"; } .ion-md-people:before { content: "\f343"; } .ion-md-person:before { content: "\f345"; } .ion-md-person-add:before { content: "\f344"; } .ion-md-phone-landscape:before { content: "\f346"; } .ion-md-phone-portrait:before { content: "\f347"; } .ion-md-photos:before { content: "\f348"; } .ion-md-pie:before { content: "\f349"; } .ion-md-pin:before { content: "\f34a"; } .ion-md-pint:before { content: "\f34b"; } .ion-md-pizza:before { content: "\f354"; } .ion-md-plane:before { content: "\f355"; } .ion-md-planet:before { content: "\f356"; } .ion-md-play:before { content: "\f357"; } .ion-md-podium:before { content: "\f358"; } .ion-md-power:before { content: "\f359"; } .ion-md-pricetag:before { content: "\f35a"; } .ion-md-pricetags:before { content: "\f35b"; } .ion-md-print:before { content: "\f35c"; } .ion-md-pulse:before { content: "\f35d"; } .ion-md-qr-scanner:before { content: "\f35e"; } .ion-md-quote:before { content: "\f35f"; } .ion-md-radio:before { content: "\f362"; } .ion-md-radio-button-off:before { content: "\f360"; } .ion-md-radio-button-on:before { content: "\f361"; } .ion-md-rainy:before { content: "\f363"; } .ion-md-recording:before { content: "\f364"; } .ion-md-redo:before { content: "\f365"; } .ion-md-refresh:before { content: "\f366"; } .ion-md-refresh-circle:before { content: "\f228"; } .ion-md-remove:before { content: "\f368"; } .ion-md-remove-circle:before { content: "\f367"; } .ion-md-reorder:before { content: "\f369"; } .ion-md-repeat:before { content: "\f36a"; } .ion-md-resize:before { content: "\f36b"; } .ion-md-restaurant:before { content: "\f36c"; } .ion-md-return-left:before { content: "\f36d"; } .ion-md-return-right:before { content: "\f36e"; } .ion-md-reverse-camera:before { content: "\f36f"; } .ion-md-rewind:before { content: "\f370"; } .ion-md-ribbon:before { content: "\f371"; } .ion-md-rose:before { content: "\f372"; } .ion-md-sad:before { content: "\f373"; } .ion-md-school:before { content: "\f374"; } .ion-md-search:before { content: "\f375"; } .ion-md-send:before { content: "\f376"; } .ion-md-settings:before { content: "\f377"; } .ion-md-share:before { content: "\f379"; } .ion-md-share-alt:before { content: "\f378"; } .ion-md-shirt:before { content: "\f37a"; } .ion-md-shuffle:before { content: "\f37b"; } .ion-md-skip-backward:before { content: "\f37c"; } .ion-md-skip-forward:before { content: "\f37d"; } .ion-md-snow:before { content: "\f37e"; } .ion-md-speedometer:before { content: "\f37f"; } .ion-md-square:before { content: "\f381"; } .ion-md-square-outline:before { content: "\f380"; } .ion-md-star:before { content: "\f384"; } .ion-md-star-half:before { content: "\f382"; } .ion-md-star-outline:before { content: "\f383"; } .ion-md-stats:before { content: "\f385"; } .ion-md-stopwatch:before { content: "\f386"; } .ion-md-subway:before { content: "\f387"; } .ion-md-sunny:before { content: "\f388"; } .ion-md-swap:before { content: "\f389"; } .ion-md-switch:before { content: "\f38a"; } .ion-md-sync:before { content: "\f38b"; } .ion-md-tablet-landscape:before { content: "\f38c"; } .ion-md-tablet-portrait:before { content: "\f38d"; } .ion-md-tennisball:before { content: "\f38e"; } .ion-md-text:before { content: "\f38f"; } .ion-md-thermometer:before { content: "\f390"; } .ion-md-thumbs-down:before { content: "\f391"; } .ion-md-thumbs-up:before { content: "\f392"; } .ion-md-thunderstorm:before { content: "\f393"; } .ion-md-time:before { content: "\f394"; } .ion-md-timer:before { content: "\f395"; } .ion-md-train:before { content: "\f396"; } .ion-md-transgender:before { content: "\f397"; } .ion-md-trash:before { content: "\f398"; } .ion-md-trending-down:before { content: "\f399"; } .ion-md-trending-up:before { content: "\f39a"; } .ion-md-trophy:before { content: "\f39b"; } .ion-md-umbrella:before { content: "\f39c"; } .ion-md-undo:before { content: "\f39d"; } .ion-md-unlock:before { content: "\f39e"; } .ion-md-videocam:before { content: "\f39f"; } .ion-md-volume-down:before { content: "\f3a0"; } .ion-md-volume-mute:before { content: "\f3a1"; } .ion-md-volume-off:before { content: "\f3a2"; } .ion-md-volume-up:before { content: "\f3a3"; } .ion-md-walk:before { content: "\f3a4"; } .ion-md-warning:before { content: "\f3a5"; } .ion-md-watch:before { content: "\f3a6"; } .ion-md-water:before { content: "\f3a7"; } .ion-md-wifi:before { content: "\f3a8"; } .ion-md-wine:before { content: "\f3a9"; } .ion-md-woman:before { content: "\f3aa"; } @font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.woff2?v=3.0.0-alpha.3") format("woff2"), url("../fonts/ionicons.woff?v=3.0.0-alpha.3") format("woff"), url("../fonts/ionicons.ttf?v=3.0.0-alpha.3") format("truetype"); font-weight: normal; font-style: normal; } ion-icon { display: inline-block; font-family: "Ionicons"; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1; text-rendering: auto; text-transform: none; speak: none; } ion-content { color: #000; } hr { background-color: rgba(0, 0, 0, 0.08); } ion-action-sheet { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; } .action-sheet-wrapper { position: absolute; right: 0; bottom: 0; left: 0; z-index: 10; display: block; margin: auto; width: 100%; max-width: 500px; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .action-sheet-button { width: 100%; } .action-sheet-title { padding: 19px 16px 17px; font-size: 1.6rem; text-align: left; color: #757575; } .action-sheet-button { position: relative; overflow: hidden; padding: 0 16px; min-height: 4.8rem; font-size: 1.6rem; text-align: left; color: #222; background: transparent; } .action-sheet-button.activated { background: #f1f1f1; } .action-sheet-icon { margin: 0 28px 0 0; min-width: 24px; font-size: 2.4rem; text-align: center; vertical-align: middle; } .action-sheet-group { overflow: hidden; background: #fafafa; } .action-sheet-group:last-child .action-sheet-button { margin-bottom: 8px; } .action-sheet-group .button-inner { -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } .action-sheet-selected { font-weight: bold; } ion-alert { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } ion-alert input { width: 100%; } .alert-wrapper { z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; min-width: 250px; max-height: 90%; opacity: 0; } .alert-title { margin: 0; padding: 0; } .alert-sub-title { margin: 5px 0 0; padding: 0; font-weight: normal; } .alert-message { overflow-y: scroll; -webkit-overflow-scrolling: touch; } .alert-input { padding: 10px 0; border: 0; background: inherit; } .alert-input::-moz-placeholder { color: #999; } .alert-input:-ms-input-placeholder { color: #999; } .alert-input::-webkit-input-placeholder { text-indent: 0; color: #999; } .alert-button-group { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .alert-button-group.vertical { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .alert-button { z-index: 0; display: block; margin: 0; font-size: 14px; line-height: 20px; } .alert-tappable { margin: 0; padding: 0; width: 100%; font-size: inherit; line-height: initial; text-align: left; background: transparent; -webkit-appearance: none; } .alert-wrapper { max-width: 280px; border-radius: 2px; background-color: #fafafa; box-shadow: 0 16px 20px rgba(0, 0, 0, 0.4); } .alert-head { padding: 24px 24px 20px 24px; text-align: left; } .alert-title { font-size: 22px; } .alert-sub-title { font-size: 16px; } .alert-message, .alert-input-group { padding: 0 24px 24px 24px; color: rgba(0, 0, 0, 0.5); } .alert-message { max-height: 240px; font-size: 15px; } .alert-message:empty { padding: 0; } .alert-input { margin: 5px 0 5px 0; border-bottom: 1px solid #dedede; color: #000; } .alert-input:focus { margin-bottom: 4px; border-bottom: 2px solid #327eff; } .alert-radio-group, .alert-checkbox-group { position: relative; overflow: auto; max-height: 240px; border-top: 1px solid #dedede; border-bottom: 1px solid #dedede; } .alert-tappable { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; min-height: 4.4rem; } .alert-radio-label { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 13px 26px; text-overflow: ellipsis; white-space: nowrap; } .alert-radio-icon { position: relative; top: 0; left: 13px; display: block; width: 16px; height: 16px; border-width: 2px; border-style: solid; border-radius: 50%; border-color: #787878; } .alert-radio-inner { position: absolute; top: 2px; left: 2px; width: 8px; height: 8px; border-radius: 50%; background-color: #327eff; -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); -webkit-transition: -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1); } .alert-radio[aria-checked=true] .alert-radio-label { color: #327eff; } .alert-radio[aria-checked=true] .alert-radio-icon { border-color: #327eff; } .alert-radio[aria-checked=true] .alert-radio-inner { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } .alert-checkbox-label { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 13px 26px; text-overflow: ellipsis; white-space: nowrap; } .alert-checkbox[aria-checked=true] .alert-checkbox-label { color: initial; } .alert-checkbox-icon { position: relative; top: 0; left: 13px; width: 16px; height: 16px; border-width: 2px; border-style: solid; border-radius: 2px; border-color: #787878; } .alert-checkbox[aria-checked=true] .alert-checkbox-icon { border-color: #327eff; background-color: #327eff; } .alert-checkbox[aria-checked=true] .alert-checkbox-inner { position: absolute; top: 0; left: 3px; width: 6px; height: 10px; border-width: 2px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .alert-button-group { -webkit-flex-wrap: wrap-reverse; -ms-flex-wrap: wrap-reverse; flex-wrap: wrap-reverse; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; padding: 8px 8px 8px 24px; } .alert-button { position: relative; overflow: hidden; margin: 0 8px 0 0; padding: 10px; border-radius: 2px; font-weight: 500; text-align: right; text-transform: uppercase; color: #327eff; background-color: transparent; } .alert-button.activated { background-color: rgba(158, 158, 158, 0.2); } .alert-button .button-inner { -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; } ion-badge { display: inline-block; padding: 3px 8px; min-width: 10px; font-size: 1.3rem; font-weight: bold; line-height: 1; text-align: center; white-space: nowrap; vertical-align: baseline; } ion-badge:empty { display: none; } ion-badge { border-radius: 4px; color: #fff; background-color: #327eff; } .badge-primary { color: #fff; background-color: #327eff; } .badge-secondary { color: #fff; background-color: #32db64; } .badge-danger { color: #fff; background-color: #f53d3d; } .badge-light { color: #000; background-color: #f4f4f4; } .badge-dark { color: #fff; background-color: #222; } .button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; position: relative; z-index: 0; display: inline-block; overflow: hidden; text-align: center; text-overflow: ellipsis; text-transform: none; white-space: nowrap; cursor: pointer; vertical-align: top; vertical-align: -webkit-baseline-middle; -webkit-transition: background-color, opacity 100ms linear; transition: background-color, opacity 100ms linear; -webkit-font-kerning: none; font-kerning: none; } .button-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-flow: row nowrap; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; width: 100%; height: 100%; } [ion-button] { text-decoration: none; } a[disabled], button[disabled], [ion-button][disabled] { cursor: default; opacity: .4; pointer-events: none; } .button-block { display: block; clear: both; width: 100%; } .button-block::after { clear: both; } .button-full { display: block; width: 100%; } .button-full.button-outline { border-right-width: 0; border-left-width: 0; border-radius: 0; } .button { margin: 0.4rem 0.2rem; padding: 0 1.1em; height: 3.6rem; border-radius: 2px; font-size: 1.4rem; font-weight: 500; text-transform: uppercase; color: #fff; background-color: #327eff; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); -webkit-transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); } .button:hover:not(.disable-hover) { background-color: #327eff; } .button.activated { background-color: #2e74eb; box-shadow: 0 3px 5px rgba(0, 0, 0, 0.14), 0 3px 5px rgba(0, 0, 0, 0.21); } .button ion-button-effect { background-color: #fff; } .button-large { padding: 0 1em; height: 2.8em; font-size: 2rem; } .button-small { padding: 0 0.9em; height: 2.1em; font-size: 1.3rem; } .button-small[icon-only] ion-icon { font-size: 1.4em; } .button-block { margin-right: 0; margin-left: 0; } .button-full { margin-right: 0; margin-left: 0; border-right-width: 0; border-left-width: 0; border-radius: 0; } .button-outline { border-width: 1px; border-style: solid; border-color: #327eff; color: #327eff; background-color: transparent; box-shadow: none; } .button-outline:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .button-outline.activated { background-color: transparent; box-shadow: none; opacity: 1; } .button-outline ion-button-effect { background-color: #327eff; } .button-clear { border-color: transparent; color: #327eff; background-color: transparent; box-shadow: none; opacity: 1; } .button-clear.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .button-clear:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .button-clear ion-button-effect { background-color: #999; } .button-round { padding: 0 2.6rem; border-radius: 64px; } .button-fab { border-radius: 50%; box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.14), 0 4px 5px rgba(0, 0, 0, 0.1); -webkit-transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1), background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), color 300ms cubic-bezier(0.4, 0, 0.2, 1); } .button-fab.activated { box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.4), 0 4px 7px 0 rgba(0, 0, 0, 0.1); } [icon-only] { padding: 0; } ion-button-effect { position: absolute; z-index: 0; display: block; border-radius: 50%; background-color: #555; opacity: .2; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; pointer-events: none; } .button-primary { color: #fff; background-color: #327eff; } .button-primary:hover:not(.disable-hover) { background-color: #327eff; } .button-primary.activated { background-color: #2e74eb; opacity: 1; } .button-primary ion-button-effect { background-color: #fff; } .button-outline-primary { border-color: #3078f2; color: #3078f2; background-color: transparent; } .button-outline-primary:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .button-outline-primary.activated { background-color: transparent; } .button-outline-primary ion-button-effect { background-color: #3078f2; } .button-clear-primary { border-color: transparent; color: #327eff; background-color: transparent; } .button-clear-primary.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .button-clear-primary:hover:not(.disable-hover) { color: #327eff; } .button-secondary { color: #fff; background-color: #32db64; } .button-secondary:hover:not(.disable-hover) { background-color: #32db64; } .button-secondary.activated { background-color: #2ec95c; opacity: 1; } .button-secondary ion-button-effect { background-color: #fff; } .button-outline-secondary { border-color: #30d05f; color: #30d05f; background-color: transparent; } .button-outline-secondary:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .button-outline-secondary.activated { background-color: transparent; } .button-outline-secondary ion-button-effect { background-color: #30d05f; } .button-clear-secondary { border-color: transparent; color: #32db64; background-color: transparent; } .button-clear-secondary.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .button-clear-secondary:hover:not(.disable-hover) { color: #32db64; } .button-danger { color: #fff; background-color: #f53d3d; } .button-danger:hover:not(.disable-hover) { background-color: #f53d3d; } .button-danger.activated { background-color: #e13838; opacity: 1; } .button-danger ion-button-effect { background-color: #fff; } .button-outline-danger { border-color: #e93a3a; color: #e93a3a; background-color: transparent; } .button-outline-danger:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .button-outline-danger.activated { background-color: transparent; } .button-outline-danger ion-button-effect { background-color: #e93a3a; } .button-clear-danger { border-color: transparent; color: #f53d3d; background-color: transparent; } .button-clear-danger.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .button-clear-danger:hover:not(.disable-hover) { color: #f53d3d; } .button-light { color: #000; background-color: #f4f4f4; } .button-light:hover:not(.disable-hover) { background-color: #f4f4f4; } .button-light.activated { background-color: #e0e0e0; opacity: 1; } .button-light ion-button-effect { background-color: #000; } .button-outline-light { border-color: #e8e8e8; color: #e8e8e8; background-color: transparent; } .button-outline-light:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .button-outline-light.activated { background-color: transparent; } .button-outline-light ion-button-effect { background-color: #e8e8e8; } .button-clear-light { border-color: transparent; color: #f4f4f4; background-color: transparent; } .button-clear-light.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .button-clear-light:hover:not(.disable-hover) { color: #f4f4f4; } .button-dark { color: #fff; background-color: #222; } .button-dark:hover:not(.disable-hover) { background-color: #222; } .button-dark.activated { background-color: #343434; opacity: 1; } .button-dark ion-button-effect { background-color: #fff; } .button-outline-dark { border-color: #2d2d2d; color: #2d2d2d; background-color: transparent; } .button-outline-dark:hover:not(.disable-hover) { background-color: rgba(158, 158, 158, 0.1); } .button-outline-dark.activated { background-color: transparent; } .button-outline-dark ion-button-effect { background-color: #2d2d2d; } .button-clear-dark { border-color: transparent; color: #222; background-color: transparent; } .button-clear-dark.activated { background-color: rgba(158, 158, 158, 0.2); box-shadow: none; } .button-clear-dark:hover:not(.disable-hover) { color: #222; } .button-fab { position: absolute; overflow: hidden; width: 56px; min-width: 0; height: 56px; font-size: 14px; line-height: 56px; vertical-align: middle; background-clip: padding-box; } .button-fab ion-icon { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; font-size: 2.8rem; } [fab-center] { left: 50%; margin-left: -28px; } [fab-top] { top: 16px; } [fab-right] { right: 16px; } [fab-bottom] { bottom: 16px; } [fab-left] { left: 16px; } [fab-fixed] { position: fixed; } [icon-left] ion-icon { font-size: 1.4em; line-height: .67; pointer-events: none; padding-right: .3em; } [icon-right] ion-icon { font-size: 1.4em; line-height: .67; pointer-events: none; padding-left: .4em; } [icon-only] { padding: 0; min-width: .9em; } [icon-only] ion-icon { padding: 0 .5em; font-size: 1.8em; line-height: .67; pointer-events: none; } ion-card { display: block; overflow: hidden; } ion-card img { display: block; width: 100%; } ion-card-header { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } ion-card-content { display: block; } ion-card { margin: 10px 10px 10px 10px; width: calc(100% - 20px); border-radius: 2px; font-size: 1.4rem; background: #fff; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } ion-card ion-list { margin-bottom: 0; } ion-card > .item:last-child, ion-card > .item-wrapper:last-child .item { border-bottom: 0; } ion-card .item .item-inner { border: 0; } ion-card ion-card-content { padding: 13px 16px 13px 16px; font-size: 1.4rem; line-height: 1.5; } ion-card ion-card-header { padding: 16px; font-size: 1.6rem; color: #222; } ion-card ion-card-header + ion-card-content, ion-card .item + ion-card-content { padding-top: 0; } ion-card ion-note[item-left], ion-card ion-note[item-right] { font-size: 1.3rem; } ion-card ion-card-title { display: block; margin: 2px 0 2px; padding: 8px 0 8px 0; font-size: 2.4rem; line-height: 1.2; color: #222; } ion-card h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; color: #222; } ion-card h2 { margin: 2px 0; font-size: 1.6rem; font-weight: normal; color: #222; } ion-card h3, ion-card h4, ion-card h5, ion-card h6 { margin: 2px 0; font-size: 1.4rem; font-weight: normal; color: #222; } ion-card p { margin: 0 0 2px; font-size: 1.4rem; font-weight: normal; line-height: 1.5; color: #222; } ion-card + ion-card { margin-top: 0; } ion-checkbox { position: relative; display: inline-block; } .checkbox-icon { position: relative; width: 16px; height: 16px; border-width: 2px; border-style: solid; border-radius: 2px; border-color: #787878; background-color: #fff; -webkit-transition-duration: 280ms; transition-duration: 280ms; -webkit-transition-property: background; transition-property: background; -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } .checkbox-checked { border-color: #327eff; background-color: #327eff; } .checkbox-checked .checkbox-inner { position: absolute; top: 0; left: 4px; width: 5px; height: 10px; border-width: 2px; border-top-width: 0; border-left-width: 0; border-style: solid; border-color: #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .checkbox-disabled, .item-checkbox-disabled ion-label { opacity: 0.3; pointer-events: none; } .item ion-checkbox { position: static; display: block; margin: 9px 36px 9px 4px; } .item ion-checkbox[item-right] { margin: 11px 10px 10px 0; } ion-checkbox + .item-inner ion-label { margin-left: 0; } .checkbox-primary .checkbox-checked { border-color: #327eff; background-color: #327eff; } .checkbox-primary .checkbox-checked .checkbox-inner { border-color: #fff; } .checkbox-secondary .checkbox-checked { border-color: #32db64; background-color: #32db64; } .checkbox-secondary .checkbox-checked .checkbox-inner { border-color: #fff; } .checkbox-danger .checkbox-checked { border-color: #f53d3d; background-color: #f53d3d; } .checkbox-danger .checkbox-checked .checkbox-inner { border-color: #fff; } .checkbox-light .checkbox-checked { border-color: #f4f4f4; background-color: #f4f4f4; } .checkbox-light .checkbox-checked .checkbox-inner { border-color: #000; } .checkbox-dark .checkbox-checked { border-color: #222; background-color: #222; } .checkbox-dark .checkbox-checked .checkbox-inner { border-color: #fff; } ion-chip { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; font-weight: normal; vertical-align: middle; box-sizing: border-box; } ion-chip .button { margin: 0; width: 32px; height: 32px; border-radius: 50%; } ion-chip ion-icon { width: 32px; height: 32px; border-radius: 50%; font-size: 18px; line-height: 32px; } ion-chip ion-avatar { width: 32px; min-width: 32px; height: 32px; min-height: 32px; border-radius: 50%; } ion-chip ion-avatar img { display: block; width: 100%; max-width: 100%; height: 100%; max-height: 100%; border-radius: 50%; } ion-chip { margin: 2px 0; height: 32px; border-radius: 16px; font-size: 13px; line-height: 32px; color: rgba(0, 0, 0, 0.87); background: rgba(0, 0, 0, 0.12); } ion-chip > ion-label { margin: 0 10px; } ion-chip > ion-icon { color: #fff; background-color: #327eff; } .chip-primary, ion-chip .icon-primary { color: #fff; background-color: #327eff; } .chip-secondary, ion-chip .icon-secondary { color: #fff; background-color: #32db64; } .chip-danger, ion-chip .icon-danger { color: #fff; background-color: #f53d3d; } .chip-light, ion-chip .icon-light { color: #000; background-color: #f4f4f4; } .chip-dark, ion-chip .icon-dark { color: #fff; background-color: #222; } [no-padding], [no-padding] scroll-content { padding: 0; } [no-margin], [no-margin] scroll-content { margin: 0; } ion-fixed { position: absolute; z-index: 2; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-content { background-color: #fff; } [padding], [padding] scroll-content { padding: 16px; } [padding-top], [padding-top] scroll-content { padding-top: 16px; } [padding-left], [padding-left] scroll-content { padding-left: 16px; } [padding-right], [padding-right] scroll-content { padding-right: 16px; } [padding-bottom], [padding-bottom] scroll-content { padding-bottom: 16px; } [padding-vertical], [padding-vertical] scroll-content { padding-top: 16px; padding-bottom: 16px; } [padding-horizontal], [padding-horizontal] scroll-content { padding-right: 16px; padding-left: 16px; } [margin], [margin] scroll-content { margin: 16px; } [margin-top], [margin-top] scroll-content { margin-top: 16px; } [margin-left], [margin-left] scroll-content { margin-left: 16px; } [margin-right], [margin-right] scroll-content { margin-right: 16px; } [margin-bottom], [margin-bottom] scroll-content { margin-bottom: 16px; } [margin-vertical], [margin-vertical] scroll-content { margin-top: 16px; margin-bottom: 16px; } [margin-horizontal], [margin-horizontal] scroll-content { margin-right: 16px; margin-left: 16px; } ion-datetime { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; } .datetime-text { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 16px; min-height: 1.2em; font-size: inherit; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; } .datetime-disabled, .item-datetime-disabled ion-label { opacity: .4; pointer-events: none; } .item-label-stacked ion-datetime, .item-label-floating ion-datetime { padding-left: 0; width: 100%; } ion-datetime { padding: 13px 8px 13px 16px; } ion-icon { display: inline-block; font-size: 1.2em; } ion-icon[small] { min-height: 1.1em; font-size: 1.1em; } .icon-primary { color: #327eff; } .icon-secondary { color: #32db64; } .icon-danger { color: #f53d3d; } .icon-light { color: #f4f4f4; } .icon-dark { color: #222; } ion-input, ion-textarea { position: relative; display: block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } .item-input ion-input, .item-input ion-textarea { position: static; } .item.item-textarea { -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; } .text-input { display: inline-block; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 92%; width: calc(100% - 10px); border: 0; border-radius: 0; background: transparent; -webkit-appearance: none; } .text-input::-moz-placeholder { color: #999; } .text-input:-ms-input-placeholder { color: #999; } .text-input::-webkit-input-placeholder { text-indent: 0; color: #999; } textarea.text-input { display: block; } .text-input[disabled] { opacity: .4; } input.text-input:-webkit-autofill { background-color: transparent; } .platform-mobile textarea.text-input { resize: none; } .input-cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .input-has-focus .input-cover { display: none; } .input-has-focus { pointer-events: none; } .input-has-focus input, .input-has-focus textarea, .input-has-focus a, .input-has-focus button { pointer-events: auto; } [next-input] { position: absolute; bottom: 1px; padding: 0; width: 1px; height: 1px; border: 0; background: transparent; pointer-events: none; } .text-input-clear-icon { position: absolute; top: 0; display: none; margin: 0; padding: 0; height: 100%; background-repeat: no-repeat; background-position: center; } .input-has-focus.input-has-value .text-input-clear-icon { display: block; } .text-input.cloned-input { position: relative; top: 0; pointer-events: none; } .item-input:not(.item-label-floating) .text-input.cloned-active { display: none; } .text-input { margin: 13px 8px 13px 8px; padding: 0; width: calc(100% - 8px - 8px); } .inset-input { margin: 6.5px 16px 6.5px 16px; padding: 6.5px 8px 6.5px 8px; } .item-input.input-has-focus .item-inner { border-bottom-color: #327eff; box-shadow: inset 0 -1px 0 0 #327eff; } ion-list .item-input.input-has-focus:last-child { border-bottom-color: #327eff; box-shadow: inset 0 -1px 0 0 #327eff; } ion-list .item-input.input-has-focus:last-child .item-inner { box-shadow: none; } .item-input.ng-valid.input-has-value:not(.input-has-focus) .item-inner { border-bottom-color: #32db64; box-shadow: inset 0 -1px 0 0 #32db64; } ion-list .item-input.ng-valid.input-has-value:not(.input-has-focus):last-child { border-bottom-color: #32db64; box-shadow: inset 0 -1px 0 0 #32db64; } ion-list .item-input.ng-valid.input-has-value:not(.input-has-focus):last-child .item-inner { box-shadow: none; } .item-input.ng-invalid.ng-touched:not(.input-has-focus) .item-inner { border-bottom-color: #f53d3d; box-shadow: inset 0 -1px 0 0 #f53d3d; } ion-list .item-input.ng-invalid.ng-touched:not(.input-has-focus):last-child { border-bottom-color: #f53d3d; box-shadow: inset 0 -1px 0 0 #f53d3d; } ion-list .item-input.ng-invalid.ng-touched:not(.input-has-focus):last-child .item-inner { box-shadow: none; } .item-label-stacked .text-input, .item-label-floating .text-input { margin-top: 8px; margin-bottom: 8px; margin-left: 0; width: calc(100% - 8px); } .item-label-stacked ion-select, .item-label-floating ion-select { padding-top: 8px; padding-bottom: 8px; padding-left: 0; } .item-label-floating .text-input.cloned-input { top: 32px; } .item-label-stacked .text-input.cloned-input { top: 27px; } ion-input[clearInput] { position: relative; } ion-input[clearInput] .text-input { padding-right: 30px; } .text-input-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); right: 8px; width: 30px; background-size: 22px; } .item { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 4.4rem; border: 0; font-weight: normal; line-height: normal; text-align: initial; text-decoration: none; color: inherit; } .item-inner { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; margin: 0; padding: 0; min-height: inherit; border: 0; } .input-wrapper { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: inherit; -ms-flex-direction: inherit; flex-direction: inherit; -webkit-box-align: inherit; -webkit-align-items: inherit; -ms-flex-align: inherit; align-items: inherit; -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; text-overflow: ellipsis; } .item[no-lines], .item[no-lines] .item-inner { border: 0; } ion-item-group { display: block; } ion-item-divider { z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 30px; } ion-item-divider[sticky] { position: -webkit-sticky; position: sticky; top: 0; } [vertical-align-top], ion-input.item { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; } .item > ion-icon[small]:first-child, .item-inner > ion-icon[small]:first-child { min-width: 18px; } .item > ion-icon:first-child, .item-inner > ion-icon:first-child { min-width: 24px; text-align: center; } .item > ion-icon, .item-inner > ion-icon { min-height: 2.4rem; font-size: 2.4rem; line-height: 1; } .item > ion-icon[large], .item-inner > ion-icon[large] { min-height: 3.2rem; font-size: 3.2rem; } .item > ion-icon[small], .item-inner > ion-icon[small] { min-height: 1.8rem; font-size: 1.8rem; } ion-avatar, ion-thumbnail { display: block; line-height: 1; } ion-avatar img, ion-thumbnail img { display: block; } .item-cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent; cursor: pointer; } ion-item-sliding { position: relative; display: block; overflow: hidden; width: 100%; } ion-item-sliding .item { position: static; } ion-item-options { position: absolute; top: 0; right: 0; z-index: 1; display: none; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; height: 100%; font-size: 14px; visibility: hidden; } ion-item-options[side=left] { right: auto; left: 0; -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } ion-item-options .button { margin: 0; padding: 0 .7em; height: 100%; border-radius: 0; box-shadow: none; box-sizing: content-box; } ion-item-options:not([icon-left]) .button .button-inner { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } ion-item-options:not([icon-left]) .button ion-icon { padding-right: 0; padding-bottom: .3em; padding-left: 0; } ion-item-sliding.active-slide .item, ion-item-sliding.active-slide .item.activated { position: relative; z-index: 2; opacity: 1; -webkit-transition: -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); transition: transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1); pointer-events: none; will-change: transform; } ion-item-sliding.active-slide ion-item-options { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } ion-item-sliding.active-slide.active-options-left ion-item-options[side=left] { width: 100%; visibility: visible; } ion-item-sliding.active-slide.active-options-right ion-item-options:not([side=left]) { width: 100%; visibility: visible; } .button-expandable { -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; -webkit-transition-duration: 0; transition-duration: 0; -webkit-transition-property: none; transition-property: none; -webkit-transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1); transition-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1); } ion-item-sliding.active-swipe-right .button-expandable { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; padding-left: 90%; -webkit-transition-duration: .6s; transition-duration: .6s; -webkit-transition-property: padding-left; transition-property: padding-left; } ion-item-sliding.active-swipe-left .button-expandable { -webkit-box-ordinal-group: 0; -webkit-order: -1; -ms-flex-order: -1; order: -1; padding-right: 90%; -webkit-transition-duration: .6s; transition-duration: .6s; -webkit-transition-property: padding-right; transition-property: padding-right; } ion-reorder { display: none; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; max-width: 40px; height: 100%; font-size: 1.7em; opacity: .25; -webkit-transform: translate3d(120%, 0, 0); transform: translate3d(120%, 0, 0); -webkit-transition: -webkit-transform 125ms ease-in; transition: transform 125ms ease-in; pointer-events: all; -ms-touch-action: manipulation; touch-action: manipulation; } ion-reorder ion-icon { pointer-events: none; } .reorder-enabled ion-reorder { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } .reorder-visible ion-reorder { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .reorder-list-active .item, .reorder-list-active .item-wrapper { -webkit-transition: -webkit-transform 300ms; transition: transform 300ms; will-change: transform; } .reorder-list-active .item-inner { pointer-events: none; } .item-wrapper.reorder-active, .item.reorder-active, .reorder-active { z-index: 4; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); opacity: .8; -webkit-transition: none; transition: none; pointer-events: none; } .item { position: relative; padding-right: 0; padding-left: 16px; font-size: 1.6rem; font-weight: normal; text-transform: none; color: #000; background-color: #fff; box-shadow: none; -webkit-transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 300ms; transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), transform 300ms; } .item h1 { margin: 0 0 2px; font-size: 2.4rem; font-weight: normal; } .item h2 { margin: 2px 0; font-size: 1.6rem; font-weight: normal; } .item h3, .item h4, .item h5, .item h6 { margin: 2px 0; font-size: 1.4rem; font-weight: normal; line-height: normal; } .item p { overflow: inherit; margin: 0 0 2px; font-size: 1.4rem; line-height: normal; text-overflow: inherit; color: #666; } .item.activated { background-color: #f1f1f1; } .item[no-lines] { border-width: 0; } .item .item-inner { padding-right: 8px; border-bottom: 1px solid #dedede; } [item-left], [item-right] { margin: 9px 8px 9px 0; } ion-icon[item-left], ion-icon[item-right] { margin-top: 11px; margin-bottom: 10px; margin-left: 0; } .item-button { padding: 0 .6em; height: 25px; font-size: 1.2rem; } .item-button[icon-only] ion-icon, .item-button[icon-only] { padding: 0 1px; } ion-icon[item-left] + .item-inner, ion-icon[item-left] + .item-input { margin-left: 24px; } ion-avatar[item-left], ion-thumbnail[item-left] { margin: 8px 16px 8px 0; } ion-avatar[item-right], ion-thumbnail[item-right] { margin: 8px; } ion-avatar { min-width: 4rem; min-height: 4rem; } ion-avatar img { max-width: 4rem; max-height: 4rem; border-radius: 2rem; } ion-thumbnail { min-width: 8rem; min-height: 8rem; } ion-thumbnail img { max-width: 8rem; max-height: 8rem; } ion-note { color: #c5c5c5; } ion-item-group .item:first-child .item-inner { border-top-width: 0; } ion-item-group .item:last-child .item-inner, ion-item-group .item-wrapper:last-child .item-inner { border: 0; } ion-item-divider { padding-left: 16px; color: #222; background-color: #fff; } .item .text-primary { color: #327eff; } .item-primary { color: #fff; background-color: #327eff; } .item .text-secondary { color: #32db64; } .item-secondary { color: #fff; background-color: #32db64; } .item .text-danger { color: #f53d3d; } .item-danger { color: #fff; background-color: #f53d3d; } .item .text-light { color: #f4f4f4; } .item-light { color: #000; background-color: #f4f4f4; } .item .text-dark { color: #222; } .item-dark { color: #fff; background-color: #222; } ion-item-sliding { background-color: #fff; } ion-reorder { font-size: 1.5em; opacity: .3; } ion-label { display: block; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; margin: 0; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; } .item-input ion-label { -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; max-width: 200px; pointer-events: none; } [text-wrap] ion-label { white-space: normal; } ion-label[fixed] { -webkit-box-flex: 0; -webkit-flex: 0 0 100px; -ms-flex: 0 0 100px; flex: 0 0 100px; width: 100px; min-width: 100px; max-width: 200px; } .item-label-stacked ion-label, .item-label-floating ion-label { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; width: auto; max-width: 100%; } ion-label[stacked], ion-label[floating] { margin-bottom: 0; } .item-label-stacked .input-wrapper, .item-label-floating .input-wrapper { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .item-label-stacked ion-select, .item-label-floating ion-select { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; max-width: 100%; } .item-select ion-label[floating] { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } ion-label { margin: 13px 8px 13px 0; } [text-wrap] ion-label { font-size: 1.4rem; line-height: 1.5; } .item-input ion-label, .item-select ion-label, .item-datetime ion-label { color: #999; } ion-label[stacked] { font-size: 1.2rem; } ion-label[floating] { -webkit-transform: translate3d(0, 27px, 0); transform: translate3d(0, 27px, 0); -webkit-transform-origin: left top; transform-origin: left top; -webkit-transition: -webkit-transform 150ms ease-in-out; transition: transform 150ms ease-in-out; } ion-label[stacked], ion-label[floating] { margin-bottom: 0; margin-left: 0; } .input-has-focus ion-label[stacked], .input-has-focus ion-label[floating] { color: #327eff; } .input-has-focus ion-label[floating], .input-has-value ion-label[floating] { -webkit-transform: translate3d(0, 0, 0) scale(0.8); transform: translate3d(0, 0, 0) scale(0.8); } .item-label-stacked [item-right], .item-label-floating [item-right] { margin-top: 7px; margin-bottom: 7px; } .label-primary, .item-input .label-primary, .item-select .label-primary, .item-datetime .label-primary { color: #327eff; } .label-secondary, .item-input .label-secondary, .item-select .label-secondary, .item-datetime .label-secondary { color: #32db64; } .label-danger, .item-input .label-danger, .item-select .label-danger, .item-datetime .label-danger { color: #f53d3d; } .label-light, .item-input .label-light, .item-select .label-light, .item-datetime .label-light { color: #f4f4f4; } .label-dark, .item-input .label-dark, .item-select .label-dark, .item-datetime .label-dark { color: #222; } ion-list-header { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin: 0; padding: 0; width: 100%; min-height: 4rem; } ion-list { display: block; margin: 0; padding: 0; list-style-type: none; } ion-list[inset] { overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-list-header, ion-item-divider { margin-left: 0; padding-left: 16px; border-bottom: 1px solid #dedede; font-size: 1.4rem; color: #858585; } ion-list { margin: 0 0 16px 0; } ion-list .item .item-inner { border-bottom: 1px solid #dedede; } ion-list > .item:first-child, ion-list > .item-wrapper:first-child .item { border-top: 1px solid #dedede; } ion-list > .item:last-child, ion-list > .item-wrapper:last-child .item { border-bottom: 1px solid #dedede; } ion-list > .item:last-child ion-label, ion-list > .item:last-child .item-inner, ion-list > .item-wrapper:last-child ion-label, ion-list > .item-wrapper:last-child .item-inner { border-bottom: 0; } ion-list > ion-input:last-child::after { left: 0; } ion-list ion-item-options { border-bottom: 1px solid #dedede; } ion-list ion-item-options button, ion-list ion-item-options [button] { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; margin: 1px 0; height: calc(100% - 2px); border: 0; border-radius: 0; box-shadow: none; box-sizing: border-box; } ion-list ion-item-options button::before, ion-list ion-item-options [button]::before { margin: 0 auto; } ion-list .item[no-lines], ion-list .item[no-lines] .item-inner { border-width: 0; } ion-list + ion-list ion-list-header { margin-top: -16px; padding-top: 0; } ion-list[inset] { margin: 16px 16px 16px 16px; border-radius: 2px; } ion-list[inset] .item:first-child { border-top-width: 0; border-top-left-radius: 2px; border-top-right-radius: 2px; } ion-list[inset] .item:last-child { border-bottom-width: 0; border-bottom-left-radius: 2px; border-bottom-right-radius: 2px; } ion-list[inset] .item-input { padding-right: 0; padding-left: 0; } ion-list[inset] + ion-list[inset] { margin-top: 0; } ion-list[inset] ion-list-header { background-color: #fff; } ion-list[no-lines] .item, ion-list[no-lines] ion-item-options, ion-list[no-lines] .item .item-inner { border-width: 0; } ion-loading { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .loading-wrapper { z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; opacity: 0; } .loading-wrapper { padding: 24px; max-width: 280px; max-height: 90%; border-radius: 2px; color: rgba(0, 0, 0, 0.5); background: #fafafa; box-shadow: 0 16px 20px rgba(0, 0, 0, 0.4); } .loading-spinner + .loading-content { margin-left: 16px; } .loading-spinner .spinner-ios line, .loading-spinner .spinner-ios-small line { stroke: #327eff; } .loading-spinner .spinner-bubbles circle { fill: #327eff; } .loading-spinner .spinner-circles circle { fill: #327eff; } .loading-spinner .spinner-crescent circle { stroke: #327eff; } .loading-spinner .spinner-dots circle { fill: #327eff; } .menu-inner { background: #fff; } .menu-content-reveal { box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); } .menu-content-push { box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); } ion-menu[type=overlay] .menu-inner { box-shadow: 0 0 10px rgba(0, 0, 0, 0.25); } .modal-wrapper { opacity: .01; -webkit-transform: translate3d(0, 40px, 0); transform: translate3d(0, 40px, 0); } ion-picker-cmp { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; } .picker-toolbar { z-index: 1; } .picker-wrapper { position: absolute; right: 0; bottom: 0; left: 0; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; margin: auto; width: 100%; max-width: 500px; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .picker-columns { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .picker-col { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; max-height: 100%; } .picker-opts { position: relative; width: 100%; min-width: 50px; max-width: 100%; } .picker-prefix { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 50px; min-width: 45%; text-align: right; white-space: nowrap; } .picker-suffix { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 50px; min-width: 45%; text-align: left; white-space: nowrap; } .picker-opt { position: absolute; top: 0; left: 0; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; width: 100%; } .picker-opt .button-inner { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; -webkit-transition: opacity 150ms ease-in-out; transition: opacity 150ms ease-in-out; } .picker-opt.picker-opt-disabled { pointer-events: none; } .picker-opt-disabled .button-inner { opacity: 0; } .picker-opts-left .button-inner { -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; } .picker-opts-right .button-inner { -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; } .picker-above-highlight, .picker-below-highlight { display: none; pointer-events: none; } .picker-wrapper { height: 260px; border-top: 1px solid #dedede; background: #fff; } .picker-toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; height: 44px; background: #fff; } .hairlines .picker-wrapper, .hairlines .picker-toolbar { border-width: 0.55px; } .picker-button, .picker-button.activated { margin: 0; height: 44px; color: #327eff; background: transparent; box-shadow: none; } .picker-columns { height: 216px; -webkit-perspective: 1800px; perspective: 1800px; } .picker-col { padding: 0 8px; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .picker-prefix, .picker-suffix, .picker-opts { top: 77px; font-size: 18px; line-height: 42px; color: #000; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; pointer-events: none; } .picker-opts ion-button-effect { display: none; } .picker-opt { margin: 0; padding: 0; font-size: 18px; line-height: 42px; background: transparent; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; pointer-events: auto; } .picker-opt .button-inner { -webkit-transition: 200ms; transition: 200ms; } .picker-prefix, .picker-suffix, .picker-opt-selected { font-size: 22px; color: #327eff; } .picker-above-highlight { position: absolute; top: 0; left: 0; z-index: 10; width: 100%; height: 81px; border-bottom: 1px solid #dedede; background: -webkit-linear-gradient(top, white 20%, rgba(255, 255, 255, 0.7) 100%); background: linear-gradient(to bottom, white 20%, rgba(255, 255, 255, 0.7) 100%); -webkit-transform: translate3d(0, 0, 90px); transform: translate3d(0, 0, 90px); } .picker-below-highlight { position: absolute; top: 115px; left: 0; z-index: 11; width: 100%; height: 119px; border-top: 1px solid #dedede; background: -webkit-linear-gradient(bottom, white 30%, rgba(255, 255, 255, 0.7) 100%); background: linear-gradient(to top, white 30%, rgba(255, 255, 255, 0.7) 100%); -webkit-transform: translate3d(0, 0, 90px); transform: translate3d(0, 0, 90px); } ion-popover { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .popover-wrapper { z-index: 10; opacity: 0; } .popover-content { position: absolute; z-index: 10; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: auto; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .popover-content scroll-content { position: relative; } .popover-content { width: 250px; min-width: 0; min-height: 0; max-height: 90%; border-radius: 2px; color: #000; background: #fafafa; box-shadow: 0 3px 12px 2px rgba(0, 0, 0, 0.3); -webkit-transform-origin: top left; transform-origin: top left; } .popover-content ion-content { background: #fafafa; } .popover-content .item { background-color: #fafafa; } .popover-viewport { opacity: 0; -webkit-transition-delay: 100ms; transition-delay: 100ms; } ion-radio { position: relative; display: inline-block; } .radio-icon { position: relative; top: 0; left: 0; display: block; margin: 0; width: 16px; height: 16px; border-width: 2px; border-style: solid; border-radius: 50%; border-color: #787878; } .radio-inner { position: absolute; top: 2px; left: 2px; width: 8px; height: 8px; border-radius: 50%; background-color: #327eff; -webkit-transform: scale3d(0, 0, 0); transform: scale3d(0, 0, 0); -webkit-transition: -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1); } .radio-checked { border-color: #327eff; } .radio-checked .radio-inner { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } .radio-disabled, .item-radio-disabled ion-label { opacity: 0.3; pointer-events: none; } .item ion-radio { position: static; display: block; margin: 9px 10px 9px 0; } .item ion-radio[item-left] { margin: 11px 36px 10px 4px; } .item-radio ion-label { margin-left: 0; } .item-radio-checked ion-label { color: #327eff; } .item-radio-primary.item-radio-checked ion-label { color: #327eff; } .radio-primary .radio-checked { border-color: #327eff; } .radio-primary .radio-inner { background-color: #327eff; } .item-radio-secondary.item-radio-checked ion-label { color: #32db64; } .radio-secondary .radio-checked { border-color: #32db64; } .radio-secondary .radio-inner { background-color: #32db64; } .item-radio-danger.item-radio-checked ion-label { color: #f53d3d; } .radio-danger .radio-checked { border-color: #f53d3d; } .radio-danger .radio-inner { background-color: #f53d3d; } .item-radio-light.item-radio-checked ion-label { color: #f4f4f4; } .radio-light .radio-checked { border-color: #f4f4f4; } .radio-light .radio-inner { background-color: #f4f4f4; } .item-radio-dark.item-radio-checked ion-label { color: #222; } .radio-dark .radio-checked { border-color: #222; } .radio-dark .radio-inner { background-color: #222; } .item-range .item-inner { overflow: visible; } .item-range .input-wrapper { overflow: visible; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .item-range ion-range { width: 100%; } .item-range ion-range ion-label { -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; } ion-range { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } ion-range ion-label { -webkit-box-flex: initial; -webkit-flex: initial; -ms-flex: initial; flex: initial; } ion-range ion-icon { min-height: 2.4rem; font-size: 2.4rem; line-height: 1; } .range-slider { position: relative; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; cursor: pointer; } ion-range { padding: 8px 8px; } [range-left], [range-right] { margin: 0 12px; } [range-left] { margin-left: 0; } [range-right] { margin-right: 0; } .range-has-pin { padding-top: 28px; } .range-slider { height: 42px; } .range-bar { position: absolute; top: 21px; left: 0; width: 100%; height: 2px; background: #bdbdbd; pointer-events: none; } .range-pressed .range-bar-active { will-change: left, right; } .range-pressed .range-knob-handle { will-change: left; } .range-bar-active { bottom: 0; width: auto; background: #327eff; } .range-knob-handle { position: absolute; top: 21px; left: 0%; margin-top: -21px; margin-left: -21px; width: 42px; height: 42px; text-align: center; } .range-knob { position: absolute; top: 13px; left: 12px; z-index: 2; width: 18px; height: 18px; border-radius: 50%; background: #327eff; -webkit-transform: scale(0.67); transform: scale(0.67); -webkit-transition-duration: 120ms; transition-duration: 120ms; -webkit-transition-property: -webkit-transform, background-color, border; transition-property: transform, background-color, border; -webkit-transition-timing-function: ease; transition-timing-function: ease; pointer-events: none; } .range-tick { position: absolute; top: 21px; z-index: 1; margin-left: -1px; width: 2px; height: 2px; border-radius: 50%; background: #000; pointer-events: none; } .range-tick-active { background: #000; } .range-pin { position: relative; top: -20px; display: inline-block; padding: 8px 0; min-width: 28px; height: 28px; border-radius: 50%; font-size: 12px; text-align: center; color: #fff; background: #327eff; -webkit-transform: translate3d(0, 28px, 0) scale(0.01); transform: translate3d(0, 28px, 0) scale(0.01); -webkit-transition: -webkit-transform 120ms ease, background-color 120ms ease; transition: transform 120ms ease, background-color 120ms ease; } .range-pin::before { position: absolute; top: 3px; left: 50%; z-index: -1; margin-left: -13px; width: 26px; height: 26px; border-radius: 50% 50% 50% 0; background: #327eff; content: ""; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); -webkit-transition: background-color 120ms ease; transition: background-color 120ms ease; } .range-knob-pressed .range-pin { -webkit-transform: translate3d(0, 0, 0) scale(1); transform: translate3d(0, 0, 0) scale(1); } ion-range:not(.range-has-pin) .range-knob-pressed .range-knob { -webkit-transform: scale(1); transform: scale(1); } .range-knob-min .range-knob { border: 2px solid #bdbdbd; background: #fff; } .range-knob-min .range-pin, .range-knob-min .range-pin::before { color: #fff; background: #bdbdbd; } .range-disabled .range-bar-active { background-color: #bdbdbd; } .range-disabled .range-knob { outline: 5px solid #fff; background-color: #bdbdbd; -webkit-transform: scale(0.55); transform: scale(0.55); } .range-primary .range-knob-min .range-knob { border: 2px solid #bdbdbd; background: #fff; } .range-primary .range-knob-min .range-pin, .range-primary .range-knob-min .range-pin::before { color: #fff; background: #bdbdbd; } .range-primary .range-bar-active, .range-primary .range-knob, .range-primary .range-pin, .range-primary .range-pin::before { background: #327eff; } .range-secondary .range-knob-min .range-knob { border: 2px solid #bdbdbd; background: #fff; } .range-secondary .range-knob-min .range-pin, .range-secondary .range-knob-min .range-pin::before { color: #fff; background: #bdbdbd; } .range-secondary .range-bar-active, .range-secondary .range-knob, .range-secondary .range-pin, .range-secondary .range-pin::before { background: #32db64; } .range-danger .range-knob-min .range-knob { border: 2px solid #bdbdbd; background: #fff; } .range-danger .range-knob-min .range-pin, .range-danger .range-knob-min .range-pin::before { color: #fff; background: #bdbdbd; } .range-danger .range-bar-active, .range-danger .range-knob, .range-danger .range-pin, .range-danger .range-pin::before { background: #f53d3d; } .range-light .range-knob-min .range-knob { border: 2px solid #bdbdbd; background: #fff; } .range-light .range-knob-min .range-pin, .range-light .range-knob-min .range-pin::before { color: #fff; background: #bdbdbd; } .range-light .range-bar-active, .range-light .range-knob, .range-light .range-pin, .range-light .range-pin::before { background: #f4f4f4; } .range-dark .range-knob-min .range-knob { border: 2px solid #bdbdbd; background: #fff; } .range-dark .range-knob-min .range-pin, .range-dark .range-knob-min .range-pin::before { color: #fff; background: #bdbdbd; } .range-dark .range-bar-active, .range-dark .range-knob, .range-dark .range-pin, .range-dark .range-pin::before { background: #222; } ion-searchbar { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; width: 100%; } .searchbar-icon { pointer-events: none; } .searchbar-input-container { position: relative; display: block; -webkit-flex-shrink: 1; -ms-flex-negative: 1; flex-shrink: 1; width: 100%; } .searchbar-input { -webkit-appearance: none; -moz-appearance: none; display: block; width: 100%; border: 0; font-family: inherit; } .searchbar-clear-icon { display: none; margin: 0; padding: 0; min-height: 0; } .searchbar-has-value.searchbar-has-focus .searchbar-clear-icon { display: block; } ion-searchbar { padding: 8px; background: inherit; } .searchbar-search-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); top: 11px; left: 16px; width: 21px; height: 21px; } .searchbar-md-cancel { top: 0; left: 10px; display: none; margin: 0; width: 21px; height: 100%; } .searchbar-search-icon, .searchbar-md-cancel { position: absolute; background-repeat: no-repeat; background-size: 20px; } .searchbar-search-icon.activated, .searchbar-md-cancel.activated { background-color: transparent; } .searchbar-input { padding: 6px 55px; height: auto; border-radius: 2px; font-size: 1.6rem; font-weight: 400; line-height: 3rem; color: #141414; background-color: #fff; background-position: 8px center; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } .searchbar-input::-moz-placeholder { color: #aeaeae; } .searchbar-input:-ms-input-placeholder { color: #aeaeae; } .searchbar-input::-webkit-input-placeholder { text-indent: 0; color: #aeaeae; } .searchbar-clear-icon { background-image: url("data:image/svg+xml;charset=utf-8,"); position: absolute; top: 0; right: 13px; padding: 0; width: 22px; height: 100%; background-repeat: no-repeat; background-position: center; background-size: 22px; } .searchbar-clear-icon.activated { background-color: transparent; } .searchbar-has-focus.searchbar-show-cancel .searchbar-search-icon { display: none; } .searchbar-has-focus.searchbar-show-cancel .searchbar-md-cancel { display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; } .toolbar ion-searchbar { padding: 3px; } .toolbar .searchbar-md-cancel { left: 14px; } .searchbar-ios-cancel { display: none; } ion-segment { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; width: 100%; } .segment-button { position: relative; display: block; overflow: hidden; margin-right: 0; margin-left: 0; text-align: center; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; } .segment-button { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; padding: 0 6px; width: 0; height: 4.2rem; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: rgba(0, 0, 0, 0.1); font-size: 1.2rem; font-weight: 500; line-height: 4rem; text-transform: uppercase; color: #327eff; background-color: transparent; opacity: 0.7; -webkit-transition: 100ms all linear; transition: 100ms all linear; } .segment-button ion-icon { font-size: 2.6rem; line-height: 4rem; } .segment-button.activated, .segment-button.segment-activated { border-color: #327eff; opacity: 1; } .segment-button-disabled { opacity: 0.3; pointer-events: none; } .toolbar ion-segment { margin: 0 auto; } .toolbar .segment-button.activated, .toolbar .segment-button.segment-activated { opacity: 1; } .segment-primary .segment-button { color: #327eff; } .segment-primary .segment-button.activated, .segment-primary .segment-button.segment-activated { border-color: #327eff; color: #327eff; opacity: 1; } .segment-secondary .segment-button { color: #32db64; } .segment-secondary .segment-button.activated, .segment-secondary .segment-button.segment-activated { border-color: #32db64; color: #32db64; opacity: 1; } .segment-danger .segment-button { color: #f53d3d; } .segment-danger .segment-button.activated, .segment-danger .segment-button.segment-activated { border-color: #f53d3d; color: #f53d3d; opacity: 1; } .segment-light .segment-button { color: #f4f4f4; } .segment-light .segment-button.activated, .segment-light .segment-button.segment-activated { border-color: #f4f4f4; color: #f4f4f4; opacity: 1; } .segment-dark .segment-button { color: #222; } .segment-dark .segment-button.activated, .segment-dark .segment-button.segment-activated { border-color: #222; color: #222; opacity: 1; } ion-select { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; max-width: 45%; } .select-text { overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 16px; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; } .item-multiple-inputs ion-select { position: relative; } .select-disabled, .item-select-disabled ion-label { opacity: .4; pointer-events: none; } ion-select { padding: 13px 8px 13px 16px; } .select-placeholder { color: #999; } .item-select ion-label { margin-left: 0; } .select-icon { position: relative; width: 12px; height: 19px; } .select-icon .select-icon-inner { position: absolute; top: 50%; left: 5px; margin-top: -3px; width: 0; height: 0; border-top: 5px solid; border-right: 5px solid transparent; border-left: 5px solid transparent; color: #999; pointer-events: none; } ion-spinner { position: relative; display: inline-block; width: 28px; height: 28px; } ion-spinner svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-spinner.spinner-paused svg { -webkit-animation-play-state: paused; animation-play-state: paused; } .spinner-ios line, .spinner-ios-small line { stroke: #69717d; stroke-width: 4px; stroke-linecap: round; } .spinner-ios svg, .spinner-ios-small svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .spinner-bubbles circle { fill: #000; } .spinner-bubbles svg { -webkit-animation: spinner-scale-out 1s linear infinite; animation: spinner-scale-out 1s linear infinite; } .spinner-circles circle { fill: #69717d; } .spinner-circles svg { -webkit-animation: spinner-fade-out 1s linear infinite; animation: spinner-fade-out 1s linear infinite; } .spinner-crescent circle { fill: transparent; stroke: #000; stroke-width: 4px; stroke-dasharray: 128px; stroke-dashoffset: 82px; } .spinner-crescent svg { -webkit-animation: spinner-rotate 1s linear infinite; animation: spinner-rotate 1s linear infinite; } .spinner-dots circle { fill: #444; stroke-width: 0; } .spinner-dots svg { -webkit-transform-origin: center; transform-origin: center; -webkit-animation: spinner-dots 1s linear infinite; animation: spinner-dots 1s linear infinite; } @keyframes spinner-fade-out { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes spinner-scale-out { 0% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } 100% { -webkit-transform: scale(0, 0); transform: scale(0, 0); } } @keyframes spinner-rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spinner-dots { 0% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } 50% { opacity: .3; -webkit-transform: scale(0.4, 0.4); transform: scale(0.4, 0.4); } 100% { opacity: .9; -webkit-transform: scale(1, 1); transform: scale(1, 1); } } .spinner-primary.spinner-ios line, .spinner-primary.spinner-ios-small line, .spinner-primary.spinner-crescent circle { stroke: #327eff; } .spinner-primary.spinner-bubbles circle, .spinner-primary.spinner-circles circle, .spinner-primary.spinner-dots circle { fill: #327eff; } .spinner-secondary.spinner-ios line, .spinner-secondary.spinner-ios-small line, .spinner-secondary.spinner-crescent circle { stroke: #32db64; } .spinner-secondary.spinner-bubbles circle, .spinner-secondary.spinner-circles circle, .spinner-secondary.spinner-dots circle { fill: #32db64; } .spinner-danger.spinner-ios line, .spinner-danger.spinner-ios-small line, .spinner-danger.spinner-crescent circle { stroke: #f53d3d; } .spinner-danger.spinner-bubbles circle, .spinner-danger.spinner-circles circle, .spinner-danger.spinner-dots circle { fill: #f53d3d; } .spinner-light.spinner-ios line, .spinner-light.spinner-ios-small line, .spinner-light.spinner-crescent circle { stroke: #f4f4f4; } .spinner-light.spinner-bubbles circle, .spinner-light.spinner-circles circle, .spinner-light.spinner-dots circle { fill: #f4f4f4; } .spinner-dark.spinner-ios line, .spinner-dark.spinner-ios-small line, .spinner-dark.spinner-crescent circle { stroke: #222; } .spinner-dark.spinner-bubbles circle, .spinner-dark.spinner-circles circle, .spinner-dark.spinner-dots circle { fill: #222; } .tab-button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; position: relative; z-index: 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; margin: 0; border: 0; border-radius: 0; text-align: center; text-decoration: none; background: none; cursor: pointer; } .tab-disabled { pointer-events: none; } .tab-disabled ion-badge, .tab-disabled ion-icon, .tab-disabled span { opacity: .4; } .tab-hidden { display: none; } .tab-button-text { margin-top: 3px; margin-bottom: 2px; } .tab-button-text, .tab-button-icon { display: none; overflow: hidden; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; min-width: 26px; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; } .has-icon .tab-button-icon, .has-title .tab-button-text { display: block; } .has-title-only .tab-button-text { white-space: normal; } tab-highlight { display: none; } [tabsLayout=icon-bottom] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; } [tabsLayout=icon-left] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } [tabsLayout=icon-left] .tab-button .tab-button-icon { padding-right: 8px; text-align: right; } [tabsLayout=icon-right] .tab-button { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } [tabsLayout=icon-right] .tab-button .tab-button-icon { -webkit-box-ordinal-group: 11; -webkit-order: 10; -ms-flex-order: 10; order: 10; padding-left: 8px; text-align: left; } [tabsLayout=icon-hide] .tab-button-icon { display: none; } [tabsLayout=title-hide] .tab-button-text { display: none; } .tab-badge { position: absolute; top: 6%; right: 4%; right: calc(50% - 50px); padding: 1px 6px; height: auto; font-size: 12px; line-height: 16px; } .has-icon .tab-badge { right: calc(50% - 30px); } [tabsLayout=icon-bottom] .tab-badge, [tabsLayout=icon-left] .tab-badge, [tabsLayout=icon-right] .tab-badge { right: calc(50% - 50px); } ion-tabbar { background: #f8f8f8; } .tab-button { padding: 8px 0 10px 0; min-height: 5.6rem; font-weight: normal; color: rgba(140, 140, 140, 0.7); } .tab-button[aria-selected=true] { padding: 6px 0 10px 0; font-size: 1.4rem; color: #327eff; } .tab-button-text { margin: 6px 0; text-transform: none; -webkit-transform: scale(0.85); transform: scale(0.85); -webkit-transform-origin: bottom center; transform-origin: bottom center; -webkit-transition: -webkit-transform 200ms ease-in-out; transition: transform 200ms ease-in-out; } .tab-button[aria-selected=true] .tab-button-text { margin: 7px 0; -webkit-transform: scale(1); transform: scale(1); } .tab-button-icon { min-width: 7.4rem; font-size: 2.4rem; } [tabsLayout=icon-top] .has-icon .tab-button-text { margin-bottom: 0; } [tabsLayout=icon-bottom] .tab-button { padding-top: 8px; padding-bottom: 8px; } [tabsLayout=icon-bottom] .tab-button .tab-button-text { margin-top: 0; } [tabsLayout=icon-right] .tab-button, [tabsLayout=icon-left] .tab-button { padding-bottom: 10px; } [tabsLayout=icon-right] .tab-button ion-icon, [tabsLayout=icon-left] .tab-button ion-icon { min-width: 24px; } [tabsLayout=icon-hide] .tab-button, [tabsLayout=title-hide] .tab-button, .tab-button.icon-only, .tab-button.has-title-only { padding: 6px 10px; } [tabsHighlight=true] tab-highlight { position: absolute; bottom: 0; left: 0; display: block; width: 1px; height: 2px; background: #327eff; -webkit-transform: translateZ(0); transform: translateZ(0); -webkit-transform-origin: 0 0; transform-origin: 0 0; } [tabsHighlight=true] tab-highlight.animate { -webkit-transition-duration: 300ms; transition-duration: 300ms; } [tabsHighlight=true][tabsPlacement=bottom] tab-highlight { top: 0; } .tabs-primary ion-tabbar { background-color: #327eff; } .tabs-primary ion-tabbar .tab-button { color: rgba(255, 255, 255, 0.7); } .tabs-primary ion-tabbar .tab-button:hover:not(.disable-hover), .tabs-primary ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .tabs-primary ion-tabbar tab-highlight { background: #fff; } .tabs-secondary ion-tabbar { background-color: #32db64; } .tabs-secondary ion-tabbar .tab-button { color: rgba(255, 255, 255, 0.7); } .tabs-secondary ion-tabbar .tab-button:hover:not(.disable-hover), .tabs-secondary ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .tabs-secondary ion-tabbar tab-highlight { background: #fff; } .tabs-danger ion-tabbar { background-color: #f53d3d; } .tabs-danger ion-tabbar .tab-button { color: rgba(255, 255, 255, 0.7); } .tabs-danger ion-tabbar .tab-button:hover:not(.disable-hover), .tabs-danger ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .tabs-danger ion-tabbar tab-highlight { background: #fff; } .tabs-light ion-tabbar { background-color: #f4f4f4; } .tabs-light ion-tabbar .tab-button { color: rgba(0, 0, 0, 0.7); } .tabs-light ion-tabbar .tab-button:hover:not(.disable-hover), .tabs-light ion-tabbar .tab-button[aria-selected=true] { color: #000; } .tabs-light ion-tabbar tab-highlight { background: #000; } .tabs-dark ion-tabbar { background-color: #222; } .tabs-dark ion-tabbar .tab-button { color: rgba(255, 255, 255, 0.7); } .tabs-dark ion-tabbar .tab-button:hover:not(.disable-hover), .tabs-dark ion-tabbar .tab-button[aria-selected=true] { color: #fff; } .tabs-dark ion-tabbar tab-highlight { background: #fff; } ion-toggle { position: relative; } .toggle-icon { position: relative; display: block; width: 36px; height: 14px; border-radius: 14px; background-color: #dedede; -webkit-transition: background-color 300ms; transition: background-color 300ms; pointer-events: none; } .toggle-inner { position: absolute; top: -3px; left: 0; width: 20px; height: 20px; border-radius: 50%; background-color: #fff; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); -webkit-transition-duration: 300ms; transition-duration: 300ms; -webkit-transition-property: -webkit-transform, background-color; transition-property: transform, background-color; } .toggle-checked { background-color: #b2ceff; } .toggle-checked .toggle-inner { background-color: #327eff; -webkit-transform: translate3d(16px, 0, 0); transform: translate3d(16px, 0, 0); } .toggle-disabled, .item-toggle-disabled ion-label { opacity: 0.3; pointer-events: none; } .toggle-disabled ion-radio { opacity: 0.3; } .item ion-toggle { margin: 0; padding: 12px 8px 12px 16px; cursor: pointer; } .item ion-toggle[item-left] { padding: 12px 18px 12px 2px; } .item-toggle ion-label { margin-left: 0; } .toggle-primary .toggle-checked { background-color: #b2ceff; } .toggle-primary .toggle-checked .toggle-inner { background-color: #327eff; } .toggle-secondary .toggle-checked { background-color: #9eeeb6; } .toggle-secondary .toggle-checked .toggle-inner { background-color: #32db64; } .toggle-danger .toggle-checked { background-color: #fbb6b6; } .toggle-danger .toggle-checked .toggle-inner { background-color: #f53d3d; } .toggle-light .toggle-checked { background-color: white; } .toggle-light .toggle-checked .toggle-inner { background-color: #f4f4f4; } .toggle-dark .toggle-checked { background-color: #626262; } .toggle-dark .toggle-checked .toggle-inner { background-color: #222; } ion-toast { position: absolute; top: 0; left: 0; z-index: 1000; display: block; width: 100%; height: 100%; pointer-events: none; } .toast-container { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; pointer-events: auto; } .toast-button { padding: 19px 16px 17px; font-size: 1.5rem; } .toast-message { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; } .toast-wrapper { position: absolute; right: 0; left: 0; z-index: 10; display: block; margin: auto; width: 100%; max-width: 700px; background: #333; } .toast-wrapper.toast-top { top: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } .toast-wrapper.toast-bottom { bottom: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .toast-wrapper.toast-middle { opacity: .01; } .toast-message { padding: 19px 16px 17px; font-size: 1.5rem; color: #fff; } .toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; overflow: hidden; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; width: 100%; } .toolbar-background { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; border: 0; -webkit-transform: translateZ(0); transform: translateZ(0); pointer-events: none; } ion-title { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-transform: translateZ(0); transform: translateZ(0); } .toolbar-title { display: block; overflow: hidden; width: 100%; text-overflow: ellipsis; white-space: nowrap; } ion-buttons { display: block; margin: 0 .2rem; -webkit-transform: translateZ(0); transform: translateZ(0); pointer-events: none; } ion-buttons button, ion-buttons a, ion-buttons input, ion-buttons textarea, ion-buttons div { pointer-events: auto; } .toolbar[transparent] .toolbar-background { border-color: transparent; background: transparent; } ion-buttons, .bar-button-menutoggle { z-index: 99; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-navbar.toolbar { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; opacity: 0; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-navbar.toolbar.show-navbar { opacity: 1; } .bar-button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: none; position: relative; display: inline-block; margin: 0; padding: 0; line-height: 1; text-align: center; text-overflow: ellipsis; text-transform: none; white-space: nowrap; cursor: pointer; vertical-align: top; vertical-align: -webkit-baseline-middle; } .bar-button::after { position: absolute; top: -7px; right: -2px; bottom: -6px; left: -2px; content: ""; } .bar-button-menutoggle { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .back-button { display: none; } .back-button.show-back-button { display: inline-block; } .back-button-text { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .toolbar { padding: 4px; min-height: 5.6rem; } .toolbar-background { border-color: #b2b2b2; background: #f8f8f8; } ion-header::after, [tabsPlacement="top"] > ion-tabbar::after, ion-footer::before, [tabsPlacement="bottom"] > ion-tabbar::before { position: absolute; bottom: -5px; left: 0; width: 100%; height: 5px; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==); background-repeat: repeat-x; background-position: 0 -2px; content: ""; } ion-footer::before, [tabsPlacement="bottom"] > ion-tabbar::before { top: -2px; bottom: auto; height: 2px; background-position: 0 0; } ion-header[no-shadow]::after, ion-footer[no-shadow]::before, [tabsPlacement="top"][no-shadow] > ion-tabbar::after, [tabsPlacement="bottom"][no-shadow] > ion-tabbar::before { display: none; } .toolbar-content { -webkit-box-flex: 1; -webkit-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-ordinal-group: 4; -webkit-order: 3; -ms-flex-order: 3; order: 3; min-width: 0; max-width: 100%; } .toolbar-title { padding: 0 12px; font-size: 2rem; font-weight: 500; color: #424242; } ion-buttons { -webkit-box-ordinal-group: 5; -webkit-order: 4; -ms-flex-order: 4; order: 4; -webkit-transform: translateZ(0); transform: translateZ(0); } ion-buttons[left] { -webkit-box-ordinal-group: 3; -webkit-order: 2; -ms-flex-order: 2; order: 2; } ion-buttons[left] .bar-button:first-child { margin-left: 0; } ion-buttons[end] { -webkit-box-ordinal-group: 6; -webkit-order: 5; -ms-flex-order: 5; order: 5; text-align: right; } ion-buttons[right] { -webkit-box-ordinal-group: 7; -webkit-order: 6; -ms-flex-order: 6; order: 6; text-align: right; } .bar-button { margin-top: 0; margin-right: .2rem; margin-bottom: 0; margin-left: .2rem; padding: 0 5px; height: 32px; border: 0; border-radius: 2px; font-size: 1.4rem; font-weight: 500; text-transform: uppercase; } .bar-button-solid, .bar-button-outline { overflow: hidden; } .bar-button-outline { border-width: 1px; border-style: solid; border-color: #424242; color: #424242; background-color: transparent; } .bar-button-outline:hover:not(.disable-hover) { opacity: .4; } .bar-button-outline.activated { background-color: transparent; } .bar-button-outline ion-button-effect { background-color: #424242; } .bar-button-solid { color: #fff; background-color: #424242; } .bar-button-solid:hover:not(.disable-hover) { color: #fff; } .bar-button-solid.activated { color: #fff; background-color: #515151; } .bar-button-icon-left ion-icon { padding-right: .3em; font-size: 1.4em; line-height: .67; pointer-events: none; } .bar-button-icon-right ion-icon { padding-left: .4em; font-size: 1.4em; line-height: .67; pointer-events: none; } .bar-button[icon-only] { padding: 0; } .bar-button[icon-only] ion-icon { padding: 0 .1em; min-width: 28px; font-size: 1.8em; line-height: .67; pointer-events: none; } .back-button { margin: 0 6px; min-width: 44px; box-shadow: none; } .back-button-icon { margin: 0; padding: 0 6px; font-size: 2.4rem; font-weight: normal; text-align: left; } .bar-button-menutoggle { -webkit-box-ordinal-group: 2; -webkit-order: 1; -ms-flex-order: 1; order: 1; margin: 0 6px; padding: 0 2px; min-width: 44px; } .bar-button-menutoggle ion-icon { padding: 0 6px; font-size: 2.4rem; } .bar-button-menutoggle[end], .bar-button-menutoggle[right] { -webkit-box-ordinal-group: 8; -webkit-order: 7; -ms-flex-order: 7; order: 7; margin: 0 2px; min-width: 28px; } .bar-button-clear-default, .bar-button-default { color: #424242; background-color: transparent; } .bar-button-clear-default:hover:not(.disable-hover), .bar-button-default:hover:not(.disable-hover) { color: #424242; } .bar-button-clear-clear, .bar-button-clear { color: #424242; background-color: transparent; } .bar-button-clear-clear:hover:not(.disable-hover), .bar-button-clear:hover:not(.disable-hover) { color: #424242; } .toolbar-primary .toolbar-background { background: #327eff; } .toolbar-primary .bar-button-clear, .toolbar-primary .bar-button-default, .toolbar-primary .bar-button-outline, .toolbar-primary .toolbar-title { color: #fff; } .toolbar-primary .bar-button-clear ion-button-effect, .toolbar-primary .bar-button-default ion-button-effect, .toolbar-primary .bar-button-outline ion-button-effect { background-color: #fff; } .toolbar-primary .bar-button-outline { border-color: #fff; } .toolbar-primary .bar-button-clear-primary, .toolbar-primary .bar-button-primary { color: #327eff; background-color: transparent; } .toolbar-primary .bar-button-clear-primary:hover:not(.disable-hover), .toolbar-primary .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .toolbar-primary .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .toolbar-primary .bar-button-outline-primary.activated { background-color: transparent; } .toolbar-primary .bar-button-outline-primary ion-button-effect { background-color: #2e74eb; } .toolbar-primary .bar-button-solid-primary { color: #fff; background-color: #327eff; } .toolbar-primary .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .toolbar-primary .bar-button-clear-secondary, .toolbar-primary .bar-button-secondary { color: #32db64; background-color: transparent; } .toolbar-primary .bar-button-clear-secondary:hover:not(.disable-hover), .toolbar-primary .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .toolbar-primary .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .toolbar-primary .bar-button-outline-secondary.activated { background-color: transparent; } .toolbar-primary .bar-button-outline-secondary ion-button-effect { background-color: #2ec95c; } .toolbar-primary .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .toolbar-primary .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .toolbar-primary .bar-button-clear-danger, .toolbar-primary .bar-button-danger { color: #f53d3d; background-color: transparent; } .toolbar-primary .bar-button-clear-danger:hover:not(.disable-hover), .toolbar-primary .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .toolbar-primary .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .toolbar-primary .bar-button-outline-danger.activated { background-color: transparent; } .toolbar-primary .bar-button-outline-danger ion-button-effect { background-color: #e13838; } .toolbar-primary .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .toolbar-primary .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .toolbar-primary .bar-button-clear-light, .toolbar-primary .bar-button-light { color: #f4f4f4; background-color: transparent; } .toolbar-primary .bar-button-clear-light:hover:not(.disable-hover), .toolbar-primary .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .toolbar-primary .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .toolbar-primary .bar-button-outline-light.activated { background-color: transparent; } .toolbar-primary .bar-button-outline-light ion-button-effect { background-color: #e0e0e0; } .toolbar-primary .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .toolbar-primary .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .toolbar-primary .bar-button-clear-dark, .toolbar-primary .bar-button-dark { color: #222; background-color: transparent; } .toolbar-primary .bar-button-clear-dark:hover:not(.disable-hover), .toolbar-primary .bar-button-dark:hover:not(.disable-hover) { color: #222; } .toolbar-primary .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .toolbar-primary .bar-button-outline-dark.activated { background-color: transparent; } .toolbar-primary .bar-button-outline-dark ion-button-effect { background-color: #343434; } .toolbar-primary .bar-button-solid-dark { color: #fff; background-color: #222; } .toolbar-primary .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .bar-button-clear-primary, .bar-button-primary { color: #327eff; background-color: transparent; } .bar-button-clear-primary:hover:not(.disable-hover), .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .bar-button-outline-primary.activated { background-color: transparent; } .bar-button-outline-primary ion-button-effect { background-color: #2e74eb; } .bar-button-solid-primary { color: #fff; background-color: #327eff; } .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .toolbar-secondary .toolbar-background { background: #32db64; } .toolbar-secondary .bar-button-clear, .toolbar-secondary .bar-button-default, .toolbar-secondary .bar-button-outline, .toolbar-secondary .toolbar-title { color: #fff; } .toolbar-secondary .bar-button-clear ion-button-effect, .toolbar-secondary .bar-button-default ion-button-effect, .toolbar-secondary .bar-button-outline ion-button-effect { background-color: #fff; } .toolbar-secondary .bar-button-outline { border-color: #fff; } .toolbar-secondary .bar-button-clear-primary, .toolbar-secondary .bar-button-primary { color: #327eff; background-color: transparent; } .toolbar-secondary .bar-button-clear-primary:hover:not(.disable-hover), .toolbar-secondary .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .toolbar-secondary .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .toolbar-secondary .bar-button-outline-primary.activated { background-color: transparent; } .toolbar-secondary .bar-button-outline-primary ion-button-effect { background-color: #2e74eb; } .toolbar-secondary .bar-button-solid-primary { color: #fff; background-color: #327eff; } .toolbar-secondary .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .toolbar-secondary .bar-button-clear-secondary, .toolbar-secondary .bar-button-secondary { color: #32db64; background-color: transparent; } .toolbar-secondary .bar-button-clear-secondary:hover:not(.disable-hover), .toolbar-secondary .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .toolbar-secondary .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .toolbar-secondary .bar-button-outline-secondary.activated { background-color: transparent; } .toolbar-secondary .bar-button-outline-secondary ion-button-effect { background-color: #2ec95c; } .toolbar-secondary .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .toolbar-secondary .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .toolbar-secondary .bar-button-clear-danger, .toolbar-secondary .bar-button-danger { color: #f53d3d; background-color: transparent; } .toolbar-secondary .bar-button-clear-danger:hover:not(.disable-hover), .toolbar-secondary .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .toolbar-secondary .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .toolbar-secondary .bar-button-outline-danger.activated { background-color: transparent; } .toolbar-secondary .bar-button-outline-danger ion-button-effect { background-color: #e13838; } .toolbar-secondary .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .toolbar-secondary .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .toolbar-secondary .bar-button-clear-light, .toolbar-secondary .bar-button-light { color: #f4f4f4; background-color: transparent; } .toolbar-secondary .bar-button-clear-light:hover:not(.disable-hover), .toolbar-secondary .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .toolbar-secondary .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .toolbar-secondary .bar-button-outline-light.activated { background-color: transparent; } .toolbar-secondary .bar-button-outline-light ion-button-effect { background-color: #e0e0e0; } .toolbar-secondary .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .toolbar-secondary .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .toolbar-secondary .bar-button-clear-dark, .toolbar-secondary .bar-button-dark { color: #222; background-color: transparent; } .toolbar-secondary .bar-button-clear-dark:hover:not(.disable-hover), .toolbar-secondary .bar-button-dark:hover:not(.disable-hover) { color: #222; } .toolbar-secondary .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .toolbar-secondary .bar-button-outline-dark.activated { background-color: transparent; } .toolbar-secondary .bar-button-outline-dark ion-button-effect { background-color: #343434; } .toolbar-secondary .bar-button-solid-dark { color: #fff; background-color: #222; } .toolbar-secondary .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .bar-button-clear-secondary, .bar-button-secondary { color: #32db64; background-color: transparent; } .bar-button-clear-secondary:hover:not(.disable-hover), .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .bar-button-outline-secondary.activated { background-color: transparent; } .bar-button-outline-secondary ion-button-effect { background-color: #2ec95c; } .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .toolbar-danger .toolbar-background { background: #f53d3d; } .toolbar-danger .bar-button-clear, .toolbar-danger .bar-button-default, .toolbar-danger .bar-button-outline, .toolbar-danger .toolbar-title { color: #fff; } .toolbar-danger .bar-button-clear ion-button-effect, .toolbar-danger .bar-button-default ion-button-effect, .toolbar-danger .bar-button-outline ion-button-effect { background-color: #fff; } .toolbar-danger .bar-button-outline { border-color: #fff; } .toolbar-danger .bar-button-clear-primary, .toolbar-danger .bar-button-primary { color: #327eff; background-color: transparent; } .toolbar-danger .bar-button-clear-primary:hover:not(.disable-hover), .toolbar-danger .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .toolbar-danger .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .toolbar-danger .bar-button-outline-primary.activated { background-color: transparent; } .toolbar-danger .bar-button-outline-primary ion-button-effect { background-color: #2e74eb; } .toolbar-danger .bar-button-solid-primary { color: #fff; background-color: #327eff; } .toolbar-danger .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .toolbar-danger .bar-button-clear-secondary, .toolbar-danger .bar-button-secondary { color: #32db64; background-color: transparent; } .toolbar-danger .bar-button-clear-secondary:hover:not(.disable-hover), .toolbar-danger .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .toolbar-danger .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .toolbar-danger .bar-button-outline-secondary.activated { background-color: transparent; } .toolbar-danger .bar-button-outline-secondary ion-button-effect { background-color: #2ec95c; } .toolbar-danger .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .toolbar-danger .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .toolbar-danger .bar-button-clear-danger, .toolbar-danger .bar-button-danger { color: #f53d3d; background-color: transparent; } .toolbar-danger .bar-button-clear-danger:hover:not(.disable-hover), .toolbar-danger .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .toolbar-danger .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .toolbar-danger .bar-button-outline-danger.activated { background-color: transparent; } .toolbar-danger .bar-button-outline-danger ion-button-effect { background-color: #e13838; } .toolbar-danger .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .toolbar-danger .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .toolbar-danger .bar-button-clear-light, .toolbar-danger .bar-button-light { color: #f4f4f4; background-color: transparent; } .toolbar-danger .bar-button-clear-light:hover:not(.disable-hover), .toolbar-danger .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .toolbar-danger .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .toolbar-danger .bar-button-outline-light.activated { background-color: transparent; } .toolbar-danger .bar-button-outline-light ion-button-effect { background-color: #e0e0e0; } .toolbar-danger .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .toolbar-danger .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .toolbar-danger .bar-button-clear-dark, .toolbar-danger .bar-button-dark { color: #222; background-color: transparent; } .toolbar-danger .bar-button-clear-dark:hover:not(.disable-hover), .toolbar-danger .bar-button-dark:hover:not(.disable-hover) { color: #222; } .toolbar-danger .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .toolbar-danger .bar-button-outline-dark.activated { background-color: transparent; } .toolbar-danger .bar-button-outline-dark ion-button-effect { background-color: #343434; } .toolbar-danger .bar-button-solid-dark { color: #fff; background-color: #222; } .toolbar-danger .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .bar-button-clear-danger, .bar-button-danger { color: #f53d3d; background-color: transparent; } .bar-button-clear-danger:hover:not(.disable-hover), .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .bar-button-outline-danger.activated { background-color: transparent; } .bar-button-outline-danger ion-button-effect { background-color: #e13838; } .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .toolbar-light .toolbar-background { background: #f4f4f4; } .toolbar-light .bar-button-clear, .toolbar-light .bar-button-default, .toolbar-light .bar-button-outline, .toolbar-light .toolbar-title { color: #424242; } .toolbar-light .bar-button-clear ion-button-effect, .toolbar-light .bar-button-default ion-button-effect, .toolbar-light .bar-button-outline ion-button-effect { background-color: #424242; } .toolbar-light .bar-button-outline { border-color: #424242; } .toolbar-light .bar-button-clear-primary, .toolbar-light .bar-button-primary { color: #327eff; background-color: transparent; } .toolbar-light .bar-button-clear-primary:hover:not(.disable-hover), .toolbar-light .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .toolbar-light .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .toolbar-light .bar-button-outline-primary.activated { background-color: transparent; } .toolbar-light .bar-button-outline-primary ion-button-effect { background-color: #2e74eb; } .toolbar-light .bar-button-solid-primary { color: #fff; background-color: #327eff; } .toolbar-light .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .toolbar-light .bar-button-clear-secondary, .toolbar-light .bar-button-secondary { color: #32db64; background-color: transparent; } .toolbar-light .bar-button-clear-secondary:hover:not(.disable-hover), .toolbar-light .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .toolbar-light .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .toolbar-light .bar-button-outline-secondary.activated { background-color: transparent; } .toolbar-light .bar-button-outline-secondary ion-button-effect { background-color: #2ec95c; } .toolbar-light .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .toolbar-light .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .toolbar-light .bar-button-clear-danger, .toolbar-light .bar-button-danger { color: #f53d3d; background-color: transparent; } .toolbar-light .bar-button-clear-danger:hover:not(.disable-hover), .toolbar-light .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .toolbar-light .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .toolbar-light .bar-button-outline-danger.activated { background-color: transparent; } .toolbar-light .bar-button-outline-danger ion-button-effect { background-color: #e13838; } .toolbar-light .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .toolbar-light .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .toolbar-light .bar-button-clear-light, .toolbar-light .bar-button-light { color: #f4f4f4; background-color: transparent; } .toolbar-light .bar-button-clear-light:hover:not(.disable-hover), .toolbar-light .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .toolbar-light .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .toolbar-light .bar-button-outline-light.activated { background-color: transparent; } .toolbar-light .bar-button-outline-light ion-button-effect { background-color: #e0e0e0; } .toolbar-light .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .toolbar-light .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .toolbar-light .bar-button-clear-dark, .toolbar-light .bar-button-dark { color: #222; background-color: transparent; } .toolbar-light .bar-button-clear-dark:hover:not(.disable-hover), .toolbar-light .bar-button-dark:hover:not(.disable-hover) { color: #222; } .toolbar-light .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .toolbar-light .bar-button-outline-dark.activated { background-color: transparent; } .toolbar-light .bar-button-outline-dark ion-button-effect { background-color: #343434; } .toolbar-light .bar-button-solid-dark { color: #fff; background-color: #222; } .toolbar-light .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .bar-button-clear-light, .bar-button-light { color: #f4f4f4; background-color: transparent; } .bar-button-clear-light:hover:not(.disable-hover), .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .bar-button-outline-light.activated { background-color: transparent; } .bar-button-outline-light ion-button-effect { background-color: #e0e0e0; } .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .toolbar-dark .toolbar-background { background: #222; } .toolbar-dark .bar-button-clear, .toolbar-dark .bar-button-default, .toolbar-dark .bar-button-outline, .toolbar-dark .toolbar-title { color: #fff; } .toolbar-dark .bar-button-clear ion-button-effect, .toolbar-dark .bar-button-default ion-button-effect, .toolbar-dark .bar-button-outline ion-button-effect { background-color: #fff; } .toolbar-dark .bar-button-outline { border-color: #fff; } .toolbar-dark .bar-button-clear-primary, .toolbar-dark .bar-button-primary { color: #327eff; background-color: transparent; } .toolbar-dark .bar-button-clear-primary:hover:not(.disable-hover), .toolbar-dark .bar-button-primary:hover:not(.disable-hover) { color: #327eff; } .toolbar-dark .bar-button-outline-primary { border-color: #2e74eb; color: #2e74eb; background-color: transparent; } .toolbar-dark .bar-button-outline-primary.activated { background-color: transparent; } .toolbar-dark .bar-button-outline-primary ion-button-effect { background-color: #2e74eb; } .toolbar-dark .bar-button-solid-primary { color: #fff; background-color: #327eff; } .toolbar-dark .bar-button-solid-primary.activated { color: #fff; background-color: #2e74eb; } .toolbar-dark .bar-button-clear-secondary, .toolbar-dark .bar-button-secondary { color: #32db64; background-color: transparent; } .toolbar-dark .bar-button-clear-secondary:hover:not(.disable-hover), .toolbar-dark .bar-button-secondary:hover:not(.disable-hover) { color: #32db64; } .toolbar-dark .bar-button-outline-secondary { border-color: #2ec95c; color: #2ec95c; background-color: transparent; } .toolbar-dark .bar-button-outline-secondary.activated { background-color: transparent; } .toolbar-dark .bar-button-outline-secondary ion-button-effect { background-color: #2ec95c; } .toolbar-dark .bar-button-solid-secondary { color: #fff; background-color: #32db64; } .toolbar-dark .bar-button-solid-secondary.activated { color: #fff; background-color: #2ec95c; } .toolbar-dark .bar-button-clear-danger, .toolbar-dark .bar-button-danger { color: #f53d3d; background-color: transparent; } .toolbar-dark .bar-button-clear-danger:hover:not(.disable-hover), .toolbar-dark .bar-button-danger:hover:not(.disable-hover) { color: #f53d3d; } .toolbar-dark .bar-button-outline-danger { border-color: #e13838; color: #e13838; background-color: transparent; } .toolbar-dark .bar-button-outline-danger.activated { background-color: transparent; } .toolbar-dark .bar-button-outline-danger ion-button-effect { background-color: #e13838; } .toolbar-dark .bar-button-solid-danger { color: #fff; background-color: #f53d3d; } .toolbar-dark .bar-button-solid-danger.activated { color: #fff; background-color: #e13838; } .toolbar-dark .bar-button-clear-light, .toolbar-dark .bar-button-light { color: #f4f4f4; background-color: transparent; } .toolbar-dark .bar-button-clear-light:hover:not(.disable-hover), .toolbar-dark .bar-button-light:hover:not(.disable-hover) { color: #f4f4f4; } .toolbar-dark .bar-button-outline-light { border-color: #e0e0e0; color: #e0e0e0; background-color: transparent; } .toolbar-dark .bar-button-outline-light.activated { background-color: transparent; } .toolbar-dark .bar-button-outline-light ion-button-effect { background-color: #e0e0e0; } .toolbar-dark .bar-button-solid-light { color: #000; background-color: #f4f4f4; } .toolbar-dark .bar-button-solid-light.activated { color: #000; background-color: #e0e0e0; } .toolbar-dark .bar-button-clear-dark, .toolbar-dark .bar-button-dark { color: #222; background-color: transparent; } .toolbar-dark .bar-button-clear-dark:hover:not(.disable-hover), .toolbar-dark .bar-button-dark:hover:not(.disable-hover) { color: #222; } .toolbar-dark .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .toolbar-dark .bar-button-outline-dark.activated { background-color: transparent; } .toolbar-dark .bar-button-outline-dark ion-button-effect { background-color: #343434; } .toolbar-dark .bar-button-solid-dark { color: #fff; background-color: #222; } .toolbar-dark .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } .bar-button-clear-dark, .bar-button-dark { color: #222; background-color: transparent; } .bar-button-clear-dark:hover:not(.disable-hover), .bar-button-dark:hover:not(.disable-hover) { color: #222; } .bar-button-outline-dark { border-color: #343434; color: #343434; background-color: transparent; } .bar-button-outline-dark.activated { background-color: transparent; } .bar-button-outline-dark ion-button-effect { background-color: #343434; } .bar-button-solid-dark { color: #fff; background-color: #222; } .bar-button-solid-dark.activated { color: #fff; background-color: #343434; } html { font-size: 62.5%; } a { background-color: transparent; } .enable-hover a:hover { opacity: .7; } h1, h2, h3, h4, h5, h6 { margin-top: 1.6rem; margin-bottom: 1rem; font-weight: 500; line-height: 1.2; } [padding] h1:first-child, [padding] h2:first-child, [padding] h3:first-child, [padding] h4:first-child, [padding] h5:first-child, [padding] h6:first-child { margin-top: -.3rem; } h1 + h2, h1 + h3, h2 + h3 { margin-top: -.3rem; } h1 { margin-top: 2rem; font-size: 2.6rem; } h2 { margin-top: 1.8rem; font-size: 2.4rem; } h3 { font-size: 2.2rem; } h4 { font-size: 2rem; } h5 { font-size: 1.8rem; } h6 { font-size: 1.6rem; } small { font-size: 75%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sup { top: -.5em; } sub { bottom: -.25em; } [text-left] { text-align: left; } [text-center] { text-align: center; } [text-right] { text-align: right; } [text-justify] { text-align: justify; } [text-nowrap] { white-space: nowrap; } [text-uppercase] { text-transform: uppercase; } [text-lowercase] { text-transform: lowercase; } [text-capitalize] { text-transform: capitalize; } p { color: #000; } a { color: #327eff; } .text-primary { color: #327eff; } .text-secondary { color: #32db64; } .text-danger { color: #f53d3d; } .text-light { color: #f4f4f4; } .text-dark { color: #222; } ion-nav > ion-page > .toolbar.statusbar-padding:first-child, ion-nav > ion-page > ion-header > .toolbar.statusbar-padding:first-child, ion-tab > ion-page > ion-header > .toolbar.statusbar-padding:first-child, ion-tabs > ion-page.tab-subpage > ion-header > .toolbar.statusbar-padding:first-child, ion-menu > .menu-inner > .toolbar.statusbar-padding:first-child, ion-menu > .menu-inner > ion-header > .toolbar.statusbar-padding:first-child { padding-top: 20px; height: calc(5.6rem + 20px); min-height: calc(5.6rem + 20px); } ion-nav > ion-page > ion-content.statusbar-padding:first-child scroll-content, ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content, ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content, ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child scroll-content, ion-menu > .menu-inner > ion-content.statusbar-padding:first-child scroll-content, ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child scroll-content { padding-top: 20px; } ion-nav > ion-page > ion-content.statusbar-padding:first-child[padding] scroll-content, ion-nav > ion-page > ion-content.statusbar-padding:first-child[padding-top] scroll-content, ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, ion-nav > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, ion-tab > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, ion-tabs > ion-page.tab-subpage > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content, ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding] scroll-content, ion-menu > .menu-inner > ion-content.statusbar-padding:first-child[padding-top] scroll-content, ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, ion-menu > .menu-inner > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content { padding-top: calc(16px + 20px); } @media only screen and (max-width: 767px) { .modal-wrapper > ion-page > ion-header > .toolbar.statusbar-padding:first-child { padding-top: 20px; height: calc(5.6rem + 20px); min-height: calc(5.6rem + 20px); } .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child scroll-content { padding-top: 20px; } .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding] scroll-content, .modal-wrapper > ion-page > ion-header > ion-content.statusbar-padding:first-child[padding-top] scroll-content { padding-top: calc(16px + 20px); } } @font-face { font-family: "Roboto"; font-style: normal; font-weight: 300; src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-light.ttf") format("truetype"), url("../fonts/roboto-light.woff") format("woff"); } @font-face { font-family: "Roboto"; font-style: normal; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-regular.ttf") format("truetype"), url("../fonts/roboto-regular.woff") format("woff"); } @font-face { font-family: "Roboto"; font-style: normal; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto-medium.ttf") format("truetype"), url("../fonts/roboto-medium.woff") format("woff"); } @font-face { font-family: "Roboto"; font-style: normal; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-bold.ttf") format("truetype"), url("../fonts/roboto-bold.woff") format("woff"); } body { font-family: "Roboto", "Helvetica Neue", sans-serif; font-size: 1.4rem; background-color: #fff; } ================================================ FILE: content/dist/bundles/ionic.system.js ================================================ System.register('ionic/components', ['./components/app/app', './components/app/id', './components/action-sheet/action-sheet', './components/alert/alert', './components/blur/blur', './components/button/button', './components/checkbox/checkbox', './components/content/content', './components/icon/icon', './components/item/item', './components/item/item-sliding', './components/menu/menu', './components/menu/menu-types', './components/menu/menu-toggle', './components/menu/menu-close', './components/text-input/text-input', './components/label/label', './components/list/list', './components/show-hide-when/show-hide-when', './components/modal/modal', './components/nav/nav', './components/nav/nav-controller', './components/nav/view-controller', './components/nav/nav-push', './components/nav/nav-router', './components/navbar/navbar', './components/overlay/overlay', './components/slides/slides', './components/radio/radio', './components/scroll/scroll', './components/scroll/pull-to-refresh', './components/searchbar/searchbar', './components/segment/segment', './components/tabs/tabs', './components/tabs/tab', './components/tap-click/tap-click', './components/toggle/toggle', './components/toolbar/toolbar'], function (_export) { 'use strict'; return { setters: [function (_componentsAppApp) { for (var _key in _componentsAppApp) { if (_key !== 'default') _export(_key, _componentsAppApp[_key]); } }, function (_componentsAppId) { for (var _key2 in _componentsAppId) { if (_key2 !== 'default') _export(_key2, _componentsAppId[_key2]); } }, function (_componentsActionSheetActionSheet) { for (var _key3 in _componentsActionSheetActionSheet) { if (_key3 !== 'default') _export(_key3, _componentsActionSheetActionSheet[_key3]); } }, function (_componentsAlertAlert) { for (var _key4 in _componentsAlertAlert) { if (_key4 !== 'default') _export(_key4, _componentsAlertAlert[_key4]); } }, function (_componentsBlurBlur) { for (var _key5 in _componentsBlurBlur) { if (_key5 !== 'default') _export(_key5, _componentsBlurBlur[_key5]); } }, function (_componentsButtonButton) { for (var _key6 in _componentsButtonButton) { if (_key6 !== 'default') _export(_key6, _componentsButtonButton[_key6]); } }, function (_componentsCheckboxCheckbox) { for (var _key7 in _componentsCheckboxCheckbox) { if (_key7 !== 'default') _export(_key7, _componentsCheckboxCheckbox[_key7]); } }, function (_componentsContentContent) { for (var _key8 in _componentsContentContent) { if (_key8 !== 'default') _export(_key8, _componentsContentContent[_key8]); } }, function (_componentsIconIcon) { for (var _key9 in _componentsIconIcon) { if (_key9 !== 'default') _export(_key9, _componentsIconIcon[_key9]); } }, function (_componentsItemItem) { for (var _key10 in _componentsItemItem) { if (_key10 !== 'default') _export(_key10, _componentsItemItem[_key10]); } }, function (_componentsItemItemSliding) { for (var _key11 in _componentsItemItemSliding) { if (_key11 !== 'default') _export(_key11, _componentsItemItemSliding[_key11]); } }, function (_componentsMenuMenu) { for (var _key12 in _componentsMenuMenu) { if (_key12 !== 'default') _export(_key12, _componentsMenuMenu[_key12]); } }, function (_componentsMenuMenuTypes) { for (var _key13 in _componentsMenuMenuTypes) { if (_key13 !== 'default') _export(_key13, _componentsMenuMenuTypes[_key13]); } }, function (_componentsMenuMenuToggle) { for (var _key14 in _componentsMenuMenuToggle) { if (_key14 !== 'default') _export(_key14, _componentsMenuMenuToggle[_key14]); } }, function (_componentsMenuMenuClose) { for (var _key15 in _componentsMenuMenuClose) { if (_key15 !== 'default') _export(_key15, _componentsMenuMenuClose[_key15]); } }, function (_componentsTextInputTextInput) { for (var _key16 in _componentsTextInputTextInput) { if (_key16 !== 'default') _export(_key16, _componentsTextInputTextInput[_key16]); } }, function (_componentsLabelLabel) { for (var _key17 in _componentsLabelLabel) { if (_key17 !== 'default') _export(_key17, _componentsLabelLabel[_key17]); } }, function (_componentsListList) { for (var _key18 in _componentsListList) { if (_key18 !== 'default') _export(_key18, _componentsListList[_key18]); } }, function (_componentsShowHideWhenShowHideWhen) { for (var _key19 in _componentsShowHideWhenShowHideWhen) { if (_key19 !== 'default') _export(_key19, _componentsShowHideWhenShowHideWhen[_key19]); } }, function (_componentsModalModal) { for (var _key20 in _componentsModalModal) { if (_key20 !== 'default') _export(_key20, _componentsModalModal[_key20]); } }, function (_componentsNavNav) { for (var _key21 in _componentsNavNav) { if (_key21 !== 'default') _export(_key21, _componentsNavNav[_key21]); } }, function (_componentsNavNavController) { for (var _key22 in _componentsNavNavController) { if (_key22 !== 'default') _export(_key22, _componentsNavNavController[_key22]); } }, function (_componentsNavViewController) { for (var _key23 in _componentsNavViewController) { if (_key23 !== 'default') _export(_key23, _componentsNavViewController[_key23]); } }, function (_componentsNavNavPush) { for (var _key24 in _componentsNavNavPush) { if (_key24 !== 'default') _export(_key24, _componentsNavNavPush[_key24]); } }, function (_componentsNavNavRouter) { for (var _key25 in _componentsNavNavRouter) { if (_key25 !== 'default') _export(_key25, _componentsNavNavRouter[_key25]); } }, function (_componentsNavbarNavbar) { for (var _key26 in _componentsNavbarNavbar) { if (_key26 !== 'default') _export(_key26, _componentsNavbarNavbar[_key26]); } }, function (_componentsOverlayOverlay) { for (var _key27 in _componentsOverlayOverlay) { if (_key27 !== 'default') _export(_key27, _componentsOverlayOverlay[_key27]); } }, function (_componentsSlidesSlides) { for (var _key28 in _componentsSlidesSlides) { if (_key28 !== 'default') _export(_key28, _componentsSlidesSlides[_key28]); } }, function (_componentsRadioRadio) { for (var _key29 in _componentsRadioRadio) { if (_key29 !== 'default') _export(_key29, _componentsRadioRadio[_key29]); } }, function (_componentsScrollScroll) { for (var _key30 in _componentsScrollScroll) { if (_key30 !== 'default') _export(_key30, _componentsScrollScroll[_key30]); } }, function (_componentsScrollPullToRefresh) { for (var _key31 in _componentsScrollPullToRefresh) { if (_key31 !== 'default') _export(_key31, _componentsScrollPullToRefresh[_key31]); } }, function (_componentsSearchbarSearchbar) { for (var _key32 in _componentsSearchbarSearchbar) { if (_key32 !== 'default') _export(_key32, _componentsSearchbarSearchbar[_key32]); } }, function (_componentsSegmentSegment) { for (var _key33 in _componentsSegmentSegment) { if (_key33 !== 'default') _export(_key33, _componentsSegmentSegment[_key33]); } }, function (_componentsTabsTabs) { for (var _key34 in _componentsTabsTabs) { if (_key34 !== 'default') _export(_key34, _componentsTabsTabs[_key34]); } }, function (_componentsTabsTab) { for (var _key35 in _componentsTabsTab) { if (_key35 !== 'default') _export(_key35, _componentsTabsTab[_key35]); } }, function (_componentsTapClickTapClick) { for (var _key36 in _componentsTapClickTapClick) { if (_key36 !== 'default') _export(_key36, _componentsTapClickTapClick[_key36]); } }, function (_componentsToggleToggle) { for (var _key37 in _componentsToggleToggle) { if (_key37 !== 'default') _export(_key37, _componentsToggleToggle[_key37]); } }, function (_componentsToolbarToolbar) { for (var _key38 in _componentsToolbarToolbar) { if (_key38 !== 'default') _export(_key38, _componentsToolbarToolbar[_key38]); } }], execute: function () {} }; }); System.register('ionic/ionic', ['./config/modes', './platform/registry', './animations/builtins', './animations/ios-transition', './animations/md-transition', './config/bootstrap', './config/config', './config/directives', './decorators/config-component', './decorators/app', './decorators/page', './components', './platform/platform', './platform/storage', './util/click-block', './util/events', './util/keyboard', './animations/animation', './translation/translate', './translation/translate_pipe'], function (_export) { 'use strict'; return { setters: [function (_configModes) {}, function (_platformRegistry) {}, function (_animationsBuiltins) {}, function (_animationsIosTransition) {}, function (_animationsMdTransition) {}, function (_configBootstrap) { for (var _key in _configBootstrap) { if (_key !== 'default') _export(_key, _configBootstrap[_key]); } }, function (_configConfig) { for (var _key2 in _configConfig) { if (_key2 !== 'default') _export(_key2, _configConfig[_key2]); } }, function (_configDirectives) { for (var _key3 in _configDirectives) { if (_key3 !== 'default') _export(_key3, _configDirectives[_key3]); } }, function (_decoratorsConfigComponent) { for (var _key4 in _decoratorsConfigComponent) { if (_key4 !== 'default') _export(_key4, _decoratorsConfigComponent[_key4]); } }, function (_decoratorsApp) { for (var _key5 in _decoratorsApp) { if (_key5 !== 'default') _export(_key5, _decoratorsApp[_key5]); } }, function (_decoratorsPage) { for (var _key6 in _decoratorsPage) { if (_key6 !== 'default') _export(_key6, _decoratorsPage[_key6]); } }, function (_components) { for (var _key7 in _components) { if (_key7 !== 'default') _export(_key7, _components[_key7]); } }, function (_platformPlatform) { for (var _key8 in _platformPlatform) { if (_key8 !== 'default') _export(_key8, _platformPlatform[_key8]); } }, function (_platformStorage) { for (var _key9 in _platformStorage) { if (_key9 !== 'default') _export(_key9, _platformStorage[_key9]); } }, function (_utilClickBlock) { for (var _key10 in _utilClickBlock) { if (_key10 !== 'default') _export(_key10, _utilClickBlock[_key10]); } }, function (_utilEvents) { for (var _key11 in _utilEvents) { if (_key11 !== 'default') _export(_key11, _utilEvents[_key11]); } }, function (_utilKeyboard) { for (var _key12 in _utilKeyboard) { if (_key12 !== 'default') _export(_key12, _utilKeyboard[_key12]); } }, function (_animationsAnimation) { for (var _key13 in _animationsAnimation) { if (_key13 !== 'default') _export(_key13, _animationsAnimation[_key13]); } }, function (_translationTranslate) { for (var _key14 in _translationTranslate) { if (_key14 !== 'default') _export(_key14, _translationTranslate[_key14]); } }, function (_translationTranslate_pipe) { for (var _key15 in _translationTranslate_pipe) { if (_key15 !== 'default') _export(_key15, _translationTranslate_pipe[_key15]); } }], execute: function () {} }; }); System.register('ionic/util', ['./util/dom', './util/util'], function (_export) { 'use strict'; var domUtil, dom; return { setters: [function (_utilDom) { domUtil = _utilDom; }, function (_utilUtil) { for (var _key in _utilUtil) { if (_key !== 'default') _export(_key, _utilUtil[_key]); } }], execute: function () { dom = domUtil; _export('dom', dom); } }; }); System.register('ionic/components/ion', ['../util/dom'], function (_export) { /** * Base class for all Ionic components. Exposes some common functionality * that all Ionic components need, such as accessing underlying native elements and * sending/receiving app-level events. */ 'use strict'; var dom, Ion; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } return { setters: [function (_utilDom) { dom = _utilDom; }], execute: function () { Ion = (function () { function Ion(elementRef, config) { _classCallCheck(this, Ion); this.elementRef = elementRef; this.config = config; } _createClass(Ion, [{ key: 'ngOnInit', value: function ngOnInit() { var cls = this.constructor; if (cls.defaultInputs && this.config) { for (var prop in cls.defaultInputs) { // Priority: // --------- // 1) Value set from within constructor // 2) Value set from the host element's attribute // 3) Value set by the users global config // 4) Value set by the default mode/platform config // 5) Value set from the component's default if (this[prop]) { // this property has already been set on the instance // could be from the user setting the element's attribute // or from the user setting it within the constructor continue; } // get the property values from a global user/platform config var configVal = this.config.get(prop); if (configVal) { this[prop] = configVal; continue; } // wasn't set yet, so go with property's default value this[prop] = cls.defaultInputs[prop]; } } } }, { key: 'getElementRef', value: function getElementRef() { return this.elementRef; } }, { key: 'getNativeElement', value: function getNativeElement() { return this.elementRef.nativeElement; } }, { key: 'getDimensions', value: function getDimensions() { return dom.getDimensions(this); } }, { key: 'width', value: function width() { return dom.getDimensions(this).width; } }, { key: 'height', value: function height() { return dom.getDimensions(this).height; } }]); return Ion; })(); _export('Ion', Ion); } }; }); System.register('ionic/animations/animation', ['../util/dom', '../util/util'], function (_export) { /** Animation Steps/Process ----------------------- - Construct animation (doesn't start) - Client play()'s animation, returns promise - Add before classes to elements - Remove before classes from elements - Elements staged in "from" effect w/ inline styles - Call onReady() - Wait for RENDER_DELAY milliseconds (give browser time to render) - Call onPlay() - Run from/to animation on elements - Animations finish async - Set inline styles w/ the "to" effects on elements - Add after classes to elements - Remove after classes from elements - Call onFinish() - Resolve play()'s promise **/ /** * @private **/ 'use strict'; var CSS, rafFrames, extend, Animation, Animate, TRANSFORMS, ANIMATE_PROPERTIES, CUBIC_BEZIERS, EASING_FN, AnimationRegistry; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function insertEffects(effects, fromEffect, toEffect, easingConfig) { easingConfig.opts = easingConfig.opts || {}; var increment = easingConfig.opts.increment || 0.04; var easingFn = EASING_FN[easingConfig.name]; var pos = undefined, tweenEffect = undefined, addEffect = undefined, property = undefined, toProperty = undefined, fromValue = undefined, diffValue = undefined; for (pos = increment; pos <= 1 - increment; pos += increment) { tweenEffect = {}; addEffect = false; for (property in toEffect) { toProperty = toEffect[property]; if (toProperty.tween) { fromValue = fromEffect[property].num; diffValue = toProperty.num - fromValue; tweenEffect[property] = { value: roundValue(easingFn(pos, easingConfig.opts) * diffValue + fromValue) + toProperty.unit }; addEffect = true; } } if (addEffect) { effects.push(convertProperties(tweenEffect)); } } } function parseEffect(inputEffect) { var val = undefined, r = undefined, num = undefined, property = undefined; var outputEffect = {}; for (property in inputEffect) { val = inputEffect[property]; r = val.toString().match(/(^-?\d*\.?\d*)(.*)/); num = parseFloat(r[1]); outputEffect[property] = { value: val, num: num, unit: r[0] != r[2] ? r[2] : '', tween: !isNaN(num) && ANIMATE_PROPERTIES.indexOf(property) > -1 }; } return outputEffect; } function convertProperties(inputEffect) { var outputEffect = {}; var transforms = []; var value = undefined, property = undefined; for (property in inputEffect) { value = inputEffect[property].value; if (TRANSFORMS.indexOf(property) > -1) { transforms.push(property + '(' + value + ')'); } else { outputEffect[property] = value; } } if (transforms.length) { transforms.push('translateZ(0px)'); outputEffect.transform = transforms.join(' '); } return outputEffect; } function inlineStyle(ele, effect) { if (ele && effect) { var transforms = []; var value = undefined, property = undefined; for (property in effect) { value = effect[property].value; if (TRANSFORMS.indexOf(property) > -1) { transforms.push(property + '(' + value + ')'); } else { ele.style[property] = value; } } if (transforms.length) { transforms.push('translateZ(0px)'); ele.style[CSS.transform] = transforms.join(' '); } } } function roundValue(val) { return Math.round(val * 10000) / 10000; } function parallel(tasks, done) { var l = tasks.length; if (!l) { done && done(); return; } var completed = 0; function taskCompleted() { completed++; if (completed === l) { done && done(); } } for (var i = 0; i < l; i++) { tasks[i](taskCompleted); } } return { setters: [function (_utilDom) { CSS = _utilDom.CSS; rafFrames = _utilDom.rafFrames; }, function (_utilUtil) { extend = _utilUtil.extend; }], execute: function () { Animation = (function () { function Animation(ele) { var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; _classCallCheck(this, Animation); this.reset(); this._opts = extend({ renderDelay: 16 }, opts); this.elements(ele); if (!document.documentElement.animate) { console.error('Web Animations polyfill missing'); } } /** * @private **/ _createClass(Animation, [{ key: 'reset', value: function reset() { this._el = []; this._chld = []; this._ani = []; this._bfAdd = []; this._bfSty = {}; this._bfRmv = []; this._afAdd = []; this._afRmv = []; this._readys = []; this._plays = []; this._finishes = []; } }, { key: 'elements', value: function elements(ele) { if (ele) { if (typeof ele === 'string') { // string query selector ele = document.querySelectorAll(ele); } if (ele.length) { // array of elements for (var i = 0; i < ele.length; i++) { this.addElement(ele[i]); } } else { // single element this.addElement(ele); } } return this; } }, { key: 'addElement', value: function addElement(ele) { // ensure only HTML Element nodes if (ele) { if (ele.nativeElement) { // angular ElementRef ele = ele.nativeElement; } if (ele.nodeType === 1) { this._el.push(ele); } } } }, { key: 'parent', value: function parent(parentAnimation) { this._parent = parentAnimation; return this; } }, { key: 'add', value: function add(childAnimations) { var _childAnimations = Array.isArray(childAnimations) ? childAnimations : arguments; for (var i = 0; i < _childAnimations.length; i++) { _childAnimations[i].parent(this); this._chld.push(_childAnimations[i]); } return this; } }, { key: 'duration', value: function duration(value) { if (arguments.length) { this._duration = value; return this; } return this._duration || this._parent && this._parent.duration() || 0; } }, { key: 'clearDuration', value: function clearDuration() { this._duration = null; for (var i = 0, l = this._chld.length; i < l; i++) { this._chld[i].clearDuration(); } } }, { key: 'easing', value: function easing(name, opts) { if (arguments.length) { this._easing = { name: name, opts: opts }; return this; } return this._easing || this._parent && this._parent.easing(); } }, { key: 'playbackRate', value: function playbackRate(value) { if (arguments.length) { this._rate = value; var i = undefined; for (i = 0; i < this._chld.length; i++) { this._chld[i].playbackRate(value); } for (i = 0; i < this._ani.length; i++) { this._ani[i].playbackRate(value); } return this; } return typeof this._rate !== 'undefined' ? this._rate : this._parent && this._parent.playbackRate(); } }, { key: 'reverse', value: function reverse() { return this.playbackRate(-1); } }, { key: 'forward', value: function forward() { return this.playbackRate(1); } }, { key: 'from', value: function from(property, value) { if (!this._from) { this._from = {}; } this._from[property] = value; return this; } }, { key: 'to', value: function to(property, value) { if (!this._to) { this._to = {}; } this._to[property] = value; return this; } }, { key: 'fromTo', value: function fromTo(property, from, to) { return this.from(property, from).to(property, to); } }, { key: 'fadeIn', value: function fadeIn() { return this.fromTo('opacity', 0.001, 1); } }, { key: 'fadeOut', value: function fadeOut() { return this.fromTo('opacity', 0.999, 0); } }, { key: 'play', value: function play(done) { var self = this; // the actual play() method which may or may not start async function beginPlay(beginPlayDone) { var tasks = []; self._chld.forEach(function (childAnimation) { tasks.push(function (taskDone) { childAnimation.play(taskDone); }); }); self._ani.forEach(function (animation) { tasks.push(function (taskDone) { animation.play(taskDone); }); }); parallel(tasks, beginPlayDone); } if (!self._parent) { var kickoff = function kickoff() { // synchronously call all onPlay()'s before play() self._onPlay(); beginPlay(function () { self._onFinish(); done(); }); }; // this is the top level animation and is in full control // of when the async play() should actually kick off // stage all animations and child animations at their starting point self.stage(); var promise = undefined; if (!done) { promise = new Promise(function (res) { done = res; }); } if (self._duration > 16 && self._opts.renderDelay > 0) { // begin each animation when everything is rendered in their starting point // give the browser some time to render everything in place before starting rafFrames(self._opts.renderDelay / 16, kickoff); } else { // no need to render everything in there place before animating in // just kick it off immediately to render them in their "to" locations kickoff(); } return promise; } // this is a child animation, it is told exactly when to // start by the top level animation beginPlay(done); } }, { key: 'stage', value: function stage() { // before the RENDER_DELAY // before the animations have started if (!this._isStaged) { this._isStaged = true; var i = undefined, p = undefined, l = undefined, j = undefined, ele = undefined, animation = undefined; for (i = 0, l = this._chld.length; i < l; i++) { this._chld[i].stage(); } for (i = 0; i < this._el.length; i++) { ele = this._el[i]; for (j = 0; j < this._bfAdd.length; j++) { ele.classList.add(this._bfAdd[j]); } for (p in this._bfSty) { ele.style[p] = this._bfSty[p]; } for (j = 0; j < this._bfRmv.length; j++) { ele.classList.remove(this._bfRmv[j]); } } if (this._to) { // only animate the elements if there are defined "to" effects for (i = 0; i < this._el.length; i++) { animation = new Animate(this._el[i], this._from, this._to, this.duration(), this.easing(), this.playbackRate()); if (animation.shouldAnimate) { this._ani.push(animation); } } } for (i = 0; i < this._readys.length; i++) { this._readys[i](this); } } } }, { key: '_onPlay', value: function _onPlay() { // after the RENDER_DELAY // before the animations have started var i = undefined; this._isFinished = false; for (i = 0; i < this._chld.length; i++) { this._chld[i]._onPlay(); } for (i = 0; i < this._plays.length; i++) { this._plays[i](this); } } }, { key: '_onFinish', value: function _onFinish() { // after the animations have finished if (!this._isFinished && !this.isProgress) { this._isFinished = true; var i = undefined, j = undefined, ele = undefined; for (i = 0; i < this._chld.length; i++) { this._chld[i]._onFinish(); } if (this.playbackRate() < 0) { // reverse direction for (i = 0; i < this._el.length; i++) { ele = this._el[i]; for (j = 0; j < this._bfAdd.length; j++) { ele.classList.remove(this._bfAdd[j]); } for (j = 0; j < this._bfRmv.length; j++) { ele.classList.add(this._bfRmv[j]); } } } else { // normal direction for (i = 0; i < this._el.length; i++) { ele = this._el[i]; for (j = 0; j < this._afAdd.length; j++) { ele.classList.add(this._afAdd[j]); } for (j = 0; j < this._afRmv.length; j++) { ele.classList.remove(this._afRmv[j]); } } } for (i = 0; i < this._finishes.length; i++) { this._finishes[i](this); } } } }, { key: 'pause', value: function pause() { var i = undefined; for (i = 0; i < this._chld.length; i++) { this._chld[i].pause(); } for (i = 0; i < this._ani.length; i++) { this._ani[i].pause(); } } }, { key: 'progressStart', value: function progressStart() { this.isProgress = true; for (var i = 0; i < this._chld.length; i++) { this._chld[i].progressStart(); } this.duration(1000); this.play(); this.pause(); } }, { key: 'progress', value: function progress(value) { value = Math.min(1, Math.max(0, value)); this.isProgress = true; var i = undefined; for (i = 0; i < this._chld.length; i++) { this._chld[i].progress(value); } for (i = 0; i < this._ani.length; i++) { this._ani[i].progress(value); } } /** * Get the current time of the first animation * in the list. To get a specific time of an animation, call * subAnimationInstance.getCurrentTime() */ }, { key: 'getCurrentTime', value: function getCurrentTime() { if (this._chld.length > 0) { return this._chld[0].getCurrentTime(); } if (this._ani.length > 0) { return this._ani[0].getCurrentTime(); } return 0; } }, { key: 'progressEnd', value: function progressEnd(shouldComplete) { var rate = arguments.length <= 1 || arguments[1] === undefined ? 3 : arguments[1]; var promises = []; this.isProgress = false; for (var i = 0; i < this._chld.length; i++) { promises.push(this._chld[i].progressEnd(shouldComplete)); } this._ani.forEach(function (animation) { if (shouldComplete) { animation.playbackRate(rate); } else { animation.playbackRate(rate * -1); } promises.push(new Promise(function (resolve) { animation.play(resolve); })); }); return Promise.all(promises); } }, { key: 'onReady', value: function onReady(fn, clear) { if (clear) { this._readys = []; } this._readys.push(fn); return this; } }, { key: 'onPlay', value: function onPlay(fn, clear) { if (clear) { this._plays = []; } this._plays.push(fn); return this; } }, { key: 'onFinish', value: function onFinish(fn, clear) { if (clear) { this._finishes = []; } this._finishes.push(fn); return this; } }, { key: 'clone', value: function clone() { function copy(dest, src) { // undo what stage() may have already done extend(dest, src); dest._isFinished = dest._isStaged = dest.isProgress = false; dest._chld = []; dest._ani = []; for (var i = 0; i < src._chld.length; i++) { dest.add(copy(new Animation(), src._chld[i])); } return dest; } return copy(new Animation(), this); } }, { key: 'dispose', value: function dispose(removeElement) { var i = undefined; for (i = 0; i < this._chld.length; i++) { this._chld[i].dispose(removeElement); } for (i = 0; i < this._ani.length; i++) { this._ani[i].dispose(removeElement); } if (removeElement) { for (i = 0; i < this._el.length; i++) { this._el[i].parentNode && this._el[i].parentNode.removeChild(this._el[i]); } } this.reset(); } /* STATIC CLASSES */ }, { key: 'before', get: function get() { var _this = this; return { addClass: function addClass(className) { _this._bfAdd.push(className); return _this; }, removeClass: function removeClass(className) { _this._bfRmv.push(className); return _this; }, setStyles: function setStyles(styles) { _this._bfSty = styles; return _this; } }; } }, { key: 'after', get: function get() { var _this2 = this; return { addClass: function addClass(className) { _this2._afAdd.push(className); return _this2; }, removeClass: function removeClass(className) { _this2._afRmv.push(className); return _this2; } }; } }], [{ key: 'create', value: function create(element, name) { var AnimationClass = AnimationRegistry[name]; if (!AnimationClass) { // couldn't find an animation by the given name // fallback to just the base Animation class AnimationClass = Animation; } return new AnimationClass(element); } }, { key: 'createTransition', value: function createTransition(enteringView, leavingView) { var opts = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; var TransitionClass = AnimationRegistry[opts.animation]; if (!TransitionClass) { // didn't find a transition animation, default to ios-transition TransitionClass = AnimationRegistry['ios-transition']; } return new TransitionClass(enteringView, leavingView, opts); } }, { key: 'register', value: function register(name, AnimationClass) { AnimationRegistry[name] = AnimationClass; } }]); return Animation; })(); _export('Animation', Animation); Animate = (function () { function Animate(ele, fromEffect, toEffect, duration, easingConfig, playbackRate) { _classCallCheck(this, Animate); // https://w3c.github.io/web-animations/ // not using the direct API methods because they're still in flux // however, element.animate() seems locked in and uses the latest // and correct API methods under the hood, so really doesn't matter if (!fromEffect) { return console.error(ele.tagName, 'animation fromEffect required, toEffect:', toEffect); } this.toEffect = parseEffect(toEffect); this.shouldAnimate = duration > 32; if (!this.shouldAnimate) { return inlineStyle(ele, this.toEffect); } this.ele = ele; // stage where the element will start from this.fromEffect = parseEffect(fromEffect); inlineStyle(ele, this.fromEffect); this.duration = duration; this.rate = typeof playbackRate !== 'undefined' ? playbackRate : 1; this.easing = easingConfig && easingConfig.name || 'linear'; this.effects = [convertProperties(this.fromEffect)]; if (this.easing in EASING_FN) { insertEffects(this.effects, this.fromEffect, this.toEffect, easingConfig); } else if (this.easing in CUBIC_BEZIERS) { this.easing = 'cubic-bezier(' + CUBIC_BEZIERS[this.easing] + ')'; } this.effects.push(convertProperties(this.toEffect)); } _createClass(Animate, [{ key: 'play', value: function play(done) { var self = this; if (self.ani) { self.ani.play(); } else { // https://developers.google.com/web/updates/2014/05/Web-Animations---element-animate-is-now-in-Chrome-36 // https://w3c.github.io/web-animations/ // Future versions will use "new window.Animation" rather than "element.animate()" self.ani = self.ele.animate(self.effects, { duration: self.duration || 0, easing: self.easing, playbackRate: self.rate // old way of setting playbackRate, but still necessary }); self.ani.playbackRate = self.rate; } self.ani.onfinish = function () { // lock in where the element will stop at // if the playbackRate is negative then it needs to return // to its "from" effects if (self.ani) { inlineStyle(self.ele, self.rate < 0 ? self.fromEffect : self.toEffect); self.ani = self.ani.onfinish = null; done && done(); } }; } }, { key: 'pause', value: function pause() { this.ani && this.ani.pause(); } }, { key: 'progress', value: function progress(value) { if (this.ani) { // passed a number between 0 and 1 if (this.ani.playState !== 'paused') { this.ani.pause(); } // don't let the progress finish the animation // leave it off JUST before it's finished value = Math.min(0.999, Math.max(0.001, value)); this.ani.currentTime = this.duration * value; } } }, { key: 'getCurrentTime', value: function getCurrentTime() { return this.ani && this.ani.currentTime || 0; } }, { key: 'playbackRate', value: function playbackRate(value) { this.rate = value; if (this.ani) { this.ani.playbackRate = value; } } }, { key: 'dispose', value: function dispose() { this.ele = this.ani = this.effects = this.toEffect = null; } }]); return Animate; })(); TRANSFORMS = ['translateX', 'translateY', 'translateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'skewX', 'skewY', 'perspective']; ANIMATE_PROPERTIES = TRANSFORMS.concat('opacity'); // Robert Penner's Easing Functions // http://robertpenner.com/easing/ CUBIC_BEZIERS = { // default browser suppored easing // ease // ease-in // ease-out // ease-in-out // Cubic 'ease-in-cubic': '0.55,0.055,0.675,0.19', 'ease-out-cubic': '0.215,0.61,0.355,1', 'ease-in-Out-cubic': '0.645,0.045,0.355,1', // Circ 'ease-in-circ': '0.6,0.04,0.98,0.335', 'ease-out-circ': '0.075,0.82,0.165,1', 'ease-in-out-circ': '0.785,0.135,0.15,0.86', // Expo 'ease-in-expo': '0.95,0.05,0.795,0.035', 'ease-out-expo': '0.19,1,0.22,1', 'ease-in-out-expo': '1,0,0,1', // Quad 'ease-in-quad': '0.55,0.085,0.68,0.53', 'ease-out-quad': '0.25,0.46,0.45,0.94', 'ease-in-out-quad': '0.455,0.03,0.515,0.955', // Quart 'ease-in-quart': '0.895,0.03,0.685,0.22', 'ease-out-quart': '0.165,0.84,0.44,1', 'ease-in-out-quart': '0.77,0,0.175,1', // Quint 'ease-in-quint': '0.755,0.05,0.855,0.06', 'ease-out-quint': '0.23,1,0.32,1', 'ease-in-out-quint': '0.86,0,0.07,1', // Sine 'ease-in-sine': '0.47,0,0.745,0.715', 'ease-out-sine': '0.39,0.575,0.565,1', 'ease-in-out-sine': '0.445,0.05,0.55,0.95', // Back 'ease-in-back': '0.6,-0.28,0.735,0.045', 'ease-out-back': '0.175,0.885,0.32,1.275', 'ease-in-out-back': '0.68,-0.55,0.265,1.55' }; EASING_FN = { 'elastic': function elastic(pos) { return -1 * Math.pow(4, -8 * pos) * Math.sin((pos * 6 - 1) * (2 * Math.PI) / 2) + 1; }, 'swing-from-to': function swingFromTo(pos, opts) { var s = opts.s || 1.70158; return (pos /= 0.5) < 1 ? 0.5 * (pos * pos * (((s *= 1.525) + 1) * pos - s)) : 0.5 * ((pos -= 2) * pos * (((s *= 1.525) + 1) * pos + s) + 2); }, 'swing-from': function swingFrom(pos, opts) { var s = opts.s || 1.70158; return pos * pos * ((s + 1) * pos - s); }, 'swing-to': function swingTo(pos, opts) { var s = opts.s || 1.70158; return (pos -= 1) * pos * ((s + 1) * pos + s) + 1; }, 'bounce': function bounce(pos) { if (pos < 1 / 2.75) { return 7.5625 * pos * pos; } else if (pos < 2 / 2.75) { return 7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75; } else if (pos < 2.5 / 2.75) { return 7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375; } return 7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375; }, 'bounce-past': function bouncePast(pos) { if (pos < 1 / 2.75) { return 7.5625 * pos * pos; } else if (pos < 2 / 2.75) { return 2 - (7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75); } else if (pos < 2.5 / 2.75) { return 2 - (7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375); } return 2 - (7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375); }, 'ease-out-bounce': function easeOutBounce(pos) { if (pos < 1 / 2.75) { return 7.5625 * pos * pos; } else if (pos < 2 / 2.75) { return 7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75; } else if (pos < 2.5 / 2.75) { return 7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375; } return 7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375; }, 'ease-from-to': function easeFromTo(pos) { if ((pos /= 0.5) < 1) return 0.5 * Math.pow(pos, 4); return -0.5 * ((pos -= 2) * Math.pow(pos, 3) - 2); }, 'ease-from': function easeFrom(pos, opts) { return Math.pow(pos, opts.s || 4); }, 'ease-to': function easeTo(pos, opts) { return Math.pow(pos, opts.s || 0.25); }, /* * scripty2, Thomas Fuchs (MIT Licence) * https://raw.github.com/madrobby/scripty2/master/src/effects/transitions/transitions.js */ 'spring': function spring(pos, opts) { var damping = opts.damping || 4.5; var elasticity = opts.elasticity || 6; return 1 - Math.cos(pos * damping * Math.PI) * Math.exp(-pos * elasticity); }, 'sinusoidal': function sinusoidal(pos) { return -Math.cos(pos * Math.PI) / 2 + 0.5; } }; AnimationRegistry = {}; } }; }); System.register('ionic/animations/builtins', ['./animation'], function (_export) { 'use strict'; var Animation, SlideIn, SlideOut, FadeIn, FadeOut; var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_animation) { Animation = _animation.Animation; }], execute: function () { SlideIn = (function (_Animation) { _inherits(SlideIn, _Animation); function SlideIn(element) { _classCallCheck(this, SlideIn); _get(Object.getPrototypeOf(SlideIn.prototype), 'constructor', this).call(this, element); this.easing('cubic-bezier(0.1,0.7,0.1,1)').duration(400).fromTo('translateY', '100%', '0%'); } return SlideIn; })(Animation); Animation.register('slide-in', SlideIn); SlideOut = (function (_Animation2) { _inherits(SlideOut, _Animation2); function SlideOut(element) { _classCallCheck(this, SlideOut); _get(Object.getPrototypeOf(SlideOut.prototype), 'constructor', this).call(this, element); this.easing('ease-out').duration(250).fromTo('translateY', '0%', '100%'); } return SlideOut; })(Animation); Animation.register('slide-out', SlideOut); FadeIn = (function (_Animation3) { _inherits(FadeIn, _Animation3); function FadeIn(element) { _classCallCheck(this, FadeIn); _get(Object.getPrototypeOf(FadeIn.prototype), 'constructor', this).call(this, element); this.easing('ease-in').duration(400).fadeIn(); } return FadeIn; })(Animation); Animation.register('fade-in', FadeIn); FadeOut = (function (_Animation4) { _inherits(FadeOut, _Animation4); function FadeOut(element) { _classCallCheck(this, FadeOut); _get(Object.getPrototypeOf(FadeOut.prototype), 'constructor', this).call(this, element); this.easing('ease-out').duration(250).fadeOut(); } return FadeOut; })(Animation); Animation.register('fade-out', FadeOut); } }; }); System.register('ionic/animations/ios-transition', ['./animation'], function (_export) { 'use strict'; var Animation, DURATION, EASING, OPACITY, TRANSLATEX, OFF_RIGHT, OFF_LEFT, CENTER, OFF_OPACITY, SHOW_BACK_BTN_CSS, IOSTransition; var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_animation) { Animation = _animation.Animation; }], execute: function () { DURATION = 400; EASING = 'cubic-bezier(0.36,0.66,0.04,1)'; OPACITY = 'opacity'; TRANSLATEX = 'translateX'; OFF_RIGHT = '99.5%'; OFF_LEFT = '-33%'; CENTER = '0%'; OFF_OPACITY = 0.8; SHOW_BACK_BTN_CSS = 'show-back-button'; IOSTransition = (function (_Animation) { _inherits(IOSTransition, _Animation); function IOSTransition(enteringView, leavingView, opts) { _classCallCheck(this, IOSTransition); _get(Object.getPrototypeOf(IOSTransition.prototype), 'constructor', this).call(this, null, opts); this.duration(DURATION); this.easing(EASING); // what direction is the transition going var backDirection = opts.direction === 'back'; // do they have navbars? var enteringHasNavbar = enteringView.hasNavbar(); var leavingHasNavbar = leavingView && leavingView.hasNavbar(); var enteringPage = new Animation(enteringView.pageRef()); enteringPage.before.addClass('show-page'); this.add(enteringPage); // entering content var enteringContent = new Animation(enteringView.contentRef()); this.add(enteringContent); if (backDirection) { // entering content, back direction enteringContent.fromTo(TRANSLATEX, OFF_LEFT, CENTER).fromTo(OPACITY, OFF_OPACITY, 1); } else { // entering content, forward direction enteringContent.fromTo(TRANSLATEX, OFF_RIGHT, CENTER).fromTo(OPACITY, 1, 1); } if (enteringHasNavbar) { // entering page has a navbar var enteringNavBar = new Animation(enteringView.navbarRef()); enteringNavBar.before.addClass('show-navbar'); this.add(enteringNavBar); var enteringTitle = new Animation(enteringView.titleRef()); var enteringNavbarItems = new Animation(enteringView.navbarItemRefs()); var enteringNavbarBg = new Animation(enteringView.navbarBgRef()); var enteringBackButton = new Animation(enteringView.backBtnRef()); enteringNavBar.add(enteringTitle).add(enteringNavbarItems).add(enteringNavbarBg).add(enteringBackButton); enteringTitle.fadeIn(); enteringNavbarItems.fadeIn(); // set properties depending on direction if (backDirection) { // entering navbar, back direction enteringTitle.fromTo(TRANSLATEX, OFF_LEFT, CENTER); if (enteringView.enableBack()) { // back direction, entering page has a back button enteringBackButton.before.addClass(SHOW_BACK_BTN_CSS).fadeIn(); } } else { // entering navbar, forward direction enteringTitle.fromTo(TRANSLATEX, OFF_RIGHT, CENTER); if (leavingHasNavbar) { // entering navbar, forward direction, and there's a leaving navbar // should just fade in, no sliding enteringNavbarBg.fromTo(TRANSLATEX, CENTER, CENTER).fadeIn(); } else { // entering navbar, forward direction, and there's no leaving navbar // should just slide in, no fading in enteringNavbarBg.fromTo(TRANSLATEX, OFF_RIGHT, CENTER).fromTo(OPACITY, 1, 1); } if (enteringView.enableBack()) { // forward direction, entering page has a back button enteringBackButton.before.addClass(SHOW_BACK_BTN_CSS).fadeIn(); var enteringBackBtnText = new Animation(enteringView.backBtnTextRef()); enteringBackBtnText.fromTo(TRANSLATEX, '100px', '0px'); enteringNavBar.add(enteringBackBtnText); } else { enteringBackButton.before.removeClass(SHOW_BACK_BTN_CSS); } } } // setup leaving view if (leavingView) { // leaving content var leavingContent = new Animation(leavingView.contentRef()); this.add(leavingContent); if (backDirection) { // leaving content, back direction leavingContent.fromTo(TRANSLATEX, CENTER, '100%').fromTo(OPACITY, 1, 1); } else { // leaving content, forward direction leavingContent.fromTo(TRANSLATEX, CENTER, OFF_LEFT).fromTo(OPACITY, 1, OFF_OPACITY); } if (leavingHasNavbar) { // leaving page has a navbar var leavingNavBar = new Animation(leavingView.navbarRef()); var leavingBackButton = new Animation(leavingView.backBtnRef()); var leavingTitle = new Animation(leavingView.titleRef()); var leavingNavbarItems = new Animation(leavingView.navbarItemRefs()); var leavingNavbarBg = new Animation(leavingView.navbarBgRef()); leavingNavBar.add(leavingBackButton).add(leavingTitle).add(leavingNavbarItems).add(leavingNavbarBg); this.add(leavingNavBar); // fade out leaving navbar items leavingBackButton.fadeOut(); leavingTitle.fadeOut(); leavingNavbarItems.fadeOut(); if (backDirection) { // leaving navbar, back direction leavingTitle.fromTo(TRANSLATEX, CENTER, '100%'); if (enteringHasNavbar) { // leaving navbar, back direction, and there's an entering navbar // should just fade out, no sliding leavingNavbarBg.fromTo(TRANSLATEX, CENTER, CENTER).fadeOut(); } else { // leaving navbar, back direction, and there's no entering navbar // should just slide out, no fading out leavingNavbarBg.fromTo(TRANSLATEX, CENTER, '100%').fromTo(OPACITY, 1, 1); } var leavingBackBtnText = new Animation(leavingView.backBtnTextRef()); leavingBackBtnText.fromTo(TRANSLATEX, CENTER, 300 + 'px'); leavingNavBar.add(leavingBackBtnText); } else { // leaving navbar, forward direction leavingTitle.fromTo(TRANSLATEX, CENTER, OFF_LEFT); } } } } return IOSTransition; })(Animation); Animation.register('ios-transition', IOSTransition); } }; }); System.register('ionic/animations/md-transition', ['./animation'], function (_export) { 'use strict'; var Animation, TRANSLATEY, OFF_BOTTOM, CENTER, SHOW_BACK_BTN_CSS, MDTransition; var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_animation) { Animation = _animation.Animation; }], execute: function () { TRANSLATEY = 'translateY'; OFF_BOTTOM = '40px'; CENTER = '0px'; SHOW_BACK_BTN_CSS = 'show-back-button'; MDTransition = (function (_Animation) { _inherits(MDTransition, _Animation); function MDTransition(enteringView, leavingView, opts) { _classCallCheck(this, MDTransition); _get(Object.getPrototypeOf(MDTransition.prototype), 'constructor', this).call(this, null, opts); // what direction is the transition going var backDirection = opts.direction === 'back'; // do they have navbars? var enteringHasNavbar = enteringView.hasNavbar(); var leavingHasNavbar = leavingView && leavingView.hasNavbar(); // entering content item moves in bottom to center var enteringPage = new Animation(enteringView.pageRef()); enteringPage.before.addClass('show-page'); this.add(enteringPage); if (backDirection) { this.duration(200).easing('cubic-bezier(0.47,0,0.745,0.715)'); enteringPage.fromTo(TRANSLATEY, CENTER, CENTER); } else { this.duration(280).easing('cubic-bezier(0.36,0.66,0.04,1)'); enteringPage.fromTo(TRANSLATEY, OFF_BOTTOM, CENTER).fadeIn(); } if (enteringHasNavbar) { var enteringNavBar = new Animation(enteringView.navbarRef()); enteringNavBar.before.addClass('show-navbar'); this.add(enteringNavBar); var enteringBackButton = new Animation(enteringView.backBtnRef()); this.add(enteringBackButton); if (enteringView.enableBack()) { enteringBackButton.before.addClass(SHOW_BACK_BTN_CSS); } else { enteringBackButton.before.removeClass(SHOW_BACK_BTN_CSS); } } // setup leaving view if (leavingView && backDirection) { // leaving content this.duration(200).easing('cubic-bezier(0.47,0,0.745,0.715)'); var leavingPage = new Animation(leavingView.pageRef()); this.add(leavingPage.fromTo(TRANSLATEY, CENTER, OFF_BOTTOM).fadeOut()); } } return MDTransition; })(Animation); Animation.register('md-transition', MDTransition); } }; }); System.register('ionic/animations/scroll-to', ['../util/dom'], function (_export) { 'use strict'; var raf, ScrollTo; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } // decelerating to zero velocity function easeOutCubic(t) { return --t * t * t + 1; } return { setters: [function (_utilDom) { raf = _utilDom.raf; }], execute: function () { ScrollTo = (function () { function ScrollTo(ele, x, y, duration) { _classCallCheck(this, ScrollTo); if (typeof ele === 'string') { // string query selector ele = document.querySelector(ele); } if (ele) { if (ele.nativeElement) { // angular ElementRef ele = ele.nativeElement; } if (ele.nodeType === 1) { this._el = ele; } } } _createClass(ScrollTo, [{ key: 'start', value: function start(x, y, duration, tolerance) { // scroll animation loop w/ easing // credit https://gist.github.com/dezinezync/5487119 var self = this; if (!self._el) { // invalid element return Promise.resolve(); } x = x || 0; y = y || 0; tolerance = tolerance || 0; var fromY = self._el.scrollTop; var fromX = self._el.scrollLeft; var xDistance = Math.abs(x - fromX); var yDistance = Math.abs(y - fromY); if (yDistance <= tolerance && xDistance <= tolerance) { // prevent scrolling if already close to there self._el = null; return Promise.resolve(); } return new Promise(function (resolve, reject) { var start = undefined; // start scroll loop self.isPlaying = true; // chill out for a frame first raf(function () { start = Date.now(); raf(step); }); // scroll loop function step() { if (!self._el) { return resolve(); } var time = Math.min(1, (Date.now() - start) / duration); // where .5 would be 50% of time on a linear scale easedT gives a // fraction based on the easing method var easedT = easeOutCubic(time); if (fromY != y) { self._el.scrollTop = Math.round(easedT * (y - fromY) + fromY); } if (fromX != x) { self._el.scrollLeft = Math.round(easedT * (x - fromX) + fromX); } if (time < 1 && self.isPlaying) { raf(step); } else if (!self.isPlaying) { // stopped self._el = null; reject(); } else { // done self._el = null; resolve(); } } }); } }, { key: 'stop', value: function stop() { this.isPlaying = false; } }, { key: 'dispose', value: function dispose() { this.stop(); this._el = null; } }]); return ScrollTo; })(); _export('ScrollTo', ScrollTo); } }; }); System.register('ionic/config/bootstrap', ['angular2/core', 'angular2/router', 'angular2/http', '../components/app/app', './config', '../platform/platform', '../util/form', '../util/keyboard', '../util/events', '../components/nav/nav-registry', '../translation/translate', '../util/click-block', '../util/feature-detect', '../components/tap-click/tap-click', '../util/dom'], function (_export) { /** * @private */ 'use strict'; var provide, ROUTER_PROVIDERS, LocationStrategy, HashLocationStrategy, HTTP_PROVIDERS, IonicApp, Config, Platform, Form, Keyboard, Events, NavRegistry, Translate, ClickBlock, FeatureDetect, TapClick, closest; _export('ionicProviders', ionicProviders); function ionicProviders() { var args = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; var platform = new Platform(); var navRegistry = new NavRegistry(args.pages); var config = args.config; if (!(config instanceof Config)) { config = new Config(config); } platform.url(window.location.href); platform.userAgent(window.navigator.userAgent); platform.navigatorPlatform(window.navigator.platform); platform.load(); config.setPlatform(platform); var clickBlock = new ClickBlock(config.get('clickBlock')); var events = new Events(); var featureDetect = new FeatureDetect(); setupDom(window, document, config, platform, clickBlock, featureDetect); bindEvents(window, document, platform, events); // prepare the ready promise to fire....when ready platform.prepareReady(config); return [IonicApp, provide(ClickBlock, { useValue: clickBlock }), provide(Config, { useValue: config }), provide(Platform, { useValue: platform }), provide(FeatureDetect, { useValue: featureDetect }), provide(Events, { useValue: events }), provide(NavRegistry, { useValue: navRegistry }), TapClick, Form, Keyboard, Translate, ROUTER_PROVIDERS, provide(LocationStrategy, { useClass: HashLocationStrategy }), HTTP_PROVIDERS]; } function setupDom(window, document, config, platform, clickBlock, featureDetect) { var bodyEle = document.body; var mode = config.get('mode'); // if dynamic mode links have been added the fire up the correct one var modeLinkAttr = mode + '-href'; var linkEle = document.head.querySelector('link[' + modeLinkAttr + ']'); if (linkEle) { var href = linkEle.getAttribute(modeLinkAttr); linkEle.removeAttribute(modeLinkAttr); linkEle.href = href; } // set the mode class name // ios/md bodyEle.classList.add(mode); // language and direction platform.setDir(document.documentElement.dir, false); platform.setLang(document.documentElement.lang, false); var versions = platform.versions(); platform.platforms().forEach(function (platformName) { // platform-ios var platformClass = 'platform-' + platformName; bodyEle.classList.add(platformClass); var platformVersion = versions[platformName]; if (platformVersion) { // platform-ios9 platformClass += platformVersion.major; bodyEle.classList.add(platformClass); // platform-ios9_3 bodyEle.classList.add(platformClass + '_' + platformVersion.minor); } }); // touch devices should not use :hover CSS pseudo // enable :hover CSS when the "hoverCSS" setting is not false if (config.get('hoverCSS') !== false) { bodyEle.classList.add('enable-hover'); } if (config.get('clickBlock')) { clickBlock.enable(); } // run feature detection tests featureDetect.run(window, document); } /** * Bind some global events and publish on the 'app' channel */ function bindEvents(window, document, platform, events) { window.addEventListener('online', function (ev) { events.publish('app:online', ev); }, false); window.addEventListener('offline', function (ev) { events.publish('app:offline', ev); }, false); window.addEventListener('orientationchange', function (ev) { events.publish('app:rotated', ev); }); // When that status taps, we respond window.addEventListener('statusTap', function (ev) { // TODO: Make this more better var el = document.elementFromPoint(platform.width() / 2, platform.height() / 2); if (!el) { return; } var content = closest(el, 'scroll-content'); if (content) { var scrollTo = new ScrollTo(content); scrollTo.start(0, 0, 300, 0); } }); // start listening for resizes XXms after the app starts setTimeout(function () { window.addEventListener('resize', function () { platform.windowResize(); }); }, 2000); } return { setters: [function (_angular2Core) { provide = _angular2Core.provide; }, function (_angular2Router) { ROUTER_PROVIDERS = _angular2Router.ROUTER_PROVIDERS; LocationStrategy = _angular2Router.LocationStrategy; HashLocationStrategy = _angular2Router.HashLocationStrategy; }, function (_angular2Http) { HTTP_PROVIDERS = _angular2Http.HTTP_PROVIDERS; }, function (_componentsAppApp) { IonicApp = _componentsAppApp.IonicApp; }, function (_config) { Config = _config.Config; }, function (_platformPlatform) { Platform = _platformPlatform.Platform; }, function (_utilForm) { Form = _utilForm.Form; }, function (_utilKeyboard) { Keyboard = _utilKeyboard.Keyboard; }, function (_utilEvents) { Events = _utilEvents.Events; }, function (_componentsNavNavRegistry) { NavRegistry = _componentsNavNavRegistry.NavRegistry; }, function (_translationTranslate) { Translate = _translationTranslate.Translate; }, function (_utilClickBlock) { ClickBlock = _utilClickBlock.ClickBlock; }, function (_utilFeatureDetect) { FeatureDetect = _utilFeatureDetect.FeatureDetect; }, function (_componentsTapClickTapClick) { TapClick = _componentsTapClickTapClick.TapClick; }, function (_utilDom) { closest = _utilDom.closest; }], execute: function () {} }; }); System.register('ionic/config/config', ['../platform/platform', '../util/util'], function (_export) { /** * @ngdoc service * @name Config * @module ionic * @description * Config allows you to set the modes of your components */ /** * @name Config * @demo /docs/v3/demos/config/ * @description * Config lets you change multiple or a single value in an apps mode configuration. Things such as tab placement, icon changes, and view animations can be set here. * * ```ts * @App({ * template: `` * config: { * backButtonText: 'Go Back', * iconMode: 'ios', * modalEnter: 'modal-slide-in', * modalLeave: 'modal-slide-out', * tabbarPlacement: 'bottom', * pageTransition: 'ios', * } * }) * ``` * * Config can be overwritting at multiple levels, allowing deeper configuration. Taking the example from earlier, we can override any setting we want based on a platform. * ```ts * @App({ * template: `` * config: { * tabbarPlacement: 'bottom', * platforms: { * ios: { * tabbarPlacement: 'top', * } * } * } * }) * ``` * * We could also configure these values at a component level. Take `tabbarPlacement`, we can configure this as a property on our `ion-tabs`. * * ```html * * * * ``` * * The property will override anything else set in the apps. * * The last way we could configure is through URL query strings. This is useful for testing while in the browser. * Simply add `?ionic=` to the url. * * ```bash * http://localhost:8100/?ionicTabbarPlacement=bottom * ``` * * Custom values can be added to config, and looked up at a later point in time. * * ``` javascript * config.set('ios', 'favoriteColor', 'green'); * // from any page in your app: * config.get('favoriteColor'); // 'green' * ``` * * * A config value can come from anywhere and be anything, but there are a default set of values. * * * | Config property | Default iOS Value | Default MD Value | * |----------------------------|------------------------|---------------------------| * | activator | highlight | ripple | * | actionSheetEnter | action-sheet-slide-in | action-sheet-md-slide-in | * | actionSheetLeave | action-sheet-slide-out | action-sheet-md-slide-out | * | alertEnter | alert-pop-in | alert-md-pop-in | * | alertLeave | alert-pop-out | alert-md-pop-out | * | backButtonText | Back | | * | backButtonIcon | ion-ios-arrow-back | ion-md-arrow-back | * | iconMode | ios | md | * | menuType | reveal | overlay | * | modalEnter | modal-slide-in | modal-md-slide-in | * | modalLeave | modal-slide-out | modal-md-slide-out | * | pageTransition | ios-transition | md-transition | * | pageTransitionDelay | 16 | 120 | * | tabbarPlacement | bottom | top | * | tabbarHighlight | | top | * | tabSubPage | | true | * **/ 'use strict'; var Platform, isObject, isDefined, isFunction, isArray, Config, modeConfigs; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } return { setters: [function (_platformPlatform) { Platform = _platformPlatform.Platform; }, function (_utilUtil) { isObject = _utilUtil.isObject; isDefined = _utilUtil.isDefined; isFunction = _utilUtil.isFunction; isArray = _utilUtil.isArray; }], execute: function () { Config = (function () { function Config(config) { _classCallCheck(this, Config); this._s = config && isObject(config) && !isArray(config) ? config : {}; this._c = {}; // cached values } /** * For setting and getting multiple config values */ /** * @private * @name settings() * @description */ _createClass(Config, [{ key: 'settings', value: function settings() { var args = arguments; switch (args.length) { case 0: return this._s; case 1: // settings({...}) this._s = args[0]; this._c = {}; // clear cache break; case 2: // settings('ios', {...}) this._s.platforms = this._s.platforms || {}; this._s.platforms[args[0]] = args[1]; this._c = {}; // clear cache break; } return this; } /** * @name set * @description * Sets a single config value. * * @param {String} [platform] - The platform (either 'ios' or 'android') that the config value should apply to. Leaving this blank will apply the config value to all platforms. * @param {String} [key] - The key used to look up the value at a later point in time. * @param {String} [value] - The config value being stored. */ }, { key: 'set', value: function set() { var args = arguments; var arg0 = args[0]; var arg1 = args[1]; switch (args.length) { case 2: // set('key', 'value') = set key/value pair // arg1 = value this._s[arg0] = arg1; delete this._c[arg0]; // clear cache break; case 3: // setting('ios', 'key', 'value') = set key/value pair for platform // arg0 = platform // arg1 = key // arg2 = value this._s.platforms = this._s.platforms || {}; this._s.platforms[arg0] = this._s.platforms[arg0] || {}; this._s.platforms[arg0][arg1] = args[2]; delete this._c[arg1]; // clear cache break; } return this; } /** * @name get * @description * Returns a single config value, given a key. * * @param {String} [key] - the key for the config value */ }, { key: 'get', value: function get(key) { if (!isDefined(this._c[key])) { if (!isDefined(key)) { throw 'config key is not defined'; } // if the value was already set this will all be skipped // if there was no user config then it'll check each of // the user config's platforms, which already contains // settings from default platform configs var userPlatformValue = undefined; var userDefaultValue = this._s[key]; var userPlatformModeValue = undefined; var userDefaultModeValue = undefined; var platformValue = undefined; var platformModeValue = undefined; var configObj = null; if (this.platform) { var queryStringValue = this.platform.query('ionic' + key.toLowerCase()); if (isDefined(queryStringValue)) { return this._c[key] = queryStringValue === 'true' ? true : queryStringValue === 'false' ? false : queryStringValue; } // check the platform settings object for this value // loop though each of the active platforms // array of active platforms, which also knows the hierarchy, // with the last one the most important var activePlatformKeys = this.platform.platforms(); // loop through all of the active platforms we're on for (var i = 0, l = activePlatformKeys.length; i < l; i++) { // get user defined platform values if (this._s.platforms) { configObj = this._s.platforms[activePlatformKeys[i]]; if (configObj) { if (isDefined(configObj[key])) { userPlatformValue = configObj[key]; } configObj = Config.getModeConfig(configObj.mode); if (configObj && isDefined(configObj[key])) { userPlatformModeValue = configObj[key]; } } } // get default platform's setting configObj = Platform.get(activePlatformKeys[i]); if (configObj && configObj.settings) { if (isDefined(configObj.settings[key])) { // found a setting for this platform platformValue = configObj.settings[key]; } configObj = Config.getModeConfig(configObj.settings.mode); if (configObj && isDefined(configObj[key])) { // found setting for this platform's mode platformModeValue = configObj[key]; } } } } configObj = Config.getModeConfig(this._s.mode); if (configObj && isDefined(configObj[key])) { userDefaultModeValue = configObj[key]; } // cache the value this._c[key] = isDefined(userPlatformValue) ? userPlatformValue : isDefined(userDefaultValue) ? userDefaultValue : isDefined(userPlatformModeValue) ? userPlatformModeValue : isDefined(userDefaultModeValue) ? userDefaultModeValue : isDefined(platformValue) ? platformValue : isDefined(platformModeValue) ? platformModeValue : null; } // return key's value // either it came directly from the user config // or it was from the users platform configs // or it was from the default platform configs // in that order if (isFunction(this._c[key])) { return this._c[key](this.platform); } return this._c[key]; } /** * @private */ }, { key: 'setPlatform', value: function setPlatform(platform) { this.platform = platform; } }], [{ key: 'setModeConfig', value: function setModeConfig(mode, config) { modeConfigs[mode] = config; } }, { key: 'getModeConfig', value: function getModeConfig(mode) { return modeConfigs[mode] || null; } }]); return Config; })(); _export('Config', Config); modeConfigs = {}; } }; }); System.register('ionic/config/directives', ['angular2/common', '../components/overlay/overlay', '../components/menu/menu', '../components/menu/menu-toggle', '../components/menu/menu-close', '../components/button/button', '../components/blur/blur', '../components/content/content', '../components/scroll/scroll', '../components/scroll/pull-to-refresh', '../components/slides/slides', '../components/tabs/tabs', '../components/tabs/tab', '../components/list/list', '../components/item/item', '../components/item/item-sliding', '../components/toolbar/toolbar', '../components/icon/icon', '../components/checkbox/checkbox', '../components/toggle/toggle', '../components/text-input/text-input', '../components/label/label', '../components/segment/segment', '../components/radio/radio', '../components/searchbar/searchbar', '../components/nav/nav', '../components/nav/nav-push', '../components/nav/nav-router', '../components/navbar/navbar', '../components/app/id', '../components/show-hide-when/show-hide-when'], function (_export) { /** * @name IONIC_DIRECTIVES * @private * @description * The core Ionic directives as well as Angular's CORE_DIRECTIVES and * FORM_DIRECTIVES. Automatically available in every [@Page](../Page/) template. * * **Angular** * - CORE_DIRECTIVES * - FORM_DIRECTIVES * * **Content** * - Menu * - MenuToggle * - MenuClose * * - Button * - Blur * - Content * - Scroll * - Refresher * * **Lists** * - List * - ListHeader * - Item * - ItemSliding * * **Slides** * - Slides * - Slide * - SlideLazy * * **Tabs** * - Tabs * - Tab * * **Toolbar** * - Toolbar * - ToolbarTitle * - ToolbarItem * * **Media** * - Icon * * **Forms** * - Searchbar * - Segment * - SegmentButton * - Checkbox * - RadioGroup * - RadioButton * - Toggle * - TextInput * - TextInputElement * - Label * * **Nav** * - Nav * - NavbarTemplate * - Navbar * - NavPush * - NavPop * - NavRouter * - IdRef * * - ShowWhen * - HideWhen */ 'use strict'; var CORE_DIRECTIVES, FORM_DIRECTIVES, OverlayNav, Menu, MenuToggle, MenuClose, Button, Blur, Content, Scroll, Refresher, Slides, Slide, SlideLazy, Tabs, Tab, List, ListHeader, Item, ItemSliding, Toolbar, ToolbarTitle, ToolbarItem, Icon, Checkbox, Toggle, TextInput, TextInputElement, Label, Segment, SegmentButton, RadioGroup, RadioButton, Searchbar, SearchbarInput, Nav, NavPush, NavPop, NavRouter, NavbarTemplate, Navbar, IdRef, ShowWhen, HideWhen, IONIC_DIRECTIVES; return { setters: [function (_angular2Common) { CORE_DIRECTIVES = _angular2Common.CORE_DIRECTIVES; FORM_DIRECTIVES = _angular2Common.FORM_DIRECTIVES; }, function (_componentsOverlayOverlay) { OverlayNav = _componentsOverlayOverlay.OverlayNav; }, function (_componentsMenuMenu) { Menu = _componentsMenuMenu.Menu; }, function (_componentsMenuMenuToggle) { MenuToggle = _componentsMenuMenuToggle.MenuToggle; }, function (_componentsMenuMenuClose) { MenuClose = _componentsMenuMenuClose.MenuClose; }, function (_componentsButtonButton) { Button = _componentsButtonButton.Button; }, function (_componentsBlurBlur) { Blur = _componentsBlurBlur.Blur; }, function (_componentsContentContent) { Content = _componentsContentContent.Content; }, function (_componentsScrollScroll) { Scroll = _componentsScrollScroll.Scroll; }, function (_componentsScrollPullToRefresh) { Refresher = _componentsScrollPullToRefresh.Refresher; }, function (_componentsSlidesSlides) { Slides = _componentsSlidesSlides.Slides; Slide = _componentsSlidesSlides.Slide; SlideLazy = _componentsSlidesSlides.SlideLazy; }, function (_componentsTabsTabs) { Tabs = _componentsTabsTabs.Tabs; }, function (_componentsTabsTab) { Tab = _componentsTabsTab.Tab; }, function (_componentsListList) { List = _componentsListList.List; ListHeader = _componentsListList.ListHeader; }, function (_componentsItemItem) { Item = _componentsItemItem.Item; }, function (_componentsItemItemSliding) { ItemSliding = _componentsItemItemSliding.ItemSliding; }, function (_componentsToolbarToolbar) { Toolbar = _componentsToolbarToolbar.Toolbar; ToolbarTitle = _componentsToolbarToolbar.ToolbarTitle; ToolbarItem = _componentsToolbarToolbar.ToolbarItem; }, function (_componentsIconIcon) { Icon = _componentsIconIcon.Icon; }, function (_componentsCheckboxCheckbox) { Checkbox = _componentsCheckboxCheckbox.Checkbox; }, function (_componentsToggleToggle) { Toggle = _componentsToggleToggle.Toggle; }, function (_componentsTextInputTextInput) { TextInput = _componentsTextInputTextInput.TextInput; TextInputElement = _componentsTextInputTextInput.TextInputElement; }, function (_componentsLabelLabel) { Label = _componentsLabelLabel.Label; }, function (_componentsSegmentSegment) { Segment = _componentsSegmentSegment.Segment; SegmentButton = _componentsSegmentSegment.SegmentButton; }, function (_componentsRadioRadio) { RadioGroup = _componentsRadioRadio.RadioGroup; RadioButton = _componentsRadioRadio.RadioButton; }, function (_componentsSearchbarSearchbar) { Searchbar = _componentsSearchbarSearchbar.Searchbar; SearchbarInput = _componentsSearchbarSearchbar.SearchbarInput; }, function (_componentsNavNav) { Nav = _componentsNavNav.Nav; }, function (_componentsNavNavPush) { NavPush = _componentsNavNavPush.NavPush; NavPop = _componentsNavNavPush.NavPop; }, function (_componentsNavNavRouter) { NavRouter = _componentsNavNavRouter.NavRouter; }, function (_componentsNavbarNavbar) { NavbarTemplate = _componentsNavbarNavbar.NavbarTemplate; Navbar = _componentsNavbarNavbar.Navbar; }, function (_componentsAppId) { IdRef = _componentsAppId.IdRef; }, function (_componentsShowHideWhenShowHideWhen) { ShowWhen = _componentsShowHideWhenShowHideWhen.ShowWhen; HideWhen = _componentsShowHideWhenShowHideWhen.HideWhen; }], execute: function () { IONIC_DIRECTIVES = [ // Angular CORE_DIRECTIVES, FORM_DIRECTIVES, // Content OverlayNav, Menu, MenuToggle, MenuClose, Button, Blur, Content, Scroll, Refresher, // Lists List, ListHeader, Item, ItemSliding, // Slides Slides, Slide, SlideLazy, // Tabs Tabs, Tab, // Toolbar Toolbar, ToolbarTitle, ToolbarItem, // Media Icon, // Forms Searchbar, SearchbarInput, Segment, SegmentButton, Checkbox, RadioGroup, RadioButton, Toggle, TextInput, TextInputElement, Label, // Nav Nav, NavbarTemplate, Navbar, NavPush, NavPop, NavRouter, IdRef, ShowWhen, HideWhen]; _export('IONIC_DIRECTIVES', IONIC_DIRECTIVES); } }; }); System.register('ionic/config/modes', ['./config'], function (_export) { // iOS Mode Settings 'use strict'; var Config; return { setters: [function (_config) { Config = _config.Config; }], execute: function () { Config.setModeConfig('ios', { activator: 'highlight', actionSheetEnter: 'action-sheet-slide-in', actionSheetLeave: 'action-sheet-slide-out', alertEnter: 'alert-pop-in', alertLeave: 'alert-pop-out', backButtonText: 'Back', backButtonIcon: 'ion-ios-arrow-back', iconMode: 'ios', menuType: 'reveal', modalEnter: 'modal-slide-in', modalLeave: 'modal-slide-out', pageTransition: 'ios-transition', pageTransitionDelay: 16, tabbarPlacement: 'bottom' }); // Material Design Mode Settings Config.setModeConfig('md', { activator: 'ripple', actionSheetEnter: 'action-sheet-md-slide-in', actionSheetLeave: 'action-sheet-md-slide-out', alertEnter: 'alert-md-pop-in', alertLeave: 'alert-md-pop-out', backButtonText: '', backButtonIcon: 'ion-md-arrow-back', iconMode: 'md', menuType: 'overlay', modalEnter: 'modal-md-slide-in', modalLeave: 'modal-md-slide-out', pageTransition: 'md-transition', pageTransitionDelay: 120, tabbarHighlight: true, tabbarPlacement: 'top', tabSubPages: true }); } }; }); System.register('ionic/decorators/app', ['angular2/core', 'angular2/platform/browser', '../components/tap-click/tap-click', '../config/bootstrap', '../config/directives'], function (_export) { /** * @name App * @description * App is an Ionic decorator that bootstraps an application. It can be passed a number of arguments, that act as global config variables for the app. * App can accept a `template` property that has an inline template or a `templateUrl` property that points to an external html template. * * @usage * ```ts * import {App} from 'ionic/ionic'; * * @App({ * templateUrl: 'app/app.html' * }) * * export class MyApp{ * // Anything we would want to do at the root of our app * } * ``` * * @param {Object} [config] - the app's [../Config](Config) object * @param {String} [template] - the template to use for the app root * @param {String} [templateUrl] - a relative URL pointing to the template to use for the app root * */ 'use strict'; var Component, bootstrap, TapClick, ionicProviders, IONIC_DIRECTIVES; _export('App', App); function App() { var args = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; return function (cls) { // get current annotations var annotations = Reflect.getMetadata('annotations', cls) || []; args.selector = 'ion-app'; // auto add Ionic directives args.directives = args.directives ? args.directives.concat(IONIC_DIRECTIVES) : IONIC_DIRECTIVES; // if no template was provided, default so it has a root if (!args.templateUrl && !args.template) { args.template = ''; } // create @Component annotations.push(new Component(args)); // redefine with added annotations Reflect.defineMetadata('annotations', annotations, cls); // define array of bootstrap providers var providers = ionicProviders(args).concat(args.providers || []); bootstrap(cls, providers).then(function (appRef) { appRef.injector.get(TapClick); }); return cls; }; } return { setters: [function (_angular2Core) { Component = _angular2Core.Component; }, function (_angular2PlatformBrowser) { bootstrap = _angular2PlatformBrowser.bootstrap; }, function (_componentsTapClickTapClick) { TapClick = _componentsTapClickTapClick.TapClick; }, function (_configBootstrap) { ionicProviders = _configBootstrap.ionicProviders; }, function (_configDirectives) { IONIC_DIRECTIVES = _configDirectives.IONIC_DIRECTIVES; }], execute: function () {} }; }); System.register('ionic/decorators/config-component', ['angular2/core'], function (_export) { /** * @private */ 'use strict'; var Component; /** * @private */ _export('ConfigComponent', ConfigComponent); function ConfigComponent(config) { return function (cls) { var annotations = Reflect.getMetadata('annotations', cls) || []; annotations.push(new Component(appendConfig(cls, config))); Reflect.defineMetadata('annotations', annotations, cls); return cls; }; } function appendConfig(cls, config) { config.host = config.host || {}; cls.defaultInputs = config.defaultInputs || {}; config.inputs = config.inputs || []; for (var prop in cls.defaultInputs) { // add the property to the component "inputs" config.inputs.push(prop); // set the component "hostProperties", so the instance's // input value will be used to set the element's attribute config.host['[attr.' + prop + ']'] = prop; } cls.delegates = config.delegates; return config; } return { setters: [function (_angular2Core) { Component = _angular2Core.Component; }], execute: function () {} }; }); System.register('ionic/decorators/page', ['angular2/core', '../config/directives'], function (_export) { /** * @name Page * @description *For more information on how pages are created, see the [NavController API reference](../../components/nav/NavController/#creating_pages) * * The Page decorator indicates that the decorated class is an Ionic * navigation component, meaning it can be navigated to using a NavController. * * Pages have all `IONIC_DIRECTIVES`, which include all Ionic components and directives, * as well as Angular's [CORE_DIRECTIVES](https://angular.io/docs/js/latest/api/core/CORE_DIRECTIVES-const.html) * and [FORM_DIRECTIVES](https://angular.io/docs/js/latest/api/core/FORM_DIRECTIVES-const.html), * already provided to them, so you only need to supply custom components and directives to your pages: * * @usage * * ```ts * @Page({ * template: ` * * I am a page! * * ` * }) * class MyPage {} * ``` * * Here [Content](../../../components/content/Content/) will load because * it is in `IONIC_DIRECTIVES`, so there is no need to add a `directives` array. * * * Say you built a custom component that uses the already existing Ionic component. * In this case, you would add `IONIC_DIRECTIVES` to your directives array. * * ```ts * import {IONIC_DIRECTIVES} from 'ionic/ionic'; * @Component({ * selector: 'my-component' * template: `
* *
`, * directives: [IONIC_DIRECTIVES] * }) * class MyCustomCheckbox {} *``` * Alternatively, you could: * * ```ts * import {Checkbox, Icon} from 'ionic/ionic' * ``` * * along with any other components and add them individually: * * ``` * @Component({ * ... * directives: [Checkbox, Icon] * }) * ``` * * However, using IONIC_DIRECTIVES will always *Just Work* with no * performance overhead, so there is really no reason to not always use it. * * Pages have their content automatically wrapped in ``, so although * you may see these tags if you inspect your markup, you don't need to include * them in your templates. */ 'use strict'; var Component, IONIC_DIRECTIVES; _export('Page', Page); function Page() { var config = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; return function (cls) { config.selector = 'ion-page'; config.directives = config.directives ? config.directives.concat(IONIC_DIRECTIVES) : IONIC_DIRECTIVES; config.host = config.host || {}; config.host['[hidden]'] = '_hidden'; config.host['[class.tab-subpage]'] = '_tabSubPage'; var annotations = Reflect.getMetadata('annotations', cls) || []; annotations.push(new Component(config)); Reflect.defineMetadata('annotations', annotations, cls); return cls; }; } return { setters: [function (_angular2Core) { Component = _angular2Core.Component; }, function (_configDirectives) { IONIC_DIRECTIVES = _configDirectives.IONIC_DIRECTIVES; }], execute: function () {} }; }); System.register('ionic/platform/platform', ['../util/util', '../util/dom'], function (_export) { /** * @name Platform * @description * Platform returns the availble information about your current platform. * Platforms in Ionic 2 are much more complex then in V1, returns not just a single platform, * but a hierarchy of information, such as a devices OS, phone vs tablet, or mobile vs browser. * With this information you can completely custimize your app to fit any device and platform. * * @usage * ```ts * import {Platform} 'ionic/ionic'; * export MyClass { * constructor(platform: Platform){ * this.platform = platform; * } * } * ``` * @demo /docs/v3/demos/platform/ */ 'use strict'; var getQuerystring, extend, ready, windowDimensions, flushDimensionCache, Platform, PlatformNode, platformRegistry, platformDefault; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function insertSuperset(platformNode) { var supersetPlaformName = platformNode.superset(); if (supersetPlaformName) { // add a platform in between two exist platforms // so we can build the correct hierarchy of active platforms var supersetPlatform = new PlatformNode(supersetPlaformName); supersetPlatform.parent(platformNode.parent()); supersetPlatform.child(platformNode); if (supersetPlatform.parent()) { supersetPlatform.parent().child(supersetPlatform); } platformNode.parent(supersetPlatform); } } return { setters: [function (_utilUtil) { getQuerystring = _utilUtil.getQuerystring; extend = _utilUtil.extend; }, function (_utilDom) { ready = _utilDom.ready; windowDimensions = _utilDom.windowDimensions; flushDimensionCache = _utilDom.flushDimensionCache; }], execute: function () { Platform = (function () { function Platform() { var _this = this; var platforms = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0]; _classCallCheck(this, Platform); this._platforms = platforms; this._versions = {}; this._dir = null; this._lang = null; this._onResizes = []; this._readyPromise = new Promise(function (res) { _this._readyResolve = res; }); } // Methods // ********************************************** /** * @param {string} platformName * @returns {bool} returns true/false based on platform you place * @description * Depending on the platform name, isPlatform will return true or flase * * ``` * import {Platform} 'ionic/ionic'; * export MyClass { * constructor(platform: Platform){ * this.platform = platform; * if(this.platform.is('ios'){ * // what ever you need to do for * // if the platfomr is ios * } * } * } * ``` */ _createClass(Platform, [{ key: 'is', value: function is(platformName) { return this._platforms.indexOf(platformName) > -1; } /** * @returns {array} the array of platforms * @description * Depending on what device you are on, `platforms` can return multiple values. * Each possible value is a hierarchy of platforms. For example, on an iPhone, * it would return mobile, ios, and iphone. * * ``` * import {Platform} 'ionic/ionic'; * export MyClass { * constructor(platform: Platform){ * this.platform = platform; * console.log(this.platform.platforms()); * // This will return an array of all the availble platforms * // From if your on mobile, to mobile os, and device name * } * } * ``` */ }, { key: 'platforms', value: function platforms() { // get the array of active platforms, which also knows the hierarchy, // with the last one the most important return this._platforms; } /** * Returns an object containing information about the paltform * * ``` * import {Platform} 'ionic/ionic'; * export MyClass { * constructor(platform: Platform){ * this.platform = platform; * console.log(this.platform.versions()); * } * } * ``` * @param {string} [platformName] optional platformName * @returns {object} An object with various platform info * */ }, { key: 'versions', value: function versions(platformName) { if (arguments.length) { // get a specific platform's version return this._versions[platformName]; } // get all the platforms that have a valid parsed version return this._versions; } /** * @private */ }, { key: 'version', value: function version() { for (var platformName in this._versions) { if (this._versions[platformName]) { return this._versions[platformName]; } } return {}; } /** * Returns a promise when the platform is ready and native functionality can be called * * ``` * import {Platform} 'ionic/ionic'; * export MyClass { * constructor(platform: Platform){ * this.platform = platform; * this.platform.ready().then(() => { * console.log('Platform ready'); * // The platform is now ready, execute any native code you want * }); * } * } * ``` * @returns {promise} Returns a promsie when device ready has fired */ }, { key: 'ready', value: function ready() { return this._readyPromise; } /** * @private */ }, { key: 'prepareReady', value: function prepareReady(config) { var self = this; function resolve() { self._readyResolve(config); } if (this._engineReady) { // the engine provide a ready promise, use this instead this._engineReady(resolve); } else { // there is no custom ready method from the engine // use the default dom ready ready(resolve); } } /** * Set the app's language direction, which will update the `dir` attribute * on the app's root `` element. We recommend the app's `index.html` * file already has the correct `dir` attribute value set, such as * `` or ``. This method is useful if the * direction needs to be dynamically changed per user/session. * [W3C: Structural markup and right-to-left text in HTML](http://www.w3.org/International/questions/qa-html-dir) * @param {string} dir Examples: `rtl`, `ltr` */ }, { key: 'setDir', value: function setDir(dir, updateDocument) { this._dir = (dir || '').toLowerCase(); if (updateDocument !== false) { document.documentElement.setAttribute('dir', dir); } } /** * Returns app's language direction. * We recommend the app's `index.html` file already has the correct `dir` * attribute value set, such as `` or ``. * [W3C: Structural markup and right-to-left text in HTML](http://www.w3.org/International/questions/qa-html-dir) * @returns {string} */ }, { key: 'dir', value: function dir() { return this._dir; } /** * Returns if this app is using right-to-left language direction or not. * We recommend the app's `index.html` file already has the correct `dir` * attribute value set, such as `` or ``. * [W3C: Structural markup and right-to-left text in HTML](http://www.w3.org/International/questions/qa-html-dir) * @returns {boolean} */ }, { key: 'isRTL', value: function isRTL() { return this._dir === 'rtl'; } /** * Set the app's language and optionally the country code, which will update * the `lang` attribute on the app's root `` element. * We recommend the app's `index.html` file already has the correct `lang` * attribute value set, such as ``. This method is useful if * the language needs to be dynamically changed per user/session. * [W3C: Declaring language in HTML](http://www.w3.org/International/questions/qa-html-language-declarations) * @param {string} language Examples: `en-US`, `en-GB`, `ar`, `de`, `zh`, `es-MX` */ }, { key: 'setLang', value: function setLang(language, updateDocument) { this._lang = language; if (updateDocument !== false) { document.documentElement.setAttribute('lang', language); } } /** * Returns app's language and optional country code. * We recommend the app's `index.html` file already has the correct `lang` * attribute value set, such as ``. * [W3C: Declaring language in HTML](http://www.w3.org/International/questions/qa-html-language-declarations) * @returns {string} */ }, { key: 'lang', value: function lang() { return this._lang; } // Methods meant to be overridden by the engine // ********************************************** // Provided NOOP methods so they do not error when // called by engines (the browser) doesn't provide them /** * @private */ }, { key: 'on', value: function on() {} /** * @private */ }, { key: 'onHardwareBackButton', value: function onHardwareBackButton() {} /** * @private */ }, { key: 'registerBackButtonAction', value: function registerBackButtonAction() {} /** * @private */ }, { key: 'exitApp', value: function exitApp() {} /** * @private */ }, { key: 'fullScreen', value: function fullScreen() {} /** * @private */ }, { key: 'showStatusBar', value: function showStatusBar() {} // Getter/Setter Methods // ********************************************** /** * @private */ }, { key: 'url', value: function url(val) { if (arguments.length) { this._url = val; this._qs = getQuerystring(val); } return this._url; } /** * @private */ }, { key: 'query', value: function query(key) { return (this._qs || {})[key]; } /** * @private */ }, { key: 'userAgent', value: function userAgent(val) { if (arguments.length) { this._ua = val; } return this._ua || ''; } /** * @private */ }, { key: 'navigatorPlatform', value: function navigatorPlatform(val) { if (arguments.length) { this._bPlt = val; } return this._bPlt || ''; } /** * @private */ }, { key: 'width', value: function width() { return windowDimensions().width; } /** * @private */ }, { key: 'height', value: function height() { return windowDimensions().height; } /** * @private */ }, { key: 'isPortrait', value: function isPortrait() { return this.width() < this.height(); } /** * @private */ }, { key: 'isLandscape', value: function isLandscape() { return !this.isPortrait(); } /** * @private */ }, { key: 'windowResize', value: function windowResize() { var self = this; clearTimeout(self._resizeTimer); self._resizeTimer = setTimeout(function () { flushDimensionCache(); for (var i = 0; i < self._onResizes.length; i++) { try { self._onResizes[i](); } catch (e) { console.error(e); } } }, 250); } /** * @private */ }, { key: 'onResize', value: function onResize(cb) { this._onResizes.push(cb); } // Platform Registry // ********************************************** /** * @private */ }, { key: 'testQuery', /** * @private */ value: function testQuery(queryValue, queryTestValue) { var valueSplit = queryValue.toLowerCase().split(';'); return valueSplit.indexOf(queryTestValue) > -1; } /** * @private */ }, { key: 'testUserAgent', value: function testUserAgent(userAgentExpression) { var rgx = new RegExp(userAgentExpression, 'i'); return rgx.test(this._ua || ''); } /** * @private */ }, { key: 'testNavigatorPlatform', value: function testNavigatorPlatform(navigatorPlatformExpression) { var rgx = new RegExp(navigatorPlatformExpression, 'i'); return rgx.test(this._bPlt); } /** * @private */ }, { key: 'matchUserAgentVersion', value: function matchUserAgentVersion(userAgentExpression) { if (this._ua && userAgentExpression) { var val = this._ua.match(userAgentExpression); if (val) { return { major: val[1], minor: val[2] }; } } } /** * @private */ }, { key: 'isPlatform', value: function isPlatform(queryTestValue, userAgentExpression) { if (!userAgentExpression) { userAgentExpression = queryTestValue; } var queryValue = this.query('ionicplatform'); if (queryValue) { return this.testQuery(queryValue, queryTestValue); } return this.testUserAgent(userAgentExpression); } /** * @private */ }, { key: 'load', value: function load(platformOverride) { var rootPlatformNode = null; var engineNode = null; var self = this; this.platformOverride = platformOverride; // figure out the most specific platform and active engine var tmpPlatform = null; for (var platformName in platformRegistry) { tmpPlatform = this.matchPlatform(platformName); if (tmpPlatform) { // we found a platform match! // check if its more specific than the one we already have if (tmpPlatform.isEngine) { // because it matched then this should be the active engine // you cannot have more than one active engine engineNode = tmpPlatform; } else if (!rootPlatformNode || tmpPlatform.depth > rootPlatformNode.depth) { // only find the root node for platforms that are not engines // set this node as the root since we either don't already // have one, or this one is more specific that the current one rootPlatformNode = tmpPlatform; } } } if (!rootPlatformNode) { rootPlatformNode = new PlatformNode(platformDefault); } // build a Platform instance filled with the // hierarchy of active platforms and settings if (rootPlatformNode) { // check if we found an engine node (cordova/node-webkit/etc) if (engineNode) { // add the engine to the first in the platform hierarchy // the original rootPlatformNode now becomes a child // of the engineNode, which is not the new root engineNode.child(rootPlatformNode); rootPlatformNode.parent(engineNode); rootPlatformNode = engineNode; // add any events which the engine would provide // for example, Cordova provides its own ready event var engineMethods = engineNode.methods(); engineMethods._engineReady = engineMethods.ready; delete engineMethods.ready; extend(this, engineMethods); } var platformNode = rootPlatformNode; while (platformNode) { insertSuperset(platformNode); platformNode = platformNode.child(); } // make sure the root noot is actually the root // incase a node was inserted before the root platformNode = rootPlatformNode.parent(); while (platformNode) { rootPlatformNode = platformNode; platformNode = platformNode.parent(); } platformNode = rootPlatformNode; while (platformNode) { // set the array of active platforms with // the last one in the array the most important this._platforms.push(platformNode.name()); // get the platforms version if a version parser was provided this._versions[platformNode.name()] = platformNode.version(this); // go to the next platform child platformNode = platformNode.child(); } } if (this._platforms.indexOf('mobile') > -1 && this._platforms.indexOf('cordova') === -1) { this._platforms.push('mobileweb'); } } /** * @private */ }, { key: 'matchPlatform', value: function matchPlatform(platformName) { // build a PlatformNode and assign config data to it // use it's getRoot method to build up its hierarchy // depending on which platforms match var platformNode = new PlatformNode(platformName); var rootNode = platformNode.getRoot(this, 0); if (rootNode) { rootNode.depth = 0; var childPlatform = rootNode.child(); while (childPlatform) { rootNode.depth++; childPlatform = childPlatform.child(); } } return rootNode; } }], [{ key: 'register', value: function register(platformConfig) { platformRegistry[platformConfig.name] = platformConfig; } /** * @private */ }, { key: 'registry', value: function registry() { return platformRegistry; } /** * @private */ }, { key: 'get', value: function get(platformName) { return platformRegistry[platformName] || {}; } /** * @private */ }, { key: 'setDefault', value: function setDefault(platformName) { platformDefault = platformName; } }]); return Platform; })(); _export('Platform', Platform); PlatformNode = (function () { function PlatformNode(platformName) { _classCallCheck(this, PlatformNode); this.c = Platform.get(platformName); this.isEngine = this.c.isEngine; } _createClass(PlatformNode, [{ key: 'name', value: function name() { return this.c.name; } }, { key: 'settings', value: function settings() { return this.c.settings || {}; } }, { key: 'superset', value: function superset() { return this.c.superset; } }, { key: 'methods', value: function methods() { return this.c.methods || {}; } }, { key: 'parent', value: function parent(val) { if (arguments.length) { this._parent = val; } return this._parent; } }, { key: 'child', value: function child(val) { if (arguments.length) { this._child = val; } return this._child; } }, { key: 'isMatch', value: function isMatch(p) { if (p.platformOverride && !this.isEngine) { return p.platformOverride === this.c.name; } else if (!this.c.isMatch) { return false; } return this.c.isMatch(p); } }, { key: 'version', value: function version(p) { if (this.c.versionParser) { var v = this.c.versionParser(p); if (v) { var str = v.major + '.' + v.minor; return { str: str, num: parseFloat(str), major: parseInt(v.major, 10), minor: parseInt(v.minor, 10) }; } } } }, { key: 'getRoot', value: function getRoot(p) { if (this.isMatch(p)) { var parents = this.getSubsetParents(this.name()); if (!parents.length) { return this; } var platform = null; var rootPlatform = null; for (var i = 0; i < parents.length; i++) { platform = new PlatformNode(parents[i]); platform.child(this); rootPlatform = platform.getRoot(p); if (rootPlatform) { this.parent(platform); return rootPlatform; } } } return null; } }, { key: 'getSubsetParents', value: function getSubsetParents(subsetPlatformName) { var platformRegistry = Platform.registry(); var parentPlatformNames = []; var platform = null; for (var platformName in platformRegistry) { platform = platformRegistry[platformName]; if (platform.subsets && platform.subsets.indexOf(subsetPlatformName) > -1) { parentPlatformNames.push(platformName); } } return parentPlatformNames; } }]); return PlatformNode; })(); platformRegistry = {}; platformDefault = null; } }; }); System.register('ionic/platform/registry', ['./platform', '../util/dom'], function (_export) { 'use strict'; var Platform, windowLoad; function isIOSDevice(p) { // shortcut function to be reused internally // checks navigator.platform to see if it's an actual iOS device // this does not use the user-agent string because it is often spoofed // an actual iPad will return true, a chrome dev tools iPad will return false return p.testNavigatorPlatform('iphone|ipad|ipod'); } return { setters: [function (_platform) { Platform = _platform.Platform; }, function (_utilDom) { windowLoad = _utilDom.windowLoad; }], execute: function () { Platform.register({ name: 'core', settings: { mode: 'ios', keyboardHeight: 290 } }); Platform.setDefault('core'); Platform.register({ name: 'mobile' }); Platform.register({ name: 'phablet', isMatch: function isMatch(p) { var smallest = Math.min(p.width(), p.height()); var largest = Math.max(p.width(), p.height()); return smallest > 390 && smallest < 520 && largest > 620 && largest < 800; } }); Platform.register({ name: 'tablet', isMatch: function isMatch(p) { var smallest = Math.min(p.width(), p.height()); var largest = Math.max(p.width(), p.height()); return smallest > 460 && smallest < 820 && largest > 780 && largest < 1400; } }); Platform.register({ name: 'android', superset: 'mobile', subsets: ['phablet', 'tablet'], settings: { activator: function activator(p) { // md mode defaults to use ripple activator // however, under-powered devices shouldn't use ripple // if this a linux device, and is using Android Chrome v36 (Android 5.0) // or above then use ripple, otherwise do not use a ripple effect if (p.testNavigatorPlatform('linux')) { var chromeVersion = p.matchUserAgentVersion(/Chrome\/(\d+).(\d+)?/); if (chromeVersion) { // linux android device using modern android chrome browser gets ripple return parseInt(chromeVersion.major, 10) < 36 ? 'none' : 'ripple'; } // linux android device not using chrome browser checks just android's version if (p.version().major < 5) { return 'none'; } } // fallback to always use ripple return 'ripple'; }, hoverCSS: false, keyboardHeight: 300, mode: 'md', scrollAssist: true }, isMatch: function isMatch(p) { return p.isPlatform('android', 'android|silk'); }, versionParser: function versionParser(p) { return p.matchUserAgentVersion(/Android (\d+).(\d+)?/); } }); Platform.register({ name: 'ios', superset: 'mobile', subsets: ['ipad', 'iphone'], settings: { clickBlock: true, hoverCSS: false, keyboardHeight: 300, mode: 'ios', scrollAssist: isIOSDevice, swipeBackEnabled: isIOSDevice, swipeBackThreshold: 40, tapPolyfill: isIOSDevice }, isMatch: function isMatch(p) { return p.isPlatform('ios', 'iphone|ipad|ipod'); }, versionParser: function versionParser(p) { return p.matchUserAgentVersion(/OS (\d+)_(\d+)?/); } }); Platform.register({ name: 'ipad', superset: 'tablet', settings: { keyboardHeight: 500 }, isMatch: function isMatch(p) { return p.isPlatform('ipad'); } }); Platform.register({ name: 'iphone', subsets: ['phablet'], isMatch: function isMatch(p) { return p.isPlatform('iphone'); } }); Platform.register({ name: 'windowsphone', superset: 'mobile', subsets: ['phablet', 'tablet'], settings: { mode: 'md' }, isMatch: function isMatch(p) { return p.isPlatform('windowsphone', 'windows phone'); }, versionParser: function versionParser(p) { return p.matchUserAgentVersion(/Windows Phone (\d+).(\d+)?/); } }); Platform.register({ name: 'cordova', isEngine: true, methods: { ready: function ready(resolve) { function isReady() { document.removeEventListener('deviceready', isReady); resolve(); } windowLoad(function () { document.addEventListener('deviceready', isReady); }); } }, isMatch: function isMatch() { return !!(window.cordova || window.PhoneGap || window.phonegap); } }); } }; }); System.register('ionic/platform/storage', ['./storage/storage', './storage/local-storage', './storage/sql'], function (_export) { 'use strict'; return { setters: [function (_storageStorage) { for (var _key in _storageStorage) { if (_key !== 'default') _export(_key, _storageStorage[_key]); } }, function (_storageLocalStorage) { for (var _key2 in _storageLocalStorage) { if (_key2 !== 'default') _export(_key2, _storageLocalStorage[_key2]); } }, function (_storageSql) { for (var _key3 in _storageSql) { if (_key3 !== 'default') _export(_key3, _storageSql[_key3]); } }], execute: function () {} }; }); System.register("ionic/translation/translate", ["angular2/core"], function (_export) { /** * @private * Provide multi-language and i18n support in your app. Translate works by * mapping full strings to language translated ones. That means that you don't need * to provide strings for your default language, just new languages. * * @usage * ```js * Translate.translations({ * 'de': { * 'Welcome to MyApp': 'Willkommen auf' * } * }) * * Changing the default language: * * Translate.setLanguage('de'); * ``` * * Usage in a template: * * ```js * {{ 'Welcome to MyApp' | translate }} * ``` */ "use strict"; var Injectable, __decorate, __metadata, Translate; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Injectable = _angular2Core.Injectable; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Translate = (function () { function Translate() { _classCallCheck(this, Translate); this._transMap = {}; } _createClass(Translate, [{ key: "translations", value: function translations(lang, map) { this._transMap[lang] = map; } }, { key: "setLanguage", value: function setLanguage(lang) { this._language = lang; } }, { key: "getTranslations", value: function getTranslations(lang) { return this._transMap[lang]; } }, { key: "translate", value: function translate(key, lang) { // If the language isn't specified and we have no overridden one, return the string passed. if (!lang && !this._language) { return key; } var setLanguage = lang || this._language; var map = this.getTranslations(setLanguage); if (!map) { console.warn('I18N: No translation for key', key, 'using language', setLanguage); return ''; } return this._getTranslation(map, key); } }, { key: "_getTranslation", value: function _getTranslation(map, key) { return map && map[key] || ''; } }]); return Translate; })(); _export("Translate", Translate); _export("Translate", Translate = __decorate([Injectable(), __metadata('design:paramtypes', [])], Translate)); } }; }); System.register("ionic/translation/translate_pipe", ["angular2/core", "./translate"], function (_export) { /** * @private * The Translate pipe makes it easy to translate strings. * * @usage * Translate using the current language or language set through Translate.setLanguage * {{ 'Please enter your location' | translate }} * * Translate using a specific language * {{ 'Please enter your location' | translate:"de" }} */ "use strict"; var Injectable, Pipe, Translate, __decorate, __metadata, TranslatePipe, _a; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Injectable = _angular2Core.Injectable; Pipe = _angular2Core.Pipe; }, function (_translate) { Translate = _translate.Translate; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; TranslatePipe = (function () { function TranslatePipe(translate) { _classCallCheck(this, TranslatePipe); this.translate = translate; } _createClass(TranslatePipe, [{ key: "transform", value: function transform(value, args) { var lang = undefined; if (args.length > 0) { lang = args[0]; } return this.translate.translate(value, lang); } }, { key: "supports", value: function supports(obj) { return true; } }]); return TranslatePipe; })(); _export("TranslatePipe", TranslatePipe); _export("TranslatePipe", TranslatePipe = __decorate([Pipe({ name: 'translate' }), Injectable(), __metadata('design:paramtypes', [typeof (_a = typeof Translate !== 'undefined' && Translate) === 'function' && _a || Object])], TranslatePipe)); } }; }); System.register('ionic/gestures/drag-gesture', ['./gesture', '../util'], function (_export) { 'use strict'; var Gesture, util, DragGesture; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x2, _x3, _x4) { var _again = true; _function: while (_again) { var object = _x2, property = _x3, receiver = _x4; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x2 = parent; _x3 = property; _x4 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_gesture) { Gesture = _gesture.Gesture; }, function (_util) { util = _util; }], execute: function () { DragGesture = (function (_Gesture) { _inherits(DragGesture, _Gesture); function DragGesture(element) { var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; _classCallCheck(this, DragGesture); util.defaults(opts, {}); _get(Object.getPrototypeOf(DragGesture.prototype), 'constructor', this).call(this, element, opts); } _createClass(DragGesture, [{ key: 'listen', value: function listen() { var _this = this; _get(Object.getPrototypeOf(DragGesture.prototype), 'listen', this).call(this); this.on('panstart', function (ev) { if (_this.onDragStart(ev) !== false) { _this.dragging = true; } }); this.on('panmove', function (ev) { if (!_this.dragging) return; if (_this.onDrag(ev) === false) { _this.dragging = false; } }); this.on('panend', function (ev) { if (!_this.dragging) return; _this.onDragEnd(ev); _this.dragging = false; }); this.hammertime.get('pan').set(this._options); } }, { key: 'onDrag', value: function onDrag() {} }, { key: 'onDragStart', value: function onDragStart() {} }, { key: 'onDragEnd', value: function onDragEnd() {} }]); return DragGesture; })(Gesture); _export('DragGesture', DragGesture); } }; }); System.register('ionic/gestures/gesture', ['../util', './hammer'], function (_export) { /** * A gesture recognizer class. * * TODO(mlynch): Re-enable the DOM event simulation that was causing issues (or verify hammer does this already, it might); */ 'use strict'; var util, Hammer, Gesture; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } return { setters: [function (_util) { util = _util; }, function (_hammer) { Hammer = _hammer.Hammer; }], execute: function () { Gesture = (function () { function Gesture(element) { var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; _classCallCheck(this, Gesture); util.defaults(opts, { domEvents: true }); this.element = element; // Map 'x' or 'y' string to hammerjs opts this.direction = opts.direction || 'x'; opts.direction = this.direction === 'x' ? Hammer.DIRECTION_HORIZONTAL : Hammer.DIRECTION_VERTICAL; this._options = opts; this._callbacks = {}; } _createClass(Gesture, [{ key: 'options', value: function options() { var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; util.extend(this._options, opts); } }, { key: 'on', value: function on(type, cb) { if (type == 'pinch' || type == 'rotate') { this.hammertime.get('pinch').set({ enable: true }); } this.hammertime.on(type, cb); (this._callbacks[type] || (this._callbacks[type] = [])).push(cb); } }, { key: 'off', value: function off(type, cb) { this.hammertime.off(type, this._callbacks[type] ? cb : null); } }, { key: 'listen', value: function listen() { this.hammertime = Hammer(this.element, this._options); } }, { key: 'unlisten', value: function unlisten() { if (this.hammertime) { for (var type in this._callbacks) { for (var i = 0; i < this._callbacks[type].length; i++) { this.hammertime.off(type, this._callbacks[type]); } } this.hammertime.destroy(); this.hammertime = null; this._callbacks = {}; } } }, { key: 'destroy', value: function destroy() { this.unlisten(); } }]); return Gesture; })(); _export('Gesture', Gesture); } }; }); System.register('ionic/gestures/hammer', [], function (_export) { /*! Hammer.JS - v2.0.4 - 2014-09-28 * http://hammerjs.github.io/ * * Copyright (c) 2014 Jorik Tangelder; * Licensed under the MIT license */ 'use strict'; var VENDOR_PREFIXES, TEST_ELEMENT, TYPE_FUNCTION, round, abs, now, _uniqueId, MOBILE_REGEX, SUPPORT_TOUCH, SUPPORT_POINTER_EVENTS, SUPPORT_ONLY_TOUCH, INPUT_TYPE_TOUCH, INPUT_TYPE_PEN, INPUT_TYPE_MOUSE, INPUT_TYPE_KINECT, COMPUTE_INTERVAL, INPUT_START, INPUT_MOVE, INPUT_END, INPUT_CANCEL, DIRECTION_NONE, DIRECTION_LEFT, DIRECTION_RIGHT, DIRECTION_UP, DIRECTION_DOWN, DIRECTION_HORIZONTAL, DIRECTION_VERTICAL, DIRECTION_ALL, PROPS_XY, PROPS_CLIENT_XY, MOUSE_INPUT_MAP, MOUSE_ELEMENT_EVENTS, MOUSE_WINDOW_EVENTS, POINTER_INPUT_MAP, IE10_POINTER_TYPE_ENUM, POINTER_ELEMENT_EVENTS, POINTER_WINDOW_EVENTS, SINGLE_TOUCH_INPUT_MAP, SINGLE_TOUCH_TARGET_EVENTS, SINGLE_TOUCH_WINDOW_EVENTS, TOUCH_INPUT_MAP, TOUCH_TARGET_EVENTS, PREFIXED_TOUCH_ACTION, NATIVE_TOUCH_ACTION, TOUCH_ACTION_COMPUTE, TOUCH_ACTION_AUTO, TOUCH_ACTION_MANIPULATION, TOUCH_ACTION_NONE, TOUCH_ACTION_PAN_X, TOUCH_ACTION_PAN_Y, STATE_POSSIBLE, STATE_BEGAN, STATE_CHANGED, STATE_ENDED, STATE_RECOGNIZED, STATE_CANCELLED, STATE_FAILED, STOP, FORCED_STOP; /** * set a timeout with a given scope * @param {Function} fn * @param {Number} timeout * @param {Object} context * @returns {number} */ function setTimeoutContext(fn, timeout, context) { return setTimeout(bindFn(fn, context), timeout); } /** * if the argument is an array, we want to execute the fn on each entry * if it aint an array we don't want to do a thing. * this is used by all the methods that accept a single and array argument. * @param {*|Array} arg * @param {String} fn * @param {Object} [context] * @returns {Boolean} */ function invokeArrayArg(arg, fn, context) { if (Array.isArray(arg)) { each(arg, context[fn], context); return true; } return false; } /** * walk objects and arrays * @param {Object} obj * @param {Function} iterator * @param {Object} context */ function each(obj, iterator, context) { var i; if (!obj) { return; } if (obj.forEach) { obj.forEach(iterator, context); } else if (obj.length !== undefined) { i = 0; while (i < obj.length) { iterator.call(context, obj[i], i, obj); i++; } } else { for (i in obj) { obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj); } } } /** * extend object. * means that properties in dest will be overwritten by the ones in src. * @param {Object} dest * @param {Object} src * @param {Boolean} [merge] * @returns {Object} dest */ function extend(dest, src, merge) { var keys = Object.keys(src); var i = 0; while (i < keys.length) { if (!merge || merge && dest[keys[i]] === undefined) { dest[keys[i]] = src[keys[i]]; } i++; } return dest; } /** * merge the values from src in the dest. * means that properties that exist in dest will not be overwritten by src * @param {Object} dest * @param {Object} src * @returns {Object} dest */ function merge(dest, src) { return extend(dest, src, true); } /** * simple class inheritance * @param {Function} child * @param {Function} base * @param {Object} [properties] */ function inherit(child, base, properties) { var baseP = base.prototype, childP; childP = child.prototype = Object.create(baseP); childP.constructor = child; childP._super = baseP; if (properties) { extend(childP, properties); } } /** * simple function bind * @param {Function} fn * @param {Object} context * @returns {Function} */ function bindFn(fn, context) { return function boundFn() { return fn.apply(context, arguments); }; } /** * let a boolean value also be a function that must return a boolean * this first item in args will be used as the context * @param {Boolean|Function} val * @param {Array} [args] * @returns {Boolean} */ function boolOrFn(val, args) { if (typeof val == TYPE_FUNCTION) { return val.apply(args ? args[0] || undefined : undefined, args); } return val; } /** * use the val2 when val1 is undefined * @param {*} val1 * @param {*} val2 * @returns {*} */ function ifUndefined(val1, val2) { return val1 === undefined ? val2 : val1; } /** * addEventListener with multiple events at once * @param {EventTarget} target * @param {String} types * @param {Function} handler */ function addEventListeners(target, types, handler) { each(splitStr(types), function (type) { //console.debug('hammer addEventListener', type, target.tagName); target.addEventListener(type, handler, false); }); } /** * removeEventListener with multiple events at once * @param {EventTarget} target * @param {String} types * @param {Function} handler */ function removeEventListeners(target, types, handler) { each(splitStr(types), function (type) { //console.debug('hammer removeEventListener', type, target.tagName); target.removeEventListener(type, handler, false); }); } /** * find if a node is in the given parent * @method hasParent * @param {HTMLElement} node * @param {HTMLElement} parent * @return {Boolean} found */ function hasParent(node, parent) { while (node) { if (node == parent) { return true; } node = node.parentNode; } return false; } /** * small indexOf wrapper * @param {String} str * @param {String} find * @returns {Boolean} found */ function inStr(str, find) { return str.indexOf(find) > -1; } /** * split string on whitespace * @param {String} str * @returns {Array} words */ function splitStr(str) { return str.trim().split(/\s+/g); } /** * find if a array contains the object using indexOf or a simple polyFill * @param {Array} src * @param {String} find * @param {String} [findByKey] * @return {Boolean|Number} false when not found, or the index */ function inArray(src, find, findByKey) { if (src.indexOf && !findByKey) { return src.indexOf(find); } else { var i = 0; while (i < src.length) { if (findByKey && src[i][findByKey] == find || !findByKey && src[i] === find) { return i; } i++; } return -1; } } /** * convert array-like objects to real arrays * @param {Object} obj * @returns {Array} */ function toArray(obj) { return Array.prototype.slice.call(obj, 0); } /** * unique array with objects based on a key (like 'id') or just by the array's value * @param {Array} src [{id:1},{id:2},{id:1}] * @param {String} [key] * @param {Boolean} [sort=False] * @returns {Array} [{id:1},{id:2}] */ function uniqueArray(src, key, sort) { var results = []; var values = []; var i = 0; while (i < src.length) { var val = key ? src[i][key] : src[i]; if (inArray(values, val) < 0) { results.push(src[i]); } values[i] = val; i++; } if (sort) { if (!key) { results = results.sort(); } else { results = results.sort(function sortUniqueArray(a, b) { return a[key] > b[key]; }); } } return results; } /** * get the prefixed property * @param {Object} obj * @param {String} property * @returns {String|Undefined} prefixed */ function prefixed(obj, property) { var prefix, prop; var camelProp = property[0].toUpperCase() + property.slice(1); var i = 0; while (i < VENDOR_PREFIXES.length) { prefix = VENDOR_PREFIXES[i]; prop = prefix ? prefix + camelProp : property; if (prop in obj) { return prop; } i++; } return undefined; } /** * get a unique id * @returns {number} uniqueId */ function uniqueId() { return _uniqueId++; } /** * get the window object of an element * @param {HTMLElement} element * @returns {DocumentView|Window} */ function getWindowForElement(element) { var doc = element.ownerDocument; return doc.defaultView || doc.parentWindow; } /** * create new input type manager * @param {Manager} manager * @param {Function} callback * @returns {Input} * @constructor */ function Input(manager, callback) { var self = this; this.manager = manager; this.callback = callback; this.element = manager.element; this.target = manager.options.inputTarget; // smaller wrapper around the handler, for the scope and the enabled state of the manager, // so when disabled the input events are completely bypassed. this.domHandler = function (ev) { if (boolOrFn(manager.options.enable, [manager])) { self.handler(ev); } }; this.init(); } /** * create new input type manager * called by the Manager constructor * @param {Hammer} manager * @returns {Input} */ function createInputInstance(manager) { var Type; var inputClass = manager.options.inputClass; if (inputClass) { Type = inputClass; } else if (SUPPORT_POINTER_EVENTS) { Type = PointerEventInput; } else if (SUPPORT_ONLY_TOUCH) { Type = TouchInput; } else if (!SUPPORT_TOUCH) { Type = MouseInput; } else { Type = TouchMouseInput; } return new Type(manager, inputHandler); } /** * handle input events * @param {Manager} manager * @param {String} eventType * @param {Object} input */ function inputHandler(manager, eventType, input) { var pointersLen = input.pointers.length; var changedPointersLen = input.changedPointers.length; var isFirst = eventType & INPUT_START && pointersLen - changedPointersLen === 0; var isFinal = eventType & (INPUT_END | INPUT_CANCEL) && pointersLen - changedPointersLen === 0; input.isFirst = !!isFirst; input.isFinal = !!isFinal; if (isFirst) { manager.session = {}; } // source event is the normalized value of the domEvents // like 'touchstart, mouseup, pointerdown' input.eventType = eventType; // compute scale, rotation etc computeInputData(manager, input); // emit secret event manager.emit('hammer.input', input); manager.recognize(input); manager.session.prevInput = input; } /** * extend the data with some usable properties like scale, rotate, velocity etc * @param {Object} manager * @param {Object} input */ function computeInputData(manager, input) { var session = manager.session; var pointers = input.pointers; var pointersLength = pointers.length; // store the first input to calculate the distance and direction if (!session.firstInput) { session.firstInput = simpleCloneInputData(input); } // to compute scale and rotation we need to store the multiple touches if (pointersLength > 1 && !session.firstMultiple) { session.firstMultiple = simpleCloneInputData(input); } else if (pointersLength === 1) { session.firstMultiple = false; } var firstInput = session.firstInput; var firstMultiple = session.firstMultiple; var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center; var center = input.center = getCenter(pointers); input.timeStamp = now(); input.deltaTime = input.timeStamp - firstInput.timeStamp; input.angle = getAngle(offsetCenter, center); input.distance = getDistance(offsetCenter, center); computeDeltaXY(session, input); input.offsetDirection = getDirection(input.deltaX, input.deltaY); input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1; input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0; computeIntervalInputData(session, input); // find the correct target var target = manager.element; if (hasParent(input.srcEvent.target, target)) { target = input.srcEvent.target; } input.target = target; } function computeDeltaXY(session, input) { var center = input.center; var offset = session.offsetDelta || {}; var prevDelta = session.prevDelta || {}; var prevInput = session.prevInput || {}; if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) { prevDelta = session.prevDelta = { x: prevInput.deltaX || 0, y: prevInput.deltaY || 0 }; offset = session.offsetDelta = { x: center.x, y: center.y }; } input.deltaX = prevDelta.x + (center.x - offset.x); input.deltaY = prevDelta.y + (center.y - offset.y); } /** * velocity is calculated every x ms * @param {Object} session * @param {Object} input */ function computeIntervalInputData(session, input) { var last = session.lastInterval || input, deltaTime = input.timeStamp - last.timeStamp, velocity, velocityX, velocityY, direction; if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) { var deltaX = last.deltaX - input.deltaX; var deltaY = last.deltaY - input.deltaY; var v = getVelocity(deltaTime, deltaX, deltaY); velocityX = v.x; velocityY = v.y; velocity = abs(v.x) > abs(v.y) ? v.x : v.y; direction = getDirection(deltaX, deltaY); session.lastInterval = input; } else { // use latest velocity info if it doesn't overtake a minimum period velocity = last.velocity; velocityX = last.velocityX; velocityY = last.velocityY; direction = last.direction; } input.velocity = velocity; input.velocityX = velocityX; input.velocityY = velocityY; input.direction = direction; } /** * create a simple clone from the input used for storage of firstInput and firstMultiple * @param {Object} input * @returns {Object} clonedInputData */ function simpleCloneInputData(input) { // make a simple copy of the pointers because we will get a reference if we don't // we only need clientXY for the calculations var pointers = []; var i = 0; while (i < input.pointers.length) { pointers[i] = { clientX: round(input.pointers[i].clientX), clientY: round(input.pointers[i].clientY) }; i++; } return { timeStamp: now(), pointers: pointers, center: getCenter(pointers), deltaX: input.deltaX, deltaY: input.deltaY }; } /** * get the center of all the pointers * @param {Array} pointers * @return {Object} center contains `x` and `y` properties */ function getCenter(pointers) { var pointersLength = pointers.length; // no need to loop when only one touch if (pointersLength === 1) { return { x: round(pointers[0].clientX), y: round(pointers[0].clientY) }; } var x = 0, y = 0, i = 0; while (i < pointersLength) { x += pointers[i].clientX; y += pointers[i].clientY; i++; } return { x: round(x / pointersLength), y: round(y / pointersLength) }; } /** * calculate the velocity between two points. unit is in px per ms. * @param {Number} deltaTime * @param {Number} x * @param {Number} y * @return {Object} velocity `x` and `y` */ function getVelocity(deltaTime, x, y) { return { x: x / deltaTime || 0, y: y / deltaTime || 0 }; } /** * get the direction between two points * @param {Number} x * @param {Number} y * @return {Number} direction */ function getDirection(x, y) { if (x === y) { return DIRECTION_NONE; } if (abs(x) >= abs(y)) { return x > 0 ? DIRECTION_LEFT : DIRECTION_RIGHT; } return y > 0 ? DIRECTION_UP : DIRECTION_DOWN; } /** * calculate the absolute distance between two points * @param {Object} p1 {x, y} * @param {Object} p2 {x, y} * @param {Array} [props] containing x and y keys * @return {Number} distance */ function getDistance(p1, p2, props) { if (!props) { props = PROPS_XY; } var x = p2[props[0]] - p1[props[0]], y = p2[props[1]] - p1[props[1]]; return Math.sqrt(x * x + y * y); } /** * calculate the angle between two coordinates * @param {Object} p1 * @param {Object} p2 * @param {Array} [props] containing x and y keys * @return {Number} angle */ function getAngle(p1, p2, props) { if (!props) { props = PROPS_XY; } var x = p2[props[0]] - p1[props[0]], y = p2[props[1]] - p1[props[1]]; return Math.atan2(y, x) * 180 / Math.PI; } /** * calculate the rotation degrees between two pointersets * @param {Array} start array of pointers * @param {Array} end array of pointers * @return {Number} rotation */ function getRotation(start, end) { return getAngle(end[1], end[0], PROPS_CLIENT_XY) - getAngle(start[1], start[0], PROPS_CLIENT_XY); } /** * calculate the scale factor between two pointersets * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out * @param {Array} start array of pointers * @param {Array} end array of pointers * @return {Number} scale */ function getScale(start, end) { return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY); } /** * Mouse events input * @constructor * @extends Input */ function MouseInput() { this.evEl = MOUSE_ELEMENT_EVENTS; this.evWin = MOUSE_WINDOW_EVENTS; this.allow = true; // used by Input.TouchMouse to disable mouse events this.pressed = false; // mousedown state Input.apply(this, arguments); } /** * Pointer events input * @constructor * @extends Input */ function PointerEventInput() { this.evEl = POINTER_ELEMENT_EVENTS; this.evWin = POINTER_WINDOW_EVENTS; Input.apply(this, arguments); this.store = this.manager.session.pointerEvents = []; } /** * Touch events input * @constructor * @extends Input */ function SingleTouchInput() { this.evTarget = SINGLE_TOUCH_TARGET_EVENTS; this.evWin = SINGLE_TOUCH_WINDOW_EVENTS; this.started = false; Input.apply(this, arguments); } /** * @this {TouchInput} * @param {Object} ev * @param {Number} type flag * @returns {undefined|Array} [all, changed] */ function normalizeSingleTouches(ev, type) { var all = toArray(ev.touches); var changed = toArray(ev.changedTouches); if (type & (INPUT_END | INPUT_CANCEL)) { all = uniqueArray(all.concat(changed), 'identifier', true); } return [all, changed]; } /** * Multi-user touch events input * @constructor * @extends Input */ function TouchInput() { this.evTarget = TOUCH_TARGET_EVENTS; this.targetIds = {}; Input.apply(this, arguments); } /** * @this {TouchInput} * @param {Object} ev * @param {Number} type flag * @returns {undefined|Array} [all, changed] */ function getTouches(ev, type) { var allTouches = toArray(ev.touches); var targetIds = this.targetIds; // when there is only one touch, the process can be simplified if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) { targetIds[allTouches[0].identifier] = true; return [allTouches, allTouches]; } var i, targetTouches, changedTouches = toArray(ev.changedTouches), changedTargetTouches = [], target = this.target; // get target touches from touches targetTouches = allTouches.filter(function (touch) { return hasParent(touch.target, target); }); // collect touches if (type === INPUT_START) { i = 0; while (i < targetTouches.length) { targetIds[targetTouches[i].identifier] = true; i++; } } // filter changed touches to only contain touches that exist in the collected target ids i = 0; while (i < changedTouches.length) { if (targetIds[changedTouches[i].identifier]) { changedTargetTouches.push(changedTouches[i]); } // cleanup removed touches if (type & (INPUT_END | INPUT_CANCEL)) { delete targetIds[changedTouches[i].identifier]; } i++; } if (!changedTargetTouches.length) { return; } return [ // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel' uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true), changedTargetTouches]; } /** * Combined touch and mouse input * * Touch has a higher priority then mouse, and while touching no mouse events are allowed. * This because touch devices also emit mouse events while doing a touch. * * @constructor * @extends Input */ function TouchMouseInput() { Input.apply(this, arguments); var handler = bindFn(this.handler, this); this.touch = new TouchInput(this.manager, handler); this.mouse = new MouseInput(this.manager, handler); } /** * Touch Action * sets the touchAction property or uses the js alternative * @param {Manager} manager * @param {String} value * @constructor */ function TouchAction(manager, value) { this.manager = manager; this.set(value); } /** * when the touchActions are collected they are not a valid value, so we need to clean things up. * * @param {String} actions * @returns {*} */ function cleanTouchActions(actions) { // none if (inStr(actions, TOUCH_ACTION_NONE)) { return TOUCH_ACTION_NONE; } var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X); var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y); // pan-x and pan-y can be combined if (hasPanX && hasPanY) { return TOUCH_ACTION_PAN_X + ' ' + TOUCH_ACTION_PAN_Y; } // pan-x OR pan-y if (hasPanX || hasPanY) { return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y; } // manipulation if (inStr(actions, TOUCH_ACTION_MANIPULATION)) { return TOUCH_ACTION_MANIPULATION; } return TOUCH_ACTION_AUTO; } /** * Recognizer flow explained; * * All recognizers have the initial state of POSSIBLE when a input session starts. * The definition of a input session is from the first input until the last input, with all it's movement in it. * * Example session for mouse-input: mousedown -> mousemove -> mouseup * * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed * which determines with state it should be. * * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to * POSSIBLE to give it another change on the next cycle. * * Possible * | * +-----+---------------+ * | | * +-----+-----+ | * | | | * Failed Cancelled | * +-------+------+ * | | * Recognized Began * | * Changed * | * Ended/Recognized */ /** * Recognizer * Every recognizer needs to extend from this class. * @constructor * @param {Object} options */ function Recognizer(options) { this.id = uniqueId(); this.manager = null; this.options = merge(options || {}, this.defaults); // default is enable true this.options.enable = ifUndefined(this.options.enable, true); this.state = STATE_POSSIBLE; this.simultaneous = {}; this.requireFail = []; } /** * get a usable string, used as event postfix * @param {Const} state * @returns {String} state */ function stateStr(state) { if (state & STATE_CANCELLED) { return 'cancel'; } else if (state & STATE_ENDED) { return 'end'; } else if (state & STATE_CHANGED) { return 'move'; } else if (state & STATE_BEGAN) { return 'start'; } return ''; } /** * direction cons to string * @param {Const} direction * @returns {String} */ function directionStr(direction) { if (direction == DIRECTION_DOWN) { return 'down'; } else if (direction == DIRECTION_UP) { return 'up'; } else if (direction == DIRECTION_LEFT) { return 'left'; } else if (direction == DIRECTION_RIGHT) { return 'right'; } return ''; } /** * get a recognizer by name if it is bound to a manager * @param {Recognizer|String} otherRecognizer * @param {Recognizer} recognizer * @returns {Recognizer} */ function getRecognizerByNameIfManager(otherRecognizer, recognizer) { var manager = recognizer.manager; if (manager) { return manager.get(otherRecognizer); } return otherRecognizer; } /** * This recognizer is just used as a base for the simple attribute recognizers. * @constructor * @extends Recognizer */ function AttrRecognizer() { Recognizer.apply(this, arguments); } /** * Pan * Recognized when the pointer is down and moved in the allowed direction. * @constructor * @extends AttrRecognizer */ function PanRecognizer() { AttrRecognizer.apply(this, arguments); this.pX = null; this.pY = null; } /** * Pinch * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out). * @constructor * @extends AttrRecognizer */ function PinchRecognizer() { AttrRecognizer.apply(this, arguments); } /** * Press * Recognized when the pointer is down for x ms without any movement. * @constructor * @extends Recognizer */ function PressRecognizer() { Recognizer.apply(this, arguments); this._timer = null; this._input = null; } /** * Rotate * Recognized when two or more pointer are moving in a circular motion. * @constructor * @extends AttrRecognizer */ function RotateRecognizer() { AttrRecognizer.apply(this, arguments); } /** * Swipe * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction. * @constructor * @extends AttrRecognizer */ function SwipeRecognizer() { AttrRecognizer.apply(this, arguments); } /** * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur * between the given interval and position. The delay option can be used to recognize multi-taps without firing * a single tap. * * The eventData from the emitted event contains the property `tapCount`, which contains the amount of * multi-taps being recognized. * @constructor * @extends Recognizer */ function TapRecognizer() { Recognizer.apply(this, arguments); // previous time and center, // used for tap counting this.pTime = false; this.pCenter = false; this._timer = null; this._input = null; this.count = 0; } /** * Simple way to create an manager with a default set of recognizers. * @param {HTMLElement} element * @param {Object} [options] * @constructor */ function Hammer(element, options) { options = options || {}; options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset); return new Manager(element, options); } /** * @const {string} */ /** * Manager * @param {HTMLElement} element * @param {Object} [options] * @constructor */ function Manager(element, options) { options = options || {}; this.options = merge(options, Hammer.defaults); this.options.inputTarget = this.options.inputTarget || element; this.handlers = {}; this.session = {}; this.recognizers = []; this.element = element; this.input = createInputInstance(this); this.touchAction = new TouchAction(this, this.options.touchAction); toggleCssProps(this, true); each(options.recognizers, function (item) { var recognizer = this.add(new item[0](item[1])); item[2] && recognizer.recognizeWith(item[2]); item[3] && recognizer.requireFailure(item[3]); }, this); } /** * add/remove the css properties as defined in manager.options.cssProps * @param {Manager} manager * @param {Boolean} add */ function toggleCssProps(manager, add) { var element = manager.element; each(manager.options.cssProps, function (value, name) { element.style[prefixed(element.style, name)] = add ? value : ''; }); } /** * trigger dom event * @param {String} event * @param {Object} data */ function triggerDomEvent(event, data) { var gestureEvent = document.createEvent('Event'); gestureEvent.initEvent(event, true, true); gestureEvent.gesture = data; data.target.dispatchEvent(gestureEvent); } return { setters: [], execute: function () { VENDOR_PREFIXES = ['', 'webkit', 'moz', 'MS', 'ms', 'o']; TEST_ELEMENT = document.createElement('div'); TYPE_FUNCTION = 'function'; round = Math.round; abs = Math.abs; now = Date.now; _uniqueId = 1; MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i; SUPPORT_TOUCH = 'ontouchstart' in window; SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined; SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent); INPUT_TYPE_TOUCH = 'touch'; INPUT_TYPE_PEN = 'pen'; INPUT_TYPE_MOUSE = 'mouse'; INPUT_TYPE_KINECT = 'kinect'; COMPUTE_INTERVAL = 25; INPUT_START = 1; INPUT_MOVE = 2; INPUT_END = 4; INPUT_CANCEL = 8; DIRECTION_NONE = 1; DIRECTION_LEFT = 2; DIRECTION_RIGHT = 4; DIRECTION_UP = 8; DIRECTION_DOWN = 16; DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT; DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN; DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL; PROPS_XY = ['x', 'y']; PROPS_CLIENT_XY = ['clientX', 'clientY']; Input.prototype = { /** * should handle the inputEvent data and trigger the callback * @virtual */ handler: function handler() {}, /** * bind the events */ init: function init() { //console.debug('hammer Input init') this.evEl && addEventListeners(this.element, this.evEl, this.domHandler); this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler); this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler); }, /** * unbind the events */ destroy: function destroy() { this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler); this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler); this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler); } };MOUSE_INPUT_MAP = { mousedown: INPUT_START, mousemove: INPUT_MOVE, mouseup: INPUT_END }; MOUSE_ELEMENT_EVENTS = 'mousedown'; MOUSE_WINDOW_EVENTS = 'mousemove mouseup'; inherit(MouseInput, Input, { /** * handle mouse events * @param {Object} ev */ handler: function MEhandler(ev) { var eventType = MOUSE_INPUT_MAP[ev.type]; // on start we want to have the left mouse button down if (eventType & INPUT_START && ev.button === 0) { this.pressed = true; } if (eventType & INPUT_MOVE && ev.which !== 1) { eventType = INPUT_END; } // mouse must be down, and mouse events are allowed (see the TouchMouse input) if (!this.pressed || !this.allow) { return; } if (eventType & INPUT_END) { this.pressed = false; } this.callback(this.manager, eventType, { pointers: [ev], changedPointers: [ev], pointerType: INPUT_TYPE_MOUSE, srcEvent: ev }); } }); POINTER_INPUT_MAP = { pointerdown: INPUT_START, pointermove: INPUT_MOVE, pointerup: INPUT_END, pointercancel: INPUT_CANCEL, pointerout: INPUT_CANCEL }; // in IE10 the pointer types is defined as an enum IE10_POINTER_TYPE_ENUM = { 2: INPUT_TYPE_TOUCH, 3: INPUT_TYPE_PEN, 4: INPUT_TYPE_MOUSE, 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816 }; POINTER_ELEMENT_EVENTS = 'pointerdown'; POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel'; // IE10 has prefixed support, and case-sensitive if (window.MSPointerEvent) { POINTER_ELEMENT_EVENTS = 'MSPointerDown'; POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel'; }inherit(PointerEventInput, Input, { /** * handle mouse events * @param {Object} ev */ handler: function PEhandler(ev) { var store = this.store; var removePointer = false; var eventTypeNormalized = ev.type.toLowerCase().replace('ms', ''); var eventType = POINTER_INPUT_MAP[eventTypeNormalized]; var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType; var isTouch = pointerType == INPUT_TYPE_TOUCH; // get index of the event in the store var storeIndex = inArray(store, ev.pointerId, 'pointerId'); // start and mouse must be down if (eventType & INPUT_START && (ev.button === 0 || isTouch)) { if (storeIndex < 0) { store.push(ev); storeIndex = store.length - 1; } } else if (eventType & (INPUT_END | INPUT_CANCEL)) { removePointer = true; } // it not found, so the pointer hasn't been down (so it's probably a hover) if (storeIndex < 0) { return; } // update the event in the store store[storeIndex] = ev; this.callback(this.manager, eventType, { pointers: store, changedPointers: [ev], pointerType: pointerType, srcEvent: ev }); if (removePointer) { // remove from the store store.splice(storeIndex, 1); } } }); SINGLE_TOUCH_INPUT_MAP = { touchstart: INPUT_START, touchmove: INPUT_MOVE, touchend: INPUT_END, touchcancel: INPUT_CANCEL }; SINGLE_TOUCH_TARGET_EVENTS = 'touchstart'; SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel'; inherit(SingleTouchInput, Input, { handler: function TEhandler(ev) { var type = SINGLE_TOUCH_INPUT_MAP[ev.type]; // should we handle the touch events? if (type === INPUT_START) { this.started = true; } if (!this.started) { return; } var touches = normalizeSingleTouches.call(this, ev, type); // when done, reset the started state if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) { this.started = false; } this.callback(this.manager, type, { pointers: touches[0], changedPointers: touches[1], pointerType: INPUT_TYPE_TOUCH, srcEvent: ev }); } });TOUCH_INPUT_MAP = { touchstart: INPUT_START, touchmove: INPUT_MOVE, touchend: INPUT_END, touchcancel: INPUT_CANCEL }; TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel'; inherit(TouchInput, Input, { handler: function MTEhandler(ev) { var type = TOUCH_INPUT_MAP[ev.type]; var touches = getTouches.call(this, ev, type); if (!touches) { return; } this.callback(this.manager, type, { pointers: touches[0], changedPointers: touches[1], pointerType: INPUT_TYPE_TOUCH, srcEvent: ev }); } });inherit(TouchMouseInput, Input, { /** * handle mouse and touch events * @param {Hammer} manager * @param {String} inputEvent * @param {Object} inputData */ handler: function TMEhandler(manager, inputEvent, inputData) { var isTouch = inputData.pointerType == INPUT_TYPE_TOUCH, isMouse = inputData.pointerType == INPUT_TYPE_MOUSE; // when we're in a touch event, so block all upcoming mouse events // most mobile browser also emit mouseevents, right after touchstart if (isTouch) { this.mouse.allow = false; } else if (isMouse && !this.mouse.allow) { return; } // reset the allowMouse when we're done if (inputEvent & (INPUT_END | INPUT_CANCEL)) { this.mouse.allow = true; } this.callback(manager, inputEvent, inputData); }, /** * remove the event listeners */ destroy: function destroy() { this.touch.destroy(); this.mouse.destroy(); } }); PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction'); NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined; // magical touchAction value TOUCH_ACTION_COMPUTE = 'compute'; TOUCH_ACTION_AUTO = 'auto'; TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented TOUCH_ACTION_NONE = 'none'; TOUCH_ACTION_PAN_X = 'pan-x'; TOUCH_ACTION_PAN_Y = 'pan-y'; TouchAction.prototype = { /** * set the touchAction value on the element or enable the polyfill * @param {String} value */ set: function set(value) { // find out the touch-action by the event handlers if (value == TOUCH_ACTION_COMPUTE) { value = this.compute(); } if (NATIVE_TOUCH_ACTION) { this.manager.element.style[PREFIXED_TOUCH_ACTION] = value; } this.actions = value.toLowerCase().trim(); }, /** * just re-set the touchAction value */ update: function update() { this.set(this.manager.options.touchAction); }, /** * compute the value for the touchAction property based on the recognizer's settings * @returns {String} value */ compute: function compute() { var actions = []; each(this.manager.recognizers, function (recognizer) { if (boolOrFn(recognizer.options.enable, [recognizer])) { actions = actions.concat(recognizer.getTouchAction()); } }); return cleanTouchActions(actions.join(' ')); }, /** * this method is called on each input cycle and provides the preventing of the browser behavior * @param {Object} input */ preventDefaults: function preventDefaults(input) { // not needed with native support for the touchAction property if (NATIVE_TOUCH_ACTION) { return; } var srcEvent = input.srcEvent; var direction = input.offsetDirection; // if the touch action did prevented once this session if (this.manager.session.prevented) { srcEvent.preventDefault(); return; } var actions = this.actions; var hasNone = inStr(actions, TOUCH_ACTION_NONE); var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y); var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X); if (hasNone || hasPanY && direction & DIRECTION_HORIZONTAL || hasPanX && direction & DIRECTION_VERTICAL) { return this.preventSrc(srcEvent); } }, /** * call preventDefault to prevent the browser's default behavior (scrolling in most cases) * @param {Object} srcEvent */ preventSrc: function preventSrc(srcEvent) { this.manager.session.prevented = true; srcEvent.preventDefault(); } };STATE_POSSIBLE = 1; STATE_BEGAN = 2; STATE_CHANGED = 4; STATE_ENDED = 8; STATE_RECOGNIZED = STATE_ENDED; STATE_CANCELLED = 16; STATE_FAILED = 32; Recognizer.prototype = { /** * @virtual * @type {Object} */ defaults: {}, /** * set options * @param {Object} options * @return {Recognizer} */ set: function set(options) { extend(this.options, options); // also update the touchAction, in case something changed about the directions/enabled state this.manager && this.manager.touchAction.update(); return this; }, /** * recognize simultaneous with an other recognizer. * @param {Recognizer} otherRecognizer * @returns {Recognizer} this */ recognizeWith: function recognizeWith(otherRecognizer) { if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) { return this; } var simultaneous = this.simultaneous; otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this); if (!simultaneous[otherRecognizer.id]) { simultaneous[otherRecognizer.id] = otherRecognizer; otherRecognizer.recognizeWith(this); } return this; }, /** * drop the simultaneous link. it doesnt remove the link on the other recognizer. * @param {Recognizer} otherRecognizer * @returns {Recognizer} this */ dropRecognizeWith: function dropRecognizeWith(otherRecognizer) { if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) { return this; } otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this); delete this.simultaneous[otherRecognizer.id]; return this; }, /** * recognizer can only run when an other is failing * @param {Recognizer} otherRecognizer * @returns {Recognizer} this */ requireFailure: function requireFailure(otherRecognizer) { if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) { return this; } var requireFail = this.requireFail; otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this); if (inArray(requireFail, otherRecognizer) === -1) { requireFail.push(otherRecognizer); otherRecognizer.requireFailure(this); } return this; }, /** * drop the requireFailure link. it does not remove the link on the other recognizer. * @param {Recognizer} otherRecognizer * @returns {Recognizer} this */ dropRequireFailure: function dropRequireFailure(otherRecognizer) { if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) { return this; } otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this); var index = inArray(this.requireFail, otherRecognizer); if (index > -1) { this.requireFail.splice(index, 1); } return this; }, /** * has require failures boolean * @returns {boolean} */ hasRequireFailures: function hasRequireFailures() { return this.requireFail.length > 0; }, /** * if the recognizer can recognize simultaneous with an other recognizer * @param {Recognizer} otherRecognizer * @returns {Boolean} */ canRecognizeWith: function canRecognizeWith(otherRecognizer) { return !!this.simultaneous[otherRecognizer.id]; }, /** * You should use `tryEmit` instead of `emit` directly to check * that all the needed recognizers has failed before emitting. * @param {Object} input */ emit: function emit(input) { var self = this; var state = this.state; function emit(withState) { self.manager.emit(self.options.event + (withState ? stateStr(state) : ''), input); } // 'panstart' and 'panmove' if (state < STATE_ENDED) { emit(true); } emit(); // simple 'eventName' events // panend and pancancel if (state >= STATE_ENDED) { emit(true); } }, /** * Check that all the require failure recognizers has failed, * if true, it emits a gesture event, * otherwise, setup the state to FAILED. * @param {Object} input */ tryEmit: function tryEmit(input) { if (this.canEmit()) { return this.emit(input); } // it's failing anyway this.state = STATE_FAILED; }, /** * can we emit? * @returns {boolean} */ canEmit: function canEmit() { var i = 0; while (i < this.requireFail.length) { if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) { return false; } i++; } return true; }, /** * update the recognizer * @param {Object} inputData */ recognize: function recognize(inputData) { // make a new copy of the inputData // so we can change the inputData without messing up the other recognizers var inputDataClone = extend({}, inputData); // is is enabled and allow recognizing? if (!boolOrFn(this.options.enable, [this, inputDataClone])) { this.reset(); this.state = STATE_FAILED; return; } // reset when we've reached the end if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) { this.state = STATE_POSSIBLE; } this.state = this.process(inputDataClone); // the recognizer has recognized a gesture // so trigger an event if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) { this.tryEmit(inputDataClone); } }, /** * return the state of the recognizer * the actual recognizing happens in this method * @virtual * @param {Object} inputData * @returns {Const} STATE */ process: function process(inputData) {}, /** * return the preferred touch-action * @virtual * @returns {Array} */ getTouchAction: function getTouchAction() {}, /** * called when the gesture isn't allowed to recognize * like when another is being recognized or it is disabled * @virtual */ reset: function reset() {} };inherit(AttrRecognizer, Recognizer, { /** * @namespace * @memberof AttrRecognizer */ defaults: { /** * @type {Number} * @default 1 */ pointers: 1 }, /** * Used to check if it the recognizer receives valid input, like input.distance > 10. * @memberof AttrRecognizer * @param {Object} input * @returns {Boolean} recognized */ attrTest: function attrTest(input) { var optionPointers = this.options.pointers; return optionPointers === 0 || input.pointers.length === optionPointers; }, /** * Process the input and return the state for the recognizer * @memberof AttrRecognizer * @param {Object} input * @returns {*} State */ process: function process(input) { var state = this.state; var eventType = input.eventType; var isRecognized = state & (STATE_BEGAN | STATE_CHANGED); var isValid = this.attrTest(input); // on cancel input and we've recognized before, return STATE_CANCELLED if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) { return state | STATE_CANCELLED; } else if (isRecognized || isValid) { if (eventType & INPUT_END) { return state | STATE_ENDED; } else if (!(state & STATE_BEGAN)) { return STATE_BEGAN; } return state | STATE_CHANGED; } return STATE_FAILED; } });inherit(PanRecognizer, AttrRecognizer, { /** * @namespace * @memberof PanRecognizer */ defaults: { event: 'pan', threshold: 10, pointers: 1, direction: DIRECTION_ALL }, getTouchAction: function getTouchAction() { var direction = this.options.direction; var actions = []; if (direction & DIRECTION_HORIZONTAL) { actions.push(TOUCH_ACTION_PAN_Y); } if (direction & DIRECTION_VERTICAL) { actions.push(TOUCH_ACTION_PAN_X); } return actions; }, directionTest: function directionTest(input) { var options = this.options; var hasMoved = true; var distance = input.distance; var direction = input.direction; var x = input.deltaX; var y = input.deltaY; // lock to axis? if (!(direction & options.direction)) { if (options.direction & DIRECTION_HORIZONTAL) { direction = x === 0 ? DIRECTION_NONE : x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT; hasMoved = x != this.pX; distance = Math.abs(input.deltaX); } else { direction = y === 0 ? DIRECTION_NONE : y < 0 ? DIRECTION_UP : DIRECTION_DOWN; hasMoved = y != this.pY; distance = Math.abs(input.deltaY); } } input.direction = direction; return hasMoved && distance > options.threshold && direction & options.direction; }, attrTest: function attrTest(input) { return AttrRecognizer.prototype.attrTest.call(this, input) && (this.state & STATE_BEGAN || !(this.state & STATE_BEGAN) && this.directionTest(input)); }, emit: function emit(input) { this.pX = input.deltaX; this.pY = input.deltaY; var direction = directionStr(input.direction); if (direction) { this.manager.emit(this.options.event + direction, input); } this._super.emit.call(this, input); } });inherit(PinchRecognizer, AttrRecognizer, { /** * @namespace * @memberof PinchRecognizer */ defaults: { event: 'pinch', threshold: 0, pointers: 2 }, getTouchAction: function getTouchAction() { return [TOUCH_ACTION_NONE]; }, attrTest: function attrTest(input) { return this._super.attrTest.call(this, input) && (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN); }, emit: function emit(input) { this._super.emit.call(this, input); if (input.scale !== 1) { var inOut = input.scale < 1 ? 'in' : 'out'; this.manager.emit(this.options.event + inOut, input); } } });inherit(PressRecognizer, Recognizer, { /** * @namespace * @memberof PressRecognizer */ defaults: { event: 'press', pointers: 1, time: 500, threshold: 5 // a minimal movement is ok, but keep it low }, getTouchAction: function getTouchAction() { return [TOUCH_ACTION_AUTO]; }, process: function process(input) { var options = this.options; var validPointers = input.pointers.length === options.pointers; var validMovement = input.distance < options.threshold; var validTime = input.deltaTime > options.time; this._input = input; // we only allow little movement // and we've reached an end event, so a tap is possible if (!validMovement || !validPointers || input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime) { this.reset(); } else if (input.eventType & INPUT_START) { this.reset(); this._timer = setTimeoutContext(function () { this.state = STATE_RECOGNIZED; this.tryEmit(); }, options.time, this); } else if (input.eventType & INPUT_END) { return STATE_RECOGNIZED; } return STATE_FAILED; }, reset: function reset() { clearTimeout(this._timer); }, emit: function emit(input) { if (this.state !== STATE_RECOGNIZED) { return; } if (input && input.eventType & INPUT_END) { this.manager.emit(this.options.event + 'up', input); } else { this._input.timeStamp = now(); this.manager.emit(this.options.event, this._input); } } });inherit(RotateRecognizer, AttrRecognizer, { /** * @namespace * @memberof RotateRecognizer */ defaults: { event: 'rotate', threshold: 0, pointers: 2 }, getTouchAction: function getTouchAction() { return [TOUCH_ACTION_NONE]; }, attrTest: function attrTest(input) { return this._super.attrTest.call(this, input) && (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN); } });inherit(SwipeRecognizer, AttrRecognizer, { /** * @namespace * @memberof SwipeRecognizer */ defaults: { event: 'swipe', threshold: 10, velocity: 0.65, direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL, pointers: 1 }, getTouchAction: function getTouchAction() { return PanRecognizer.prototype.getTouchAction.call(this); }, attrTest: function attrTest(input) { var direction = this.options.direction; var velocity; if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) { velocity = input.velocity; } else if (direction & DIRECTION_HORIZONTAL) { velocity = input.velocityX; } else if (direction & DIRECTION_VERTICAL) { velocity = input.velocityY; } return this._super.attrTest.call(this, input) && direction & input.direction && input.distance > this.options.threshold && abs(velocity) > this.options.velocity && input.eventType & INPUT_END; }, emit: function emit(input) { var direction = directionStr(input.direction); if (direction) { this.manager.emit(this.options.event + direction, input); } this.manager.emit(this.options.event, input); } });inherit(TapRecognizer, Recognizer, { /** * @namespace * @memberof PinchRecognizer */ defaults: { event: 'tap', pointers: 1, taps: 1, interval: 300, time: 250, threshold: 2, posThreshold: 10 // a multi-tap can be a bit off the initial position }, getTouchAction: function getTouchAction() { return [TOUCH_ACTION_MANIPULATION]; }, process: function process(input) { var options = this.options; var validPointers = input.pointers.length === options.pointers; var validMovement = input.distance < options.threshold; var validTouchTime = input.deltaTime < options.time; this.reset(); if (input.eventType & INPUT_START && this.count === 0) { return this.failTimeout(); } // we only allow little movement // and we've reached an end event, so a tap is possible if (validMovement && validTouchTime && validPointers) { if (input.eventType != INPUT_END) { return this.failTimeout(); } var validInterval = this.pTime ? input.timeStamp - this.pTime < options.interval : true; var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold; this.pTime = input.timeStamp; this.pCenter = input.center; if (!validMultiTap || !validInterval) { this.count = 1; } else { this.count += 1; } this._input = input; // if tap count matches we have recognized it, // else it has began recognizing... var tapCount = this.count % options.taps; if (tapCount === 0) { // no failing requirements, immediately trigger the tap event // or wait as long as the multitap interval to trigger if (!this.hasRequireFailures()) { return STATE_RECOGNIZED; } else { this._timer = setTimeoutContext(function () { this.state = STATE_RECOGNIZED; this.tryEmit(); }, options.interval, this); return STATE_BEGAN; } } } return STATE_FAILED; }, failTimeout: function failTimeout() { this._timer = setTimeoutContext(function () { this.state = STATE_FAILED; }, this.options.interval, this); return STATE_FAILED; }, reset: function reset() { clearTimeout(this._timer); }, emit: function emit() { if (this.state == STATE_RECOGNIZED) { this._input.tapCount = this.count; this.manager.emit(this.options.event, this._input); } } });Hammer.VERSION = '2.0.4'; /** * default settings * @namespace */ Hammer.defaults = { /** * set if DOM events are being triggered. * But this is slower and unused by simple implementations, so disabled by default. * @type {Boolean} * @default false */ domEvents: false, /** * The value for the touchAction property/fallback. * When set to `compute` it will magically set the correct value based on the added recognizers. * @type {String} * @default compute */ touchAction: TOUCH_ACTION_COMPUTE, /** * @type {Boolean} * @default true */ enable: true, /** * EXPERIMENTAL FEATURE -- can be removed/changed * Change the parent input target element. * If Null, then it is being set the to main element. * @type {Null|EventTarget} * @default null */ inputTarget: null, /** * force an input class * @type {Null|Function} * @default null */ inputClass: null, /** * Default recognizer setup when calling `Hammer()` * When creating a new Manager these will be skipped. * @type {Array} */ preset: [ // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...] [RotateRecognizer, { enable: false }], [PinchRecognizer, { enable: false }, ['rotate']], [SwipeRecognizer, { direction: DIRECTION_HORIZONTAL }], [PanRecognizer, { direction: DIRECTION_HORIZONTAL }, ['swipe']], [TapRecognizer], [TapRecognizer, { event: 'doubletap', taps: 2 }, ['tap']], [PressRecognizer]], /** * Some CSS properties can be used to improve the working of Hammer. * Add them to this method and they will be set when creating a new Manager. * @namespace */ cssProps: { /** * Disables text selection to improve the dragging gesture. Mainly for desktop browsers. * @type {String} * @default 'none' */ userSelect: 'none', /** * Disable the Windows Phone grippers when pressing an element. * @type {String} * @default 'none' */ touchSelect: 'none', /** * Disables the default callout shown when you touch and hold a touch target. * On iOS, when you touch and hold a touch target such as a link, Safari displays * a callout containing information about the link. This property allows you to disable that callout. * @type {String} * @default 'none' */ touchCallout: 'none', /** * Specifies whether zooming is enabled. Used by IE10> * @type {String} * @default 'none' */ contentZooming: 'none', /** * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers. * @type {String} * @default 'none' */ userDrag: 'none', /** * Overrides the highlight color shown when the user taps a link or a JavaScript * clickable element in iOS. This property obeys the alpha value, if specified. * @type {String} * @default 'rgba(0,0,0,0)' */ tapHighlightColor: 'rgba(0,0,0,0)' } }; STOP = 1; FORCED_STOP = 2; Manager.prototype = { /** * set options * @param {Object} options * @returns {Manager} */ set: function set(options) { extend(this.options, options); // Options that need a little more setup if (options.touchAction) { this.touchAction.update(); } if (options.inputTarget) { // Clean up existing event listeners and reinitialize this.input.destroy(); this.input.target = options.inputTarget; this.input.init(); } return this; }, /** * stop recognizing for this session. * This session will be discarded, when a new [input]start event is fired. * When forced, the recognizer cycle is stopped immediately. * @param {Boolean} [force] */ stop: function stop(force) { this.session.stopped = force ? FORCED_STOP : STOP; }, /** * run the recognizers! * called by the inputHandler function on every movement of the pointers (touches) * it walks through all the recognizers and tries to detect the gesture that is being made * @param {Object} inputData */ recognize: function recognize(inputData) { var session = this.session; if (session.stopped) { return; } // run the touch-action polyfill this.touchAction.preventDefaults(inputData); var recognizer; var recognizers = this.recognizers; // this holds the recognizer that is being recognized. // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED // if no recognizer is detecting a thing, it is set to `null` var curRecognizer = session.curRecognizer; // reset when the last recognizer is recognized // or when we're in a new session if (!curRecognizer || curRecognizer && curRecognizer.state & STATE_RECOGNIZED) { curRecognizer = session.curRecognizer = null; } var i = 0; while (i < recognizers.length) { recognizer = recognizers[i]; // find out if we are allowed try to recognize the input for this one. // 1. allow if the session is NOT forced stopped (see the .stop() method) // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one // that is being recognized. // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer. // this can be setup with the `recognizeWith()` method on the recognizer. if (session.stopped !== FORCED_STOP && (!curRecognizer || recognizer == curRecognizer || recognizer.canRecognizeWith(curRecognizer))) { recognizer.recognize(inputData); } else { recognizer.reset(); } // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the // current active recognizer. but only if we don't already have an active recognizer if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) { curRecognizer = session.curRecognizer = recognizer; } i++; } }, /** * get a recognizer by its event name. * @param {Recognizer|String} recognizer * @returns {Recognizer|Null} */ get: function get(recognizer) { if (recognizer instanceof Recognizer) { return recognizer; } var recognizers = this.recognizers; for (var i = 0; i < recognizers.length; i++) { if (recognizers[i].options.event == recognizer) { return recognizers[i]; } } return null; }, /** * add a recognizer to the manager * existing recognizers with the same event name will be removed * @param {Recognizer} recognizer * @returns {Recognizer|Manager} */ add: function add(recognizer) { if (invokeArrayArg(recognizer, 'add', this)) { return this; } // remove existing var existing = this.get(recognizer.options.event); if (existing) { this.remove(existing); } this.recognizers.push(recognizer); recognizer.manager = this; this.touchAction.update(); return recognizer; }, /** * remove a recognizer by name or instance * @param {Recognizer|String} recognizer * @returns {Manager} */ remove: function remove(recognizer) { if (invokeArrayArg(recognizer, 'remove', this)) { return this; } var recognizers = this.recognizers; recognizer = this.get(recognizer); recognizers.splice(inArray(recognizers, recognizer), 1); this.touchAction.update(); return this; }, /** * bind event * @param {String} events * @param {Function} handler * @returns {EventEmitter} this */ on: function on(events, handler) { var handlers = this.handlers; each(splitStr(events), function (event) { handlers[event] = handlers[event] || []; handlers[event].push(handler); }); return this; }, /** * unbind event, leave emit blank to remove all handlers * @param {String} events * @param {Function} [handler] * @returns {EventEmitter} this */ off: function off(events, handler) { var handlers = this.handlers; each(splitStr(events), function (event) { if (!handler) { delete handlers[event]; } else { handlers[event].splice(inArray(handlers[event], handler), 1); } }); return this; }, /** * emit event to the listeners * @param {String} event * @param {Object} data */ emit: function emit(event, data) { // we also want to trigger dom events if (this.options.domEvents) { triggerDomEvent(event, data); } // no handlers, so skip it all var handlers = this.handlers[event] && this.handlers[event].slice(); if (!handlers || !handlers.length) { return; } data.type = event; data.preventDefault = function () { data.srcEvent.preventDefault(); }; var i = 0; while (i < handlers.length) { handlers[i](data); i++; } }, /** * destroy the manager and unbinds all events * it doesn't unbind dom events, that is the user own responsibility */ destroy: function destroy() { this.element && toggleCssProps(this, false); this.handlers = {}; this.session = {}; this.input.destroy(); this.element = null; } };extend(Hammer, { INPUT_START: INPUT_START, INPUT_MOVE: INPUT_MOVE, INPUT_END: INPUT_END, INPUT_CANCEL: INPUT_CANCEL, STATE_POSSIBLE: STATE_POSSIBLE, STATE_BEGAN: STATE_BEGAN, STATE_CHANGED: STATE_CHANGED, STATE_ENDED: STATE_ENDED, STATE_RECOGNIZED: STATE_RECOGNIZED, STATE_CANCELLED: STATE_CANCELLED, STATE_FAILED: STATE_FAILED, DIRECTION_NONE: DIRECTION_NONE, DIRECTION_LEFT: DIRECTION_LEFT, DIRECTION_RIGHT: DIRECTION_RIGHT, DIRECTION_UP: DIRECTION_UP, DIRECTION_DOWN: DIRECTION_DOWN, DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL, DIRECTION_VERTICAL: DIRECTION_VERTICAL, DIRECTION_ALL: DIRECTION_ALL, Manager: Manager, Input: Input, TouchAction: TouchAction, TouchInput: TouchInput, MouseInput: MouseInput, PointerEventInput: PointerEventInput, TouchMouseInput: TouchMouseInput, SingleTouchInput: SingleTouchInput, Recognizer: Recognizer, AttrRecognizer: AttrRecognizer, Tap: TapRecognizer, Pan: PanRecognizer, Swipe: SwipeRecognizer, Pinch: PinchRecognizer, Rotate: RotateRecognizer, Press: PressRecognizer, on: addEventListeners, off: removeEventListeners, each: each, merge: merge, extend: extend, inherit: inherit, bindFn: bindFn, prefixed: prefixed }); // attach to window for angular2 gesture listeners window.Hammer = Hammer; _export('Hammer', Hammer); } }; }); System.register('ionic/gestures/slide-edge-gesture', ['./slide-gesture', '../util/util', '../util/dom'], function (_export) { 'use strict'; var SlideGesture, defaults, windowDimensions, SlideEdgeGesture; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x2, _x3, _x4) { var _again = true; _function: while (_again) { var object = _x2, property = _x3, receiver = _x4; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x2 = parent; _x3 = property; _x4 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_slideGesture) { SlideGesture = _slideGesture.SlideGesture; }, function (_utilUtil) { defaults = _utilUtil.defaults; }, function (_utilDom) { windowDimensions = _utilDom.windowDimensions; }], execute: function () { SlideEdgeGesture = (function (_SlideGesture) { _inherits(SlideEdgeGesture, _SlideGesture); function SlideEdgeGesture(element) { var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; _classCallCheck(this, SlideEdgeGesture); defaults(opts, { edge: 'left', threshold: 50 }); _get(Object.getPrototypeOf(SlideEdgeGesture.prototype), 'constructor', this).call(this, element, opts); // Can check corners through use of eg 'left top' this.edges = opts.edge.split(' '); this.threshold = opts.threshold; } _createClass(SlideEdgeGesture, [{ key: 'canStart', value: function canStart(ev) { var _this = this; this._d = this.getContainerDimensions(); return this.edges.every(function (edge) { return _this._checkEdge(edge, ev.center); }); } }, { key: 'getContainerDimensions', value: function getContainerDimensions() { return { left: 0, top: 0, width: windowDimensions().width, height: windowDimensions().height }; } }, { key: '_checkEdge', value: function _checkEdge(edge, pos) { switch (edge) { case 'left': return pos.x <= this._d.left + this.threshold; case 'right': return pos.x >= this._d.width - this.threshold; case 'top': return pos.y <= this._d.top + this.threshold; case 'bottom': return pos.y >= this._d.height - this.threshold; } } }]); return SlideEdgeGesture; })(SlideGesture); _export('SlideEdgeGesture', SlideEdgeGesture); } }; }); System.register('ionic/gestures/slide-gesture', ['./drag-gesture', '../util'], function (_export) { 'use strict'; var DragGesture, util, SlideGesture; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x2, _x3, _x4) { var _again = true; _function: while (_again) { var object = _x2, property = _x3, receiver = _x4; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x2 = parent; _x3 = property; _x4 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_dragGesture) { DragGesture = _dragGesture.DragGesture; }, function (_util) { util = _util; }], execute: function () { SlideGesture = (function (_DragGesture) { _inherits(SlideGesture, _DragGesture); function SlideGesture(element) { var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; _classCallCheck(this, SlideGesture); _get(Object.getPrototypeOf(SlideGesture.prototype), 'constructor', this).call(this, element, opts); this.element = element; } /* * Get the min and max for the slide. pageX/pageY. * Only called on dragstart. */ _createClass(SlideGesture, [{ key: 'getSlideBoundaries', value: function getSlideBoundaries(slide, ev) { return { min: 0, max: this.element.offsetWidth }; } /* * Get the element's pos when the drag starts. * For example, an open side menu starts at 100% and a closed * sidemenu starts at 0%. */ }, { key: 'getElementStartPos', value: function getElementStartPos(slide, ev) { return 0; } }, { key: 'canStart', value: function canStart() { return true; } }, { key: 'onDragStart', value: function onDragStart(ev) { var _this = this; if (!this.canStart(ev)) return false; this.slide = {}; var promise = this.onSlideBeforeStart(this.slide, ev) || Promise.resolve(); promise.then(function () { var _getSlideBoundaries = _this.getSlideBoundaries(_this.slide, ev); var min = _getSlideBoundaries.min; var max = _getSlideBoundaries.max; _this.slide.min = min; _this.slide.max = max; _this.slide.elementStartPos = _this.getElementStartPos(_this.slide, ev); _this.slide.pointerStartPos = ev.center[_this.direction]; _this.slide.started = true; _this.onSlideStart(_this.slide, ev); })['catch'](function () { _this.slide = null; }); } }, { key: 'onDrag', value: function onDrag(ev) { if (!this.slide || !this.slide.started) return; this.slide.pos = ev.center[this.direction]; this.slide.distance = util.clamp(this.slide.min, this.slide.pos - this.slide.pointerStartPos + this.slide.elementStartPos, this.slide.max); this.slide.delta = this.slide.pos - this.slide.pointerStartPos; this.onSlide(this.slide, ev); } }, { key: 'onDragEnd', value: function onDragEnd(ev) { if (!this.slide || !this.slide.started) return; this.onSlideEnd(this.slide, ev); this.slide = null; } }, { key: 'onSlideBeforeStart', value: function onSlideBeforeStart() {} }, { key: 'onSlideStart', value: function onSlideStart() {} }, { key: 'onSlide', value: function onSlide() {} }, { key: 'onSlideEnd', value: function onSlideEnd() {} }]); return SlideGesture; })(DragGesture); _export('SlideGesture', SlideGesture); } }; }); System.register('ionic/util/click-block', [], function (_export) { 'use strict'; var CSS_CLICK_BLOCK, DEFAULT_EXPIRE, cbEle, fallbackTimerId, isShowing, ClickBlock; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _show(expire) { clearTimeout(fallbackTimerId); fallbackTimerId = setTimeout(hide, expire || DEFAULT_EXPIRE); if (!isShowing) { cbEle.classList.add(CSS_CLICK_BLOCK); isShowing = true; } } function hide() { clearTimeout(fallbackTimerId); if (isShowing) { cbEle.classList.remove(CSS_CLICK_BLOCK); isShowing = false; } } return { setters: [], execute: function () { CSS_CLICK_BLOCK = 'click-block-active'; DEFAULT_EXPIRE = 330; cbEle = undefined; fallbackTimerId = undefined; isShowing = false; /** * @private */ ClickBlock = (function () { function ClickBlock() { _classCallCheck(this, ClickBlock); } _createClass(ClickBlock, [{ key: 'enable', value: function enable() { cbEle = document.createElement('click-block'); document.body.appendChild(cbEle); cbEle.addEventListener('touchmove', function (ev) { ev.preventDefault(); ev.stopPropagation(); }); this._enabled = true; } }, { key: 'show', value: function show(shouldShow, expire) { if (this._enabled) { if (shouldShow) { _show(expire); } else { hide(); } } } }]); return ClickBlock; })(); _export('ClickBlock', ClickBlock); } }; }); System.register('ionic/util/dom', [], function (_export) { // requestAnimationFrame is polyfilled for old Android // within the web-animations polyfill 'use strict'; var raf, CSS, matchesFn, dimensionCache, dimensionIds; _export('rafFrames', rafFrames); _export('transitionEnd', transitionEnd); _export('animationStart', animationStart); _export('animationEnd', animationEnd); _export('ready', ready); _export('windowLoad', windowLoad); _export('pointerCoord', pointerCoord); _export('hasPointerMoved', hasPointerMoved); _export('isActive', isActive); _export('hasFocus', hasFocus); _export('isTextInput', isTextInput); _export('hasFocusedTextInput', hasFocusedTextInput); _export('closest', closest); /** * Get the element offsetWidth and offsetHeight. Values are cached * to reduce DOM reads. Cache is cleared on a window resize. * @param {TODO} ele TODO */ _export('removeElement', removeElement); _export('getDimensions', getDimensions); _export('windowDimensions', windowDimensions); _export('flushDimensionCache', flushDimensionCache); _export('parentOffsetEl', parentOffsetEl); /** * Get the current coordinates of the element, relative to the document. * Read-only equivalent of [jQuery's offset function](http://api.jquery.com/offset/). * @param {element} element The element to get the offset of. * @returns {object} Returns an object containing the properties top, left, width and height. */ _export('position', position); _export('offset', offset); function rafFrames(framesToWait, callback) { framesToWait = Math.ceil(framesToWait); if (framesToWait < 2) { raf(callback); } else { setTimeout(function () { raf(callback); }, (framesToWait - 1) * 17); } } function transitionEnd(el) { return cssPromise(el, CSS.transitionEnd); } function animationStart(el, animationName) { return cssPromise(el, CSS.animationStart, animationName); } function animationEnd(el, animationName) { return cssPromise(el, CSS.animationEnd, animationName); } function cssPromise(el, eventNames, animationName) { return new Promise(function (resolve) { eventNames.split(' ').forEach(function (eventName) { el.addEventListener(eventName, onEvent); }); function onEvent(ev) { if (ev.animationName && animationName) { // do not resolve if a bubbled up ev.animationName // is not the same as the passed in animationName arg if (ev.animationName !== animationName) { return; } } else if (ev.target !== el) { // do not resolve if the event's target element is not // the same as the element the listener was added to return; } ev.stopPropagation(); eventNames.split(' ').forEach(function (eventName) { el.removeEventListener(eventName, onEvent); }); resolve(ev); } }); } function ready(callback) { var promise = null; if (!callback) { // a callback wasn't provided, so let's return a promise instead promise = new Promise(function (resolve) { callback = resolve; }); } if (document.readyState === 'complete' || document.readyState === 'interactive') { callback(); } else { (function () { var completed = function completed() { document.removeEventListener('DOMContentLoaded', completed, false); window.removeEventListener('load', completed, false); callback(); }; document.addEventListener('DOMContentLoaded', completed, false); window.addEventListener('load', completed, false); })(); } return promise; } function windowLoad(callback) { var promise = null; if (!callback) { // a callback wasn't provided, so let's return a promise instead promise = new Promise(function (resolve) { callback = resolve; }); } if (document.readyState === 'complete') { callback(); } else { (function () { var completed = function completed() { window.removeEventListener('load', completed, false); callback(); }; window.addEventListener('load', completed, false); })(); } return promise; } function pointerCoord(ev) { // get coordinates for either a mouse click // or a touch depending on the given event var c = { x: 0, y: 0 }; if (ev) { var touches = ev.touches && ev.touches.length ? ev.touches : [ev]; var e = ev.changedTouches && ev.changedTouches[0] || touches[0]; if (e) { c.x = e.clientX || e.pageX || 0; c.y = e.clientY || e.pageY || 0; } } return c; } function hasPointerMoved(threshold, startCoord, endCoord) { return startCoord && endCoord && (Math.abs(startCoord.x - endCoord.x) > threshold || Math.abs(startCoord.y - endCoord.y) > threshold); } function isActive(ele) { return !!(ele && document.activeElement === ele); } function hasFocus(ele) { return isActive(ele) && ele.parentElement.querySelector(':focus') === ele; } function isTextInput(ele) { return !!ele && (ele.tagName == 'TEXTAREA' || ele.contentEditable === 'true' || ele.tagName == 'INPUT' && !/^(radio|checkbox|range|file|submit|reset|color|image|button)$/i.test(ele.type)); } function hasFocusedTextInput() { var ele = document.activeElement; if (isTextInput(ele)) { return ele.parentElement.querySelector(':focus') === ele; } return false; } function closest(ele, selector, checkSelf) { if (ele && matchesFn) { // traverse parents ele = checkSelf ? ele : ele.parentElement; while (ele !== null) { if (ele[matchesFn](selector)) { return ele; } ele = ele.parentElement; } } return null; } function removeElement(ele) { ele && ele.parentNode && ele.parentNode.removeChild(ele); } function getDimensions(ion, ele) { if (!ion._dimId) { ion._dimId = ++dimensionIds; if (ion._dimId % 1000 === 0) { // periodically flush dimensions flushDimensionCache(); } } var dimensions = dimensionCache[ion._dimId]; if (!dimensions) { var _ele = ion.getNativeElement(); // make sure we got good values before caching if (_ele.offsetWidth && _ele.offsetHeight) { dimensions = dimensionCache[ion._dimId] = { width: _ele.offsetWidth, height: _ele.offsetHeight, left: _ele.offsetLeft, top: _ele.offsetTop }; } else { // do not cache bad values return { width: 0, height: 0, left: 0, top: 0 }; } } return dimensions; } function windowDimensions() { if (!dimensionCache.win) { // make sure we got good values before caching if (window.innerWidth && window.innerHeight) { dimensionCache.win = { width: window.innerWidth, height: window.innerHeight }; } else { // do not cache bad values return { width: 0, height: 0 }; } } return dimensionCache.win; } function flushDimensionCache() { dimensionCache = {}; } function isStaticPositioned(element) { return (element.style.position || 'static') === 'static'; } /** * returns the closest, non-statically positioned parentOffset of a given element * @param element */ function parentOffsetEl(element) { var offsetParent = element.offsetParent || document; while (offsetParent && offsetParent !== document && isStaticPositioned(offsetParent)) { offsetParent = offsetParent.offsetParent; } return offsetParent || document; } /** * Get the current coordinates of the element, relative to the offset parent. * Read-only equivalent of [jQuery's position function](http://api.jquery.com/position/). * @param {element} element The element to get the position of. * @returns {object} Returns an object containing the properties top, left, width and height. */ function position(element) { var elBCR = offset(element); var offsetParentBCR = { top: 0, left: 0 }; var offsetParentEl = parentOffsetEl(element); if (offsetParentEl != document) { offsetParentBCR = offset(offsetParentEl); offsetParentBCR.top += offsetParentEl.clientTop - offsetParentEl.scrollTop; offsetParentBCR.left += offsetParentEl.clientLeft - offsetParentEl.scrollLeft; } var boundingClientRect = element.getBoundingClientRect(); return { width: boundingClientRect.width || element.offsetWidth, height: boundingClientRect.height || element.offsetHeight, top: elBCR.top - offsetParentBCR.top, left: elBCR.left - offsetParentBCR.left }; } function offset(element) { var boundingClientRect = element.getBoundingClientRect(); return { width: boundingClientRect.width || element.offsetWidth, height: boundingClientRect.height || element.offsetHeight, top: boundingClientRect.top + (window.pageYOffset || document.documentElement.scrollTop), left: boundingClientRect.left + (window.pageXOffset || document.documentElement.scrollLeft) }; } return { setters: [], execute: function () { raf = window.requestAnimationFrame; _export('raf', raf); CSS = {}; _export('CSS', CSS); (function () { // transform var i, keys = ['webkitTransform', 'transform', '-webkit-transform', 'webkit-transform', '-moz-transform', 'moz-transform', 'MozTransform', 'mozTransform', 'msTransform']; for (i = 0; i < keys.length; i++) { if (document.documentElement.style[keys[i]] !== undefined) { CSS.transform = keys[i]; break; } } // transition keys = ['webkitTransition', 'mozTransition', 'msTransition', 'transition']; for (i = 0; i < keys.length; i++) { if (document.documentElement.style[keys[i]] !== undefined) { CSS.transition = keys[i]; break; } } // The only prefix we care about is webkit for transitions. var isWebkit = CSS.transition.indexOf('webkit') > -1; CSS.prefix = isWebkit ? '-webkit-' : ''; // transition duration CSS.transitionDuration = (isWebkit ? '-webkit-' : '') + 'transition-duration'; // To be sure transitionend works everywhere, include *both* the webkit and non-webkit events CSS.transitionEnd = (isWebkit ? 'webkitTransitionEnd ' : '') + 'transitionend'; })(); if (window.onanimationend === undefined && window.onwebkitanimationend !== undefined) { CSS.animation = 'WebkitAnimation'; CSS.animationStart = 'webkitAnimationStart animationstart'; CSS.animationEnd = 'webkitAnimationEnd animationend'; } else { CSS.animation = 'animation'; CSS.animationStart = 'animationstart'; CSS.animationEnd = 'animationend'; } matchesFn = undefined; ['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector'].some(function (fn) { if (typeof document.documentElement[fn] == 'function') { matchesFn = fn; } }); dimensionCache = {}; dimensionIds = 0; ; } }; }); System.register("ionic/util/events", ["angular2/core"], function (_export) { /** * Events is a pub/sub style event system for sending and responding to application-level * events across your app. * @usage * ```ts * // first page (publish an event when a user is created) * function createUser(user) { * console.log('User created!') * events.publish('user:created', user); * } * * // second page (listen for the user created event) * events.subscribe('user:created', (user) => { * console.log('Welcome', user); * }); * * ``` */ "use strict"; var Injectable, __decorate, __metadata, Events; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Injectable = _angular2Core.Injectable; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Events = (function () { function Events() { _classCallCheck(this, Events); this.channels = []; } /** * Subscribe to an event topic. Events that get posted to that topic * will trigger the provided handler. * * @param topic the topic to subscribe to * @param handler the event handler */ _createClass(Events, [{ key: "subscribe", value: function subscribe(topic) { var _this = this; if (!this.channels[topic]) { this.channels[topic] = []; } for (var _len = arguments.length, handlers = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { handlers[_key - 1] = arguments[_key]; } handlers.forEach(function (handler) { _this.channels[topic].push(handler); }); } /** * Unsubscribe from the given topic. Your handler will * no longer receive events published to this topic. * * @param topic the topic to unsubscribe from * @param handler the event handler * * @return true if a handler was removed */ }, { key: "unsubscribe", value: function unsubscribe(topic, handler) { var t = this.channels[topic]; if (!t) { // Wasn't found, wasn't removed return false; } if (!handler) { // Remove all handlers for this topic delete this.channels[topic]; return true; } // We need to find and remove a specific handler var i = t.indexOf(handler); if (i < 0) { // Wasn't found, wasn't removed return false; } t.splice(i, 1); // If the channel is empty now, remove it from the channel map if (!t.length) { delete this.channels[topic]; } return true; } /** * Publish an event to the given topic. * * @param topic the topic to publish to * @param eventData the data to send as the event */ }, { key: "publish", value: function publish(topic) { for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; } var t = this.channels[topic]; if (!t) { return null; } var responses = []; t.forEach(function (handler) { responses.push(handler(args)); }); return responses; } }]); return Events; })(); _export("Events", Events); _export("Events", Events = __decorate([Injectable(), __metadata('design:paramtypes', [])], Events)); } }; }); System.register('ionic/util/feature-detect', [], function (_export) { 'use strict'; var FeatureDetect, featureDetects; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } return { setters: [], execute: function () { FeatureDetect = (function () { function FeatureDetect() { _classCallCheck(this, FeatureDetect); } _createClass(FeatureDetect, [{ key: 'run', value: function run(window, document) { this._results = {}; for (var _name in featureDetects) { this._results[_name] = featureDetects[_name](window, document, document.body); } } }, { key: 'has', value: function has(featureName) { return !!this._results[featureName]; } }], [{ key: 'add', value: function add(name, fn) { featureDetects[name] = fn; } }]); return FeatureDetect; })(); _export('FeatureDetect', FeatureDetect); featureDetects = {}; // FeatureDetect.add('sticky', function(window, document) { // // css position sticky // let ele = document.createElement('div'); // ele.style.cssText = 'position:-webkit-sticky;position:sticky'; // return ele.style.position.indexOf('sticky') > -1; // }); FeatureDetect.add('hairlines', function (window, document, body) { /** * Hairline Shim * Add the "hairline" CSS class name to the body tag * if the browser supports subpixels. */ var canDo = false; if (window.devicePixelRatio >= 2) { var hairlineEle = document.createElement('div'); hairlineEle.style.border = '.5px solid transparent'; body.appendChild(hairlineEle); if (hairlineEle.offsetHeight === 1) { body.classList.add('hairlines'); canDo = true; } body.removeChild(hairlineEle); } return canDo; }); } }; }); System.register("ionic/util/form", ["angular2/core"], function (_export) { /** * The Input component is used to focus text input elements. * * @usage * ```html * * Name * * * ``` */ "use strict"; var Injectable, __decorate, __metadata, Form; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Injectable = _angular2Core.Injectable; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Form = (function () { function Form() { _classCallCheck(this, Form); this._inputs = []; this._ids = -1; this._focused = null; this.focusCtrl(document); } _createClass(Form, [{ key: "register", value: function register(input) { this._inputs.push(input); } }, { key: "deregister", value: function deregister(input) { var index = this._inputs.indexOf(input); if (index > -1) { this._inputs.splice(index, 1); } if (input === this._focused) { this._focused = null; } } }, { key: "focusCtrl", value: function focusCtrl(document) { // raw DOM fun var focusCtrl = document.createElement('focus-ctrl'); focusCtrl.setAttribute('aria-hidden', true); this._blur = document.createElement('button'); this._blur.tabIndex = -1; focusCtrl.appendChild(this._blur); document.body.appendChild(focusCtrl); } }, { key: "focusOut", value: function focusOut() { console.debug('focusOut'); document.activeElement && document.activeElement.blur(); this._blur.focus(); } }, { key: "setAsFocused", value: function setAsFocused(input) { this._focused = input; } /** * Focuses the next input element, if it exists. */ }, { key: "focusNext", value: function focusNext(currentInput) { console.debug('focusNext'); var index = this._inputs.indexOf(currentInput); if (index > -1 && index + 1 < this._inputs.length) { var nextInput = this._inputs[index + 1]; if (nextInput !== this._focused) { return nextInput.initFocus(); } } index = this._inputs.indexOf(this._focused); if (index > 0) { var previousInput = this._inputs[index - 1]; if (previousInput) { previousInput.initFocus(); } } } }, { key: "nextId", value: function nextId() { return ++this._ids; } }]); return Form; })(); _export("Form", Form); _export("Form", Form = __decorate([Injectable(), __metadata('design:paramtypes', [])], Form)); } }; }); System.register("ionic/util/keyboard", ["angular2/core", "../config/config", "./form", "./dom"], function (_export) { /** * @name Keyboard * @description * The `Keyboard` class allows you to work with the keyboard events provide by the Ionic keyboard plugin. * * @usage * ```ts * export class MyClass{ * constructor(keyboard: Keyboard){ * this.keyboard = keyboard; * } * } * * ``` */ "use strict"; var Injectable, NgZone, Config, Form, hasFocusedTextInput, raf, rafFrames, __decorate, __metadata, Keyboard, KEYBOARD_CLOSE_POLLING, _a, _b, _c; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Injectable = _angular2Core.Injectable; NgZone = _angular2Core.NgZone; }, function (_configConfig) { Config = _configConfig.Config; }, function (_form) { Form = _form.Form; }, function (_dom) { hasFocusedTextInput = _dom.hasFocusedTextInput; raf = _dom.raf; rafFrames = _dom.rafFrames; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Keyboard = (function () { function Keyboard(config, form, zone) { var _this = this; _classCallCheck(this, Keyboard); this.form = form; this.zone = zone; zone.runOutsideAngular(function () { _this.focusOutline(config.get('focusOutline'), document); }); } /** * Chech to see if the keyboard is open or not. * * ```ts * export class MyClass{ * constructor(keyboard: Keyboard){ * this.keyboard = keyboard; * } * keyboardCheck(){ * setTimeout(() => console.log('is the keyboard open ', this.keyboard.isOpen())); * } * } * * ``` * * @return {Bool} returns a true or flase value if the keyboard is open or not */ _createClass(Keyboard, [{ key: "isOpen", value: function isOpen() { return hasFocusedTextInput(); } /** * When the keyboard is closed, call any methods you want * * ```ts * export class MyClass{ * constructor(keyboard: Keyboard){ * this.keyboard = keyboard; * this.keyboard.onClose(this.closeCallback); * } * closeCallback(){ * // call what ever functionality you want on keyboard close * console.log('Closing time"); * } * } * * ``` * @param {Function} callback method you want to call when the keyboard has been closed * @return {Function} returns a callback that gets fired when the keyboard is closed */ }, { key: "onClose", value: function onClose(callback) { var pollingInternval = arguments.length <= 1 || arguments[1] === undefined ? KEYBOARD_CLOSE_POLLING : arguments[1]; console.debug('keyboard onClose'); var self = this; var checks = 0; var promise = null; if (!callback) { // a callback wasn't provided, so let's return a promise instead promise = new Promise(function (resolve) { callback = resolve; }); } self.zone.runOutsideAngular(function () { function checkKeyboard() { console.debug('keyboard isOpen', self.isOpen(), checks); if (!self.isOpen() || checks > 100) { rafFrames(30, function () { self.zone.run(function () { console.debug('keyboard closed'); callback(); }); }); } else { setTimeout(checkKeyboard, pollingInternval); } checks++; } setTimeout(checkKeyboard, pollingInternval); }); return promise; } /** * Progamatically close they keyboard * */ }, { key: "close", value: function close() { var _this2 = this; console.debug('keyboard close()'); raf(function () { if (hasFocusedTextInput()) { // only focus out when a text input has focus _this2.form.focusOut(); } }); } /** * @private */ }, { key: "focusOutline", value: function focusOutline(setting, document) { /* Focus Outline * -------------------------------------------------- * By default, when a keydown event happens from a tab key, then * the 'focus-outline' css class is added to the body element * so focusable elements have an outline. On a mousedown or * touchstart event, then the 'focus-outline' css class is removed. * * Config default overrides: * focusOutline: true - Always add the focus-outline * focusOutline: false - Do not add the focus-outline */ var self = this; var isKeyInputEnabled = false; function cssClass() { raf(function () { document.body.classList[isKeyInputEnabled ? 'add' : 'remove']('focus-outline'); }); } if (setting === true) { isKeyInputEnabled = true; return cssClass(); } else if (setting === false) { return; } // default is to add the focus-outline when the tab key is used function keyDown(ev) { if (!isKeyInputEnabled && ev.keyCode == 9) { isKeyInputEnabled = true; enableKeyInput(); } } function pointerDown() { isKeyInputEnabled = false; enableKeyInput(); } function enableKeyInput() { cssClass(); self.zone.runOutsideAngular(function () { document.removeEventListener('mousedown', pointerDown); document.removeEventListener('touchstart', pointerDown); if (isKeyInputEnabled) { document.addEventListener('mousedown', pointerDown); document.addEventListener('touchstart', pointerDown); } }); } document.addEventListener('keydown', keyDown); } }]); return Keyboard; })(); _export("Keyboard", Keyboard); _export("Keyboard", Keyboard = __decorate([Injectable(), __metadata('design:paramtypes', [typeof (_a = typeof Config !== 'undefined' && Config) === 'function' && _a || Object, typeof (_b = typeof Form !== 'undefined' && Form) === 'function' && _b || Object, typeof (_c = typeof NgZone !== 'undefined' && NgZone) === 'function' && _c || Object])], Keyboard)); KEYBOARD_CLOSE_POLLING = 150; } }; }); System.register('ionic/util/util', [], function (_export) { // Simple noop function 'use strict'; var isBoolean, isString, isNumber, isFunction, isDefined, isUndefined, isBlank, isObject, isArray, isTrueProperty, uid, array; _export('noop', noop); /** * Extend the destination with an arbitrary number of other objects. * @param dst the destination * @param ... the param objects */ _export('clamp', clamp); /** * Do a deep extend (merge). * @param dst the destination * @param ... the param objects */ _export('extend', extend); _export('merge', merge); /** * Apply default arguments if they don't exist in * the first object. * @param the destination to apply defaults to. */ _export('debounce', debounce); _export('defaults', defaults); _export('pascalCaseToDashCase', pascalCaseToDashCase); _export('nextUid', nextUid); /** * Throttle the given fun, only allowing it to be * called at most every `wait` ms. */ _export('getQuerystring', getQuerystring); _export('throttle', throttle); function noop() {} /** * Given a min and max, restrict the given number * to the range. * @param min the minimum * @param n the value * @param max the maximum */ function clamp(min, n, max) { return Math.max(min, Math.min(n, max)); } function extend(dst) { return _baseExtend(dst, [].slice.call(arguments, 1), false); } function merge(dst) { return _baseExtend(dst, [].slice.call(arguments, 1), true); } function _baseExtend(dst, objs, deep) { for (var i = 0, ii = objs.length; i < ii; ++i) { var obj = objs[i]; if (!obj || !isObject(obj) && !isFunction(obj)) continue; var keys = Object.keys(obj); for (var j = 0, jj = keys.length; j < jj; j++) { var key = keys[j]; var src = obj[key]; if (deep && isObject(src)) { if (!isObject(dst[key])) dst[key] = isArray(src) ? [] : {}; _baseExtend(dst[key], [src], true); } else { dst[key] = src; } } } return dst; } function debounce(func, wait, immediate) { var timeout, args, context, timestamp, result; return function () { context = this; args = arguments; timestamp = new Date(); var later = function later() { var last = new Date() - timestamp; if (last < wait) { timeout = setTimeout(later, wait - last); } else { timeout = null; if (!immediate) result = func.apply(context, args); } }; var callNow = immediate && !timeout; if (!timeout) { timeout = setTimeout(later, wait); } if (callNow) result = func.apply(context, args); return result; }; } function defaults(dest) { for (var i = arguments.length - 1; i >= 1; i--) { var source = arguments[i] || {}; for (var key in source) { if (source.hasOwnProperty(key) && !dest.hasOwnProperty(key)) { dest[key] = source[key]; } } } return dest; } /** * Convert a string in the format thisIsAString to a slug format this-is-a-string */ function pascalCaseToDashCase() { var str = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0]; return str.charAt(0).toLowerCase() + str.substring(1).replace(/[A-Z]/g, function (match) { return '-' + match.toLowerCase(); }); } function nextUid() { return ++uid; } /** * Grab the query string param value for the given key. * @param key the key to look for */ function getQuerystring(url, key) { var queryParams = {}; if (url) { var startIndex = url.indexOf('?'); if (startIndex !== -1) { var queries = url.slice(startIndex + 1).split('&'); queries.forEach(function (param) { var split = param.split('='); queryParams[split[0].toLowerCase()] = split[1].split('#')[0]; }); } if (key) { return queryParams[key] || ''; } } return queryParams; } function throttle(func, wait, options) { var context, args, result; var timeout = null; var previous = 0; options || (options = {}); var later = function later() { previous = options.leading === false ? 0 : Date.now(); timeout = null; result = func.apply(context, args); }; return function () { var now = Date.now(); if (!previous && options.leading === false) previous = now; var remaining = wait - (now - previous); context = this; args = arguments; if (remaining <= 0) { clearTimeout(timeout); timeout = null; previous = now; result = func.apply(context, args); } else if (!timeout && options.trailing !== false) { timeout = setTimeout(later, remaining); } return result; }; } return { setters: [], execute: function () { ; isBoolean = function isBoolean(val) { return typeof val === 'boolean'; }; _export('isBoolean', isBoolean); isString = function isString(val) { return typeof val === 'string'; }; _export('isString', isString); isNumber = function isNumber(val) { return typeof val === 'number'; }; _export('isNumber', isNumber); isFunction = function isFunction(val) { return typeof val === 'function'; }; _export('isFunction', isFunction); isDefined = function isDefined(val) { return typeof val !== 'undefined'; }; _export('isDefined', isDefined); isUndefined = function isUndefined(val) { return typeof val === 'undefined'; }; _export('isUndefined', isUndefined); isBlank = function isBlank(val) { return val === undefined || val === null; }; _export('isBlank', isBlank); isObject = function isObject(val) { return typeof val === 'object'; }; _export('isObject', isObject); isArray = Array.isArray; _export('isArray', isArray); isTrueProperty = function isTrueProperty(val) { return typeof val !== 'undefined' && val !== "false"; }; _export('isTrueProperty', isTrueProperty); uid = 0; array = { find: function find(arr, cb) { for (var i = 0, ii = arr.length; i < ii; i++) { if (cb(arr[i], i)) return arr[i]; } }, remove: function remove(arr, itemOrIndex) { var index = -1; if (isNumber(itemOrIndex)) { index = itemOrIndex; } else { index = arr.indexOf(itemOrIndex); } if (index < 0) { return false; } arr.splice(index, 1); return true; } }; _export('array', array); } }; }); System.register("ionic/components/action-sheet/action-sheet", ["angular2/core", "angular2/common", "../nav/nav-controller", "../nav/view-controller", "../../config/config", "../icon/icon", "../../animations/animation"], function (_export) { /** * @name ActionSheet * @description * An Action Sheet is a dialog that lets the user choose from a set of * options. It appears on top of the app's content, and must be manually * dismissed by the user before they can resume interaction with the app. * Dangerous (destructive) options are made obvious. There are easy * ways to cancel out of the action sheet, such as tapping the backdrop or * hitting the escape key on desktop. * * An action sheet is created from an array of `buttons`, with each button * including properties for its `text`, and optionally a `style` and `handler`. * If a handler returns `false` then the action sheet will not be dismissed. An * action sheet can also optionally have a `title` and a `subTitle`. * * A button's `style` property can either be `destructive` or `cancel`. Buttons * without a style property will have a default style for its platform. Buttons * with the `cancel` style will always load as the bottom button, no matter where * it shows up in the array. All other buttons will show up in the order they * have been added to the `buttons` array. Note: We recommend that `destructive` * buttons show be the first button in the array, making it the button on top. * * Its shorthand is to add all the action sheet's options from within the * `ActionSheet.create(opts)` first argument. Otherwise the action sheet's * instance has methods to add options, such as `setTitle()` or `addButton()`. * * @usage * ```ts * constructor(nav: NavController) { * this.nav = nav; * } * * presentActionSheet() { * let actionSheet = ActionSheet.create({ * title: 'Modify your album', * buttons: [ * { * text: 'Destructive', * style: 'destructive', * handler: () => { * console.log('Destructive clicked'); * } * }, * { * text: 'Archive', * handler: () => { * console.log('Archive clicked'); * } * }, * { * text: 'Cancel', * style: 'cancel', * handler: () => { * console.log('Cancel clicked'); * } * } * ] * }); * * this.nav.present(actionSheet); * } * ``` * * @demo /docs/v3/demos/action-sheet/ * @see {@link /docs/v3/components#action-sheets ActionSheet Component Docs} */ "use strict"; var Component, Renderer, NgFor, NgIf, NavParams, ViewController, Config, Icon, Animation, __decorate, __metadata, ActionSheet, ActionSheetCmp, ActionSheetSlideIn, ActionSheetSlideOut, ActionSheetMdSlideIn, ActionSheetMdSlideOut, _a, _b, _c, _d; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x3, _x4, _x5) { var _again = true; _function: while (_again) { var object = _x3, property = _x4, receiver = _x5; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x3 = parent; _x4 = property; _x5 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_angular2Core) { Component = _angular2Core.Component; Renderer = _angular2Core.Renderer; }, function (_angular2Common) { NgFor = _angular2Common.NgFor; NgIf = _angular2Common.NgIf; }, function (_navNavController) { NavParams = _navNavController.NavParams; }, function (_navViewController) { ViewController = _navViewController.ViewController; }, function (_configConfig) { Config = _configConfig.Config; }, function (_iconIcon) { Icon = _iconIcon.Icon; }, function (_animationsAnimation) { Animation = _animationsAnimation.Animation; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; ActionSheet = (function (_ViewController) { _inherits(ActionSheet, _ViewController); function ActionSheet() { var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; _classCallCheck(this, ActionSheet); opts.buttons = opts.buttons || []; _get(Object.getPrototypeOf(ActionSheet.prototype), "constructor", this).call(this, ActionSheetCmp, opts); this.viewType = 'action-sheet'; } /** * @private */ /** * @private */ _createClass(ActionSheet, [{ key: "getTransitionName", value: function getTransitionName(direction) { var key = 'actionSheet' + (direction === 'back' ? 'Leave' : 'Enter'); return this._nav && this._nav.config.get(key); } /** * @param {string} title Action sheet title */ }, { key: "setTitle", value: function setTitle(title) { this.data.title = title; } /** * @param {string} subTitle Action sheet subtitle */ }, { key: "setSubTitle", value: function setSubTitle(subTitle) { this.data.subTitle = subTitle; } /** * @param {Object} button Action sheet button */ }, { key: "addButton", value: function addButton(button) { this.data.buttons.push(button); } /** * @param {Object} opts Action sheet options */ }], [{ key: "create", value: function create() { var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; return new ActionSheet(opts); } }]); return ActionSheet; })(ViewController); _export("ActionSheet", ActionSheet); ActionSheetCmp = (function () { function ActionSheetCmp(_viewCtrl, _config, params, renderer) { _classCallCheck(this, ActionSheetCmp); this._viewCtrl = _viewCtrl; this._config = _config; this.d = params.data; if (this.d.cssClass) { renderer.setElementClass(elementRef, this.d.cssClass, true); } } _createClass(ActionSheetCmp, [{ key: "click", value: function click(button) { var _this = this; var shouldDismiss = true; if (button.handler) { // a handler has been provided, execute it if (button.handler() === false) { // if the return value of the handler is false then do not dismiss shouldDismiss = false; } } if (shouldDismiss) { setTimeout(function () { _this.dismiss(); }, this._config.get('pageTransitionDelay')); } } }, { key: "dismiss", value: function dismiss() { this._viewCtrl.dismiss(); } }, { key: "onPageLoaded", value: function onPageLoaded() { var _this2 = this; // normalize the data var buttons = []; this.d.buttons.forEach(function (button) { if (typeof button === 'string') { button = { text: button }; } if (!button.cssClass) { button.cssClass = ''; } if (button.style === 'cancel') { _this2.d.cancelButton = button; } else { if (button.style === 'destructive') { button.cssClass = (button.cssClass + ' ' || '') + 'action-sheet-destructive'; } buttons.push(button); } }); this.d.buttons = buttons; var self = this; self.keyUp = function (ev) { if (ev.keyCode === 27) { console.debug('actionsheet escape'); self.dismiss(); } }; document.addEventListener('keyup', this.keyUp); } }, { key: "onPageDidLeave", value: function onPageDidLeave() { document.removeEventListener('keyup', this.keyUp); } }]); return ActionSheetCmp; })(); ActionSheetCmp = __decorate([Component({ selector: 'ion-action-sheet', template: '' + '
' + '
' + '
' + '
{{d.title}}
' + '
{{d.subTitle}}
' + '' + '
' + '
' + '' + '
' + '
' + '
', host: { 'role': 'dialog' }, directives: [NgFor, NgIf, Icon] }), __metadata('design:paramtypes', [typeof (_a = typeof ViewController !== 'undefined' && ViewController) === 'function' && _a || Object, typeof (_b = typeof Config !== 'undefined' && Config) === 'function' && _b || Object, typeof (_c = typeof NavParams !== 'undefined' && NavParams) === 'function' && _c || Object, typeof (_d = typeof Renderer !== 'undefined' && Renderer) === 'function' && _d || Object])], ActionSheetCmp); ActionSheetSlideIn = (function (_Animation) { _inherits(ActionSheetSlideIn, _Animation); function ActionSheetSlideIn(enteringView, leavingView, opts) { _classCallCheck(this, ActionSheetSlideIn); _get(Object.getPrototypeOf(ActionSheetSlideIn.prototype), "constructor", this).call(this, null, opts); var ele = enteringView.pageRef().nativeElement; var backdrop = new Animation(ele.querySelector('.backdrop')); var wrapper = new Animation(ele.querySelector('.action-sheet-wrapper')); backdrop.fromTo('opacity', 0.01, 0.4); wrapper.fromTo('translateY', '100%', '0%'); this.easing('cubic-bezier(.36,.66,.04,1)').duration(400).add([backdrop, wrapper]); } return ActionSheetSlideIn; })(Animation); Animation.register('action-sheet-slide-in', ActionSheetSlideIn); ActionSheetSlideOut = (function (_Animation2) { _inherits(ActionSheetSlideOut, _Animation2); function ActionSheetSlideOut(enteringView, leavingView, opts) { _classCallCheck(this, ActionSheetSlideOut); _get(Object.getPrototypeOf(ActionSheetSlideOut.prototype), "constructor", this).call(this, null, opts); var ele = leavingView.pageRef().nativeElement; var backdrop = new Animation(ele.querySelector('.backdrop')); var wrapper = new Animation(ele.querySelector('.action-sheet-wrapper')); backdrop.fromTo('opacity', 0.4, 0); wrapper.fromTo('translateY', '0%', '100%'); this.easing('cubic-bezier(.36,.66,.04,1)').duration(300).add([backdrop, wrapper]); } return ActionSheetSlideOut; })(Animation); Animation.register('action-sheet-slide-out', ActionSheetSlideOut); ActionSheetMdSlideIn = (function (_Animation3) { _inherits(ActionSheetMdSlideIn, _Animation3); function ActionSheetMdSlideIn(enteringView, leavingView, opts) { _classCallCheck(this, ActionSheetMdSlideIn); _get(Object.getPrototypeOf(ActionSheetMdSlideIn.prototype), "constructor", this).call(this, null, opts); var ele = enteringView.pageRef().nativeElement; var backdrop = new Animation(ele.querySelector('.backdrop')); var wrapper = new Animation(ele.querySelector('.action-sheet-wrapper')); backdrop.fromTo('opacity', 0.01, 0.26); wrapper.fromTo('translateY', '100%', '0%'); this.easing('cubic-bezier(.36,.66,.04,1)').duration(450).add([backdrop, wrapper]); } return ActionSheetMdSlideIn; })(Animation); Animation.register('action-sheet-md-slide-in', ActionSheetMdSlideIn); ActionSheetMdSlideOut = (function (_Animation4) { _inherits(ActionSheetMdSlideOut, _Animation4); function ActionSheetMdSlideOut(enteringView, leavingView, opts) { _classCallCheck(this, ActionSheetMdSlideOut); _get(Object.getPrototypeOf(ActionSheetMdSlideOut.prototype), "constructor", this).call(this, null, opts); var ele = leavingView.pageRef().nativeElement; var backdrop = new Animation(ele.querySelector('.backdrop')); var wrapper = new Animation(ele.querySelector('.action-sheet-wrapper')); backdrop.fromTo('opacity', 0.26, 0); wrapper.fromTo('translateY', '0%', '100%'); this.easing('cubic-bezier(.36,.66,.04,1)').duration(450).add([backdrop, wrapper]); } return ActionSheetMdSlideOut; })(Animation); Animation.register('action-sheet-md-slide-out', ActionSheetMdSlideOut); } }; }); System.register("ionic/components/alert/alert", ["angular2/core", "angular2/common", "../nav/nav-controller", "../nav/view-controller", "../../config/config", "../../animations/animation", "../../util/util"], function (_export) { /** * @name Alert * @description * An Alert is a dialog that presents users with either information, or used * to receive information from the user using inputs. An alert appears on top * of the app's content, and must be manually dismissed by the user before * they can resume interaction with the app. * * An alert is created from an array of `buttons` and optionally an array of * `inputs`. Each button includes properties for its `text`, and optionally a * `handler`. If a handler returns `false` then the alert will not be dismissed. * An alert can also optionally have a `title`, `subTitle` and `body`. * * All buttons will show up in the order they have been added to the `buttons` * array, from left to right. Note: The right most button (the last one in the * array) is the main button. * * Alerts can also include inputs whos data can be passed back to the app. * Inputs can be used to prompt users for information. * * Its shorthand is to add all the alert's options from within the * `Alert.create(opts)` first argument. Otherwise the alert's * instance has methods to add options, such as `setTitle()` or `addButton()`. * * @usage * ```ts * constructor(nav: NavController) { * this.nav = nav; * } * * presentAlert() { * let alert = Alert.create({ * title: 'Low battery', * subTitle: '10% of battery remaining', * buttons: ['Dismiss'] * }); * this.nav.present(alert); * } * * presentConfirm() { * let alert = Alert.create({ * title: 'Confirm purchase', * body: 'Do you want to buy this book?', * buttons: [ * { * text: 'Cancel', * handler: () => { * console.log('Cancel clicked'); * } * }, * { * text: 'Buy', * handler: () => { * console.log('Buy clicked'); * } * } * ] * }); * this.nav.present(alert); * } * * presentPrompt() { * let alert = Alert.create({ * title: 'Login', * inputs: [ * { * name: 'username', * placeholder: 'Username' * }, * { * name: 'password', * placeholder: 'Password', * type: 'password' * } * ], * buttons: [ * { * text: 'Cancel', * handler: data => { * console.log('Cancel clicked'); * } * }, * { * text: 'Login', * handler: data => { * if (User.isValid(data.username, data.password)) { * // logged in! * } else { * // invalid login * return false; * } * } * } * ] * }); * this.nav.present(alert); * } * ``` * */ "use strict"; var Component, ElementRef, Renderer, NgClass, NgIf, NgFor, NavParams, ViewController, Config, Animation, isDefined, __decorate, __metadata, Alert, AlertCmp, AlertPopIn, AlertPopOut, AlertMdPopIn, AlertMdPopOut, _a, _b, _c, _d, _e; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x3, _x4, _x5) { var _again = true; _function: while (_again) { var object = _x3, property = _x4, receiver = _x5; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x3 = parent; _x4 = property; _x5 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_angular2Core) { Component = _angular2Core.Component; ElementRef = _angular2Core.ElementRef; Renderer = _angular2Core.Renderer; }, function (_angular2Common) { NgClass = _angular2Common.NgClass; NgIf = _angular2Common.NgIf; NgFor = _angular2Common.NgFor; }, function (_navNavController) { NavParams = _navNavController.NavParams; }, function (_navViewController) { ViewController = _navViewController.ViewController; }, function (_configConfig) { Config = _configConfig.Config; }, function (_animationsAnimation) { Animation = _animationsAnimation.Animation; }, function (_utilUtil) { isDefined = _utilUtil.isDefined; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Alert = (function (_ViewController) { _inherits(Alert, _ViewController); function Alert() { var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; _classCallCheck(this, Alert); opts.inputs = opts.inputs || []; opts.buttons = opts.buttons || []; _get(Object.getPrototypeOf(Alert.prototype), "constructor", this).call(this, AlertCmp, opts); this.viewType = 'alert'; } /** * @private */ /** * @private */ _createClass(Alert, [{ key: "getTransitionName", value: function getTransitionName(direction) { var key = direction === 'back' ? 'alertLeave' : 'alertEnter'; return this._nav && this._nav.config.get(key); } /** * @param {string} title Alert title */ }, { key: "setTitle", value: function setTitle(title) { this.data.title = title; } /** * @param {string} subTitle Alert subtitle */ }, { key: "setSubTitle", value: function setSubTitle(subTitle) { this.data.subTitle = subTitle; } /** * @param {string} body Alert body content */ }, { key: "setBody", value: function setBody(body) { this.data.body = body; } /** * @param {Object} input Alert input */ }, { key: "addInput", value: function addInput(input) { this.data.inputs.push(input); } /** * @param {Object} button Alert button */ }, { key: "addButton", value: function addButton(button) { this.data.buttons.push(button); } /** * @param {Object} opts Alert options */ }], [{ key: "create", value: function create() { var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; return new Alert(opts); } }]); return Alert; })(ViewController); _export("Alert", Alert); AlertCmp = (function () { function AlertCmp(_viewCtrl, _elementRef, _config, params, renderer) { _classCallCheck(this, AlertCmp); this._viewCtrl = _viewCtrl; this._elementRef = _elementRef; this._config = _config; this.d = params.data; if (this.d.cssClass) { renderer.setElementClass(_elementRef, this.d.cssClass, true); } } _createClass(AlertCmp, [{ key: "click", value: function click(button) { var _this = this; var shouldDismiss = true; if (button.handler) { // a handler has been provided, execute it // pass the handler the values from the inputs if (button.handler(this.getValues()) === false) { // if the return value of the handler is false then do not dismiss shouldDismiss = false; } } if (shouldDismiss) { setTimeout(function () { _this.dismiss(); }, this._config.get('pageTransitionDelay')); } } }, { key: "dismiss", value: function dismiss() { this._viewCtrl.dismiss(this.getValues()); } }, { key: "getValues", value: function getValues() { var values = {}; this.d.inputs.forEach(function (input) { values[input.name] = input.value; }); return values; } }, { key: "onPageLoaded", value: function onPageLoaded() { // normalize the data this.d.buttons = this.d.buttons.map(function (button) { if (typeof button === 'string') { return { text: button }; } return button; }); this.d.inputs = this.d.inputs.map(function (input, index) { return { name: isDefined(input.name) ? input.name : index, placeholder: isDefined(input.placeholder) ? input.placeholder : '', type: input.type || 'text', value: isDefined(input.value) ? input.value : '' }; }); var self = this; self.keyUp = function (ev) { if (ev.keyCode === 13) { // enter console.debug('alert enter'); var button = self.d.buttons[self.d.buttons.length - 1]; self.click(button); } else if (ev.keyCode === 27) { console.debug('alert escape'); self.dismiss(); } }; document.addEventListener('keyup', this.keyUp); } }, { key: "onPageDidEnter", value: function onPageDidEnter() { document.activeElement && document.activeElement.blur(); if (this.d.inputs.length) { var firstInput = this._elementRef.nativeElement.querySelector('input'); if (firstInput) { firstInput.focus(); } } } }, { key: "onPageDidLeave", value: function onPageDidLeave() { document.removeEventListener('keyup', this.keyUp); } }]); return AlertCmp; })(); AlertCmp = __decorate([Component({ selector: 'ion-alert', template: '' + '
' + '
' + '

{{d.title}}

' + '

{{d.subTitle}}

' + '
' + '
{{d.body}}
' + '
' + '
' + '' + '
' + '
' + '
' + '' + '
' + '
', host: { 'role': 'dialog' }, directives: [NgClass, NgIf, NgFor] }), __metadata('design:paramtypes', [typeof (_a = typeof ViewController !== 'undefined' && ViewController) === 'function' && _a || Object, typeof (_b = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _b || Object, typeof (_c = typeof Config !== 'undefined' && Config) === 'function' && _c || Object, typeof (_d = typeof NavParams !== 'undefined' && NavParams) === 'function' && _d || Object, typeof (_e = typeof Renderer !== 'undefined' && Renderer) === 'function' && _e || Object])], AlertCmp); /** * Animations for alerts */ AlertPopIn = (function (_Animation) { _inherits(AlertPopIn, _Animation); function AlertPopIn(enteringView, leavingView, opts) { _classCallCheck(this, AlertPopIn); _get(Object.getPrototypeOf(AlertPopIn.prototype), "constructor", this).call(this, null, opts); var ele = enteringView.pageRef().nativeElement; var backdrop = new Animation(ele.querySelector('.backdrop')); var wrapper = new Animation(ele.querySelector('.alert-wrapper')); wrapper.fromTo('opacity', '0.01', '1').fromTo('scale', '1.1', '1'); backdrop.fromTo('opacity', '0.01', '0.3'); this.easing('ease-in-out').duration(200).add(backdrop, wrapper); } return AlertPopIn; })(Animation); Animation.register('alert-pop-in', AlertPopIn); AlertPopOut = (function (_Animation2) { _inherits(AlertPopOut, _Animation2); function AlertPopOut(enteringView, leavingView, opts) { _classCallCheck(this, AlertPopOut); _get(Object.getPrototypeOf(AlertPopOut.prototype), "constructor", this).call(this, null, opts); var ele = leavingView.pageRef().nativeElement; var backdrop = new Animation(ele.querySelector('.backdrop')); var wrapper = new Animation(ele.querySelector('.alert-wrapper')); wrapper.fromTo('opacity', '1', '0').fromTo('scale', '1', '0.9'); backdrop.fromTo('opacity', '0.3', '0'); this.easing('ease-in-out').duration(200).add(backdrop, wrapper); } return AlertPopOut; })(Animation); Animation.register('alert-pop-out', AlertPopOut); AlertMdPopIn = (function (_Animation3) { _inherits(AlertMdPopIn, _Animation3); function AlertMdPopIn(enteringView, leavingView, opts) { _classCallCheck(this, AlertMdPopIn); _get(Object.getPrototypeOf(AlertMdPopIn.prototype), "constructor", this).call(this, null, opts); var ele = enteringView.pageRef().nativeElement; var backdrop = new Animation(ele.querySelector('.backdrop')); var wrapper = new Animation(ele.querySelector('.alert-wrapper')); wrapper.fromTo('opacity', '0.01', '1').fromTo('scale', '1.1', '1'); backdrop.fromTo('opacity', '0.01', '0.5'); this.easing('ease-in-out').duration(200).add(backdrop, wrapper); } return AlertMdPopIn; })(Animation); Animation.register('alert-md-pop-in', AlertMdPopIn); AlertMdPopOut = (function (_Animation4) { _inherits(AlertMdPopOut, _Animation4); function AlertMdPopOut(enteringView, leavingView, opts) { _classCallCheck(this, AlertMdPopOut); _get(Object.getPrototypeOf(AlertMdPopOut.prototype), "constructor", this).call(this, null, opts); var ele = leavingView.pageRef().nativeElement; var backdrop = new Animation(ele.querySelector('.backdrop')); var wrapper = new Animation(ele.querySelector('.alert-wrapper')); wrapper.fromTo('opacity', '1', '0').fromTo('scale', '1', '0.9'); backdrop.fromTo('opacity', '0.5', '0'); this.easing('ease-in-out').duration(200).add(backdrop, wrapper); } return AlertMdPopOut; })(Animation); Animation.register('alert-md-pop-out', AlertMdPopOut); } }; }); System.register("ionic/components/app/app", ["angular2/core", "angular2/platform/browser", "../../config/config", "../../util/click-block", "../../util/dom"], function (_export) { /** * @private * Component registry service. For more information on registering * components see the [IdRef API reference](../id/IdRef/). */ "use strict"; var Injectable, NgZone, Title, Config, ClickBlock, rafFrames, __decorate, __metadata, IonicApp, _a, _b, _c; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Injectable = _angular2Core.Injectable; NgZone = _angular2Core.NgZone; }, function (_angular2PlatformBrowser) { Title = _angular2PlatformBrowser.Title; }, function (_configConfig) { Config = _configConfig.Config; }, function (_utilClickBlock) { ClickBlock = _utilClickBlock.ClickBlock; }, function (_utilDom) { rafFrames = _utilDom.rafFrames; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; IonicApp = (function () { function IonicApp(_config, _clickBlock, _zone) { _classCallCheck(this, IonicApp); this._config = _config; this._clickBlock = _clickBlock; this._zone = _zone; this._titleSrv = new Title(); this._title = ''; this._disTime = 0; this._scrollTime = 0; // Our component registry map this.components = {}; } /** * Sets the document title. * @param {string} val Value to set the document title to. */ _createClass(IonicApp, [{ key: "setTitle", value: function setTitle(val) { var self = this; if (val !== self._title) { self._title = val; this._zone.runOutsideAngular(function () { function setAppTitle() { self._titleSrv.setTitle(self._title); } rafFrames(4, setAppTitle); }); } } /** * @private * Sets if the app is currently enabled or not, meaning if it's * available to accept new user commands. For example, this is set to `false` * while views transition, a modal slides up, an action-sheet * slides up, etc. After the transition completes it is set back to `true`. * @param {bool} isEnabled * @param {bool} fallback When `isEnabled` is set to `false`, this argument * is used to set the maximum number of milliseconds that app will wait until * it will automatically enable the app again. It's basically a fallback incase * something goes wrong during a transition and the app wasn't re-enabled correctly. */ }, { key: "setEnabled", value: function setEnabled(isEnabled) { var duration = arguments.length <= 1 || arguments[1] === undefined ? 700 : arguments[1]; this._disTime = isEnabled ? 0 : Date.now() + duration; if (duration > 32 || isEnabled) { // only do a click block if the duration is longer than XXms this._clickBlock.show(!isEnabled, duration + 64); } } /** * @private * Boolean if the app is actively enabled or not. * @return {bool} */ }, { key: "isEnabled", value: function isEnabled() { return this._disTime < Date.now(); } /** * @private */ }, { key: "setScrolling", value: function setScrolling() { this._scrollTime = Date.now(); } /** * @private * Boolean if the app is actively scrolling or not. * @return {bool} */ }, { key: "isScrolling", value: function isScrolling() { return this._scrollTime + 64 > Date.now(); } /** * @private * Register a known component with a key, for easy lookups later. * @param {TODO} id The id to use to register the component * @param {TODO} component The component to register */ }, { key: "register", value: function register(id, component) { if (this.components[id] && this.components[id] !== component) {} this.components[id] = component; } /** * @private * Unregister a known component with a key. * @param {TODO} id The id to use to unregister */ }, { key: "unregister", value: function unregister(id) { delete this.components[id]; } /** * @private * Get a registered component with the given type (returns the first) * @param {Object} cls the type to search for * @return the matching component, or undefined if none was found */ }, { key: "getRegisteredComponent", value: function getRegisteredComponent(cls) { var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = this.components[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var component = _step.value; if (component instanceof cls) { return component; } } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator["return"]) { _iterator["return"](); } } finally { if (_didIteratorError) { throw _iteratorError; } } } } /** * @private * Get the component for the given key. * @param {TODO} key TODO * @return {TODO} TODO */ }, { key: "getComponent", value: function getComponent(id) { return this.components[id]; } }]); return IonicApp; })(); _export("IonicApp", IonicApp); _export("IonicApp", IonicApp = __decorate([Injectable(), __metadata('design:paramtypes', [typeof (_a = typeof Config !== 'undefined' && Config) === 'function' && _a || Object, typeof (_b = typeof ClickBlock !== 'undefined' && ClickBlock) === 'function' && _b || Object, typeof (_c = typeof NgZone !== 'undefined' && NgZone) === 'function' && _c || Object])], IonicApp)); } }; }); System.register("ionic/components/app/id", ["angular2/core", "./app"], function (_export) { /** * @name Id * @description * IdRef is an easy way to identify unique components in an app and access them * no matter where in the UI heirarchy you are. For example, this makes toggling * a global side menu feasible from any place in the application. * * See the [Menu section](https://ionicframework.com/docs/v3/components/#menus) of * the Component docs for an example of how Menus rely on ID's. * * @usage * To give any component an ID, simply set its `id` property: * ```html * * ``` * * To get a reference to the registered component, inject the [IonicApp](../app/IonicApp/) * service: * ```ts * constructor(app: IonicApp) { * this.app = app * } * ngAfterViewInit{ * var checkbox = this.app.getComponent("myCheckbox"); * if (checkbox.checked) { * console.log('checkbox is checked'); * } * } * ``` * * *NOTE:* It is not recommended to use ID's across Pages, as there is often no * guarantee that the registered component has not been destroyed if its Page * has been navigated away from. */ "use strict"; var AppViewManager, ElementRef, Directive, Renderer, IonicApp, __decorate, __metadata, IdRef, Attr, _a, _b, _c, _d, _e; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { AppViewManager = _angular2Core.AppViewManager; ElementRef = _angular2Core.ElementRef; Directive = _angular2Core.Directive; Renderer = _angular2Core.Renderer; }, function (_app2) { IonicApp = _app2.IonicApp; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; IdRef = (function () { function IdRef(_app, _elementRef, _appViewManager) { _classCallCheck(this, IdRef); this._app = _app; this._elementRef = _elementRef; this._appViewManager = _appViewManager; // Grab the component this directive is attached to this.component = _appViewManager.getComponent(_elementRef); } /** * @private */ _createClass(IdRef, [{ key: "ngOnInit", value: function ngOnInit() { this._app.register(this.id, this.component); } /** * @private */ }, { key: "ngOnDestroy", value: function ngOnDestroy() { this._app.unregister(this.id); } }]); return IdRef; })(); _export("IdRef", IdRef); _export("IdRef", IdRef = __decorate([Directive({ selector: '[id]', inputs: ['id'] }), __metadata('design:paramtypes', [typeof (_a = typeof IonicApp !== 'undefined' && IonicApp) === 'function' && _a || Object, typeof (_b = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _b || Object, typeof (_c = typeof AppViewManager !== 'undefined' && AppViewManager) === 'function' && _c || Object])], IdRef)); /** * @name Attr * @description * Attr allows you to dynamically add or remove an attribute based on the value of an expression or variable. * @usage * ```html * // toggle the no-lines attributes based on whether isAndroid is true or false * * ``` * @demo /docs/v3/demos/attr/ */ Attr = (function () { function Attr(_renderer, _elementRef) { _classCallCheck(this, Attr); this._renderer = _renderer; this._elementRef = _elementRef; } /** * @private */ _createClass(Attr, [{ key: "ngOnInit", value: function ngOnInit() { this._renderer.setElementAttribute(this._elementRef, this.attr, ''); } }]); return Attr; })(); _export("Attr", Attr); _export("Attr", Attr = __decorate([Directive({ selector: '[attr]', inputs: ['attr'] }), __metadata('design:paramtypes', [typeof (_d = typeof Renderer !== 'undefined' && Renderer) === 'function' && _d || Object, typeof (_e = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _e || Object])], Attr)); } }; }); System.register("ionic/components/blur/blur", ["angular2/core"], function (_export) { /** * @name Blur * @description * The blur attribute applies the CSS blur attribute to an element. If the CSS attribute is not supported, * it will fall back to applying a semi-transparent background color to the element. * * @usage * ```html * * This card will blur the content behind it. * * ``` * * @demo /docs/v3/demos/blur/ */ "use strict"; var Directive, Renderer, ElementRef, __decorate, __metadata, Blur, _a, _b; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Directive = _angular2Core.Directive; Renderer = _angular2Core.Renderer; ElementRef = _angular2Core.ElementRef; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Blur = function Blur(_elementRef, _renderer) { _classCallCheck(this, Blur); this._elementRef = _elementRef; this._renderer = _renderer; _renderer.setElementStyle(_elementRef, '-webkit-backdrop-filter', 'blur(10px)'); }; _export("Blur", Blur); _export("Blur", Blur = __decorate([Directive({ selector: '[blur]' }), __metadata('design:paramtypes', [typeof (_a = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _a || Object, typeof (_b = typeof Renderer !== 'undefined' && Renderer) === 'function' && _b || Object])], Blur)); } }; }); System.register("ionic/components/button/button", ["angular2/core", "../../config/config"], function (_export) { /** * @name Button * @module ionic * @property [outline] - for an unfilled outline button * @property [clear] - for a transparent button that only shows text and icons * @property [round] - for a button with rounded corners * @property [block] - for a block button that fills it's parent container * @property [full] - for a full width button * @property [small] - sets button size to small * @property [large] - sets button size to large * @property [disabled] - disables the button * @property [fab] - for a floating action button * @property [fab-left] - position a fab button to the left * @property [fab-right] - position a fab button to the right * @property [fab-center] - position a fab button towards the center * @property [fab-top] - position a fab button towards the top * @property [fab-bottom] - position a fab button towards the bottom * @property [color] - Dynamically set which color attribute this button should use. * @description * Buttons are simple components in Ionic, can consist of text, an icon, or both, and can be enhanced with a wide range of attributes. * @demo /docs/v3/demos/buttons/ * @see {@link /docs/v3/components#buttons Button Component Docs} */ "use strict"; var Directive, ElementRef, Renderer, Attribute, Config, __decorate, __metadata, __param, Button, BUTTON_SIZE_ATTRS, BUTTON_STYLE_ATTRS, BUTTON_SHAPE_ATTRS, BUTTON_DISPLAY_ATTRS, IGNORE_ATTRS, TEXT, ICON, _a, _b, _c; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Directive = _angular2Core.Directive; ElementRef = _angular2Core.ElementRef; Renderer = _angular2Core.Renderer; Attribute = _angular2Core.Attribute; }, function (_configConfig) { Config = _configConfig.Config; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; Button = (function () { function Button(config, _elementRef, _renderer, ionItem) { _classCallCheck(this, Button); this._elementRef = _elementRef; this._renderer = _renderer; this._role = 'button'; // bar-button/item-button this._size = null; // large/small this._style = 'default'; // outline/clear/solid this._shape = null; // round/fab this._display = null; // block/full this._lastColor = null; this._colors = []; // primary/secondary this._icon = null; // left/right/only this._disabled = false; // disabled this.isItem = ionItem === ''; var element = _elementRef.nativeElement; if (config.get('hoverCSS') === false) { _renderer.setElementClass(_elementRef, 'disable-hover', true); } if (element.hasAttribute('ion-item')) { // no need to put on these classes for an ion-item this._role = null; return; } if (element.hasAttribute('disabled')) { this._disabled = true; } this._readAttrs(element); this._readIcon(element); } /** * @private */ _createClass(Button, [{ key: "ngAfterContentInit", value: function ngAfterContentInit() { this._lastColor = this.color; if (this.color) { this._colors = [this.color]; } this._assignCss(true); } /** * @private */ }, { key: "ngAfterContentChecked", value: function ngAfterContentChecked() { if (this._lastColor !== this.color) { this._assignCss(false); this._lastColor = this.color; this._colors = [this.color]; this._assignCss(true); } } /** * @private */ }, { key: "addClass", value: function addClass(className) { this._renderer.setElementClass(this._elementRef, className, true); } /** * @private */ }, { key: "setRole", value: function setRole(val) { this._role = val; } }, { key: "_readIcon", value: function _readIcon(element) { // figure out if and where the icon lives in the button var childNodes = element.childNodes; var childNode = undefined; var nodes = []; for (var i = 0, l = childNodes.length; i < l; i++) { childNode = childNodes[i]; if (childNode.nodeType === 3) { // text node if (childNode.textContent.trim() !== '') { nodes.push(TEXT); } } else if (childNode.nodeType === 1) { if (childNode.nodeName === 'ION-ICON') { // icon element node nodes.push(ICON); } else { // element other than an nodes.push(TEXT); } } } if (nodes.length > 1) { if (nodes[0] === ICON && nodes[1] === TEXT) { this._icon = 'icon-left'; } else if (nodes[0] === TEXT && nodes[1] === ICON) { this._icon = 'icon-right'; } } else if (nodes.length === 1 && nodes[0] === ICON) { this._icon = 'icon-only'; } } }, { key: "_readAttrs", value: function _readAttrs(element) { var elementAttrs = element.attributes; var attrName = undefined; for (var i = 0, l = elementAttrs.length; i < l; i++) { if (elementAttrs[i].value !== '') continue; attrName = elementAttrs[i].name; if (BUTTON_STYLE_ATTRS.indexOf(attrName) > -1) { this._style = attrName; } else if (BUTTON_DISPLAY_ATTRS.indexOf(attrName) > -1) { this._display = attrName; } else if (BUTTON_SHAPE_ATTRS.indexOf(attrName) > -1) { this._shape = attrName; } else if (BUTTON_SIZE_ATTRS.indexOf(attrName) > -1) { this._size = attrName; } else if (!IGNORE_ATTRS.test(attrName)) { this._colors.push(attrName); } } } }, { key: "_assignCss", value: function _assignCss(assignCssClass) { var _this = this; var role = this._role; if (role) { (function () { _this._renderer.setElementClass(_this._elementRef, role, assignCssClass); // button _this._setClass(_this._style, assignCssClass); // button-clear _this._setClass(_this._shape, assignCssClass); // button-round _this._setClass(_this._display, assignCssClass); // button-full _this._setClass(_this._size, assignCssClass); // button-small _this._setClass(_this._icon, assignCssClass); // button-icon-left var colorStyle = _this._style !== 'default' ? _this._style + '-' : ''; _this._colors.forEach(function (colorName) { _this._setClass(colorStyle + colorName, assignCssClass); // button-secondary, button-clear-secondary }); })(); } } }, { key: "_setClass", value: function _setClass(type, assignCssClass) { if (type) { this._renderer.setElementClass(this._elementRef, this._role + '-' + type, assignCssClass); } } /** * @private */ }], [{ key: "setRoles", value: function setRoles(contentButtonChildren, role) { var buttons = contentButtonChildren.toArray(); buttons.forEach(function (button) { button.setRole(role); }); } }]); return Button; })(); _export("Button", Button); _export("Button", Button = __decorate([Directive({ selector: 'button,[button]', inputs: ['color'] }), __param(3, Attribute('ion-item')), __metadata('design:paramtypes', [typeof (_a = typeof Config !== 'undefined' && Config) === 'function' && _a || Object, typeof (_b = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _b || Object, typeof (_c = typeof Renderer !== 'undefined' && Renderer) === 'function' && _c || Object, String])], Button)); BUTTON_SIZE_ATTRS = ['large', 'small']; BUTTON_STYLE_ATTRS = ['clear', 'outline', 'solid']; BUTTON_SHAPE_ATTRS = ['round', 'fab']; BUTTON_DISPLAY_ATTRS = ['block', 'full']; IGNORE_ATTRS = /_ng|button|left|right/; TEXT = 1; ICON = 2; } }; }); System.register("ionic/components/checkbox/checkbox", ["angular2/core", "angular2/common", "../../util/form"], function (_export) { /** * The checkbox is no different than the HTML checkbox input, except it's styled differently. * * See the [Angular 2 Docs](https://angular.io/docs/js/latest/api/core/Form-interface.html) for more info on forms and input. * * @property [checked] - whether or not the checkbox is checked (defaults to false) * @property [value] - the value of the checkbox component * @property [disabled] - whether or not the checkbox is disabled or not. * * @usage * ```html * * HTML5 * * ``` * @demo /docs/v3/demos/checkbox/ * @see {@link /docs/v3/components#checkbox Checkbox Component Docs} */ "use strict"; var Component, Optional, ElementRef, Input, Renderer, HostListener, NgControl, Form, __decorate, __metadata, __param, Checkbox, _a, _b, _c, _d; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Component = _angular2Core.Component; Optional = _angular2Core.Optional; ElementRef = _angular2Core.ElementRef; Input = _angular2Core.Input; Renderer = _angular2Core.Renderer; HostListener = _angular2Core.HostListener; }, function (_angular2Common) { NgControl = _angular2Common.NgControl; }, function (_utilForm) { Form = _utilForm.Form; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; Checkbox = (function () { function Checkbox(_form, _elementRef, _renderer, ngControl) { _classCallCheck(this, Checkbox); this._form = _form; this._elementRef = _elementRef; this._renderer = _renderer; this.value = ''; this.checked = false; this.disabled = false; _form.register(this); if (ngControl) { ngControl.valueAccessor = this; } } /** * @private */ _createClass(Checkbox, [{ key: "ngOnInit", value: function ngOnInit() { if (!this.id) { this.id = 'chk-' + this._form.nextId(); this._renderer.setElementAttribute(this._elementRef, 'id', this.id); } this.labelId = 'lbl-' + this.id; this._renderer.setElementAttribute(this._elementRef, 'aria-labelledby', this.labelId); } /** * @private * Toggle the checked state of the checkbox. Calls onChange to pass the updated checked state to the model (Control). */ }, { key: "toggle", value: function toggle() { this.checked = !this.checked; } }, { key: "_click", /** * @private */ value: function _click(ev) { ev.preventDefault(); ev.stopPropagation(); this.toggle(); } /** * @private * Angular2 Forms API method called by the model (Control) on change to update * the checked value. * https://github.com/angular/angular/blob/master/modules/angular2/src/forms/directives/shared.ts#L34 */ }, { key: "writeValue", value: function writeValue(value) { this.checked = value; } /** * @private */ }, { key: "onChange", value: function onChange(val) {} // TODO: figure the whys and the becauses /** * @private */ }, { key: "onTouched", value: function onTouched(val) {} // TODO: figure the whys and the becauses /** * @private * Angular2 Forms API method called by the view (NgControl) to register the * onChange event handler that updates the model (Control). * https://github.com/angular/angular/blob/master/modules/angular2/src/forms/directives/shared.ts#L27 * @param {Function} fn the onChange event handler. */ }, { key: "registerOnChange", value: function registerOnChange(fn) { this.onChange = fn; } /** * @private * Angular2 Forms API method called by the the view (NgControl) to register * the onTouched event handler that marks model (Control) as touched. * @param {Function} fn onTouched event handler. */ }, { key: "registerOnTouched", value: function registerOnTouched(fn) { this.onTouched = fn; } /** * @private */ }, { key: "ngOnDestroy", value: function ngOnDestroy() { this._form.deregister(this); } }, { key: "checked", get: function get() { return !!this._checked; }, set: function set(val) { this._checked = !!val; this._renderer.setElementAttribute(this._elementRef, 'aria-checked', this._checked); this.onChange(this._checked); } }]); return Checkbox; })(); _export("Checkbox", Checkbox); __decorate([Input(), __metadata('design:type', String)], Checkbox.prototype, "value", void 0); __decorate([Input(), __metadata('design:type', Object)], Checkbox.prototype, "checked", void 0); __decorate([Input(), __metadata('design:type', Boolean)], Checkbox.prototype, "disabled", void 0); __decorate([Input(), __metadata('design:type', String)], Checkbox.prototype, "id", void 0); __decorate([HostListener('click', ['$event']), __metadata('design:type', Function), __metadata('design:paramtypes', [Object]), __metadata('design:returntype', void 0)], Checkbox.prototype, "_click", null); _export("Checkbox", Checkbox = __decorate([Component({ selector: 'ion-checkbox', host: { 'role': 'checkbox', 'class': 'item', 'tappable': '', 'tabindex': 0, '[attr.aria-disabled]': 'disabled' }, template: '
' + '
' + '
' + '
' + '' + '' + '' + '
' }), __param(3, Optional()), __metadata('design:paramtypes', [typeof (_a = typeof Form !== 'undefined' && Form) === 'function' && _a || Object, typeof (_b = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _b || Object, typeof (_c = typeof Renderer !== 'undefined' && Renderer) === 'function' && _c || Object, typeof (_d = typeof NgControl !== 'undefined' && NgControl) === 'function' && _d || Object])], Checkbox)); } }; }); System.register("ionic/components/content/content", ["angular2/core", "../ion", "../app/app", "../../config/config", "../../util/dom", "../nav/view-controller", "../../animations/scroll-to"], function (_export) { /** * @name Content * @description * The Content component provides an easy to use content area that can be configured to use Ionic's custom Scroll View, or the built in overflow scrolling of the browser. * * While we recommend using the custom Scroll features in Ionic in most cases, sometimes (for performance reasons) only the browser's native overflow scrolling will suffice, and so we've made it easy to toggle between the Ionic scroll implementation and overflow scrolling. * * You can implement pull-to-refresh with the [Refresher](../../scroll/Refresher) component. * * @usage * ```html * * Add your content here! * * ``` * */ "use strict"; var Component, ElementRef, Optional, NgZone, Ion, IonicApp, Config, raf, ViewController, ScrollTo, __decorate, __metadata, __param, Content, _a, _b, _c, _d, _e; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_angular2Core) { Component = _angular2Core.Component; ElementRef = _angular2Core.ElementRef; Optional = _angular2Core.Optional; NgZone = _angular2Core.NgZone; }, function (_ion) { Ion = _ion.Ion; }, function (_appApp) { IonicApp = _appApp.IonicApp; }, function (_configConfig) { Config = _configConfig.Config; }, function (_utilDom) { raf = _utilDom.raf; }, function (_navViewController) { ViewController = _navViewController.ViewController; }, function (_animationsScrollTo) { ScrollTo = _animationsScrollTo.ScrollTo; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; Content = (function (_Ion) { _inherits(Content, _Ion); /** * @param {ElementRef} elementRef A reference to the component's DOM element. * @param {Config} config The config object to change content's default settings. */ function Content(elementRef, _config, viewCtrl, _app, _zone) { _classCallCheck(this, Content); _get(Object.getPrototypeOf(Content.prototype), "constructor", this).call(this, elementRef, _config); this._config = _config; this._app = _app; this._zone = _zone; this.scrollPadding = 0; if (viewCtrl) { viewCtrl.setContent(this); viewCtrl.setContentRef(elementRef); } } /** * @private */ _createClass(Content, [{ key: "ngOnInit", value: function ngOnInit() { _get(Object.getPrototypeOf(Content.prototype), "ngOnInit", this).call(this); var self = this; self.scrollElement = self.getNativeElement().children[0]; self._scroll = function (ev) { self._app.setScrolling(); }; if (self._config.get('tapPolyfill') === true) { self._zone.runOutsideAngular(function () { self.scrollElement.addEventListener('scroll', self._scroll); }); } } }, { key: "ngOnDestroy", value: function ngOnDestroy() { this.scrollElement.removeEventListener('scroll', this._scroll); } /** * Adds the specified scroll handler to the content' scroll element. * * ```ts * @Page({ * template: `` * )} * export class MyPage{ * constructor(app: IonicApp){ * this.app = app; * } * // Need to wait until the component has been initialized * ngAfterViewInit() { * // Here 'my-content' is the ID of my ion-content * this.content = this.app.getComponent('my-content'); * this.content.addScrollEventListener(this.myScroll); * } * myScroll() { * console.info('They see me scrolling...'); * } * } * ``` * @param {Function} handler The method you want perform when scrolling * @returns {Function} A function that removes the scroll handler. */ }, { key: "addScrollEventListener", value: function addScrollEventListener(handler) { var _this = this; if (!this.scrollElement) { return; } // ensure we're not creating duplicates this.scrollElement.removeEventListener('scroll', handler); this.scrollElement.addEventListener('scroll', handler); return function () { _this.scrollElement.removeEventListener('scroll', handler); }; } }, { key: "onScrollEnd", value: function onScrollEnd(callback) { var lastScrollTop = null; var framesUnchanged = 0; var scrollElement = this.scrollElement; function next() { var currentScrollTop = scrollElement.scrollTop; if (lastScrollTop !== null) { if (Math.round(lastScrollTop) === Math.round(currentScrollTop)) { framesUnchanged++; } else { framesUnchanged = 0; } if (framesUnchanged > 9) { return callback(); } } lastScrollTop = currentScrollTop; raf(function () { raf(next); }); } setTimeout(next, 100); } /** * Adds the specified touchmove handler to the content's scroll element. * * ```ts * @Page({ * template: `` * )} * export class MyPage{ * constructor(app: IonicApp){ * this.app = app; * } * // Need to wait until the component has been initialized * ngAfterViewInit() { * // Here 'my-content' is the ID of my ion-content * this.content = this.app.getComponent('my-content'); * this.content.addTouchMoveListener(this.touchHandler); * } * touchHandler() { * console.log("I'm touching all the magazines!!"); * } * } * ``` * @param {Function} handler The method you want to perform when touchmove is firing * @returns {Function} A function that removes the touchmove handler. */ }, { key: "addTouchMoveListener", value: function addTouchMoveListener(handler) { var _this2 = this; if (!this.scrollElement) { return; } // ensure we're not creating duplicates this.scrollElement.removeEventListener('touchmove', handler); this.scrollElement.addEventListener('touchmove', handler); return function () { _this2.scrollElement.removeEventListener('touchmove', handler); }; } /** * Scroll to the specified position. * * ```ts * @Page({ * template: ` * * ` * )} * export class MyPage{ * constructor(app: IonicApp){ * this.app = app; * } * // Need to wait until the component has been initialized * ngAfterViewInit() { * // Here 'my-content' is the ID of my ion-content * this.content = this.app.getComponent('my-content'); * } * scrollTo() { * this.content.scrollTo(0, 500, 200); * } * } * ``` * @param {Number} x The x-value to scroll to. * @param {Number} y The y-value to scroll to. * @param {Number} duration Duration of the scroll animation in ms. * @param {TODO} tolerance TODO * @returns {Promise} Returns a promise when done */ }, { key: "scrollTo", value: function scrollTo(x, y, duration, tolerance) { if (this._scrollTo) { this._scrollTo.dispose(); } this._scrollTo = new ScrollTo(this.scrollElement); return this._scrollTo.start(x, y, duration, tolerance); } /** * Scroll to the specified position. * * ```ts * @Page({ * template: ` * * ` * )} * export class MyPage{ * constructor(app: IonicApp){ * this.app = app; * } * // Need to wait until the component has been initialized * ngAfterViewInit() { * // Here 'my-content' is the ID of my ion-content * this.content = this.app.getComponent('my-content'); * } * scrollTop() { * this.content.scrollTop(); * } * } * ``` * @returns {Promise} Returns a promise when done */ }, { key: "scrollToTop", value: function scrollToTop() { if (this._scrollTo) { this._scrollTo.dispose(); } this._scrollTo = new ScrollTo(this.scrollElement); return this._scrollTo.start(0, 0, 300, 0); } /** * @private * Returns the content and scroll elements' dimensions. * @returns {Object} dimensions The content and scroll elements' dimensions * {Number} dimensions.contentHeight content offsetHeight * {Number} dimensions.contentTop content offsetTop * {Number} dimensions.contentBottom content offsetTop+offsetHeight * {Number} dimensions.contentWidth content offsetWidth * {Number} dimensions.contentLeft content offsetLeft * {Number} dimensions.contentRight content offsetLeft + offsetWidth * {Number} dimensions.scrollHeight scroll scrollHeight * {Number} dimensions.scrollTop scroll scrollTop * {Number} dimensions.scrollBottom scroll scrollTop + scrollHeight * {Number} dimensions.scrollWidth scroll scrollWidth * {Number} dimensions.scrollLeft scroll scrollLeft * {Number} dimensions.scrollRight scroll scrollLeft + scrollWidth */ }, { key: "getDimensions", value: function getDimensions() { var scrollElement = this.scrollElement; var parentElement = scrollElement.parentElement; return { contentHeight: parentElement.offsetHeight, contentTop: parentElement.offsetTop, contentBottom: parentElement.offsetTop + parentElement.offsetHeight, contentWidth: parentElement.offsetWidth, contentLeft: parentElement.offsetLeft, contentRight: parentElement.offsetLeft + parentElement.offsetWidth, scrollHeight: scrollElement.scrollHeight, scrollTop: scrollElement.scrollTop, scrollBottom: scrollElement.scrollTop + scrollElement.scrollHeight, scrollWidth: scrollElement.scrollWidth, scrollLeft: scrollElement.scrollLeft, scrollRight: scrollElement.scrollLeft + scrollElement.scrollWidth }; } /** * @private * Adds padding to the bottom of the scroll element when the keyboard is open * so content below the keyboard can be scrolled into view. */ }, { key: "addScrollPadding", value: function addScrollPadding(newScrollPadding) { if (newScrollPadding > this.scrollPadding) { console.debug('addScrollPadding', newScrollPadding); this.scrollPadding = newScrollPadding; this.scrollElement.style.paddingBottom = newScrollPadding + 'px'; } } }]); return Content; })(Ion); _export("Content", Content); _export("Content", Content = __decorate([Component({ selector: 'ion-content', template: '' + '' + '' }), __param(2, Optional()), __metadata('design:paramtypes', [typeof (_a = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _a || Object, typeof (_b = typeof Config !== 'undefined' && Config) === 'function' && _b || Object, typeof (_c = typeof ViewController !== 'undefined' && ViewController) === 'function' && _c || Object, typeof (_d = typeof IonicApp !== 'undefined' && IonicApp) === 'function' && _d || Object, typeof (_e = typeof NgZone !== 'undefined' && NgZone) === 'function' && _e || Object])], Content)); } }; }); System.register("ionic/components/icon/icon", ["angular2/core", "../../config/config"], function (_export) { /** * @name Icon * @description * Icons can be used on their own, or inside of a number of Ionic components. * For a full list of available icons, check out the * [Ionicons resource docs](../../../../resources/ionicons). * * One feature of Ionicons is that when icon names are set, the actual icon * which is rendered can change slightly depending on the mode the app is * running from. For example, by setting the icon name of `alarm`, on iOS the * icon will automatically apply `ios-alarm`, and on Material Design it will * automatically apply `md-alarm`. This allow the developer to write the * markup once, and let Ionic automatically apply the appropriate icon. * * @usage * ```html * * * * * * * * * * ``` * * @property {string} [name] - Use the appropriate icon for the mode. * @property {string} [ios] - Explicitly set the icon to use on iOS. * @property {string} [md] - Explicitly set the icon to use on Android. * @property {boolean} [isActive] - Whether or not the icon has an "active" * appearance. On iOS an active icon is filled in or full appearance, and an * inactive icon on iOS will use an outlined version of the icon same icon. * Material Design icons do not change appearance depending if they're active * or not. The `isActive` property is largely used by the tabbar. * @see {@link /docs/v3/components#icons Icon Component Docs} * */ "use strict"; var Directive, ElementRef, Renderer, Config, __decorate, __metadata, Icon, _a, _b, _c; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Directive = _angular2Core.Directive; ElementRef = _angular2Core.ElementRef; Renderer = _angular2Core.Renderer; }, function (_configConfig) { Config = _configConfig.Config; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Icon = (function () { function Icon(config, _elementRef, _renderer) { _classCallCheck(this, Icon); this._elementRef = _elementRef; this._renderer = _renderer; this.mode = config.get('iconMode'); this._name = ''; this._ios = ''; this._md = ''; this._css = ''; if (_elementRef.nativeElement.tagName === 'ICON') { // deprecated warning console.warn(' has been renamed to '); console.warn(' requires the "name" attribute w/ a value'); console.warn(' should now be '); } } _createClass(Icon, [{ key: "update", /** * @private */ value: function update() { var css = 'ion-'; if (this._ios && this.mode === 'ios') { css += this._ios; } else if (this._md && this.mode === 'md') { css += this._md; } else { css += this._name; } if (this.mode == 'ios' && !this.isActive) { css += '-outline'; } if (this._css !== css) { if (this._css) { this._renderer.setElementClass(this._elementRef, this._css, false); } this._css = css; this._renderer.setElementClass(this._elementRef, css, true); this._renderer.setElementAttribute(this._elementRef, 'aria-label', css.replace('ion-', '').replace('ios-', '').replace('md-', '').replace('-', ' ')); } } /** * @private */ }, { key: "addClass", value: function addClass(className) { this._renderer.setElementClass(this._elementRef, className, true); } }, { key: "name", get: function get() { return this._name; }, /** * @private */ set: function set(val) { if (!/^md-|^ios-|-logo$/.test(val)) { // this does not have one of the defaults // so lets auto add in the mode prefix for them val = this.mode + '-' + val; } this._name = val; this.update(); } }, { key: "ios", get: function get() { return this._ios; }, /** * @private */ set: function set(val) { this._ios = val; this.update(); } }, { key: "md", get: function get() { return this._md; }, /** * @private */ set: function set(val) { this._md = val; this.update(); } }, { key: "isActive", get: function get() { return this._isActive === undefined || this._isActive === true || this._isActive === 'true'; }, /** * @private */ set: function set(val) { this._isActive = val; this.update(); } }]); return Icon; })(); _export("Icon", Icon); _export("Icon", Icon = __decorate([Directive({ selector: 'ion-icon,icon', inputs: ['name', 'ios', 'md', 'isActive'], host: { 'role': 'img' } }), __metadata('design:paramtypes', [typeof (_a = typeof Config !== 'undefined' && Config) === 'function' && _a || Object, typeof (_b = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _b || Object, typeof (_c = typeof Renderer !== 'undefined' && Renderer) === 'function' && _c || Object])], Icon)); } }; }); System.register('ionic/components/item/item-sliding-gesture', ['../../gestures/hammer', '../../gestures/drag-gesture', '../../util/dom'], function (_export) { 'use strict'; var Hammer, DragGesture, CSS, raf, closest, ItemSlidingGesture, DRAG_THRESHOLD; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } function isItemActive(ele, isActive) { ele.classList[isActive ? 'add' : 'remove']('active-slide'); ele.classList[isActive ? 'add' : 'remove']('active-options'); } function preventDefault(ev) { console.debug('sliding item preventDefault', ev.type); ev.preventDefault(); } function getItemConatiner(ele) { return closest(ele, 'ion-item-sliding', true); } function isFromOptionButtons(ele) { return !!closest(ele, 'ion-item-options', true); } function getOptionsWidth(itemContainerEle) { var optsEle = itemContainerEle.querySelector('ion-item-options'); if (optsEle) { return optsEle.offsetWidth; } } function isActive(itemContainerEle) { return itemContainerEle.classList.contains('active-slide'); } return { setters: [function (_gesturesHammer) { Hammer = _gesturesHammer.Hammer; }, function (_gesturesDragGesture) { DragGesture = _gesturesDragGesture.DragGesture; }, function (_utilDom) { CSS = _utilDom.CSS; raf = _utilDom.raf; closest = _utilDom.closest; }], execute: function () { ItemSlidingGesture = (function (_DragGesture) { _inherits(ItemSlidingGesture, _DragGesture); function ItemSlidingGesture(list, listEle) { var _this = this; _classCallCheck(this, ItemSlidingGesture); _get(Object.getPrototypeOf(ItemSlidingGesture.prototype), 'constructor', this).call(this, listEle, { direction: 'x', threshold: DRAG_THRESHOLD }); this.data = {}; this.openItems = 0; this.list = list; this.listEle = listEle; this.canDrag = true; this.listen(); this.tap = function (ev) { if (!isFromOptionButtons(ev.target)) { var didClose = _this.closeOpened(); if (didClose) { console.debug('tap close sliding item'); preventDefault(ev); } } }; this.mouseOut = function (ev) { if (ev.target.tagName === 'ION-ITEM-SLIDING') { console.debug('tap close sliding item'); _this.onDragEnd(ev); } }; } _createClass(ItemSlidingGesture, [{ key: 'onDragStart', value: function onDragStart(ev) { var itemContainerEle = getItemConatiner(ev.target); if (!itemContainerEle) { console.debug('onDragStart, no itemContainerEle'); return; } this.closeOpened(itemContainerEle); var openAmout = this.getOpenAmount(itemContainerEle); var itemData = this.get(itemContainerEle); this.preventDrag = openAmout > 0; if (this.preventDrag) { this.closeOpened(); console.debug('onDragStart, preventDefault'); return preventDefault(ev); } itemContainerEle.classList.add('active-slide'); this.set(itemContainerEle, 'offsetX', openAmout); this.set(itemContainerEle, 'startX', ev.center[this.direction]); this.dragEnded = false; } }, { key: 'onDrag', value: function onDrag(ev) { var _this2 = this; if (this.dragEnded || this.preventDrag || Math.abs(ev.deltaY) > 30) { console.debug('onDrag preventDrag, dragEnded:', this.dragEnded, 'preventDrag:', this.preventDrag, 'ev.deltaY:', Math.abs(ev.deltaY)); this.preventDrag = true; return; } var itemContainerEle = getItemConatiner(ev.target); if (!itemContainerEle || !isActive(itemContainerEle)) { console.debug('onDrag, no itemContainerEle'); return; } var itemData = this.get(itemContainerEle); if (!itemData.optsWidth) { itemData.optsWidth = getOptionsWidth(itemContainerEle); if (!itemData.optsWidth) { console.debug('onDrag, no optsWidth'); return; } } var x = ev.center[this.direction]; var delta = x - itemData.startX; var newX = Math.max(0, itemData.offsetX - delta); if (newX > itemData.optsWidth) { // Calculate the new X position, capped at the top of the buttons newX = -Math.min(-itemData.optsWidth, -itemData.optsWidth + (delta + itemData.optsWidth) * 0.4); } if (newX > 5 && ev.srcEvent.type.indexOf('mouse') > -1 && !itemData.hasMouseOut) { itemContainerEle.addEventListener('mouseout', this.mouseOut); itemData.hasMouseOut = true; } raf(function () { if (!_this2.dragEnded && !_this2.preventDrag) { isItemActive(itemContainerEle, true); _this2.open(itemContainerEle, newX, false); } }); } }, { key: 'onDragEnd', value: function onDragEnd(ev) { var _this3 = this; this.preventDrag = false; this.dragEnded = true; var itemContainerEle = getItemConatiner(ev.target); if (!itemContainerEle || !isActive(itemContainerEle)) { console.debug('onDragEnd, no itemContainerEle'); return; } // If we are currently dragging, we want to snap back into place // The final resting point X will be the width of the exposed buttons var itemData = this.get(itemContainerEle); var restingPoint = itemData.optsWidth; // Check if the drag didn't clear the buttons mid-point // and we aren't moving fast enough to swipe open if (this.getOpenAmount(itemContainerEle) < restingPoint / 2) { // If we are going left but too slow, or going right, go back to resting if (ev.direction & Hammer.DIRECTION_RIGHT || Math.abs(ev.velocityX) < 0.3) { restingPoint = 0; } } itemContainerEle.removeEventListener('mouseout', this.mouseOut); itemData.hasMouseOut = false; raf(function () { _this3.open(itemContainerEle, restingPoint, true); }); } }, { key: 'closeOpened', value: function closeOpened(doNotCloseEle) { var didClose = false; if (this.openItems) { var openItemElements = this.listEle.querySelectorAll('.active-slide'); for (var i = 0; i < openItemElements.length; i++) { if (openItemElements[i] !== doNotCloseEle) { this.open(openItemElements[i], 0, true); didClose = true; } } } return didClose; } }, { key: 'open', value: function open(itemContainerEle, openAmount, isFinal) { var _this4 = this; var slidingEle = itemContainerEle.querySelector('ion-item,[ion-item]'); if (!slidingEle) { console.debug('open, no slidingEle, openAmount:', openAmount); return; } this.set(itemContainerEle, 'openAmount', openAmount); clearTimeout(this.get(itemContainerEle).timerId); if (openAmount) { this.openItems++; } else { var timerId = setTimeout(function () { if (slidingEle.style[CSS.transform] === '') { isItemActive(itemContainerEle, false); _this4.openItems--; } }, 400); this.set(itemContainerEle, 'timerId', timerId); } slidingEle.style[CSS.transition] = isFinal ? '' : 'none'; slidingEle.style[CSS.transform] = openAmount ? 'translate3d(' + -openAmount + 'px,0,0)' : ''; if (isFinal) { if (openAmount) { isItemActive(itemContainerEle, true); this.on('tap', this.tap); } else { this.off('tap', this.tap); } } } }, { key: 'getOpenAmount', value: function getOpenAmount(itemContainerEle) { return this.get(itemContainerEle).openAmount || 0; } }, { key: 'get', value: function get(itemContainerEle) { return this.data[itemContainerEle && itemContainerEle.$ionSlide] || {}; } }, { key: 'set', value: function set(itemContainerEle, key, value) { if (!this.data[itemContainerEle.$ionSlide]) { this.data[itemContainerEle.$ionSlide] = {}; } this.data[itemContainerEle.$ionSlide][key] = value; } }, { key: 'unlisten', value: function unlisten() { _get(Object.getPrototypeOf(ItemSlidingGesture.prototype), 'unlisten', this).call(this); this.listEle = null; } }]); return ItemSlidingGesture; })(DragGesture); _export('ItemSlidingGesture', ItemSlidingGesture); DRAG_THRESHOLD = 20; } }; }); System.register("ionic/components/item/item-sliding", ["angular2/core", "../list/list"], function (_export) { /** * @name ItemSliding * * @description * Creates a list-item that can easily be swiped, deleted, reordered, edited, and more. * * @usage * ```html * * * * {{item.title}} * * * * * * * * ``` * @see {@link /docs/v3/components#lists List Component Docs} * @see {@link ../../list/List List API Docs} */ "use strict"; var Component, ElementRef, Optional, List, __decorate, __metadata, __param, ItemSliding, slideIds, _a, _b; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Component = _angular2Core.Component; ElementRef = _angular2Core.ElementRef; Optional = _angular2Core.Optional; }, function (_listList) { List = _listList.List; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; ItemSliding = (function () { function ItemSliding(_list, elementRef) { _classCallCheck(this, ItemSliding); this._list = _list; _list.enableSlidingItems(true); elementRef.nativeElement.$ionSlide = ++slideIds; } /** * @private */ _createClass(ItemSliding, [{ key: "close", value: function close() { this._list.closeSlidingItems(); } }]); return ItemSliding; })(); _export("ItemSliding", ItemSliding); _export("ItemSliding", ItemSliding = __decorate([Component({ selector: 'ion-item-sliding', template: '' + '' }), __param(0, Optional()), __metadata('design:paramtypes', [typeof (_a = typeof List !== 'undefined' && List) === 'function' && _a || Object, typeof (_b = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _b || Object])], ItemSliding)); slideIds = 0; } }; }); System.register("ionic/components/item/item", ["angular2/core", "../button/button", "../icon/icon"], function (_export) { /** * @name Item * @description * Creates a list-item that can easily be swiped, deleted, reordered, edited, and more. * * There are three common ways to use an item: * - Use `` for something that is only non-clickable text. * - Use ` * * * ``` * @demo /docs/v3/demos/menu/ * @see {@link /docs/v3/components#menus Menu Component Docs} * @see {@link ../../menu/Menu Menu API Docs} */ "use strict"; var Directive, ElementRef, Optional, IonicApp, ViewController, Navbar, Menu, __decorate, __metadata, __param, MenuToggle, _a, _b, _c, _d; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Directive = _angular2Core.Directive; ElementRef = _angular2Core.ElementRef; Optional = _angular2Core.Optional; }, function (_appApp) { IonicApp = _appApp.IonicApp; }, function (_navViewController) { ViewController = _navViewController.ViewController; }, function (_navbarNavbar) { Navbar = _navbarNavbar.Navbar; }, function (_menu) { Menu = _menu.Menu; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; MenuToggle = (function () { function MenuToggle(app, elementRef, viewCtrl, navbar) { _classCallCheck(this, MenuToggle); this.app = app; this.viewCtrl = viewCtrl; this.withinNavbar = !!navbar; // Deprecation warning if (this.withinNavbar && elementRef.nativeElement.tagName === 'A') { console.warn('Menu toggles within a navbar should use * ``` * To specify parameters you can use array syntax or the `nav-params` property: * ```html * * ``` * Where `pushPage` and `params` are specified in your component, and `pushPage` * contains a reference to a [@Page component](../../../config/Page/): * * ```ts * import {LoginPage} from 'login'; * @Page({ * template: `` * }) * class MyPage { * constructor(){ * this.pushPage = LoginPage; * this.params = { id: 42 }; * } * } * ``` * * ### Alternate syntax * You can also use syntax similar to Angular2's router, passing an array to * NavPush: * ```html * * ``` * @demo /docs/v3/demos/nav-push-pop/ * @see {@link /docs/v3/components#navigation Navigation Component Docs} * @see {@link ../NavPop NavPop API Docs} */ "use strict"; var Directive, Optional, NavController, NavRegistry, __decorate, __metadata, __param, NavPush, NavPop, _a, _b, _c; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Directive = _angular2Core.Directive; Optional = _angular2Core.Optional; }, function (_navController) { NavController = _navController.NavController; }, function (_navRegistry) { NavRegistry = _navRegistry.NavRegistry; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; NavPush = (function () { /** * TODO * @param {NavController} nav TODO */ function NavPush(nav, registry) { _classCallCheck(this, NavPush); this.nav = nav; this.registry = registry; if (!nav) { console.error('nav-push must be within a NavController'); } } /** * @private */ _createClass(NavPush, [{ key: "onClick", value: function onClick() { var destination = undefined, params = undefined; if (this.instruction instanceof Array) { if (this.instruction.length > 2) { throw 'Too many [navPush] arguments, expects [View, { params }]'; } destination = this.instruction[0]; params = this.instruction[1] || this.params; } else { destination = this.instruction; params = this.params; } if (typeof destination === "string") { destination = this.registry.get(destination); } this.nav && this.nav.push(destination, params); } }]); return NavPush; })(); _export("NavPush", NavPush); _export("NavPush", NavPush = __decorate([Directive({ selector: '[navPush]', inputs: ['instruction: navPush', 'params: navParams'], host: { '(click)': 'onClick()', 'role': 'link' } }), __param(0, Optional()), __metadata('design:paramtypes', [typeof (_a = typeof NavController !== 'undefined' && NavController) === 'function' && _a || Object, typeof (_b = typeof NavRegistry !== 'undefined' && NavRegistry) === 'function' && _b || Object])], NavPush)); /** * @name NavPop * @description * Directive for declaratively pop the current page off from the navigation stack. * * @usage * ```html * *
go back
*
* ``` * This will go back one page in the navigation stack * * Similar to {@link /docs/api/components/nav/NavPush/ `NavPush` } * @demo /docs/v3/demos/nav-push-pop/ * @see {@link /docs/v3/components#navigation Navigation Component Docs} * @see {@link ../NavPush NavPush API Docs} */ NavPop = (function () { /** * TODO * @param {NavController} nav TODO */ function NavPop(nav) { _classCallCheck(this, NavPop); this.nav = nav; if (!nav) { console.error('nav-pop must be within a NavController'); } } /** * @private */ _createClass(NavPop, [{ key: "onClick", value: function onClick() { this.nav && this.nav.pop(); } }]); return NavPop; })(); _export("NavPop", NavPop); _export("NavPop", NavPop = __decorate([Directive({ selector: '[nav-pop]', host: { '(click)': 'onClick()', 'role': 'link' } }), __param(0, Optional()), __metadata('design:paramtypes', [typeof (_c = typeof NavController !== 'undefined' && NavController) === 'function' && _c || Object])], NavPop)); } }; }); System.register("ionic/components/nav/nav-registry", [], function (_export) { /** * @private * Map of possible pages that can be navigated to using an Ionic NavController */ "use strict"; var NavRegistry; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [], execute: function () { NavRegistry = (function () { function NavRegistry() { var pages = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0]; _classCallCheck(this, NavRegistry); this._pages = new Map(pages.map(function (page) { return [page.name, page]; })); } _createClass(NavRegistry, [{ key: "get", value: function get(pageName) { return this._pages.get(pageName); } }, { key: "set", value: function set(page) { this._pages.set(page.name, page); } }]); return NavRegistry; })(); _export("NavRegistry", NavRegistry); } }; }); System.register("ionic/components/nav/nav-router", ["angular2/core", "angular2/router", "./nav"], function (_export) { /** * @private */ "use strict"; var Directive, ElementRef, DynamicComponentLoader, Attribute, RouterOutlet, Router, Instruction, Nav, __decorate, __metadata, __param, NavRouter, ResolvedInstruction, _a, _b, _c, _d; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_angular2Core) { Directive = _angular2Core.Directive; ElementRef = _angular2Core.ElementRef; DynamicComponentLoader = _angular2Core.DynamicComponentLoader; Attribute = _angular2Core.Attribute; }, function (_angular2Router) { RouterOutlet = _angular2Router.RouterOutlet; Router = _angular2Router.Router; Instruction = _angular2Router.Instruction; }, function (_nav) { Nav = _nav.Nav; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; NavRouter = (function (_RouterOutlet) { _inherits(NavRouter, _RouterOutlet); /** * TODO * @param {ElementRef} _elementRef TODO * @param {DynamicComponentLoader} _loader TODO * @param {Router} _parentRouter TODO * @param {string} nameAttr Value of the element's 'name' attribute * @param {Nav} nav TODO */ function NavRouter(_elementRef, _loader, _parentRouter, nameAttr, nav) { _classCallCheck(this, NavRouter); _get(Object.getPrototypeOf(NavRouter.prototype), "constructor", this).call(this, _elementRef, _loader, _parentRouter, nameAttr); // Nav is Ionic's NavController, which we injected into this class this.nav = nav; // register this router with Ionic's NavController // Ionic's NavController will call this NavRouter's "stateChange" // method when the NavController has...changed its state nav.registerRouter(this); } /** * @private * TODO * @param {ComponentInstruction} instruction TODO */ _createClass(NavRouter, [{ key: "activate", value: function activate(nextInstruction) { var previousInstruction = this._currentInstruction; this._currentInstruction = nextInstruction; var componentType = nextInstruction.componentType; var childRouter = this._parentRouter.childRouter(componentType); // prevent double navigations to the same view var lastView = this.nav.last(); if (this.nav.isTransitioning() || lastView && lastView.componentType === componentType && lastView.params.data === nextInstruction.params) { return Promise.resolve(); } // tell the NavController which componentType, and it's params, to navigate to return this.nav.push(componentType, nextInstruction.params); } }, { key: "reuse", value: function reuse(nextInstruction) { return Promise.resolve(); } /** * TODO * @param {TODO} type TODO * @param {TODO} viewCtrl TODO */ }, { key: "stateChange", value: function stateChange(type, viewCtrl) { // stateChange is called by Ionic's NavController // type could be "push" or "pop" // viewCtrl is Ionic's ViewController class, which has the properties "componentType" and "params" // only do an update if there's an actual view change if (!viewCtrl || this._activeViewId === viewCtrl.id) return; this._activeViewId = viewCtrl.id; // get the best PathRecognizer for this view's componentType var pathRecognizer = this.getPathRecognizerByComponent(viewCtrl.componentType); if (pathRecognizer) { // generate a componentInstruction from the view's PathRecognizer and params var componentInstruction = pathRecognizer.generate(viewCtrl.data); // create a ResolvedInstruction from the componentInstruction var instruction = new ResolvedInstruction(componentInstruction, null); this._parentRouter.navigateByInstruction(instruction); } } /** * TODO * @param {TODO} componentType TODO * @returns {TODO} TODO */ }, { key: "getPathRecognizerByComponent", value: function getPathRecognizerByComponent(componentType) { // given a componentType, figure out the best PathRecognizer to use var rules = this._parentRouter.registry._rules; var pathRecognizer = null; rules.forEach(function (rule) { pathRecognizer = rule.matchers.find(function (matcherPathRecognizer) { return matcherPathRecognizer.handler.componentType === componentType; }); }); return pathRecognizer; } }]); return NavRouter; })(RouterOutlet); _export("NavRouter", NavRouter); _export("NavRouter", NavRouter = __decorate([Directive({ selector: 'ion-nav' }), __param(3, Attribute('name')), __metadata('design:paramtypes', [typeof (_a = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _a || Object, typeof (_b = typeof DynamicComponentLoader !== 'undefined' && DynamicComponentLoader) === 'function' && _b || Object, typeof (_c = typeof Router !== 'undefined' && Router) === 'function' && _c || Object, String, typeof (_d = typeof Nav !== 'undefined' && Nav) === 'function' && _d || Object])], NavRouter)); // TODO: hacked from // https://github.com/angular/angular/blob/6ddfff5cd59aac9099aa6da5118c5598eea7ea11/modules/angular2/src/router/instruction.ts#L207 ResolvedInstruction = (function (_Instruction) { _inherits(ResolvedInstruction, _Instruction); function ResolvedInstruction(component, child, auxInstruction) { _classCallCheck(this, ResolvedInstruction); _get(Object.getPrototypeOf(ResolvedInstruction.prototype), "constructor", this).call(this); this.component = component; this.child = child; this.auxInstruction = auxInstruction; } _createClass(ResolvedInstruction, [{ key: "resolveComponent", value: function resolveComponent() { return Promise.resolve(this.component); } }]); return ResolvedInstruction; })(Instruction); } }; }); System.register("ionic/components/nav/nav", ["angular2/core", "../app/app", "../../config/config", "../../util/keyboard", "../../decorators/config-component", "./nav-controller", "./view-controller"], function (_export) { /** * @name Nav * @description * _For a quick walkthrough of navigation in Ionic, check out the * [Navigation section](../../../../components/#navigation) of the Component * docs._ * * Nav is a basic navigation controller component. As a subclass of NavController * you use it to navigate to pages in your app and manipulate the navigation stack. * Nav automatically animates transitions between pages for you. * * For more information on using navigation controllers like Nav or [Tab](../../Tabs/Tab/), * take a look at the [NavController API reference](../NavController/). * * You must set a root page (where page is any [@Page](../../config/Page/) * component) to be loaded initially by any Nav you create, using * the 'root' property: * * ```ts * import {GettingStartedPage} from 'getting-started'; * @App({ * template: `` * }) * class MyApp { * constructor(){ * this.rootPage = GettingStartedPage; * } * } * ``` * *

Back navigation

* If a [page](../NavController/#creating_pages) you navigate to has a [NavBar](../NavBar/), * Nav will automatically add a back button to it if there is a page * before the one you are navigating to in the navigation stack. * * Additionally, specifying the `swipe-back-enabled` property will allow you to * swipe to go back: * ```html * * ``` * * Here is a diagram of how Nav animates smoothly between pages: * *
*
     *                           +-------+
     *                           |  App  |
     *                           +---+---+
     *                           <ion-app>
     *                               |
     *                  +------------+-------------+
     *                  |   Ionic Nav Controller   |
     *                  +------------+-------------+
     *                           <ion-nav>
     *                               |
     *                               |
     *             Page 3  +--------------------+                     LoginPage
     *           Page 2  +--------------------+ |
     *         Page 1  +--------------------+ | |              +--------------------+
     *                 | | Header           |<-----------------|       Login        |
     *                 +--------------------+ | |              +--------------------+
     *                 | | |                | | |              | Username:          |
     *                 | | |                | | |              | Password:          |
     *                 | | |  Page 3 is     | | |              |                    |
     *                 | | |  only content  | | |              |                    |
     *                 | | |                |<-----------------|                    |
     *                 | | |                | | |              |                    |
     *                 | | |                | | |              |                    |
     *                 | +------------------|-+ |              |                    |
     *                 | | Footer           |-|-+              |                    |
     *                 | +------------------|-+                |                    |
     *                 +--------------------+                  +--------------------+
     *
     *           +--------------------+    +--------------------+    +--------------------+
     *           | Header             |    | Content            |    | Content            |
     *           +--------------------+    |                    |    |                    |
     *           | Content            |    |                    |    |                    |
     *           |                    |    |                    |    |                    |
     *           |                    |    |                    |    |                    |
     *           |                    |    |                    |    |                    |
     *           |                    |    |                    |    |                    |
     *           |                    |    |                    |    |                    |
     *           |                    |    |                    |    |                    |
     *           |                    |    |                    |    |                    |
     *           |                    |    +--------------------+    |                    |
     *           |                    |    | Footer             |    |                    |
     *           +--------------------+    +--------------------+    +--------------------+
     *
     *   
*
* * @see {@link /docs/v3/components#navigation Navigation Component Docs} */ "use strict"; var ChangeDetectorRef, ElementRef, Optional, NgZone, Compiler, AppViewManager, Renderer, IonicApp, Config, Keyboard, ConfigComponent, NavController, ViewController, __decorate, __metadata, __param, Nav, _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_angular2Core) { ChangeDetectorRef = _angular2Core.ChangeDetectorRef; ElementRef = _angular2Core.ElementRef; Optional = _angular2Core.Optional; NgZone = _angular2Core.NgZone; Compiler = _angular2Core.Compiler; AppViewManager = _angular2Core.AppViewManager; Renderer = _angular2Core.Renderer; }, function (_appApp) { IonicApp = _appApp.IonicApp; }, function (_configConfig) { Config = _configConfig.Config; }, function (_utilKeyboard) { Keyboard = _utilKeyboard.Keyboard; }, function (_decoratorsConfigComponent) { ConfigComponent = _decoratorsConfigComponent.ConfigComponent; }, function (_navController) { NavController = _navController.NavController; }, function (_viewController) { ViewController = _viewController.ViewController; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; Nav = (function (_NavController) { _inherits(Nav, _NavController); function Nav(hostNavCtrl, viewCtrl, app, config, keyboard, elementRef, compiler, viewManager, zone, renderer, cd) { _classCallCheck(this, Nav); _get(Object.getPrototypeOf(Nav.prototype), "constructor", this).call(this, hostNavCtrl, app, config, keyboard, elementRef, 'contents', compiler, viewManager, zone, renderer, cd); if (viewCtrl) { // an ion-nav can also act as an ion-page within a parent ion-nav // this would happen when an ion-nav nests a child ion-nav. viewCtrl.setContent(this); viewCtrl.setContentRef(elementRef); } } /** * @private */ _createClass(Nav, [{ key: "ngOnInit", value: function ngOnInit() { _get(Object.getPrototypeOf(Nav.prototype), "ngOnInit", this).call(this); if (this.root) { if (typeof this.root !== 'function') { throw 'The [root] property in must be given a reference to a component class from within the constructor.'; } this.push(this.root); } // default the swipe back to be enabled this.isSwipeBackEnabled((this.swipeBackEnabled || '').toString() !== 'false'); } }]); return Nav; })(NavController); _export("Nav", Nav); _export("Nav", Nav = __decorate([ConfigComponent({ selector: 'ion-nav', inputs: ['root'], // defaultInputs: { // 'swipeBackEnabled': true // }, template: '' }), __param(0, Optional()), __param(1, Optional()), __metadata('design:paramtypes', [typeof (_a = typeof NavController !== 'undefined' && NavController) === 'function' && _a || Object, typeof (_b = typeof ViewController !== 'undefined' && ViewController) === 'function' && _b || Object, typeof (_c = typeof IonicApp !== 'undefined' && IonicApp) === 'function' && _c || Object, typeof (_d = typeof Config !== 'undefined' && Config) === 'function' && _d || Object, typeof (_e = typeof Keyboard !== 'undefined' && Keyboard) === 'function' && _e || Object, typeof (_f = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _f || Object, typeof (_g = typeof Compiler !== 'undefined' && Compiler) === 'function' && _g || Object, typeof (_h = typeof AppViewManager !== 'undefined' && AppViewManager) === 'function' && _h || Object, typeof (_j = typeof NgZone !== 'undefined' && NgZone) === 'function' && _j || Object, typeof (_k = typeof Renderer !== 'undefined' && Renderer) === 'function' && _k || Object, typeof (_l = typeof ChangeDetectorRef !== 'undefined' && ChangeDetectorRef) === 'function' && _l || Object])], Nav)); } }; }); System.register('ionic/components/nav/overlay-controller', ['../view-controller'], function (_export) { 'use strict'; var ViewController, OverlayController; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x2, _x3, _x4) { var _again = true; _function: while (_again) { var object = _x2, property = _x3, receiver = _x4; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x2 = parent; _x3 = property; _x4 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_viewController) { ViewController = _viewController.ViewController; }], execute: function () { OverlayController = (function (_ViewController) { _inherits(OverlayController, _ViewController); function OverlayController(navCtrl, componentType) { var opts = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; _classCallCheck(this, OverlayController); _get(Object.getPrototypeOf(OverlayController.prototype), 'constructor', this).call(this, null, AlertCmp, opts); this.data.inputs = this.data.inputs || []; var buttons = this.data.buttons || []; this.data.buttons = []; var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = buttons[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var button = _step.value; this.addButton(button); } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator['return']) { _iterator['return'](); } } finally { if (_didIteratorError) { throw _iteratorError; } } } this.enterAnimationKey = 'alertEnter'; this.leaveAnimationKey = 'alertLeave'; } _createClass(OverlayController, [{ key: 'setTitle', value: function setTitle(title) { this.data.title = title; } }, { key: 'setSubTitle', value: function setSubTitle(subTitle) { this.data.subTitle = subTitle; } }, { key: 'setBody', value: function setBody(body) { this.data.body = body; } }, { key: 'addInput', value: function addInput(input) { input.value = isDefined(input.value) ? input.value : ''; this.data.inputs.push(input); } }, { key: 'addButton', value: function addButton(button) { if (typeof button === 'string') { button = { text: button }; } this.data.buttons.push(button); } }, { key: 'close', value: function close() { var index = this._nav.indexOf(this); this._nav.remove(index, { animateFirst: true }); } }, { key: 'onClose', value: function onClose(handler) { this.data.onClose = handler; } }]); return OverlayController; })(ViewController); _export('OverlayController', OverlayController); } }; }); System.register('ionic/components/nav/swipe-back', ['../../gestures/slide-edge-gesture'], function (_export) { 'use strict'; var SlideEdgeGesture, SwipeBackGesture; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_gesturesSlideEdgeGesture) { SlideEdgeGesture = _gesturesSlideEdgeGesture.SlideEdgeGesture; }], execute: function () { SwipeBackGesture = (function (_SlideEdgeGesture) { _inherits(SwipeBackGesture, _SlideEdgeGesture); function SwipeBackGesture(element, opts, navCtrl) { if (opts === undefined) opts = {}; _classCallCheck(this, SwipeBackGesture); _get(Object.getPrototypeOf(SwipeBackGesture.prototype), 'constructor', this).call(this, element, opts); // Can check corners through use of eg 'left top' this.edges = opts.edge.split(' '); this.threshold = opts.threshold; this.navCtrl = navCtrl; } _createClass(SwipeBackGesture, [{ key: 'onSlideStart', value: function onSlideStart() { this.navCtrl.swipeBackStart(); } }, { key: 'onSlide', value: function onSlide(slide, ev) { this.navCtrl.swipeBackProgress(slide.distance / slide.max); } }, { key: 'onSlideEnd', value: function onSlideEnd(slide, ev) { var shouldComplete = Math.abs(ev.velocityX) > 0.2 || Math.abs(slide.delta) > Math.abs(slide.max) * 0.5; // TODO: calculate a better playback rate depending on velocity and distance this.navCtrl.swipeBackEnd(shouldComplete, 1); } }]); return SwipeBackGesture; })(SlideEdgeGesture); _export('SwipeBackGesture', SwipeBackGesture); } }; }); System.register("ionic/components/nav/view-controller", ["angular2/core", "./nav-controller"], function (_export) { /** * @name ViewController * @description * Access various features and information about the current view * @usage * ```ts * import {Page, ViewController} from 'ionic/ionic'; * @Page.... * export class MyPage{ * constructor(viewCtrl: ViewController){ * this.viewCtrl = viewCtrl; * } * } * ``` */ "use strict"; var Output, EventEmitter, NavParams, __decorate, __metadata, ViewController, _a; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function ctrlFn(viewCtrl, fnName) { if (viewCtrl.instance && viewCtrl.instance[fnName]) { try { viewCtrl.instance[fnName](); } catch (e) { console.error(fnName + ': ' + e.message); } } } return { setters: [function (_angular2Core) { Output = _angular2Core.Output; EventEmitter = _angular2Core.EventEmitter; }, function (_navController) { NavParams = _navController.NavParams; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; ViewController = (function () { function ViewController(componentType) { var data = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; _classCallCheck(this, ViewController); this._emitter = new EventEmitter(); this.componentType = componentType; this.data = data; this.instance = {}; this.state = 0; this._destroys = []; this._loaded = false; this.shouldDestroy = false; this.shouldCache = false; this.viewType = ''; this._leavingOpts = null; this._onDismiss = null; } _createClass(ViewController, [{ key: "subscribe", value: function subscribe(callback) { this._emitter.subscribe(callback); } }, { key: "emit", value: function emit(data) { this._emitter.emit(data); } }, { key: "onDismiss", value: function onDismiss(callback) { this._onDismiss = callback; } }, { key: "dismiss", value: function dismiss(data) { this._onDismiss && this._onDismiss(data); return this._nav.remove(this._nav.indexOf(this), this._leavingOpts); } }, { key: "setNav", value: function setNav(navCtrl) { this._nav = navCtrl; } }, { key: "getTransitionName", value: function getTransitionName(direction) { return this._nav && this._nav.config.get('pageTransition'); } }, { key: "getNavParams", value: function getNavParams() { return new NavParams(this.data); } }, { key: "setLeavingOpts", value: function setLeavingOpts(opts) { this._leavingOpts = opts; } /** * Check to see if you can go back in the navigation stack * @param {boolean} Check whether or not you can go back from this page * @returns {boolean} Returns if it's possible to go back from this Page. */ }, { key: "enableBack", value: function enableBack() { // update if it's possible to go back from this nav item if (this._nav) { var previousItem = this._nav.getPrevious(this); // the previous view may exist, but if it's about to be destroyed // it shouldn't be able to go back to return !!(previousItem && !previousItem.shouldDestroy); } return false; } /** * @private */ }, { key: "setInstance", value: function setInstance(instance) { this.instance = instance; } /** * @private */ }, { key: "isRoot", /** * @returns {boolean} Returns if this Page is the root page of the NavController. */ value: function isRoot() { return this.index === 0; } /** * @private */ }, { key: "addDestroy", value: function addDestroy(destroyFn) { this._destroys.push(destroyFn); } /** * @private */ }, { key: "destroy", value: function destroy() { for (var i = 0; i < this._destroys.length; i++) { this._destroys[i](); } this._destroys = []; } /** * @private */ }, { key: "setNavbarTemplateRef", value: function setNavbarTemplateRef(templateRef) { this._nbTmpRef = templateRef; } /** * @private */ }, { key: "getNavbarTemplateRef", value: function getNavbarTemplateRef() { return this._nbTmpRef; } /** * @private */ }, { key: "getNavbarViewRef", value: function getNavbarViewRef() { return this._nbVwRef; } /** * @private */ }, { key: "setNavbarViewRef", value: function setNavbarViewRef(viewContainerRef) { this._nbVwRef = viewContainerRef; } /** * @private */ }, { key: "setPageRef", value: function setPageRef(elementRef) { this._pgRef = elementRef; } /** * @private * @returns {ElementRef} Returns the Page's ElementRef */ }, { key: "pageRef", value: function pageRef() { return this._pgRef; } /** * @private */ }, { key: "setContentRef", value: function setContentRef(elementRef) { this._cntRef = elementRef; } /** * @private * @returns {ElementRef} Returns the Page's Content ElementRef */ }, { key: "contentRef", value: function contentRef() { return this._cntRef; } /** * @private */ }, { key: "setContent", value: function setContent(directive) { this._cntDir = directive; } /** * @private * @returns {Component} Returns the Page's Content component reference. */ }, { key: "getContent", value: function getContent() { return this._cntDir; } /** * @private */ }, { key: "setNavbar", value: function setNavbar(directive) { this._nbDir = directive; } /** * @private */ }, { key: "getNavbar", value: function getNavbar() { return this._nbDir; } /** * You can find out of the current view has a Navbar or not. Be sure to wrap this in an `onPageWillEnter` method in order to make sure the view has rendered fully. * * ```typescript * export class Page1 { * constructor(view: ViewController) { * this.view = view * } * onPageWillEnter(){ * console.log('Do we have a Navbar?', this.view.hasNavbar()); * } *} * ``` * * @returns {boolean} Returns a boolean if this Page has a navbar or not. */ }, { key: "hasNavbar", value: function hasNavbar() { return !!this.getNavbar(); } /** * @private */ }, { key: "navbarRef", value: function navbarRef() { var navbar = this.getNavbar(); return navbar && navbar.getElementRef(); } /** * @private */ }, { key: "titleRef", value: function titleRef() { var navbar = this.getNavbar(); return navbar && navbar.getTitleRef(); } /** * @private */ }, { key: "navbarItemRefs", value: function navbarItemRefs() { var navbar = this.getNavbar(); return navbar && navbar.getItemRefs(); } /** * @private */ }, { key: "backBtnRef", value: function backBtnRef() { var navbar = this.getNavbar(); return navbar && navbar.getBackButtonRef(); } /** * @private */ }, { key: "backBtnTextRef", value: function backBtnTextRef() { var navbar = this.getNavbar(); return navbar && navbar.getBackButtonTextRef(); } /** * @private */ }, { key: "navbarBgRef", value: function navbarBgRef() { var navbar = this.getNavbar(); return navbar && navbar.getBackgroundRef(); } /** * You can change the text of the back button on a view-by-view basis. * * ```ts * export class MyClass{ * constructor(viewCtrl: ViewController){ * this.viewCtrl = viewCtrl * } * onPageWillEnter() { * this.viewCtrl.setBackButtonText('Previous'); * } * } * ``` * Make sure you use the view events when calling this method, otherwise the back-button will not have been created * * @param {string} backButtonText Set the back button text. */ }, { key: "setBackButtonText", value: function setBackButtonText(val) { var navbar = this.getNavbar(); if (navbar) { navbar.bbText = val; } } /** * Set if the back button for the current view is visible or not. Be sure to wrap this in `onPageWillEnter` to make sure the has been compleltly rendered. * @param {boolean} Set if this Page's back button should show or not. */ }, { key: "showBackButton", value: function showBackButton(shouldShow) { var navbar = this.getNavbar(); if (navbar) { navbar.hideBackButton = !shouldShow; } } /** * @private */ }, { key: "isLoaded", value: function isLoaded() { return this._loaded; } /** * @private * The view has loaded. This event only happens once per view being * created. If a view leaves but is cached, then this will not * fire again on a subsequent viewing. This method is a good place * to put your setup code for the view; however, it is not the * recommended method to use when a view becomes active. */ }, { key: "loaded", value: function loaded() { this._loaded = true; if (!this.shouldDestroy) { ctrlFn(this, 'onPageLoaded'); } } /** * @private * The view is about to enter and become the active view. */ }, { key: "willEnter", value: function willEnter() { if (!this.shouldDestroy) { ctrlFn(this, 'onPageWillEnter'); } } /** * @private * The view has fully entered and is now the active view. This * will fire, whether it was the first load or loaded from the cache. */ }, { key: "didEnter", value: function didEnter() { var navbar = this.getNavbar(); navbar && navbar.didEnter(); ctrlFn(this, 'onPageDidEnter'); } /** * @private * The view has is about to leave and no longer be the active view. */ }, { key: "willLeave", value: function willLeave() { ctrlFn(this, 'onPageWillLeave'); } /** * @private * The view has finished leaving and is no longer the active view. This * will fire, whether it is cached or unloaded. */ }, { key: "didLeave", value: function didLeave() { ctrlFn(this, 'onPageDidLeave'); } /** * @private * The view is about to be destroyed and have its elements removed. */ }, { key: "willUnload", value: function willUnload() { ctrlFn(this, 'onPageWillUnload'); } /** * @private * The view has been destroyed and its elements have been removed. */ }, { key: "didUnload", value: function didUnload() { ctrlFn(this, 'onPageDidUnload'); } }, { key: "name", get: function get() { return this.componentType ? this.componentType.name : ''; } /** * You can find out the index of the current view is in the current navigation stack * * ```typescript * export class Page1 { * constructor(view: ViewController){ * this.view = view; * // Just log out the index * console.log(this.view.index); * } * } * ``` * * @returns {Number} Returns the index of this page within its NavController. */ }, { key: "index", get: function get() { return this._nav ? this._nav.indexOf(this) : -1; } }]); return ViewController; })(); _export("ViewController", ViewController); __decorate([Output(), __metadata('design:type', typeof (_a = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _a || Object)], ViewController.prototype, "_emitter", void 0); } }; }); System.register("ionic/components/overlay/overlay", ["angular2/core"], function (_export) { /** * @private */ "use strict"; var Directive, __decorate, __metadata, OverlayNav; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Directive = _angular2Core.Directive; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; OverlayNav = function OverlayNav() { _classCallCheck(this, OverlayNav); // deprecated warning console.warn(' is no longer needed and can be safely removed.'); console.warn('https://github.com/ionic-team/ionic2/blob/master/CHANGELOG.md#overlay-refactor'); console.warn('See the v2 docs for an update on how overlays work.'); }; _export("OverlayNav", OverlayNav); _export("OverlayNav", OverlayNav = __decorate([Directive({ selector: 'ion-overlay' }), __metadata('design:paramtypes', [])], OverlayNav)); } }; }); System.register("ionic/components/navbar/navbar", ["angular2/core", "../ion", "../icon/icon", "../toolbar/toolbar", "../../config/config", "../app/app", "../nav/view-controller", "../nav/nav-controller"], function (_export) { "use strict"; var Component, Directive, Optional, ElementRef, Renderer, TemplateRef, forwardRef, Inject, ViewContainerRef, Ion, Icon, ToolbarBase, Config, IonicApp, ViewController, NavController, __decorate, __metadata, __param, BackButton, BackButtonText, ToolbarBackground, Navbar, NavbarTemplate, _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_angular2Core) { Component = _angular2Core.Component; Directive = _angular2Core.Directive; Optional = _angular2Core.Optional; ElementRef = _angular2Core.ElementRef; Renderer = _angular2Core.Renderer; TemplateRef = _angular2Core.TemplateRef; forwardRef = _angular2Core.forwardRef; Inject = _angular2Core.Inject; ViewContainerRef = _angular2Core.ViewContainerRef; }, function (_ion) { Ion = _ion.Ion; }, function (_iconIcon) { Icon = _iconIcon.Icon; }, function (_toolbarToolbar) { ToolbarBase = _toolbarToolbar.ToolbarBase; }, function (_configConfig) { Config = _configConfig.Config; }, function (_appApp) { IonicApp = _appApp.IonicApp; }, function (_navViewController) { ViewController = _navViewController.ViewController; }, function (_navNavController) { NavController = _navNavController.NavController; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; BackButton = (function (_Ion) { _inherits(BackButton, _Ion); function BackButton(navCtrl, elementRef, navbar) { _classCallCheck(this, BackButton); _get(Object.getPrototypeOf(BackButton.prototype), "constructor", this).call(this, elementRef, null); this.navCtrl = navCtrl; navbar && navbar.setBackButtonRef(elementRef); } _createClass(BackButton, [{ key: "goBack", value: function goBack(ev) { ev.stopPropagation(); ev.preventDefault(); this.navCtrl && this.navCtrl.pop(); } }]); return BackButton; })(Ion); BackButton = __decorate([Directive({ selector: '.back-button', host: { '(click)': 'goBack($event)' } }), __param(0, Optional()), __param(2, Optional()), __param(2, Inject(forwardRef(function () { return Navbar; }))), __metadata('design:paramtypes', [typeof (_a = typeof NavController !== 'undefined' && NavController) === 'function' && _a || Object, typeof (_b = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _b || Object, Navbar])], BackButton); BackButtonText = function BackButtonText(elementRef, navbar) { _classCallCheck(this, BackButtonText); navbar.setBackButtonTextRef(elementRef); }; BackButtonText = __decorate([Directive({ selector: '.back-button-text' }), __param(1, Inject(forwardRef(function () { return Navbar; }))), __metadata('design:paramtypes', [typeof (_c = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _c || Object, Navbar])], BackButtonText); ToolbarBackground = function ToolbarBackground(elementRef, navbar) { _classCallCheck(this, ToolbarBackground); navbar.setBackgroundRef(elementRef); }; ToolbarBackground = __decorate([Directive({ selector: '.toolbar-background' }), __param(1, Inject(forwardRef(function () { return Navbar; }))), __metadata('design:paramtypes', [typeof (_d = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _d || Object, Navbar])], ToolbarBackground); /** * @name Navbar * @description * Navbar is a global level toolbar that gets updated every time a page gets * loaded. You can pass the navbar a `ion-title` or any number of buttons. * * @usage * ```html * * * * * * * * Page Title * * * * * * * ``` * * @see {@link ../../toolbar/Toolbar/ Toolbar API Docs} */ Navbar = (function (_ToolbarBase) { _inherits(Navbar, _ToolbarBase); function Navbar(app, viewCtrl, elementRef, config, renderer) { _classCallCheck(this, Navbar); _get(Object.getPrototypeOf(Navbar.prototype), "constructor", this).call(this, elementRef, config); this.app = app; this.renderer = renderer; viewCtrl && viewCtrl.setNavbar(this); this.bbIcon = config.get('backButtonIcon'); this.bbText = config.get('backButtonText'); } /** * @private */ _createClass(Navbar, [{ key: "ngOnInit", value: function ngOnInit() { _get(Object.getPrototypeOf(Navbar.prototype), "ngOnInit", this).call(this); var hideBackButton = this.hideBackButton; if (typeof hideBackButton === 'string') { this.hideBackButton = hideBackButton === '' || hideBackButton === 'true'; } } /** * @private */ }, { key: "getBackButtonRef", value: function getBackButtonRef() { return this.bbRef; } /** * @private */ }, { key: "setBackButtonRef", value: function setBackButtonRef(backButtonElementRef) { this.bbRef = backButtonElementRef; } /** * @private */ }, { key: "getBackButtonTextRef", value: function getBackButtonTextRef() { return this.bbtRef; } /** * @private */ }, { key: "setBackButtonTextRef", value: function setBackButtonTextRef(backButtonTextElementRef) { this.bbtRef = backButtonTextElementRef; } /** * @private */ }, { key: "setBackgroundRef", value: function setBackgroundRef(backgrouneElementRef) { this.bgRef = backgrouneElementRef; } /** * @private */ }, { key: "getBackgroundRef", value: function getBackgroundRef() { return this.bgRef; } /** * @private */ }, { key: "didEnter", value: function didEnter() { try { this.app.setTitle(this.getTitleText()); } catch (e) { console.error(e); } } /** * @private */ }, { key: "setHidden", value: function setHidden(isHidden) { this._hidden = isHidden; } }]); return Navbar; })(ToolbarBase); _export("Navbar", Navbar); _export("Navbar", Navbar = __decorate([Component({ selector: 'ion-navbar', template: '
' + '' + '' + '' + '' + '
' + '' + '
', host: { '[hidden]': '_hidden', 'class': 'toolbar' }, inputs: ['hideBackButton'], directives: [BackButton, BackButtonText, Icon, ToolbarBackground] }), __param(1, Optional()), __metadata('design:paramtypes', [typeof (_e = typeof IonicApp !== 'undefined' && IonicApp) === 'function' && _e || Object, typeof (_f = typeof ViewController !== 'undefined' && ViewController) === 'function' && _f || Object, typeof (_g = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _g || Object, typeof (_h = typeof Config !== 'undefined' && Config) === 'function' && _h || Object, typeof (_j = typeof Renderer !== 'undefined' && Renderer) === 'function' && _j || Object])], Navbar)); /** * @private * Used to find and register headers in a view, and this directive's * content will be moved up to the common navbar location, and created * using the same context as the view's content area. */ NavbarTemplate = function NavbarTemplate(viewContainerRef, templateRef, viewCtrl) { _classCallCheck(this, NavbarTemplate); if (viewCtrl) { viewCtrl.setNavbarTemplateRef(templateRef); viewCtrl.setNavbarViewRef(viewContainerRef); } }; _export("NavbarTemplate", NavbarTemplate); _export("NavbarTemplate", NavbarTemplate = __decorate([Directive({ selector: 'template[navbar]' }), __param(2, Optional()), __metadata('design:paramtypes', [typeof (_k = typeof ViewContainerRef !== 'undefined' && ViewContainerRef) === 'function' && _k || Object, typeof (_l = typeof TemplateRef !== 'undefined' && TemplateRef) === 'function' && _l || Object, typeof (_m = typeof ViewController !== 'undefined' && ViewController) === 'function' && _m || Object])], NavbarTemplate)); } }; }); System.register("ionic/components/radio/radio", ["angular2/core", "angular2/common", "../list/list", "../../util/form", "../../util/util"], function (_export) { /** * @description * A radio button with a unique value. Note that all `` components * must be wrapped within a ``, and there must be at * least two `` components within the radio group. * * See the [Angular 2 Docs](https://angular.io/docs/js/latest/api/forms/) for more info on forms and input. * * @usage * ```html * * Radio Label * * ``` * @demo /docs/v3/demos/radio/ * @see {@link /docs/v3/components#radio Radio Component Docs} */ "use strict"; var Component, Directive, ElementRef, Renderer, Optional, Input, Output, HostListener, ContentChildren, ContentChild, EventEmitter, NgControl, ListHeader, Form, isDefined, __decorate, __metadata, __param, RadioButton, RadioGroup, radioGroupIds, _a, _b, _c, _d, _e, _f, _g, _h; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Component = _angular2Core.Component; Directive = _angular2Core.Directive; ElementRef = _angular2Core.ElementRef; Renderer = _angular2Core.Renderer; Optional = _angular2Core.Optional; Input = _angular2Core.Input; Output = _angular2Core.Output; HostListener = _angular2Core.HostListener; ContentChildren = _angular2Core.ContentChildren; ContentChild = _angular2Core.ContentChild; EventEmitter = _angular2Core.EventEmitter; }, function (_angular2Common) { NgControl = _angular2Common.NgControl; }, function (_listList) { ListHeader = _listList.ListHeader; }, function (_utilForm) { Form = _utilForm.Form; }, function (_utilUtil) { isDefined = _utilUtil.isDefined; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; RadioButton = (function () { function RadioButton(_form, _renderer, _elementRef) { _classCallCheck(this, RadioButton); this._form = _form; this._renderer = _renderer; this._elementRef = _elementRef; this.value = ''; this.checked = false; this.disabled = false; this.select = new EventEmitter(); _form.register(this); } /** * @private */ _createClass(RadioButton, [{ key: "ngOnInit", value: function ngOnInit() { if (!this.id) { this.id = 'rb-' + this._form.nextId(); this._renderer.setElementAttribute(this._elementRef, 'id', this.id); } this.labelId = 'lbl-' + this.id; this._renderer.setElementAttribute(this._elementRef, 'aria-labelledby', this.labelId); var checked = this.checked; if (typeof checked === 'string') { this.checked = checked === '' || checked === 'true'; } this.isChecked = this.checked; this._renderer.setElementAttribute(this._elementRef, 'checked', null); } /** * @private */ }, { key: "_click", value: function _click() { console.debug('RadioButton, select', this.value); this.select.emit(this); } }, { key: "ngOnDestroy", /** * @private */ value: function ngOnDestroy() { this._form.deregister(this); } }, { key: "isChecked", set: function set(isChecked) { this._renderer.setElementAttribute(this._elementRef, 'aria-checked', isChecked); } }]); return RadioButton; })(); _export("RadioButton", RadioButton); __decorate([Input(), __metadata('design:type', String)], RadioButton.prototype, "value", void 0); __decorate([Input(), __metadata('design:type', Object)], RadioButton.prototype, "checked", void 0); __decorate([Input(), __metadata('design:type', Boolean)], RadioButton.prototype, "disabled", void 0); __decorate([Input(), __metadata('design:type', String)], RadioButton.prototype, "id", void 0); __decorate([Output(), __metadata('design:type', typeof (_a = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _a || Object)], RadioButton.prototype, "select", void 0); __decorate([HostListener('click'), __metadata('design:type', Function), __metadata('design:paramtypes', []), __metadata('design:returntype', void 0)], RadioButton.prototype, "_click", null); _export("RadioButton", RadioButton = __decorate([Component({ selector: 'ion-radio', host: { 'role': 'radio', 'class': 'item', 'tappable': '', 'tabindex': 0, '[attr.aria-disabled]': 'disabled' }, template: '
' + '' + '' + '' + '
' + '
' + '
' + '
' }), __metadata('design:paramtypes', [typeof (_b = typeof Form !== 'undefined' && Form) === 'function' && _b || Object, typeof (_c = typeof Renderer !== 'undefined' && Renderer) === 'function' && _c || Object, typeof (_d = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _d || Object])], RadioButton)); /** * A radio group is a group of radio components. * * Selecting a radio button in the group unselects all others in the group. * * New radios can be registered dynamically. * * See the [Angular 2 Docs](https://angular.io/docs/js/latest/api/forms/) for more info on forms and input. * * @usage * ```html * * * * Auto Manufacturers * * * * Cord * * * * Duesenberg * * * * Hudson * * * * Packard * * * * Studebaker * * * * Tucker * * * * ``` * @demo /docs/v3/demos/radio/ * @see {@link /docs/v3/components#radio Radio Component Docs} */ RadioGroup = (function () { function RadioGroup(ngControl, _renderer, _elementRef) { _classCallCheck(this, RadioGroup); this._renderer = _renderer; this._elementRef = _elementRef; this.change = new EventEmitter(); this.id = ++radioGroupIds; if (ngControl) { ngControl.valueAccessor = this; } } /** * @private * Angular2 Forms API method called by the model (Control) on change to update * the checked value. * https://github.com/angular/angular/blob/master/modules/angular2/src/forms/directives/shared.ts#L34 */ _createClass(RadioGroup, [{ key: "writeValue", value: function writeValue(value) { this.value = isDefined(value) ? value : ''; if (this._buttons) { var buttons = this._buttons.toArray(); var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = buttons[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var button = _step.value; var isChecked = button.value === this.value; button.isChecked = isChecked; if (isChecked) { this._renderer.setElementAttribute(this._elementRef, 'aria-activedescendant', button.id); } } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator["return"]) { _iterator["return"](); } } finally { if (_didIteratorError) { throw _iteratorError; } } } } } /** * @private */ }, { key: "onChange", value: function onChange(val) {} // TODO: figure the whys and the becauses /** * @private */ }, { key: "onTouched", value: function onTouched(val) {} // TODO: figure the whys and the becauses /** * @private * Angular2 Forms API method called by the view (NgControl) to register the * onChange event handler that updates the model (Control). * https://github.com/angular/angular/blob/master/modules/angular2/src/forms/directives/shared.ts#L27 * @param {Function} fn the onChange event handler. */ }, { key: "registerOnChange", value: function registerOnChange(fn) { this.onChange = fn; } /** * @private * Angular2 Forms API method called by the the view (NgControl) to register * the onTouched event handler that marks the model (Control) as touched. * @param {Function} fn onTouched event handler. */ }, { key: "registerOnTouched", value: function registerOnTouched(fn) { this.onTouched = fn; } /** * @private */ }, { key: "ngAfterContentInit", value: function ngAfterContentInit() { var _this = this; var header = this._header; if (header) { if (!header.id) { header.id = 'rg-hdr-' + this.id; } this._renderer.setElementAttribute(this._elementRef, 'aria-describedby', header.id); } var buttons = this._buttons.toArray(); var _iteratorNormalCompletion2 = true; var _didIteratorError2 = false; var _iteratorError2 = undefined; try { var _loop = function () { var button = _step2.value; button.select.subscribe(function () { _this.writeValue(button.value); _this.onChange(button.value); _this.change.emit(_this); }); if (isDefined(_this.value)) { var isChecked = button.value === _this.value || button.checked; button.isChecked = isChecked; if (isChecked) { _this.writeValue(button.value); //this.onChange(button.value); _this._renderer.setElementAttribute(_this._elementRef, 'aria-activedescendant', button.id); } } }; for (var _iterator2 = buttons[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { _loop(); } } catch (err) { _didIteratorError2 = true; _iteratorError2 = err; } finally { try { if (!_iteratorNormalCompletion2 && _iterator2["return"]) { _iterator2["return"](); } } finally { if (_didIteratorError2) { throw _iteratorError2; } } } } }]); return RadioGroup; })(); _export("RadioGroup", RadioGroup); __decorate([Output(), __metadata('design:type', typeof (_e = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _e || Object)], RadioGroup.prototype, "change", void 0); __decorate([ContentChildren(RadioButton), __metadata('design:type', Object)], RadioGroup.prototype, "_buttons", void 0); __decorate([ContentChild(ListHeader), __metadata('design:type', Object)], RadioGroup.prototype, "_header", void 0); _export("RadioGroup", RadioGroup = __decorate([Directive({ selector: '[radio-group]', host: { '[attr.aria-activedescendant]': 'activeId', 'role': 'radiogroup' } }), __param(0, Optional()), __metadata('design:paramtypes', [typeof (_f = typeof NgControl !== 'undefined' && NgControl) === 'function' && _f || Object, typeof (_g = typeof Renderer !== 'undefined' && Renderer) === 'function' && _g || Object, typeof (_h = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _h || Object])], RadioGroup)); radioGroupIds = -1; } }; }); System.register("ionic/components/scroll/pull-to-refresh", ["angular2/core", "angular2/common", "../content/content", "../../util", "../../util/dom"], function (_export) { /** * @name Refresher * @description * Allows you to add pull-to-refresh to an Content component. * Place it as the first child of your Content or Scroll element. * * When refreshing is complete, call `refresher.complete()` from your controller. * * @usage * ```html * * * * * * ``` * * ```ts * export class MyClass { * constructor(){} * doRefresh(refresher) { * console.log('Refreshing!', refresher); * * setTimeout(() => { * console.log('Pull to refresh complete!', refresher); * refresher.complete(); * }) * } * * doStarting() { * console.log('Pull started!'); * } * * doPulling(amt) { * console.log('You have pulled', amt); * } * } * ``` * @demo /docs/v3/demos/refresher/ * * @property {string} [pullingIcon] - the icon you want to display when you begin to pull down * @property {string} [pullingText] - the text you want to display when you begin to pull down * @property {string} [refreshingIcon] - the icon you want to display when performing a refresh * @property {string} [refreshingText] - the text you want to display when performing a refresh * * @property {any} (refresh) - the methond on your class you want to perform when you refreshing * @property {any} (starting) - the methond on your class you want to perform when you start pulling down * @property {any} (pulling) - the methond on your class you want to perform when you are pulling down * */ "use strict"; var Component, ElementRef, EventEmitter, Host, NgIf, NgClass, Content, util, raf, CSS, __decorate, __metadata, __param, Refresher, _a, _b; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Component = _angular2Core.Component; ElementRef = _angular2Core.ElementRef; EventEmitter = _angular2Core.EventEmitter; Host = _angular2Core.Host; }, function (_angular2Common) { NgIf = _angular2Common.NgIf; NgClass = _angular2Common.NgClass; }, function (_contentContent) { Content = _contentContent.Content; }, function (_util) { util = _util; }, function (_utilDom) { raf = _utilDom.raf; CSS = _utilDom.CSS; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; Refresher = (function () { /** * @private * @param {Content} content TODO * @param {ElementRef} elementRef TODO */ function Refresher(content, element) { _classCallCheck(this, Refresher); this.ele = element.nativeElement; this.ele.classList.add('content'); this.content = content; this.refresh = new EventEmitter('refresh'); this.starting = new EventEmitter('starting'); this.pulling = new EventEmitter('pulling'); } /** * @private */ _createClass(Refresher, [{ key: "ngOnInit", value: function ngOnInit() { this.initEvents(); } /** * @private * Initialize touch and scroll event listeners. */ }, { key: "initEvents", value: function initEvents() { var sp = this.content.getNativeElement(); var sc = this.content.scrollElement; this.isDragging = false; this.isOverscrolling = false; this.dragOffset = 0; this.lastOverscroll = 0; this.ptrThreshold = 60; this.activated = false; this.scrollTime = 500; this.startY = null; this.deltaY = null; this.canOverscroll = true; this.scrollHost = sp; this.scrollChild = sc; util.defaults(this, { pullingIcon: 'ion-android-arrow-down', refreshingIcon: 'ion-ionic' }); this.showSpinner = !util.isDefined(this.refreshingIcon) && this.spinner != 'none'; this.showIcon = util.isDefined(this.refreshingIcon); this._touchMoveListener = this._handleTouchMove.bind(this); this._touchEndListener = this._handleTouchEnd.bind(this); this._handleScrollListener = this._handleScroll.bind(this); sc.addEventListener('touchmove', this._touchMoveListener); sc.addEventListener('touchend', this._touchEndListener); sc.addEventListener('scroll', this._handleScrollListener); } /** * @private */ }, { key: "onDehydrate", value: function onDehydrate() { console.log('DEHYDRATION'); var sc = this.content.scrollElement; sc.removeEventListener('touchmove', this._touchMoveListener); sc.removeEventListener('touchend', this._touchEndListener); sc.removeEventListener('scroll', this._handleScrollListener); } /** * @private * @param {TODO} val TODO */ }, { key: "overscroll", value: function overscroll(val) { this.scrollChild.style[CSS.transform] = 'translateY(' + val + 'px)'; this.lastOverscroll = val; } /** * @private * @param {TODO} target TODO * @param {TODO} newScrollTop TODO */ }, { key: "nativescroll", value: function nativescroll(target, newScrollTop) { // creates a scroll event that bubbles, can be cancelled, and with its view // and detail property initialized to window and 1, respectively target.scrollTop = newScrollTop; var e = document.createEvent("UIEvents"); e.initUIEvent("scroll", true, true, window, 1); target.dispatchEvent(e); } /** * @private * @param {TODO} enabled TODO */ }, { key: "setScrollLock", value: function setScrollLock(enabled) { var _this = this; // set the scrollbar to be position:fixed in preparation to overscroll // or remove it so the app can be natively scrolled if (enabled) { raf(function () { _this.scrollChild.classList.add('overscroll'); _this.show(); }); } else { raf(function () { _this.scrollChild.classList.remove('overscroll'); _this.hide(); _this.deactivate(); }); } } /** * @private */ }, { key: "activate", value: function activate() { //this.ele.classList.add('active'); this.isActive = true; //this.starting.next(); } /** * @private */ }, { key: "deactivate", value: function deactivate() { var _this2 = this; // give tail 150ms to finish setTimeout(function () { _this2.isActive = false; _this2.isRefreshing = false; _this2.isRefreshingTail = false; // deactivateCallback if (_this2.activated) _this2.activated = false; }, 150); } /** * @private */ }, { key: "start", value: function start() { // startCallback this.isRefreshing = true; this.refresh.next(this); //$scope.$onRefresh(); } /** * @private */ }, { key: "show", value: function show() { // showCallback this.ele.classList.remove('invisible'); } /** * @private */ }, { key: "hide", value: function hide() { // showCallback this.ele.classList.add('invisible'); } /** * @private */ }, { key: "tail", value: function tail() { // tailCallback this.ele.classList.add('refreshing-tail'); } /** * @private */ }, { key: "complete", value: function complete() { var _this3 = this; setTimeout(function () { raf(_this3.tail.bind(_this3)); // scroll back to home during tail animation _this3.scrollTo(0, _this3.scrollTime, _this3.deactivate.bind(_this3)); // return to native scrolling after tail animation has time to finish setTimeout(function () { if (_this3.isOverscrolling) { _this3.isOverscrolling = false; _this3.setScrollLock(false); } }, _this3.scrollTime); }, this.scrollTime); } /** * @private * @param {TODO} Y TODO * @param {TODO} duration TODO * @param {Function} callback TODO */ }, { key: "scrollTo", value: function scrollTo(Y, duration, callback) { // scroll animation loop w/ easing // credit https://gist.github.com/dezinezync/5487119 var start = Date.now(), from = this.lastOverscroll; if (from === Y) { callback(); return; /* Prevent scrolling to the Y point if already there */ } // decelerating to zero velocity function easeOutCubic(t) { return --t * t * t + 1; } // scroll loop function scroll() { var currentTime = Date.now(), time = Math.min(1, (currentTime - start) / duration), // where .5 would be 50% of time on a linear scale easedT gives a // fraction based on the easing method easedT = easeOutCubic(time); this.overscroll(parseInt(easedT * (Y - from) + from, 10)); if (time < 1) { raf(scroll.bind(this)); } else { if (Y < 5 && Y > -5) { this.isOverscrolling = false; this.setScrollLock(false); } callback && callback(); } } // start scroll loop raf(scroll.bind(this)); } /** * @private * TODO * @param {Event} e TODO */ }, { key: "_handleTouchMove", value: function _handleTouchMove(e) { //console.log('TOUCHMOVE', e); // if multitouch or regular scroll event, get out immediately if (!this.canOverscroll || e.touches.length > 1) { return; } //if this is a new drag, keep track of where we start if (this.startY === null) { this.startY = parseInt(e.touches[0].screenY, 10); } // how far have we dragged so far? this.deltaY = parseInt(e.touches[0].screenY, 10) - this.startY; // if we've dragged up and back down in to native scroll territory if (this.deltaY - this.dragOffset <= 0 || this.scrollHost.scrollTop !== 0) { if (this.isOverscrolling) { this.isOverscrolling = false; this.setScrollLock(false); } if (this.isDragging) { this.nativescroll(this.scrollHost, parseInt(this.deltaY - this.dragOffset, 10) * -1); } // if we're not at overscroll 0 yet, 0 out if (this.lastOverscroll !== 0) { this.overscroll(0); } return; } else if (this.deltaY > 0 && this.scrollHost.scrollTop === 0 && !this.isOverscrolling) { // starting overscroll, but drag started below scrollTop 0, so we need to offset the position this.dragOffset = this.deltaY; } // prevent native scroll events while overscrolling e.preventDefault(); // if not overscrolling yet, initiate overscrolling if (!this.isOverscrolling) { this.isOverscrolling = true; this.setScrollLock(true); } this.isDragging = true; // overscroll according to the user's drag so far this.overscroll(parseInt((this.deltaY - this.dragOffset) / 3, 10)); // Pass an incremental pull amount to the EventEmitter this.pulling.next(this.lastOverscroll); // update the icon accordingly if (!this.activated && this.lastOverscroll > this.ptrThreshold) { this.activated = true; raf(this.activate.bind(this)); } else if (this.activated && this.lastOverscroll < this.ptrThreshold) { this.activated = false; raf(this.deactivate.bind(this)); } } /** * @private * TODO * @param {Event} e TODO */ }, { key: "_handleTouchEnd", value: function _handleTouchEnd(e) { console.log('TOUCHEND', e); // if this wasn't an overscroll, get out immediately if (!this.canOverscroll && !this.isDragging) { return; } // reset Y this.startY = null; // the user has overscrolled but went back to native scrolling if (!this.isDragging) { this.dragOffset = 0; this.isOverscrolling = false; this.setScrollLock(false); } else { this.isDragging = false; this.dragOffset = 0; // the user has scroll far enough to trigger a refresh if (this.lastOverscroll > this.ptrThreshold) { this.start(); this.scrollTo(this.ptrThreshold, this.scrollTime); } else { this.scrollTo(0, this.scrollTime, this.deactivate.bind(this)); this.isOverscrolling = false; } } } /** * @private * TODO * @param {Event} e TODO */ }, { key: "_handleScroll", value: function _handleScroll(e) { console.log('SCROLL', e.target.scrollTop); } }]); return Refresher; })(); _export("Refresher", Refresher); _export("Refresher", Refresher = __decorate([Component({ selector: 'ion-refresher', inputs: ['pullingIcon', 'pullingText', 'refreshingIcon', 'refreshingText', 'spinner', 'disablePullingRotation'], outputs: ['refresh', 'starting', 'pulling'], host: { '[class.active]': 'isActive', '[class.refreshing]': 'isRefreshing', '[class.refreshingTail]': 'isRefreshingTail' }, template: '
' + '
' + '' + '
' + '
' + '
' + '' + '
' + '
' + '
', directives: [NgIf, NgClass] }), __param(0, Host()), __metadata('design:paramtypes', [typeof (_a = typeof Content !== 'undefined' && Content) === 'function' && _a || Object, typeof (_b = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _b || Object])], Refresher)); } }; }); System.register("ionic/components/scroll/scroll", ["angular2/core", "../ion", "../../config/config"], function (_export) { /** * @name Scroll * @description * Scroll is a non-flexboxed scroll area that can scroll horizontally or vertically. `ion-Scroll` Can be used in places were you may not need a full page scroller, but a highly customized one, such as image scubber or comment scroller. * @usage * ```html * * * * * * * * * ``` *@property {boolean} [scroll-x] - whether to enable scrolling along the X axis *@property {boolean} [scroll-y] - whether to enable scrolling along the Y axis *@property {boolean} [zoom] - whether to enable zooming *@property {number} [max-zoom] - set the max zoom amount for ion-scroll * @demo /docs/v3/demos/scroll/ */ "use strict"; var Component, ElementRef, Ion, Config, __decorate, __metadata, Scroll, _a, _b; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_angular2Core) { Component = _angular2Core.Component; ElementRef = _angular2Core.ElementRef; }, function (_ion) { Ion = _ion.Ion; }, function (_configConfig) { Config = _configConfig.Config; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Scroll = (function (_Ion) { _inherits(Scroll, _Ion); function Scroll(elementRef, Config) { _classCallCheck(this, Scroll); _get(Object.getPrototypeOf(Scroll.prototype), "constructor", this).call(this, elementRef, Config); this.maxScale = 3; this.zoomDuration = 250; } /** * @private */ _createClass(Scroll, [{ key: "ngOnInit", value: function ngOnInit() { this.scrollElement = this.getNativeElement().children[0]; } /** * Add a scroll event handler to the scroll element if it exists. * @param {Function} handler The scroll handler to add to the scroll element. * @returns {?Function} a function to remove the specified handler, otherwise * undefined if the scroll element doesn't exist. */ }, { key: "addScrollEventListener", value: function addScrollEventListener(handler) { var _this = this; if (!this.scrollElement) { return; } this.scrollElement.addEventListener('scroll', handler); return function () { _this.scrollElement.removeEventListener('scroll', handler); }; } }]); return Scroll; })(Ion); _export("Scroll", Scroll); _export("Scroll", Scroll = __decorate([Component({ selector: 'ion-scroll', inputs: ['scrollX', 'scrollY', 'zoom', 'maxZoom'], host: { '[class.scroll-x]': 'scrollX', '[class.scroll-y]': 'scrollY' }, template: '' + '
' + '' + '
' + '
' }), __metadata('design:paramtypes', [typeof (_a = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _a || Object, typeof (_b = typeof Config !== 'undefined' && Config) === 'function' && _b || Object])], Scroll)); } }; }); System.register("ionic/components/searchbar/searchbar", ["angular2/core", "angular2/common", "../ion", "../../config/config", "../icon/icon", "../button/button", "../../util/util"], function (_export) { /** * @private */ "use strict"; var ElementRef, Component, Directive, HostBinding, HostListener, ViewChild, Input, Output, EventEmitter, Optional, NgIf, NgClass, NgControl, FORM_DIRECTIVES, Ion, Config, Icon, Button, isDefined, __decorate, __metadata, __param, SearchbarInput, Searchbar, _a, _b, _c, _d, _e, _f, _g, _h, _j; var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { ElementRef = _angular2Core.ElementRef; Component = _angular2Core.Component; Directive = _angular2Core.Directive; HostBinding = _angular2Core.HostBinding; HostListener = _angular2Core.HostListener; ViewChild = _angular2Core.ViewChild; Input = _angular2Core.Input; Output = _angular2Core.Output; EventEmitter = _angular2Core.EventEmitter; Optional = _angular2Core.Optional; }, function (_angular2Common) { NgIf = _angular2Common.NgIf; NgClass = _angular2Common.NgClass; NgControl = _angular2Common.NgControl; FORM_DIRECTIVES = _angular2Common.FORM_DIRECTIVES; }, function (_ion) { Ion = _ion.Ion; }, function (_configConfig) { Config = _configConfig.Config; }, function (_iconIcon) { Icon = _iconIcon.Icon; }, function (_buttonButton) { Button = _buttonButton.Button; }, function (_utilUtil) { isDefined = _utilUtil.isDefined; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; SearchbarInput = (function () { function SearchbarInput(_elementRef) { _classCallCheck(this, SearchbarInput); this._elementRef = _elementRef; } _createClass(SearchbarInput, [{ key: "stopInput", value: function stopInput(ev) { event.preventDefault(); event.stopPropagation(); } }]); return SearchbarInput; })(); _export("SearchbarInput", SearchbarInput); __decorate([HostListener('input', ['$event']), __metadata('design:type', Function), __metadata('design:paramtypes', [Object]), __metadata('design:returntype', void 0)], SearchbarInput.prototype, "stopInput", null); _export("SearchbarInput", SearchbarInput = __decorate([Directive({ selector: '.searchbar-input' }), __metadata('design:paramtypes', [typeof (_a = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _a || Object])], SearchbarInput)); /** * @name Searchbar * @module ionic * @description * Manages the display of a Searchbar which can be used to search or filter items. * * @usage * ```html * * ``` * * @property {string} [cancelButtonText=Cancel] - Sets the cancel button text to the value passed in * @property {boolean} [hideCancelButton=false] - Hides the cancel button * @property {string} [placeholder=Search] - Sets input placeholder to the value passed in * * @property {Any} [input] - Expression to evaluate when the Searchbar input has changed including cleared * @property {Any} [keydown] - Expression to evaluate when a key is pushed down in the Searchbar input * @property {Any} [keypress] - Expression to evaluate when a character is inserted in the Searchbar input * @property {Any} [keyup] - Expression to evaluate when a key is released in the Searchbar input * @property {Any} [blur] - Expression to evaluate when the Searchbar input has blurred * @property {Any} [focus] - Expression to evaluate when the Searchbar input has focused * @property {Any} [cancel] - Expression to evaluate when the cancel button is clicked * @property {Any} [clear] - Expression to evaluate when the clear input button is clicked * * @see {@link /docs/v3/components#searchbar Searchbar Component Docs} */ Searchbar = (function (_Ion) { _inherits(Searchbar, _Ion); function Searchbar(_elementRef, _config, ngControl) { _classCallCheck(this, Searchbar); _get(Object.getPrototypeOf(Searchbar.prototype), "constructor", this).call(this, _elementRef, _config); this._elementRef = _elementRef; this._config = _config; /** * @private */ this.input = new EventEmitter(); /** * @private */ this.blur = new EventEmitter(); /** * @private */ this.focus = new EventEmitter(); /** * @private */ this.cancel = new EventEmitter(); /** * @private */ this.clear = new EventEmitter(); this.value = ''; this.blurInput = true; this.onChange = function (_) {}; this.onTouched = function () {}; // If the user passed a ngControl we need to set the valueAccessor if (ngControl) { ngControl.valueAccessor = this; } } /** * @private * On Initialization check for attributes */ _createClass(Searchbar, [{ key: "ngOnInit", value: function ngOnInit() { this.mode = this._config.get('mode'); var hideCancelButton = this.hideCancelButton; if (typeof hideCancelButton === 'string') { this.hideCancelButton = hideCancelButton === '' || hideCancelButton === 'true'; } this.cancelButtonText = this.cancelButtonText || 'Cancel'; this.placeholder = this.placeholder || 'Search'; if (this.ngModel) this.value = this.ngModel; this.onChange(this.value); this.shouldLeftAlign = this.value && this.value.trim() != ''; // Using querySelector instead of searchbarInput because at this point it doesn't exist this.inputElement = this._elementRef.nativeElement.querySelector('.searchbar-input'); this.searchIconElement = this._elementRef.nativeElement.querySelector('.searchbar-search-icon'); this.setElementLeft(); } /** * @private * After View Initialization check the value */ }, { key: "ngAfterViewInit", value: function ngAfterViewInit() { // If the user passes an undefined variable to ngModel this will warn // and set the value to an empty string if (!isDefined(this.value)) { console.warn('Searchbar was passed an undefined value in ngModel. Please make sure the variable is defined.'); this.value = ''; this.onChange(this.value); } } /** * @private * Determines whether or not to add style to the element * to center it properly (ios only) */ }, { key: "setElementLeft", value: function setElementLeft() { if (this.mode !== 'ios') return; if (this.shouldLeftAlign) { this.inputElement.removeAttribute("style"); this.searchIconElement.removeAttribute("style"); } else { this.addElementLeft(); } } /** * @private * Calculates the amount of padding/margin left for the elements * in order to center them based on the placeholder width */ }, { key: "addElementLeft", value: function addElementLeft() { // Create a dummy span to get the placeholder width var tempSpan = document.createElement('span'); tempSpan.innerHTML = this.placeholder; document.body.appendChild(tempSpan); // Get the width of the span then remove it var textWidth = tempSpan.offsetWidth; tempSpan.remove(); // Set the input padding left var inputLeft = "calc(50% - " + textWidth / 2 + "px)"; this.inputElement.style.paddingLeft = inputLeft; // Set the icon margin left var iconLeft = "calc(50% - " + (textWidth / 2 + this.searchIconElement.offsetWidth + 15) + "px)"; this.searchIconElement.style.marginLeft = iconLeft; } /** * @private * Update the Searchbar input value when the input changes */ }, { key: "inputChanged", value: function inputChanged(ev) { this.value = ev.target.value; this.onChange(this.value); this.input.emit(this); } /** * @private * Sets the Searchbar to focused and aligned left on input focus. */ }, { key: "inputFocused", value: function inputFocused() { this.focus.emit(this); this.isFocused = true; this.shouldLeftAlign = true; this.setElementLeft(); } /** * @private * Sets the Searchbar to not focused and checks if it should align left * based on whether there is a value in the searchbar or not. */ }, { key: "inputBlurred", value: function inputBlurred() { // blurInput determines if it should blur // if we are clearing the input we still want to stay focused in the input if (this.blurInput == false) { this.searchbarInput._elementRef.nativeElement.focus(); this.blurInput = true; return; } this.blur.emit(this); this.isFocused = false; this.shouldLeftAlign = this.value && this.value.trim() != ''; this.setElementLeft(); } /** * @private * Clears the input field and triggers the control change. */ }, { key: "clearInput", value: function clearInput() { this.clear.emit(this); this.value = ''; this.onChange(this.value); this.input.emit(this); this.blurInput = false; } /** * @private * Clears the input field and tells the input to blur since * the clearInput function doesn't want the input to blur * then calls the custom cancel function if the user passed one in. */ }, { key: "cancelSearchbar", value: function cancelSearchbar() { this.cancel.emit(this); this.clearInput(); this.blurInput = true; } /** * @private * Write a new value to the element. */ }, { key: "writeValue", value: function writeValue(value) { this.value = value; } /** * @private * Set the function to be called when the control receives a change event. */ }, { key: "registerOnChange", value: function registerOnChange(fn) { this.onChange = fn; } /** * @private * Set the function to be called when the control receives a touch event. */ }, { key: "registerOnTouched", value: function registerOnTouched(fn) { this.onTouched = fn; } }]); return Searchbar; })(Ion); _export("Searchbar", Searchbar); __decorate([ViewChild(SearchbarInput), __metadata('design:type', Object)], Searchbar.prototype, "searchbarInput", void 0); __decorate([Input(), __metadata('design:type', String)], Searchbar.prototype, "cancelButtonText", void 0); __decorate([Input(), __metadata('design:type', Object)], Searchbar.prototype, "hideCancelButton", void 0); __decorate([Input(), __metadata('design:type', String)], Searchbar.prototype, "placeholder", void 0); __decorate([Input(), __metadata('design:type', Object)], Searchbar.prototype, "ngModel", void 0); __decorate([Output(), __metadata('design:type', typeof (_b = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _b || Object)], Searchbar.prototype, "input", void 0); __decorate([Output(), __metadata('design:type', typeof (_c = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _c || Object)], Searchbar.prototype, "blur", void 0); __decorate([Output(), __metadata('design:type', typeof (_d = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _d || Object)], Searchbar.prototype, "focus", void 0); __decorate([Output(), __metadata('design:type', typeof (_e = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _e || Object)], Searchbar.prototype, "cancel", void 0); __decorate([Output(), __metadata('design:type', typeof (_f = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _f || Object)], Searchbar.prototype, "clear", void 0); __decorate([HostBinding('class.searchbar-focused'), __metadata('design:type', Object)], Searchbar.prototype, "isFocused", void 0); __decorate([HostBinding('class.searchbar-left-aligned'), __metadata('design:type', Object)], Searchbar.prototype, "shouldLeftAlign", void 0); _export("Searchbar", Searchbar = __decorate([Component({ selector: 'ion-searchbar', template: '
' + '' + '
' + '' + '' + '
' + '', directives: [FORM_DIRECTIVES, NgIf, NgClass, Icon, Button, SearchbarInput] }), __param(2, Optional()), __metadata('design:paramtypes', [typeof (_g = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _g || Object, typeof (_h = typeof Config !== 'undefined' && Config) === 'function' && _h || Object, typeof (_j = typeof NgControl !== 'undefined' && NgControl) === 'function' && _j || Object])], Searchbar)); } }; }); System.register("ionic/components/segment/segment", ["angular2/core", "angular2/common", "../../util/util"], function (_export) { /** * @name SegmentButton * @description * The child buttons of the `ion-segment` component. Each `ion-segment-button` must have a value. * @property {string} [value] - the value of the segment-button. Required. * @usage * ```html * * * Friends * * * Enemies * * *``` * * Or with `FormBuilder` * *```html *
* * * Standard * * * Hybrid * * * Satellite * * *
* ``` * * @property {Any} [click] - expression to evaluate when a segment button has been clicked * * @demo /docs/v3/demos/segment/ * @see {@link /docs/v3/components#segment Segment Component Docs} * @see {@link /docs/api/components/segment/Segment/ Segment API Docs} */ "use strict"; var Directive, ElementRef, Renderer, Optional, EventEmitter, Input, Output, HostListener, ContentChildren, NgControl, isDefined, __decorate, __metadata, __param, SegmentButton, Segment, _a, _b, _c, _d, _e; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Directive = _angular2Core.Directive; ElementRef = _angular2Core.ElementRef; Renderer = _angular2Core.Renderer; Optional = _angular2Core.Optional; EventEmitter = _angular2Core.EventEmitter; Input = _angular2Core.Input; Output = _angular2Core.Output; HostListener = _angular2Core.HostListener; ContentChildren = _angular2Core.ContentChildren; }, function (_angular2Common) { NgControl = _angular2Common.NgControl; }, function (_utilUtil) { isDefined = _utilUtil.isDefined; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; SegmentButton = (function () { function SegmentButton(_renderer, _elementRef) { _classCallCheck(this, SegmentButton); this._renderer = _renderer; this._elementRef = _elementRef; this.select = new EventEmitter(); } /** * @private * On click of a SegmentButton */ _createClass(SegmentButton, [{ key: "onClick", value: function onClick(ev) { console.debug('SegmentButton, select', this.value); this.select.emit(this); } }, { key: "ngOnInit", value: function ngOnInit() { if (!isDefined(this.value)) { console.warn(' requires a "value" attribute'); } } }, { key: "isActive", set: function set(isActive) { this._renderer.setElementClass(this._elementRef, 'segment-activated', isActive); this._renderer.setElementAttribute(this._elementRef, 'aria-pressed', isActive); } }]); return SegmentButton; })(); _export("SegmentButton", SegmentButton); __decorate([Input(), __metadata('design:type', String)], SegmentButton.prototype, "value", void 0); __decorate([Output(), __metadata('design:type', typeof (_a = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _a || Object)], SegmentButton.prototype, "select", void 0); __decorate([HostListener('click', ['$event']), __metadata('design:type', Function), __metadata('design:paramtypes', [Object]), __metadata('design:returntype', void 0)], SegmentButton.prototype, "onClick", null); _export("SegmentButton", SegmentButton = __decorate([Directive({ selector: 'ion-segment-button', host: { 'tappable': '', 'class': 'segment-button', 'role': 'button' } }), __metadata('design:paramtypes', [typeof (_b = typeof Renderer !== 'undefined' && Renderer) === 'function' && _b || Object, typeof (_c = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _c || Object])], SegmentButton)); /** * @name Segment * @description * A Segment is a group of buttons, sometimes known as Segmented Controls, that allow the user to interact with a compact group of a number of controls. * Segments provide functionality similar to tabs, selecting one will unselect all others. You should use a tab bar instead of a segmented control when you want to let the user move back and forth between distinct pages in your app. * You could use Angular 2's `ngModel` or `FormBuilder` API. For an overview on how `FormBuilder` works, checkout [Angular 2 Forms](http://learnangular2.com/forms/), or [Angular FormBuilder](https://angular.io/docs/ts/latest/api/common/FormBuilder-class.html) * * * @usage * ```html * * * Friends * * * Enemies * * *``` * * Or with `FormBuilder` * *```html *
* * * Standard * * * Hybrid * * * Satellite * * *
* ``` * * @property {Any} [change] - expression to evaluate when a segment button has been changed * * @demo /docs/v3/demos/segment/ * @see {@link /docs/v3/components#segment Segment Component Docs} * @see [Angular 2 Forms](http://learnangular2.com/forms/) */ Segment = (function () { function Segment(ngControl) { _classCallCheck(this, Segment); this.change = new EventEmitter(); this.onChange = function (_) {}; this.onTouched = function (_) {}; if (ngControl) { ngControl.valueAccessor = this; } } /** * @private * Write a new value to the element. */ _createClass(Segment, [{ key: "writeValue", value: function writeValue(value) { this.value = isDefined(value) ? value : ''; if (this._buttons) { var buttons = this._buttons.toArray(); var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = buttons[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var button = _step.value; button.isActive = button.value === this.value; } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator["return"]) { _iterator["return"](); } } finally { if (_didIteratorError) { throw _iteratorError; } } } } } /** * @private */ }, { key: "ngAfterViewInit", value: function ngAfterViewInit() { var _this = this; var buttons = this._buttons.toArray(); var _iteratorNormalCompletion2 = true; var _didIteratorError2 = false; var _iteratorError2 = undefined; try { for (var _iterator2 = buttons[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { var button = _step2.value; button.select.subscribe(function (selectedButton) { _this.writeValue(selectedButton.value); _this.onChange(selectedButton.value); _this.change.emit(selectedButton); }); if (isDefined(this.value)) { button.isActive = button.value === this.value; } } } catch (err) { _didIteratorError2 = true; _iteratorError2 = err; } finally { try { if (!_iteratorNormalCompletion2 && _iterator2["return"]) { _iterator2["return"](); } } finally { if (_didIteratorError2) { throw _iteratorError2; } } } } /** * @private * Set the function to be called when the control receives a change event. */ }, { key: "registerOnChange", value: function registerOnChange(fn) { this.onChange = fn; } /** * @private * Set the function to be called when the control receives a touch event. */ }, { key: "registerOnTouched", value: function registerOnTouched(fn) { this.onTouched = fn; } }]); return Segment; })(); _export("Segment", Segment); __decorate([ContentChildren(SegmentButton), __metadata('design:type', Object)], Segment.prototype, "_buttons", void 0); __decorate([Output(), __metadata('design:type', typeof (_d = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _d || Object)], Segment.prototype, "change", void 0); _export("Segment", Segment = __decorate([Directive({ selector: 'ion-segment' }), __param(0, Optional()), __metadata('design:paramtypes', [typeof (_e = typeof NgControl !== 'undefined' && NgControl) === 'function' && _e || Object])], Segment)); } }; }); System.register("ionic/components/show-hide-when/show-hide-when", ["angular2/core", "../../platform/platform"], function (_export) { /** * @private */ "use strict"; var Directive, Attribute, NgZone, Platform, __decorate, __metadata, __param, DisplayWhen, ShowWhen, HideWhen, _a, _b, _c, _d; var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } return { setters: [function (_angular2Core) { Directive = _angular2Core.Directive; Attribute = _angular2Core.Attribute; NgZone = _angular2Core.NgZone; }, function (_platformPlatform) { Platform = _platformPlatform.Platform; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; DisplayWhen = (function () { function DisplayWhen(conditions, platform, ngZone) { var _this = this; _classCallCheck(this, DisplayWhen); this.isMatch = false; this.platform = platform; if (!conditions) return; this.conditions = conditions.split(','); // check if its one of the matching platforms first // a platform does not change during the life of an app for (var i = 0; i < this.conditions.length; i++) { if (this.conditions[i] && platform.is(this.conditions[i])) { this.isMatch = true; return; } } if (this.orientation()) { // add window resize listener platform.onResize(function () { ngZone.run(function () { _this.orientation(); }); }); return; } } /** * * The `showWhen` attribute takes a string that represents a plaform or screen orientation. * The element the attribute is added to will only be shown when that platform or screen orientation is active. * Complements the [hideWhen attribute](../HideWhen). * @usage * ```html *
I am only visible on iOS!
* ``` * @demo /docs/v3/demos/show-when/ * @see {@link ../HideWhen HideWhen API Docs} */ _createClass(DisplayWhen, [{ key: "orientation", value: function orientation() { for (var i = 0; i < this.conditions.length; i++) { if (this.conditions[i] == 'portrait') { this.isMatch = this.platform.isPortrait(); return true; } if (this.conditions[i] == 'landscape') { this.isMatch = this.platform.isLandscape(); return true; } } } }]); return DisplayWhen; })(); _export("DisplayWhen", DisplayWhen); ShowWhen = (function (_DisplayWhen) { _inherits(ShowWhen, _DisplayWhen); function ShowWhen(showWhen, platform, ngZone) { _classCallCheck(this, ShowWhen); _get(Object.getPrototypeOf(ShowWhen.prototype), "constructor", this).call(this, showWhen, platform, ngZone); } /** * @private */ _createClass(ShowWhen, [{ key: "hidden", get: function get() { return !this.isMatch; } }]); return ShowWhen; })(DisplayWhen); _export("ShowWhen", ShowWhen); _export("ShowWhen", ShowWhen = __decorate([Directive({ selector: '[showWhen]', host: { '[hidden]': 'hidden' } }), __param(0, Attribute('showWhen')), __metadata('design:paramtypes', [String, typeof (_a = typeof Platform !== 'undefined' && Platform) === 'function' && _a || Object, typeof (_b = typeof NgZone !== 'undefined' && NgZone) === 'function' && _b || Object])], ShowWhen)); /** * * The `hideWhen` attribute takes a string that represents a plaform or screen orientation. * The element the attribute is added to will only be hidden when that platform or screen orientation is active. * Complements the [showWhen attribute](../ShowWhen). * @usage * ```html *
I am hidden on Android!
* ``` * @demo /docs/v3/demos/hide-when/ * @see {@link ../ShowWhen ShowWhen API Docs} */ HideWhen = (function (_DisplayWhen2) { _inherits(HideWhen, _DisplayWhen2); function HideWhen(hideWhen, platform, ngZone) { _classCallCheck(this, HideWhen); _get(Object.getPrototypeOf(HideWhen.prototype), "constructor", this).call(this, hideWhen, platform, ngZone); } /** * @private */ _createClass(HideWhen, [{ key: "hidden", get: function get() { return this.isMatch; } }]); return HideWhen; })(DisplayWhen); _export("HideWhen", HideWhen); _export("HideWhen", HideWhen = __decorate([Directive({ selector: '[hideWhen]', host: { '[hidden]': 'hidden' } }), __param(0, Attribute('hideWhen')), __metadata('design:paramtypes', [String, typeof (_c = typeof Platform !== 'undefined' && Platform) === 'function' && _c || Object, typeof (_d = typeof NgZone !== 'undefined' && NgZone) === 'function' && _d || Object])], HideWhen)); } }; }); System.register("ionic/components/slides/slides", ["angular2/core", "angular2/common", "../ion", "../../animations/animation", "../../gestures/gesture", "../../config/config", "../../util", "../../util/dom", "./swiper-widget"], function (_export) { /** * @name Slides * @description * Slides is a slide box implementation based on Swiper.js * * Swiper.js: * The most modern mobile touch slider and framework with hardware accelerated transitions * * http://www.idangero.us/swiper/ * * Copyright 2015, Vladimir Kharlampidi * The iDangero.us * http://www.idangero.us/ * * Licensed under MIT * * @usage * ```ts * @Page({ * template: ` * * *

Thank you for choosing the Awesome App!

*

* The number one app for everything awesome. *

*
* *

Using Awesome

*
*
Just three steps:
*
    *
  1. Be awesome
  2. *
  3. Stay awesome
  4. *
  5. There is no step 3
  6. *
*
*
* *

Any questions?

*
*
* ` *}) * *``` * @property {Boolean} [autoplay] - whether or not the slides should automatically change * @property {Boolean} [loop] - whether the slides should loop from the last slide back to the first * @property {Boolean} [bounce] - whether the slides should bounce * @property {Number} [index] - The slide index to start on * @property [pager] - add this property to enable the slide pager * @property {Any} [change] - expression to evaluate when a slide has been changed * @demo /docs/v3/demos/slides/ * @see {@link /docs/v3/components#slides Slides Component Docs} */ "use strict"; var Directive, Component, ElementRef, Host, EventEmitter, Output, NgClass, Ion, Animation, Gesture, Config, dom, util, CSS, Swiper, __decorate, __metadata, __param, Slides, Slide, SlideLazy, _a, _b, _c, _d, _e; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_angular2Core) { Directive = _angular2Core.Directive; Component = _angular2Core.Component; ElementRef = _angular2Core.ElementRef; Host = _angular2Core.Host; EventEmitter = _angular2Core.EventEmitter; Output = _angular2Core.Output; }, function (_angular2Common) { NgClass = _angular2Common.NgClass; }, function (_ion) { Ion = _ion.Ion; }, function (_animationsAnimation) { Animation = _animationsAnimation.Animation; }, function (_gesturesGesture) { Gesture = _gesturesGesture.Gesture; }, function (_configConfig) { Config = _configConfig.Config; }, function (_util) { dom = _util.dom; util = _util; }, function (_utilDom) { CSS = _utilDom.CSS; }, function (_swiperWidget) { Swiper = _swiperWidget.Swiper; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; Slides = (function (_Ion) { _inherits(Slides, _Ion); /** * @private * @param {ElementRef} elementRef TODO */ function Slides(elementRef, config) { var _this = this; _classCallCheck(this, Slides); _get(Object.getPrototypeOf(Slides.prototype), "constructor", this).call(this, elementRef, config); this.change = new EventEmitter(); this.rapidUpdate = util.debounce(function () { _this.update(); }, 10); console.warn("(slideChanged) deprecated. Use (change) to track slide changes."); } /** * @private */ _createClass(Slides, [{ key: "ngOnInit", value: function ngOnInit() { var _this2 = this; if (!this.options) { this.options = {}; } this.showPager = util.isTrueProperty(this.pager); var options = util.defaults({ loop: this.loop, pagination: '.swiper-pagination', paginationClickable: true, lazyLoading: true, preloadImages: false }, this.options); options.onTap = function (swiper, e) { _this2.onTap(swiper, e); return _this2.options.onTap && _this2.options.onTap(swiper, e); }; options.onClick = function (swiper, e) { _this2.onClick(swiper, e); return _this2.options.onClick && _this2.options.onClick(swiper, e); }; options.onDoubleTap = function (swiper, e) { _this2.onDoubleTap(swiper, e); return _this2.options.onDoubleTap && _this2.options.onDoubleTap(swiper, e); }; options.onTransitionStart = function (swiper, e) { _this2.onTransitionStart(swiper, e); return _this2.options.onTransitionStart && _this2.options.onTransitionStart(swiper, e); }; options.onTransitionEnd = function (swiper, e) { _this2.onTransitionEnd(swiper, e); return _this2.options.onTransitionEnd && _this2.options.onTransitionEnd(swiper, e); }; options.onSlideChangeStart = function (swiper) { return _this2.options.onSlideChangeStart && _this2.options.onSlideChangeStart(swiper); }; options.onSlideChangeEnd = function (swiper) { _this2.change.emit(swiper); return _this2.options.onSlideChangeEnd && _this2.options.onSlideChangeEnd(swiper); }; options.onLazyImageLoad = function (swiper, slide, img) { return _this2.options.onLazyImageLoad && _this2.options.onLazyImageLoad(swiper, slide, img); }; options.onLazyImageReady = function (swiper, slide, img) { return _this2.options.onLazyImageReady && _this2.options.onLazyImageReady(swiper, slide, img); }; var swiper = new Swiper(this.getNativeElement().children[0], options); this.slider = swiper; /* * TODO: Finish this if(util.isTrueProperty(this.zoom)) { this.enableZoom = true; setTimeout(() => { this.initZoom(); }) } */ } /** * @private */ }, { key: "onTap", value: function onTap(swiper, e) {} /** * @private */ }, { key: "onClick", value: function onClick(swiper, e) {} /** * @private */ }, { key: "onDoubleTap", value: function onDoubleTap(swiper, e) { this.toggleZoom(swiper, e); } /** * @private */ }, { key: "onLazyImageLoad", value: function onLazyImageLoad(swiper, slide, img) {} /** * @private */ }, { key: "onLazyImageReady", value: function onLazyImageReady(swiper, slide, img) {} /* nextButton(swiper, e) { } prevButton() { } indexButton() { } */ /** * @private */ }, { key: "initZoom", value: function initZoom() { var _this3 = this; this.zoomDuration = this.zoomDuration || 230; this.maxScale = this.zoomMax || 3; this.zoomElement = this.getNativeElement().children[0].children[0]; this.zoomElement && this.zoomElement.classList.add('ion-scroll-zoom'); this.zoomGesture = new Gesture(this.zoomElement); this.zoomGesture.listen(); this.scale = 1; this.zoomLastPosX = 0; this.zoomLastPosY = 0; var last_scale = undefined, startX = undefined, startY = undefined, posX = 0, posY = 0, zoomRect = undefined; this.viewportWidth = this.getNativeElement().offsetWidth; this.viewportHeight = this.getNativeElement().offsetHeight; this.zoomElement.addEventListener('touchstart', function (e) { _this3.onTouchStart(e); }); this.zoomElement.addEventListener('touchmove', function (e) { _this3.onTouchMove(e); }); this.zoomElement.addEventListener('touchend', function (e) { _this3.onTouchEnd(e); }); this.zoomGesture.on('pinchstart', function (e) { last_scale = _this3.scale; console.log('Last scale', e.scale); }); this.zoomGesture.on('pinch', function (e) { _this3.scale = Math.max(1, Math.min(last_scale * e.scale, 10)); console.log('Scaling', _this3.scale); _this3.zoomElement.style[CSS.transform] = 'scale(' + _this3.scale + ')'; zoomRect = _this3.zoomElement.getBoundingClientRect(); }); this.zoomGesture.on('pinchend', function (e) { //last_scale = Math.max(1, Math.min(last_scale * e.scale, 10)); if (_this3.scale > _this3.maxScale) { var za = new Animation(_this3.zoomElement).duration(_this3.zoomDuration).easing('linear').from('scale', _this3.scale).to('scale', _this3.maxScale); za.play(); _this3.scale = _this3.maxScale; } }); } /** * @private */ }, { key: "resetZoom", value: function resetZoom() { if (this.zoomElement) { this.zoomElement.parentElement.style[CSS.transform] = ''; this.zoomElement.style[CSS.transform] = 'scale(1)'; } this.scale = 1; this.zoomLastPosX = 0; this.zoomLastPosY = 0; } /** * @private */ }, { key: "toggleZoom", value: function toggleZoom(swiper, e) { console.log('Try toggle zoom'); if (!this.enableZoom) { return; } console.log('Toggling zoom', e); /* let x = e.pointers[0].clientX; let y = e.pointers[0].clientY; let mx = this.viewportWidth / 2; let my = this.viewportHeight / 2; let tx, ty; if(x > mx) { // Greater than half tx = -x; } else { // Less than or equal to half tx = (this.viewportWidth - x); } if(y > my) { ty = -y; } else { ty = y-my; } console.log(y); */ var zi = new Animation(this.touch.target.children[0]).duration(this.zoomDuration).easing('linear').fill('none'); var zw = new Animation(this.touch.target.children[0]).duration(this.zoomDuration).easing('linear'); var za = new Animation(); za.fill('none'); za.add(zi); //, zw); if (this.scale > 1) { // Zoom out //zw.fromTo('translateX', posX + 'px', '0px'); //zw.fromTo('translateY', posY + 'px', '0px'); zi.from('scale', this.scale); zi.to('scale', 1); za.play(); //posX = 0; //posY = 0; this.scale = 1; } else { // Zoom in //zw.fromTo('translateX', posX + 'px', tx + 'px'); //zw.fromTo('translateY', posY + 'px', ty + 'px'); zi.from('scale', this.scale); zi.to('scale', this.maxScale); za.play(); //posX = tx; //posY = ty; this.scale = this.maxScale; } } /** * @private */ }, { key: "onTransitionStart", value: function onTransitionStart(swiper) {} /** * @private */ }, { key: "onTransitionEnd", value: function onTransitionEnd(swiper) {} /** * @private */ }, { key: "onTouchStart", value: function onTouchStart(e) { console.log('Touch start', e); //TODO: Support mice as well var target = dom.closest(e.target, '.slide').children[0].children[0]; this.touch = { startX: e.touches[0].clientX, startY: e.touches[0].clientY, deltaX: 0, deltaY: 0, lastX: 0, lastY: 0, target: target.parentElement, zoomable: target, zoomableWidth: target.offsetWidth, zoomableHeight: target.offsetHeight }; console.log('Target', this.touch.target); //TODO: android prevent default } /** * @private */ }, { key: "onTouchMove", value: function onTouchMove(e) { this.touch.deltaX = e.touches[0].clientX - this.touch.startX; this.touch.deltaY = e.touches[0].clientY - this.touch.startY; // TODO: Make sure we need to transform (image is bigger than viewport) var zoomableScaledWidth = this.touch.zoomableWidth * this.scale; var zoomableScaledHeight = this.touch.zoomableHeight * this.scale; var x1 = Math.min(this.viewportWidth / 2 - zoomableScaledWidth / 2, 0); var x2 = -x1; var y1 = Math.min(this.viewportHeight / 2 - zoomableScaledHeight / 2, 0); var y2 = -y1; console.log('BOUNDS', x1, x2, y1, y2); if (this.scale <= 1) { return; } console.log('PAN', e); // Move image this.touch.x = this.touch.deltaX + this.touch.lastX; this.touch.y = this.touch.deltaY + this.touch.lastY; console.log(this.touch.x, this.touch.y); if (this.touch.x < x1) { console.log('OUT ON LEFT'); } if (this.touch.x > x2) { console.log('OUT ON RIGHT'); } if (this.touch.x > this.viewportWidth) {} else if (-this.touch.x > this.viewportWidth) {} else { console.log('TRANSFORM', this.touch.x, this.touch.y, this.touch.target); //this.touch.target.style[CSS.transform] = 'translateX(' + this.touch.x + 'px) translateY(' + this.touch.y + 'px)'; this.touch.target.style[CSS.transform] = 'translateX(' + this.touch.x + 'px) translateY(' + this.touch.y + 'px)'; e.preventDefault(); e.stopPropagation(); return false; } } /** * @private */ }, { key: "onTouchEnd", value: function onTouchEnd(e) { console.log('PANEND', e); if (this.scale > 1) { if (Math.abs(this.touch.x) > this.viewportWidth) { posX = posX > 0 ? this.viewportWidth - 1 : -(this.viewportWidth - 1); console.log('Setting on posx', this.touch.x); } /* if(posY > this.viewportHeight/2) { let z = new Animation(this.zoomElement.parentElement); z.fromTo('translateY', posY + 'px', Math.min(this.viewportHeight/2 + 30, posY)); z.play(); } else { let z = new Animation(this.zoomElement.parentElement); z.fromTo('translateY', posY + 'px', Math.max(this.viewportHeight/2 - 30, posY)); z.play(); } */ this.touch.lastX = this.touch.x; this.touch.lastY = this.touch.y; } } /** * @private * Update the underlying slider implementation. Call this if you've added or removed * child slides. */ }, { key: "update", value: function update() { var _this4 = this; setTimeout(function () { _this4.slider.update(); // Don't allow pager to show with > 10 slides if (_this4.slider.slides.length > 10) { _this4.showPager = false; } }); } /** * @private */ }, { key: "next", value: function next() { this.slider.slideNext(); } /** * @private */ }, { key: "prev", value: function prev() { this.slider.slidePrev(); } /** * @private */ }, { key: "getIndex", value: function getIndex() { return this.slider.activeIndex; } /** * @private */ }, { key: "getNumSlides", value: function getNumSlides() { return this.slider.slides.length; } /** * @private */ }, { key: "isAtEnd", value: function isAtEnd() { return this.slider.isEnd; } /** * @private */ }, { key: "isAtBeginning", value: function isAtBeginning() { return this.slider.isBeginning; } /** * @private */ }, { key: "getSliderWidget", value: function getSliderWidget() { return this.slider; } }]); return Slides; })(Ion); _export("Slides", Slides); __decorate([Output(), __metadata('design:type', typeof (_a = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _a || Object)], Slides.prototype, "change", void 0); _export("Slides", Slides = __decorate([Component({ selector: 'ion-slides', inputs: ['autoplay', 'loop', 'index', 'bounce', 'pager', 'options', 'zoom', 'zoomDuration', 'zoomMax'], template: '
' + '
' + '' + '
' + '
' + '
', directives: [NgClass] }), __metadata('design:paramtypes', [typeof (_b = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _b || Object, typeof (_c = typeof Config !== 'undefined' && Config) === 'function' && _c || Object])], Slides)); /** * @private */ Slide = /** * TODO * @param {Slides} slides The containing slidebox. * @param {ElementRef} elementRef TODO */ function Slide(elementRef, slides) { _classCallCheck(this, Slide); this.ele = elementRef.nativeElement; this.ele.classList.add('swiper-slide'); slides.rapidUpdate(); }; _export("Slide", Slide); _export("Slide", Slide = __decorate([Component({ selector: 'ion-slide', inputs: ['zoom'], template: '
' }), __param(1, Host()), __metadata('design:paramtypes', [typeof (_d = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _d || Object, Slides])], Slide)); /** * @private */ SlideLazy = function SlideLazy(elementRef) { _classCallCheck(this, SlideLazy); elementRef.getNativeElement().classList.add('swiper-lazy'); }; _export("SlideLazy", SlideLazy); _export("SlideLazy", SlideLazy = __decorate([Directive({ selector: 'slide-lazy' }), __metadata('design:paramtypes', [typeof (_e = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _e || Object])], SlideLazy)); } }; }); System.register('ionic/components/slides/swiper-widget',[],function(_export){ /** * Swiper 3.1.2 * Most modern mobile touch slider and framework with hardware accelerated transitions * * http://www.idangero.us/swiper/ * * Copyright 2015, Vladimir Kharlampidi * The iDangero.us * http://www.idangero.us/ * * Licensed under MIT * * Released on: August 22, 2015 */'use strict';var $,Dom7,swiperDomPlugins,i,domLib;_export('Swiper',Swiper); /*=========================== Swiper ===========================*/function Swiper(container,params){if(!(this instanceof Swiper))return new Swiper(container,params);var defaults={direction:'horizontal',touchEventsTarget:'container',initialSlide:0,speed:300, // autoplay autoplay:false,autoplayDisableOnInteraction:true, // To support iOS's swipe-to-go-back gesture (when being used in-app, with UIWebView). iOSEdgeSwipeDetection:false,iOSEdgeSwipeThreshold:20, // Free mode freeMode:false,freeModeMomentum:true,freeModeMomentumRatio:1,freeModeMomentumBounce:true,freeModeMomentumBounceRatio:1,freeModeSticky:false, // Set wrapper width setWrapperSize:false, // Virtual Translate virtualTranslate:false, // Effects effect:'slide',coverflow:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:true},cube:{slideShadows:true,shadow:true,shadowOffset:20,shadowScale:0.94},fade:{crossFade:false}, // Parallax parallax:false, // Scrollbar scrollbar:null,scrollbarHide:true, // Keyboard Mousewheel keyboardControl:false,mousewheelControl:false,mousewheelReleaseOnEdges:false,mousewheelInvert:false,mousewheelForceToAxis:false,mousewheelSensitivity:1, // Hash Navigation hashnav:false, // Slides grid spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:'column',slidesPerGroup:1,centeredSlides:false,slidesOffsetBefore:0,slidesOffsetAfter:0, // Round length roundLengths:false, // Touches touchRatio:1,touchAngle:45,simulateTouch:true,shortSwipes:true,longSwipes:true,longSwipesRatio:0.5,longSwipesMs:300,followFinger:true,onlyExternal:false,threshold:0,touchMoveStopPropagation:true, // Pagination pagination:null,paginationElement:'span',paginationClickable:false,paginationHide:false,paginationBulletRender:null, // Resistance resistance:true,resistanceRatio:0.85, // Next/prev buttons nextButton:null,prevButton:null, // Progress watchSlidesProgress:false,watchSlidesVisibility:false, // Cursor grabCursor:false, // Clicks preventClicks:true,preventClicksPropagation:true,slideToClickedSlide:false, // Lazy Loading lazyLoading:false,lazyLoadingInPrevNext:false,lazyLoadingOnTransitionStart:false, // Images preloadImages:true,updateOnImagesReady:true, // loop loop:false,loopAdditionalSlides:0,loopedSlides:null, // Control control:undefined,controlInverse:false,controlBy:'slide', // Swiping/no swiping allowSwipeToPrev:true,allowSwipeToNext:true,swipeHandler:null,noSwiping:true,noSwipingClass:'swiper-no-swiping', // NS slideClass:'swiper-slide',slideActiveClass:'swiper-slide-active',slideVisibleClass:'swiper-slide-visible',slideDuplicateClass:'swiper-slide-duplicate',slideNextClass:'swiper-slide-next',slidePrevClass:'swiper-slide-prev',wrapperClass:'swiper-wrapper',bulletClass:'swiper-pagination-bullet',bulletActiveClass:'swiper-pagination-bullet-active',buttonDisabledClass:'swiper-button-disabled',paginationHiddenClass:'swiper-pagination-hidden', // Observer observer:false,observeParents:false, // Accessibility a11y:false,prevSlideMessage:'Previous slide',nextSlideMessage:'Next slide',firstSlideMessage:'This is the first slide',lastSlideMessage:'This is the last slide',paginationBulletMessage:'Go to slide {{index}}', // Callbacks runCallbacksOnInit:true};var initialVirtualTranslate=params && params.virtualTranslate;params = params || {};for(var def in defaults) {if(typeof params[def] === 'undefined'){params[def] = defaults[def];}else if(typeof params[def] === 'object'){for(var deepDef in defaults[def]) {if(typeof params[def][deepDef] === 'undefined'){params[def][deepDef] = defaults[def][deepDef];}}}} // Swiper var s=this; // Version s.version = '3.1.0'; // Params s.params = params; // Classname s.classNames = []; /*========================= Dom Library and plugins ===========================*/if(typeof $ !== 'undefined' && typeof Dom7 !== 'undefined'){$ = Dom7;}if(typeof $ === 'undefined'){if(typeof Dom7 === 'undefined'){$ = window.Dom7 || window.Zepto || window.jQuery;}else {$ = Dom7;}if(!$)return;} // Export it to Swiper instance s.$ = $; /*========================= Preparation - Define Container, Wrapper and Pagination ===========================*/s.container = $(container);if(s.container.length === 0)return;if(s.container.length > 1){s.container.each(function(){new Swiper(this,params);});return;} // Save instance in container HTML Element and in data s.container[0].swiper = s;s.container.data('swiper',s);s.classNames.push('swiper-container-' + s.params.direction);if(s.params.freeMode){s.classNames.push('swiper-container-free-mode');}if(!s.support.flexbox){s.classNames.push('swiper-container-no-flexbox');s.params.slidesPerColumn = 1;} // Enable slides progress when required if(s.params.parallax || s.params.watchSlidesVisibility){s.params.watchSlidesProgress = true;} // Coverflow / 3D if(['cube','coverflow'].indexOf(s.params.effect) >= 0){if(s.support.transforms3d){s.params.watchSlidesProgress = true;s.classNames.push('swiper-container-3d');}else {s.params.effect = 'slide';}}if(s.params.effect !== 'slide'){s.classNames.push('swiper-container-' + s.params.effect);}if(s.params.effect === 'cube'){s.params.resistanceRatio = 0;s.params.slidesPerView = 1;s.params.slidesPerColumn = 1;s.params.slidesPerGroup = 1;s.params.centeredSlides = false;s.params.spaceBetween = 0;s.params.virtualTranslate = true;s.params.setWrapperSize = false;}if(s.params.effect === 'fade'){s.params.slidesPerView = 1;s.params.slidesPerColumn = 1;s.params.slidesPerGroup = 1;s.params.watchSlidesProgress = true;s.params.spaceBetween = 0;if(typeof initialVirtualTranslate === 'undefined'){s.params.virtualTranslate = true;}} // Grab Cursor if(s.params.grabCursor && s.support.touch){s.params.grabCursor = false;} // Wrapper s.wrapper = s.container.children('.' + s.params.wrapperClass); // Pagination if(s.params.pagination){s.paginationContainer = $(s.params.pagination);if(s.params.paginationClickable){s.paginationContainer.addClass('swiper-pagination-clickable');}} // Is Horizontal function isH(){return s.params.direction === 'horizontal';} // RTL s.rtl = isH() && (s.container[0].dir.toLowerCase() === 'rtl' || s.container.css('direction') === 'rtl');if(s.rtl){s.classNames.push('swiper-container-rtl');} // Wrong RTL support if(s.rtl){s.wrongRTL = s.wrapper.css('display') === '-webkit-box';} // Columns if(s.params.slidesPerColumn > 1){s.classNames.push('swiper-container-multirow');} // Check for Android if(s.device.android){s.classNames.push('swiper-container-android');} // Add classes s.container.addClass(s.classNames.join(' ')); // Translate s.translate = 0; // Progress s.progress = 0; // Velocity s.velocity = 0; /*========================= Locks, unlocks ===========================*/s.lockSwipeToNext = function(){s.params.allowSwipeToNext = false;};s.lockSwipeToPrev = function(){s.params.allowSwipeToPrev = false;};s.lockSwipes = function(){s.params.allowSwipeToNext = s.params.allowSwipeToPrev = false;};s.unlockSwipeToNext = function(){s.params.allowSwipeToNext = true;};s.unlockSwipeToPrev = function(){s.params.allowSwipeToPrev = true;};s.unlockSwipes = function(){s.params.allowSwipeToNext = s.params.allowSwipeToPrev = true;}; /*========================= Round helper ===========================*/function round(a){return Math.floor(a);} /*========================= Set grab cursor ===========================*/if(s.params.grabCursor){s.container[0].style.cursor = 'move';s.container[0].style.cursor = '-webkit-grab';s.container[0].style.cursor = '-moz-grab';s.container[0].style.cursor = 'grab';} /*========================= Update on Images Ready ===========================*/s.imagesToLoad = [];s.imagesLoaded = 0;s.loadImage = function(imgElement,src,checkForComplete,callback){var image;function onReady(){if(callback)callback();}if(!imgElement.complete || !checkForComplete){if(src){image = new window.Image();image.onload = onReady;image.onerror = onReady;image.src = src;}else {onReady();}}else {onReady();}};s.preloadImages = function(){s.imagesToLoad = s.container.find('img');function _onReady(){if(typeof s === 'undefined' || s === null)return;if(s.imagesLoaded !== undefined)s.imagesLoaded++;if(s.imagesLoaded === s.imagesToLoad.length){if(s.params.updateOnImagesReady)s.update();s.emit('onImagesReady',s);}}for(var i=0;i < s.imagesToLoad.length;i++) {s.loadImage(s.imagesToLoad[i],s.imagesToLoad[i].currentSrc || s.imagesToLoad[i].getAttribute('src'),true,_onReady);}}; /*========================= Autoplay ===========================*/s.autoplayTimeoutId = undefined;s.autoplaying = false;s.autoplayPaused = false;function autoplay(){s.autoplayTimeoutId = setTimeout(function(){if(s.params.loop){s.fixLoop();s._slideNext();}else {if(!s.isEnd){s._slideNext();}else {if(!params.autoplayStopOnLast){s._slideTo(0);}else {s.stopAutoplay();}}}},s.params.autoplay);}s.startAutoplay = function(){if(typeof s.autoplayTimeoutId !== 'undefined')return false;if(!s.params.autoplay)return false;if(s.autoplaying)return false;s.autoplaying = true;s.emit('onAutoplayStart',s);autoplay();};s.stopAutoplay = function(internal){if(!s.autoplayTimeoutId)return;if(s.autoplayTimeoutId)clearTimeout(s.autoplayTimeoutId);s.autoplaying = false;s.autoplayTimeoutId = undefined;s.emit('onAutoplayStop',s);};s.pauseAutoplay = function(speed){if(s.autoplayPaused)return;if(s.autoplayTimeoutId)clearTimeout(s.autoplayTimeoutId);s.autoplayPaused = true;if(speed === 0){s.autoplayPaused = false;autoplay();}else {s.wrapper.transitionEnd(function(){if(!s)return;s.autoplayPaused = false;if(!s.autoplaying){s.stopAutoplay();}else {autoplay();}});}}; /*========================= Min/Max Translate ===========================*/s.minTranslate = function(){return -s.snapGrid[0];};s.maxTranslate = function(){return -s.snapGrid[s.snapGrid.length - 1];}; /*========================= Slider/slides sizes ===========================*/s.updateContainerSize = function(){var width,height;if(typeof s.params.width !== 'undefined'){width = s.params.width;}else {width = s.container[0].clientWidth;}if(typeof s.params.height !== 'undefined'){height = s.params.height;}else {height = s.container[0].clientHeight;}if(width === 0 && isH() || height === 0 && !isH()){return;} //Subtract paddings width = width - parseInt(s.container.css('padding-left'),10) - parseInt(s.container.css('padding-right'),10);height = height - parseInt(s.container.css('padding-top'),10) - parseInt(s.container.css('padding-bottom'),10); // Store values s.width = width;s.height = height;s.size = isH()?s.width:s.height;};s.updateSlidesSize = function(){s.slides = s.wrapper.children('.' + s.params.slideClass);s.snapGrid = [];s.slidesGrid = [];s.slidesSizesGrid = [];var spaceBetween=s.params.spaceBetween,slidePosition=-s.params.slidesOffsetBefore,i,prevSlideSize=0,index=0;if(typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0){spaceBetween = parseFloat(spaceBetween.replace('%','')) / 100 * s.size;}s.virtualSize = -spaceBetween; // reset margins if(s.rtl)s.slides.css({marginLeft:'',marginTop:''});else s.slides.css({marginRight:'',marginBottom:''});var slidesNumberEvenToRows;if(s.params.slidesPerColumn > 1){if(Math.floor(s.slides.length / s.params.slidesPerColumn) === s.slides.length / s.params.slidesPerColumn){slidesNumberEvenToRows = s.slides.length;}else {slidesNumberEvenToRows = Math.ceil(s.slides.length / s.params.slidesPerColumn) * s.params.slidesPerColumn;}} // Calc slides var slideSize;var slidesPerColumn=s.params.slidesPerColumn;var slidesPerRow=slidesNumberEvenToRows / slidesPerColumn;var numFullColumns=slidesPerRow - (s.params.slidesPerColumn * slidesPerRow - s.slides.length);for(i = 0;i < s.slides.length;i++) {slideSize = 0;var slide=s.slides.eq(i);if(s.params.slidesPerColumn > 1){ // Set slides order var newSlideOrderIndex;var column,row;if(s.params.slidesPerColumnFill === 'column'){column = Math.floor(i / slidesPerColumn);row = i - column * slidesPerColumn;if(column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1){if(++row >= slidesPerColumn){row = 0;column++;}}newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;slide.css({'-webkit-box-ordinal-group':newSlideOrderIndex,'-moz-box-ordinal-group':newSlideOrderIndex,'-ms-flex-order':newSlideOrderIndex,'-webkit-order':newSlideOrderIndex,'order':newSlideOrderIndex});}else {row = Math.floor(i / slidesPerRow);column = i - row * slidesPerRow;}slide.css({'margin-top':row !== 0 && s.params.spaceBetween && s.params.spaceBetween + 'px'}).attr('data-swiper-column',column).attr('data-swiper-row',row);}if(slide.css('display') === 'none')continue;if(s.params.slidesPerView === 'auto'){slideSize = isH()?slide.outerWidth(true):slide.outerHeight(true);if(s.params.roundLengths)slideSize = round(slideSize);}else {slideSize = (s.size - (s.params.slidesPerView - 1) * spaceBetween) / s.params.slidesPerView;if(s.params.roundLengths)slideSize = round(slideSize);if(isH()){s.slides[i].style.width = slideSize + 'px';}else {s.slides[i].style.height = slideSize + 'px';}}s.slides[i].swiperSlideSize = slideSize;s.slidesSizesGrid.push(slideSize);if(s.params.centeredSlides){slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;if(i === 0)slidePosition = slidePosition - s.size / 2 - spaceBetween;if(Math.abs(slidePosition) < 1 / 1000)slidePosition = 0;if(index % s.params.slidesPerGroup === 0)s.snapGrid.push(slidePosition);s.slidesGrid.push(slidePosition);}else {if(index % s.params.slidesPerGroup === 0)s.snapGrid.push(slidePosition);s.slidesGrid.push(slidePosition);slidePosition = slidePosition + slideSize + spaceBetween;}s.virtualSize += slideSize + spaceBetween;prevSlideSize = slideSize;index++;}s.virtualSize = Math.max(s.virtualSize,s.size) + s.params.slidesOffsetAfter;var newSlidesGrid;if(s.rtl && s.wrongRTL && (s.params.effect === 'slide' || s.params.effect === 'coverflow')){s.wrapper.css({width:s.virtualSize + s.params.spaceBetween + 'px'});}if(!s.support.flexbox || s.params.setWrapperSize){if(isH())s.wrapper.css({width:s.virtualSize + s.params.spaceBetween + 'px'});else s.wrapper.css({height:s.virtualSize + s.params.spaceBetween + 'px'});}if(s.params.slidesPerColumn > 1){s.virtualSize = (slideSize + s.params.spaceBetween) * slidesNumberEvenToRows;s.virtualSize = Math.ceil(s.virtualSize / s.params.slidesPerColumn) - s.params.spaceBetween;s.wrapper.css({width:s.virtualSize + s.params.spaceBetween + 'px'});if(s.params.centeredSlides){newSlidesGrid = [];for(i = 0;i < s.snapGrid.length;i++) {if(s.snapGrid[i] < s.virtualSize + s.snapGrid[0])newSlidesGrid.push(s.snapGrid[i]);}s.snapGrid = newSlidesGrid;}} // Remove last grid elements depending on width if(!s.params.centeredSlides){newSlidesGrid = [];for(i = 0;i < s.snapGrid.length;i++) {if(s.snapGrid[i] <= s.virtualSize - s.size){newSlidesGrid.push(s.snapGrid[i]);}}s.snapGrid = newSlidesGrid;if(Math.floor(s.virtualSize - s.size) > Math.floor(s.snapGrid[s.snapGrid.length - 1])){s.snapGrid.push(s.virtualSize - s.size);}}if(s.snapGrid.length === 0)s.snapGrid = [0];if(s.params.spaceBetween !== 0){if(isH()){if(s.rtl)s.slides.css({marginLeft:spaceBetween + 'px'});else s.slides.css({marginRight:spaceBetween + 'px'});}else s.slides.css({marginBottom:spaceBetween + 'px'});}if(s.params.watchSlidesProgress){s.updateSlidesOffset();}};s.updateSlidesOffset = function(){for(var i=0;i < s.slides.length;i++) {s.slides[i].swiperSlideOffset = isH()?s.slides[i].offsetLeft:s.slides[i].offsetTop;}}; /*========================= Slider/slides progress ===========================*/s.updateSlidesProgress = function(translate){if(typeof translate === 'undefined'){translate = s.translate || 0;}if(s.slides.length === 0)return;if(typeof s.slides[0].swiperSlideOffset === 'undefined')s.updateSlidesOffset();var offsetCenter=-translate;if(s.rtl)offsetCenter = translate; // Visible Slides var containerBox=s.container[0].getBoundingClientRect();var sideBefore=isH()?'left':'top';var sideAfter=isH()?'right':'bottom';s.slides.removeClass(s.params.slideVisibleClass);for(var i=0;i < s.slides.length;i++) {var slide=s.slides[i];var slideProgress=(offsetCenter - slide.swiperSlideOffset) / (slide.swiperSlideSize + s.params.spaceBetween);if(s.params.watchSlidesVisibility){var slideBefore=-(offsetCenter - slide.swiperSlideOffset);var slideAfter=slideBefore + s.slidesSizesGrid[i];var isVisible=slideBefore >= 0 && slideBefore < s.size || slideAfter > 0 && slideAfter <= s.size || slideBefore <= 0 && slideAfter >= s.size;if(isVisible){s.slides.eq(i).addClass(s.params.slideVisibleClass);}}slide.progress = s.rtl?-slideProgress:slideProgress;}};s.updateProgress = function(translate){if(typeof translate === 'undefined'){translate = s.translate || 0;}var translatesDiff=s.maxTranslate() - s.minTranslate();if(translatesDiff === 0){s.progress = 0;s.isBeginning = s.isEnd = true;}else {s.progress = (translate - s.minTranslate()) / translatesDiff;s.isBeginning = s.progress <= 0;s.isEnd = s.progress >= 1;}if(s.isBeginning)s.emit('onReachBeginning',s);if(s.isEnd)s.emit('onReachEnd',s);if(s.params.watchSlidesProgress)s.updateSlidesProgress(translate);s.emit('onProgress',s,s.progress);};s.updateActiveIndex = function(){var translate=s.rtl?s.translate:-s.translate;var newActiveIndex,i,snapIndex;for(i = 0;i < s.slidesGrid.length;i++) {if(typeof s.slidesGrid[i + 1] !== 'undefined'){if(translate >= s.slidesGrid[i] && translate < s.slidesGrid[i + 1] - (s.slidesGrid[i + 1] - s.slidesGrid[i]) / 2){newActiveIndex = i;}else if(translate >= s.slidesGrid[i] && translate < s.slidesGrid[i + 1]){newActiveIndex = i + 1;}}else {if(translate >= s.slidesGrid[i]){newActiveIndex = i;}}} // Normalize slideIndex if(newActiveIndex < 0 || typeof newActiveIndex === 'undefined')newActiveIndex = 0; // for (i = 0; i < s.slidesGrid.length; i++) { // if (- translate >= s.slidesGrid[i]) { // newActiveIndex = i; // } // } snapIndex = Math.floor(newActiveIndex / s.params.slidesPerGroup);if(snapIndex >= s.snapGrid.length)snapIndex = s.snapGrid.length - 1;if(newActiveIndex === s.activeIndex){return;}s.snapIndex = snapIndex;s.previousIndex = s.activeIndex;s.activeIndex = newActiveIndex;s.updateClasses();}; /*========================= Classes ===========================*/s.updateClasses = function(){s.slides.removeClass(s.params.slideActiveClass + ' ' + s.params.slideNextClass + ' ' + s.params.slidePrevClass);var activeSlide=s.slides.eq(s.activeIndex); // Active classes activeSlide.addClass(s.params.slideActiveClass);activeSlide.next('.' + s.params.slideClass).addClass(s.params.slideNextClass);activeSlide.prev('.' + s.params.slideClass).addClass(s.params.slidePrevClass); // Pagination if(s.bullets && s.bullets.length > 0){s.bullets.removeClass(s.params.bulletActiveClass);var bulletIndex;if(s.params.loop){bulletIndex = Math.ceil(s.activeIndex - s.loopedSlides) / s.params.slidesPerGroup;if(bulletIndex > s.slides.length - 1 - s.loopedSlides * 2){bulletIndex = bulletIndex - (s.slides.length - s.loopedSlides * 2);}if(bulletIndex > s.bullets.length - 1)bulletIndex = bulletIndex - s.bullets.length;}else {if(typeof s.snapIndex !== 'undefined'){bulletIndex = s.snapIndex;}else {bulletIndex = s.activeIndex || 0;}}if(s.paginationContainer.length > 1){s.bullets.each(function(){if($(this).index() === bulletIndex)$(this).addClass(s.params.bulletActiveClass);});}else {s.bullets.eq(bulletIndex).addClass(s.params.bulletActiveClass);}} // Next/active buttons if(!s.params.loop){if(s.params.prevButton){if(s.isBeginning){$(s.params.prevButton).addClass(s.params.buttonDisabledClass);if(s.params.a11y && s.a11y)s.a11y.disable($(s.params.prevButton));}else {$(s.params.prevButton).removeClass(s.params.buttonDisabledClass);if(s.params.a11y && s.a11y)s.a11y.enable($(s.params.prevButton));}}if(s.params.nextButton){if(s.isEnd){$(s.params.nextButton).addClass(s.params.buttonDisabledClass);if(s.params.a11y && s.a11y)s.a11y.disable($(s.params.nextButton));}else {$(s.params.nextButton).removeClass(s.params.buttonDisabledClass);if(s.params.a11y && s.a11y)s.a11y.enable($(s.params.nextButton));}}}}; /*========================= Pagination ===========================*/s.updatePagination = function(){if(!s.params.pagination)return;if(s.paginationContainer && s.paginationContainer.length > 0){var bulletsHTML='';var numberOfBullets=s.params.loop?Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup):s.snapGrid.length;for(var i=0;i < numberOfBullets;i++) {if(s.params.paginationBulletRender){bulletsHTML += s.params.paginationBulletRender(i,s.params.bulletClass);}else {bulletsHTML += '<' + s.params.paginationElement + ' class="' + s.params.bulletClass + '">';}}s.paginationContainer.html(bulletsHTML);s.bullets = s.paginationContainer.find('.' + s.params.bulletClass);if(s.params.paginationClickable && s.params.a11y && s.a11y){s.a11y.initPagination();}}}; /*========================= Common update method ===========================*/s.update = function(updateTranslate){s.updateContainerSize();s.updateSlidesSize();s.updateProgress();s.updatePagination();s.updateClasses();if(s.params.scrollbar && s.scrollbar){s.scrollbar.set();}function forceSetTranslate(){newTranslate = Math.min(Math.max(s.translate,s.maxTranslate()),s.minTranslate());s.setWrapperTranslate(newTranslate);s.updateActiveIndex();s.updateClasses();}if(updateTranslate){var translated,newTranslate;if(s.controller && s.controller.spline){s.controller.spline = undefined;}if(s.params.freeMode){forceSetTranslate();}else {if((s.params.slidesPerView === 'auto' || s.params.slidesPerView > 1) && s.isEnd && !s.params.centeredSlides){translated = s.slideTo(s.slides.length - 1,0,false,true);}else {translated = s.slideTo(s.activeIndex,0,false,true);}if(!translated){forceSetTranslate();}}}}; /*========================= Resize Handler ===========================*/s.onResize = function(forceUpdatePagination){ // Disable locks on resize var allowSwipeToPrev=s.params.allowSwipeToPrev;var allowSwipeToNext=s.params.allowSwipeToNext;s.params.allowSwipeToPrev = s.params.allowSwipeToNext = true;s.updateContainerSize();s.updateSlidesSize();if(s.params.slidesPerView === 'auto' || s.params.freeMode || forceUpdatePagination)s.updatePagination();if(s.params.scrollbar && s.scrollbar){s.scrollbar.set();}if(s.controller && s.controller.spline){s.controller.spline = undefined;}if(s.params.freeMode){var newTranslate=Math.min(Math.max(s.translate,s.maxTranslate()),s.minTranslate());s.setWrapperTranslate(newTranslate);s.updateActiveIndex();s.updateClasses();}else {s.updateClasses();if((s.params.slidesPerView === 'auto' || s.params.slidesPerView > 1) && s.isEnd && !s.params.centeredSlides){s.slideTo(s.slides.length - 1,0,false,true);}else {s.slideTo(s.activeIndex,0,false,true);}} // Return locks after resize s.params.allowSwipeToPrev = allowSwipeToPrev;s.params.allowSwipeToNext = allowSwipeToNext;}; /*========================= Events ===========================*/ //Define Touch Events var desktopEvents=['mousedown','mousemove','mouseup'];if(window.navigator.pointerEnabled)desktopEvents = ['pointerdown','pointermove','pointerup'];else if(window.navigator.msPointerEnabled)desktopEvents = ['MSPointerDown','MSPointerMove','MSPointerUp'];s.touchEvents = {start:s.support.touch || !s.params.simulateTouch?'touchstart':desktopEvents[0],move:s.support.touch || !s.params.simulateTouch?'touchmove':desktopEvents[1],end:s.support.touch || !s.params.simulateTouch?'touchend':desktopEvents[2]}; // WP8 Touch Events Fix if(window.navigator.pointerEnabled || window.navigator.msPointerEnabled){(s.params.touchEventsTarget === 'container'?s.container:s.wrapper).addClass('swiper-wp8-' + s.params.direction);} // Attach/detach events s.initEvents = function(detach){console.debug('swiper initEvents',detach?'detach':'attach');var actionDom=detach?'off':'on';var action=detach?'removeEventListener':'addEventListener';var touchEventsTarget=s.params.touchEventsTarget === 'container'?s.container[0]:s.wrapper[0];var target=s.support.touch?touchEventsTarget:document;var moveCapture=s.params.nested?true:false; //Touch Events if(s.browser.ie){touchEventsTarget[action](s.touchEvents.start,s.onTouchStart,false);target[action](s.touchEvents.move,s.onTouchMove,moveCapture);target[action](s.touchEvents.end,s.onTouchEnd,false);}else {if(s.support.touch){touchEventsTarget[action](s.touchEvents.start,s.onTouchStart,false);touchEventsTarget[action](s.touchEvents.move,s.onTouchMove,moveCapture);touchEventsTarget[action](s.touchEvents.end,s.onTouchEnd,false);}if(params.simulateTouch && !s.device.ios && !s.device.android){touchEventsTarget[action]('mousedown',s.onTouchStart,false);document[action]('mousemove',s.onTouchMove,moveCapture);document[action]('mouseup',s.onTouchEnd,false);}}window[action]('resize',s.onResize); // Next, Prev, Index if(s.params.nextButton){$(s.params.nextButton)[actionDom]('click',s.onClickNext);if(s.params.a11y && s.a11y)$(s.params.nextButton)[actionDom]('keydown',s.a11y.onEnterKey);}if(s.params.prevButton){$(s.params.prevButton)[actionDom]('click',s.onClickPrev);if(s.params.a11y && s.a11y)$(s.params.prevButton)[actionDom]('keydown',s.a11y.onEnterKey);}if(s.params.pagination && s.params.paginationClickable){$(s.paginationContainer)[actionDom]('click','.' + s.params.bulletClass,s.onClickIndex);if(s.params.a11y && s.a11y)$(s.paginationContainer)[actionDom]('keydown','.' + s.params.bulletClass,s.a11y.onEnterKey);} // Prevent Links Clicks if(s.params.preventClicks || s.params.preventClicksPropagation)touchEventsTarget[action]('click',s.preventClicks,true);};s.attachEvents = function(detach){s.initEvents();};s.detachEvents = function(){s.initEvents(true);}; /*========================= Handle Clicks ===========================*/ // Prevent Clicks s.allowClick = true;s.preventClicks = function(e){if(!s.allowClick){if(s.params.preventClicks)e.preventDefault();if(s.params.preventClicksPropagation && s.animating){e.stopPropagation();e.stopImmediatePropagation();}}}; // Clicks s.onClickNext = function(e){e.preventDefault();if(s.isEnd && !s.params.loop)return;s.slideNext();};s.onClickPrev = function(e){e.preventDefault();if(s.isBeginning && !s.params.loop)return;s.slidePrev();};s.onClickIndex = function(e){e.preventDefault();var index=$(this).index() * s.params.slidesPerGroup;if(s.params.loop)index = index + s.loopedSlides;s.slideTo(index);}; /*========================= Handle Touches ===========================*/function findElementInEvent(e,selector){var el=$(e.target);if(!el.is(selector)){if(typeof selector === 'string'){el = el.parents(selector);}else if(selector.nodeType){var found;el.parents().each(function(index,_el){if(_el === selector)found = selector;});if(!found)return undefined;else return selector;}}if(el.length === 0){return undefined;}return el[0];}s.updateClickedSlide = function(e){var slide=findElementInEvent(e,'.' + s.params.slideClass);var slideFound=false;if(slide){for(var i=0;i < s.slides.length;i++) {if(s.slides[i] === slide)slideFound = true;}}if(slide && slideFound){s.clickedSlide = slide;s.clickedIndex = $(slide).index();}else {s.clickedSlide = undefined;s.clickedIndex = undefined;return;}if(s.params.slideToClickedSlide && s.clickedIndex !== undefined && s.clickedIndex !== s.activeIndex){var slideToIndex=s.clickedIndex,realIndex;if(s.params.loop){realIndex = $(s.clickedSlide).attr('data-swiper-slide-index');if(slideToIndex > s.slides.length - s.params.slidesPerView){s.fixLoop();slideToIndex = s.wrapper.children('.' + s.params.slideClass + '[data-swiper-slide-index="' + realIndex + '"]').eq(0).index();setTimeout(function(){s.slideTo(slideToIndex);},0);}else if(slideToIndex < s.params.slidesPerView - 1){s.fixLoop();var duplicatedSlides=s.wrapper.children('.' + s.params.slideClass + '[data-swiper-slide-index="' + realIndex + '"]');slideToIndex = duplicatedSlides.eq(duplicatedSlides.length - 1).index();setTimeout(function(){s.slideTo(slideToIndex);},0);}else {s.slideTo(slideToIndex);}}else {s.slideTo(slideToIndex);}}};var isTouched,isMoved,touchStartTime,isScrolling,currentTranslate,startTranslate,allowThresholdMove, // Form elements to match formElements='input, select, textarea, button', // Last click time lastClickTime=Date.now(),clickTimeout, //Velocities velocities=[],allowMomentumBounce; // Animating Flag s.animating = false; // Touches information s.touches = {startX:0,startY:0,currentX:0,currentY:0,diff:0}; // Touch handlers var isTouchEvent,startMoving;s.onTouchStart = function(e){if(e.originalEvent)e = e.originalEvent;isTouchEvent = e.type === 'touchstart';if(!isTouchEvent && 'which' in e && e.which === 3)return;if(s.params.noSwiping && findElementInEvent(e,'.' + s.params.noSwipingClass)){s.allowClick = true;return;}if(s.params.swipeHandler){if(!findElementInEvent(e,s.params.swipeHandler))return;}var startX=s.touches.currentX = e.type === 'touchstart'?e.targetTouches[0].pageX:e.pageX;var startY=s.touches.currentY = e.type === 'touchstart'?e.targetTouches[0].pageY:e.pageY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app (UIWebView) cannot swipe-to-go-back anymore if(s.device.ios && s.params.iOSEdgeSwipeDetection && startX <= s.params.iOSEdgeSwipeThreshold){return;}isTouched = true;isMoved = false;isScrolling = undefined;startMoving = undefined;s.touches.startX = startX;s.touches.startY = startY;touchStartTime = Date.now();s.allowClick = true;s.updateContainerSize();s.swipeDirection = undefined;if(s.params.threshold > 0)allowThresholdMove = false;if(e.type !== 'touchstart'){var preventDefault=true;if($(e.target).is(formElements))preventDefault = false;if(document.activeElement && $(document.activeElement).is(formElements)){document.activeElement.blur();}if(preventDefault){e.preventDefault();}}s.emit('onTouchStart',s,e);};s.onTouchMove = function(e){if(e.originalEvent)e = e.originalEvent;if(isTouchEvent && e.type === 'mousemove')return;if(e.preventedByNestedSwiper)return;if(s.params.onlyExternal){ // isMoved = true; s.allowClick = false;if(isTouched){s.touches.startX = s.touches.currentX = e.type === 'touchmove'?e.targetTouches[0].pageX:e.pageX;s.touches.startY = s.touches.currentY = e.type === 'touchmove'?e.targetTouches[0].pageY:e.pageY;touchStartTime = Date.now();}return;}if(isTouchEvent && document.activeElement){if(e.target === document.activeElement && $(e.target).is(formElements)){isMoved = true;s.allowClick = false;return;}}s.emit('onTouchMove',s,e);if(e.targetTouches && e.targetTouches.length > 1)return;s.touches.currentX = e.type === 'touchmove'?e.targetTouches[0].pageX:e.pageX;s.touches.currentY = e.type === 'touchmove'?e.targetTouches[0].pageY:e.pageY;if(typeof isScrolling === 'undefined'){var touchAngle=Math.atan2(Math.abs(s.touches.currentY - s.touches.startY),Math.abs(s.touches.currentX - s.touches.startX)) * 180 / Math.PI;isScrolling = isH()?touchAngle > s.params.touchAngle:90 - touchAngle > s.params.touchAngle;}if(isScrolling){s.emit('onTouchMoveOpposite',s,e);}if(typeof startMoving === 'undefined' && s.browser.ieTouch){if(s.touches.currentX !== s.touches.startX || s.touches.currentY !== s.touches.startY){startMoving = true;}}if(!isTouched)return;if(isScrolling){isTouched = false;return;}if(!startMoving && s.browser.ieTouch){return;}s.allowClick = false;s.emit('onSliderMove',s,e);e.preventDefault();if(s.params.touchMoveStopPropagation && !s.params.nested){e.stopPropagation();}if(!isMoved){if(params.loop){s.fixLoop();}startTranslate = s.getWrapperTranslate();s.setWrapperTransition(0);if(s.animating){s.wrapper.trigger('webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd');}if(s.params.autoplay && s.autoplaying){if(s.params.autoplayDisableOnInteraction){s.stopAutoplay();}else {s.pauseAutoplay();}}allowMomentumBounce = false; //Grab Cursor if(s.params.grabCursor){s.container[0].style.cursor = 'move';s.container[0].style.cursor = '-webkit-grabbing';s.container[0].style.cursor = '-moz-grabbin';s.container[0].style.cursor = 'grabbing';}}isMoved = true;var diff=s.touches.diff = isH()?s.touches.currentX - s.touches.startX:s.touches.currentY - s.touches.startY;diff = diff * s.params.touchRatio;if(s.rtl)diff = -diff;s.swipeDirection = diff > 0?'prev':'next';currentTranslate = diff + startTranslate;var disableParentSwiper=true;if(diff > 0 && currentTranslate > s.minTranslate()){disableParentSwiper = false;if(s.params.resistance)currentTranslate = s.minTranslate() - 1 + Math.pow(-s.minTranslate() + startTranslate + diff,s.params.resistanceRatio);}else if(diff < 0 && currentTranslate < s.maxTranslate()){disableParentSwiper = false;if(s.params.resistance)currentTranslate = s.maxTranslate() + 1 - Math.pow(s.maxTranslate() - startTranslate - diff,s.params.resistanceRatio);}if(disableParentSwiper){e.preventedByNestedSwiper = true;} // Directions locks if(!s.params.allowSwipeToNext && s.swipeDirection === 'next' && currentTranslate < startTranslate){currentTranslate = startTranslate;}if(!s.params.allowSwipeToPrev && s.swipeDirection === 'prev' && currentTranslate > startTranslate){currentTranslate = startTranslate;}if(!s.params.followFinger)return; // Threshold if(s.params.threshold > 0){if(Math.abs(diff) > s.params.threshold || allowThresholdMove){if(!allowThresholdMove){allowThresholdMove = true;s.touches.startX = s.touches.currentX;s.touches.startY = s.touches.currentY;currentTranslate = startTranslate;s.touches.diff = isH()?s.touches.currentX - s.touches.startX:s.touches.currentY - s.touches.startY;return;}}else {currentTranslate = startTranslate;return;}} // Update active index in free mode if(s.params.freeMode || s.params.watchSlidesProgress){s.updateActiveIndex();}if(s.params.freeMode){ //Velocity if(velocities.length === 0){velocities.push({position:s.touches[isH()?'startX':'startY'],time:touchStartTime});}velocities.push({position:s.touches[isH()?'currentX':'currentY'],time:new window.Date().getTime()});} // Update progress s.updateProgress(currentTranslate); // Update translate s.setWrapperTranslate(currentTranslate);};s.onTouchEnd = function(e){if(e.originalEvent)e = e.originalEvent;s.emit('onTouchEnd',s,e);if(!isTouched)return; //Return Grab Cursor if(s.params.grabCursor && isMoved && isTouched){s.container[0].style.cursor = 'move';s.container[0].style.cursor = '-webkit-grab';s.container[0].style.cursor = '-moz-grab';s.container[0].style.cursor = 'grab';} // Time diff var touchEndTime=Date.now();var timeDiff=touchEndTime - touchStartTime; // Tap, doubleTap, Click if(s.allowClick){s.updateClickedSlide(e);s.emit('onTap',s,e);if(timeDiff < 300 && touchEndTime - lastClickTime > 300){if(clickTimeout)clearTimeout(clickTimeout);clickTimeout = setTimeout(function(){if(!s)return;if(s.params.paginationHide && s.paginationContainer.length > 0 && !$(e.target).hasClass(s.params.bulletClass)){s.paginationContainer.toggleClass(s.params.paginationHiddenClass);}s.emit('onClick',s,e);},300);}if(timeDiff < 300 && touchEndTime - lastClickTime < 300){if(clickTimeout)clearTimeout(clickTimeout);s.emit('onDoubleTap',s,e);}}lastClickTime = Date.now();setTimeout(function(){if(s)s.allowClick = true;},0);if(!isTouched || !isMoved || !s.swipeDirection || s.touches.diff === 0 || currentTranslate === startTranslate){isTouched = isMoved = false;return;}isTouched = isMoved = false;var currentPos;if(s.params.followFinger){currentPos = s.rtl?s.translate:-s.translate;}else {currentPos = -currentTranslate;}if(s.params.freeMode){if(currentPos < -s.minTranslate()){s.slideTo(s.activeIndex);return;}else if(currentPos > -s.maxTranslate()){if(s.slides.length < s.snapGrid.length){s.slideTo(s.snapGrid.length - 1);}else {s.slideTo(s.slides.length - 1);}return;}if(s.params.freeModeMomentum){if(velocities.length > 1){var lastMoveEvent=velocities.pop(),velocityEvent=velocities.pop();var distance=lastMoveEvent.position - velocityEvent.position;var time=lastMoveEvent.time - velocityEvent.time;s.velocity = distance / time;s.velocity = s.velocity / 2;if(Math.abs(s.velocity) < 0.02){s.velocity = 0;} // this implies that the user stopped moving a finger then released. // There would be no events with distance zero, so the last event is stale. if(time > 150 || new window.Date().getTime() - lastMoveEvent.time > 300){s.velocity = 0;}}else {s.velocity = 0;}velocities.length = 0;var momentumDuration=1000 * s.params.freeModeMomentumRatio;var momentumDistance=s.velocity * momentumDuration;var newPosition=s.translate + momentumDistance;if(s.rtl)newPosition = -newPosition;var doBounce=false;var afterBouncePosition;var bounceAmount=Math.abs(s.velocity) * 20 * s.params.freeModeMomentumBounceRatio;if(newPosition < s.maxTranslate()){if(s.params.freeModeMomentumBounce){if(newPosition + s.maxTranslate() < -bounceAmount){newPosition = s.maxTranslate() - bounceAmount;}afterBouncePosition = s.maxTranslate();doBounce = true;allowMomentumBounce = true;}else {newPosition = s.maxTranslate();}}else if(newPosition > s.minTranslate()){if(s.params.freeModeMomentumBounce){if(newPosition - s.minTranslate() > bounceAmount){newPosition = s.minTranslate() + bounceAmount;}afterBouncePosition = s.minTranslate();doBounce = true;allowMomentumBounce = true;}else {newPosition = s.minTranslate();}}else if(s.params.freeModeSticky){var j=0,nextSlide;for(j = 0;j < s.snapGrid.length;j += 1) {if(s.snapGrid[j] > -newPosition){nextSlide = j;break;}}if(Math.abs(s.snapGrid[nextSlide] - newPosition) < Math.abs(s.snapGrid[nextSlide - 1] - newPosition) || s.swipeDirection === 'next'){newPosition = s.snapGrid[nextSlide];}else {newPosition = s.snapGrid[nextSlide - 1];}if(!s.rtl)newPosition = -newPosition;} //Fix duration if(s.velocity !== 0){if(s.rtl){momentumDuration = Math.abs((-newPosition - s.translate) / s.velocity);}else {momentumDuration = Math.abs((newPosition - s.translate) / s.velocity);}}else if(s.params.freeModeSticky){s.slideReset();return;}if(s.params.freeModeMomentumBounce && doBounce){s.updateProgress(afterBouncePosition);s.setWrapperTransition(momentumDuration);s.setWrapperTranslate(newPosition);s.onTransitionStart();s.animating = true;s.wrapper.transitionEnd(function(){if(!s || !allowMomentumBounce)return;s.emit('onMomentumBounce',s);s.setWrapperTransition(s.params.speed);s.setWrapperTranslate(afterBouncePosition);s.wrapper.transitionEnd(function(){if(!s)return;s.onTransitionEnd();});});}else if(s.velocity){s.updateProgress(newPosition);s.setWrapperTransition(momentumDuration);s.setWrapperTranslate(newPosition);s.onTransitionStart();if(!s.animating){s.animating = true;s.wrapper.transitionEnd(function(){if(!s)return;s.onTransitionEnd();});}}else {s.updateProgress(newPosition);}s.updateActiveIndex();}if(!s.params.freeModeMomentum || timeDiff >= s.params.longSwipesMs){s.updateProgress();s.updateActiveIndex();}return;} // Find current slide var i,stopIndex=0,groupSize=s.slidesSizesGrid[0];for(i = 0;i < s.slidesGrid.length;i += s.params.slidesPerGroup) {if(typeof s.slidesGrid[i + s.params.slidesPerGroup] !== 'undefined'){if(currentPos >= s.slidesGrid[i] && currentPos < s.slidesGrid[i + s.params.slidesPerGroup]){stopIndex = i;groupSize = s.slidesGrid[i + s.params.slidesPerGroup] - s.slidesGrid[i];}}else {if(currentPos >= s.slidesGrid[i]){stopIndex = i;groupSize = s.slidesGrid[s.slidesGrid.length - 1] - s.slidesGrid[s.slidesGrid.length - 2];}}} // Find current slide size var ratio=(currentPos - s.slidesGrid[stopIndex]) / groupSize;if(timeDiff > s.params.longSwipesMs){ // Long touches if(!s.params.longSwipes){s.slideTo(s.activeIndex);return;}if(s.swipeDirection === 'next'){if(ratio >= s.params.longSwipesRatio)s.slideTo(stopIndex + s.params.slidesPerGroup);else s.slideTo(stopIndex);}if(s.swipeDirection === 'prev'){if(ratio > 1 - s.params.longSwipesRatio)s.slideTo(stopIndex + s.params.slidesPerGroup);else s.slideTo(stopIndex);}}else { // Short swipes if(!s.params.shortSwipes){s.slideTo(s.activeIndex);return;}if(s.swipeDirection === 'next'){s.slideTo(stopIndex + s.params.slidesPerGroup);}if(s.swipeDirection === 'prev'){s.slideTo(stopIndex);}}}; /*========================= Transitions ===========================*/s._slideTo = function(slideIndex,speed){return s.slideTo(slideIndex,speed,true,true);};s.slideTo = function(slideIndex,speed,runCallbacks,internal){if(typeof runCallbacks === 'undefined')runCallbacks = true;if(typeof slideIndex === 'undefined')slideIndex = 0;if(slideIndex < 0)slideIndex = 0;s.snapIndex = Math.floor(slideIndex / s.params.slidesPerGroup);if(s.snapIndex >= s.snapGrid.length)s.snapIndex = s.snapGrid.length - 1;var translate=-s.snapGrid[s.snapIndex]; // Stop autoplay if(s.params.autoplay && s.autoplaying){if(internal || !s.params.autoplayDisableOnInteraction){s.pauseAutoplay(speed);}else {s.stopAutoplay();}} // Update progress s.updateProgress(translate); // Normalize slideIndex for(var i=0;i < s.slidesGrid.length;i++) {if(-Math.floor(translate * 100) >= Math.floor(s.slidesGrid[i] * 100)){slideIndex = i;}} // Directions locks if(!s.params.allowSwipeToNext && translate < s.translate && translate < s.minTranslate()){return false;}if(!s.params.allowSwipeToPrev && translate > s.translate && translate > s.maxTranslate()){if((s.activeIndex || 0) !== slideIndex)return false;} // Update Index if(typeof speed === 'undefined')speed = s.params.speed;s.previousIndex = s.activeIndex || 0;s.activeIndex = slideIndex;if(translate === s.translate){s.updateClasses();return false;}s.updateClasses();s.onTransitionStart(runCallbacks);var translateX=isH()?translate:0,translateY=isH()?0:translate;if(speed === 0){s.setWrapperTransition(0);s.setWrapperTranslate(translate);s.onTransitionEnd(runCallbacks);}else {s.setWrapperTransition(speed);s.setWrapperTranslate(translate);if(!s.animating){s.animating = true;s.wrapper.transitionEnd(function(){if(!s)return;s.onTransitionEnd(runCallbacks);});}}return true;};s.onTransitionStart = function(runCallbacks){if(typeof runCallbacks === 'undefined')runCallbacks = true;if(s.lazy)s.lazy.onTransitionStart();if(runCallbacks){s.emit('onTransitionStart',s);if(s.activeIndex !== s.previousIndex){s.emit('onSlideChangeStart',s);}}};s.onTransitionEnd = function(runCallbacks){s.animating = false;s.setWrapperTransition(0);if(typeof runCallbacks === 'undefined')runCallbacks = true;if(s.lazy)s.lazy.onTransitionEnd();if(runCallbacks){s.emit('onTransitionEnd',s);if(s.activeIndex !== s.previousIndex){s.emit('onSlideChangeEnd',s);}}if(s.params.hashnav && s.hashnav){s.hashnav.setHash();}};s.slideNext = function(runCallbacks,speed,internal){if(s.params.loop){if(s.animating)return false;s.fixLoop();var clientLeft=s.container[0].clientLeft;return s.slideTo(s.activeIndex + s.params.slidesPerGroup,speed,runCallbacks,internal);}else return s.slideTo(s.activeIndex + s.params.slidesPerGroup,speed,runCallbacks,internal);};s._slideNext = function(speed){return s.slideNext(true,speed,true);};s.slidePrev = function(runCallbacks,speed,internal){if(s.params.loop){if(s.animating)return false;s.fixLoop();var clientLeft=s.container[0].clientLeft;return s.slideTo(s.activeIndex - 1,speed,runCallbacks,internal);}else return s.slideTo(s.activeIndex - 1,speed,runCallbacks,internal);};s._slidePrev = function(speed){return s.slidePrev(true,speed,true);};s.slideReset = function(runCallbacks,speed,internal){return s.slideTo(s.activeIndex,speed,runCallbacks);}; /*========================= Translate/transition helpers ===========================*/s.setWrapperTransition = function(duration,byController){s.wrapper.transition(duration);if(s.params.effect !== 'slide' && s.effects[s.params.effect]){s.effects[s.params.effect].setTransition(duration);}if(s.params.parallax && s.parallax){s.parallax.setTransition(duration);}if(s.params.scrollbar && s.scrollbar){s.scrollbar.setTransition(duration);}if(s.params.control && s.controller){s.controller.setTransition(duration,byController);}s.emit('onSetTransition',s,duration);};s.setWrapperTranslate = function(translate,updateActiveIndex,byController){var x=0,y=0,z=0;if(isH()){x = s.rtl?-translate:translate;}else {y = translate;}if(!s.params.virtualTranslate){if(s.support.transforms3d)s.wrapper.transform('translate3d(' + x + 'px, ' + y + 'px, ' + z + 'px)');else s.wrapper.transform('translate(' + x + 'px, ' + y + 'px)');}s.translate = isH()?x:y;if(updateActiveIndex)s.updateActiveIndex();if(s.params.effect !== 'slide' && s.effects[s.params.effect]){s.effects[s.params.effect].setTranslate(s.translate);}if(s.params.parallax && s.parallax){s.parallax.setTranslate(s.translate);}if(s.params.scrollbar && s.scrollbar){s.scrollbar.setTranslate(s.translate);}if(s.params.control && s.controller){s.controller.setTranslate(s.translate,byController);}s.emit('onSetTranslate',s,s.translate);};s.getTranslate = function(el,axis){var matrix,curTransform,curStyle,transformMatrix; // automatic axis detection if(typeof axis === 'undefined'){axis = 'x';}if(s.params.virtualTranslate){return s.rtl?-s.translate:s.translate;}curStyle = window.getComputedStyle(el,null);if(window.WebKitCSSMatrix){ // Some old versions of Webkit choke when 'none' is passed; pass // empty string instead in this case transformMatrix = new window.WebKitCSSMatrix(curStyle.webkitTransform === 'none'?'':curStyle.webkitTransform);}else {transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(','matrix(1, 0, 0, 1,');matrix = transformMatrix.toString().split(',');}if(axis === 'x'){ //Latest Chrome and webkits Fix if(window.WebKitCSSMatrix)curTransform = transformMatrix.m41;else if(matrix.length === 16)curTransform = parseFloat(matrix[12]);else curTransform = parseFloat(matrix[4]);}if(axis === 'y'){ //Latest Chrome and webkits Fix if(window.WebKitCSSMatrix)curTransform = transformMatrix.m42;else if(matrix.length === 16)curTransform = parseFloat(matrix[13]);else curTransform = parseFloat(matrix[5]);}if(s.rtl && curTransform)curTransform = -curTransform;return curTransform || 0;};s.getWrapperTranslate = function(axis){if(typeof axis === 'undefined'){axis = isH()?'x':'y';}return s.getTranslate(s.wrapper[0],axis);}; /*========================= Observer ===========================*/s.observers = [];function initObserver(target,options){options = options || {}; // create an observer instance var ObserverFunc=window.MutationObserver || window.WebkitMutationObserver;var observer=new ObserverFunc(function(mutations){mutations.forEach(function(mutation){s.onResize(true);s.emit('onObserverUpdate',s,mutation);});});observer.observe(target,{attributes:typeof options.attributes === 'undefined'?true:options.attributes,childList:typeof options.childList === 'undefined'?true:options.childList,characterData:typeof options.characterData === 'undefined'?true:options.characterData});s.observers.push(observer);}s.initObservers = function(){if(s.params.observeParents){var containerParents=s.container.parents();for(var i=0;i < containerParents.length;i++) {initObserver(containerParents[i]);}} // Observe container initObserver(s.container[0],{childList:false}); // Observe wrapper initObserver(s.wrapper[0],{attributes:false});};s.disconnectObservers = function(){for(var i=0;i < s.observers.length;i++) {s.observers[i].disconnect();}s.observers = [];}; /*========================= Loop ===========================*/ // Create looped slides s.createLoop = function(){ // Remove duplicated slides s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass).remove();var slides=s.wrapper.children('.' + s.params.slideClass);if(s.params.slidesPerView === 'auto' && !s.params.loopedSlides)s.params.loopedSlides = slides.length;s.loopedSlides = parseInt(s.params.loopedSlides || s.params.slidesPerView,10);s.loopedSlides = s.loopedSlides + s.params.loopAdditionalSlides;if(s.loopedSlides > slides.length){s.loopedSlides = slides.length;}var prependSlides=[],appendSlides=[],i;slides.each(function(index,el){var slide=$(this);if(index < s.loopedSlides)appendSlides.push(el);if(index < slides.length && index >= slides.length - s.loopedSlides)prependSlides.push(el);slide.attr('data-swiper-slide-index',index);});for(i = 0;i < appendSlides.length;i++) {s.wrapper.append($(appendSlides[i].cloneNode(true)).addClass(s.params.slideDuplicateClass));}for(i = prependSlides.length - 1;i >= 0;i--) {s.wrapper.prepend($(prependSlides[i].cloneNode(true)).addClass(s.params.slideDuplicateClass));}};s.destroyLoop = function(){s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass).remove();s.slides.removeAttr('data-swiper-slide-index');};s.fixLoop = function(){var newIndex; //Fix For Negative Oversliding if(s.activeIndex < s.loopedSlides){newIndex = s.slides.length - s.loopedSlides * 3 + s.activeIndex;newIndex = newIndex + s.loopedSlides;s.slideTo(newIndex,0,false,true);}else if(s.params.slidesPerView === 'auto' && s.activeIndex >= s.loopedSlides * 2 || s.activeIndex > s.slides.length - s.params.slidesPerView * 2){newIndex = -s.slides.length + s.activeIndex + s.loopedSlides;newIndex = newIndex + s.loopedSlides;s.slideTo(newIndex,0,false,true);}}; /*========================= Append/Prepend/Remove Slides ===========================*/s.appendSlide = function(slides){if(s.params.loop){s.destroyLoop();}if(typeof slides === 'object' && slides.length){for(var i=0;i < slides.length;i++) {if(slides[i])s.wrapper.append(slides[i]);}}else {s.wrapper.append(slides);}if(s.params.loop){s.createLoop();}if(!(s.params.observer && s.support.observer)){s.update(true);}};s.prependSlide = function(slides){if(s.params.loop){s.destroyLoop();}var newActiveIndex=s.activeIndex + 1;if(typeof slides === 'object' && slides.length){for(var i=0;i < slides.length;i++) {if(slides[i])s.wrapper.prepend(slides[i]);}newActiveIndex = s.activeIndex + slides.length;}else {s.wrapper.prepend(slides);}if(s.params.loop){s.createLoop();}if(!(s.params.observer && s.support.observer)){s.update(true);}s.slideTo(newActiveIndex,0,false);};s.removeSlide = function(slidesIndexes){if(s.params.loop){s.destroyLoop();s.slides = s.wrapper.children('.' + s.params.slideClass);}var newActiveIndex=s.activeIndex,indexToRemove;if(typeof slidesIndexes === 'object' && slidesIndexes.length){for(var i=0;i < slidesIndexes.length;i++) {indexToRemove = slidesIndexes[i];if(s.slides[indexToRemove])s.slides.eq(indexToRemove).remove();if(indexToRemove < newActiveIndex)newActiveIndex--;}newActiveIndex = Math.max(newActiveIndex,0);}else {indexToRemove = slidesIndexes;if(s.slides[indexToRemove])s.slides.eq(indexToRemove).remove();if(indexToRemove < newActiveIndex)newActiveIndex--;newActiveIndex = Math.max(newActiveIndex,0);}if(s.params.loop){s.createLoop();}if(!(s.params.observer && s.support.observer)){s.update(true);}if(s.params.loop){s.slideTo(newActiveIndex + s.loopedSlides,0,false);}else {s.slideTo(newActiveIndex,0,false);}};s.removeAllSlides = function(){var slidesIndexes=[];for(var i=0;i < s.slides.length;i++) {slidesIndexes.push(i);}s.removeSlide(slidesIndexes);}; /*========================= Effects ===========================*/s.effects = {fade:{setTranslate:function setTranslate(){for(var i=0;i < s.slides.length;i++) {var slide=s.slides.eq(i);var offset=slide[0].swiperSlideOffset;var tx=-offset;if(!s.params.virtualTranslate)tx = tx - s.translate;var ty=0;if(!isH()){ty = tx;tx = 0;}var slideOpacity=s.params.fade.crossFade?Math.max(1 - Math.abs(slide[0].progress),0):1 + Math.min(Math.max(slide[0].progress,-1),0);slide.css({opacity:slideOpacity}).transform('translate3d(' + tx + 'px, ' + ty + 'px, 0px)');}},setTransition:function setTransition(duration){s.slides.transition(duration);if(s.params.virtualTranslate && duration !== 0){var eventTriggered=false;s.slides.transitionEnd(function(){if(eventTriggered)return;if(!s)return;eventTriggered = true;s.animating = false;var triggerEvents=['webkitTransitionEnd','transitionend','oTransitionEnd','MSTransitionEnd','msTransitionEnd'];for(var i=0;i < triggerEvents.length;i++) {s.wrapper.trigger(triggerEvents[i]);}});}}},cube:{setTranslate:function setTranslate(){var wrapperRotate=0,cubeShadow;if(s.params.cube.shadow){if(isH()){cubeShadow = s.wrapper.find('.swiper-cube-shadow');if(cubeShadow.length === 0){cubeShadow = $('
');s.wrapper.append(cubeShadow);}cubeShadow.css({height:s.width + 'px'});}else {cubeShadow = s.container.find('.swiper-cube-shadow');if(cubeShadow.length === 0){cubeShadow = $('
');s.container.append(cubeShadow);}}}for(var i=0;i < s.slides.length;i++) {var slide=s.slides.eq(i);var slideAngle=i * 90;var round=Math.floor(slideAngle / 360);if(s.rtl){slideAngle = -slideAngle;round = Math.floor(-slideAngle / 360);}var progress=Math.max(Math.min(slide[0].progress,1),-1);var tx=0,ty=0,tz=0;if(i % 4 === 0){tx = -round * 4 * s.size;tz = 0;}else if((i - 1) % 4 === 0){tx = 0;tz = -round * 4 * s.size;}else if((i - 2) % 4 === 0){tx = s.size + round * 4 * s.size;tz = s.size;}else if((i - 3) % 4 === 0){tx = -s.size;tz = 3 * s.size + s.size * 4 * round;}if(s.rtl){tx = -tx;}if(!isH()){ty = tx;tx = 0;}var transform='rotateX(' + (isH()?0:-slideAngle) + 'deg) rotateY(' + (isH()?slideAngle:0) + 'deg) translate3d(' + tx + 'px, ' + ty + 'px, ' + tz + 'px)';if(progress <= 1 && progress > -1){wrapperRotate = i * 90 + progress * 90;if(s.rtl)wrapperRotate = -i * 90 - progress * 90;}slide.transform(transform);if(s.params.cube.slideShadows){ //Set shadows var shadowBefore=isH()?slide.find('.swiper-slide-shadow-left'):slide.find('.swiper-slide-shadow-top');var shadowAfter=isH()?slide.find('.swiper-slide-shadow-right'):slide.find('.swiper-slide-shadow-bottom');if(shadowBefore.length === 0){shadowBefore = $('
');slide.append(shadowBefore);}if(shadowAfter.length === 0){shadowAfter = $('
');slide.append(shadowAfter);}var shadowOpacity=slide[0].progress;if(shadowBefore.length)shadowBefore[0].style.opacity = -slide[0].progress;if(shadowAfter.length)shadowAfter[0].style.opacity = slide[0].progress;}}s.wrapper.css({'-webkit-transform-origin':'50% 50% -' + s.size / 2 + 'px','-moz-transform-origin':'50% 50% -' + s.size / 2 + 'px','-ms-transform-origin':'50% 50% -' + s.size / 2 + 'px','transform-origin':'50% 50% -' + s.size / 2 + 'px'});if(s.params.cube.shadow){if(isH()){cubeShadow.transform('translate3d(0px, ' + (s.width / 2 + s.params.cube.shadowOffset) + 'px, ' + -s.width / 2 + 'px) rotateX(90deg) rotateZ(0deg) scale(' + s.params.cube.shadowScale + ')');}else {var shadowAngle=Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;var multiplier=1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);var scale1=s.params.cube.shadowScale,scale2=s.params.cube.shadowScale / multiplier,offset=s.params.cube.shadowOffset;cubeShadow.transform('scale3d(' + scale1 + ', 1, ' + scale2 + ') translate3d(0px, ' + (s.height / 2 + offset) + 'px, ' + -s.height / 2 / scale2 + 'px) rotateX(-90deg)');}}var zFactor=s.isSafari || s.isUiWebView?-s.size / 2:0;s.wrapper.transform('translate3d(0px,0,' + zFactor + 'px) rotateX(' + (isH()?0:wrapperRotate) + 'deg) rotateY(' + (isH()?-wrapperRotate:0) + 'deg)');},setTransition:function setTransition(duration){s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);if(s.params.cube.shadow && !isH()){s.container.find('.swiper-cube-shadow').transition(duration);}}},coverflow:{setTranslate:function setTranslate(){var transform=s.translate;var center=isH()?-transform + s.width / 2:-transform + s.height / 2;var rotate=isH()?s.params.coverflow.rotate:-s.params.coverflow.rotate;var translate=s.params.coverflow.depth; //Each slide offset from center for(var i=0,length=s.slides.length;i < length;i++) {var slide=s.slides.eq(i);var slideSize=s.slidesSizesGrid[i];var slideOffset=slide[0].swiperSlideOffset;var offsetMultiplier=(center - slideOffset - slideSize / 2) / slideSize * s.params.coverflow.modifier;var rotateY=isH()?rotate * offsetMultiplier:0;var rotateX=isH()?0:rotate * offsetMultiplier; // var rotateZ = 0 var translateZ=-translate * Math.abs(offsetMultiplier);var translateY=isH()?0:s.params.coverflow.stretch * offsetMultiplier;var translateX=isH()?s.params.coverflow.stretch * offsetMultiplier:0; //Fix for ultra small values if(Math.abs(translateX) < 0.001)translateX = 0;if(Math.abs(translateY) < 0.001)translateY = 0;if(Math.abs(translateZ) < 0.001)translateZ = 0;if(Math.abs(rotateY) < 0.001)rotateY = 0;if(Math.abs(rotateX) < 0.001)rotateX = 0;var slideTransform='translate3d(' + translateX + 'px,' + translateY + 'px,' + translateZ + 'px) rotateX(' + rotateX + 'deg) rotateY(' + rotateY + 'deg)';slide.transform(slideTransform);slide[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;if(s.params.coverflow.slideShadows){ //Set shadows var shadowBefore=isH()?slide.find('.swiper-slide-shadow-left'):slide.find('.swiper-slide-shadow-top');var shadowAfter=isH()?slide.find('.swiper-slide-shadow-right'):slide.find('.swiper-slide-shadow-bottom');if(shadowBefore.length === 0){shadowBefore = $('
');slide.append(shadowBefore);}if(shadowAfter.length === 0){shadowAfter = $('
');slide.append(shadowAfter);}if(shadowBefore.length)shadowBefore[0].style.opacity = offsetMultiplier > 0?offsetMultiplier:0;if(shadowAfter.length)shadowAfter[0].style.opacity = -offsetMultiplier > 0?-offsetMultiplier:0;}} //Set correct perspective for IE10 if(s.browser.ie){var ws=s.wrapper[0].style;ws.perspectiveOrigin = center + 'px 50%';}},setTransition:function setTransition(duration){s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);}}}; /*========================= Images Lazy Loading ===========================*/s.lazy = {initialImageLoaded:false,loadImageInSlide:function loadImageInSlide(index,loadInDuplicate){if(typeof index === 'undefined')return;if(typeof loadInDuplicate === 'undefined')loadInDuplicate = true;if(s.slides.length === 0)return;var slide=s.slides.eq(index);var img=slide.find('.swiper-lazy:not(.swiper-lazy-loaded):not(.swiper-lazy-loading)');if(slide.hasClass('swiper-lazy') && !slide.hasClass('swiper-lazy-loaded') && !slide.hasClass('swiper-lazy-loading')){img.add(slide[0]);}if(img.length === 0)return;img.each(function(){var _img=$(this);_img.addClass('swiper-lazy-loading');var background=_img.attr('data-background');var src=_img.attr('data-src');s.loadImage(_img[0],src || background,false,function(){if(background){_img.css('background-image','url(' + background + ')');_img.removeAttr('data-background');}else {_img.attr('src',src);_img.removeAttr('data-src');}_img.addClass('swiper-lazy-loaded').removeClass('swiper-lazy-loading');slide.find('.swiper-lazy-preloader, .preloader').remove();if(s.params.loop && loadInDuplicate){var slideOriginalIndex=slide.attr('data-swiper-slide-index');if(slide.hasClass(s.params.slideDuplicateClass)){var originalSlide=s.wrapper.children('[data-swiper-slide-index="' + slideOriginalIndex + '"]:not(.' + s.params.slideDuplicateClass + ')');s.lazy.loadImageInSlide(originalSlide.index(),false);}else {var duplicatedSlide=s.wrapper.children('.' + s.params.slideDuplicateClass + '[data-swiper-slide-index="' + slideOriginalIndex + '"]');s.lazy.loadImageInSlide(duplicatedSlide.index(),false);}}s.emit('onLazyImageReady',s,slide[0],_img[0]);});s.emit('onLazyImageLoad',s,slide[0],_img[0]);});},load:function load(){var i;if(s.params.watchSlidesVisibility){s.wrapper.children('.' + s.params.slideVisibleClass).each(function(){s.lazy.loadImageInSlide($(this).index());});}else {if(s.params.slidesPerView > 1){for(i = s.activeIndex;i < s.activeIndex + s.params.slidesPerView;i++) {if(s.slides[i])s.lazy.loadImageInSlide(i);}}else {s.lazy.loadImageInSlide(s.activeIndex);}}if(s.params.lazyLoadingInPrevNext){if(s.params.slidesPerView > 1){ // Next Slides for(i = s.activeIndex + s.params.slidesPerView;i < s.activeIndex + s.params.slidesPerView + s.params.slidesPerView;i++) {if(s.slides[i])s.lazy.loadImageInSlide(i);} // Prev Slides for(i = s.activeIndex - s.params.slidesPerView;i < s.activeIndex;i++) {if(s.slides[i])s.lazy.loadImageInSlide(i);}}else {var nextSlide=s.wrapper.children('.' + s.params.slideNextClass);if(nextSlide.length > 0)s.lazy.loadImageInSlide(nextSlide.index());var prevSlide=s.wrapper.children('.' + s.params.slidePrevClass);if(prevSlide.length > 0)s.lazy.loadImageInSlide(prevSlide.index());}}},onTransitionStart:function onTransitionStart(){if(s.params.lazyLoading){if(s.params.lazyLoadingOnTransitionStart || !s.params.lazyLoadingOnTransitionStart && !s.lazy.initialImageLoaded){s.lazy.load();}}},onTransitionEnd:function onTransitionEnd(){if(s.params.lazyLoading && !s.params.lazyLoadingOnTransitionStart){s.lazy.load();}}}; /*========================= Scrollbar ===========================*/s.scrollbar = {set:function set(){if(!s.params.scrollbar)return;var sb=s.scrollbar;sb.track = $(s.params.scrollbar);sb.drag = sb.track.find('.swiper-scrollbar-drag');if(sb.drag.length === 0){sb.drag = $('
');sb.track.append(sb.drag);}sb.drag[0].style.width = '';sb.drag[0].style.height = '';sb.trackSize = isH()?sb.track[0].offsetWidth:sb.track[0].offsetHeight;sb.divider = s.size / s.virtualSize;sb.moveDivider = sb.divider * (sb.trackSize / s.size);sb.dragSize = sb.trackSize * sb.divider;if(isH()){sb.drag[0].style.width = sb.dragSize + 'px';}else {sb.drag[0].style.height = sb.dragSize + 'px';}if(sb.divider >= 1){sb.track[0].style.display = 'none';}else {sb.track[0].style.display = '';}if(s.params.scrollbarHide){sb.track[0].style.opacity = 0;}},setTranslate:function setTranslate(){if(!s.params.scrollbar)return;var diff;var sb=s.scrollbar;var translate=s.translate || 0;var newPos;var newSize=sb.dragSize;newPos = (sb.trackSize - sb.dragSize) * s.progress;if(s.rtl && isH()){newPos = -newPos;if(newPos > 0){newSize = sb.dragSize - newPos;newPos = 0;}else if(-newPos + sb.dragSize > sb.trackSize){newSize = sb.trackSize + newPos;}}else {if(newPos < 0){newSize = sb.dragSize + newPos;newPos = 0;}else if(newPos + sb.dragSize > sb.trackSize){newSize = sb.trackSize - newPos;}}if(isH()){if(s.support.transforms3d){sb.drag.transform('translate3d(' + newPos + 'px, 0, 0)');}else {sb.drag.transform('translateX(' + newPos + 'px)');}sb.drag[0].style.width = newSize + 'px';}else {if(s.support.transforms3d){sb.drag.transform('translate3d(0px, ' + newPos + 'px, 0)');}else {sb.drag.transform('translateY(' + newPos + 'px)');}sb.drag[0].style.height = newSize + 'px';}if(s.params.scrollbarHide){clearTimeout(sb.timeout);sb.track[0].style.opacity = 1;sb.timeout = setTimeout(function(){sb.track[0].style.opacity = 0;sb.track.transition(400);},1000);}},setTransition:function setTransition(duration){if(!s.params.scrollbar)return;s.scrollbar.drag.transition(duration);}}; /*========================= Controller ===========================*/s.controller = {LinearSpline:function LinearSpline(x,y){this.x = x;this.y = y;this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value: // (x1,y1) is the known point before given value, // (x3,y3) is the known point after given value. var i1,i3;var l=this.x.length;this.interpolate = function(x2){if(!x2)return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2): i3 = binarySearch(this.x,x2);i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already: // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1 return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];};var binarySearch=(function(){var maxIndex,minIndex,guess;return function(array,val){minIndex = -1;maxIndex = array.length;while(maxIndex - minIndex > 1) if(array[guess = maxIndex + minIndex >> 1] <= val){minIndex = guess;}else {maxIndex = guess;}return maxIndex;};})();}, //xxx: for now i will just save one spline function to to getInterpolateFunction:function getInterpolateFunction(c){if(!s.controller.spline)s.controller.spline = s.params.loop?new s.controller.LinearSpline(s.slidesGrid,c.slidesGrid):new s.controller.LinearSpline(s.snapGrid,c.snapGrid);},setTranslate:function setTranslate(translate,byController){var controlled=s.params.control;var multiplier,controlledTranslate;function setControlledTranslate(c){ // this will create an Interpolate function based on the snapGrids // x is the Grid of the scrolled scroller and y will be the controlled scroller // it makes sense to create this only once and recall it for the interpolation // the function does a lot of value caching for performance translate = c.rtl && c.params.direction === 'horizontal'?-s.translate:s.translate;if(s.params.controlBy === 'slide'){s.controller.getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid // but it did not work out controlledTranslate = -s.controller.spline.interpolate(-translate);}if(!controlledTranslate || s.params.controlBy === 'container'){multiplier = (c.maxTranslate() - c.minTranslate()) / (s.maxTranslate() - s.minTranslate());controlledTranslate = (translate - s.minTranslate()) * multiplier + c.minTranslate();}if(s.params.controlInverse){controlledTranslate = c.maxTranslate() - controlledTranslate;}c.updateProgress(controlledTranslate);c.setWrapperTranslate(controlledTranslate,false,s);c.updateActiveIndex();}if(s.isArray(controlled)){for(var i=0;i < controlled.length;i++) {if(controlled[i] !== byController && controlled[i] instanceof Swiper){setControlledTranslate(controlled[i]);}}}else if(controlled instanceof Swiper && byController !== controlled){setControlledTranslate(controlled);}},setTransition:function setTransition(duration,byController){var controlled=s.params.control;var i;function setControlledTransition(c){c.setWrapperTransition(duration,s);if(duration !== 0){c.onTransitionStart();c.wrapper.transitionEnd(function(){if(!controlled)return;if(c.params.loop && s.params.controlBy === 'slide'){c.fixLoop();}c.onTransitionEnd();});}}if(s.isArray(controlled)){for(i = 0;i < controlled.length;i++) {if(controlled[i] !== byController && controlled[i] instanceof Swiper){setControlledTransition(controlled[i]);}}}else if(controlled instanceof Swiper && byController !== controlled){setControlledTransition(controlled);}}}; /*========================= Hash Navigation ===========================*/s.hashnav = {init:function init(){if(!s.params.hashnav)return;s.hashnav.initialized = true;var hash=document.location.hash.replace('#','');if(!hash)return;var speed=0;for(var i=0,length=s.slides.length;i < length;i++) {var slide=s.slides.eq(i);var slideHash=slide.attr('data-hash');if(slideHash === hash && !slide.hasClass(s.params.slideDuplicateClass)){var index=slide.index();s.slideTo(index,speed,s.params.runCallbacksOnInit,true);}}},setHash:function setHash(){if(!s.hashnav.initialized || !s.params.hashnav)return;document.location.hash = s.slides.eq(s.activeIndex).attr('data-hash') || '';}}; /*========================= Keyboard Control ===========================*/function handleKeyboard(e){if(e.originalEvent)e = e.originalEvent; //jquery fix var kc=e.keyCode || e.charCode; // Directions locks if(!s.params.allowSwipeToNext && (isH() && kc === 39 || !isH() && kc === 40)){return false;}if(!s.params.allowSwipeToPrev && (isH() && kc === 37 || !isH() && kc === 38)){return false;}if(e.shiftKey || e.altKey || e.ctrlKey || e.metaKey){return;}if(document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')){return;}if(kc === 37 || kc === 39 || kc === 38 || kc === 40){var inView=false; //Check that swiper should be inside of visible area of window if(s.container.parents('.swiper-slide').length > 0 && s.container.parents('.swiper-slide-active').length === 0){return;}var windowScroll={left:window.pageXOffset,top:window.pageYOffset};var windowWidth=window.innerWidth;var windowHeight=window.innerHeight;var swiperOffset=s.container.offset();if(s.rtl)swiperOffset.left = swiperOffset.left - s.container[0].scrollLeft;var swiperCoord=[[swiperOffset.left,swiperOffset.top],[swiperOffset.left + s.width,swiperOffset.top],[swiperOffset.left,swiperOffset.top + s.height],[swiperOffset.left + s.width,swiperOffset.top + s.height]];for(var i=0;i < swiperCoord.length;i++) {var point=swiperCoord[i];if(point[0] >= windowScroll.left && point[0] <= windowScroll.left + windowWidth && point[1] >= windowScroll.top && point[1] <= windowScroll.top + windowHeight){inView = true;}}if(!inView)return;}if(isH()){if(kc === 37 || kc === 39){if(e.preventDefault)e.preventDefault();else e.returnValue = false;}if(kc === 39 && !s.rtl || kc === 37 && s.rtl)s.slideNext();if(kc === 37 && !s.rtl || kc === 39 && s.rtl)s.slidePrev();}else {if(kc === 38 || kc === 40){if(e.preventDefault)e.preventDefault();else e.returnValue = false;}if(kc === 40)s.slideNext();if(kc === 38)s.slidePrev();}}s.disableKeyboardControl = function(){$(document).off('keydown',handleKeyboard);};s.enableKeyboardControl = function(){$(document).on('keydown',handleKeyboard);}; /*========================= Mousewheel Control ===========================*/s.mousewheel = {event:false,lastScrollTime:new window.Date().getTime()};if(s.params.mousewheelControl){try{new window.WheelEvent('wheel');s.mousewheel.event = 'wheel';}catch(e) {}if(!s.mousewheel.event && document.onmousewheel !== undefined){s.mousewheel.event = 'mousewheel';}if(!s.mousewheel.event){s.mousewheel.event = 'DOMMouseScroll';}}function handleMousewheel(e){if(e.originalEvent)e = e.originalEvent; //jquery fix var we=s.mousewheel.event;var delta=0; //Opera & IE if(e.detail)delta = -e.detail;else if(we === 'mousewheel'){if(s.params.mousewheelForceToAxis){if(isH()){if(Math.abs(e.wheelDeltaX) > Math.abs(e.wheelDeltaY))delta = e.wheelDeltaX;else return;}else {if(Math.abs(e.wheelDeltaY) > Math.abs(e.wheelDeltaX))delta = e.wheelDeltaY;else return;}}else {delta = e.wheelDelta;}}else if(we === 'DOMMouseScroll')delta = -e.detail;else if(we === 'wheel'){if(s.params.mousewheelForceToAxis){if(isH()){if(Math.abs(e.deltaX) > Math.abs(e.deltaY))delta = -e.deltaX;else return;}else {if(Math.abs(e.deltaY) > Math.abs(e.deltaX))delta = -e.deltaY;else return;}}else {delta = Math.abs(e.deltaX) > Math.abs(e.deltaY)?-e.deltaX:-e.deltaY;}}if(s.params.mousewheelInvert)delta = -delta;if(!s.params.freeMode){if(new window.Date().getTime() - s.mousewheel.lastScrollTime > 60){if(delta < 0){if((!s.isEnd || s.params.loop) && !s.animating)s.slideNext();else if(s.params.mousewheelReleaseOnEdges)return true;}else {if((!s.isBeginning || s.params.loop) && !s.animating)s.slidePrev();else if(s.params.mousewheelReleaseOnEdges)return true;}}s.mousewheel.lastScrollTime = new window.Date().getTime();}else { //Freemode or scrollContainer: var position=s.getWrapperTranslate() + delta * s.params.mousewheelSensitivity;if(position > 0)position = 0;if(position < s.maxTranslate())position = s.maxTranslate();s.setWrapperTransition(0);s.setWrapperTranslate(position);s.updateProgress();s.updateActiveIndex();if(s.params.freeModeSticky){clearTimeout(s.mousewheel.timeout);s.mousewheel.timeout = setTimeout(function(){s.slideReset();},300);} // Return page scroll on edge positions if(position === 0 || position === s.maxTranslate())return;}if(s.params.autoplay)s.stopAutoplay();if(e.preventDefault)e.preventDefault();else e.returnValue = false;return false;}s.disableMousewheelControl = function(){if(!s.mousewheel.event)return false;s.container.off(s.mousewheel.event,handleMousewheel);return true;};s.enableMousewheelControl = function(){if(!s.mousewheel.event)return false;s.container.on(s.mousewheel.event,handleMousewheel);return true;}; /*========================= Parallax ===========================*/function setParallaxTransform(el,progress){el = $(el);var p,pX,pY;p = el.attr('data-swiper-parallax') || '0';pX = el.attr('data-swiper-parallax-x');pY = el.attr('data-swiper-parallax-y');if(pX || pY){pX = pX || '0';pY = pY || '0';}else {if(isH()){pX = p;pY = '0';}else {pY = p;pX = '0';}}if(pX.indexOf('%') >= 0){pX = parseInt(pX,10) * progress + '%';}else {pX = pX * progress + 'px';}if(pY.indexOf('%') >= 0){pY = parseInt(pY,10) * progress + '%';}else {pY = pY * progress + 'px';}el.transform('translate3d(' + pX + ', ' + pY + ',0px)');}s.parallax = {setTranslate:function setTranslate(){s.container.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function(){setParallaxTransform(this,s.progress);});s.slides.each(function(){var slide=$(this);slide.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function(){var progress=Math.min(Math.max(slide[0].progress,-1),1);setParallaxTransform(this,progress);});});},setTransition:function setTransition(duration){if(typeof duration === 'undefined')duration = s.params.speed;s.container.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function(){var el=$(this);var parallaxDuration=parseInt(el.attr('data-swiper-parallax-duration'),10) || duration;if(duration === 0)parallaxDuration = 0;el.transition(parallaxDuration);});}}; /*========================= Plugins API. Collect all and init all plugins ===========================*/s._plugins = [];for(var plugin in s.plugins) {var p=s.plugins[plugin](s,s.params[plugin]);if(p)s._plugins.push(p);} // Method to call all plugins event/method s.callPlugins = function(eventName){for(var i=0;i < s._plugins.length;i++) {if(eventName in s._plugins[i]){s._plugins[i][eventName](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);}}}; /*========================= Events/Callbacks/Plugins Emitter ===========================*/function normalizeEventName(eventName){if(eventName.indexOf('on') !== 0){if(eventName[0] !== eventName[0].toUpperCase()){eventName = 'on' + eventName[0].toUpperCase() + eventName.substring(1);}else {eventName = 'on' + eventName;}}return eventName;}s.emitterEventListeners = {};s.emit = function(eventName){ // Trigger callbacks if(s.params[eventName]){s.params[eventName](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);}var i; // Trigger events if(s.emitterEventListeners[eventName]){for(i = 0;i < s.emitterEventListeners[eventName].length;i++) {s.emitterEventListeners[eventName][i](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);}} // Trigger plugins if(s.callPlugins)s.callPlugins(eventName,arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);};s.on = function(eventName,handler){eventName = normalizeEventName(eventName);if(!s.emitterEventListeners[eventName])s.emitterEventListeners[eventName] = [];s.emitterEventListeners[eventName].push(handler);return s;};s.off = function(eventName,handler){var i;eventName = normalizeEventName(eventName);if(typeof handler === 'undefined'){ // Remove all handlers for such event s.emitterEventListeners[eventName] = [];return s;}if(!s.emitterEventListeners[eventName] || s.emitterEventListeners[eventName].length === 0)return;for(i = 0;i < s.emitterEventListeners[eventName].length;i++) {if(s.emitterEventListeners[eventName][i] === handler)s.emitterEventListeners[eventName].splice(i,1);}return s;};s.once = function(eventName,handler){eventName = normalizeEventName(eventName);var _handler=function _handler(){handler(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);s.off(eventName,_handler);};s.on(eventName,_handler);return s;}; // Accessibility tools s.a11y = {makeFocusable:function makeFocusable($el){$el.attr('tabIndex','0');return $el;},addRole:function addRole($el,role){$el.attr('role',role);return $el;},addLabel:function addLabel($el,label){$el.attr('aria-label',label);return $el;},disable:function disable($el){$el.attr('aria-disabled',true);return $el;},enable:function enable($el){$el.attr('aria-disabled',false);return $el;},onEnterKey:function onEnterKey(event){if(event.keyCode !== 13)return;if($(event.target).is(s.params.nextButton)){s.onClickNext(event);if(s.isEnd){s.a11y.notify(s.params.lastSlideMessage);}else {s.a11y.notify(s.params.nextSlideMessage);}}else if($(event.target).is(s.params.prevButton)){s.onClickPrev(event);if(s.isBeginning){s.a11y.notify(s.params.firstSlideMessage);}else {s.a11y.notify(s.params.prevSlideMessage);}}if($(event.target).is('.' + s.params.bulletClass)){$(event.target)[0].click();}},liveRegion:$(''),notify:function notify(message){var notification=s.a11y.liveRegion;if(notification.length === 0)return;notification.html('');notification.html(message);},init:function init(){ // Setup accessibility if(s.params.nextButton){var nextButton=$(s.params.nextButton);s.a11y.makeFocusable(nextButton);s.a11y.addRole(nextButton,'button');s.a11y.addLabel(nextButton,s.params.nextSlideMessage);}if(s.params.prevButton){var prevButton=$(s.params.prevButton);s.a11y.makeFocusable(prevButton);s.a11y.addRole(prevButton,'button');s.a11y.addLabel(prevButton,s.params.prevSlideMessage);}$(s.container).append(s.a11y.liveRegion);},initPagination:function initPagination(){if(s.params.pagination && s.params.paginationClickable && s.bullets && s.bullets.length){s.bullets.each(function(){var bullet=$(this);s.a11y.makeFocusable(bullet);s.a11y.addRole(bullet,'button');s.a11y.addLabel(bullet,s.params.paginationBulletMessage.replace(/{{index}}/,bullet.index() + 1));});}},destroy:function destroy(){if(s.a11y.liveRegion && s.a11y.liveRegion.length > 0)s.a11y.liveRegion.remove();}}; /*========================= Init/Destroy ===========================*/s.init = function(){if(s.params.loop)s.createLoop();s.updateContainerSize();s.updateSlidesSize();s.updatePagination();if(s.params.scrollbar && s.scrollbar){s.scrollbar.set();}if(s.params.effect !== 'slide' && s.effects[s.params.effect]){if(!s.params.loop)s.updateProgress();s.effects[s.params.effect].setTranslate();}if(s.params.loop){s.slideTo(s.params.initialSlide + s.loopedSlides,0,s.params.runCallbacksOnInit);}else {s.slideTo(s.params.initialSlide,0,s.params.runCallbacksOnInit);if(s.params.initialSlide === 0){if(s.parallax && s.params.parallax)s.parallax.setTranslate();if(s.lazy && s.params.lazyLoading){s.lazy.load();s.lazy.initialImageLoaded = true;}}}s.attachEvents();if(s.params.observer && s.support.observer){s.initObservers();}if(s.params.preloadImages && !s.params.lazyLoading){s.preloadImages();}if(s.params.autoplay){s.startAutoplay();}if(s.params.keyboardControl){if(s.enableKeyboardControl)s.enableKeyboardControl();}if(s.params.mousewheelControl){if(s.enableMousewheelControl)s.enableMousewheelControl();}if(s.params.hashnav){if(s.hashnav)s.hashnav.init();}if(s.params.a11y && s.a11y)s.a11y.init();s.emit('onInit',s);}; // Cleanup dynamic styles s.cleanupStyles = function(){ // Container s.container.removeClass(s.classNames.join(' ')).removeAttr('style'); // Wrapper s.wrapper.removeAttr('style'); // Slides if(s.slides && s.slides.length){s.slides.removeClass([s.params.slideVisibleClass,s.params.slideActiveClass,s.params.slideNextClass,s.params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-column').removeAttr('data-swiper-row');} // Pagination/Bullets if(s.paginationContainer && s.paginationContainer.length){s.paginationContainer.removeClass(s.params.paginationHiddenClass);}if(s.bullets && s.bullets.length){s.bullets.removeClass(s.params.bulletActiveClass);} // Buttons if(s.params.prevButton)$(s.params.prevButton).removeClass(s.params.buttonDisabledClass);if(s.params.nextButton)$(s.params.nextButton).removeClass(s.params.buttonDisabledClass); // Scrollbar if(s.params.scrollbar && s.scrollbar){if(s.scrollbar.track && s.scrollbar.track.length)s.scrollbar.track.removeAttr('style');if(s.scrollbar.drag && s.scrollbar.drag.length)s.scrollbar.drag.removeAttr('style');}}; // Destroy s.destroy = function(deleteInstance,cleanupStyles){ // Detach evebts s.detachEvents(); // Stop autoplay s.stopAutoplay(); // Destroy loop if(s.params.loop){s.destroyLoop();} // Cleanup styles if(cleanupStyles){s.cleanupStyles();} // Disconnect observer s.disconnectObservers(); // Disable keyboard/mousewheel if(s.params.keyboardControl){if(s.disableKeyboardControl)s.disableKeyboardControl();}if(s.params.mousewheelControl){if(s.disableMousewheelControl)s.disableMousewheelControl();} // Disable a11y if(s.params.a11y && s.a11y)s.a11y.destroy(); // Destroy callback s.emit('onDestroy'); // Delete instance if(deleteInstance !== false)s = null;};s.init(); // Return swiper instance return s;} /*=========================== Add .swiper plugin from Dom libraries ===========================*/function addLibraryPlugin(lib){lib.fn.swiper = function(params){var firstInstance;lib(this).each(function(){var s=new Swiper(this,params);if(!firstInstance)firstInstance = s;});return firstInstance;};}return {setters:[],execute:function(){; /*================================================== Prototype ====================================================*/Swiper.prototype = {isSafari:(function(){var ua=navigator.userAgent.toLowerCase();return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;})(),isUiWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent),isArray:function isArray(arr){return Object.prototype.toString.apply(arr) === '[object Array]';}, /*================================================== Browser ====================================================*/browser:{ie:window.navigator.pointerEnabled || window.navigator.msPointerEnabled,ieTouch:window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 1 || window.navigator.pointerEnabled && window.navigator.maxTouchPoints > 1}, /*================================================== Devices ====================================================*/device:(function(){var ua=navigator.userAgent;var android=ua.match(/(Android);?[\s\/]+([\d.]+)?/);var ipad=ua.match(/(iPad).*OS\s([\d_]+)/);var ipod=ua.match(/(iPod)(.*OS\s([\d_]+))?/);var iphone=!ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/);return {ios:ipad || iphone || ipod,android:android};})(), /*================================================== Feature Detection ====================================================*/support:{touch:window.Modernizr && Modernizr.touch === true || (function(){return !!('ontouchstart' in window || window.DocumentTouch && document instanceof DocumentTouch);})(),transforms3d:window.Modernizr && Modernizr.csstransforms3d === true || (function(){var div=document.createElement('div').style;return 'webkitPerspective' in div || 'MozPerspective' in div || 'OPerspective' in div || 'MsPerspective' in div || 'perspective' in div;})(),flexbox:(function(){var div=document.createElement('div').style;var styles='alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient'.split(' ');for(var i=0;i < styles.length;i++) {if(styles[i] in div)return true;}})(),observer:(function(){return 'MutationObserver' in window || 'WebkitMutationObserver' in window;})()}, /*================================================== Plugins ====================================================*/plugins:{}}; /*=========================== Dom7 Library ===========================*/Dom7 = (function(){var Dom7=function Dom7(arr){var _this=this,i=0; // Create array-like object for(i = 0;i < arr.length;i++) {_this[i] = arr[i];}_this.length = arr.length; // Return collection with methods return this;};var $=function $(selector,context){var arr=[],i=0;if(selector && !context){if(selector instanceof Dom7){return selector;}}if(selector){ // String if(typeof selector === 'string'){var els,tempParent,html=selector.trim();if(html.indexOf('<') >= 0 && html.indexOf('>') >= 0){var toCreate='div';if(html.indexOf(':~]/)){ // Pure ID selector els = [document.getElementById(selector.split('#')[1])];}else { // Other selectors els = (context || document).querySelectorAll(selector);}for(i = 0;i < els.length;i++) {if(els[i])arr.push(els[i]);}}}else if(selector.nodeType || selector === window || selector === document){arr.push(selector);}else if(selector.length > 0 && selector[0].nodeType){for(i = 0;i < selector.length;i++) {arr.push(selector[i]);}}}return new Dom7(arr);};Dom7.prototype = { // Classes and attriutes addClass:function addClass(className){if(typeof className === 'undefined'){return this;}var classes=className.split(' ');for(var i=0;i < classes.length;i++) {for(var j=0;j < this.length;j++) {this[j].classList.add(classes[i]);}}return this;},removeClass:function removeClass(className){var classes=className.split(' ');for(var i=0;i < classes.length;i++) {for(var j=0;j < this.length;j++) {this[j].classList.remove(classes[i]);}}return this;},hasClass:function hasClass(className){if(!this[0])return false;else return this[0].classList.contains(className);},toggleClass:function toggleClass(className){var classes=className.split(' ');for(var i=0;i < classes.length;i++) {for(var j=0;j < this.length;j++) {this[j].classList.toggle(classes[i]);}}return this;},attr:function attr(attrs,value){if(arguments.length === 1 && typeof attrs === 'string'){ // Get attr if(this[0])return this[0].getAttribute(attrs);else return undefined;}else { // Set attrs for(var i=0;i < this.length;i++) {if(arguments.length === 2){ // String this[i].setAttribute(attrs,value);}else { // Object for(var attrName in attrs) {this[i][attrName] = attrs[attrName];this[i].setAttribute(attrName,attrs[attrName]);}}}return this;}},removeAttr:function removeAttr(attr){for(var i=0;i < this.length;i++) {this[i].removeAttribute(attr);}return this;},data:function data(key,value){if(typeof value === 'undefined'){ // Get value if(this[0]){var dataKey=this[0].getAttribute('data-' + key);if(dataKey)return dataKey;else if(this[0].dom7ElementDataStorage && key in this[0].dom7ElementDataStorage)return this[0].dom7ElementDataStorage[key];else return undefined;}else return undefined;}else { // Set value for(var i=0;i < this.length;i++) {var el=this[i];if(!el.dom7ElementDataStorage)el.dom7ElementDataStorage = {};el.dom7ElementDataStorage[key] = value;}return this;}}, // Transforms transform:function transform(_transform){for(var i=0;i < this.length;i++) {var elStyle=this[i].style;elStyle.webkitTransform = elStyle.MsTransform = elStyle.msTransform = elStyle.MozTransform = elStyle.OTransform = elStyle.transform = _transform;}return this;},transition:function transition(duration){if(typeof duration !== 'string'){duration = duration + 'ms';}for(var i=0;i < this.length;i++) {var elStyle=this[i].style;elStyle.webkitTransitionDuration = elStyle.MsTransitionDuration = elStyle.msTransitionDuration = elStyle.MozTransitionDuration = elStyle.OTransitionDuration = elStyle.transitionDuration = duration;}return this;}, //Events on:function on(eventName,targetSelector,listener,capture){function handleLiveEvent(e){var target=e.target;if($(target).is(targetSelector))listener.call(target,e);else {var parents=$(target).parents();for(var k=0;k < parents.length;k++) {if($(parents[k]).is(targetSelector))listener.call(parents[k],e);}}}var events=eventName.split(' ');var i,j;for(i = 0;i < this.length;i++) {if(typeof targetSelector === 'function' || targetSelector === false){ // Usual events if(typeof targetSelector === 'function'){listener = arguments[1];capture = arguments[2] || false;}for(j = 0;j < events.length;j++) {this[i].addEventListener(events[j],listener,capture);}}else { //Live events for(j = 0;j < events.length;j++) {if(!this[i].dom7LiveListeners)this[i].dom7LiveListeners = [];this[i].dom7LiveListeners.push({listener:listener,liveListener:handleLiveEvent});this[i].addEventListener(events[j],handleLiveEvent,capture);}}}return this;},off:function off(eventName,targetSelector,listener,capture){var events=eventName.split(' ');for(var i=0;i < events.length;i++) {for(var j=0;j < this.length;j++) {if(typeof targetSelector === 'function' || targetSelector === false){ // Usual events if(typeof targetSelector === 'function'){listener = arguments[1];capture = arguments[2] || false;}this[j].removeEventListener(events[i],listener,capture);}else { // Live event if(this[j].dom7LiveListeners){for(var k=0;k < this[j].dom7LiveListeners.length;k++) {if(this[j].dom7LiveListeners[k].listener === listener){this[j].removeEventListener(events[i],this[j].dom7LiveListeners[k].liveListener,capture);}}}}}}return this;},once:function once(eventName,targetSelector,listener,capture){var dom=this;if(typeof targetSelector === 'function'){targetSelector = false;listener = arguments[1];capture = arguments[2];}function proxy(e){listener(e);dom.off(eventName,targetSelector,proxy,capture);}dom.on(eventName,targetSelector,proxy,capture);},trigger:function trigger(eventName,eventData){for(var i=0;i < this.length;i++) {var evt;try{evt = new window.CustomEvent(eventName,{detail:eventData,bubbles:true,cancelable:true});}catch(e) {evt = document.createEvent('Event');evt.initEvent(eventName,true,true);evt.detail = eventData;}this[i].dispatchEvent(evt);}return this;},transitionEnd:function transitionEnd(callback){var events=['webkitTransitionEnd','transitionend','oTransitionEnd','MSTransitionEnd','msTransitionEnd'],i,j,dom=this;function fireCallBack(e){ /*jshint validthis:true */if(e.target !== this)return;callback.call(this,e);for(i = 0;i < events.length;i++) {dom.off(events[i],fireCallBack);}}if(callback){for(i = 0;i < events.length;i++) {dom.on(events[i],fireCallBack);}}return this;}, // Sizing/Styles width:function width(){if(this[0] === window){return window.innerWidth;}else {if(this.length > 0){return parseFloat(this.css('width'));}else {return null;}}},outerWidth:function outerWidth(includeMargins){if(this.length > 0){if(includeMargins)return this[0].offsetWidth + parseFloat(this.css('margin-right')) + parseFloat(this.css('margin-left'));else return this[0].offsetWidth;}else return null;},height:function height(){if(this[0] === window){return window.innerHeight;}else {if(this.length > 0){return parseFloat(this.css('height'));}else {return null;}}},outerHeight:function outerHeight(includeMargins){if(this.length > 0){if(includeMargins)return this[0].offsetHeight + parseFloat(this.css('margin-top')) + parseFloat(this.css('margin-bottom'));else return this[0].offsetHeight;}else return null;},offset:function offset(){if(this.length > 0){var el=this[0];var box=el.getBoundingClientRect();var body=document.body;var clientTop=el.clientTop || body.clientTop || 0;var clientLeft=el.clientLeft || body.clientLeft || 0;var scrollTop=window.pageYOffset || el.scrollTop;var scrollLeft=window.pageXOffset || el.scrollLeft;return {top:box.top + scrollTop - clientTop,left:box.left + scrollLeft - clientLeft};}else {return null;}},css:function css(props,value){var i;if(arguments.length === 1){if(typeof props === 'string'){if(this[0])return window.getComputedStyle(this[0],null).getPropertyValue(props);}else {for(i = 0;i < this.length;i++) {for(var prop in props) {this[i].style[prop] = props[prop];}}return this;}}if(arguments.length === 2 && typeof props === 'string'){for(i = 0;i < this.length;i++) {this[i].style[props] = value;}return this;}return this;}, //Dom manipulation each:function each(callback){for(var i=0;i < this.length;i++) {callback.call(this[i],i,this[i]);}return this;},html:function html(_html){if(typeof _html === 'undefined'){return this[0]?this[0].innerHTML:undefined;}else {for(var i=0;i < this.length;i++) {this[i].innerHTML = _html;}return this;}},is:function is(selector){if(!this[0])return false;var compareWith,i;if(typeof selector === 'string'){var el=this[0];if(el === document)return selector === document;if(el === window)return selector === window;if(el.matches)return el.matches(selector);else if(el.webkitMatchesSelector)return el.webkitMatchesSelector(selector);else if(el.mozMatchesSelector)return el.mozMatchesSelector(selector);else if(el.msMatchesSelector)return el.msMatchesSelector(selector);else {compareWith = $(selector);for(i = 0;i < compareWith.length;i++) {if(compareWith[i] === this[0])return true;}return false;}}else if(selector === document)return this[0] === document;else if(selector === window)return this[0] === window;else {if(selector.nodeType || selector instanceof Dom7){compareWith = selector.nodeType?[selector]:selector;for(i = 0;i < compareWith.length;i++) {if(compareWith[i] === this[0])return true;}return false;}return false;}},index:function index(){if(this[0]){var child=this[0];var i=0;while((child = child.previousSibling) !== null) {if(child.nodeType === 1)i++;}return i;}else return undefined;},eq:function eq(index){if(typeof index === 'undefined')return this;var length=this.length;var returnIndex;if(index > length - 1){return new Dom7([]);}if(index < 0){returnIndex = length + index;if(returnIndex < 0)return new Dom7([]);else return new Dom7([this[returnIndex]]);}return new Dom7([this[index]]);},append:function append(newChild){var i,j;for(i = 0;i < this.length;i++) {if(typeof newChild === 'string'){var tempDiv=document.createElement('div');tempDiv.innerHTML = newChild;while(tempDiv.firstChild) {this[i].appendChild(tempDiv.firstChild);}}else if(newChild instanceof Dom7){for(j = 0;j < newChild.length;j++) {this[i].appendChild(newChild[j]);}}else {this[i].appendChild(newChild);}}return this;},prepend:function prepend(newChild){var i,j;for(i = 0;i < this.length;i++) {if(typeof newChild === 'string'){var tempDiv=document.createElement('div');tempDiv.innerHTML = newChild;for(j = tempDiv.childNodes.length - 1;j >= 0;j--) {this[i].insertBefore(tempDiv.childNodes[j],this[i].childNodes[0]);}}else if(newChild instanceof Dom7){for(j = 0;j < newChild.length;j++) {this[i].insertBefore(newChild[j],this[i].childNodes[0]);}}else {this[i].insertBefore(newChild,this[i].childNodes[0]);}}return this;},insertBefore:function insertBefore(selector){var before=$(selector);for(var i=0;i < this.length;i++) {if(before.length === 1){before[0].parentNode.insertBefore(this[i],before[0]);}else if(before.length > 1){for(var j=0;j < before.length;j++) {before[j].parentNode.insertBefore(this[i].cloneNode(true),before[j]);}}}},insertAfter:function insertAfter(selector){var after=$(selector);for(var i=0;i < this.length;i++) {if(after.length === 1){after[0].parentNode.insertBefore(this[i],after[0].nextSibling);}else if(after.length > 1){for(var j=0;j < after.length;j++) {after[j].parentNode.insertBefore(this[i].cloneNode(true),after[j].nextSibling);}}}},next:function next(selector){if(this.length > 0){if(selector){if(this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector))return new Dom7([this[0].nextElementSibling]);else return new Dom7([]);}else {if(this[0].nextElementSibling)return new Dom7([this[0].nextElementSibling]);else return new Dom7([]);}}else return new Dom7([]);},nextAll:function nextAll(selector){var nextEls=[];var el=this[0];if(!el)return new Dom7([]);while(el.nextElementSibling) {var next=el.nextElementSibling;if(selector){if($(next).is(selector))nextEls.push(next);}else nextEls.push(next);el = next;}return new Dom7(nextEls);},prev:function prev(selector){if(this.length > 0){if(selector){if(this[0].previousElementSibling && $(this[0].previousElementSibling).is(selector))return new Dom7([this[0].previousElementSibling]);else return new Dom7([]);}else {if(this[0].previousElementSibling)return new Dom7([this[0].previousElementSibling]);else return new Dom7([]);}}else return new Dom7([]);},prevAll:function prevAll(selector){var prevEls=[];var el=this[0];if(!el)return new Dom7([]);while(el.previousElementSibling) {var prev=el.previousElementSibling;if(selector){if($(prev).is(selector))prevEls.push(prev);}else prevEls.push(prev);el = prev;}return new Dom7(prevEls);},parent:function parent(selector){var parents=[];for(var i=0;i < this.length;i++) {if(selector){if($(this[i].parentNode).is(selector))parents.push(this[i].parentNode);}else {parents.push(this[i].parentNode);}}return $($.unique(parents));},parents:function parents(selector){var parents=[];for(var i=0;i < this.length;i++) {var parent=this[i].parentNode;while(parent) {if(selector){if($(parent).is(selector))parents.push(parent);}else {parents.push(parent);}parent = parent.parentNode;}}return $($.unique(parents));},find:function find(selector){var foundElements=[];for(var i=0;i < this.length;i++) {var found=this[i].querySelectorAll(selector);for(var j=0;j < found.length;j++) {foundElements.push(found[j]);}}return new Dom7(foundElements);},children:function children(selector){var children=[];for(var i=0;i < this.length;i++) {var childNodes=this[i].childNodes;for(var j=0;j < childNodes.length;j++) {if(!selector){if(childNodes[j].nodeType === 1)children.push(childNodes[j]);}else {if(childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector))children.push(childNodes[j]);}}}return new Dom7($.unique(children));},remove:function remove(){for(var i=0;i < this.length;i++) {if(this[i].parentNode)this[i].parentNode.removeChild(this[i]);}return this;},add:function add(){var dom=this;var i,j;for(i = 0;i < arguments.length;i++) {var toAdd=$(arguments[i]);for(j = 0;j < toAdd.length;j++) {dom[dom.length] = toAdd[j];dom.length++;}}return dom;}};$.fn = Dom7.prototype;$.unique = function(arr){var unique=[];for(var i=0;i < arr.length;i++) {if(unique.indexOf(arr[i]) === -1)unique.push(arr[i]);}return unique;};return $;})(); /*=========================== Get Dom libraries ===========================*/swiperDomPlugins = ['jQuery','Zepto','Dom7'];for(i = 0;i < swiperDomPlugins.length;i++) {if(window[swiperDomPlugins[i]]){addLibraryPlugin(window[swiperDomPlugins[i]]);}} // Required DOM Plugins if(typeof Dom7 === 'undefined'){domLib = window.Dom7 || window.Zepto || window.jQuery;}else {domLib = Dom7;}if(domLib){if(!('transitionEnd' in domLib.fn)){domLib.fn.transitionEnd = function(callback){var events=['webkitTransitionEnd','transitionend','oTransitionEnd','MSTransitionEnd','msTransitionEnd'],i,j,dom=this;function fireCallBack(e){ /*jshint validthis:true */if(e.target !== this)return;callback.call(this,e);for(i = 0;i < events.length;i++) {dom.off(events[i],fireCallBack);}}if(callback){for(i = 0;i < events.length;i++) {dom.on(events[i],fireCallBack);}}return this;};}if(!('transform' in domLib.fn)){domLib.fn.transform = function(transform){for(var i=0;i < this.length;i++) {var elStyle=this[i].style;elStyle.webkitTransform = elStyle.MsTransform = elStyle.msTransform = elStyle.MozTransform = elStyle.OTransform = elStyle.transform = transform;}return this;};}if(!('transition' in domLib.fn)){domLib.fn.transition = function(duration){if(typeof duration !== 'string'){duration = duration + 'ms';}for(var i=0;i < this.length;i++) {var elStyle=this[i].style;elStyle.webkitTransitionDuration = elStyle.MsTransitionDuration = elStyle.msTransitionDuration = elStyle.MozTransitionDuration = elStyle.OTransitionDuration = elStyle.transitionDuration = duration;}return this;};}}}};}); System.register("ionic/components/tabs/tab", ["angular2/core", "../app/app", "../../config/config", "../../util/keyboard", "../nav/nav-controller", "./tabs"], function (_export) { /** * @name Tab * @usage * ```html * * * * * ``` * * @description * _For basic Tabs usage, see the [Tabs section](../../../../components/#tabs) * of the Component docs._ * * Tab components are basic navigation controllers used with Tabs. Much like * Nav, they are a subclass of NavController and can be used to navigate * to pages in and manipulate the navigation stack of a particular tab. * * For more information on using navigation controllers like Tab or [Nav](../../nav/Nav/), * take a look at the [NavController API reference](../NavController/). * * See the [Tabs API reference](../Tabs/) for more details on configuring Tabs * and the TabBar. * * For most cases, you can give tab a `[root]` property along with the component you want to load. * * ```html * * * * ``` * * ```ts * import {Chat} from '../chat/chat'; * export class Tabs { * constructor(){ * // here we'll set the property of chatRoot to * // the imported class of Chat * this.chatRoot = Chat * } * } * ``` * * In other cases, you may not want to navigate to a new component, but just * call a method. You can use the `(select)` event to call a method on your * class. Below is an example of presenting a modal from one of the tabs. * * ```html * * * * ``` * * ```ts * export class Tabs { * constructor(nav: NavController){ * this.nav = nav; * } * chat() { * let modal = Modal.create(ChatPage); * this.nav.present(modal); * } * } * ``` * * * @property {any} [root] - set the root page for this tab * @property {any} [tabTitle] - set the title of this tab * @property {any} [tabIcon] - set the icon for this tab * @property {any} [select] - method to call when the current tab is selected * */ "use strict"; var ChangeDetectorRef, Component, Host, ElementRef, Compiler, AppViewManager, NgZone, Renderer, EventEmitter, Output, IonicApp, Config, Keyboard, NavController, Tabs, __decorate, __metadata, __param, Tab, _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_angular2Core) { ChangeDetectorRef = _angular2Core.ChangeDetectorRef; Component = _angular2Core.Component; Host = _angular2Core.Host; ElementRef = _angular2Core.ElementRef; Compiler = _angular2Core.Compiler; AppViewManager = _angular2Core.AppViewManager; NgZone = _angular2Core.NgZone; Renderer = _angular2Core.Renderer; EventEmitter = _angular2Core.EventEmitter; Output = _angular2Core.Output; }, function (_appApp) { IonicApp = _appApp.IonicApp; }, function (_configConfig) { Config = _configConfig.Config; }, function (_utilKeyboard) { Keyboard = _utilKeyboard.Keyboard; }, function (_navNavController) { NavController = _navNavController.NavController; }, function (_tabs) { Tabs = _tabs.Tabs; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; Tab = (function (_NavController) { _inherits(Tab, _NavController); function Tab(parentTabs, app, config, keyboard, elementRef, compiler, viewManager, zone, renderer, cd) { _classCallCheck(this, Tab); // A Tab is a NavController for its child pages _get(Object.getPrototypeOf(Tab.prototype), "constructor", this).call(this, parentTabs, app, config, keyboard, elementRef, 'contents', compiler, viewManager, zone, renderer, cd); this.select = new EventEmitter(); this._isInitial = parentTabs.add(this); this._panelId = 'tabpanel-' + this.id; this._btnId = 'tab-' + this.id; } /** * @private */ _createClass(Tab, [{ key: "ngOnInit", value: function ngOnInit() { var _this = this; if (this._isInitial) { this.parent.select(this); } else if (this.parent.preloadTabs) { this._loadTimer = setTimeout(function () { if (!_this._loaded) { _this.load({ animate: false, preload: true, postLoad: function postLoad(viewCtrl) { var navbar = viewCtrl.getNavbar(); navbar && navbar.setHidden(true); } }, function () {}); } }, 1000 * this.index); } } /** * @private */ }, { key: "load", value: function load(opts, done) { if (!this._loaded && this.root) { this.push(this.root, null, opts, done); this._loaded = true; } else { done(); } } /** * @private */ }, { key: "loadPage", value: function loadPage(viewCtrl, navbarContainerRef, opts, done) { // by default a page's navbar goes into the shared tab's navbar section navbarContainerRef = this.parent.navbarContainerRef; var isTabSubPage = this.parent.subPages && viewCtrl.index > 0; if (isTabSubPage) { // a subpage, that's not the first index // should not use the shared tabs navbar section, but use it's own navbarContainerRef = null; } _get(Object.getPrototypeOf(Tab.prototype), "loadPage", this).call(this, viewCtrl, navbarContainerRef, opts, function () { if (viewCtrl.instance) { viewCtrl.instance._tabSubPage = isTabSubPage; } done(); }); } /** * @private */ }, { key: "setSelected", value: function setSelected(isSelected) { this.isSelected = isSelected; this.hideNavbars(!isSelected); } /** * @private */ }, { key: "emitSelect", value: function emitSelect() { this.select.emit(); } /** * @private */ }, { key: "hideNavbars", value: function hideNavbars(shouldHideNavbars) { this._views.forEach(function (viewCtrl) { var navbar = viewCtrl.getNavbar(); navbar && navbar.setHidden(shouldHideNavbars); }); } /** * * ```ts * export class MyClass{ * constructor(tab: Tab){ * this.tab = tab; * console.log(this.tab.index); * } * } * ``` * * @returns {Number} Returns the index of this page within its NavController. * */ }, { key: "ngOnDestroy", /** * @private */ value: function ngOnDestroy() { clearTimeout(this._loadTimer); } }, { key: "index", get: function get() { return this.parent.getIndex(this); } }]); return Tab; })(NavController); _export("Tab", Tab); __decorate([Output(), __metadata('design:type', typeof (_a = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _a || Object)], Tab.prototype, "select", void 0); _export("Tab", Tab = __decorate([Component({ selector: 'ion-tab', inputs: ['root', 'tabTitle', 'tabIcon'], host: { '[class.show-tab]': 'isSelected', '[attr.id]': '_panelId', '[attr.aria-labelledby]': '_btnId', 'role': 'tabpanel' }, template: '' }), __param(0, Host()), __metadata('design:paramtypes', [typeof (_b = typeof Tabs !== 'undefined' && Tabs) === 'function' && _b || Object, typeof (_c = typeof IonicApp !== 'undefined' && IonicApp) === 'function' && _c || Object, typeof (_d = typeof Config !== 'undefined' && Config) === 'function' && _d || Object, typeof (_e = typeof Keyboard !== 'undefined' && Keyboard) === 'function' && _e || Object, typeof (_f = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _f || Object, typeof (_g = typeof Compiler !== 'undefined' && Compiler) === 'function' && _g || Object, typeof (_h = typeof AppViewManager !== 'undefined' && AppViewManager) === 'function' && _h || Object, typeof (_j = typeof NgZone !== 'undefined' && NgZone) === 'function' && _j || Object, typeof (_k = typeof Renderer !== 'undefined' && Renderer) === 'function' && _k || Object, typeof (_l = typeof ChangeDetectorRef !== 'undefined' && ChangeDetectorRef) === 'function' && _l || Object])], Tab)); } }; }); System.register("ionic/components/tabs/tabs", ["angular2/core", "angular2/common", "../ion", "../app/id", "../../config/config", "../../platform/platform", "../nav/nav-controller", "../nav/view-controller", "../../decorators/config-component", "../icon/icon", "../../util/dom"], function (_export) { /** * @name Tabs * @property {any} [tabbarPlacement] - set position of the tabbar, top or bottom * @property {any} [tabbarIcons] - set the position of the tabbar's icons: top, bottom, left, right, hide * @property {any} [preloadTabs] - sets whether to preload all the tabs, true or false * @usage * ```html * * * * ``` * @description * _For basic Tabs usage, see the [Tabs section](../../../../components/#tabs) * of the Component docs._ * * The Tabs component is a container with a TabBar and any number of * individual Tab components. On iOS, the TabBar is placed on the bottom of * the screen, while on Android it is at the top. * * @see {@link /docs/v3/components#tabs Tabs Component Docs} * @see {@link ../Tab Tab API Docs} */ "use strict"; var Directive, ElementRef, Optional, Host, forwardRef, ViewContainerRef, HostListener, EventEmitter, Output, NgFor, NgIf, Ion, Attr, Config, Platform, NavController, ViewController, ConfigComponent, Icon, rafFrames, __decorate, __metadata, __param, Tabs, tabIds, TabButton, TabHighlight, TabNavBarAnchor, _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_angular2Core) { Directive = _angular2Core.Directive; ElementRef = _angular2Core.ElementRef; Optional = _angular2Core.Optional; Host = _angular2Core.Host; forwardRef = _angular2Core.forwardRef; ViewContainerRef = _angular2Core.ViewContainerRef; HostListener = _angular2Core.HostListener; EventEmitter = _angular2Core.EventEmitter; Output = _angular2Core.Output; }, function (_angular2Common) { NgFor = _angular2Common.NgFor; NgIf = _angular2Common.NgIf; }, function (_ion) { Ion = _ion.Ion; }, function (_appId) { Attr = _appId.Attr; }, function (_configConfig) { Config = _configConfig.Config; }, function (_platformPlatform) { Platform = _platformPlatform.Platform; }, function (_navNavController) { NavController = _navNavController.NavController; }, function (_navViewController) { ViewController = _navViewController.ViewController; }, function (_decoratorsConfigComponent) { ConfigComponent = _decoratorsConfigComponent.ConfigComponent; }, function (_iconIcon) { Icon = _iconIcon.Icon; }, function (_utilDom) { rafFrames = _utilDom.rafFrames; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; Tabs = (function (_Ion) { _inherits(Tabs, _Ion); /** * Hi, I'm "Tabs". I'm really just another Page, with a few special features. * "Tabs" can be a sibling to other pages that can be navigated to, which those * sibling pages may or may not have their own tab bars (doesn't matter). The fact * that "Tabs" can happen to have children "Tab" classes, and each "Tab" can have * children pages with their own "ViewController" instance, as nothing to do with the * point that "Tabs" is itself is just a page with its own instance of ViewController. */ function Tabs(config, elementRef, viewCtrl, navCtrl, _platform) { var _this = this; _classCallCheck(this, Tabs); _get(Object.getPrototypeOf(Tabs.prototype), "constructor", this).call(this, elementRef, config); this._platform = _platform; this.change = new EventEmitter(); this.parent = navCtrl; this.subPages = config.get('tabSubPages'); this._tabs = []; this._id = ++tabIds; this._ids = -1; this._onReady = null; // Tabs may also be an actual ViewController which was navigated to // if Tabs is static and not navigated to within a NavController // then skip this and don't treat it as it's own ViewController if (viewCtrl) { viewCtrl.setContent(this); viewCtrl.setContentRef(elementRef); viewCtrl.onReady = function (done) { _this._onReady = done; }; } } /** * @private */ _createClass(Tabs, [{ key: "ngOnInit", value: function ngOnInit() { var _this2 = this; _get(Object.getPrototypeOf(Tabs.prototype), "ngOnInit", this).call(this); this.preloadTabs = this.preloadTabs !== "false" && this.preloadTabs !== false; if (this._highlight) { this._platform.onResize(function () { _this2._highlight.select(_this2.getSelected()); }); } } /** * @private */ }, { key: "add", value: function add(tab) { tab.id = this._id + '-' + ++this._ids; this._tabs.push(tab); return this._tabs.length === 1; } /** * @param {Number} index Index of the tab you want to select */ }, { key: "select", value: function select(tabOrIndex) { var _this3 = this; var selectedTab = typeof tabOrIndex === 'number' ? this.getByIndex(tabOrIndex) : tabOrIndex; if (!selectedTab) { return Promise.reject(); } var deselectedTab = this.getSelected(); if (selectedTab === deselectedTab) { // no change return this._touchActive(selectedTab); } console.time('Tabs#select ' + selectedTab.id); var opts = { animate: false }; var deselectedPage = undefined; if (deselectedTab) { deselectedPage = deselectedTab.getActive(); deselectedPage && deselectedPage.willLeave(); } var selectedPage = selectedTab.getActive(); selectedPage && selectedPage.willEnter(); selectedTab.load(opts, function () { selectedTab.emitSelect(); _this3.change.emit(selectedTab); if (selectedTab.root) { // only show the selectedTab if it has a root // it's possible the tab is only for opening modal's or signing out // and doesn't actually have content. In the case there's no content // for a tab then do nothing and leave the current view as is _this3._tabs.forEach(function (tab) { tab.setSelected(tab === selectedTab); }); } _this3._highlight && _this3._highlight.select(selectedTab); selectedPage && selectedPage.didEnter(); deselectedPage && deselectedPage.didLeave(); if (_this3._onReady) { _this3._onReady(); _this3._onReady = null; } console.time('Tabs#select ' + selectedTab.id); }); } /** * @param {Number} index Index of the tab you want to get * @returns {Any} Tab Returs the tab who's index matches the one passed */ }, { key: "getByIndex", value: function getByIndex(index) { if (index < this._tabs.length && index > -1) { return this._tabs[index]; } return null; } /** * @return {Any} Tab Returns the currently selected tab */ }, { key: "getSelected", value: function getSelected() { for (var i = 0; i < this._tabs.length; i++) { if (this._tabs[i].isSelected) { return this._tabs[i]; } } return null; } /** * @private */ }, { key: "getIndex", value: function getIndex(tab) { return this._tabs.indexOf(tab); } /** * @private * "Touch" the active tab, going back to the root view of the tab * or optionally letting the tab handle the event */ }, { key: "_touchActive", value: function _touchActive(tab) { var active = tab.getActive(); if (!active) { return Promise.resolve(); } var instance = active.instance; // If they have a custom tab selected handler, call it if (instance.tabSelected) { return instance.tabSelected(); } // If we're a few pages deep, pop to root if (tab.length() > 1) { // Pop to the root view return tab.popToRoot(); } // Otherwise, if the page we're on is not our real root, reset it to our // default root type if (tab.root != active.componentType) { return tab.setRoot(tab.root); } // And failing all of that, we do something safe and secure return Promise.resolve(); } /** * Returns the root NavController. Returns `null` if Tabs is not * within a NavController. * @returns {NavController} */ }, { key: "rootNav", get: function get() { var nav = this.parent; while (nav.parent) { nav = nav.parent; } return nav; } }]); return Tabs; })(Ion); _export("Tabs", Tabs); __decorate([Output(), __metadata('design:type', typeof (_a = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _a || Object)], Tabs.prototype, "change", void 0); _export("Tabs", Tabs = __decorate([ConfigComponent({ selector: 'ion-tabs', defaultInputs: { 'tabbarPlacement': 'bottom', 'tabbarIcons': 'top', 'preloadTabs': false }, template: '' + '' + '' + '' + '' + '
' + '' + '{{t.tabTitle}}' + '' + '' + '' + '' + '' + '' + '', directives: [Icon, NgFor, NgIf, Attr, forwardRef(function () { return TabButton; }), forwardRef(function () { return TabHighlight; }), forwardRef(function () { return TabNavBarAnchor; })] }), __param(2, Optional()), __param(3, Optional()), __metadata('design:paramtypes', [typeof (_b = typeof Config !== 'undefined' && Config) === 'function' && _b || Object, typeof (_c = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _c || Object, typeof (_d = typeof ViewController !== 'undefined' && ViewController) === 'function' && _d || Object, typeof (_e = typeof NavController !== 'undefined' && NavController) === 'function' && _e || Object, typeof (_f = typeof Platform !== 'undefined' && Platform) === 'function' && _f || Object])], Tabs)); tabIds = -1; /** * @private */ TabButton = (function (_Ion2) { _inherits(TabButton, _Ion2); function TabButton(tabs, config, elementRef) { _classCallCheck(this, TabButton); _get(Object.getPrototypeOf(TabButton.prototype), "constructor", this).call(this, elementRef, config); this.tabs = tabs; this.disHover = config.get('hoverCSS') === false; } _createClass(TabButton, [{ key: "ngOnInit", value: function ngOnInit() { this.tab.btn = this; this.hasTitle = !!this.tab.tabTitle; this.hasIcon = !!this.tab.tabIcon; this.hasTitleOnly = this.hasTitle && !this.hasIcon; this.hasIconOnly = this.hasIcon && !this.hasTitle; } }, { key: "onClick", value: function onClick() { this.tabs.select(this.tab); } }]); return TabButton; })(Ion); __decorate([HostListener('click'), __metadata('design:type', Function), __metadata('design:paramtypes', []), __metadata('design:returntype', void 0)], TabButton.prototype, "onClick", null); TabButton = __decorate([Directive({ selector: '.tab-button', inputs: ['tab'], host: { '[attr.id]': 'tab._btnId', '[attr.aria-controls]': 'tab._panelId', '[attr.aria-selected]': 'tab.isSelected', '[class.has-title]': 'hasTitle', '[class.has-icon]': 'hasIcon', '[class.has-title-only]': 'hasTitleOnly', '[class.icon-only]': 'hasIconOnly', '[class.disable-hover]': 'disHover' } }), __param(0, Host()), __metadata('design:paramtypes', [Tabs, typeof (_g = typeof Config !== 'undefined' && Config) === 'function' && _g || Object, typeof (_h = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _h || Object])], TabButton); /** * @private */ TabHighlight = (function () { function TabHighlight(tabs, config, elementRef) { _classCallCheck(this, TabHighlight); if (config.get('tabbarHighlight')) { tabs._highlight = this; this.elementRef = elementRef; } } _createClass(TabHighlight, [{ key: "select", value: function select(tab) { var _this4 = this; rafFrames(3, function () { var d = tab.btn.getDimensions(); var ele = _this4.elementRef.nativeElement; ele.style.transform = 'translate3d(' + d.left + 'px,0,0) scaleX(' + d.width + ')'; if (!_this4.init) { _this4.init = true; rafFrames(6, function () { ele.classList.add('animate'); }); } }); } }]); return TabHighlight; })(); TabHighlight = __decorate([Directive({ selector: 'tab-highlight' }), __param(0, Host()), __metadata('design:paramtypes', [Tabs, typeof (_j = typeof Config !== 'undefined' && Config) === 'function' && _j || Object, typeof (_k = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _k || Object])], TabHighlight); /** * @private */ TabNavBarAnchor = function TabNavBarAnchor(tabs, viewContainerRef) { _classCallCheck(this, TabNavBarAnchor); tabs.navbarContainerRef = viewContainerRef; }; TabNavBarAnchor = __decorate([Directive({ selector: 'template[navbar-anchor]' }), __param(0, Host()), __metadata('design:paramtypes', [Tabs, typeof (_l = typeof ViewContainerRef !== 'undefined' && ViewContainerRef) === 'function' && _l || Object])], TabNavBarAnchor); } }; }); System.register('ionic/components/tap-click/activator', ['../../util/dom'], function (_export) { 'use strict'; var rafFrames, Activator; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } return { setters: [function (_utilDom) { rafFrames = _utilDom.rafFrames; }], execute: function () { Activator = (function () { function Activator(app, config, zone) { _classCallCheck(this, Activator); this.app = app; this.zone = zone; this.queue = []; this.active = []; this.clearStateDefers = 5; this.clearAttempt = 0; this.activatedClass = config.get('activatedClass') || 'activated'; this.x = 0; this.y = 0; } _createClass(Activator, [{ key: 'downAction', value: function downAction(ev, activatableEle, pointerX, pointerY, callback) { // the user just pressed down var self = this; if (self.disableActivated(ev)) return false; // remember where they pressed self.x = pointerX; self.y = pointerY; // queue to have this element activated self.queue.push(activatableEle); function activateCss() { var activatableEle = undefined; for (var i = 0; i < self.queue.length; i++) { activatableEle = self.queue[i]; if (activatableEle && activatableEle.parentNode) { self.active.push(activatableEle); activatableEle.classList.add(self.activatedClass); } } self.queue = []; } this.zone.runOutsideAngular(function () { rafFrames(2, activateCss); }); return true; } }, { key: 'upAction', value: function upAction() { // the user was pressing down, then just let up var self = this; function activateUp() { self.clearState(); } this.zone.runOutsideAngular(function () { rafFrames(self.clearStateDefers, activateUp); }); } }, { key: 'clearState', value: function clearState() { var _this = this; // all states should return to normal if (!this.app.isEnabled()) { // the app is actively disabled, so don't bother deactivating anything. // this makes it easier on the GPU so it doesn't have to redraw any // buttons during a transition. This will retry in XX milliseconds. setTimeout(function () { _this.clearState(); }, 600); } else { // not actively transitioning, good to deactivate any elements this.deactivate(); } } }, { key: 'deactivate', value: function deactivate() { // remove the active class from all active elements var self = this; self.queue = []; function deactivate() { for (var i = 0; i < self.active.length; i++) { self.active[i].classList.remove(self.activatedClass); } self.active = []; } rafFrames(2, deactivate); } }, { key: 'disableActivated', value: function disableActivated(ev) { if (ev.defaultPrevented) return true; var targetEle = ev.target; for (var x = 0; x < 4; x++) { if (!targetEle) break; if (targetEle.hasAttribute('disable-activated')) return true; targetEle = targetEle.parentElement; } return false; } }]); return Activator; })(); _export('Activator', Activator); } }; }); System.register('ionic/components/tap-click/ripple', ['./activator', '../../animations/animation', '../../util/dom'], function (_export) { 'use strict'; var Activator, Animation, raf, rafFrames, RippleActivator, TOUCH_DOWN_ACCEL, EXPAND_DOWN_PLAYBACK_RATE, EXPAND_OUT_PLAYBACK_RATE, FADE_OUT_DURATION; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } return { setters: [function (_activator) { Activator = _activator.Activator; }, function (_animationsAnimation) { Animation = _animationsAnimation.Animation; }, function (_utilDom) { raf = _utilDom.raf; rafFrames = _utilDom.rafFrames; }], execute: function () { RippleActivator = (function (_Activator) { _inherits(RippleActivator, _Activator); function RippleActivator(app, config, zone) { _classCallCheck(this, RippleActivator); _get(Object.getPrototypeOf(RippleActivator.prototype), 'constructor', this).call(this, app, config, zone); this.expands = {}; this.fades = {}; this.expandSpeed = null; } _createClass(RippleActivator, [{ key: 'downAction', value: function downAction(ev, activatableEle, pointerX, pointerY) { var _this = this; if (_get(Object.getPrototypeOf(RippleActivator.prototype), 'downAction', this).call(this, ev, activatableEle, pointerX, pointerY)) { // create a new ripple element this.expandSpeed = EXPAND_DOWN_PLAYBACK_RATE; this.zone.runOutsideAngular(function () { raf(function () { var clientRect = activatableEle.getBoundingClientRect(); raf(function () { _this.createRipple(activatableEle, pointerX, pointerY, clientRect); }); }); }); } } }, { key: 'createRipple', value: function createRipple(activatableEle, pointerX, pointerY, clientRect) { var _this2 = this; var clientPointerX = pointerX - clientRect.left; var clientPointerY = pointerY - clientRect.top; var x = Math.max(Math.abs(clientRect.width - clientPointerX), clientPointerX) * 2; var y = Math.max(Math.abs(clientRect.height - clientPointerY), clientPointerY) * 2; var diameter = Math.max(Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)), 64); var radius = Math.sqrt(clientRect.width + clientRect.height); var duration = 1000 * Math.sqrt(radius / TOUCH_DOWN_ACCEL) + 0.5; var rippleEle = document.createElement('md-ripple'); var rippleId = Date.now(); var eleStyle = rippleEle.style; eleStyle.width = eleStyle.height = diameter + 'px'; eleStyle.marginTop = eleStyle.marginLeft = -(diameter / 2) + 'px'; eleStyle.left = clientPointerX + 'px'; eleStyle.top = clientPointerY + 'px'; activatableEle.appendChild(rippleEle); // create the animation for the fade out, but don't start it yet this.fades[rippleId] = new Animation(rippleEle, { renderDelay: 0 }); this.fades[rippleId].fadeOut().duration(FADE_OUT_DURATION).playbackRate(1).onFinish(function () { raf(function () { _this2.fades[rippleId].dispose(true); delete _this2.fades[rippleId]; }); }); // expand the circle from the users starting point // start slow, and when they let up, then speed up the animation this.expands[rippleId] = new Animation(rippleEle, { renderDelay: 0 }); this.expands[rippleId].fromTo('scale', '0.001', '1').duration(duration).playbackRate(this.expandSpeed).onFinish(function () { _this2.expands[rippleId].dispose(); delete _this2.expands[rippleId]; _this2.next(); }).play(); } }, { key: 'upAction', value: function upAction() { var _this3 = this; this.deactivate(); this.expandSpeed = 1; this.zone.runOutsideAngular(function () { rafFrames(4, function () { _this3.next(); }); }); } }, { key: 'next', value: function next() { var now = Date.now(); var rippleId = undefined; for (rippleId in this.expands) { if (parseInt(rippleId, 10) + 4000 < now) { this.expands[rippleId].dispose(true); delete this.expands[rippleId]; } else if (this.expands[rippleId].playbackRate() === EXPAND_DOWN_PLAYBACK_RATE) { this.expands[rippleId].playbackRate(EXPAND_OUT_PLAYBACK_RATE); } } for (rippleId in this.fades) { if (parseInt(rippleId, 10) + 4000 < now) { this.fades[rippleId].dispose(true); delete this.fades[rippleId]; } else if (!this.fades[rippleId].isPlaying) { this.fades[rippleId].isPlaying = true; this.fades[rippleId].play(); } } } }, { key: 'clearState', value: function clearState() { this.deactivate(); this.next(); } }]); return RippleActivator; })(Activator); _export('RippleActivator', RippleActivator); TOUCH_DOWN_ACCEL = 512; EXPAND_DOWN_PLAYBACK_RATE = 0.35; EXPAND_OUT_PLAYBACK_RATE = 3; FADE_OUT_DURATION = 700; } }; }); System.register("ionic/components/tap-click/tap-click", ["angular2/core", "../app/app", "../../config/config", "../../util/dom", "./activator", "./ripple"], function (_export) { /** * @private */ "use strict"; var Injectable, NgZone, IonicApp, Config, pointerCoord, hasPointerMoved, Activator, RippleActivator, __decorate, __metadata, TapClick, ACTIVATABLE_ELEMENTS, ACTIVATABLE_ATTRIBUTES, POINTER_TOLERANCE, POINTER_MOVE_UNTIL_CANCEL, DISABLE_NATIVE_CLICK_AMOUNT, _a, _b, _c; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); _export("isActivatable", isActivatable); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function getActivatableTarget(ele) { var targetEle = ele; for (var x = 0; x < 4; x++) { if (!targetEle) break; if (isActivatable(targetEle)) return targetEle; targetEle = targetEle.parentElement; } return null; } /** * @private */ function isActivatable(ele) { if (ACTIVATABLE_ELEMENTS.test(ele.tagName)) { return true; } var attributes = ele.attributes; for (var i = 0, l = attributes.length; i < l; i++) { if (ACTIVATABLE_ATTRIBUTES.test(attributes[i].name)) { return true; } } return false; } function addListener(type, listener, useCapture) { document.addEventListener(type, listener, useCapture); } function removeListener(type, listener) { document.removeEventListener(type, listener); } return { setters: [function (_angular2Core) { Injectable = _angular2Core.Injectable; NgZone = _angular2Core.NgZone; }, function (_appApp) { IonicApp = _appApp.IonicApp; }, function (_configConfig) { Config = _configConfig.Config; }, function (_utilDom) { pointerCoord = _utilDom.pointerCoord; hasPointerMoved = _utilDom.hasPointerMoved; }, function (_activator) { Activator = _activator.Activator; }, function (_ripple) { RippleActivator = _ripple.RippleActivator; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; TapClick = (function () { function TapClick(app, config, zone) { _classCallCheck(this, TapClick); var self = this; self.app = app; self.zone = zone; self.lastTouch = 0; self.disableClick = 0; self.lastActivated = 0; if (config.get('activator') == 'ripple') { self.activator = new RippleActivator(app, config, zone); } else if (config.get('activator') == 'highlight') { self.activator = new Activator(app, config, zone); } self.usePolyfill = config.get('tapPolyfill') === true; zone.runOutsideAngular(function () { addListener('click', self.click.bind(self), true); addListener('touchstart', self.touchStart.bind(self)); addListener('touchend', self.touchEnd.bind(self)); addListener('touchcancel', self.pointerCancel.bind(self)); addListener('mousedown', self.mouseDown.bind(self), true); addListener('mouseup', self.mouseUp.bind(self), true); }); self.pointerMove = function (ev) { if (hasPointerMoved(POINTER_MOVE_UNTIL_CANCEL, self.startCoord, pointerCoord(ev))) { self.pointerCancel(ev); } }; } _createClass(TapClick, [{ key: "touchStart", value: function touchStart(ev) { this.lastTouch = Date.now(); this.pointerStart(ev); } }, { key: "touchEnd", value: function touchEnd(ev) { this.lastTouch = Date.now(); if (this.usePolyfill && this.startCoord && this.app.isEnabled()) { // only dispatch mouse click events from a touchend event // when tapPolyfill config is true, and the startCoordand endCoord // are not too far off from each other var endCoord = pointerCoord(ev); if (!hasPointerMoved(POINTER_TOLERANCE, this.startCoord, endCoord)) { // prevent native mouse click events for XX amount of time this.disableClick = this.lastTouch + DISABLE_NATIVE_CLICK_AMOUNT; if (this.app.isScrolling()) { // do not fire off a click event while the app was scrolling console.debug('click from touch prevented by scrolling ' + Date.now()); } else { // dispatch a mouse click event console.debug('create click from touch ' + Date.now()); var clickEvent = document.createEvent('MouseEvents'); clickEvent.initMouseEvent('click', true, true, window, 1, 0, 0, endCoord.x, endCoord.y, false, false, false, false, 0, null); clickEvent.isIonicTap = true; ev.target.dispatchEvent(clickEvent); } } } this.pointerEnd(ev); } }, { key: "mouseDown", value: function mouseDown(ev) { if (this.isDisabledNativeClick()) { console.debug('mouseDown prevent ' + ev.target.tagName + ' ' + Date.now()); // does not prevent default on purpose // so native blur events from inputs can happen ev.stopPropagation(); } else if (this.lastTouch + DISABLE_NATIVE_CLICK_AMOUNT < Date.now()) { this.pointerStart(ev); } } }, { key: "mouseUp", value: function mouseUp(ev) { if (this.isDisabledNativeClick()) { console.debug('mouseUp prevent ' + ev.target.tagName + ' ' + Date.now()); ev.preventDefault(); ev.stopPropagation(); } if (this.lastTouch + DISABLE_NATIVE_CLICK_AMOUNT < Date.now()) { this.pointerEnd(ev); } } }, { key: "pointerStart", value: function pointerStart(ev) { var activatableEle = getActivatableTarget(ev.target); if (activatableEle) { this.startCoord = pointerCoord(ev); var now = Date.now(); if (this.lastActivated + 150 < now) { this.activator && this.activator.downAction(ev, activatableEle, this.startCoord.x, this.startCoord.y); this.lastActivated = now; } this.moveListeners(true); } else { this.startCoord = null; } } }, { key: "pointerEnd", value: function pointerEnd(ev) { this.moveListeners(false); this.activator && this.activator.upAction(); } }, { key: "pointerCancel", value: function pointerCancel(ev) { console.debug('pointerCancel from ' + ev.type + ' ' + Date.now()); this.activator && this.activator.clearState(); this.moveListeners(false); } }, { key: "moveListeners", value: function moveListeners(shouldAdd) { removeListener(this.usePolyfill ? 'touchmove' : 'mousemove', this.pointerMove); //this.zone.runOutsideAngular(() => { if (shouldAdd) { addListener(this.usePolyfill ? 'touchmove' : 'mousemove', this.pointerMove); } else {} //}); } }, { key: "click", value: function click(ev) { var preventReason = null; if (!this.app.isEnabled()) { preventReason = 'appDisabled'; } else if (!ev.isIonicTap && this.isDisabledNativeClick()) { preventReason = 'nativeClick'; } if (preventReason !== null) { console.debug('click prevent ' + preventReason + ' ' + Date.now()); ev.preventDefault(); ev.stopPropagation(); } } }, { key: "isDisabledNativeClick", value: function isDisabledNativeClick() { return this.disableClick > Date.now(); } }]); return TapClick; })(); _export("TapClick", TapClick); _export("TapClick", TapClick = __decorate([Injectable(), __metadata('design:paramtypes', [typeof (_a = typeof IonicApp !== 'undefined' && IonicApp) === 'function' && _a || Object, typeof (_b = typeof Config !== 'undefined' && Config) === 'function' && _b || Object, typeof (_c = typeof NgZone !== 'undefined' && NgZone) === 'function' && _c || Object])], TapClick));ACTIVATABLE_ELEMENTS = /^(A|BUTTON)$/; ACTIVATABLE_ATTRIBUTES = /tappable|button/i; POINTER_TOLERANCE = 4; POINTER_MOVE_UNTIL_CANCEL = 10; DISABLE_NATIVE_CLICK_AMOUNT = 2500; } }; }); System.register("ionic/components/text-input/text-input", ["angular2/core", "angular2/common", "../nav/nav-controller", "../../config/config", "../../util/form", "../label/label", "../app/app", "../content/content", "../../util/dom", "../../platform/platform", "../button/button", "../icon/icon"], function (_export) { /** * @private */ "use strict"; var Component, Directive, Attribute, forwardRef, Host, Optional, ElementRef, Renderer, Input, Output, EventEmitter, ContentChild, ContentChildren, HostListener, NgIf, NavController, Config, Form, Label, IonicApp, Content, CSS, _hasFocus, pointerCoord, hasPointerMoved, Platform, Button, Icon, __decorate, __metadata, __param, TextInputElement, _TextInput, InputScrollAssist, SCROLL_ASSIST_SPEED, _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function cloneInput(srcInput, addCssClass) { var clonedInputEle = srcInput.cloneNode(true); clonedInputEle.classList.add(addCssClass); clonedInputEle.classList.remove('hide-focused-input'); clonedInputEle.setAttribute('aria-hidden', true); clonedInputEle.removeAttribute('aria-labelledby'); clonedInputEle.tabIndex = -1; return clonedInputEle; } function getScrollAssistDuration(distanceToScroll) { //return 3000; distanceToScroll = Math.abs(distanceToScroll); var duration = distanceToScroll / SCROLL_ASSIST_SPEED; return Math.min(400, Math.max(100, duration)); } return { setters: [function (_angular2Core) { Component = _angular2Core.Component; Directive = _angular2Core.Directive; Attribute = _angular2Core.Attribute; forwardRef = _angular2Core.forwardRef; Host = _angular2Core.Host; Optional = _angular2Core.Optional; ElementRef = _angular2Core.ElementRef; Renderer = _angular2Core.Renderer; Input = _angular2Core.Input; Output = _angular2Core.Output; EventEmitter = _angular2Core.EventEmitter; ContentChild = _angular2Core.ContentChild; ContentChildren = _angular2Core.ContentChildren; HostListener = _angular2Core.HostListener; }, function (_angular2Common) { NgIf = _angular2Common.NgIf; }, function (_navNavController) { NavController = _navNavController.NavController; }, function (_configConfig) { Config = _configConfig.Config; }, function (_utilForm) { Form = _utilForm.Form; }, function (_labelLabel) { Label = _labelLabel.Label; }, function (_appApp) { IonicApp = _appApp.IonicApp; }, function (_contentContent) { Content = _contentContent.Content; }, function (_utilDom) { CSS = _utilDom.CSS; _hasFocus = _utilDom.hasFocus; pointerCoord = _utilDom.pointerCoord; hasPointerMoved = _utilDom.hasPointerMoved; }, function (_platformPlatform) { Platform = _platformPlatform.Platform; }, function (_buttonButton) { Button = _buttonButton.Button; }, function (_iconIcon) { Icon = _iconIcon.Icon; }], execute: function () { __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __metadata = undefined && undefined.__metadata || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; TextInputElement = (function () { function TextInputElement(type, _elementRef, _renderer) { _classCallCheck(this, TextInputElement); this._elementRef = _elementRef; this._renderer = _renderer; this.valueChange = new EventEmitter(); this.focusChange = new EventEmitter(); this.type = type || 'text'; } _createClass(TextInputElement, [{ key: "ngOnInit", value: function ngOnInit() { if (this.ngModel) { this.value = this.ngModel; } else { this.value = this._elementRef.nativeElement.value; } } }, { key: "_keyup", value: function _keyup(ev) { this.valueChange.emit(ev.target.value); } }, { key: "_focus", value: function _focus() { this.focusChange.emit(true); } }, { key: "_blur", value: function _blur() { this.focusChange.emit(false); this.hideFocus(false); } }, { key: "labelledBy", value: function labelledBy(val) { this._renderer.setElementAttribute(this._elementRef, 'aria-labelledby', val); } }, { key: "setFocus", value: function setFocus() { this.element().focus(); } }, { key: "relocate", value: function relocate(shouldRelocate, inputRelativeY) { if (this._relocated !== shouldRelocate) { var focusedInputEle = this.element(); if (shouldRelocate) { var clonedInputEle = cloneInput(focusedInputEle, 'cloned-input'); focusedInputEle.classList.add('hide-focused-input'); focusedInputEle.style[CSS.transform] = "translate3d(-9999px," + inputRelativeY + "px,0)"; focusedInputEle.parentNode.insertBefore(clonedInputEle, focusedInputEle); this.setFocus(); } else { focusedInputEle.classList.remove('hide-focused-input'); focusedInputEle.style[CSS.transform] = ''; var clonedInputEle = focusedInputEle.parentNode.querySelector('.cloned-input'); if (clonedInputEle) { clonedInputEle.parentNode.removeChild(clonedInputEle); } } this._relocated = shouldRelocate; } } }, { key: "hideFocus", value: function hideFocus(shouldHideFocus) { var focusedInputEle = this.element(); if (shouldHideFocus) { var clonedInputEle = cloneInput(focusedInputEle, 'cloned-hidden'); focusedInputEle.classList.add('hide-focused-input'); focusedInputEle.style[CSS.transform] = 'translate3d(-9999px,0,0)'; focusedInputEle.parentNode.insertBefore(clonedInputEle, focusedInputEle); } else { focusedInputEle.classList.remove('hide-focused-input'); focusedInputEle.style[CSS.transform] = ''; var clonedInputEle = focusedInputEle.parentNode.querySelector('.cloned-hidden'); if (clonedInputEle) { clonedInputEle.parentNode.removeChild(clonedInputEle); } } } }, { key: "hasFocus", value: function hasFocus() { return _hasFocus(this.element()); } }, { key: "addClass", value: function addClass(className) { this._renderer.setElementClass(this._elementRef, className, true); } }, { key: "hasClass", value: function hasClass(className) { this._elementRef.nativeElement.classList.contains(className); } }, { key: "element", value: function element() { return this._elementRef.nativeElement; } }]); return TextInputElement; })(); _export("TextInputElement", TextInputElement); __decorate([Input(), __metadata('design:type', String)], TextInputElement.prototype, "value", void 0); __decorate([Input(), __metadata('design:type', Object)], TextInputElement.prototype, "ngModel", void 0); __decorate([Output(), __metadata('design:type', typeof (_a = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _a || Object)], TextInputElement.prototype, "valueChange", void 0); __decorate([Output(), __metadata('design:type', typeof (_b = typeof EventEmitter !== 'undefined' && EventEmitter) === 'function' && _b || Object)], TextInputElement.prototype, "focusChange", void 0); __decorate([HostListener('keyup', ['$event']), __metadata('design:type', Function), __metadata('design:paramtypes', [Object]), __metadata('design:returntype', void 0)], TextInputElement.prototype, "_keyup", null); __decorate([HostListener('focus'), __metadata('design:type', Function), __metadata('design:paramtypes', []), __metadata('design:returntype', void 0)], TextInputElement.prototype, "_focus", null); __decorate([HostListener('blur'), __metadata('design:type', Function), __metadata('design:paramtypes', []), __metadata('design:returntype', void 0)], TextInputElement.prototype, "_blur", null); _export("TextInputElement", TextInputElement = __decorate([Directive({ selector: 'textarea,input[type=text],input[type=password],input[type=number],input[type=search],input[type=email],input[type=url],input[type=tel],input[type=date],input[type=datetime],input[type=datetime-local],input[type=week],input[type=time]', host: { 'class': 'text-input' } }), __param(0, Attribute('type')), __metadata('design:paramtypes', [String, typeof (_c = typeof ElementRef !== 'undefined' && ElementRef) === 'function' && _c || Object, typeof (_d = typeof Renderer !== 'undefined' && Renderer) === 'function' && _d || Object])], TextInputElement)); /** * @name Input * @module ionic * @description * * `ion-input` is a generic wrapper for both inputs and textareas. You can give `ion-input` attributes to tell it how to handle a child `ion-label` component. * * @property [fixed-label] - a persistant label that sits next the the input * @property [floating-label] - a label that will float about the input if the input is empty of looses focus * @property [stacked-label] - A stacked label will always appear on top of the input * @property [inset] - The input will be inset * @property [clearInput] - A clear icon will appear in the input which clears it * * @usage * ```html * * Username * * * * * * * * * Username * * * * * Username * * * ``` * */ _TextInput = (function () { function TextInput(config, _form, _renderer, _elementRef, _app, _platform, _scrollView, _nav, isFloating, isStacked, isFixed, isInset) { _classCallCheck(this, TextInput); this._form = _form; this._renderer = _renderer; this._elementRef = _elementRef; this._app = _app; this._platform = _platform; this._scrollView = _scrollView; this._nav = _nav; this.value = ''; _form.register(this); this.type = 'text'; this.lastTouch = 0; // make more gud with pending @Attributes API this.displayType = isFloating === '' ? 'floating' : isStacked === '' ? 'stacked' : isFixed === '' ? 'fixed' : isInset === '' ? 'inset' : null; this._assist = config.get('scrollAssist'); this.keyboardHeight = config.get('keyboardHeight'); } /** * @private */ _createClass(TextInput, [{ key: "ngOnInit", /** * @private * On Initialization check for attributes */ value: function ngOnInit() { var clearInput = this.clearInput; if (typeof clearInput === 'string') { this.clearInput = clearInput === '' || clearInput === 'true'; } } /** * @private */ }, { key: "ngAfterViewInit", value: function ngAfterViewInit() { var self = this; if (self.input && self.label) { // if there is an input and a label // then give the label an ID // and tell the input the ID of who it's labelled by self.input.labelledBy(self.label.id); } self.scrollMove = function (ev) { if (!(self._nav && self._nav.isTransitioning())) { self.deregMove(); if (self.hasFocus()) { self.input.hideFocus(true); self._scrollView.onScrollEnd(function () { self.input.hideFocus(false); if (self.hasFocus()) { self.regMove(); } }); } } }; } /** * @private */ }, { key: "clearTextInput", value: function clearTextInput() { console.log("Should clear input"); console.log(this.textInputElement.value); } /** * @private */ }, { key: "pointerStart", value: function pointerStart(ev) { if (this._assist && this._app.isEnabled()) { // remember where the touchstart/mousedown started this.startCoord = pointerCoord(ev); } } /** * @private */ }, { key: "pointerEnd", value: function pointerEnd(ev) { if (!this._app.isEnabled()) { ev.preventDefault(); ev.stopPropagation(); } else if (this._assist && ev.type === 'touchend') { // get where the touchend/mouseup ended var endCoord = pointerCoord(ev); // focus this input if the pointer hasn't moved XX pixels // and the input doesn't already have focus if (!hasPointerMoved(8, this.startCoord, endCoord) && !this.hasFocus()) { ev.preventDefault(); ev.stopPropagation(); this.initFocus(); // temporarily prevent mouseup's from focusing this.lastTouch = Date.now(); } } else if (this.lastTouch + 999 < Date.now()) { ev.preventDefault(); ev.stopPropagation(); this.setFocus(); this.regMove(); } } /** * @private */ }, { key: "initFocus", value: function initFocus() { var _this = this; // begin the process of setting focus to the inner input element var scrollView = this._scrollView; if (scrollView && this._assist) { // this input is inside of a scroll view // find out if text input should be manually scrolled into view var ele = this._elementRef.nativeElement; var scrollData = _TextInput.getScrollData(ele.offsetTop, ele.offsetHeight, scrollView.getDimensions(), this.keyboardHeight, this._platform.height()); if (scrollData.scrollAmount > -3 && scrollData.scrollAmount < 3) { // the text input is in a safe position that doesn't require // it to be scrolled into view, just set focus now this.setFocus(); this.regMove(); return; } // add padding to the bottom of the scroll view (if needed) scrollView.addScrollPadding(scrollData.scrollPadding); // manually scroll the text input to the top // do not allow any clicks while it's scrolling var scrollDuration = getScrollAssistDuration(scrollData.scrollAmount); this._app.setEnabled(false, scrollDuration); this._nav && this._nav.setTransitioning(true, scrollDuration); // temporarily move the focus to the focus holder so the browser // doesn't freak out while it's trying to get the input in place // at this point the native text input still does not have focus this.input.relocate(true, scrollData.inputSafeY); // scroll the input into place scrollView.scrollTo(0, scrollData.scrollTo, scrollDuration).then(function () { // the scroll view is in the correct position now // give the native text input focus _this.input.relocate(false); // all good, allow clicks again _this._app.setEnabled(true); _this._nav && _this._nav.setTransitioning(false); _this.regMove(); }); } else { // not inside of a scroll view, just focus it this.setFocus(); this.regMove(); } } /** * @private */ }, { key: "setFocus", value: function setFocus() { if (this.input) { this._form.setAsFocused(this); // set focus on the actual input element this.input.setFocus(); // ensure the body hasn't scrolled down document.body.scrollTop = 0; } } /** * @private */ }, { key: "regMove", value: function regMove() { var _this2 = this; if (this._assist && this._scrollView) { setTimeout(function () { _this2.deregMove(); _this2.deregScroll = _this2._scrollView.addScrollEventListener(_this2.scrollMove); }, 80); } } /** * @private */ }, { key: "deregMove", value: function deregMove() { this.deregScroll && this.deregScroll(); } /** * @private */ }, { key: "focusChange", value: function focusChange(hasFocus) { this._renderer.setElementClass(this._elementRef, 'input-focused', hasFocus); if (!hasFocus) { this.deregMove(); } } /** * @private */ }, { key: "hasFocus", value: function hasFocus() { return !!this.input && this.input.hasFocus(); } /** * @private */ }, { key: "hasValue", value: function hasValue(inputValue) { var inputHasValue = !!(inputValue && inputValue !== ''); this._renderer.setElementClass(this._elementRef, 'input-has-value', inputHasValue); } /** * @private * This function is used to add the Angular css classes associated with inputs in forms */ }, { key: "hasClass", value: function hasClass(className) { this.input && this.input.hasClass(className); } /** * @private */ }, { key: "ngOnDestroy", value: function ngOnDestroy() { this.deregMove(); this._form.deregister(this); } /** * @private */ }, { key: "_setInput", set: function set(textInputElement) { var _this3 = this; if (textInputElement) { textInputElement.addClass('item-input'); if (this.displayType) { textInputElement.addClass(this.displayType + '-input'); } this.input = textInputElement; this.type = textInputElement.type; this.hasValue(this.input.value); textInputElement.valueChange.subscribe(function (inputValue) { _this3.hasValue(inputValue); }); this.focusChange(this.hasFocus()); textInputElement.focusChange.subscribe(function (hasFocus) { _this3.focusChange(hasFocus); }); } else { console.error(' or
it('should auto compile', function() { expect(element('div[compile]').text()).toBe('Hello Angular'); input('html').enter('{{name}}!'); expect(element('div[compile]').text()).toBe('Angular!'); }); * * * @param {string|DOMElement} element Element or HTML string to compile into a template function. * @param {function(angular.Scope[, cloneAttachFn]} transclude function available to directives. * @param {number} maxPriority only apply directives lower then given priority (Only effects the * root element(s), not their children) * @returns {function(scope[, cloneAttachFn])} a link function which is used to bind template * (a DOM element/tree) to a scope. Where: * * * `scope` - A {@link ng.$rootScope.Scope Scope} to bind to. * * `cloneAttachFn` - If `cloneAttachFn` is provided, then the link function will clone the * `template` and call the `cloneAttachFn` function allowing the caller to attach the * cloned elements to the DOM document at the appropriate place. The `cloneAttachFn` is * called as:
`cloneAttachFn(clonedElement, scope)` where: * * * `clonedElement` - is a clone of the original `element` passed into the compiler. * * `scope` - is the current scope with which the linking function is working with. * * Calling the linking function returns the element of the template. It is either the original * element passed in, or the clone of the element if the `cloneAttachFn` is provided. * * After linking the view is not updated until after a call to $digest which typically is done by * Angular automatically. * * If you need access to the bound view, there are two ways to do it: * * - If you are not asking the linking function to clone the template, create the DOM element(s) * before you send them to the compiler and keep this reference around. *
 *     var element = $compile('

{{total}}

')(scope); *
* * - if on the other hand, you need the element to be cloned, the view reference from the original * example would not point to the clone, but rather to the original template that was cloned. In * this case, you can access the clone via the cloneAttachFn: *
 *     var templateHTML = angular.element('

{{total}}

'), * scope = ....; * * var clonedElement = $compile(templateHTML)(scope, function(clonedElement, scope) { * //attach the clone to DOM document at the right place * }); * * //now we have reference to the cloned DOM via `clone` *
* * * For information on how the compiler works, see the * {@link guide/compiler Angular HTML Compiler} section of the Developer Guide. */ var $compileMinErr = minErr('$compile'); /** * @ngdoc service * @name ng.$compileProvider * @function * * @description */ $CompileProvider.$inject = ['$provide']; function $CompileProvider($provide) { var hasDirectives = {}, Suffix = 'Directive', COMMENT_DIRECTIVE_REGEXP = /^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/, CLASS_DIRECTIVE_REGEXP = /(([\d\w\-_]+)(?:\:([^;]+))?;?)/, aHrefSanitizationWhitelist = /^\s*(https?|ftp|mailto|tel|file):/, imgSrcSanitizationWhitelist = /^\s*(https?|ftp|file):|data:image\//; // Ref: http://developers.whatwg.org/webappapis.html#event-handler-idl-attributes // The assumption is that future DOM event attribute names will begin with // 'on' and be composed of only English letters. var EVENT_HANDLER_ATTR_REGEXP = /^(on[a-z]+|formaction)$/; /** * @ngdoc function * @name ng.$compileProvider#directive * @methodOf ng.$compileProvider * @function * * @description * Register a new directive with the compiler. * * @param {string|Object} name Name of the directive in camel-case (i.e. ngBind which * will match as ng-bind), or an object map of directives where the keys are the * names and the values are the factories. * @param {function|Array} directiveFactory An injectable directive factory function. See * {@link guide/directive} for more info. * @returns {ng.$compileProvider} Self for chaining. */ this.directive = function registerDirective(name, directiveFactory) { assertNotHasOwnProperty(name, 'directive'); if (isString(name)) { assertArg(directiveFactory, 'directiveFactory'); if (!hasDirectives.hasOwnProperty(name)) { hasDirectives[name] = []; $provide.factory(name + Suffix, ['$injector', '$exceptionHandler', function($injector, $exceptionHandler) { var directives = []; forEach(hasDirectives[name], function(directiveFactory, index) { try { var directive = $injector.invoke(directiveFactory); if (isFunction(directive)) { directive = { compile: valueFn(directive) }; } else if (!directive.compile && directive.link) { directive.compile = valueFn(directive.link); } directive.priority = directive.priority || 0; directive.index = index; directive.name = directive.name || name; directive.require = directive.require || (directive.controller && directive.name); directive.restrict = directive.restrict || 'A'; directives.push(directive); } catch (e) { $exceptionHandler(e); } }); return directives; }]); } hasDirectives[name].push(directiveFactory); } else { forEach(name, reverseParams(registerDirective)); } return this; }; /** * @ngdoc function * @name ng.$compileProvider#aHrefSanitizationWhitelist * @methodOf ng.$compileProvider * @function * * @description * Retrieves or overrides the default regular expression that is used for whitelisting of safe * urls during a[href] sanitization. * * The sanitization is a security measure aimed at prevent XSS attacks via html links. * * Any url about to be assigned to a[href] via data-binding is first normalized and turned into * an absolute url. Afterwards, the url is matched against the `aHrefSanitizationWhitelist` * regular expression. If a match is found, the original url is written into the dom. Otherwise, * the absolute url is prefixed with `'unsafe:'` string and only then is it written into the DOM. * * @param {RegExp=} regexp New regexp to whitelist urls with. * @returns {RegExp|ng.$compileProvider} Current RegExp if called without value or self for * chaining otherwise. */ this.aHrefSanitizationWhitelist = function(regexp) { if (isDefined(regexp)) { aHrefSanitizationWhitelist = regexp; return this; } return aHrefSanitizationWhitelist; }; /** * @ngdoc function * @name ng.$compileProvider#imgSrcSanitizationWhitelist * @methodOf ng.$compileProvider * @function * * @description * Retrieves or overrides the default regular expression that is used for whitelisting of safe * urls during img[src] sanitization. * * The sanitization is a security measure aimed at prevent XSS attacks via html links. * * Any url about to be assigned to img[src] via data-binding is first normalized and turned into * an absolute url. Afterwards, the url is matched against the `imgSrcSanitizationWhitelist` * regular expression. If a match is found, the original url is written into the dom. Otherwise, * the absolute url is prefixed with `'unsafe:'` string and only then is it written into the DOM. * * @param {RegExp=} regexp New regexp to whitelist urls with. * @returns {RegExp|ng.$compileProvider} Current RegExp if called without value or self for * chaining otherwise. */ this.imgSrcSanitizationWhitelist = function(regexp) { if (isDefined(regexp)) { imgSrcSanitizationWhitelist = regexp; return this; } return imgSrcSanitizationWhitelist; }; this.$get = [ '$injector', '$interpolate', '$exceptionHandler', '$http', '$templateCache', '$parse', '$controller', '$rootScope', '$document', '$sce', '$animate', function($injector, $interpolate, $exceptionHandler, $http, $templateCache, $parse, $controller, $rootScope, $document, $sce, $animate) { var Attributes = function(element, attr) { this.$$element = element; this.$attr = attr || {}; }; Attributes.prototype = { $normalize: directiveNormalize, /** * @ngdoc function * @name ng.$compile.directive.Attributes#$addClass * @methodOf ng.$compile.directive.Attributes * @function * * @description * Adds the CSS class value specified by the classVal parameter to the element. If animations * are enabled then an animation will be triggered for the class addition. * * @param {string} classVal The className value that will be added to the element */ $addClass : function(classVal) { if(classVal && classVal.length > 0) { $animate.addClass(this.$$element, classVal); } }, /** * @ngdoc function * @name ng.$compile.directive.Attributes#$removeClass * @methodOf ng.$compile.directive.Attributes * @function * * @description * Removes the CSS class value specified by the classVal parameter from the element. If * animations are enabled then an animation will be triggered for the class removal. * * @param {string} classVal The className value that will be removed from the element */ $removeClass : function(classVal) { if(classVal && classVal.length > 0) { $animate.removeClass(this.$$element, classVal); } }, /** * Set a normalized attribute on the element in a way such that all directives * can share the attribute. This function properly handles boolean attributes. * @param {string} key Normalized key. (ie ngAttribute) * @param {string|boolean} value The value to set. If `null` attribute will be deleted. * @param {boolean=} writeAttr If false, does not write the value to DOM element attribute. * Defaults to true. * @param {string=} attrName Optional none normalized name. Defaults to key. */ $set: function(key, value, writeAttr, attrName) { //special case for class attribute addition + removal //so that class changes can tap into the animation //hooks provided by the $animate service if(key == 'class') { value = value || ''; var current = this.$$element.attr('class') || ''; this.$removeClass(tokenDifference(current, value).join(' ')); this.$addClass(tokenDifference(value, current).join(' ')); } else { var booleanKey = getBooleanAttrName(this.$$element[0], key), normalizedVal, nodeName; if (booleanKey) { this.$$element.prop(key, value); attrName = booleanKey; } this[key] = value; // translate normalized key to actual key if (attrName) { this.$attr[key] = attrName; } else { attrName = this.$attr[key]; if (!attrName) { this.$attr[key] = attrName = snake_case(key, '-'); } } nodeName = nodeName_(this.$$element); // sanitize a[href] and img[src] values if ((nodeName === 'A' && key === 'href') || (nodeName === 'IMG' && key === 'src')) { // NOTE: urlResolve() doesn't support IE < 8 so we don't sanitize for that case. if (!msie || msie >= 8 ) { normalizedVal = urlResolve(value).href; if (normalizedVal !== '') { if ((key === 'href' && !normalizedVal.match(aHrefSanitizationWhitelist)) || (key === 'src' && !normalizedVal.match(imgSrcSanitizationWhitelist))) { this[key] = value = 'unsafe:' + normalizedVal; } } } } if (writeAttr !== false) { if (value === null || value === undefined) { this.$$element.removeAttr(attrName); } else { this.$$element.attr(attrName, value); } } } // fire observers var $$observers = this.$$observers; $$observers && forEach($$observers[key], function(fn) { try { fn(value); } catch (e) { $exceptionHandler(e); } }); function tokenDifference(str1, str2) { var values = [], tokens1 = str1.split(/\s+/), tokens2 = str2.split(/\s+/); outer: for(var i=0;i forEach($compileNodes, function(node, index){ if (node.nodeType == 3 /* text node */ && node.nodeValue.match(/\S+/) /* non-empty */ ) { $compileNodes[index] = node = jqLite(node).wrap('').parent()[0]; } }); var compositeLinkFn = compileNodes($compileNodes, transcludeFn, $compileNodes, maxPriority, ignoreDirective, previousCompileContext); return function publicLinkFn(scope, cloneConnectFn){ assertArg(scope, 'scope'); // important!!: we must call our jqLite.clone() since the jQuery one is trying to be smart // and sometimes changes the structure of the DOM. var $linkNode = cloneConnectFn ? JQLitePrototype.clone.call($compileNodes) // IMPORTANT!!! : $compileNodes; // Attach scope only to non-text nodes. for(var i = 0, ii = $linkNode.length; i addDirective(directives, directiveNormalize(nodeName_(node).toLowerCase()), 'E', maxPriority, ignoreDirective); // iterate over the attributes for (var attr, name, nName, ngAttrName, value, nAttrs = node.attributes, j = 0, jj = nAttrs && nAttrs.length; j < jj; j++) { var attrStartName = false; var attrEndName = false; attr = nAttrs[j]; if (!msie || msie >= 8 || attr.specified) { name = attr.name; // support ngAttr attribute binding ngAttrName = directiveNormalize(name); if (NG_ATTR_BINDING.test(ngAttrName)) { name = snake_case(ngAttrName.substr(6), '-'); } var directiveNName = ngAttrName.replace(/(Start|End)$/, ''); if (ngAttrName === directiveNName + 'Start') { attrStartName = name; attrEndName = name.substr(0, name.length - 5) + 'end'; name = name.substr(0, name.length - 6); } nName = directiveNormalize(name.toLowerCase()); attrsMap[nName] = name; attrs[nName] = value = trim((msie && name == 'href') ? decodeURIComponent(node.getAttribute(name, 2)) : attr.value); if (getBooleanAttrName(node, nName)) { attrs[nName] = true; // presence means true } addAttrInterpolateDirective(node, directives, value, nName); addDirective(directives, nName, 'A', maxPriority, ignoreDirective, attrStartName, attrEndName); } } // use class as directive className = node.className; if (isString(className) && className !== '') { while (match = CLASS_DIRECTIVE_REGEXP.exec(className)) { nName = directiveNormalize(match[2]); if (addDirective(directives, nName, 'C', maxPriority, ignoreDirective)) { attrs[nName] = trim(match[3]); } className = className.substr(match.index + match[0].length); } } break; case 3: /* Text Node */ addTextInterpolateDirective(directives, node.nodeValue); break; case 8: /* Comment */ try { match = COMMENT_DIRECTIVE_REGEXP.exec(node.nodeValue); if (match) { nName = directiveNormalize(match[1]); if (addDirective(directives, nName, 'M', maxPriority, ignoreDirective)) { attrs[nName] = trim(match[2]); } } } catch (e) { // turns out that under some circumstances IE9 throws errors when one attempts to read // comment's node value. // Just ignore it and continue. (Can't seem to reproduce in test case.) } break; } directives.sort(byPriority); return directives; } /** * Given a node with an directive-start it collects all of the siblings until it finds * directive-end. * @param node * @param attrStart * @param attrEnd * @returns {*} */ function groupScan(node, attrStart, attrEnd) { var nodes = []; var depth = 0; if (attrStart && node.hasAttribute && node.hasAttribute(attrStart)) { var startNode = node; do { if (!node) { throw $compileMinErr('uterdir', "Unterminated attribute, found '{0}' but no matching '{1}' found.", attrStart, attrEnd); } if (node.nodeType == 1 /** Element **/) { if (node.hasAttribute(attrStart)) depth++; if (node.hasAttribute(attrEnd)) depth--; } nodes.push(node); node = node.nextSibling; } while (depth > 0); } else { nodes.push(node); } return jqLite(nodes); } /** * Wrapper for linking function which converts normal linking function into a grouped * linking function. * @param linkFn * @param attrStart * @param attrEnd * @returns {Function} */ function groupElementsLinkFnWrapper(linkFn, attrStart, attrEnd) { return function(scope, element, attrs, controllers) { element = groupScan(element[0], attrStart, attrEnd); return linkFn(scope, element, attrs, controllers); }; } /** * Once the directives have been collected, their compile functions are executed. This method * is responsible for inlining directive templates as well as terminating the application * of the directives if the terminal directive has been reached. * * @param {Array} directives Array of collected directives to execute their compile function. * this needs to be pre-sorted by priority order. * @param {Node} compileNode The raw DOM node to apply the compile functions to * @param {Object} templateAttrs The shared attribute function * @param {function(angular.Scope[, cloneAttachFn]} transcludeFn A linking function, where the * scope argument is auto-generated to the new * child of the transcluded parent scope. * @param {JQLite} jqCollection If we are working on the root of the compile tree then this * argument has the root jqLite array so that we can replace nodes * on it. * @param {Object=} originalReplaceDirective An optional directive that will be ignored when * compiling the transclusion. * @param {Array.} preLinkFns * @param {Array.} postLinkFns * @param {Object} previousCompileContext Context used for previous compilation of the current * node * @returns linkFn */ function applyDirectivesToNode(directives, compileNode, templateAttrs, transcludeFn, jqCollection, originalReplaceDirective, preLinkFns, postLinkFns, previousCompileContext) { previousCompileContext = previousCompileContext || {}; var terminalPriority = -Number.MAX_VALUE, newScopeDirective, controllerDirectives = previousCompileContext.controllerDirectives, newIsolateScopeDirective = previousCompileContext.newIsolateScopeDirective, templateDirective = previousCompileContext.templateDirective, transcludeDirective = previousCompileContext.transcludeDirective, $compileNode = templateAttrs.$$element = jqLite(compileNode), directive, directiveName, $template, replaceDirective = originalReplaceDirective, childTranscludeFn = transcludeFn, linkFn, directiveValue; // executes all directives on the current element for(var i = 0, ii = directives.length; i < ii; i++) { directive = directives[i]; var attrStart = directive.$$start; var attrEnd = directive.$$end; // collect multiblock sections if (attrStart) { $compileNode = groupScan(compileNode, attrStart, attrEnd); } $template = undefined; if (terminalPriority > directive.priority) { break; // prevent further processing of directives } if (directiveValue = directive.scope) { newScopeDirective = newScopeDirective || directive; // skip the check for directives with async templates, we'll check the derived sync // directive when the template arrives if (!directive.templateUrl) { assertNoDuplicate('new/isolated scope', newIsolateScopeDirective, directive, $compileNode); if (isObject(directiveValue)) { newIsolateScopeDirective = directive; } } } directiveName = directive.name; if (!directive.templateUrl && directive.controller) { directiveValue = directive.controller; controllerDirectives = controllerDirectives || {}; assertNoDuplicate("'" + directiveName + "' controller", controllerDirectives[directiveName], directive, $compileNode); controllerDirectives[directiveName] = directive; } if (directiveValue = directive.transclude) { // Special case ngIf and ngRepeat so that we don't complain about duplicate transclusion. // This option should only be used by directives that know how to how to safely handle element transclusion, // where the transcluded nodes are added or replaced after linking. if (!directive.$$tlb) { assertNoDuplicate('transclusion', transcludeDirective, directive, $compileNode); transcludeDirective = directive; } if (directiveValue == 'element') { terminalPriority = directive.priority; $template = groupScan(compileNode, attrStart, attrEnd); $compileNode = templateAttrs.$$element = jqLite(document.createComment(' ' + directiveName + ': ' + templateAttrs[directiveName] + ' ')); compileNode = $compileNode[0]; replaceWith(jqCollection, jqLite(sliceArgs($template)), compileNode); childTranscludeFn = compile($template, transcludeFn, terminalPriority, replaceDirective && replaceDirective.name, { // Don't pass in: // - controllerDirectives - otherwise we'll create duplicates controllers // - newIsolateScopeDirective or templateDirective - combining templates with // element transclusion doesn't make sense. // // We need only transcludeDirective so that we prevent putting transclusion // on the same element more than once. transcludeDirective: transcludeDirective }); } else { $template = jqLite(jqLiteClone(compileNode)).contents(); $compileNode.html(''); // clear contents childTranscludeFn = compile($template, transcludeFn); } } if (directive.template) { assertNoDuplicate('template', templateDirective, directive, $compileNode); templateDirective = directive; directiveValue = (isFunction(directive.template)) ? directive.template($compileNode, templateAttrs) : directive.template; directiveValue = denormalizeTemplate(directiveValue); if (directive.replace) { replaceDirective = directive; $template = jqLite('
' + trim(directiveValue) + '
').contents(); compileNode = $template[0]; if ($template.length != 1 || compileNode.nodeType !== 1) { throw $compileMinErr('tplrt', "Template for directive '{0}' must have exactly one root element. {1}", directiveName, ''); } replaceWith(jqCollection, $compileNode, compileNode); var newTemplateAttrs = {$attr: {}}; // combine directives from the original node and from the template: // - take the array of directives for this element // - split it into two parts, those that already applied (processed) and those that weren't (unprocessed) // - collect directives from the template and sort them by priority // - combine directives as: processed + template + unprocessed var templateDirectives = collectDirectives(compileNode, [], newTemplateAttrs); var unprocessedDirectives = directives.splice(i + 1, directives.length - (i + 1)); if (newIsolateScopeDirective) { markDirectivesAsIsolate(templateDirectives); } directives = directives.concat(templateDirectives).concat(unprocessedDirectives); mergeTemplateAttributes(templateAttrs, newTemplateAttrs); ii = directives.length; } else { $compileNode.html(directiveValue); } } if (directive.templateUrl) { assertNoDuplicate('template', templateDirective, directive, $compileNode); templateDirective = directive; if (directive.replace) { replaceDirective = directive; } nodeLinkFn = compileTemplateUrl(directives.splice(i, directives.length - i), $compileNode, templateAttrs, jqCollection, childTranscludeFn, preLinkFns, postLinkFns, { controllerDirectives: controllerDirectives, newIsolateScopeDirective: newIsolateScopeDirective, templateDirective: templateDirective, transcludeDirective: transcludeDirective }); ii = directives.length; } else if (directive.compile) { try { linkFn = directive.compile($compileNode, templateAttrs, childTranscludeFn); if (isFunction(linkFn)) { addLinkFns(null, linkFn, attrStart, attrEnd); } else if (linkFn) { addLinkFns(linkFn.pre, linkFn.post, attrStart, attrEnd); } } catch (e) { $exceptionHandler(e, startingTag($compileNode)); } } if (directive.terminal) { nodeLinkFn.terminal = true; terminalPriority = Math.max(terminalPriority, directive.priority); } } nodeLinkFn.scope = newScopeDirective && newScopeDirective.scope === true; nodeLinkFn.transclude = transcludeDirective && childTranscludeFn; // might be normal or delayed nodeLinkFn depending on if templateUrl is present return nodeLinkFn; //////////////////// function addLinkFns(pre, post, attrStart, attrEnd) { if (pre) { if (attrStart) pre = groupElementsLinkFnWrapper(pre, attrStart, attrEnd); pre.require = directive.require; if (newIsolateScopeDirective === directive || directive.$$isolateScope) { pre = cloneAndAnnotateFn(pre, {isolateScope: true}); } preLinkFns.push(pre); } if (post) { if (attrStart) post = groupElementsLinkFnWrapper(post, attrStart, attrEnd); post.require = directive.require; if (newIsolateScopeDirective === directive || directive.$$isolateScope) { post = cloneAndAnnotateFn(post, {isolateScope: true}); } postLinkFns.push(post); } } function getControllers(require, $element) { var value, retrievalMethod = 'data', optional = false; if (isString(require)) { while((value = require.charAt(0)) == '^' || value == '?') { require = require.substr(1); if (value == '^') { retrievalMethod = 'inheritedData'; } optional = optional || value == '?'; } value = $element[retrievalMethod]('$' + require + 'Controller'); if ($element[0].nodeType == 8 && $element[0].$$controller) { // Transclusion comment node value = value || $element[0].$$controller; $element[0].$$controller = null; } if (!value && !optional) { throw $compileMinErr('ctreq', "Controller '{0}', required by directive '{1}', can't be found!", require, directiveName); } return value; } else if (isArray(require)) { value = []; forEach(require, function(require) { value.push(getControllers(require, $element)); }); } return value; } function nodeLinkFn(childLinkFn, scope, linkNode, $rootElement, boundTranscludeFn) { var attrs, $element, i, ii, linkFn, controller, isolateScope; if (compileNode === linkNode) { attrs = templateAttrs; } else { attrs = shallowCopy(templateAttrs, new Attributes(jqLite(linkNode), templateAttrs.$attr)); } $element = attrs.$$element; if (newIsolateScopeDirective) { var LOCAL_REGEXP = /^\s*([@=&])(\??)\s*(\w*)\s*$/; var $linkNode = jqLite(linkNode); isolateScope = scope.$new(true); if (templateDirective && (templateDirective === newIsolateScopeDirective.$$originalDirective)) { $linkNode.data('$isolateScope', isolateScope) ; } else { $linkNode.data('$isolateScopeNoTemplate', isolateScope); } safeAddClass($linkNode, 'ng-isolate-scope'); forEach(newIsolateScopeDirective.scope, function(definition, scopeName) { var match = definition.match(LOCAL_REGEXP) || [], attrName = match[3] || scopeName, optional = (match[2] == '?'), mode = match[1], // @, =, or & lastValue, parentGet, parentSet; isolateScope.$$isolateBindings[scopeName] = mode + attrName; switch (mode) { case '@': attrs.$observe(attrName, function(value) { isolateScope[scopeName] = value; }); attrs.$$observers[attrName].$$scope = scope; if( attrs[attrName] ) { // If the attribute has been provided then we trigger an interpolation to ensure // the value is there for use in the link fn isolateScope[scopeName] = $interpolate(attrs[attrName])(scope); } break; case '=': if (optional && !attrs[attrName]) { return; } parentGet = $parse(attrs[attrName]); parentSet = parentGet.assign || function() { // reset the change, or we will throw this exception on every $digest lastValue = isolateScope[scopeName] = parentGet(scope); throw $compileMinErr('nonassign', "Expression '{0}' used with directive '{1}' is non-assignable!", attrs[attrName], newIsolateScopeDirective.name); }; lastValue = isolateScope[scopeName] = parentGet(scope); isolateScope.$watch(function parentValueWatch() { var parentValue = parentGet(scope); if (parentValue !== isolateScope[scopeName]) { // we are out of sync and need to copy if (parentValue !== lastValue) { // parent changed and it has precedence lastValue = isolateScope[scopeName] = parentValue; } else { // if the parent can be assigned then do so parentSet(scope, parentValue = lastValue = isolateScope[scopeName]); } } return parentValue; }); break; case '&': parentGet = $parse(attrs[attrName]); isolateScope[scopeName] = function(locals) { return parentGet(scope, locals); }; break; default: throw $compileMinErr('iscp', "Invalid isolate scope definition for directive '{0}'." + " Definition: {... {1}: '{2}' ...}", newIsolateScopeDirective.name, scopeName, definition); } }); } if (controllerDirectives) { forEach(controllerDirectives, function(directive) { var locals = { $scope: directive === newIsolateScopeDirective || directive.$$isolateScope ? isolateScope : scope, $element: $element, $attrs: attrs, $transclude: boundTranscludeFn }, controllerInstance; controller = directive.controller; if (controller == '@') { controller = attrs[directive.name]; } controllerInstance = $controller(controller, locals); // Directives with element transclusion and a controller need to attach controller // to the comment node created by the compiler, but jQuery .data doesn't support // attaching data to comment nodes so instead we set it directly on the element and // remove it after we read it later. if ($element[0].nodeType == 8) { // Transclusion comment node $element[0].$$controller = controllerInstance; } else { $element.data('$' + directive.name + 'Controller', controllerInstance); } if (directive.controllerAs) { locals.$scope[directive.controllerAs] = controllerInstance; } }); } // PRELINKING for(i = 0, ii = preLinkFns.length; i < ii; i++) { try { linkFn = preLinkFns[i]; linkFn(linkFn.isolateScope ? isolateScope : scope, $element, attrs, linkFn.require && getControllers(linkFn.require, $element)); } catch (e) { $exceptionHandler(e, startingTag($element)); } } // RECURSION // We only pass the isolate scope, if the isolate directive has a template, // otherwise the child elements do not belong to the isolate directive. var scopeToChild = scope; if (newIsolateScopeDirective && (newIsolateScopeDirective.template || newIsolateScopeDirective.templateUrl === null)) { scopeToChild = isolateScope; } childLinkFn && childLinkFn(scopeToChild, linkNode.childNodes, undefined, boundTranscludeFn); // POSTLINKING for(i = postLinkFns.length - 1; i >= 0; i--) { try { linkFn = postLinkFns[i]; linkFn(linkFn.isolateScope ? isolateScope : scope, $element, attrs, linkFn.require && getControllers(linkFn.require, $element)); } catch (e) { $exceptionHandler(e, startingTag($element)); } } } } function markDirectivesAsIsolate(directives) { // mark all directives as needing isolate scope. for (var j = 0, jj = directives.length; j < jj; j++) { directives[j] = inherit(directives[j], {$$isolateScope: true}); } } /** * looks up the directive and decorates it with exception handling and proper parameters. We * call this the boundDirective. * * @param {string} name name of the directive to look up. * @param {string} location The directive must be found in specific format. * String containing any of theses characters: * * * `E`: element name * * `A': attribute * * `C`: class * * `M`: comment * @returns true if directive was added. */ function addDirective(tDirectives, name, location, maxPriority, ignoreDirective, startAttrName, endAttrName) { if (name === ignoreDirective) return null; var match = null; if (hasDirectives.hasOwnProperty(name)) { for(var directive, directives = $injector.get(name + Suffix), i = 0, ii = directives.length; i directive.priority) && directive.restrict.indexOf(location) != -1) { if (startAttrName) { directive = inherit(directive, {$$start: startAttrName, $$end: endAttrName}); } tDirectives.push(directive); match = directive; } } catch(e) { $exceptionHandler(e); } } } return match; } /** * When the element is replaced with HTML template then the new attributes * on the template need to be merged with the existing attributes in the DOM. * The desired effect is to have both of the attributes present. * * @param {object} dst destination attributes (original DOM) * @param {object} src source attributes (from the directive template) */ function mergeTemplateAttributes(dst, src) { var srcAttr = src.$attr, dstAttr = dst.$attr, $element = dst.$$element; // reapply the old attributes to the new element forEach(dst, function(value, key) { if (key.charAt(0) != '$') { if (src[key]) { value += (key === 'style' ? ';' : ' ') + src[key]; } dst.$set(key, value, true, srcAttr[key]); } }); // copy the new attributes on the old attrs object forEach(src, function(value, key) { if (key == 'class') { safeAddClass($element, value); dst['class'] = (dst['class'] ? dst['class'] + ' ' : '') + value; } else if (key == 'style') { $element.attr('style', $element.attr('style') + ';' + value); // `dst` will never contain hasOwnProperty as DOM parser won't let it. // You will get an "InvalidCharacterError: DOM Exception 5" error if you // have an attribute like "has-own-property" or "data-has-own-property", etc. } else if (key.charAt(0) != '$' && !dst.hasOwnProperty(key)) { dst[key] = value; dstAttr[key] = srcAttr[key]; } }); } function compileTemplateUrl(directives, $compileNode, tAttrs, $rootElement, childTranscludeFn, preLinkFns, postLinkFns, previousCompileContext) { var linkQueue = [], afterTemplateNodeLinkFn, afterTemplateChildLinkFn, beforeTemplateCompileNode = $compileNode[0], origAsyncDirective = directives.shift(), // The fact that we have to copy and patch the directive seems wrong! derivedSyncDirective = extend({}, origAsyncDirective, { templateUrl: null, transclude: null, replace: null, $$originalDirective: origAsyncDirective }), templateUrl = (isFunction(origAsyncDirective.templateUrl)) ? origAsyncDirective.templateUrl($compileNode, tAttrs) : origAsyncDirective.templateUrl; $compileNode.html(''); $http.get($sce.getTrustedResourceUrl(templateUrl), {cache: $templateCache}). success(function(content) { var compileNode, tempTemplateAttrs, $template; content = denormalizeTemplate(content); if (origAsyncDirective.replace) { $template = jqLite('
' + trim(content) + '
').contents(); compileNode = $template[0]; if ($template.length != 1 || compileNode.nodeType !== 1) { throw $compileMinErr('tplrt', "Template for directive '{0}' must have exactly one root element. {1}", origAsyncDirective.name, templateUrl); } tempTemplateAttrs = {$attr: {}}; replaceWith($rootElement, $compileNode, compileNode); var templateDirectives = collectDirectives(compileNode, [], tempTemplateAttrs); if (isObject(origAsyncDirective.scope)) { markDirectivesAsIsolate(templateDirectives); } directives = templateDirectives.concat(directives); mergeTemplateAttributes(tAttrs, tempTemplateAttrs); } else { compileNode = beforeTemplateCompileNode; $compileNode.html(content); } directives.unshift(derivedSyncDirective); afterTemplateNodeLinkFn = applyDirectivesToNode(directives, compileNode, tAttrs, childTranscludeFn, $compileNode, origAsyncDirective, preLinkFns, postLinkFns, previousCompileContext); forEach($rootElement, function(node, i) { if (node == compileNode) { $rootElement[i] = $compileNode[0]; } }); afterTemplateChildLinkFn = compileNodes($compileNode[0].childNodes, childTranscludeFn); while(linkQueue.length) { var scope = linkQueue.shift(), beforeTemplateLinkNode = linkQueue.shift(), linkRootElement = linkQueue.shift(), controller = linkQueue.shift(), linkNode = $compileNode[0]; if (beforeTemplateLinkNode !== beforeTemplateCompileNode) { // it was cloned therefore we have to clone as well. linkNode = jqLiteClone(compileNode); replaceWith(linkRootElement, jqLite(beforeTemplateLinkNode), linkNode); } afterTemplateNodeLinkFn(afterTemplateChildLinkFn, scope, linkNode, $rootElement, controller); } linkQueue = null; }). error(function(response, code, headers, config) { throw $compileMinErr('tpload', 'Failed to load template: {0}', config.url); }); return function delayedNodeLinkFn(ignoreChildLinkFn, scope, node, rootElement, controller) { if (linkQueue) { linkQueue.push(scope); linkQueue.push(node); linkQueue.push(rootElement); linkQueue.push(controller); } else { afterTemplateNodeLinkFn(afterTemplateChildLinkFn, scope, node, rootElement, controller); } }; } /** * Sorting function for bound directives. */ function byPriority(a, b) { var diff = b.priority - a.priority; if (diff !== 0) return diff; if (a.name !== b.name) return (a.name < b.name) ? -1 : 1; return a.index - b.index; } function assertNoDuplicate(what, previousDirective, directive, element) { if (previousDirective) { throw $compileMinErr('multidir', 'Multiple directives [{0}, {1}] asking for {2} on: {3}', previousDirective.name, directive.name, what, startingTag(element)); } } function addTextInterpolateDirective(directives, text) { var interpolateFn = $interpolate(text, true); if (interpolateFn) { directives.push({ priority: 0, compile: valueFn(function textInterpolateLinkFn(scope, node) { var parent = node.parent(), bindings = parent.data('$binding') || []; bindings.push(interpolateFn); safeAddClass(parent.data('$binding', bindings), 'ng-binding'); scope.$watch(interpolateFn, function interpolateFnWatchAction(value) { node[0].nodeValue = value; }); }) }); } } function getTrustedContext(node, attrNormalizedName) { // maction[xlink:href] can source SVG. It's not limited to . if (attrNormalizedName == "xlinkHref" || (nodeName_(node) != "IMG" && (attrNormalizedName == "src" || attrNormalizedName == "ngSrc"))) { return $sce.RESOURCE_URL; } } function addAttrInterpolateDirective(node, directives, value, name) { var interpolateFn = $interpolate(value, true); // no interpolation found -> ignore if (!interpolateFn) return; if (name === "multiple" && nodeName_(node) === "SELECT") { throw $compileMinErr("selmulti", "Binding to the 'multiple' attribute is not supported. Element: {0}", startingTag(node)); } directives.push({ priority: 100, compile: function() { return { pre: function attrInterpolatePreLinkFn(scope, element, attr) { var $$observers = (attr.$$observers || (attr.$$observers = {})); if (EVENT_HANDLER_ATTR_REGEXP.test(name)) { throw $compileMinErr('nodomevents', "Interpolations for HTML DOM event attributes are disallowed. Please use the " + "ng- versions (such as ng-click instead of onclick) instead."); } // we need to interpolate again, in case the attribute value has been updated // (e.g. by another directive's compile function) interpolateFn = $interpolate(attr[name], true, getTrustedContext(node, name)); // if attribute was updated so that there is no interpolation going on we don't want to // register any observers if (!interpolateFn) return; // TODO(i): this should likely be attr.$set(name, iterpolateFn(scope) so that we reset the // actual attr value attr[name] = interpolateFn(scope); ($$observers[name] || ($$observers[name] = [])).$$inter = true; (attr.$$observers && attr.$$observers[name].$$scope || scope). $watch(interpolateFn, function interpolateFnWatchAction(value) { attr.$set(name, value); }); } }; } }); } /** * This is a special jqLite.replaceWith, which can replace items which * have no parents, provided that the containing jqLite collection is provided. * * @param {JqLite=} $rootElement The root of the compile tree. Used so that we can replace nodes * in the root of the tree. * @param {JqLite} elementsToRemove The jqLite element which we are going to replace. We keep * the shell, but replace its DOM node reference. * @param {Node} newNode The new DOM node. */ function replaceWith($rootElement, elementsToRemove, newNode) { var firstElementToRemove = elementsToRemove[0], removeCount = elementsToRemove.length, parent = firstElementToRemove.parentNode, i, ii; if ($rootElement) { for(i = 0, ii = $rootElement.length; i < ii; i++) { if ($rootElement[i] == firstElementToRemove) { $rootElement[i++] = newNode; for (var j = i, j2 = j + removeCount - 1, jj = $rootElement.length; j < jj; j++, j2++) { if (j2 < jj) { $rootElement[j] = $rootElement[j2]; } else { delete $rootElement[j]; } } $rootElement.length -= removeCount - 1; break; } } } if (parent) { parent.replaceChild(newNode, firstElementToRemove); } var fragment = document.createDocumentFragment(); fragment.appendChild(firstElementToRemove); newNode[jqLite.expando] = firstElementToRemove[jqLite.expando]; for (var k = 1, kk = elementsToRemove.length; k < kk; k++) { var element = elementsToRemove[k]; jqLite(element).remove(); // must do this way to clean up expando fragment.appendChild(element); delete elementsToRemove[k]; } elementsToRemove[0] = newNode; elementsToRemove.length = 1; } function cloneAndAnnotateFn(fn, annotation) { return extend(function() { return fn.apply(null, arguments); }, fn, annotation); } }]; } var PREFIX_REGEXP = /^(x[\:\-_]|data[\:\-_])/i; /** * Converts all accepted directives format into proper directive name. * All of these will become 'myDirective': * my:Directive * my-directive * x-my-directive * data-my:directive * * Also there is special case for Moz prefix starting with upper case letter. * @param name Name to normalize */ function directiveNormalize(name) { return camelCase(name.replace(PREFIX_REGEXP, '')); } /** * @ngdoc object * @name ng.$compile.directive.Attributes * * @description * A shared object between directive compile / linking functions which contains normalized DOM * element attributes. The values reflect current binding state `{{ }}`. The normalization is * needed since all of these are treated as equivalent in Angular: * * */ /** * @ngdoc property * @name ng.$compile.directive.Attributes#$attr * @propertyOf ng.$compile.directive.Attributes * @returns {object} A map of DOM element attribute names to the normalized name. This is * needed to do reverse lookup from normalized name back to actual name. */ /** * @ngdoc function * @name ng.$compile.directive.Attributes#$set * @methodOf ng.$compile.directive.Attributes * @function * * @description * Set DOM element attribute value. * * * @param {string} name Normalized element attribute name of the property to modify. The name is * revers translated using the {@link ng.$compile.directive.Attributes#$attr $attr} * property to the original name. * @param {string} value Value to set the attribute to. The value can be an interpolated string. */ /** * Closure compiler type information */ function nodesetLinkingFn( /* angular.Scope */ scope, /* NodeList */ nodeList, /* Element */ rootElement, /* function(Function) */ boundTranscludeFn ){} function directiveLinkingFn( /* nodesetLinkingFn */ nodesetLinkingFn, /* angular.Scope */ scope, /* Node */ node, /* Element */ rootElement, /* function(Function) */ boundTranscludeFn ){} /** * @ngdoc object * @name ng.$controllerProvider * @description * The {@link ng.$controller $controller service} is used by Angular to create new * controllers. * * This provider allows controller registration via the * {@link ng.$controllerProvider#methods_register register} method. */ function $ControllerProvider() { var controllers = {}, CNTRL_REG = /^(\S+)(\s+as\s+(\w+))?$/; /** * @ngdoc function * @name ng.$controllerProvider#register * @methodOf ng.$controllerProvider * @param {string|Object} name Controller name, or an object map of controllers where the keys are * the names and the values are the constructors. * @param {Function|Array} constructor Controller constructor fn (optionally decorated with DI * annotations in the array notation). */ this.register = function(name, constructor) { assertNotHasOwnProperty(name, 'controller'); if (isObject(name)) { extend(controllers, name); } else { controllers[name] = constructor; } }; this.$get = ['$injector', '$window', function($injector, $window) { /** * @ngdoc function * @name ng.$controller * @requires $injector * * @param {Function|string} constructor If called with a function then it's considered to be the * controller constructor function. Otherwise it's considered to be a string which is used * to retrieve the controller constructor using the following steps: * * * check if a controller with given name is registered via `$controllerProvider` * * check if evaluating the string on the current scope returns a constructor * * check `window[constructor]` on the global `window` object * * @param {Object} locals Injection locals for Controller. * @return {Object} Instance of given controller. * * @description * `$controller` service is responsible for instantiating controllers. * * It's just a simple call to {@link AUTO.$injector $injector}, but extracted into * a service, so that one can override this service with {@link https://gist.github.com/1649788 * BC version}. */ return function(expression, locals) { var instance, match, constructor, identifier; if(isString(expression)) { match = expression.match(CNTRL_REG), constructor = match[1], identifier = match[3]; expression = controllers.hasOwnProperty(constructor) ? controllers[constructor] : getter(locals.$scope, constructor, true) || getter($window, constructor, true); assertArgFn(expression, constructor, true); } instance = $injector.instantiate(expression, locals); if (identifier) { if (!(locals && typeof locals.$scope == 'object')) { throw minErr('$controller')('noscp', "Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.", constructor || expression.name, identifier); } locals.$scope[identifier] = instance; } return instance; }; }]; } /** * @ngdoc object * @name ng.$document * @requires $window * * @description * A {@link angular.element jQuery (lite)}-wrapped reference to the browser's `window.document` * element. */ function $DocumentProvider(){ this.$get = ['$window', function(window){ return jqLite(window.document); }]; } /** * @ngdoc function * @name ng.$exceptionHandler * @requires $log * * @description * Any uncaught exception in angular expressions is delegated to this service. * The default implementation simply delegates to `$log.error` which logs it into * the browser console. * * In unit tests, if `angular-mocks.js` is loaded, this service is overridden by * {@link ngMock.$exceptionHandler mock $exceptionHandler} which aids in testing. * * ## Example: * *
 *   angular.module('exceptionOverride', []).factory('$exceptionHandler', function () {
 *     return function (exception, cause) {
 *       exception.message += ' (caused by "' + cause + '")';
 *       throw exception;
 *     };
 *   });
 * 
* * This example will override the normal action of `$exceptionHandler`, to make angular * exceptions fail hard when they happen, instead of just logging to the console. * * @param {Error} exception Exception associated with the error. * @param {string=} cause optional information about the context in which * the error was thrown. * */ function $ExceptionHandlerProvider() { this.$get = ['$log', function($log) { return function(exception, cause) { $log.error.apply($log, arguments); }; }]; } /** * Parse headers into key value object * * @param {string} headers Raw headers as a string * @returns {Object} Parsed headers as key value object */ function parseHeaders(headers) { var parsed = {}, key, val, i; if (!headers) return parsed; forEach(headers.split('\n'), function(line) { i = line.indexOf(':'); key = lowercase(trim(line.substr(0, i))); val = trim(line.substr(i + 1)); if (key) { if (parsed[key]) { parsed[key] += ', ' + val; } else { parsed[key] = val; } } }); return parsed; } /** * Returns a function that provides access to parsed headers. * * Headers are lazy parsed when first requested. * @see parseHeaders * * @param {(string|Object)} headers Headers to provide access to. * @returns {function(string=)} Returns a getter function which if called with: * * - if called with single an argument returns a single header value or null * - if called with no arguments returns an object containing all headers. */ function headersGetter(headers) { var headersObj = isObject(headers) ? headers : undefined; return function(name) { if (!headersObj) headersObj = parseHeaders(headers); if (name) { return headersObj[lowercase(name)] || null; } return headersObj; }; } /** * Chain all given functions * * This function is used for both request and response transforming * * @param {*} data Data to transform. * @param {function(string=)} headers Http headers getter fn. * @param {(function|Array.)} fns Function or an array of functions. * @returns {*} Transformed data. */ function transformData(data, headers, fns) { if (isFunction(fns)) return fns(data, headers); forEach(fns, function(fn) { data = fn(data, headers); }); return data; } function isSuccess(status) { return 200 <= status && status < 300; } function $HttpProvider() { var JSON_START = /^\s*(\[|\{[^\{])/, JSON_END = /[\}\]]\s*$/, PROTECTION_PREFIX = /^\)\]\}',?\n/, CONTENT_TYPE_APPLICATION_JSON = {'Content-Type': 'application/json;charset=utf-8'}; var defaults = this.defaults = { // transform incoming response data transformResponse: [function(data) { if (isString(data)) { // strip json vulnerability protection prefix data = data.replace(PROTECTION_PREFIX, ''); if (JSON_START.test(data) && JSON_END.test(data)) data = fromJson(data); } return data; }], // transform outgoing request data transformRequest: [function(d) { return isObject(d) && !isFile(d) ? toJson(d) : d; }], // default headers headers: { common: { 'Accept': 'application/json, text/plain, */*' }, post: CONTENT_TYPE_APPLICATION_JSON, put: CONTENT_TYPE_APPLICATION_JSON, patch: CONTENT_TYPE_APPLICATION_JSON }, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN' }; /** * Are ordered by request, i.e. they are applied in the same order as the * array, on request, but reverse order, on response. */ var interceptorFactories = this.interceptors = []; /** * For historical reasons, response interceptors are ordered by the order in which * they are applied to the response. (This is the opposite of interceptorFactories) */ var responseInterceptorFactories = this.responseInterceptors = []; this.$get = ['$httpBackend', '$browser', '$cacheFactory', '$rootScope', '$q', '$injector', function($httpBackend, $browser, $cacheFactory, $rootScope, $q, $injector) { var defaultCache = $cacheFactory('$http'); /** * Interceptors stored in reverse order. Inner interceptors before outer interceptors. * The reversal is needed so that we can build up the interception chain around the * server request. */ var reversedInterceptors = []; forEach(interceptorFactories, function(interceptorFactory) { reversedInterceptors.unshift(isString(interceptorFactory) ? $injector.get(interceptorFactory) : $injector.invoke(interceptorFactory)); }); forEach(responseInterceptorFactories, function(interceptorFactory, index) { var responseFn = isString(interceptorFactory) ? $injector.get(interceptorFactory) : $injector.invoke(interceptorFactory); /** * Response interceptors go before "around" interceptors (no real reason, just * had to pick one.) But they are already reversed, so we can't use unshift, hence * the splice. */ reversedInterceptors.splice(index, 0, { response: function(response) { return responseFn($q.when(response)); }, responseError: function(response) { return responseFn($q.reject(response)); } }); }); /** * @ngdoc function * @name ng.$http * @requires $httpBackend * @requires $browser * @requires $cacheFactory * @requires $rootScope * @requires $q * @requires $injector * * @description * The `$http` service is a core Angular service that facilitates communication with the remote * HTTP servers via the browser's {@link https://developer.mozilla.org/en/xmlhttprequest * XMLHttpRequest} object or via {@link http://en.wikipedia.org/wiki/JSONP JSONP}. * * For unit testing applications that use `$http` service, see * {@link ngMock.$httpBackend $httpBackend mock}. * * For a higher level of abstraction, please check out the {@link ngResource.$resource * $resource} service. * * The $http API is based on the {@link ng.$q deferred/promise APIs} exposed by * the $q service. While for simple usage patterns this doesn't matter much, for advanced usage * it is important to familiarize yourself with these APIs and the guarantees they provide. * * * # General usage * The `$http` service is a function which takes a single argument — a configuration object — * that is used to generate an HTTP request and returns a {@link ng.$q promise} * with two $http specific methods: `success` and `error`. * *
     *   $http({method: 'GET', url: '/someUrl'}).
     *     success(function(data, status, headers, config) {
     *       // this callback will be called asynchronously
     *       // when the response is available
     *     }).
     *     error(function(data, status, headers, config) {
     *       // called asynchronously if an error occurs
     *       // or server returns response with an error status.
     *     });
     * 
* * Since the returned value of calling the $http function is a `promise`, you can also use * the `then` method to register callbacks, and these callbacks will receive a single argument – * an object representing the response. See the API signature and type info below for more * details. * * A response status code between 200 and 299 is considered a success status and * will result in the success callback being called. Note that if the response is a redirect, * XMLHttpRequest will transparently follow it, meaning that the error callback will not be * called for such responses. * * # Calling $http from outside AngularJS * The `$http` service will not actually send the request until the next `$digest()` is * executed. Normally this is not an issue, since almost all the time your call to `$http` will * be from within a `$apply()` block. * If you are calling `$http` from outside Angular, then you should wrap it in a call to * `$apply` to cause a $digest to occur and also to handle errors in the block correctly. * * ``` * $scope.$apply(function() { * $http(...); * }); * ``` * * # Writing Unit Tests that use $http * When unit testing you are mostly responsible for scheduling the `$digest` cycle. If you do * not trigger a `$digest` before calling `$httpBackend.flush()` then the request will not have * been made and `$httpBackend.expect(...)` expectations will fail. The solution is to run the * code that calls the `$http()` method inside a $apply block as explained in the previous * section. * * ``` * $httpBackend.expectGET(...); * $scope.$apply(function() { * $http.get(...); * }); * $httpBackend.flush(); * ``` * * # Shortcut methods * * Since all invocations of the $http service require passing in an HTTP method and URL, and * POST/PUT requests require request data to be provided as well, shortcut methods * were created: * *
     *   $http.get('/someUrl').success(successCallback);
     *   $http.post('/someUrl', data).success(successCallback);
     * 
* * Complete list of shortcut methods: * * - {@link ng.$http#methods_get $http.get} * - {@link ng.$http#methods_head $http.head} * - {@link ng.$http#methods_post $http.post} * - {@link ng.$http#methods_put $http.put} * - {@link ng.$http#methods_delete $http.delete} * - {@link ng.$http#methods_jsonp $http.jsonp} * * * # Setting HTTP Headers * * The $http service will automatically add certain HTTP headers to all requests. These defaults * can be fully configured by accessing the `$httpProvider.defaults.headers` configuration * object, which currently contains this default configuration: * * - `$httpProvider.defaults.headers.common` (headers that are common for all requests): * - `Accept: application/json, text/plain, * / *` * - `$httpProvider.defaults.headers.post`: (header defaults for POST requests) * - `Content-Type: application/json` * - `$httpProvider.defaults.headers.put` (header defaults for PUT requests) * - `Content-Type: application/json` * * To add or overwrite these defaults, simply add or remove a property from these configuration * objects. To add headers for an HTTP method other than POST or PUT, simply add a new object * with the lowercased HTTP method name as the key, e.g. * `$httpProvider.defaults.headers.get = { 'My-Header' : 'value' }. * * The defaults can also be set at runtime via the `$http.defaults` object in the same * fashion. In addition, you can supply a `headers` property in the config object passed when * calling `$http(config)`, which overrides the defaults without changing them globally. * * * # Transforming Requests and Responses * * Both requests and responses can be transformed using transform functions. By default, Angular * applies these transformations: * * Request transformations: * * - If the `data` property of the request configuration object contains an object, serialize it * into JSON format. * * Response transformations: * * - If XSRF prefix is detected, strip it (see Security Considerations section below). * - If JSON response is detected, deserialize it using a JSON parser. * * To globally augment or override the default transforms, modify the * `$httpProvider.defaults.transformRequest` and `$httpProvider.defaults.transformResponse` * properties. These properties are by default an array of transform functions, which allows you * to `push` or `unshift` a new transformation function into the transformation chain. You can * also decide to completely override any default transformations by assigning your * transformation functions to these properties directly without the array wrapper. * * Similarly, to locally override the request/response transforms, augment the * `transformRequest` and/or `transformResponse` properties of the configuration object passed * into `$http`. * * * # Caching * * To enable caching, set the configuration property `cache` to `true`. When the cache is * enabled, `$http` stores the response from the server in local cache. Next time the * response is served from the cache without sending a request to the server. * * Note that even if the response is served from cache, delivery of the data is asynchronous in * the same way that real requests are. * * If there are multiple GET requests for the same URL that should be cached using the same * cache, but the cache is not populated yet, only one request to the server will be made and * the remaining requests will be fulfilled using the response from the first request. * * A custom default cache built with $cacheFactory can be provided in $http.defaults.cache. * To skip it, set configuration property `cache` to `false`. * * * # Interceptors * * Before you start creating interceptors, be sure to understand the * {@link ng.$q $q and deferred/promise APIs}. * * For purposes of global error handling, authentication, or any kind of synchronous or * asynchronous pre-processing of request or postprocessing of responses, it is desirable to be * able to intercept requests before they are handed to the server and * responses before they are handed over to the application code that * initiated these requests. The interceptors leverage the {@link ng.$q * promise APIs} to fulfill this need for both synchronous and asynchronous pre-processing. * * The interceptors are service factories that are registered with the `$httpProvider` by * adding them to the `$httpProvider.interceptors` array. The factory is called and * injected with dependencies (if specified) and returns the interceptor. * * There are two kinds of interceptors (and two kinds of rejection interceptors): * * * `request`: interceptors get called with http `config` object. The function is free to * modify the `config` or create a new one. The function needs to return the `config` * directly or as a promise. * * `requestError`: interceptor gets called when a previous interceptor threw an error or * resolved with a rejection. * * `response`: interceptors get called with http `response` object. The function is free to * modify the `response` or create a new one. The function needs to return the `response` * directly or as a promise. * * `responseError`: interceptor gets called when a previous interceptor threw an error or * resolved with a rejection. * * *
     *   // register the interceptor as a service
     *   $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
     *     return {
     *       // optional method
     *       'request': function(config) {
     *         // do something on success
     *         return config || $q.when(config);
     *       },
     *
     *       // optional method
     *      'requestError': function(rejection) {
     *         // do something on error
     *         if (canRecover(rejection)) {
     *           return responseOrNewPromise
     *         }
     *         return $q.reject(rejection);
     *       },
     *
     *
     *
     *       // optional method
     *       'response': function(response) {
     *         // do something on success
     *         return response || $q.when(response);
     *       },
     *
     *       // optional method
     *      'responseError': function(rejection) {
     *         // do something on error
     *         if (canRecover(rejection)) {
     *           return responseOrNewPromise
     *         }
     *         return $q.reject(rejection);
     *       };
     *     }
     *   });
     *
     *   $httpProvider.interceptors.push('myHttpInterceptor');
     *
     *
     *   // register the interceptor via an anonymous factory
     *   $httpProvider.interceptors.push(function($q, dependency1, dependency2) {
     *     return {
     *      'request': function(config) {
     *          // same as above
     *       },
     *       'response': function(response) {
     *          // same as above
     *       }
     *     };
     *   });
     * 
* * # Response interceptors (DEPRECATED) * * Before you start creating interceptors, be sure to understand the * {@link ng.$q $q and deferred/promise APIs}. * * For purposes of global error handling, authentication or any kind of synchronous or * asynchronous preprocessing of received responses, it is desirable to be able to intercept * responses for http requests before they are handed over to the application code that * initiated these requests. The response interceptors leverage the {@link ng.$q * promise apis} to fulfil this need for both synchronous and asynchronous preprocessing. * * The interceptors are service factories that are registered with the $httpProvider by * adding them to the `$httpProvider.responseInterceptors` array. The factory is called and * injected with dependencies (if specified) and returns the interceptor — a function that * takes a {@link ng.$q promise} and returns the original or a new promise. * *
     *   // register the interceptor as a service
     *   $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
     *     return function(promise) {
     *       return promise.then(function(response) {
     *         // do something on success
     *         return response;
     *       }, function(response) {
     *         // do something on error
     *         if (canRecover(response)) {
     *           return responseOrNewPromise
     *         }
     *         return $q.reject(response);
     *       });
     *     }
     *   });
     *
     *   $httpProvider.responseInterceptors.push('myHttpInterceptor');
     *
     *
     *   // register the interceptor via an anonymous factory
     *   $httpProvider.responseInterceptors.push(function($q, dependency1, dependency2) {
     *     return function(promise) {
     *       // same as above
     *     }
     *   });
     * 
* * * # Security Considerations * * When designing web applications, consider security threats from: * * - {@link http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx * JSON vulnerability} * - {@link http://en.wikipedia.org/wiki/Cross-site_request_forgery XSRF} * * Both server and the client must cooperate in order to eliminate these threats. Angular comes * pre-configured with strategies that address these issues, but for this to work backend server * cooperation is required. * * ## JSON Vulnerability Protection * * A {@link http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx * JSON vulnerability} allows third party website to turn your JSON resource URL into * {@link http://en.wikipedia.org/wiki/JSONP JSONP} request under some conditions. To * counter this your server can prefix all JSON requests with following string `")]}',\n"`. * Angular will automatically strip the prefix before processing it as JSON. * * For example if your server needs to return: *
     * ['one','two']
     * 
* * which is vulnerable to attack, your server can return: *
     * )]}',
     * ['one','two']
     * 
* * Angular will strip the prefix, before processing the JSON. * * * ## Cross Site Request Forgery (XSRF) Protection * * {@link http://en.wikipedia.org/wiki/Cross-site_request_forgery XSRF} is a technique by which * an unauthorized site can gain your user's private data. Angular provides a mechanism * to counter XSRF. When performing XHR requests, the $http service reads a token from a cookie * (by default, `XSRF-TOKEN`) and sets it as an HTTP header (`X-XSRF-TOKEN`). Since only * JavaScript that runs on your domain could read the cookie, your server can be assured that * the XHR came from JavaScript running on your domain. The header will not be set for * cross-domain requests. * * To take advantage of this, your server needs to set a token in a JavaScript readable session * cookie called `XSRF-TOKEN` on the first HTTP GET request. On subsequent XHR requests the * server can verify that the cookie matches `X-XSRF-TOKEN` HTTP header, and therefore be sure * that only JavaScript running on your domain could have sent the request. The token must be * unique for each user and must be verifiable by the server (to prevent the JavaScript from * making up its own tokens). We recommend that the token is a digest of your site's * authentication cookie with a {@link https://en.wikipedia.org/wiki/Salt_(cryptography) salt} * for added security. * * The name of the headers can be specified using the xsrfHeaderName and xsrfCookieName * properties of either $httpProvider.defaults, or the per-request config object. * * * @param {object} config Object describing the request to be made and how it should be * processed. The object has following properties: * * - **method** – `{string}` – HTTP method (e.g. 'GET', 'POST', etc) * - **url** – `{string}` – Absolute or relative URL of the resource that is being requested. * - **params** – `{Object.}` – Map of strings or objects which will be turned * to `?key1=value1&key2=value2` after the url. If the value is not a string, it will be * JSONified. * - **data** – `{string|Object}` – Data to be sent as the request message data. * - **headers** – `{Object}` – Map of strings or functions which return strings representing * HTTP headers to send to the server. If the return value of a function is null, the * header will not be sent. * - **xsrfHeaderName** – `{string}` – Name of HTTP header to populate with the XSRF token. * - **xsrfCookieName** – `{string}` – Name of cookie containing the XSRF token. * - **transformRequest** – * `{function(data, headersGetter)|Array.}` – * transform function or an array of such functions. The transform function takes the http * request body and headers and returns its transformed (typically serialized) version. * - **transformResponse** – * `{function(data, headersGetter)|Array.}` – * transform function or an array of such functions. The transform function takes the http * response body and headers and returns its transformed (typically deserialized) version. * - **cache** – `{boolean|Cache}` – If true, a default $http cache will be used to cache the * GET request, otherwise if a cache instance built with * {@link ng.$cacheFactory $cacheFactory}, this cache will be used for * caching. * - **timeout** – `{number|Promise}` – timeout in milliseconds, or {@link ng.$q promise} * that should abort the request when resolved. * - **withCredentials** - `{boolean}` - whether to to set the `withCredentials` flag on the * XHR object. See {@link https://developer.mozilla.org/en/http_access_control#section_5 * requests with credentials} for more information. * - **responseType** - `{string}` - see {@link * https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#responseType requestType}. * * @returns {HttpPromise} Returns a {@link ng.$q promise} object with the * standard `then` method and two http specific methods: `success` and `error`. The `then` * method takes two arguments a success and an error callback which will be called with a * response object. The `success` and `error` methods take a single argument - a function that * will be called when the request succeeds or fails respectively. The arguments passed into * these functions are destructured representation of the response object passed into the * `then` method. The response object has these properties: * * - **data** – `{string|Object}` – The response body transformed with the transform * functions. * - **status** – `{number}` – HTTP status code of the response. * - **headers** – `{function([headerName])}` – Header getter function. * - **config** – `{Object}` – The configuration object that was used to generate the request. * * @property {Array.} pendingRequests Array of config objects for currently pending * requests. This is primarily meant to be used for debugging purposes. * * * @example

http status code: {{status}}
http response data: {{data}}
function FetchCtrl($scope, $http, $templateCache) { $scope.method = 'GET'; $scope.url = 'http-hello.html'; $scope.fetch = function() { $scope.code = null; $scope.response = null; $http({method: $scope.method, url: $scope.url, cache: $templateCache}). success(function(data, status) { $scope.status = status; $scope.data = data; }). error(function(data, status) { $scope.data = data || "Request failed"; $scope.status = status; }); }; $scope.updateModel = function(method, url) { $scope.method = method; $scope.url = url; }; } Hello, $http! it('should make an xhr GET request', function() { element(':button:contains("Sample GET")').click(); element(':button:contains("fetch")').click(); expect(binding('status')).toBe('200'); expect(binding('data')).toMatch(/Hello, \$http!/); }); it('should make a JSONP request to angularjs.org', function() { element(':button:contains("Sample JSONP")').click(); element(':button:contains("fetch")').click(); expect(binding('status')).toBe('200'); expect(binding('data')).toMatch(/Super Hero!/); }); it('should make JSONP request to invalid URL and invoke the error handler', function() { element(':button:contains("Invalid JSONP")').click(); element(':button:contains("fetch")').click(); expect(binding('status')).toBe('0'); expect(binding('data')).toBe('Request failed'); });
*/ function $http(requestConfig) { var config = { transformRequest: defaults.transformRequest, transformResponse: defaults.transformResponse }; var headers = mergeHeaders(requestConfig); extend(config, requestConfig); config.headers = headers; config.method = uppercase(config.method); var xsrfValue = urlIsSameOrigin(config.url) ? $browser.cookies()[config.xsrfCookieName || defaults.xsrfCookieName] : undefined; if (xsrfValue) { headers[(config.xsrfHeaderName || defaults.xsrfHeaderName)] = xsrfValue; } var serverRequest = function(config) { headers = config.headers; var reqData = transformData(config.data, headersGetter(headers), config.transformRequest); // strip content-type if data is undefined if (isUndefined(config.data)) { forEach(headers, function(value, header) { if (lowercase(header) === 'content-type') { delete headers[header]; } }); } if (isUndefined(config.withCredentials) && !isUndefined(defaults.withCredentials)) { config.withCredentials = defaults.withCredentials; } // send request return sendReq(config, reqData, headers).then(transformResponse, transformResponse); }; var chain = [serverRequest, undefined]; var promise = $q.when(config); // apply interceptors forEach(reversedInterceptors, function(interceptor) { if (interceptor.request || interceptor.requestError) { chain.unshift(interceptor.request, interceptor.requestError); } if (interceptor.response || interceptor.responseError) { chain.push(interceptor.response, interceptor.responseError); } }); while(chain.length) { var thenFn = chain.shift(); var rejectFn = chain.shift(); promise = promise.then(thenFn, rejectFn); } promise.success = function(fn) { promise.then(function(response) { fn(response.data, response.status, response.headers, config); }); return promise; }; promise.error = function(fn) { promise.then(null, function(response) { fn(response.data, response.status, response.headers, config); }); return promise; }; return promise; function transformResponse(response) { // make a copy since the response must be cacheable var resp = extend({}, response, { data: transformData(response.data, response.headers, config.transformResponse) }); return (isSuccess(response.status)) ? resp : $q.reject(resp); } function mergeHeaders(config) { var defHeaders = defaults.headers, reqHeaders = extend({}, config.headers), defHeaderName, lowercaseDefHeaderName, reqHeaderName; defHeaders = extend({}, defHeaders.common, defHeaders[lowercase(config.method)]); // execute if header value is function execHeaders(defHeaders); execHeaders(reqHeaders); // using for-in instead of forEach to avoid unecessary iteration after header has been found defaultHeadersIteration: for (defHeaderName in defHeaders) { lowercaseDefHeaderName = lowercase(defHeaderName); for (reqHeaderName in reqHeaders) { if (lowercase(reqHeaderName) === lowercaseDefHeaderName) { continue defaultHeadersIteration; } } reqHeaders[defHeaderName] = defHeaders[defHeaderName]; } return reqHeaders; function execHeaders(headers) { var headerContent; forEach(headers, function(headerFn, header) { if (isFunction(headerFn)) { headerContent = headerFn(); if (headerContent != null) { headers[header] = headerContent; } else { delete headers[header]; } } }); } } } $http.pendingRequests = []; /** * @ngdoc method * @name ng.$http#get * @methodOf ng.$http * * @description * Shortcut method to perform `GET` request. * * @param {string} url Relative or absolute URL specifying the destination of the request * @param {Object=} config Optional configuration object * @returns {HttpPromise} Future object */ /** * @ngdoc method * @name ng.$http#delete * @methodOf ng.$http * * @description * Shortcut method to perform `DELETE` request. * * @param {string} url Relative or absolute URL specifying the destination of the request * @param {Object=} config Optional configuration object * @returns {HttpPromise} Future object */ /** * @ngdoc method * @name ng.$http#head * @methodOf ng.$http * * @description * Shortcut method to perform `HEAD` request. * * @param {string} url Relative or absolute URL specifying the destination of the request * @param {Object=} config Optional configuration object * @returns {HttpPromise} Future object */ /** * @ngdoc method * @name ng.$http#jsonp * @methodOf ng.$http * * @description * Shortcut method to perform `JSONP` request. * * @param {string} url Relative or absolute URL specifying the destination of the request. * Should contain `JSON_CALLBACK` string. * @param {Object=} config Optional configuration object * @returns {HttpPromise} Future object */ createShortMethods('get', 'delete', 'head', 'jsonp'); /** * @ngdoc method * @name ng.$http#post * @methodOf ng.$http * * @description * Shortcut method to perform `POST` request. * * @param {string} url Relative or absolute URL specifying the destination of the request * @param {*} data Request content * @param {Object=} config Optional configuration object * @returns {HttpPromise} Future object */ /** * @ngdoc method * @name ng.$http#put * @methodOf ng.$http * * @description * Shortcut method to perform `PUT` request. * * @param {string} url Relative or absolute URL specifying the destination of the request * @param {*} data Request content * @param {Object=} config Optional configuration object * @returns {HttpPromise} Future object */ createShortMethodsWithData('post', 'put'); /** * @ngdoc property * @name ng.$http#defaults * @propertyOf ng.$http * * @description * Runtime equivalent of the `$httpProvider.defaults` property. Allows configuration of * default headers, withCredentials as well as request and response transformations. * * See "Setting HTTP Headers" and "Transforming Requests and Responses" sections above. */ $http.defaults = defaults; return $http; function createShortMethods(names) { forEach(arguments, function(name) { $http[name] = function(url, config) { return $http(extend(config || {}, { method: name, url: url })); }; }); } function createShortMethodsWithData(name) { forEach(arguments, function(name) { $http[name] = function(url, data, config) { return $http(extend(config || {}, { method: name, url: url, data: data })); }; }); } /** * Makes the request. * * !!! ACCESSES CLOSURE VARS: * $httpBackend, defaults, $log, $rootScope, defaultCache, $http.pendingRequests */ function sendReq(config, reqData, reqHeaders) { var deferred = $q.defer(), promise = deferred.promise, cache, cachedResp, url = buildUrl(config.url, config.params); $http.pendingRequests.push(config); promise.then(removePendingReq, removePendingReq); if ((config.cache || defaults.cache) && config.cache !== false && config.method == 'GET') { cache = isObject(config.cache) ? config.cache : isObject(defaults.cache) ? defaults.cache : defaultCache; } if (cache) { cachedResp = cache.get(url); if (isDefined(cachedResp)) { if (cachedResp.then) { // cached request has already been sent, but there is no response yet cachedResp.then(removePendingReq, removePendingReq); return cachedResp; } else { // serving from cache if (isArray(cachedResp)) { resolvePromise(cachedResp[1], cachedResp[0], copy(cachedResp[2])); } else { resolvePromise(cachedResp, 200, {}); } } } else { // put the promise for the non-transformed response into cache as a placeholder cache.put(url, promise); } } // if we won't have the response in cache, send the request to the backend if (isUndefined(cachedResp)) { $httpBackend(config.method, url, reqData, done, reqHeaders, config.timeout, config.withCredentials, config.responseType); } return promise; /** * Callback registered to $httpBackend(): * - caches the response if desired * - resolves the raw $http promise * - calls $apply */ function done(status, response, headersString) { if (cache) { if (isSuccess(status)) { cache.put(url, [status, response, parseHeaders(headersString)]); } else { // remove promise from the cache cache.remove(url); } } resolvePromise(response, status, headersString); if (!$rootScope.$$phase) $rootScope.$apply(); } /** * Resolves the raw $http promise. */ function resolvePromise(response, status, headers) { // normalize internal statuses to 0 status = Math.max(status, 0); (isSuccess(status) ? deferred.resolve : deferred.reject)({ data: response, status: status, headers: headersGetter(headers), config: config }); } function removePendingReq() { var idx = indexOf($http.pendingRequests, config); if (idx !== -1) $http.pendingRequests.splice(idx, 1); } } function buildUrl(url, params) { if (!params) return url; var parts = []; forEachSorted(params, function(value, key) { if (value === null || isUndefined(value)) return; if (!isArray(value)) value = [value]; forEach(value, function(v) { if (isObject(v)) { v = toJson(v); } parts.push(encodeUriQuery(key) + '=' + encodeUriQuery(v)); }); }); return url + ((url.indexOf('?') == -1) ? '?' : '&') + parts.join('&'); } }]; } var XHR = window.XMLHttpRequest || function() { /* global ActiveXObject */ try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e1) {} try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e2) {} try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e3) {} throw minErr('$httpBackend')('noxhr', "This browser does not support XMLHttpRequest."); }; /** * @ngdoc object * @name ng.$httpBackend * @requires $browser * @requires $window * @requires $document * * @description * HTTP backend used by the {@link ng.$http service} that delegates to * XMLHttpRequest object or JSONP and deals with browser incompatibilities. * * You should never need to use this service directly, instead use the higher-level abstractions: * {@link ng.$http $http} or {@link ngResource.$resource $resource}. * * During testing this implementation is swapped with {@link ngMock.$httpBackend mock * $httpBackend} which can be trained with responses. */ function $HttpBackendProvider() { this.$get = ['$browser', '$window', '$document', function($browser, $window, $document) { return createHttpBackend($browser, XHR, $browser.defer, $window.angular.callbacks, $document[0], $window.location.protocol.replace(':', '')); }]; } function createHttpBackend($browser, XHR, $browserDefer, callbacks, rawDocument, locationProtocol) { // TODO(vojta): fix the signature return function(method, url, post, callback, headers, timeout, withCredentials, responseType) { var status; $browser.$$incOutstandingRequestCount(); url = url || $browser.url(); if (lowercase(method) == 'jsonp') { var callbackId = '_' + (callbacks.counter++).toString(36); callbacks[callbackId] = function(data) { callbacks[callbackId].data = data; }; var jsonpDone = jsonpReq(url.replace('JSON_CALLBACK', 'angular.callbacks.' + callbackId), function() { if (callbacks[callbackId].data) { completeRequest(callback, 200, callbacks[callbackId].data); } else { completeRequest(callback, status || -2); } delete callbacks[callbackId]; }); } else { var xhr = new XHR(); xhr.open(method, url, true); forEach(headers, function(value, key) { if (isDefined(value)) { xhr.setRequestHeader(key, value); } }); // In IE6 and 7, this might be called synchronously when xhr.send below is called and the // response is in the cache. the promise api will ensure that to the app code the api is // always async xhr.onreadystatechange = function() { if (xhr.readyState == 4) { var responseHeaders = xhr.getAllResponseHeaders(); // responseText is the old-school way of retrieving response (supported by IE8 & 9) // response/responseType properties were introduced in XHR Level2 spec (supported by IE10) completeRequest(callback, status || xhr.status, (xhr.responseType ? xhr.response : xhr.responseText), responseHeaders); } }; if (withCredentials) { xhr.withCredentials = true; } if (responseType) { xhr.responseType = responseType; } xhr.send(post || null); } if (timeout > 0) { var timeoutId = $browserDefer(timeoutRequest, timeout); } else if (timeout && timeout.then) { timeout.then(timeoutRequest); } function timeoutRequest() { status = -1; jsonpDone && jsonpDone(); xhr && xhr.abort(); } function completeRequest(callback, status, response, headersString) { var protocol = locationProtocol || urlResolve(url).protocol; // cancel timeout and subsequent timeout promise resolution timeoutId && $browserDefer.cancel(timeoutId); jsonpDone = xhr = null; // fix status code for file protocol (it's always 0) status = (protocol == 'file') ? (response ? 200 : 404) : status; // normalize IE bug (http://bugs.jquery.com/ticket/1450) status = status == 1223 ? 204 : status; callback(status, response, headersString); $browser.$$completeOutstandingRequest(noop); } }; function jsonpReq(url, done) { // we can't use jQuery/jqLite here because jQuery does crazy shit with script elements, e.g.: // - fetches local scripts via XHR and evals them // - adds and immediately removes script elements from the document var script = rawDocument.createElement('script'), doneWrapper = function() { rawDocument.body.removeChild(script); if (done) done(); }; script.type = 'text/javascript'; script.src = url; if (msie) { script.onreadystatechange = function() { if (/loaded|complete/.test(script.readyState)) doneWrapper(); }; } else { script.onload = script.onerror = doneWrapper; } rawDocument.body.appendChild(script); return doneWrapper; } } var $interpolateMinErr = minErr('$interpolate'); /** * @ngdoc object * @name ng.$interpolateProvider * @function * * @description * * Used for configuring the interpolation markup. Defaults to `{{` and `}}`. * * @example
//demo.label//
it('should interpolate binding with custom symbols', function() { expect(binding('demo.label')).toBe('This binding is brought you by // interpolation symbols.'); });
*/ function $InterpolateProvider() { var startSymbol = '{{'; var endSymbol = '}}'; /** * @ngdoc method * @name ng.$interpolateProvider#startSymbol * @methodOf ng.$interpolateProvider * @description * Symbol to denote start of expression in the interpolated string. Defaults to `{{`. * * @param {string=} value new value to set the starting symbol to. * @returns {string|self} Returns the symbol when used as getter and self if used as setter. */ this.startSymbol = function(value){ if (value) { startSymbol = value; return this; } else { return startSymbol; } }; /** * @ngdoc method * @name ng.$interpolateProvider#endSymbol * @methodOf ng.$interpolateProvider * @description * Symbol to denote the end of expression in the interpolated string. Defaults to `}}`. * * @param {string=} value new value to set the ending symbol to. * @returns {string|self} Returns the symbol when used as getter and self if used as setter. */ this.endSymbol = function(value){ if (value) { endSymbol = value; return this; } else { return endSymbol; } }; this.$get = ['$parse', '$exceptionHandler', '$sce', function($parse, $exceptionHandler, $sce) { var startSymbolLength = startSymbol.length, endSymbolLength = endSymbol.length; /** * @ngdoc function * @name ng.$interpolate * @function * * @requires $parse * @requires $sce * * @description * * Compiles a string with markup into an interpolation function. This service is used by the * HTML {@link ng.$compile $compile} service for data binding. See * {@link ng.$interpolateProvider $interpolateProvider} for configuring the * interpolation markup. * *
         var $interpolate = ...; // injected
         var exp = $interpolate('Hello {{name}}!');
         expect(exp({name:'Angular'}).toEqual('Hello Angular!');
       
* * * @param {string} text The text with markup to interpolate. * @param {boolean=} mustHaveExpression if set to true then the interpolation string must have * embedded expression in order to return an interpolation function. Strings with no * embedded expression will return null for the interpolation function. * @param {string=} trustedContext when provided, the returned function passes the interpolated * result through {@link ng.$sce#methods_getTrusted $sce.getTrusted(interpolatedResult, * trustedContext)} before returning it. Refer to the {@link ng.$sce $sce} service that * provides Strict Contextual Escaping for details. * @returns {function(context)} an interpolation function which is used to compute the * interpolated string. The function has these parameters: * * * `context`: an object against which any expressions embedded in the strings are evaluated * against. * */ function $interpolate(text, mustHaveExpression, trustedContext) { var startIndex, endIndex, index = 0, parts = [], length = text.length, hasInterpolation = false, fn, exp, concat = []; while(index < length) { if ( ((startIndex = text.indexOf(startSymbol, index)) != -1) && ((endIndex = text.indexOf(endSymbol, startIndex + startSymbolLength)) != -1) ) { (index != startIndex) && parts.push(text.substring(index, startIndex)); parts.push(fn = $parse(exp = text.substring(startIndex + startSymbolLength, endIndex))); fn.exp = exp; index = endIndex + endSymbolLength; hasInterpolation = true; } else { // we did not find anything, so we have to add the remainder to the parts array (index != length) && parts.push(text.substring(index)); index = length; } } if (!(length = parts.length)) { // we added, nothing, must have been an empty string. parts.push(''); length = 1; } // Concatenating expressions makes it hard to reason about whether some combination of // concatenated values are unsafe to use and could easily lead to XSS. By requiring that a // single expression be used for iframe[src], object[src], etc., we ensure that the value // that's used is assigned or constructed by some JS code somewhere that is more testable or // make it obvious that you bound the value to some user controlled value. This helps reduce // the load when auditing for XSS issues. if (trustedContext && parts.length > 1) { throw $interpolateMinErr('noconcat', "Error while interpolating: {0}\nStrict Contextual Escaping disallows " + "interpolations that concatenate multiple expressions when a trusted value is " + "required. See http://docs.angularjs.org/api/ng.$sce", text); } if (!mustHaveExpression || hasInterpolation) { concat.length = length; fn = function(context) { try { for(var i = 0, ii = length, part; i 0 && iteration >= count) { deferred.resolve(iteration); clearInterval(promise.$$intervalId); delete intervals[promise.$$intervalId]; } if (!skipApply) $rootScope.$apply(); }, delay); intervals[promise.$$intervalId] = deferred; return promise; } /** * @ngdoc function * @name ng.$interval#cancel * @methodOf ng.$interval * * @description * Cancels a task associated with the `promise`. * * @param {number} promise Promise returned by the `$interval` function. * @returns {boolean} Returns `true` if the task was successfully canceled. */ interval.cancel = function(promise) { if (promise && promise.$$intervalId in intervals) { intervals[promise.$$intervalId].reject('canceled'); clearInterval(promise.$$intervalId); delete intervals[promise.$$intervalId]; return true; } return false; }; return interval; }]; } /** * @ngdoc object * @name ng.$locale * * @description * $locale service provides localization rules for various Angular components. As of right now the * only public api is: * * * `id` – `{string}` – locale id formatted as `languageId-countryId` (e.g. `en-us`) */ function $LocaleProvider(){ this.$get = function() { return { id: 'en-us', NUMBER_FORMATS: { DECIMAL_SEP: '.', GROUP_SEP: ',', PATTERNS: [ { // Decimal Pattern minInt: 1, minFrac: 0, maxFrac: 3, posPre: '', posSuf: '', negPre: '-', negSuf: '', gSize: 3, lgSize: 3 },{ //Currency Pattern minInt: 1, minFrac: 2, maxFrac: 2, posPre: '\u00A4', posSuf: '', negPre: '(\u00A4', negSuf: ')', gSize: 3, lgSize: 3 } ], CURRENCY_SYM: '$' }, DATETIME_FORMATS: { MONTH: 'January,February,March,April,May,June,July,August,September,October,November,December' .split(','), SHORTMONTH: 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'.split(','), DAY: 'Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday'.split(','), SHORTDAY: 'Sun,Mon,Tue,Wed,Thu,Fri,Sat'.split(','), AMPMS: ['AM','PM'], medium: 'MMM d, y h:mm:ss a', short: 'M/d/yy h:mm a', fullDate: 'EEEE, MMMM d, y', longDate: 'MMMM d, y', mediumDate: 'MMM d, y', shortDate: 'M/d/yy', mediumTime: 'h:mm:ss a', shortTime: 'h:mm a' }, pluralCat: function(num) { if (num === 1) { return 'one'; } return 'other'; } }; }; } var PATH_MATCH = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/, DEFAULT_PORTS = {'http': 80, 'https': 443, 'ftp': 21}; var $locationMinErr = minErr('$location'); /** * Encode path using encodeUriSegment, ignoring forward slashes * * @param {string} path Path to encode * @returns {string} */ function encodePath(path) { var segments = path.split('/'), i = segments.length; while (i--) { segments[i] = encodeUriSegment(segments[i]); } return segments.join('/'); } function parseAbsoluteUrl(absoluteUrl, locationObj) { var parsedUrl = urlResolve(absoluteUrl); locationObj.$$protocol = parsedUrl.protocol; locationObj.$$host = parsedUrl.hostname; locationObj.$$port = int(parsedUrl.port) || DEFAULT_PORTS[parsedUrl.protocol] || null; } function parseAppUrl(relativeUrl, locationObj) { var prefixed = (relativeUrl.charAt(0) !== '/'); if (prefixed) { relativeUrl = '/' + relativeUrl; } var match = urlResolve(relativeUrl); locationObj.$$path = decodeURIComponent(prefixed && match.pathname.charAt(0) === '/' ? match.pathname.substring(1) : match.pathname); locationObj.$$search = parseKeyValue(match.search); locationObj.$$hash = decodeURIComponent(match.hash); // make sure path starts with '/'; if (locationObj.$$path && locationObj.$$path.charAt(0) != '/') { locationObj.$$path = '/' + locationObj.$$path; } } /** * * @param {string} begin * @param {string} whole * @returns {string} returns text from whole after begin or undefined if it does not begin with * expected string. */ function beginsWith(begin, whole) { if (whole.indexOf(begin) === 0) { return whole.substr(begin.length); } } function stripHash(url) { var index = url.indexOf('#'); return index == -1 ? url : url.substr(0, index); } function stripFile(url) { return url.substr(0, stripHash(url).lastIndexOf('/') + 1); } /* return the server only (scheme://host:port) */ function serverBase(url) { return url.substring(0, url.indexOf('/', url.indexOf('//') + 2)); } /** * LocationHtml5Url represents an url * This object is exposed as $location service when HTML5 mode is enabled and supported * * @constructor * @param {string} appBase application base URL * @param {string} basePrefix url path prefix */ function LocationHtml5Url(appBase, basePrefix) { this.$$html5 = true; basePrefix = basePrefix || ''; var appBaseNoFile = stripFile(appBase); parseAbsoluteUrl(appBase, this); /** * Parse given html5 (regular) url string into properties * @param {string} newAbsoluteUrl HTML5 url * @private */ this.$$parse = function(url) { var pathUrl = beginsWith(appBaseNoFile, url); if (!isString(pathUrl)) { throw $locationMinErr('ipthprfx', 'Invalid url "{0}", missing path prefix "{1}".', url, appBaseNoFile); } parseAppUrl(pathUrl, this); if (!this.$$path) { this.$$path = '/'; } this.$$compose(); }; /** * Compose url and update `absUrl` property * @private */ this.$$compose = function() { var search = toKeyValue(this.$$search), hash = this.$$hash ? '#' + encodeUriSegment(this.$$hash) : ''; this.$$url = encodePath(this.$$path) + (search ? '?' + search : '') + hash; this.$$absUrl = appBaseNoFile + this.$$url.substr(1); // first char is always '/' }; this.$$rewrite = function(url) { var appUrl, prevAppUrl; if ( (appUrl = beginsWith(appBase, url)) !== undefined ) { prevAppUrl = appUrl; if ( (appUrl = beginsWith(basePrefix, appUrl)) !== undefined ) { return appBaseNoFile + (beginsWith('/', appUrl) || appUrl); } else { return appBase + prevAppUrl; } } else if ( (appUrl = beginsWith(appBaseNoFile, url)) !== undefined ) { return appBaseNoFile + appUrl; } else if (appBaseNoFile == url + '/') { return appBaseNoFile; } }; } /** * LocationHashbangUrl represents url * This object is exposed as $location service when developer doesn't opt into html5 mode. * It also serves as the base class for html5 mode fallback on legacy browsers. * * @constructor * @param {string} appBase application base URL * @param {string} hashPrefix hashbang prefix */ function LocationHashbangUrl(appBase, hashPrefix) { var appBaseNoFile = stripFile(appBase); parseAbsoluteUrl(appBase, this); /** * Parse given hashbang url into properties * @param {string} url Hashbang url * @private */ this.$$parse = function(url) { var withoutBaseUrl = beginsWith(appBase, url) || beginsWith(appBaseNoFile, url); var withoutHashUrl = withoutBaseUrl.charAt(0) == '#' ? beginsWith(hashPrefix, withoutBaseUrl) : (this.$$html5) ? withoutBaseUrl : ''; if (!isString(withoutHashUrl)) { throw $locationMinErr('ihshprfx', 'Invalid url "{0}", missing hash prefix "{1}".', url, hashPrefix); } parseAppUrl(withoutHashUrl, this); this.$$compose(); }; /** * Compose hashbang url and update `absUrl` property * @private */ this.$$compose = function() { var search = toKeyValue(this.$$search), hash = this.$$hash ? '#' + encodeUriSegment(this.$$hash) : ''; this.$$url = encodePath(this.$$path) + (search ? '?' + search : '') + hash; this.$$absUrl = appBase + (this.$$url ? hashPrefix + this.$$url : ''); }; this.$$rewrite = function(url) { if(stripHash(appBase) == stripHash(url)) { return url; } }; } /** * LocationHashbangUrl represents url * This object is exposed as $location service when html5 history api is enabled but the browser * does not support it. * * @constructor * @param {string} appBase application base URL * @param {string} hashPrefix hashbang prefix */ function LocationHashbangInHtml5Url(appBase, hashPrefix) { this.$$html5 = true; LocationHashbangUrl.apply(this, arguments); var appBaseNoFile = stripFile(appBase); this.$$rewrite = function(url) { var appUrl; if ( appBase == stripHash(url) ) { return url; } else if ( (appUrl = beginsWith(appBaseNoFile, url)) ) { return appBase + hashPrefix + appUrl; } else if ( appBaseNoFile === url + '/') { return appBaseNoFile; } }; } LocationHashbangInHtml5Url.prototype = LocationHashbangUrl.prototype = LocationHtml5Url.prototype = { /** * Are we in html5 mode? * @private */ $$html5: false, /** * Has any change been replacing ? * @private */ $$replace: false, /** * @ngdoc method * @name ng.$location#absUrl * @methodOf ng.$location * * @description * This method is getter only. * * Return full url representation with all segments encoded according to rules specified in * {@link http://www.ietf.org/rfc/rfc3986.txt RFC 3986}. * * @return {string} full url */ absUrl: locationGetter('$$absUrl'), /** * @ngdoc method * @name ng.$location#url * @methodOf ng.$location * * @description * This method is getter / setter. * * Return url (e.g. `/path?a=b#hash`) when called without any parameter. * * Change path, search and hash, when called with parameter and return `$location`. * * @param {string=} url New url without base prefix (e.g. `/path?a=b#hash`) * @param {string=} replace The path that will be changed * @return {string} url */ url: function(url, replace) { if (isUndefined(url)) return this.$$url; var match = PATH_MATCH.exec(url); if (match[1]) this.path(decodeURIComponent(match[1])); if (match[2] || match[1]) this.search(match[3] || ''); this.hash(match[5] || '', replace); return this; }, /** * @ngdoc method * @name ng.$location#protocol * @methodOf ng.$location * * @description * This method is getter only. * * Return protocol of current url. * * @return {string} protocol of current url */ protocol: locationGetter('$$protocol'), /** * @ngdoc method * @name ng.$location#host * @methodOf ng.$location * * @description * This method is getter only. * * Return host of current url. * * @return {string} host of current url. */ host: locationGetter('$$host'), /** * @ngdoc method * @name ng.$location#port * @methodOf ng.$location * * @description * This method is getter only. * * Return port of current url. * * @return {Number} port */ port: locationGetter('$$port'), /** * @ngdoc method * @name ng.$location#path * @methodOf ng.$location * * @description * This method is getter / setter. * * Return path of current url when called without any parameter. * * Change path when called with parameter and return `$location`. * * Note: Path should always begin with forward slash (/), this method will add the forward slash * if it is missing. * * @param {string=} path New path * @return {string} path */ path: locationGetterSetter('$$path', function(path) { return path.charAt(0) == '/' ? path : '/' + path; }), /** * @ngdoc method * @name ng.$location#search * @methodOf ng.$location * * @description * This method is getter / setter. * * Return search part (as object) of current url when called without any parameter. * * Change search part when called with parameter and return `$location`. * * @param {string|Object.|Object.>} search New search params - string or * hash object. Hash object may contain an array of values, which will be decoded as duplicates in * the url. * * @param {(string|Array)=} paramValue If `search` is a string, then `paramValue` will override only a * single search parameter. If `paramValue` is an array, it will set the parameter as a * comma-separated value. If `paramValue` is `null`, the parameter will be deleted. * * @return {string} search */ search: function(search, paramValue) { switch (arguments.length) { case 0: return this.$$search; case 1: if (isString(search)) { this.$$search = parseKeyValue(search); } else if (isObject(search)) { this.$$search = search; } else { throw $locationMinErr('isrcharg', 'The first argument of the `$location#search()` call must be a string or an object.'); } break; default: if (isUndefined(paramValue) || paramValue === null) { delete this.$$search[search]; } else { this.$$search[search] = paramValue; } } this.$$compose(); return this; }, /** * @ngdoc method * @name ng.$location#hash * @methodOf ng.$location * * @description * This method is getter / setter. * * Return hash fragment when called without any parameter. * * Change hash fragment when called with parameter and return `$location`. * * @param {string=} hash New hash fragment * @return {string} hash */ hash: locationGetterSetter('$$hash', identity), /** * @ngdoc method * @name ng.$location#replace * @methodOf ng.$location * * @description * If called, all changes to $location during current `$digest` will be replacing current history * record, instead of adding new one. */ replace: function() { this.$$replace = true; return this; } }; function locationGetter(property) { return function() { return this[property]; }; } function locationGetterSetter(property, preprocess) { return function(value) { if (isUndefined(value)) return this[property]; this[property] = preprocess(value); this.$$compose(); return this; }; } /** * @ngdoc object * @name ng.$location * * @requires $browser * @requires $sniffer * @requires $rootElement * * @description * The $location service parses the URL in the browser address bar (based on the * {@link https://developer.mozilla.org/en/window.location window.location}) and makes the URL * available to your application. Changes to the URL in the address bar are reflected into * $location service and changes to $location are reflected into the browser address bar. * * **The $location service:** * * - Exposes the current URL in the browser address bar, so you can * - Watch and observe the URL. * - Change the URL. * - Synchronizes the URL with the browser when the user * - Changes the address bar. * - Clicks the back or forward button (or clicks a History link). * - Clicks on a link. * - Represents the URL object as a set of methods (protocol, host, port, path, search, hash). * * For more information see {@link guide/dev_guide.services.$location Developer Guide: Angular * Services: Using $location} */ /** * @ngdoc object * @name ng.$locationProvider * @description * Use the `$locationProvider` to configure how the application deep linking paths are stored. */ function $LocationProvider(){ var hashPrefix = '', html5Mode = false; /** * @ngdoc property * @name ng.$locationProvider#hashPrefix * @methodOf ng.$locationProvider * @description * @param {string=} prefix Prefix for hash part (containing path and search) * @returns {*} current value if used as getter or itself (chaining) if used as setter */ this.hashPrefix = function(prefix) { if (isDefined(prefix)) { hashPrefix = prefix; return this; } else { return hashPrefix; } }; /** * @ngdoc property * @name ng.$locationProvider#html5Mode * @methodOf ng.$locationProvider * @description * @param {boolean=} mode Use HTML5 strategy if available. * @returns {*} current value if used as getter or itself (chaining) if used as setter */ this.html5Mode = function(mode) { if (isDefined(mode)) { html5Mode = mode; return this; } else { return html5Mode; } }; /** * @ngdoc event * @name ng.$location#$locationChangeStart * @eventOf ng.$location * @eventType broadcast on root scope * @description * Broadcasted before a URL will change. This change can be prevented by calling * `preventDefault` method of the event. See {@link ng.$rootScope.Scope#$on} for more * details about event object. Upon successful change * {@link ng.$location#$locationChangeSuccess $locationChangeSuccess} is fired. * * @param {Object} angularEvent Synthetic event object. * @param {string} newUrl New URL * @param {string=} oldUrl URL that was before it was changed. */ /** * @ngdoc event * @name ng.$location#$locationChangeSuccess * @eventOf ng.$location * @eventType broadcast on root scope * @description * Broadcasted after a URL was changed. * * @param {Object} angularEvent Synthetic event object. * @param {string} newUrl New URL * @param {string=} oldUrl URL that was before it was changed. */ this.$get = ['$rootScope', '$browser', '$sniffer', '$rootElement', function( $rootScope, $browser, $sniffer, $rootElement) { var $location, LocationMode, baseHref = $browser.baseHref(), // if base[href] is undefined, it defaults to '' initialUrl = $browser.url(), appBase; if (html5Mode) { appBase = serverBase(initialUrl) + (baseHref || '/'); LocationMode = $sniffer.history ? LocationHtml5Url : LocationHashbangInHtml5Url; } else { appBase = stripHash(initialUrl); LocationMode = LocationHashbangUrl; } $location = new LocationMode(appBase, '#' + hashPrefix); $location.$$parse($location.$$rewrite(initialUrl)); $rootElement.on('click', function(event) { // TODO(vojta): rewrite link when opening in new tab/window (in legacy browser) // currently we open nice url link and redirect then if (event.ctrlKey || event.metaKey || event.which == 2) return; var elm = jqLite(event.target); // traverse the DOM up to find first A tag while (lowercase(elm[0].nodeName) !== 'a') { // ignore rewriting if no A tag (reached root element, or no parent - removed from document) if (elm[0] === $rootElement[0] || !(elm = elm.parent())[0]) return; } var absHref = elm.prop('href'); var rewrittenUrl = $location.$$rewrite(absHref); if (absHref && !elm.attr('target') && rewrittenUrl && !event.isDefaultPrevented()) { event.preventDefault(); if (rewrittenUrl != $browser.url()) { // update location manually $location.$$parse(rewrittenUrl); $rootScope.$apply(); // hack to work around FF6 bug 684208 when scenario runner clicks on links window.angular['ff-684208-preventDefault'] = true; } } }); // rewrite hashbang url <> html5 url if ($location.absUrl() != initialUrl) { $browser.url($location.absUrl(), true); } // update $location when $browser url changes $browser.onUrlChange(function(newUrl) { if ($location.absUrl() != newUrl) { if ($rootScope.$broadcast('$locationChangeStart', newUrl, $location.absUrl()).defaultPrevented) { $browser.url($location.absUrl()); return; } $rootScope.$evalAsync(function() { var oldUrl = $location.absUrl(); $location.$$parse(newUrl); afterLocationChange(oldUrl); }); if (!$rootScope.$$phase) $rootScope.$digest(); } }); // update browser var changeCounter = 0; $rootScope.$watch(function $locationWatch() { var oldUrl = $browser.url(); var currentReplace = $location.$$replace; if (!changeCounter || oldUrl != $location.absUrl()) { changeCounter++; $rootScope.$evalAsync(function() { if ($rootScope.$broadcast('$locationChangeStart', $location.absUrl(), oldUrl). defaultPrevented) { $location.$$parse(oldUrl); } else { $browser.url($location.absUrl(), currentReplace); afterLocationChange(oldUrl); } }); } $location.$$replace = false; return changeCounter; }); return $location; function afterLocationChange(oldUrl) { $rootScope.$broadcast('$locationChangeSuccess', $location.absUrl(), oldUrl); } }]; } /** * @ngdoc object * @name ng.$log * @requires $window * * @description * Simple service for logging. Default implementation safely writes the message * into the browser's console (if present). * * The main purpose of this service is to simplify debugging and troubleshooting. * * The default is not to log `debug` messages. You can use * {@link ng.$logProvider ng.$logProvider#debugEnabled} to change this. * * @example function LogCtrl($scope, $log) { $scope.$log = $log; $scope.message = 'Hello World!'; }

Reload this page with open console, enter text and hit the log button...

Message:
*/ /** * @ngdoc object * @name ng.$logProvider * @description * Use the `$logProvider` to configure how the application logs messages */ function $LogProvider(){ var debug = true, self = this; /** * @ngdoc property * @name ng.$logProvider#debugEnabled * @methodOf ng.$logProvider * @description * @param {string=} flag enable or disable debug level messages * @returns {*} current value if used as getter or itself (chaining) if used as setter */ this.debugEnabled = function(flag) { if (isDefined(flag)) { debug = flag; return this; } else { return debug; } }; this.$get = ['$window', function($window){ return { /** * @ngdoc method * @name ng.$log#log * @methodOf ng.$log * * @description * Write a log message */ log: consoleLog('log'), /** * @ngdoc method * @name ng.$log#info * @methodOf ng.$log * * @description * Write an information message */ info: consoleLog('info'), /** * @ngdoc method * @name ng.$log#warn * @methodOf ng.$log * * @description * Write a warning message */ warn: consoleLog('warn'), /** * @ngdoc method * @name ng.$log#error * @methodOf ng.$log * * @description * Write an error message */ error: consoleLog('error'), /** * @ngdoc method * @name ng.$log#debug * @methodOf ng.$log * * @description * Write a debug message */ debug: (function () { var fn = consoleLog('debug'); return function() { if (debug) { fn.apply(self, arguments); } }; }()) }; function formatError(arg) { if (arg instanceof Error) { if (arg.stack) { arg = (arg.message && arg.stack.indexOf(arg.message) === -1) ? 'Error: ' + arg.message + '\n' + arg.stack : arg.stack; } else if (arg.sourceURL) { arg = arg.message + '\n' + arg.sourceURL + ':' + arg.line; } } return arg; } function consoleLog(type) { var console = $window.console || {}, logFn = console[type] || console.log || noop; if (logFn.apply) { return function() { var args = []; forEach(arguments, function(arg) { args.push(formatError(arg)); }); return logFn.apply(console, args); }; } // we are IE which either doesn't have window.console => this is noop and we do nothing, // or we are IE where console.log doesn't have apply so we log at least first 2 args return function(arg1, arg2) { logFn(arg1, arg2 == null ? '' : arg2); }; } }]; } var $parseMinErr = minErr('$parse'); var promiseWarningCache = {}; var promiseWarning; // Sandboxing Angular Expressions // ------------------------------ // Angular expressions are generally considered safe because these expressions only have direct // access to $scope and locals. However, one can obtain the ability to execute arbitrary JS code by // obtaining a reference to native JS functions such as the Function constructor, the global Window // or Document object. In addition, many powerful functions for use by JavaScript code are // published on scope that shouldn't be available from within an Angular expression. // // As an example, consider the following Angular expression: // // {}.toString.constructor(alert("evil JS code")) // // We want to prevent this type of access. For the sake of performance, during the lexing phase we // disallow any "dotted" access to any member named "constructor" or to any member whose name begins // or ends with an underscore. The latter allows one to exclude the private / JavaScript only API // available on the scope and controllers from the context of an Angular expression. // // For reflective calls (a[b]), we check that the value of the lookup is not the Function // constructor, Window or DOM node while evaluating the expression, which is a stronger but more // expensive test. Since reflective calls are expensive anyway, this is not such a big deal compared // to static dereferencing. // // This sandboxing technique is not perfect and doesn't aim to be. The goal is to prevent exploits // against the expression language, but not to prevent exploits that were enabled by exposing // sensitive JavaScript or browser apis on Scope. Exposing such objects on a Scope is never a good // practice and therefore we are not even trying to protect against interaction with an object // explicitly exposed in this way. // // A developer could foil the name check by aliasing the Function constructor under a different // name on the scope. // // In general, it is not possible to access a Window object from an angular expression unless a // window or some DOM object that has a reference to window is published onto a Scope. function ensureSafeMemberName(name, fullExpression, allowConstructor) { if (typeof name !== 'string' && toString.apply(name) !== "[object String]") { return name; } if (name === "constructor" && !allowConstructor) { throw $parseMinErr('isecfld', 'Referencing "constructor" field in Angular expressions is disallowed! Expression: {0}', fullExpression); } if (name.charAt(0) === '_' || name.charAt(name.length-1) === '_') { throw $parseMinErr('isecprv', 'Referencing private fields in Angular expressions is disallowed! Expression: {0}', fullExpression); } return name; } function ensureSafeObject(obj, fullExpression) { // nifty check if obj is Function that is fast and works across iframes and other contexts if (obj && obj.constructor === obj) { throw $parseMinErr('isecfn', 'Referencing Function in Angular expressions is disallowed! Expression: {0}', fullExpression); } else if (// isWindow(obj) obj && obj.document && obj.location && obj.alert && obj.setInterval) { throw $parseMinErr('isecwindow', 'Referencing the Window in Angular expressions is disallowed! Expression: {0}', fullExpression); } else if (// isElement(obj) obj && (obj.nodeName || (obj.on && obj.find))) { throw $parseMinErr('isecdom', 'Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}', fullExpression); } else { return obj; } } var OPERATORS = { /* jshint bitwise : false */ 'null':function(){return null;}, 'true':function(){return true;}, 'false':function(){return false;}, undefined:noop, '+':function(self, locals, a,b){ a=a(self, locals); b=b(self, locals); if (isDefined(a)) { if (isDefined(b)) { return a + b; } return a; } return isDefined(b)?b:undefined;}, '-':function(self, locals, a,b){ a=a(self, locals); b=b(self, locals); return (isDefined(a)?a:0)-(isDefined(b)?b:0); }, '*':function(self, locals, a,b){return a(self, locals)*b(self, locals);}, '/':function(self, locals, a,b){return a(self, locals)/b(self, locals);}, '%':function(self, locals, a,b){return a(self, locals)%b(self, locals);}, '^':function(self, locals, a,b){return a(self, locals)^b(self, locals);}, '=':noop, '===':function(self, locals, a, b){return a(self, locals)===b(self, locals);}, '!==':function(self, locals, a, b){return a(self, locals)!==b(self, locals);}, '==':function(self, locals, a,b){return a(self, locals)==b(self, locals);}, '!=':function(self, locals, a,b){return a(self, locals)!=b(self, locals);}, '<':function(self, locals, a,b){return a(self, locals)':function(self, locals, a,b){return a(self, locals)>b(self, locals);}, '<=':function(self, locals, a,b){return a(self, locals)<=b(self, locals);}, '>=':function(self, locals, a,b){return a(self, locals)>=b(self, locals);}, '&&':function(self, locals, a,b){return a(self, locals)&&b(self, locals);}, '||':function(self, locals, a,b){return a(self, locals)||b(self, locals);}, '&':function(self, locals, a,b){return a(self, locals)&b(self, locals);}, // '|':function(self, locals, a,b){return a|b;}, '|':function(self, locals, a,b){return b(self, locals)(self, locals, a(self, locals));}, '!':function(self, locals, a){return !a(self, locals);} }; /* jshint bitwise: true */ var ESCAPE = {"n":"\n", "f":"\f", "r":"\r", "t":"\t", "v":"\v", "'":"'", '"':'"'}; ///////////////////////////////////////// /** * @constructor */ var Lexer = function (options) { this.options = options; }; Lexer.prototype = { constructor: Lexer, lex: function (text) { this.text = text; this.index = 0; this.ch = undefined; this.lastCh = ':'; // can start regexp this.tokens = []; var token; var json = []; while (this.index < this.text.length) { this.ch = this.text.charAt(this.index); if (this.is('"\'')) { this.readString(this.ch); } else if (this.isNumber(this.ch) || this.is('.') && this.isNumber(this.peek())) { this.readNumber(); } else if (this.isIdent(this.ch)) { this.readIdent(); // identifiers can only be if the preceding char was a { or , if (this.was('{,') && json[0] === '{' && (token = this.tokens[this.tokens.length - 1])) { token.json = token.text.indexOf('.') === -1; } } else if (this.is('(){}[].,;:?')) { this.tokens.push({ index: this.index, text: this.ch, json: (this.was(':[,') && this.is('{[')) || this.is('}]:,') }); if (this.is('{[')) json.unshift(this.ch); if (this.is('}]')) json.shift(); this.index++; } else if (this.isWhitespace(this.ch)) { this.index++; continue; } else { var ch2 = this.ch + this.peek(); var ch3 = ch2 + this.peek(2); var fn = OPERATORS[this.ch]; var fn2 = OPERATORS[ch2]; var fn3 = OPERATORS[ch3]; if (fn3) { this.tokens.push({index: this.index, text: ch3, fn: fn3}); this.index += 3; } else if (fn2) { this.tokens.push({index: this.index, text: ch2, fn: fn2}); this.index += 2; } else if (fn) { this.tokens.push({ index: this.index, text: this.ch, fn: fn, json: (this.was('[,:') && this.is('+-')) }); this.index += 1; } else { this.throwError('Unexpected next character ', this.index, this.index + 1); } } this.lastCh = this.ch; } return this.tokens; }, is: function(chars) { return chars.indexOf(this.ch) !== -1; }, was: function(chars) { return chars.indexOf(this.lastCh) !== -1; }, peek: function(i) { var num = i || 1; return (this.index + num < this.text.length) ? this.text.charAt(this.index + num) : false; }, isNumber: function(ch) { return ('0' <= ch && ch <= '9'); }, isWhitespace: function(ch) { // IE treats non-breaking space as \u00A0 return (ch === ' ' || ch === '\r' || ch === '\t' || ch === '\n' || ch === '\v' || ch === '\u00A0'); }, isIdent: function(ch) { return ('a' <= ch && ch <= 'z' || 'A' <= ch && ch <= 'Z' || '_' === ch || ch === '$'); }, isExpOperator: function(ch) { return (ch === '-' || ch === '+' || this.isNumber(ch)); }, throwError: function(error, start, end) { end = end || this.index; var colStr = (isDefined(start) ? 's ' + start + '-' + this.index + ' [' + this.text.substring(start, end) + ']' : ' ' + end); throw $parseMinErr('lexerr', 'Lexer Error: {0} at column{1} in expression [{2}].', error, colStr, this.text); }, readNumber: function() { var number = ''; var start = this.index; while (this.index < this.text.length) { var ch = lowercase(this.text.charAt(this.index)); if (ch == '.' || this.isNumber(ch)) { number += ch; } else { var peekCh = this.peek(); if (ch == 'e' && this.isExpOperator(peekCh)) { number += ch; } else if (this.isExpOperator(ch) && peekCh && this.isNumber(peekCh) && number.charAt(number.length - 1) == 'e') { number += ch; } else if (this.isExpOperator(ch) && (!peekCh || !this.isNumber(peekCh)) && number.charAt(number.length - 1) == 'e') { this.throwError('Invalid exponent'); } else { break; } } this.index++; } number = 1 * number; this.tokens.push({ index: start, text: number, json: true, fn: function() { return number; } }); }, readIdent: function() { var parser = this; var ident = ''; var start = this.index; var lastDot, peekIndex, methodName, ch; while (this.index < this.text.length) { ch = this.text.charAt(this.index); if (ch === '.' || this.isIdent(ch) || this.isNumber(ch)) { if (ch === '.') lastDot = this.index; ident += ch; } else { break; } this.index++; } //check if this is not a method invocation and if it is back out to last dot if (lastDot) { peekIndex = this.index; while (peekIndex < this.text.length) { ch = this.text.charAt(peekIndex); if (ch === '(') { methodName = ident.substr(lastDot - start + 1); ident = ident.substr(0, lastDot - start); this.index = peekIndex; break; } if (this.isWhitespace(ch)) { peekIndex++; } else { break; } } } var token = { index: start, text: ident }; // OPERATORS is our own object so we don't need to use special hasOwnPropertyFn if (OPERATORS.hasOwnProperty(ident)) { token.fn = OPERATORS[ident]; token.json = OPERATORS[ident]; } else { var getter = getterFn(ident, this.options, this.text); token.fn = extend(function(self, locals) { return (getter(self, locals)); }, { assign: function(self, value) { return setter(self, ident, value, parser.text, parser.options); } }); } this.tokens.push(token); if (methodName) { this.tokens.push({ index:lastDot, text: '.', json: false }); this.tokens.push({ index: lastDot + 1, text: methodName, json: false }); } }, readString: function(quote) { var start = this.index; this.index++; var string = ''; var rawString = quote; var escape = false; while (this.index < this.text.length) { var ch = this.text.charAt(this.index); rawString += ch; if (escape) { if (ch === 'u') { var hex = this.text.substring(this.index + 1, this.index + 5); if (!hex.match(/[\da-f]{4}/i)) this.throwError('Invalid unicode escape [\\u' + hex + ']'); this.index += 4; string += String.fromCharCode(parseInt(hex, 16)); } else { var rep = ESCAPE[ch]; if (rep) { string += rep; } else { string += ch; } } escape = false; } else if (ch === '\\') { escape = true; } else if (ch === quote) { this.index++; this.tokens.push({ index: start, text: rawString, string: string, json: true, fn: function() { return string; } }); return; } else { string += ch; } this.index++; } this.throwError('Unterminated quote', start); } }; /** * @constructor */ var Parser = function (lexer, $filter, options) { this.lexer = lexer; this.$filter = $filter; this.options = options; }; Parser.ZERO = function () { return 0; }; Parser.prototype = { constructor: Parser, parse: function (text, json) { this.text = text; //TODO(i): strip all the obsolte json stuff from this file this.json = json; this.tokens = this.lexer.lex(text); if (json) { // The extra level of aliasing is here, just in case the lexer misses something, so that // we prevent any accidental execution in JSON. this.assignment = this.logicalOR; this.functionCall = this.fieldAccess = this.objectIndex = this.filterChain = function() { this.throwError('is not valid json', {text: text, index: 0}); }; } var value = json ? this.primary() : this.statements(); if (this.tokens.length !== 0) { this.throwError('is an unexpected token', this.tokens[0]); } value.literal = !!value.literal; value.constant = !!value.constant; return value; }, primary: function () { var primary; if (this.expect('(')) { primary = this.filterChain(); this.consume(')'); } else if (this.expect('[')) { primary = this.arrayDeclaration(); } else if (this.expect('{')) { primary = this.object(); } else { var token = this.expect(); primary = token.fn; if (!primary) { this.throwError('not a primary expression', token); } if (token.json) { primary.constant = true; primary.literal = true; } } var next, context; while ((next = this.expect('(', '[', '.'))) { if (next.text === '(') { primary = this.functionCall(primary, context); context = null; } else if (next.text === '[') { context = primary; primary = this.objectIndex(primary); } else if (next.text === '.') { context = primary; primary = this.fieldAccess(primary); } else { this.throwError('IMPOSSIBLE'); } } return primary; }, throwError: function(msg, token) { throw $parseMinErr('syntax', 'Syntax Error: Token \'{0}\' {1} at column {2} of the expression [{3}] starting at [{4}].', token.text, msg, (token.index + 1), this.text, this.text.substring(token.index)); }, peekToken: function() { if (this.tokens.length === 0) throw $parseMinErr('ueoe', 'Unexpected end of expression: {0}', this.text); return this.tokens[0]; }, peek: function(e1, e2, e3, e4) { if (this.tokens.length > 0) { var token = this.tokens[0]; var t = token.text; if (t === e1 || t === e2 || t === e3 || t === e4 || (!e1 && !e2 && !e3 && !e4)) { return token; } } return false; }, expect: function(e1, e2, e3, e4){ var token = this.peek(e1, e2, e3, e4); if (token) { if (this.json && !token.json) { this.throwError('is not valid json', token); } this.tokens.shift(); return token; } return false; }, consume: function(e1){ if (!this.expect(e1)) { this.throwError('is unexpected, expecting [' + e1 + ']', this.peek()); } }, unaryFn: function(fn, right) { return extend(function(self, locals) { return fn(self, locals, right); }, { constant:right.constant }); }, ternaryFn: function(left, middle, right){ return extend(function(self, locals){ return left(self, locals) ? middle(self, locals) : right(self, locals); }, { constant: left.constant && middle.constant && right.constant }); }, binaryFn: function(left, fn, right) { return extend(function(self, locals) { return fn(self, locals, left, right); }, { constant:left.constant && right.constant }); }, statements: function() { var statements = []; while (true) { if (this.tokens.length > 0 && !this.peek('}', ')', ';', ']')) statements.push(this.filterChain()); if (!this.expect(';')) { // optimize for the common case where there is only one statement. // TODO(size): maybe we should not support multiple statements? return (statements.length === 1) ? statements[0] : function(self, locals) { var value; for (var i = 0; i < statements.length; i++) { var statement = statements[i]; if (statement) { value = statement(self, locals); } } return value; }; } } }, filterChain: function() { var left = this.expression(); var token; while (true) { if ((token = this.expect('|'))) { left = this.binaryFn(left, token.fn, this.filter()); } else { return left; } } }, filter: function() { var token = this.expect(); var fn = this.$filter(token.text); var argsFn = []; while (true) { if ((token = this.expect(':'))) { argsFn.push(this.expression()); } else { var fnInvoke = function(self, locals, input) { var args = [input]; for (var i = 0; i < argsFn.length; i++) { args.push(argsFn[i](self, locals)); } return fn.apply(self, args); }; return function() { return fnInvoke; }; } } }, expression: function() { return this.assignment(); }, assignment: function() { var left = this.ternary(); var right; var token; if ((token = this.expect('='))) { if (!left.assign) { this.throwError('implies assignment but [' + this.text.substring(0, token.index) + '] can not be assigned to', token); } right = this.ternary(); return function(scope, locals) { return left.assign(scope, right(scope, locals), locals); }; } return left; }, ternary: function() { var left = this.logicalOR(); var middle; var token; if ((token = this.expect('?'))) { middle = this.ternary(); if ((token = this.expect(':'))) { return this.ternaryFn(left, middle, this.ternary()); } else { this.throwError('expected :', token); } } else { return left; } }, logicalOR: function() { var left = this.logicalAND(); var token; while (true) { if ((token = this.expect('||'))) { left = this.binaryFn(left, token.fn, this.logicalAND()); } else { return left; } } }, logicalAND: function() { var left = this.equality(); var token; if ((token = this.expect('&&'))) { left = this.binaryFn(left, token.fn, this.logicalAND()); } return left; }, equality: function() { var left = this.relational(); var token; if ((token = this.expect('==','!=','===','!=='))) { left = this.binaryFn(left, token.fn, this.equality()); } return left; }, relational: function() { var left = this.additive(); var token; if ((token = this.expect('<', '>', '<=', '>='))) { left = this.binaryFn(left, token.fn, this.relational()); } return left; }, additive: function() { var left = this.multiplicative(); var token; while ((token = this.expect('+','-'))) { left = this.binaryFn(left, token.fn, this.multiplicative()); } return left; }, multiplicative: function() { var left = this.unary(); var token; while ((token = this.expect('*','/','%'))) { left = this.binaryFn(left, token.fn, this.unary()); } return left; }, unary: function() { var token; if (this.expect('+')) { return this.primary(); } else if ((token = this.expect('-'))) { return this.binaryFn(Parser.ZERO, token.fn, this.unary()); } else if ((token = this.expect('!'))) { return this.unaryFn(token.fn, this.unary()); } else { return this.primary(); } }, fieldAccess: function(object) { var parser = this; var field = this.expect().text; var getter = getterFn(field, this.options, this.text); return extend(function(scope, locals, self) { return getter(self || object(scope, locals), locals); }, { assign: function(scope, value, locals) { return setter(object(scope, locals), field, value, parser.text, parser.options); } }); }, objectIndex: function(obj) { var parser = this; var indexFn = this.expression(); this.consume(']'); return extend(function(self, locals) { var o = obj(self, locals), // In the getter, we will not block looking up "constructor" by name in order to support user defined // constructors. However, if value looked up is the Function constructor, we will still block it in the // ensureSafeObject call right after we look up o[i] (a few lines below.) i = ensureSafeMemberName(indexFn(self, locals), parser.text, true /* allowConstructor */), v, p; if (!o) return undefined; v = ensureSafeObject(o[i], parser.text); if (v && v.then && parser.options.unwrapPromises) { p = v; if (!('$$v' in v)) { p.$$v = undefined; p.then(function(val) { p.$$v = val; }); } v = v.$$v; } return v; }, { assign: function(self, value, locals) { var key = ensureSafeMemberName(indexFn(self, locals), parser.text); // prevent overwriting of Function.constructor which would break ensureSafeObject check var safe = ensureSafeObject(obj(self, locals), parser.text); return safe[key] = value; } }); }, functionCall: function(fn, contextGetter) { var argsFn = []; if (this.peekToken().text !== ')') { do { argsFn.push(this.expression()); } while (this.expect(',')); } this.consume(')'); var parser = this; return function(scope, locals) { var args = []; var context = contextGetter ? contextGetter(scope, locals) : scope; for (var i = 0; i < argsFn.length; i++) { args.push(argsFn[i](scope, locals)); } var fnPtr = fn(scope, locals, context) || noop; ensureSafeObject(context, parser.text); ensureSafeObject(fnPtr, parser.text); // IE stupidity! (IE doesn't have apply for some native functions) var v = fnPtr.apply ? fnPtr.apply(context, args) : fnPtr(args[0], args[1], args[2], args[3], args[4]); return ensureSafeObject(v, parser.text); }; }, // This is used with json array declaration arrayDeclaration: function () { var elementFns = []; var allConstant = true; if (this.peekToken().text !== ']') { do { var elementFn = this.expression(); elementFns.push(elementFn); if (!elementFn.constant) { allConstant = false; } } while (this.expect(',')); } this.consume(']'); return extend(function(self, locals) { var array = []; for (var i = 0; i < elementFns.length; i++) { array.push(elementFns[i](self, locals)); } return array; }, { literal: true, constant: allConstant }); }, object: function () { var keyValues = []; var allConstant = true; if (this.peekToken().text !== '}') { do { var token = this.expect(), key = token.string || token.text; this.consume(':'); var value = this.expression(); keyValues.push({key: key, value: value}); if (!value.constant) { allConstant = false; } } while (this.expect(',')); } this.consume('}'); return extend(function(self, locals) { var object = {}; for (var i = 0; i < keyValues.length; i++) { var keyValue = keyValues[i]; object[keyValue.key] = keyValue.value(self, locals); } return object; }, { literal: true, constant: allConstant }); } }; ////////////////////////////////////////////////// // Parser helper functions ////////////////////////////////////////////////// function setter(obj, path, setValue, fullExp, options) { //needed? options = options || {}; var element = path.split('.'), key; for (var i = 0; element.length > 1; i++) { key = ensureSafeMemberName(element.shift(), fullExp); var propertyObj = obj[key]; if (!propertyObj) { propertyObj = {}; obj[key] = propertyObj; } obj = propertyObj; if (obj.then && options.unwrapPromises) { promiseWarning(fullExp); if (!("$$v" in obj)) { (function(promise) { promise.then(function(val) { promise.$$v = val; }); } )(obj); } if (obj.$$v === undefined) { obj.$$v = {}; } obj = obj.$$v; } } key = ensureSafeMemberName(element.shift(), fullExp); obj[key] = setValue; return setValue; } var getterFnCache = {}; /** * Implementation of the "Black Hole" variant from: * - http://jsperf.com/angularjs-parse-getter/4 * - http://jsperf.com/path-evaluation-simplified/7 */ function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, options) { ensureSafeMemberName(key0, fullExp); ensureSafeMemberName(key1, fullExp); ensureSafeMemberName(key2, fullExp); ensureSafeMemberName(key3, fullExp); ensureSafeMemberName(key4, fullExp); return !options.unwrapPromises ? function cspSafeGetter(scope, locals) { var pathVal = (locals && locals.hasOwnProperty(key0)) ? locals : scope; if (pathVal === null || pathVal === undefined) return pathVal; pathVal = pathVal[key0]; if (!key1 || pathVal === null || pathVal === undefined) return pathVal; pathVal = pathVal[key1]; if (!key2 || pathVal === null || pathVal === undefined) return pathVal; pathVal = pathVal[key2]; if (!key3 || pathVal === null || pathVal === undefined) return pathVal; pathVal = pathVal[key3]; if (!key4 || pathVal === null || pathVal === undefined) return pathVal; pathVal = pathVal[key4]; return pathVal; } : function cspSafePromiseEnabledGetter(scope, locals) { var pathVal = (locals && locals.hasOwnProperty(key0)) ? locals : scope, promise; if (pathVal === null || pathVal === undefined) return pathVal; pathVal = pathVal[key0]; if (pathVal && pathVal.then) { promiseWarning(fullExp); if (!("$$v" in pathVal)) { promise = pathVal; promise.$$v = undefined; promise.then(function(val) { promise.$$v = val; }); } pathVal = pathVal.$$v; } if (!key1 || pathVal === null || pathVal === undefined) return pathVal; pathVal = pathVal[key1]; if (pathVal && pathVal.then) { promiseWarning(fullExp); if (!("$$v" in pathVal)) { promise = pathVal; promise.$$v = undefined; promise.then(function(val) { promise.$$v = val; }); } pathVal = pathVal.$$v; } if (!key2 || pathVal === null || pathVal === undefined) return pathVal; pathVal = pathVal[key2]; if (pathVal && pathVal.then) { promiseWarning(fullExp); if (!("$$v" in pathVal)) { promise = pathVal; promise.$$v = undefined; promise.then(function(val) { promise.$$v = val; }); } pathVal = pathVal.$$v; } if (!key3 || pathVal === null || pathVal === undefined) return pathVal; pathVal = pathVal[key3]; if (pathVal && pathVal.then) { promiseWarning(fullExp); if (!("$$v" in pathVal)) { promise = pathVal; promise.$$v = undefined; promise.then(function(val) { promise.$$v = val; }); } pathVal = pathVal.$$v; } if (!key4 || pathVal === null || pathVal === undefined) return pathVal; pathVal = pathVal[key4]; if (pathVal && pathVal.then) { promiseWarning(fullExp); if (!("$$v" in pathVal)) { promise = pathVal; promise.$$v = undefined; promise.then(function(val) { promise.$$v = val; }); } pathVal = pathVal.$$v; } return pathVal; }; } function getterFn(path, options, fullExp) { // Check whether the cache has this getter already. // We can use hasOwnProperty directly on the cache because we ensure, // see below, that the cache never stores a path called 'hasOwnProperty' if (getterFnCache.hasOwnProperty(path)) { return getterFnCache[path]; } var pathKeys = path.split('.'), pathKeysLength = pathKeys.length, fn; if (options.csp) { if (pathKeysLength < 6) { fn = cspSafeGetterFn(pathKeys[0], pathKeys[1], pathKeys[2], pathKeys[3], pathKeys[4], fullExp, options); } else { fn = function(scope, locals) { var i = 0, val; do { val = cspSafeGetterFn(pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++], fullExp, options)(scope, locals); locals = undefined; // clear after first iteration scope = val; } while (i < pathKeysLength); return val; }; } } else { var code = 'var l, fn, p;\n'; forEach(pathKeys, function(key, index) { ensureSafeMemberName(key, fullExp); code += 'if(s === null || s === undefined) return s;\n' + 'l=s;\n' + 's='+ (index // we simply dereference 's' on any .dot notation ? 's' // but if we are first then we check locals first, and if so read it first : '((k&&k.hasOwnProperty("' + key + '"))?k:s)') + '["' + key + '"]' + ';\n' + (options.unwrapPromises ? 'if (s && s.then) {\n' + ' pw("' + fullExp.replace(/\"/g, '\\"') + '");\n' + ' if (!("$$v" in s)) {\n' + ' p=s;\n' + ' p.$$v = undefined;\n' + ' p.then(function(v) {p.$$v=v;});\n' + '}\n' + ' s=s.$$v\n' + '}\n' : ''); }); code += 'return s;'; /* jshint -W054 */ var evaledFnGetter = new Function('s', 'k', 'pw', code); // s=scope, k=locals, pw=promiseWarning /* jshint +W054 */ evaledFnGetter.toString = function() { return code; }; fn = function(scope, locals) { return evaledFnGetter(scope, locals, promiseWarning); }; } // Only cache the value if it's not going to mess up the cache object // This is more performant that using Object.prototype.hasOwnProperty.call if (path !== 'hasOwnProperty') { getterFnCache[path] = fn; } return fn; } /////////////////////////////////// /** * @ngdoc function * @name ng.$parse * @function * * @description * * Converts Angular {@link guide/expression expression} into a function. * *
 *   var getter = $parse('user.name');
 *   var setter = getter.assign;
 *   var context = {user:{name:'angular'}};
 *   var locals = {user:{name:'local'}};
 *
 *   expect(getter(context)).toEqual('angular');
 *   setter(context, 'newValue');
 *   expect(context.user.name).toEqual('newValue');
 *   expect(getter(context, locals)).toEqual('local');
 * 
* * * @param {string} expression String expression to compile. * @returns {function(context, locals)} a function which represents the compiled expression: * * * `context` – `{object}` – an object against which any expressions embedded in the strings * are evaluated against (typically a scope object). * * `locals` – `{object=}` – local variables context object, useful for overriding values in * `context`. * * The returned function also has the following properties: * * `literal` – `{boolean}` – whether the expression's top-level node is a JavaScript * literal. * * `constant` – `{boolean}` – whether the expression is made entirely of JavaScript * constant literals. * * `assign` – `{?function(context, value)}` – if the expression is assignable, this will be * set to a function to change its value on the given context. * */ /** * @ngdoc object * @name ng.$parseProvider * @function * * @description * `$parseProvider` can be used for configuring the default behavior of the {@link ng.$parse $parse} * service. */ function $ParseProvider() { var cache = {}; var $parseOptions = { csp: false, unwrapPromises: false, logPromiseWarnings: true }; /** * @deprecated Promise unwrapping via $parse is deprecated and will be removed in the future. * * @ngdoc method * @name ng.$parseProvider#unwrapPromises * @methodOf ng.$parseProvider * @description * * **This feature is deprecated, see deprecation notes below for more info** * * If set to true (default is false), $parse will unwrap promises automatically when a promise is * found at any part of the expression. In other words, if set to true, the expression will always * result in a non-promise value. * * While the promise is unresolved, it's treated as undefined, but once resolved and fulfilled, * the fulfillment value is used in place of the promise while evaluating the expression. * * **Deprecation notice** * * This is a feature that didn't prove to be wildly useful or popular, primarily because of the * dichotomy between data access in templates (accessed as raw values) and controller code * (accessed as promises). * * In most code we ended up resolving promises manually in controllers anyway and thus unifying * the model access there. * * Other downsides of automatic promise unwrapping: * * - when building components it's often desirable to receive the raw promises * - adds complexity and slows down expression evaluation * - makes expression code pre-generation unattractive due to the amount of code that needs to be * generated * - makes IDE auto-completion and tool support hard * * **Warning Logs** * * If the unwrapping is enabled, Angular will log a warning about each expression that unwraps a * promise (to reduce the noise, each expression is logged only once). To disable this logging use * `$parseProvider.logPromiseWarnings(false)` api. * * * @param {boolean=} value New value. * @returns {boolean|self} Returns the current setting when used as getter and self if used as * setter. */ this.unwrapPromises = function(value) { if (isDefined(value)) { $parseOptions.unwrapPromises = !!value; return this; } else { return $parseOptions.unwrapPromises; } }; /** * @deprecated Promise unwrapping via $parse is deprecated and will be removed in the future. * * @ngdoc method * @name ng.$parseProvider#logPromiseWarnings * @methodOf ng.$parseProvider * @description * * Controls whether Angular should log a warning on any encounter of a promise in an expression. * * The default is set to `true`. * * This setting applies only if `$parseProvider.unwrapPromises` setting is set to true as well. * * @param {boolean=} value New value. * @returns {boolean|self} Returns the current setting when used as getter and self if used as * setter. */ this.logPromiseWarnings = function(value) { if (isDefined(value)) { $parseOptions.logPromiseWarnings = value; return this; } else { return $parseOptions.logPromiseWarnings; } }; this.$get = ['$filter', '$sniffer', '$log', function($filter, $sniffer, $log) { $parseOptions.csp = $sniffer.csp; promiseWarning = function promiseWarningFn(fullExp) { if (!$parseOptions.logPromiseWarnings || promiseWarningCache.hasOwnProperty(fullExp)) return; promiseWarningCache[fullExp] = true; $log.warn('[$parse] Promise found in the expression `' + fullExp + '`. ' + 'Automatic unwrapping of promises in Angular expressions is deprecated.'); }; return function(exp) { var parsedExpression; switch (typeof exp) { case 'string': if (cache.hasOwnProperty(exp)) { return cache[exp]; } var lexer = new Lexer($parseOptions); var parser = new Parser(lexer, $filter, $parseOptions); parsedExpression = parser.parse(exp, false); if (exp !== 'hasOwnProperty') { // Only cache the value if it's not going to mess up the cache object // This is more performant that using Object.prototype.hasOwnProperty.call cache[exp] = parsedExpression; } return parsedExpression; case 'function': return exp; default: return noop; } }; }]; } /** * @ngdoc service * @name ng.$q * @requires $rootScope * * @description * A promise/deferred implementation inspired by [Kris Kowal's Q](https://github.com/kriskowal/q). * * [The CommonJS Promise proposal](http://wiki.commonjs.org/wiki/Promises) describes a promise as an * interface for interacting with an object that represents the result of an action that is * performed asynchronously, and may or may not be finished at any given point in time. * * From the perspective of dealing with error handling, deferred and promise APIs are to * asynchronous programming what `try`, `catch` and `throw` keywords are to synchronous programming. * *
 *   // for the purpose of this example let's assume that variables `$q` and `scope` are
 *   // available in the current lexical scope (they could have been injected or passed in).
 *
 *   function asyncGreet(name) {
 *     var deferred = $q.defer();
 *
 *     setTimeout(function() {
 *       // since this fn executes async in a future turn of the event loop, we need to wrap
 *       // our code into an $apply call so that the model changes are properly observed.
 *       scope.$apply(function() {
 *         deferred.notify('About to greet ' + name + '.');
 *
 *         if (okToGreet(name)) {
 *           deferred.resolve('Hello, ' + name + '!');
 *         } else {
 *           deferred.reject('Greeting ' + name + ' is not allowed.');
 *         }
 *       });
 *     }, 1000);
 *
 *     return deferred.promise;
 *   }
 *
 *   var promise = asyncGreet('Robin Hood');
 *   promise.then(function(greeting) {
 *     alert('Success: ' + greeting);
 *   }, function(reason) {
 *     alert('Failed: ' + reason);
 *   }, function(update) {
 *     alert('Got notification: ' + update);
 *   });
 * 
* * At first it might not be obvious why this extra complexity is worth the trouble. The payoff * comes in the way of guarantees that promise and deferred APIs make, see * https://github.com/kriskowal/uncommonjs/blob/master/promises/specification.md. * * Additionally the promise api allows for composition that is very hard to do with the * traditional callback ([CPS](http://en.wikipedia.org/wiki/Continuation-passing_style)) approach. * For more on this please see the [Q documentation](https://github.com/kriskowal/q) especially the * section on serial or parallel joining of promises. * * * # The Deferred API * * A new instance of deferred is constructed by calling `$q.defer()`. * * The purpose of the deferred object is to expose the associated Promise instance as well as APIs * that can be used for signaling the successful or unsuccessful completion, as well as the status * of the task. * * **Methods** * * - `resolve(value)` – resolves the derived promise with the `value`. If the value is a rejection * constructed via `$q.reject`, the promise will be rejected instead. * - `reject(reason)` – rejects the derived promise with the `reason`. This is equivalent to * resolving it with a rejection constructed via `$q.reject`. * - `notify(value)` - provides updates on the status of the promises execution. This may be called * multiple times before the promise is either resolved or rejected. * * **Properties** * * - promise – `{Promise}` – promise object associated with this deferred. * * * # The Promise API * * A new promise instance is created when a deferred instance is created and can be retrieved by * calling `deferred.promise`. * * The purpose of the promise object is to allow for interested parties to get access to the result * of the deferred task when it completes. * * **Methods** * * - `then(successCallback, errorCallback, notifyCallback)` – regardless of when the promise was or * will be resolved or rejected, `then` calls one of the success or error callbacks asynchronously * as soon as the result is available. The callbacks are called with a single argument: the result * or rejection reason. Additionally, the notify callback may be called zero or more times to * provide a progress indication, before the promise is resolved or rejected. * * This method *returns a new promise* which is resolved or rejected via the return value of the * `successCallback`, `errorCallback`. It also notifies via the return value of the * `notifyCallback` method. The promise can not be resolved or rejected from the notifyCallback * method. * * - `catch(errorCallback)` – shorthand for `promise.then(null, errorCallback)` * * - `finally(callback)` – allows you to observe either the fulfillment or rejection of a promise, * but to do so without modifying the final value. This is useful to release resources or do some * clean-up that needs to be done whether the promise was rejected or resolved. See the [full * specification](https://github.com/kriskowal/q/wiki/API-Reference#promisefinallycallback) for * more information. * * Because `finally` is a reserved word in JavaScript and reserved keywords are not supported as * property names by ES3, you'll need to invoke the method like `promise['finally'](callback)` to * make your code IE8 compatible. * * # Chaining promises * * Because calling the `then` method of a promise returns a new derived promise, it is easily * possible to create a chain of promises: * *
 *   promiseB = promiseA.then(function(result) {
 *     return result + 1;
 *   });
 *
 *   // promiseB will be resolved immediately after promiseA is resolved and its value
 *   // will be the result of promiseA incremented by 1
 * 
* * It is possible to create chains of any length and since a promise can be resolved with another * promise (which will defer its resolution further), it is possible to pause/defer resolution of * the promises at any point in the chain. This makes it possible to implement powerful APIs like * $http's response interceptors. * * * # Differences between Kris Kowal's Q and $q * * There are three main differences: * * - $q is integrated with the {@link ng.$rootScope.Scope} Scope model observation * mechanism in angular, which means faster propagation of resolution or rejection into your * models and avoiding unnecessary browser repaints, which would result in flickering UI. * - Q has many more features than $q, but that comes at a cost of bytes. $q is tiny, but contains * all the important functionality needed for common async tasks. * * # Testing * *
 *    it('should simulate promise', inject(function($q, $rootScope) {
 *      var deferred = $q.defer();
 *      var promise = deferred.promise;
 *      var resolvedValue;
 *
 *      promise.then(function(value) { resolvedValue = value; });
 *      expect(resolvedValue).toBeUndefined();
 *
 *      // Simulate resolving of promise
 *      deferred.resolve(123);
 *      // Note that the 'then' function does not get called synchronously.
 *      // This is because we want the promise API to always be async, whether or not
 *      // it got called synchronously or asynchronously.
 *      expect(resolvedValue).toBeUndefined();
 *
 *      // Propagate promise resolution to 'then' functions using $apply().
 *      $rootScope.$apply();
 *      expect(resolvedValue).toEqual(123);
 *    });
 *  
*/ function $QProvider() { this.$get = ['$rootScope', '$exceptionHandler', function($rootScope, $exceptionHandler) { return qFactory(function(callback) { $rootScope.$evalAsync(callback); }, $exceptionHandler); }]; } /** * Constructs a promise manager. * * @param {function(function)} nextTick Function for executing functions in the next turn. * @param {function(...*)} exceptionHandler Function into which unexpected exceptions are passed for * debugging purposes. * @returns {object} Promise manager. */ function qFactory(nextTick, exceptionHandler) { /** * @ngdoc * @name ng.$q#defer * @methodOf ng.$q * @description * Creates a `Deferred` object which represents a task which will finish in the future. * * @returns {Deferred} Returns a new instance of deferred. */ var defer = function() { var pending = [], value, deferred; deferred = { resolve: function(val) { if (pending) { var callbacks = pending; pending = undefined; value = ref(val); if (callbacks.length) { nextTick(function() { var callback; for (var i = 0, ii = callbacks.length; i < ii; i++) { callback = callbacks[i]; value.then(callback[0], callback[1], callback[2]); } }); } } }, reject: function(reason) { deferred.resolve(reject(reason)); }, notify: function(progress) { if (pending) { var callbacks = pending; if (pending.length) { nextTick(function() { var callback; for (var i = 0, ii = callbacks.length; i < ii; i++) { callback = callbacks[i]; callback[2](progress); } }); } } }, promise: { then: function(callback, errback, progressback) { var result = defer(); var wrappedCallback = function(value) { try { result.resolve((isFunction(callback) ? callback : defaultCallback)(value)); } catch(e) { result.reject(e); exceptionHandler(e); } }; var wrappedErrback = function(reason) { try { result.resolve((isFunction(errback) ? errback : defaultErrback)(reason)); } catch(e) { result.reject(e); exceptionHandler(e); } }; var wrappedProgressback = function(progress) { try { result.notify((isFunction(progressback) ? progressback : defaultCallback)(progress)); } catch(e) { exceptionHandler(e); } }; if (pending) { pending.push([wrappedCallback, wrappedErrback, wrappedProgressback]); } else { value.then(wrappedCallback, wrappedErrback, wrappedProgressback); } return result.promise; }, "catch": function(callback) { return this.then(null, callback); }, "finally": function(callback) { function makePromise(value, resolved) { var result = defer(); if (resolved) { result.resolve(value); } else { result.reject(value); } return result.promise; } function handleCallback(value, isResolved) { var callbackOutput = null; try { callbackOutput = (callback ||defaultCallback)(); } catch(e) { return makePromise(e, false); } if (callbackOutput && isFunction(callbackOutput.then)) { return callbackOutput.then(function() { return makePromise(value, isResolved); }, function(error) { return makePromise(error, false); }); } else { return makePromise(value, isResolved); } } return this.then(function(value) { return handleCallback(value, true); }, function(error) { return handleCallback(error, false); }); } } }; return deferred; }; var ref = function(value) { if (value && isFunction(value.then)) return value; return { then: function(callback) { var result = defer(); nextTick(function() { result.resolve(callback(value)); }); return result.promise; } }; }; /** * @ngdoc * @name ng.$q#reject * @methodOf ng.$q * @description * Creates a promise that is resolved as rejected with the specified `reason`. This api should be * used to forward rejection in a chain of promises. If you are dealing with the last promise in * a promise chain, you don't need to worry about it. * * When comparing deferreds/promises to the familiar behavior of try/catch/throw, think of * `reject` as the `throw` keyword in JavaScript. This also means that if you "catch" an error via * a promise error callback and you want to forward the error to the promise derived from the * current promise, you have to "rethrow" the error by returning a rejection constructed via * `reject`. * *
   *   promiseB = promiseA.then(function(result) {
   *     // success: do something and resolve promiseB
   *     //          with the old or a new result
   *     return result;
   *   }, function(reason) {
   *     // error: handle the error if possible and
   *     //        resolve promiseB with newPromiseOrValue,
   *     //        otherwise forward the rejection to promiseB
   *     if (canHandle(reason)) {
   *      // handle the error and recover
   *      return newPromiseOrValue;
   *     }
   *     return $q.reject(reason);
   *   });
   * 
* * @param {*} reason Constant, message, exception or an object representing the rejection reason. * @returns {Promise} Returns a promise that was already resolved as rejected with the `reason`. */ var reject = function(reason) { return { then: function(callback, errback) { var result = defer(); nextTick(function() { try { result.resolve((isFunction(errback) ? errback : defaultErrback)(reason)); } catch(e) { result.reject(e); exceptionHandler(e); } }); return result.promise; } }; }; /** * @ngdoc * @name ng.$q#when * @methodOf ng.$q * @description * Wraps an object that might be a value or a (3rd party) then-able promise into a $q promise. * This is useful when you are dealing with an object that might or might not be a promise, or if * the promise comes from a source that can't be trusted. * * @param {*} value Value or a promise * @returns {Promise} Returns a promise of the passed value or promise */ var when = function(value, callback, errback, progressback) { var result = defer(), done; var wrappedCallback = function(value) { try { return (isFunction(callback) ? callback : defaultCallback)(value); } catch (e) { exceptionHandler(e); return reject(e); } }; var wrappedErrback = function(reason) { try { return (isFunction(errback) ? errback : defaultErrback)(reason); } catch (e) { exceptionHandler(e); return reject(e); } }; var wrappedProgressback = function(progress) { try { return (isFunction(progressback) ? progressback : defaultCallback)(progress); } catch (e) { exceptionHandler(e); } }; nextTick(function() { ref(value).then(function(value) { if (done) return; done = true; result.resolve(ref(value).then(wrappedCallback, wrappedErrback, wrappedProgressback)); }, function(reason) { if (done) return; done = true; result.resolve(wrappedErrback(reason)); }, function(progress) { if (done) return; result.notify(wrappedProgressback(progress)); }); }); return result.promise; }; function defaultCallback(value) { return value; } function defaultErrback(reason) { return reject(reason); } /** * @ngdoc * @name ng.$q#all * @methodOf ng.$q * @description * Combines multiple promises into a single promise that is resolved when all of the input * promises are resolved. * * @param {Array.|Object.} promises An array or hash of promises. * @returns {Promise} Returns a single promise that will be resolved with an array/hash of values, * each value corresponding to the promise at the same index/key in the `promises` array/hash. * If any of the promises is resolved with a rejection, this resulting promise will be rejected * with the same rejection value. */ function all(promises) { var deferred = defer(), counter = 0, results = isArray(promises) ? [] : {}; forEach(promises, function(promise, key) { counter++; ref(promise).then(function(value) { if (results.hasOwnProperty(key)) return; results[key] = value; if (!(--counter)) deferred.resolve(results); }, function(reason) { if (results.hasOwnProperty(key)) return; deferred.reject(reason); }); }); if (counter === 0) { deferred.resolve(results); } return deferred.promise; } return { defer: defer, reject: reject, when: when, all: all }; } /** * DESIGN NOTES * * The design decisions behind the scope are heavily favored for speed and memory consumption. * * The typical use of scope is to watch the expressions, which most of the time return the same * value as last time so we optimize the operation. * * Closures construction is expensive in terms of speed as well as memory: * - No closures, instead use prototypical inheritance for API * - Internal state needs to be stored on scope directly, which means that private state is * exposed as $$____ properties * * Loop operations are optimized by using while(count--) { ... } * - this means that in order to keep the same order of execution as addition we have to add * items to the array at the beginning (shift) instead of at the end (push) * * Child scopes are created and removed often * - Using an array would be slow since inserts in middle are expensive so we use linked list * * There are few watches then a lot of observers. This is why you don't want the observer to be * implemented in the same way as watch. Watch requires return of initialization function which * are expensive to construct. */ /** * @ngdoc object * @name ng.$rootScopeProvider * @description * * Provider for the $rootScope service. */ /** * @ngdoc function * @name ng.$rootScopeProvider#digestTtl * @methodOf ng.$rootScopeProvider * @description * * Sets the number of `$digest` iterations the scope should attempt to execute before giving up and * assuming that the model is unstable. * * The current default is 10 iterations. * * In complex applications it's possible that the dependencies between `$watch`s will result in * several digest iterations. However if an application needs more than the default 10 digest * iterations for its model to stabilize then you should investigate what is causing the model to * continuously change during the digest. * * Increasing the TTL could have performance implications, so you should not change it without * proper justification. * * @param {number} limit The number of digest iterations. */ /** * @ngdoc object * @name ng.$rootScope * @description * * Every application has a single root {@link ng.$rootScope.Scope scope}. * All other scopes are descendant scopes of the root scope. Scopes provide separation * between the model and the view, via a mechanism for watching the model for changes. * They also provide an event emission/broadcast and subscription facility. See the * {@link guide/scope developer guide on scopes}. */ function $RootScopeProvider(){ var TTL = 10; var $rootScopeMinErr = minErr('$rootScope'); this.digestTtl = function(value) { if (arguments.length) { TTL = value; } return TTL; }; this.$get = ['$injector', '$exceptionHandler', '$parse', '$browser', function( $injector, $exceptionHandler, $parse, $browser) { /** * @ngdoc function * @name ng.$rootScope.Scope * * @description * A root scope can be retrieved using the {@link ng.$rootScope $rootScope} key from the * {@link AUTO.$injector $injector}. Child scopes are created using the * {@link ng.$rootScope.Scope#methods_$new $new()} method. (Most scopes are created automatically when * compiled HTML template is executed.) * * Here is a simple scope snippet to show how you can interact with the scope. *
     * 
     * 
* * # Inheritance * A scope can inherit from a parent scope, as in this example: *
         var parent = $rootScope;
         var child = parent.$new();

         parent.salutation = "Hello";
         child.name = "World";
         expect(child.salutation).toEqual('Hello');

         child.salutation = "Welcome";
         expect(child.salutation).toEqual('Welcome');
         expect(parent.salutation).toEqual('Hello');
     * 
* * * @param {Object.=} providers Map of service factory which need to be * provided for the current scope. Defaults to {@link ng}. * @param {Object.=} instanceCache Provides pre-instantiated services which should * append/override services provided by `providers`. This is handy * when unit-testing and having the need to override a default * service. * @returns {Object} Newly created scope. * */ function Scope() { this.$id = nextUid(); this.$$phase = this.$parent = this.$$watchers = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = null; this['this'] = this.$root = this; this.$$destroyed = false; this.$$asyncQueue = []; this.$$postDigestQueue = []; this.$$listeners = {}; this.$$isolateBindings = {}; } /** * @ngdoc property * @name ng.$rootScope.Scope#$id * @propertyOf ng.$rootScope.Scope * @returns {number} Unique scope ID (monotonically increasing alphanumeric sequence) useful for * debugging. */ Scope.prototype = { constructor: Scope, /** * @ngdoc function * @name ng.$rootScope.Scope#$new * @methodOf ng.$rootScope.Scope * @function * * @description * Creates a new child {@link ng.$rootScope.Scope scope}. * * The parent scope will propagate the {@link ng.$rootScope.Scope#$digest $digest()} and * {@link ng.$rootScope.Scope#$digest $digest()} events. The scope can be removed from the * scope hierarchy using {@link ng.$rootScope.Scope#$destroy $destroy()}. * * {@link ng.$rootScope.Scope#$destroy $destroy()} must be called on a scope when it is * desired for the scope and its child scopes to be permanently detached from the parent and * thus stop participating in model change detection and listener notification by invoking. * * @param {boolean} isolate If true, then the scope does not prototypically inherit from the * parent scope. The scope is isolated, as it can not see parent scope properties. * When creating widgets, it is useful for the widget to not accidentally read parent * state. * * @returns {Object} The newly created child scope. * */ $new: function(isolate) { var Child, child; if (isolate) { child = new Scope(); child.$root = this.$root; // ensure that there is just one async queue per $rootScope and its children child.$$asyncQueue = this.$$asyncQueue; child.$$postDigestQueue = this.$$postDigestQueue; } else { Child = function() {}; // should be anonymous; This is so that when the minifier munges // the name it does not become random set of chars. This will then show up as class // name in the debugger. Child.prototype = this; child = new Child(); child.$id = nextUid(); } child['this'] = child; child.$$listeners = {}; child.$parent = this; child.$$watchers = child.$$nextSibling = child.$$childHead = child.$$childTail = null; child.$$prevSibling = this.$$childTail; if (this.$$childHead) { this.$$childTail.$$nextSibling = child; this.$$childTail = child; } else { this.$$childHead = this.$$childTail = child; } return child; }, /** * @ngdoc function * @name ng.$rootScope.Scope#$watch * @methodOf ng.$rootScope.Scope * @function * * @description * Registers a `listener` callback to be executed whenever the `watchExpression` changes. * * - The `watchExpression` is called on every call to {@link ng.$rootScope.Scope#$digest * $digest()} and should return the value that will be watched. (Since * {@link ng.$rootScope.Scope#$digest $digest()} reruns when it detects changes the * `watchExpression` can execute multiple times per * {@link ng.$rootScope.Scope#$digest $digest()} and should be idempotent.) * - The `listener` is called only when the value from the current `watchExpression` and the * previous call to `watchExpression` are not equal (with the exception of the initial run, * see below). The inequality is determined according to * {@link angular.equals} function. To save the value of the object for later comparison, * the {@link angular.copy} function is used. It also means that watching complex options * will have adverse memory and performance implications. * - The watch `listener` may change the model, which may trigger other `listener`s to fire. * This is achieved by rerunning the watchers until no changes are detected. The rerun * iteration limit is 10 to prevent an infinite loop deadlock. * * * If you want to be notified whenever {@link ng.$rootScope.Scope#$digest $digest} is called, * you can register a `watchExpression` function with no `listener`. (Since `watchExpression` * can execute multiple times per {@link ng.$rootScope.Scope#$digest $digest} cycle when a * change is detected, be prepared for multiple calls to your listener.) * * After a watcher is registered with the scope, the `listener` fn is called asynchronously * (via {@link ng.$rootScope.Scope#$evalAsync $evalAsync}) to initialize the * watcher. In rare cases, this is undesirable because the listener is called when the result * of `watchExpression` didn't change. To detect this scenario within the `listener` fn, you * can compare the `newVal` and `oldVal`. If these two values are identical (`===`) then the * listener was called due to initialization. * * The example below contains an illustration of using a function as your $watch listener * * * # Example *
           // let's assume that scope was dependency injected as the $rootScope
           var scope = $rootScope;
           scope.name = 'misko';
           scope.counter = 0;

           expect(scope.counter).toEqual(0);
           scope.$watch('name', function(newValue, oldValue) {
             scope.counter = scope.counter + 1;
           });
           expect(scope.counter).toEqual(0);

           scope.$digest();
           // no variable change
           expect(scope.counter).toEqual(0);

           scope.name = 'adam';
           scope.$digest();
           expect(scope.counter).toEqual(1);



           // Using a listener function 
           var food;
           scope.foodCounter = 0;
           expect(scope.foodCounter).toEqual(0);
           scope.$watch(
             // This is the listener function
             function() { return food; },
             // This is the change handler
             function(newValue, oldValue) {
               if ( newValue !== oldValue ) {
                 // Only increment the counter if the value changed
                 scope.foodCounter = scope.foodCounter + 1;
               }
             }
           );
           // No digest has been run so the counter will be zero
           expect(scope.foodCounter).toEqual(0);

           // Run the digest but since food has not changed cout will still be zero
           scope.$digest();
           expect(scope.foodCounter).toEqual(0);

           // Update food and run digest.  Now the counter will increment
           food = 'cheeseburger';
           scope.$digest();
           expect(scope.foodCounter).toEqual(1);  

       * 
* * * * @param {(function()|string)} watchExpression Expression that is evaluated on each * {@link ng.$rootScope.Scope#$digest $digest} cycle. A change in the return value triggers * a call to the `listener`. * * - `string`: Evaluated as {@link guide/expression expression} * - `function(scope)`: called with current `scope` as a parameter. * @param {(function()|string)=} listener Callback called whenever the return value of * the `watchExpression` changes. * * - `string`: Evaluated as {@link guide/expression expression} * - `function(newValue, oldValue, scope)`: called with current and previous values as * parameters. * * @param {boolean=} objectEquality Compare object for equality rather than for reference. * @returns {function()} Returns a deregistration function for this listener. */ $watch: function(watchExp, listener, objectEquality) { var scope = this, get = compileToFn(watchExp, 'watch'), array = scope.$$watchers, watcher = { fn: listener, last: initWatchVal, get: get, exp: watchExp, eq: !!objectEquality }; // in the case user pass string, we need to compile it, do we really need this ? if (!isFunction(listener)) { var listenFn = compileToFn(listener || noop, 'listener'); watcher.fn = function(newVal, oldVal, scope) {listenFn(scope);}; } if (typeof watchExp == 'string' && get.constant) { var originalFn = watcher.fn; watcher.fn = function(newVal, oldVal, scope) { originalFn.call(this, newVal, oldVal, scope); arrayRemove(array, watcher); }; } if (!array) { array = scope.$$watchers = []; } // we use unshift since we use a while loop in $digest for speed. // the while loop reads in reverse order. array.unshift(watcher); return function() { arrayRemove(array, watcher); }; }, /** * @ngdoc function * @name ng.$rootScope.Scope#$watchCollection * @methodOf ng.$rootScope.Scope * @function * * @description * Shallow watches the properties of an object and fires whenever any of the properties change * (for arrays, this implies watching the array items; for object maps, this implies watching * the properties). If a change is detected, the `listener` callback is fired. * * - The `obj` collection is observed via standard $watch operation and is examined on every * call to $digest() to see if any items have been added, removed, or moved. * - The `listener` is called whenever anything within the `obj` has changed. Examples include * adding, removing, and moving items belonging to an object or array. * * * # Example *
          $scope.names = ['igor', 'matias', 'misko', 'james'];
          $scope.dataCount = 4;

          $scope.$watchCollection('names', function(newNames, oldNames) {
            $scope.dataCount = newNames.length;
          });

          expect($scope.dataCount).toEqual(4);
          $scope.$digest();

          //still at 4 ... no changes
          expect($scope.dataCount).toEqual(4);

          $scope.names.pop();
          $scope.$digest();

          //now there's been a change
          expect($scope.dataCount).toEqual(3);
       * 
* * * @param {string|Function(scope)} obj Evaluated as {@link guide/expression expression}. The * expression value should evaluate to an object or an array which is observed on each * {@link ng.$rootScope.Scope#$digest $digest} cycle. Any shallow change within the * collection will trigger a call to the `listener`. * * @param {function(newCollection, oldCollection, scope)} listener a callback function that is * fired with both the `newCollection` and `oldCollection` as parameters. * The `newCollection` object is the newly modified data obtained from the `obj` expression * and the `oldCollection` object is a copy of the former collection data. * The `scope` refers to the current scope. * * @returns {function()} Returns a de-registration function for this listener. When the * de-registration function is executed, the internal watch operation is terminated. */ $watchCollection: function(obj, listener) { var self = this; var oldValue; var newValue; var changeDetected = 0; var objGetter = $parse(obj); var internalArray = []; var internalObject = {}; var oldLength = 0; function $watchCollectionWatch() { newValue = objGetter(self); var newLength, key; if (!isObject(newValue)) { if (oldValue !== newValue) { oldValue = newValue; changeDetected++; } } else if (isArrayLike(newValue)) { if (oldValue !== internalArray) { // we are transitioning from something which was not an array into array. oldValue = internalArray; oldLength = oldValue.length = 0; changeDetected++; } newLength = newValue.length; if (oldLength !== newLength) { // if lengths do not match we need to trigger change notification changeDetected++; oldValue.length = oldLength = newLength; } // copy the items to oldValue and look for changes. for (var i = 0; i < newLength; i++) { if (oldValue[i] !== newValue[i]) { changeDetected++; oldValue[i] = newValue[i]; } } } else { if (oldValue !== internalObject) { // we are transitioning from something which was not an object into object. oldValue = internalObject = {}; oldLength = 0; changeDetected++; } // copy the items to oldValue and look for changes. newLength = 0; for (key in newValue) { if (newValue.hasOwnProperty(key)) { newLength++; if (oldValue.hasOwnProperty(key)) { if (oldValue[key] !== newValue[key]) { changeDetected++; oldValue[key] = newValue[key]; } } else { oldLength++; oldValue[key] = newValue[key]; changeDetected++; } } } if (oldLength > newLength) { // we used to have more keys, need to find them and destroy them. changeDetected++; for(key in oldValue) { if (oldValue.hasOwnProperty(key) && !newValue.hasOwnProperty(key)) { oldLength--; delete oldValue[key]; } } } } return changeDetected; } function $watchCollectionAction() { listener(newValue, oldValue, self); } return this.$watch($watchCollectionWatch, $watchCollectionAction); }, /** * @ngdoc function * @name ng.$rootScope.Scope#$digest * @methodOf ng.$rootScope.Scope * @function * * @description * Processes all of the {@link ng.$rootScope.Scope#$watch watchers} of the current scope and * its children. Because a {@link ng.$rootScope.Scope#$watch watcher}'s listener can change * the model, the `$digest()` keeps calling the {@link ng.$rootScope.Scope#$watch watchers} * until no more listeners are firing. This means that it is possible to get into an infinite * loop. This function will throw `'Maximum iteration limit exceeded.'` if the number of * iterations exceeds 10. * * Usually, you don't call `$digest()` directly in * {@link ng.directive:ngController controllers} or in * {@link ng.$compileProvider#methods_directive directives}. * Instead, you should call {@link ng.$rootScope.Scope#$apply $apply()} (typically from within * a {@link ng.$compileProvider#methods_directive directives}), which will force a `$digest()`. * * If you want to be notified whenever `$digest()` is called, * you can register a `watchExpression` function with * {@link ng.$rootScope.Scope#$watch $watch()} with no `listener`. * * In unit tests, you may need to call `$digest()` to simulate the scope life cycle. * * # Example *
           var scope = ...;
           scope.name = 'misko';
           scope.counter = 0;

           expect(scope.counter).toEqual(0);
           scope.$watch('name', function(newValue, oldValue) {
             scope.counter = scope.counter + 1;
           });
           expect(scope.counter).toEqual(0);

           scope.$digest();
           // no variable change
           expect(scope.counter).toEqual(0);

           scope.name = 'adam';
           scope.$digest();
           expect(scope.counter).toEqual(1);
       * 
* */ $digest: function() { var watch, value, last, watchers, asyncQueue = this.$$asyncQueue, postDigestQueue = this.$$postDigestQueue, length, dirty, ttl = TTL, next, current, target = this, watchLog = [], logIdx, logMsg, asyncTask; beginPhase('$digest'); do { // "while dirty" loop dirty = false; current = target; while(asyncQueue.length) { try { asyncTask = asyncQueue.shift(); asyncTask.scope.$eval(asyncTask.expression); } catch (e) { $exceptionHandler(e); } } do { // "traverse the scopes" loop if ((watchers = current.$$watchers)) { // process our watches length = watchers.length; while (length--) { try { watch = watchers[length]; // Most common watches are on primitives, in which case we can short // circuit it with === operator, only when === fails do we use .equals if (watch && (value = watch.get(current)) !== (last = watch.last) && !(watch.eq ? equals(value, last) : (typeof value == 'number' && typeof last == 'number' && isNaN(value) && isNaN(last)))) { dirty = true; watch.last = watch.eq ? copy(value) : value; watch.fn(value, ((last === initWatchVal) ? value : last), current); if (ttl < 5) { logIdx = 4 - ttl; if (!watchLog[logIdx]) watchLog[logIdx] = []; logMsg = (isFunction(watch.exp)) ? 'fn: ' + (watch.exp.name || watch.exp.toString()) : watch.exp; logMsg += '; newVal: ' + toJson(value) + '; oldVal: ' + toJson(last); watchLog[logIdx].push(logMsg); } } } catch (e) { $exceptionHandler(e); } } } // Insanity Warning: scope depth-first traversal // yes, this code is a bit crazy, but it works and we have tests to prove it! // this piece should be kept in sync with the traversal in $broadcast if (!(next = (current.$$childHead || (current !== target && current.$$nextSibling)))) { while(current !== target && !(next = current.$$nextSibling)) { current = current.$parent; } } } while ((current = next)); if(dirty && !(ttl--)) { clearPhase(); throw $rootScopeMinErr('infdig', '{0} $digest() iterations reached. Aborting!\n' + 'Watchers fired in the last 5 iterations: {1}', TTL, toJson(watchLog)); } } while (dirty || asyncQueue.length); clearPhase(); while(postDigestQueue.length) { try { postDigestQueue.shift()(); } catch (e) { $exceptionHandler(e); } } }, /** * @ngdoc event * @name ng.$rootScope.Scope#$destroy * @eventOf ng.$rootScope.Scope * @eventType broadcast on scope being destroyed * * @description * Broadcasted when a scope and its children are being destroyed. * * Note that, in AngularJS, there is also a `$destroy` jQuery event, which can be used to * clean up DOM bindings before an element is removed from the DOM. */ /** * @ngdoc function * @name ng.$rootScope.Scope#$destroy * @methodOf ng.$rootScope.Scope * @function * * @description * Removes the current scope (and all of its children) from the parent scope. Removal implies * that calls to {@link ng.$rootScope.Scope#$digest $digest()} will no longer * propagate to the current scope and its children. Removal also implies that the current * scope is eligible for garbage collection. * * The `$destroy()` is usually used by directives such as * {@link ng.directive:ngRepeat ngRepeat} for managing the * unrolling of the loop. * * Just before a scope is destroyed, a `$destroy` event is broadcasted on this scope. * Application code can register a `$destroy` event handler that will give it a chance to * perform any necessary cleanup. * * Note that, in AngularJS, there is also a `$destroy` jQuery event, which can be used to * clean up DOM bindings before an element is removed from the DOM. */ $destroy: function() { // we can't destroy the root scope or a scope that has been already destroyed if ($rootScope == this || this.$$destroyed) return; var parent = this.$parent; this.$broadcast('$destroy'); this.$$destroyed = true; if (parent.$$childHead == this) parent.$$childHead = this.$$nextSibling; if (parent.$$childTail == this) parent.$$childTail = this.$$prevSibling; if (this.$$prevSibling) this.$$prevSibling.$$nextSibling = this.$$nextSibling; if (this.$$nextSibling) this.$$nextSibling.$$prevSibling = this.$$prevSibling; // This is bogus code that works around Chrome's GC leak // see: https://github.com/angular/angular.js/issues/1313#issuecomment-10378451 this.$parent = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = null; }, /** * @ngdoc function * @name ng.$rootScope.Scope#$eval * @methodOf ng.$rootScope.Scope * @function * * @description * Executes the `expression` on the current scope and returns the result. Any exceptions in * the expression are propagated (uncaught). This is useful when evaluating Angular * expressions. * * # Example *
           var scope = ng.$rootScope.Scope();
           scope.a = 1;
           scope.b = 2;

           expect(scope.$eval('a+b')).toEqual(3);
           expect(scope.$eval(function(scope){ return scope.a + scope.b; })).toEqual(3);
       * 
* * @param {(string|function())=} expression An angular expression to be executed. * * - `string`: execute using the rules as defined in {@link guide/expression expression}. * - `function(scope)`: execute the function with the current `scope` parameter. * * @param {(object)=} locals Local variables object, useful for overriding values in scope. * @returns {*} The result of evaluating the expression. */ $eval: function(expr, locals) { return $parse(expr)(this, locals); }, /** * @ngdoc function * @name ng.$rootScope.Scope#$evalAsync * @methodOf ng.$rootScope.Scope * @function * * @description * Executes the expression on the current scope at a later point in time. * * The `$evalAsync` makes no guarantees as to when the `expression` will be executed, only * that: * * - it will execute after the function that scheduled the evaluation (preferably before DOM * rendering). * - at least one {@link ng.$rootScope.Scope#$digest $digest cycle} will be performed after * `expression` execution. * * Any exceptions from the execution of the expression are forwarded to the * {@link ng.$exceptionHandler $exceptionHandler} service. * * __Note:__ if this function is called outside of a `$digest` cycle, a new `$digest` cycle * will be scheduled. However, it is encouraged to always call code that changes the model * from within an `$apply` call. That includes code evaluated via `$evalAsync`. * * @param {(string|function())=} expression An angular expression to be executed. * * - `string`: execute using the rules as defined in {@link guide/expression expression}. * - `function(scope)`: execute the function with the current `scope` parameter. * */ $evalAsync: function(expr) { // if we are outside of an $digest loop and this is the first time we are scheduling async // task also schedule async auto-flush if (!$rootScope.$$phase && !$rootScope.$$asyncQueue.length) { $browser.defer(function() { if ($rootScope.$$asyncQueue.length) { $rootScope.$digest(); } }); } this.$$asyncQueue.push({scope: this, expression: expr}); }, $$postDigest : function(fn) { this.$$postDigestQueue.push(fn); }, /** * @ngdoc function * @name ng.$rootScope.Scope#$apply * @methodOf ng.$rootScope.Scope * @function * * @description * `$apply()` is used to execute an expression in angular from outside of the angular * framework. (For example from browser DOM events, setTimeout, XHR or third party libraries). * Because we are calling into the angular framework we need to perform proper scope life * cycle of {@link ng.$exceptionHandler exception handling}, * {@link ng.$rootScope.Scope#$digest executing watches}. * * ## Life cycle * * # Pseudo-Code of `$apply()` *
           function $apply(expr) {
             try {
               return $eval(expr);
             } catch (e) {
               $exceptionHandler(e);
             } finally {
               $root.$digest();
             }
           }
       * 
* * * Scope's `$apply()` method transitions through the following stages: * * 1. The {@link guide/expression expression} is executed using the * {@link ng.$rootScope.Scope#$eval $eval()} method. * 2. Any exceptions from the execution of the expression are forwarded to the * {@link ng.$exceptionHandler $exceptionHandler} service. * 3. The {@link ng.$rootScope.Scope#$watch watch} listeners are fired immediately after the * expression was executed using the {@link ng.$rootScope.Scope#$digest $digest()} method. * * * @param {(string|function())=} exp An angular expression to be executed. * * - `string`: execute using the rules as defined in {@link guide/expression expression}. * - `function(scope)`: execute the function with current `scope` parameter. * * @returns {*} The result of evaluating the expression. */ $apply: function(expr) { try { beginPhase('$apply'); return this.$eval(expr); } catch (e) { $exceptionHandler(e); } finally { clearPhase(); try { $rootScope.$digest(); } catch (e) { $exceptionHandler(e); throw e; } } }, /** * @ngdoc function * @name ng.$rootScope.Scope#$on * @methodOf ng.$rootScope.Scope * @function * * @description * Listens on events of a given type. See {@link ng.$rootScope.Scope#$emit $emit} for * discussion of event life cycle. * * The event listener function format is: `function(event, args...)`. The `event` object * passed into the listener has the following attributes: * * - `targetScope` - `{Scope}`: the scope on which the event was `$emit`-ed or * `$broadcast`-ed. * - `currentScope` - `{Scope}`: the current scope which is handling the event. * - `name` - `{string}`: name of the event. * - `stopPropagation` - `{function=}`: calling `stopPropagation` function will cancel * further event propagation (available only for events that were `$emit`-ed). * - `preventDefault` - `{function}`: calling `preventDefault` sets `defaultPrevented` flag * to true. * - `defaultPrevented` - `{boolean}`: true if `preventDefault` was called. * * @param {string} name Event name to listen on. * @param {function(event, args...)} listener Function to call when the event is emitted. * @returns {function()} Returns a deregistration function for this listener. */ $on: function(name, listener) { var namedListeners = this.$$listeners[name]; if (!namedListeners) { this.$$listeners[name] = namedListeners = []; } namedListeners.push(listener); return function() { namedListeners[indexOf(namedListeners, listener)] = null; }; }, /** * @ngdoc function * @name ng.$rootScope.Scope#$emit * @methodOf ng.$rootScope.Scope * @function * * @description * Dispatches an event `name` upwards through the scope hierarchy notifying the * registered {@link ng.$rootScope.Scope#$on} listeners. * * The event life cycle starts at the scope on which `$emit` was called. All * {@link ng.$rootScope.Scope#$on listeners} listening for `name` event on this scope get * notified. Afterwards, the event traverses upwards toward the root scope and calls all * registered listeners along the way. The event will stop propagating if one of the listeners * cancels it. * * Any exception emitted from the {@link ng.$rootScope.Scope#$on listeners} will be passed * onto the {@link ng.$exceptionHandler $exceptionHandler} service. * * @param {string} name Event name to emit. * @param {...*} args Optional set of arguments which will be passed onto the event listeners. * @return {Object} Event object (see {@link ng.$rootScope.Scope#$on}). */ $emit: function(name, args) { var empty = [], namedListeners, scope = this, stopPropagation = false, event = { name: name, targetScope: scope, stopPropagation: function() {stopPropagation = true;}, preventDefault: function() { event.defaultPrevented = true; }, defaultPrevented: false }, listenerArgs = concat([event], arguments, 1), i, length; do { namedListeners = scope.$$listeners[name] || empty; event.currentScope = scope; for (i=0, length=namedListeners.length; i -1) { throw $sceMinErr('iwcard', 'Illegal sequence *** in string matcher. String: {0}', matcher); } matcher = escapeForRegexp(matcher). replace('\\*\\*', '.*'). replace('\\*', '[^:/.?&;]*'); return new RegExp('^' + matcher + '$'); } else if (isRegExp(matcher)) { // The only other type of matcher allowed is a Regexp. // Match entire URL / disallow partial matches. // Flags are reset (i.e. no global, ignoreCase or multiline) return new RegExp('^' + matcher.source + '$'); } else { throw $sceMinErr('imatcher', 'Matchers may only be "self", string patterns or RegExp objects'); } } function adjustMatchers(matchers) { var adjustedMatchers = []; if (isDefined(matchers)) { forEach(matchers, function(matcher) { adjustedMatchers.push(adjustMatcher(matcher)); }); } return adjustedMatchers; } /** * @ngdoc service * @name ng.$sceDelegate * @function * * @description * * `$sceDelegate` is a service that is used by the `$sce` service to provide {@link ng.$sce Strict * Contextual Escaping (SCE)} services to AngularJS. * * Typically, you would configure or override the {@link ng.$sceDelegate $sceDelegate} instead of * the `$sce` service to customize the way Strict Contextual Escaping works in AngularJS. This is * because, while the `$sce` provides numerous shorthand methods, etc., you really only need to * override 3 core functions (`trustAs`, `getTrusted` and `valueOf`) to replace the way things * work because `$sce` delegates to `$sceDelegate` for these operations. * * Refer {@link ng.$sceDelegateProvider $sceDelegateProvider} to configure this service. * * The default instance of `$sceDelegate` should work out of the box with little pain. While you * can override it completely to change the behavior of `$sce`, the common case would * involve configuring the {@link ng.$sceDelegateProvider $sceDelegateProvider} instead by setting * your own whitelists and blacklists for trusting URLs used for loading AngularJS resources such as * templates. Refer {@link ng.$sceDelegateProvider#methods_resourceUrlWhitelist * $sceDelegateProvider.resourceUrlWhitelist} and {@link * ng.$sceDelegateProvider#methods_resourceUrlBlacklist $sceDelegateProvider.resourceUrlBlacklist} */ /** * @ngdoc object * @name ng.$sceDelegateProvider * @description * * The `$sceDelegateProvider` provider allows developers to configure the {@link ng.$sceDelegate * $sceDelegate} service. This allows one to get/set the whitelists and blacklists used to ensure * that the URLs used for sourcing Angular templates are safe. Refer {@link * ng.$sceDelegateProvider#methods_resourceUrlWhitelist $sceDelegateProvider.resourceUrlWhitelist} and * {@link ng.$sceDelegateProvider#methods_resourceUrlBlacklist $sceDelegateProvider.resourceUrlBlacklist} * * For the general details about this service in Angular, read the main page for {@link ng.$sce * Strict Contextual Escaping (SCE)}. * * **Example**: Consider the following case. * * - your app is hosted at url `http://myapp.example.com/` * - but some of your templates are hosted on other domains you control such as * `http://srv01.assets.example.com/`,  `http://srv02.assets.example.com/`, etc. * - and you have an open redirect at `http://myapp.example.com/clickThru?...`. * * Here is what a secure configuration for this scenario might look like: * *
 *    angular.module('myApp', []).config(function($sceDelegateProvider) {
 *      $sceDelegateProvider.resourceUrlWhitelist([
 *        // Allow same origin resource loads.
 *        'self',
 *        // Allow loading from our assets domain.  Notice the difference between * and **.
 *        'http://srv*.assets.example.com/**']);
 *
 *      // The blacklist overrides the whitelist so the open redirect here is blocked.
 *      $sceDelegateProvider.resourceUrlBlacklist([
 *        'http://myapp.example.com/clickThru**']);
 *      });
 * 
*/ function $SceDelegateProvider() { this.SCE_CONTEXTS = SCE_CONTEXTS; // Resource URLs can also be trusted by policy. var resourceUrlWhitelist = ['self'], resourceUrlBlacklist = []; /** * @ngdoc function * @name ng.sceDelegateProvider#resourceUrlWhitelist * @methodOf ng.$sceDelegateProvider * @function * * @param {Array=} whitelist When provided, replaces the resourceUrlWhitelist with the value * provided. This must be an array or null. A snapshot of this array is used so further * changes to the array are ignored. * * Follow {@link ng.$sce#resourceUrlPatternItem this link} for a description of the items * allowed in this array. * * Note: **an empty whitelist array will block all URLs**! * * @return {Array} the currently set whitelist array. * * The **default value** when no whitelist has been explicitly set is `['self']` allowing only * same origin resource requests. * * @description * Sets/Gets the whitelist of trusted resource URLs. */ this.resourceUrlWhitelist = function (value) { if (arguments.length) { resourceUrlWhitelist = adjustMatchers(value); } return resourceUrlWhitelist; }; /** * @ngdoc function * @name ng.sceDelegateProvider#resourceUrlBlacklist * @methodOf ng.$sceDelegateProvider * @function * * @param {Array=} blacklist When provided, replaces the resourceUrlBlacklist with the value * provided. This must be an array or null. A snapshot of this array is used so further * changes to the array are ignored. * * Follow {@link ng.$sce#resourceUrlPatternItem this link} for a description of the items * allowed in this array. * * The typical usage for the blacklist is to **block * [open redirects](http://cwe.mitre.org/data/definitions/601.html)** served by your domain as * these would otherwise be trusted but actually return content from the redirected domain. * * Finally, **the blacklist overrides the whitelist** and has the final say. * * @return {Array} the currently set blacklist array. * * The **default value** when no whitelist has been explicitly set is the empty array (i.e. there * is no blacklist.) * * @description * Sets/Gets the blacklist of trusted resource URLs. */ this.resourceUrlBlacklist = function (value) { if (arguments.length) { resourceUrlBlacklist = adjustMatchers(value); } return resourceUrlBlacklist; }; this.$get = ['$log', '$document', '$injector', function( $log, $document, $injector) { var htmlSanitizer = function htmlSanitizer(html) { throw $sceMinErr('unsafe', 'Attempting to use an unsafe value in a safe context.'); }; if ($injector.has('$sanitize')) { htmlSanitizer = $injector.get('$sanitize'); } function matchUrl(matcher, parsedUrl) { if (matcher === 'self') { return urlIsSameOrigin(parsedUrl); } else { // definitely a regex. See adjustMatchers() return !!matcher.exec(parsedUrl.href); } } function isResourceUrlAllowedByPolicy(url) { var parsedUrl = urlResolve(url.toString()); var i, n, allowed = false; // Ensure that at least one item from the whitelist allows this url. for (i = 0, n = resourceUrlWhitelist.length; i < n; i++) { if (matchUrl(resourceUrlWhitelist[i], parsedUrl)) { allowed = true; break; } } if (allowed) { // Ensure that no item from the blacklist blocked this url. for (i = 0, n = resourceUrlBlacklist.length; i < n; i++) { if (matchUrl(resourceUrlBlacklist[i], parsedUrl)) { allowed = false; break; } } } return allowed; } function generateHolderType(Base) { var holderType = function TrustedValueHolderType(trustedValue) { this.$$unwrapTrustedValue = function() { return trustedValue; }; }; if (Base) { holderType.prototype = new Base(); } holderType.prototype.valueOf = function sceValueOf() { return this.$$unwrapTrustedValue(); }; holderType.prototype.toString = function sceToString() { return this.$$unwrapTrustedValue().toString(); }; return holderType; } var trustedValueHolderBase = generateHolderType(), byType = {}; byType[SCE_CONTEXTS.HTML] = generateHolderType(trustedValueHolderBase); byType[SCE_CONTEXTS.CSS] = generateHolderType(trustedValueHolderBase); byType[SCE_CONTEXTS.URL] = generateHolderType(trustedValueHolderBase); byType[SCE_CONTEXTS.JS] = generateHolderType(trustedValueHolderBase); byType[SCE_CONTEXTS.RESOURCE_URL] = generateHolderType(byType[SCE_CONTEXTS.URL]); /** * @ngdoc method * @name ng.$sceDelegate#trustAs * @methodOf ng.$sceDelegate * * @description * Returns an object that is trusted by angular for use in specified strict * contextual escaping contexts (such as ng-html-bind-unsafe, ng-include, any src * attribute interpolation, any dom event binding attribute interpolation * such as for onclick, etc.) that uses the provided value. * See {@link ng.$sce $sce} for enabling strict contextual escaping. * * @param {string} type The kind of context in which this value is safe for use. e.g. url, * resourceUrl, html, js and css. * @param {*} value The value that that should be considered trusted/safe. * @returns {*} A value that can be used to stand in for the provided `value` in places * where Angular expects a $sce.trustAs() return value. */ function trustAs(type, trustedValue) { var Constructor = (byType.hasOwnProperty(type) ? byType[type] : null); if (!Constructor) { throw $sceMinErr('icontext', 'Attempted to trust a value in invalid context. Context: {0}; Value: {1}', type, trustedValue); } if (trustedValue === null || trustedValue === undefined || trustedValue === '') { return trustedValue; } // All the current contexts in SCE_CONTEXTS happen to be strings. In order to avoid trusting // mutable objects, we ensure here that the value passed in is actually a string. if (typeof trustedValue !== 'string') { throw $sceMinErr('itype', 'Attempted to trust a non-string value in a content requiring a string: Context: {0}', type); } return new Constructor(trustedValue); } /** * @ngdoc method * @name ng.$sceDelegate#valueOf * @methodOf ng.$sceDelegate * * @description * If the passed parameter had been returned by a prior call to {@link ng.$sceDelegate#methods_trustAs * `$sceDelegate.trustAs`}, returns the value that had been passed to {@link * ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs`}. * * If the passed parameter is not a value that had been returned by {@link * ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs`}, returns it as-is. * * @param {*} value The result of a prior {@link ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs`} * call or anything else. * @returns {*} The value the was originally provided to {@link ng.$sceDelegate#methods_trustAs * `$sceDelegate.trustAs`} if `value` is the result of such a call. Otherwise, returns * `value` unchanged. */ function valueOf(maybeTrusted) { if (maybeTrusted instanceof trustedValueHolderBase) { return maybeTrusted.$$unwrapTrustedValue(); } else { return maybeTrusted; } } /** * @ngdoc method * @name ng.$sceDelegate#getTrusted * @methodOf ng.$sceDelegate * * @description * Takes the result of a {@link ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs`} call and * returns the originally supplied value if the queried context type is a supertype of the * created type. If this condition isn't satisfied, throws an exception. * * @param {string} type The kind of context in which this value is to be used. * @param {*} maybeTrusted The result of a prior {@link ng.$sceDelegate#methods_trustAs * `$sceDelegate.trustAs`} call. * @returns {*} The value the was originally provided to {@link ng.$sceDelegate#methods_trustAs * `$sceDelegate.trustAs`} if valid in this context. Otherwise, throws an exception. */ function getTrusted(type, maybeTrusted) { if (maybeTrusted === null || maybeTrusted === undefined || maybeTrusted === '') { return maybeTrusted; } var constructor = (byType.hasOwnProperty(type) ? byType[type] : null); if (constructor && maybeTrusted instanceof constructor) { return maybeTrusted.$$unwrapTrustedValue(); } // If we get here, then we may only take one of two actions. // 1. sanitize the value for the requested type, or // 2. throw an exception. if (type === SCE_CONTEXTS.RESOURCE_URL) { if (isResourceUrlAllowedByPolicy(maybeTrusted)) { return maybeTrusted; } else { throw $sceMinErr('insecurl', 'Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}', maybeTrusted.toString()); } } else if (type === SCE_CONTEXTS.HTML) { return htmlSanitizer(maybeTrusted); } throw $sceMinErr('unsafe', 'Attempting to use an unsafe value in a safe context.'); } return { trustAs: trustAs, getTrusted: getTrusted, valueOf: valueOf }; }]; } /** * @ngdoc object * @name ng.$sceProvider * @description * * The $sceProvider provider allows developers to configure the {@link ng.$sce $sce} service. * - enable/disable Strict Contextual Escaping (SCE) in a module * - override the default implementation with a custom delegate * * Read more about {@link ng.$sce Strict Contextual Escaping (SCE)}. */ /* jshint maxlen: false*/ /** * @ngdoc service * @name ng.$sce * @function * * @description * * `$sce` is a service that provides Strict Contextual Escaping services to AngularJS. * * # Strict Contextual Escaping * * Strict Contextual Escaping (SCE) is a mode in which AngularJS requires bindings in certain * contexts to result in a value that is marked as safe to use for that context. One example of * such a context is binding arbitrary html controlled by the user via `ng-bind-html`. We refer * to these contexts as privileged or SCE contexts. * * As of version 1.2, Angular ships with SCE enabled by default. * * Note: When enabled (the default), IE8 in quirks mode is not supported. In this mode, IE8 allows * one to execute arbitrary javascript by the use of the expression() syntax. Refer * to learn more about them. * You can ensure your document is in standards mode and not quirks mode by adding `` * to the top of your HTML document. * * SCE assists in writing code in way that (a) is secure by default and (b) makes auditing for * security vulnerabilities such as XSS, clickjacking, etc. a lot easier. * * Here's an example of a binding in a privileged context: * *
 *     
 *     
*
* * Notice that `ng-bind-html` is bound to `{{userHtml}}` controlled by the user. With SCE * disabled, this application allows the user to render arbitrary HTML into the DIV. * In a more realistic example, one may be rendering user comments, blog articles, etc. via * bindings. (HTML is just one example of a context where rendering user controlled input creates * security vulnerabilities.) * * For the case of HTML, you might use a library, either on the client side, or on the server side, * to sanitize unsafe HTML before binding to the value and rendering it in the document. * * How would you ensure that every place that used these types of bindings was bound to a value that * was sanitized by your library (or returned as safe for rendering by your server?) How can you * ensure that you didn't accidentally delete the line that sanitized the value, or renamed some * properties/fields and forgot to update the binding to the sanitized value? * * To be secure by default, you want to ensure that any such bindings are disallowed unless you can * determine that something explicitly says it's safe to use a value for binding in that * context. You can then audit your code (a simple grep would do) to ensure that this is only done * for those values that you can easily tell are safe - because they were received from your server, * sanitized by your library, etc. You can organize your codebase to help with this - perhaps * allowing only the files in a specific directory to do this. Ensuring that the internal API * exposed by that code doesn't markup arbitrary values as safe then becomes a more manageable task. * * In the case of AngularJS' SCE service, one uses {@link ng.$sce#methods_trustAs $sce.trustAs} * (and shorthand methods such as {@link ng.$sce#methods_trustAsHtml $sce.trustAsHtml}, etc.) to * obtain values that will be accepted by SCE / privileged contexts. * * * ## How does it work? * * In privileged contexts, directives and code will bind to the result of {@link ng.$sce#methods_getTrusted * $sce.getTrusted(context, value)} rather than to the value directly. Directives use {@link * ng.$sce#methods_parse $sce.parseAs} rather than `$parse` to watch attribute bindings, which performs the * {@link ng.$sce#methods_getTrusted $sce.getTrusted} behind the scenes on non-constant literals. * * As an example, {@link ng.directive:ngBindHtml ngBindHtml} uses {@link * ng.$sce#methods_parseAsHtml $sce.parseAsHtml(binding expression)}. Here's the actual code (slightly * simplified): * *
 *   var ngBindHtmlDirective = ['$sce', function($sce) {
 *     return function(scope, element, attr) {
 *       scope.$watch($sce.parseAsHtml(attr.ngBindHtml), function(value) {
 *         element.html(value || '');
 *       });
 *     };
 *   }];
 * 
* * ## Impact on loading templates * * This applies both to the {@link ng.directive:ngInclude `ng-include`} directive as well as * `templateUrl`'s specified by {@link guide/directive directives}. * * By default, Angular only loads templates from the same domain and protocol as the application * document. This is done by calling {@link ng.$sce#methods_getTrustedResourceUrl * $sce.getTrustedResourceUrl} on the template URL. To load templates from other domains and/or * protocols, you may either either {@link ng.$sceDelegateProvider#methods_resourceUrlWhitelist whitelist * them} or {@link ng.$sce#methods_trustAsResourceUrl wrap it} into a trusted value. * * *Please note*: * The browser's * {@link https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_XMLHttpRequest * Same Origin Policy} and {@link http://www.w3.org/TR/cors/ Cross-Origin Resource Sharing (CORS)} * policy apply in addition to this and may further restrict whether the template is successfully * loaded. This means that without the right CORS policy, loading templates from a different domain * won't work on all browsers. Also, loading templates from `file://` URL does not work on some * browsers. * * ## This feels like too much overhead for the developer? * * It's important to remember that SCE only applies to interpolation expressions. * * If your expressions are constant literals, they're automatically trusted and you don't need to * call `$sce.trustAs` on them. (e.g. * `
`) just works. * * Additionally, `a[href]` and `img[src]` automatically sanitize their URLs and do not pass them * through {@link ng.$sce#methods_getTrusted $sce.getTrusted}. SCE doesn't play a role here. * * The included {@link ng.$sceDelegate $sceDelegate} comes with sane defaults to allow you to load * templates in `ng-include` from your application's domain without having to even know about SCE. * It blocks loading templates from other domains or loading templates over http from an https * served document. You can change these by setting your own custom {@link * ng.$sceDelegateProvider#methods_resourceUrlWhitelist whitelists} and {@link * ng.$sceDelegateProvider#methods_resourceUrlBlacklist blacklists} for matching such URLs. * * This significantly reduces the overhead. It is far easier to pay the small overhead and have an * application that's secure and can be audited to verify that with much more ease than bolting * security onto an application later. * * * ## What trusted context types are supported? * * | Context | Notes | * |---------------------|----------------| * | `$sce.HTML` | For HTML that's safe to source into the application. The {@link ng.directive:ngBindHtml ngBindHtml} directive uses this context for bindings. | * | `$sce.CSS` | For CSS that's safe to source into the application. Currently unused. Feel free to use it in your own directives. | * | `$sce.URL` | For URLs that are safe to follow as links. Currently unused (`
Note that `$sce.RESOURCE_URL` makes a stronger statement about the URL than `$sce.URL` does and therefore contexts requiring values trusted for `$sce.RESOURCE_URL` can be used anywhere that values trusted for `$sce.URL` are required. | * | `$sce.JS` | For JavaScript that is safe to execute in your application's context. Currently unused. Feel free to use it in your own directives. | * * ## Format of items in {@link ng.$sceDelegateProvider#methods_resourceUrlWhitelist resourceUrlWhitelist}/{@link ng.$sceDelegateProvider#methods_resourceUrlBlacklist Blacklist}
* * Each element in these arrays must be one of the following: * * - **'self'** * - The special **string**, `'self'`, can be used to match against all URLs of the **same * domain** as the application document using the **same protocol**. * - **String** (except the special value `'self'`) * - The string is matched against the full *normalized / absolute URL* of the resource * being tested (substring matches are not good enough.) * - There are exactly **two wildcard sequences** - `*` and `**`. All other characters * match themselves. * - `*`: matches zero or more occurances of any character other than one of the following 6 * characters: '`:`', '`/`', '`.`', '`?`', '`&`' and ';'. It's a useful wildcard for use * in a whitelist. * - `**`: matches zero or more occurances of *any* character. As such, it's not * not appropriate to use in for a scheme, domain, etc. as it would match too much. (e.g. * http://**.example.com/ would match http://evil.com/?ignore=.example.com/ and that might * not have been the intention.) It's usage at the very end of the path is ok. (e.g. * http://foo.example.com/templates/**). * - **RegExp** (*see caveat below*) * - *Caveat*: While regular expressions are powerful and offer great flexibility, their syntax * (and all the inevitable escaping) makes them *harder to maintain*. It's easy to * accidentally introduce a bug when one updates a complex expression (imho, all regexes should * have good test coverage.). For instance, the use of `.` in the regex is correct only in a * small number of cases. A `.` character in the regex used when matching the scheme or a * subdomain could be matched against a `:` or literal `.` that was likely not intended. It * is highly recommended to use the string patterns and only fall back to regular expressions * if they as a last resort. * - The regular expression must be an instance of RegExp (i.e. not a string.) It is * matched against the **entire** *normalized / absolute URL* of the resource being tested * (even when the RegExp did not have the `^` and `$` codes.) In addition, any flags * present on the RegExp (such as multiline, global, ignoreCase) are ignored. * - If you are generating your Javascript from some other templating engine (not * recommended, e.g. in issue [#4006](https://github.com/angular/angular.js/issues/4006)), * remember to escape your regular expression (and be aware that you might need more than * one level of escaping depending on your templating engine and the way you interpolated * the value.) Do make use of your platform's escaping mechanism as it might be good * enough before coding your own. e.g. Ruby has * [Regexp.escape(str)](http://www.ruby-doc.org/core-2.0.0/Regexp.html#method-c-escape) * and Python has [re.escape](http://docs.python.org/library/re.html#re.escape). * Javascript lacks a similar built in function for escaping. Take a look at Google * Closure library's [goog.string.regExpEscape(s)]( * http://docs.closure-library.googlecode.com/git/closure_goog_string_string.js.source.html#line962). * * Refer {@link ng.$sceDelegateProvider $sceDelegateProvider} for an example. * * ## Show me an example using SCE. * * @example


User comments
By default, HTML that isn't explicitly trusted (e.g. Alice's comment) is sanitized when $sanitize is available. If $sanitize isn't available, this results in an error instead of an exploit.
{{userComment.name}}:
var mySceApp = angular.module('mySceApp', ['ngSanitize']); mySceApp.controller("myAppController", function myAppController($http, $templateCache, $sce) { var self = this; $http.get("test_data.json", {cache: $templateCache}).success(function(userComments) { self.userComments = userComments; }); self.explicitlyTrustedHtml = $sce.trustAsHtml( 'Hover over this text.'); }); [ { "name": "Alice", "htmlComment": "Is anyone reading this?" }, { "name": "Bob", "htmlComment": "Yes! Am I the only other one?" } ] describe('SCE doc demo', function() { it('should sanitize untrusted values', function() { expect(element('.htmlComment').html()).toBe('Is anyone reading this?'); }); it('should NOT sanitize explicitly trusted values', function() { expect(element('#explicitlyTrustedHtml').html()).toBe( 'Hover over this text.'); }); });
* * * * ## Can I disable SCE completely? * * Yes, you can. However, this is strongly discouraged. SCE gives you a lot of security benefits * for little coding overhead. It will be much harder to take an SCE disabled application and * either secure it on your own or enable SCE at a later stage. It might make sense to disable SCE * for cases where you have a lot of existing code that was written before SCE was introduced and * you're migrating them a module at a time. * * That said, here's how you can completely disable SCE: * *
 *   angular.module('myAppWithSceDisabledmyApp', []).config(function($sceProvider) {
 *     // Completely disable SCE.  For demonstration purposes only!
 *     // Do not use in new projects.
 *     $sceProvider.enabled(false);
 *   });
 * 
* */ /* jshint maxlen: 100 */ function $SceProvider() { var enabled = true; /** * @ngdoc function * @name ng.sceProvider#enabled * @methodOf ng.$sceProvider * @function * * @param {boolean=} value If provided, then enables/disables SCE. * @return {boolean} true if SCE is enabled, false otherwise. * * @description * Enables/disables SCE and returns the current value. */ this.enabled = function (value) { if (arguments.length) { enabled = !!value; } return enabled; }; /* Design notes on the default implementation for SCE. * * The API contract for the SCE delegate * ------------------------------------- * The SCE delegate object must provide the following 3 methods: * * - trustAs(contextEnum, value) * This method is used to tell the SCE service that the provided value is OK to use in the * contexts specified by contextEnum. It must return an object that will be accepted by * getTrusted() for a compatible contextEnum and return this value. * * - valueOf(value) * For values that were not produced by trustAs(), return them as is. For values that were * produced by trustAs(), return the corresponding input value to trustAs. Basically, if * trustAs is wrapping the given values into some type, this operation unwraps it when given * such a value. * * - getTrusted(contextEnum, value) * This function should return the a value that is safe to use in the context specified by * contextEnum or throw and exception otherwise. * * NOTE: This contract deliberately does NOT state that values returned by trustAs() must be * opaque or wrapped in some holder object. That happens to be an implementation detail. For * instance, an implementation could maintain a registry of all trusted objects by context. In * such a case, trustAs() would return the same object that was passed in. getTrusted() would * return the same object passed in if it was found in the registry under a compatible context or * throw an exception otherwise. An implementation might only wrap values some of the time based * on some criteria. getTrusted() might return a value and not throw an exception for special * constants or objects even if not wrapped. All such implementations fulfill this contract. * * * A note on the inheritance model for SCE contexts * ------------------------------------------------ * I've used inheritance and made RESOURCE_URL wrapped types a subtype of URL wrapped types. This * is purely an implementation details. * * The contract is simply this: * * getTrusted($sce.RESOURCE_URL, value) succeeding implies that getTrusted($sce.URL, value) * will also succeed. * * Inheritance happens to capture this in a natural way. In some future, we * may not use inheritance anymore. That is OK because no code outside of * sce.js and sceSpecs.js would need to be aware of this detail. */ this.$get = ['$parse', '$document', '$sceDelegate', function( $parse, $document, $sceDelegate) { // Prereq: Ensure that we're not running in IE8 quirks mode. In that mode, IE allows // the "expression(javascript expression)" syntax which is insecure. if (enabled && msie) { var documentMode = $document[0].documentMode; if (documentMode !== undefined && documentMode < 8) { throw $sceMinErr('iequirks', 'Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks ' + 'mode. You can fix this by adding the text to the top of your HTML ' + 'document. See http://docs.angularjs.org/api/ng.$sce for more information.'); } } var sce = copy(SCE_CONTEXTS); /** * @ngdoc function * @name ng.sce#isEnabled * @methodOf ng.$sce * @function * * @return {Boolean} true if SCE is enabled, false otherwise. If you want to set the value, you * have to do it at module config time on {@link ng.$sceProvider $sceProvider}. * * @description * Returns a boolean indicating if SCE is enabled. */ sce.isEnabled = function () { return enabled; }; sce.trustAs = $sceDelegate.trustAs; sce.getTrusted = $sceDelegate.getTrusted; sce.valueOf = $sceDelegate.valueOf; if (!enabled) { sce.trustAs = sce.getTrusted = function(type, value) { return value; }; sce.valueOf = identity; } /** * @ngdoc method * @name ng.$sce#parse * @methodOf ng.$sce * * @description * Converts Angular {@link guide/expression expression} into a function. This is like {@link * ng.$parse $parse} and is identical when the expression is a literal constant. Otherwise, it * wraps the expression in a call to {@link ng.$sce#methods_getTrusted $sce.getTrusted(*type*, * *result*)} * * @param {string} type The kind of SCE context in which this result will be used. * @param {string} expression String expression to compile. * @returns {function(context, locals)} a function which represents the compiled expression: * * * `context` – `{object}` – an object against which any expressions embedded in the strings * are evaluated against (typically a scope object). * * `locals` – `{object=}` – local variables context object, useful for overriding values in * `context`. */ sce.parseAs = function sceParseAs(type, expr) { var parsed = $parse(expr); if (parsed.literal && parsed.constant) { return parsed; } else { return function sceParseAsTrusted(self, locals) { return sce.getTrusted(type, parsed(self, locals)); }; } }; /** * @ngdoc method * @name ng.$sce#trustAs * @methodOf ng.$sce * * @description * Delegates to {@link ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs`}. As such, * returns an objectthat is trusted by angular for use in specified strict contextual * escaping contexts (such as ng-html-bind-unsafe, ng-include, any src attribute * interpolation, any dom event binding attribute interpolation such as for onclick, etc.) * that uses the provided value. See * {@link ng.$sce $sce} for enabling strict contextual * escaping. * * @param {string} type The kind of context in which this value is safe for use. e.g. url, * resource_url, html, js and css. * @param {*} value The value that that should be considered trusted/safe. * @returns {*} A value that can be used to stand in for the provided `value` in places * where Angular expects a $sce.trustAs() return value. */ /** * @ngdoc method * @name ng.$sce#trustAsHtml * @methodOf ng.$sce * * @description * Shorthand method. `$sce.trustAsHtml(value)` → * {@link ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs($sce.HTML, value)`} * * @param {*} value The value to trustAs. * @returns {*} An object that can be passed to {@link ng.$sce#methods_getTrustedHtml * $sce.getTrustedHtml(value)} to obtain the original value. (privileged directives * only accept expressions that are either literal constants or are the * return value of {@link ng.$sce#methods_trustAs $sce.trustAs}.) */ /** * @ngdoc method * @name ng.$sce#trustAsUrl * @methodOf ng.$sce * * @description * Shorthand method. `$sce.trustAsUrl(value)` → * {@link ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs($sce.URL, value)`} * * @param {*} value The value to trustAs. * @returns {*} An object that can be passed to {@link ng.$sce#methods_getTrustedUrl * $sce.getTrustedUrl(value)} to obtain the original value. (privileged directives * only accept expressions that are either literal constants or are the * return value of {@link ng.$sce#methods_trustAs $sce.trustAs}.) */ /** * @ngdoc method * @name ng.$sce#trustAsResourceUrl * @methodOf ng.$sce * * @description * Shorthand method. `$sce.trustAsResourceUrl(value)` → * {@link ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs($sce.RESOURCE_URL, value)`} * * @param {*} value The value to trustAs. * @returns {*} An object that can be passed to {@link ng.$sce#methods_getTrustedResourceUrl * $sce.getTrustedResourceUrl(value)} to obtain the original value. (privileged directives * only accept expressions that are either literal constants or are the return * value of {@link ng.$sce#methods_trustAs $sce.trustAs}.) */ /** * @ngdoc method * @name ng.$sce#trustAsJs * @methodOf ng.$sce * * @description * Shorthand method. `$sce.trustAsJs(value)` → * {@link ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs($sce.JS, value)`} * * @param {*} value The value to trustAs. * @returns {*} An object that can be passed to {@link ng.$sce#methods_getTrustedJs * $sce.getTrustedJs(value)} to obtain the original value. (privileged directives * only accept expressions that are either literal constants or are the * return value of {@link ng.$sce#methods_trustAs $sce.trustAs}.) */ /** * @ngdoc method * @name ng.$sce#getTrusted * @methodOf ng.$sce * * @description * Delegates to {@link ng.$sceDelegate#methods_getTrusted `$sceDelegate.getTrusted`}. As such, * takes the result of a {@link ng.$sce#methods_trustAs `$sce.trustAs`}() call and returns the * originally supplied value if the queried context type is a supertype of the created type. * If this condition isn't satisfied, throws an exception. * * @param {string} type The kind of context in which this value is to be used. * @param {*} maybeTrusted The result of a prior {@link ng.$sce#methods_trustAs `$sce.trustAs`} * call. * @returns {*} The value the was originally provided to * {@link ng.$sce#methods_trustAs `$sce.trustAs`} if valid in this context. * Otherwise, throws an exception. */ /** * @ngdoc method * @name ng.$sce#getTrustedHtml * @methodOf ng.$sce * * @description * Shorthand method. `$sce.getTrustedHtml(value)` → * {@link ng.$sceDelegate#methods_getTrusted `$sceDelegate.getTrusted($sce.HTML, value)`} * * @param {*} value The value to pass to `$sce.getTrusted`. * @returns {*} The return value of `$sce.getTrusted($sce.HTML, value)` */ /** * @ngdoc method * @name ng.$sce#getTrustedCss * @methodOf ng.$sce * * @description * Shorthand method. `$sce.getTrustedCss(value)` → * {@link ng.$sceDelegate#methods_getTrusted `$sceDelegate.getTrusted($sce.CSS, value)`} * * @param {*} value The value to pass to `$sce.getTrusted`. * @returns {*} The return value of `$sce.getTrusted($sce.CSS, value)` */ /** * @ngdoc method * @name ng.$sce#getTrustedUrl * @methodOf ng.$sce * * @description * Shorthand method. `$sce.getTrustedUrl(value)` → * {@link ng.$sceDelegate#methods_getTrusted `$sceDelegate.getTrusted($sce.URL, value)`} * * @param {*} value The value to pass to `$sce.getTrusted`. * @returns {*} The return value of `$sce.getTrusted($sce.URL, value)` */ /** * @ngdoc method * @name ng.$sce#getTrustedResourceUrl * @methodOf ng.$sce * * @description * Shorthand method. `$sce.getTrustedResourceUrl(value)` → * {@link ng.$sceDelegate#methods_getTrusted `$sceDelegate.getTrusted($sce.RESOURCE_URL, value)`} * * @param {*} value The value to pass to `$sceDelegate.getTrusted`. * @returns {*} The return value of `$sce.getTrusted($sce.RESOURCE_URL, value)` */ /** * @ngdoc method * @name ng.$sce#getTrustedJs * @methodOf ng.$sce * * @description * Shorthand method. `$sce.getTrustedJs(value)` → * {@link ng.$sceDelegate#methods_getTrusted `$sceDelegate.getTrusted($sce.JS, value)`} * * @param {*} value The value to pass to `$sce.getTrusted`. * @returns {*} The return value of `$sce.getTrusted($sce.JS, value)` */ /** * @ngdoc method * @name ng.$sce#parseAsHtml * @methodOf ng.$sce * * @description * Shorthand method. `$sce.parseAsHtml(expression string)` → * {@link ng.$sce#methods_parse `$sce.parseAs($sce.HTML, value)`} * * @param {string} expression String expression to compile. * @returns {function(context, locals)} a function which represents the compiled expression: * * * `context` – `{object}` – an object against which any expressions embedded in the strings * are evaluated against (typically a scope object). * * `locals` – `{object=}` – local variables context object, useful for overriding values in * `context`. */ /** * @ngdoc method * @name ng.$sce#parseAsCss * @methodOf ng.$sce * * @description * Shorthand method. `$sce.parseAsCss(value)` → * {@link ng.$sce#methods_parse `$sce.parseAs($sce.CSS, value)`} * * @param {string} expression String expression to compile. * @returns {function(context, locals)} a function which represents the compiled expression: * * * `context` – `{object}` – an object against which any expressions embedded in the strings * are evaluated against (typically a scope object). * * `locals` – `{object=}` – local variables context object, useful for overriding values in * `context`. */ /** * @ngdoc method * @name ng.$sce#parseAsUrl * @methodOf ng.$sce * * @description * Shorthand method. `$sce.parseAsUrl(value)` → * {@link ng.$sce#methods_parse `$sce.parseAs($sce.URL, value)`} * * @param {string} expression String expression to compile. * @returns {function(context, locals)} a function which represents the compiled expression: * * * `context` – `{object}` – an object against which any expressions embedded in the strings * are evaluated against (typically a scope object). * * `locals` – `{object=}` – local variables context object, useful for overriding values in * `context`. */ /** * @ngdoc method * @name ng.$sce#parseAsResourceUrl * @methodOf ng.$sce * * @description * Shorthand method. `$sce.parseAsResourceUrl(value)` → * {@link ng.$sce#methods_parse `$sce.parseAs($sce.RESOURCE_URL, value)`} * * @param {string} expression String expression to compile. * @returns {function(context, locals)} a function which represents the compiled expression: * * * `context` – `{object}` – an object against which any expressions embedded in the strings * are evaluated against (typically a scope object). * * `locals` – `{object=}` – local variables context object, useful for overriding values in * `context`. */ /** * @ngdoc method * @name ng.$sce#parseAsJs * @methodOf ng.$sce * * @description * Shorthand method. `$sce.parseAsJs(value)` → * {@link ng.$sce#methods_parse `$sce.parseAs($sce.JS, value)`} * * @param {string} expression String expression to compile. * @returns {function(context, locals)} a function which represents the compiled expression: * * * `context` – `{object}` – an object against which any expressions embedded in the strings * are evaluated against (typically a scope object). * * `locals` – `{object=}` – local variables context object, useful for overriding values in * `context`. */ // Shorthand delegations. var parse = sce.parseAs, getTrusted = sce.getTrusted, trustAs = sce.trustAs; forEach(SCE_CONTEXTS, function (enumValue, name) { var lName = lowercase(name); sce[camelCase("parse_as_" + lName)] = function (expr) { return parse(enumValue, expr); }; sce[camelCase("get_trusted_" + lName)] = function (value) { return getTrusted(enumValue, value); }; sce[camelCase("trust_as_" + lName)] = function (value) { return trustAs(enumValue, value); }; }); return sce; }]; } /** * !!! This is an undocumented "private" service !!! * * @name ng.$sniffer * @requires $window * @requires $document * * @property {boolean} history Does the browser support html5 history api ? * @property {boolean} hashchange Does the browser support hashchange event ? * @property {boolean} transitions Does the browser support CSS transition events ? * @property {boolean} animations Does the browser support CSS animation events ? * * @description * This is very simple implementation of testing browser's features. */ function $SnifferProvider() { this.$get = ['$window', '$document', function($window, $document) { var eventSupport = {}, android = int((/android (\d+)/.exec(lowercase(($window.navigator || {}).userAgent)) || [])[1]), boxee = /Boxee/i.test(($window.navigator || {}).userAgent), document = $document[0] || {}, vendorPrefix, vendorRegex = /^(Moz|webkit|O|ms)(?=[A-Z])/, bodyStyle = document.body && document.body.style, transitions = false, animations = false, match; if (bodyStyle) { for(var prop in bodyStyle) { if(match = vendorRegex.exec(prop)) { vendorPrefix = match[0]; vendorPrefix = vendorPrefix.substr(0, 1).toUpperCase() + vendorPrefix.substr(1); break; } } if(!vendorPrefix) { vendorPrefix = ('WebkitOpacity' in bodyStyle) && 'webkit'; } transitions = !!(('transition' in bodyStyle) || (vendorPrefix + 'Transition' in bodyStyle)); animations = !!(('animation' in bodyStyle) || (vendorPrefix + 'Animation' in bodyStyle)); if (android && (!transitions||!animations)) { transitions = isString(document.body.style.webkitTransition); animations = isString(document.body.style.webkitAnimation); } } return { // Android has history.pushState, but it does not update location correctly // so let's not use the history API at all. // http://code.google.com/p/android/issues/detail?id=17471 // https://github.com/angular/angular.js/issues/904 // older webit browser (533.9) on Boxee box has exactly the same problem as Android has // so let's not use the history API also // We are purposefully using `!(android < 4)` to cover the case when `android` is undefined // jshint -W018 history: !!($window.history && $window.history.pushState && !(android < 4) && !boxee), // jshint +W018 hashchange: 'onhashchange' in $window && // IE8 compatible mode lies (!document.documentMode || document.documentMode > 7), hasEvent: function(event) { // IE9 implements 'input' event it's so fubared that we rather pretend that it doesn't have // it. In particular the event is not fired when backspace or delete key are pressed or // when cut operation is performed. if (event == 'input' && msie == 9) return false; if (isUndefined(eventSupport[event])) { var divElm = document.createElement('div'); eventSupport[event] = 'on' + event in divElm; } return eventSupport[event]; }, csp: csp(), vendorPrefix: vendorPrefix, transitions : transitions, animations : animations, msie : msie }; }]; } function $TimeoutProvider() { this.$get = ['$rootScope', '$browser', '$q', '$exceptionHandler', function($rootScope, $browser, $q, $exceptionHandler) { var deferreds = {}; /** * @ngdoc function * @name ng.$timeout * @requires $browser * * @description * Angular's wrapper for `window.setTimeout`. The `fn` function is wrapped into a try/catch * block and delegates any exceptions to * {@link ng.$exceptionHandler $exceptionHandler} service. * * The return value of registering a timeout function is a promise, which will be resolved when * the timeout is reached and the timeout function is executed. * * To cancel a timeout request, call `$timeout.cancel(promise)`. * * In tests you can use {@link ngMock.$timeout `$timeout.flush()`} to * synchronously flush the queue of deferred functions. * * @param {function()} fn A function, whose execution should be delayed. * @param {number=} [delay=0] Delay in milliseconds. * @param {boolean=} [invokeApply=true] If set to `false` skips model dirty checking, otherwise * will invoke `fn` within the {@link ng.$rootScope.Scope#methods_$apply $apply} block. * @returns {Promise} Promise that will be resolved when the timeout is reached. The value this * promise will be resolved with is the return value of the `fn` function. * * @example
Date format:
Current time is:
Blood 1 : {{blood_1}} Blood 2 : {{blood_2}}
*/ function timeout(fn, delay, invokeApply) { var deferred = $q.defer(), promise = deferred.promise, skipApply = (isDefined(invokeApply) && !invokeApply), timeoutId; timeoutId = $browser.defer(function() { try { deferred.resolve(fn()); } catch(e) { deferred.reject(e); $exceptionHandler(e); } finally { delete deferreds[promise.$$timeoutId]; } if (!skipApply) $rootScope.$apply(); }, delay); promise.$$timeoutId = timeoutId; deferreds[timeoutId] = deferred; return promise; } /** * @ngdoc function * @name ng.$timeout#cancel * @methodOf ng.$timeout * * @description * Cancels a task associated with the `promise`. As a result of this, the promise will be * resolved with a rejection. * * @param {Promise=} promise Promise returned by the `$timeout` function. * @returns {boolean} Returns `true` if the task hasn't executed yet and was successfully * canceled. */ timeout.cancel = function(promise) { if (promise && promise.$$timeoutId in deferreds) { deferreds[promise.$$timeoutId].reject('canceled'); delete deferreds[promise.$$timeoutId]; return $browser.defer.cancel(promise.$$timeoutId); } return false; }; return timeout; }]; } // NOTE: The usage of window and document instead of $window and $document here is // deliberate. This service depends on the specific behavior of anchor nodes created by the // browser (resolving and parsing URLs) that is unlikely to be provided by mock objects and // cause us to break tests. In addition, when the browser resolves a URL for XHR, it // doesn't know about mocked locations and resolves URLs to the real document - which is // exactly the behavior needed here. There is little value is mocking these out for this // service. var urlParsingNode = document.createElement("a"); var originUrl = urlResolve(window.location.href, true); /** * * Implementation Notes for non-IE browsers * ---------------------------------------- * Assigning a URL to the href property of an anchor DOM node, even one attached to the DOM, * results both in the normalizing and parsing of the URL. Normalizing means that a relative * URL will be resolved into an absolute URL in the context of the application document. * Parsing means that the anchor node's host, hostname, protocol, port, pathname and related * properties are all populated to reflect the normalized URL. This approach has wide * compatibility - Safari 1+, Mozilla 1+, Opera 7+,e etc. See * http://www.aptana.com/reference/html/api/HTMLAnchorElement.html * * Implementation Notes for IE * --------------------------- * IE >= 8 and <= 10 normalizes the URL when assigned to the anchor node similar to the other * browsers. However, the parsed components will not be set if the URL assigned did not specify * them. (e.g. if you assign a.href = "foo", then a.protocol, a.host, etc. will be empty.) We * work around that by performing the parsing in a 2nd step by taking a previously normalized * URL (e.g. by assining to a.href) and assigning it a.href again. This correctly populates the * properties such as protocol, hostname, port, etc. * * IE7 does not normalize the URL when assigned to an anchor node. (Apparently, it does, if one * uses the inner HTML approach to assign the URL as part of an HTML snippet - * http://stackoverflow.com/a/472729) However, setting img[src] does normalize the URL. * Unfortunately, setting img[src] to something like "javascript:foo" on IE throws an exception. * Since the primary usage for normalizing URLs is to sanitize such URLs, we can't use that * method and IE < 8 is unsupported. * * References: * http://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement * http://www.aptana.com/reference/html/api/HTMLAnchorElement.html * http://url.spec.whatwg.org/#urlutils * https://github.com/angular/angular.js/pull/2902 * http://james.padolsey.com/javascript/parsing-urls-with-the-dom/ * * @function * @param {string} url The URL to be parsed. * @description Normalizes and parses a URL. * @returns {object} Returns the normalized URL as a dictionary. * * | member name | Description | * |---------------|----------------| * | href | A normalized version of the provided URL if it was not an absolute URL | * | protocol | The protocol including the trailing colon | * | host | The host and port (if the port is non-default) of the normalizedUrl | * | search | The search params, minus the question mark | * | hash | The hash string, minus the hash symbol * | hostname | The hostname * | port | The port, without ":" * | pathname | The pathname, beginning with "/" * */ function urlResolve(url) { var href = url; if (msie) { // Normalize before parse. Refer Implementation Notes on why this is // done in two steps on IE. urlParsingNode.setAttribute("href", href); href = urlParsingNode.href; } urlParsingNode.setAttribute('href', href); // $$urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils return { href: urlParsingNode.href, protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', host: urlParsingNode.host, search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', hostname: urlParsingNode.hostname, port: urlParsingNode.port, pathname: urlParsingNode.pathname && urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname }; } /** * Parse a request URL and determine whether this is a same-origin request as the application document. * * @param {string|object} requestUrl The url of the request as a string that will be resolved * or a parsed URL object. * @returns {boolean} Whether the request is for the same origin as the application document. */ function urlIsSameOrigin(requestUrl) { var parsed = (isString(requestUrl)) ? urlResolve(requestUrl) : requestUrl; return (parsed.protocol === originUrl.protocol && parsed.host === originUrl.host); } /** * @ngdoc object * @name ng.$window * * @description * A reference to the browser's `window` object. While `window` * is globally available in JavaScript, it causes testability problems, because * it is a global variable. In angular we always refer to it through the * `$window` service, so it may be overridden, removed or mocked for testing. * * Expressions, like the one defined for the `ngClick` directive in the example * below, are evaluated with respect to the current scope. Therefore, there is * no risk of inadvertently coding in a dependency on a global value in such an * expression. * * @example
it('should display the greeting in the input box', function() { input('greeting').enter('Hello, E2E Tests'); // If we click the button it will block the test runner // element(':button').click(); });
*/ function $WindowProvider(){ this.$get = valueFn(window); } /** * @ngdoc object * @name ng.$filterProvider * @description * * Filters are just functions which transform input to an output. However filters need to be * Dependency Injected. To achieve this a filter definition consists of a factory function which is * annotated with dependencies and is responsible for creating a filter function. * *
 *   // Filter registration
 *   function MyModule($provide, $filterProvider) {
 *     // create a service to demonstrate injection (not always needed)
 *     $provide.value('greet', function(name){
 *       return 'Hello ' + name + '!';
 *     });
 *
 *     // register a filter factory which uses the
 *     // greet service to demonstrate DI.
 *     $filterProvider.register('greet', function(greet){
 *       // return the filter function which uses the greet service
 *       // to generate salutation
 *       return function(text) {
 *         // filters need to be forgiving so check input validity
 *         return text && greet(text) || text;
 *       };
 *     });
 *   }
 * 
* * The filter function is registered with the `$injector` under the filter name suffix with * `Filter`. * *
 *   it('should be the same instance', inject(
 *     function($filterProvider) {
 *       $filterProvider.register('reverse', function(){
 *         return ...;
 *       });
 *     },
 *     function($filter, reverseFilter) {
 *       expect($filter('reverse')).toBe(reverseFilter);
 *     });
 * 
* * * For more information about how angular filters work, and how to create your own filters, see * {@link guide/filter Filters} in the Angular Developer Guide. */ /** * @ngdoc method * @name ng.$filterProvider#register * @methodOf ng.$filterProvider * @description * Register filter factory function. * * @param {String} name Name of the filter. * @param {function} fn The filter factory function which is injectable. */ /** * @ngdoc function * @name ng.$filter * @function * @description * Filters are used for formatting data displayed to the user. * * The general syntax in templates is as follows: * * {{ expression [| filter_name[:parameter_value] ... ] }} * * @param {String} name Name of the filter function to retrieve * @return {Function} the filter function */ $FilterProvider.$inject = ['$provide']; function $FilterProvider($provide) { var suffix = 'Filter'; /** * @ngdoc function * @name ng.$controllerProvider#register * @methodOf ng.$controllerProvider * @param {string|Object} name Name of the filter function, or an object map of filters where * the keys are the filter names and the values are the filter factories. * @returns {Object} Registered filter instance, or if a map of filters was provided then a map * of the registered filter instances. */ function register(name, factory) { if(isObject(name)) { var filters = {}; forEach(name, function(filter, key) { filters[key] = register(key, filter); }); return filters; } else { return $provide.factory(name + suffix, factory); } } this.register = register; this.$get = ['$injector', function($injector) { return function(name) { return $injector.get(name + suffix); }; }]; //////////////////////////////////////// /* global currencyFilter: false, dateFilter: false, filterFilter: false, jsonFilter: false, limitToFilter: false, lowercaseFilter: false, numberFilter: false, orderByFilter: false, uppercaseFilter: false, */ register('currency', currencyFilter); register('date', dateFilter); register('filter', filterFilter); register('json', jsonFilter); register('limitTo', limitToFilter); register('lowercase', lowercaseFilter); register('number', numberFilter); register('orderBy', orderByFilter); register('uppercase', uppercaseFilter); } /** * @ngdoc filter * @name ng.filter:filter * @function * * @description * Selects a subset of items from `array` and returns it as a new array. * * @param {Array} array The source array. * @param {string|Object|function()} expression The predicate to be used for selecting items from * `array`. * * Can be one of: * * - `string`: Predicate that results in a substring match using the value of `expression` * string. All strings or objects with string properties in `array` that contain this string * will be returned. The predicate can be negated by prefixing the string with `!`. * * - `Object`: A pattern object can be used to filter specific properties on objects contained * by `array`. For example `{name:"M", phone:"1"}` predicate will return an array of items * which have property `name` containing "M" and property `phone` containing "1". A special * property name `$` can be used (as in `{$:"text"}`) to accept a match against any * property of the object. That's equivalent to the simple substring match with a `string` * as described above. * * - `function`: A predicate function can be used to write arbitrary filters. The function is * called for each element of `array`. The final result is an array of those elements that * the predicate returned true for. * * @param {function(expected, actual)|true|undefined} comparator Comparator which is used in * determining if the expected value (from the filter expression) and actual value (from * the object in the array) should be considered a match. * * Can be one of: * * - `function(expected, actual)`: * The function will be given the object value and the predicate value to compare and * should return true if the item should be included in filtered result. * * - `true`: A shorthand for `function(expected, actual) { return angular.equals(expected, actual)}`. * this is essentially strict comparison of expected and actual. * * - `false|undefined`: A short hand for a function which will look for a substring match in case * insensitive way. * * @example
Search:
NamePhone
{{friend.name}} {{friend.phone}}

Any:
Name only
Phone only
Equality
NamePhone
{{friend.name}} {{friend.phone}}
it('should search across all fields when filtering with a string', function() { input('searchText').enter('m'); expect(repeater('#searchTextResults tr', 'friend in friends').column('friend.name')). toEqual(['Mary', 'Mike', 'Adam']); input('searchText').enter('76'); expect(repeater('#searchTextResults tr', 'friend in friends').column('friend.name')). toEqual(['John', 'Julie']); }); it('should search in specific fields when filtering with a predicate object', function() { input('search.$').enter('i'); expect(repeater('#searchObjResults tr', 'friend in friends').column('friend.name')). toEqual(['Mary', 'Mike', 'Julie', 'Juliette']); }); it('should use a equal comparison when comparator is true', function() { input('search.name').enter('Julie'); input('strict').check(); expect(repeater('#searchObjResults tr', 'friend in friends').column('friend.name')). toEqual(['Julie']); });
*/ function filterFilter() { return function(array, expression, comparator) { if (!isArray(array)) return array; var comparatorType = typeof(comparator), predicates = []; predicates.check = function(value) { for (var j = 0; j < predicates.length; j++) { if(!predicates[j](value)) { return false; } } return true; }; if (comparatorType !== 'function') { if (comparatorType === 'boolean' && comparator) { comparator = function(obj, text) { return angular.equals(obj, text); }; } else { comparator = function(obj, text) { text = (''+text).toLowerCase(); return (''+obj).toLowerCase().indexOf(text) > -1; }; } } var search = function(obj, text){ if (typeof text == 'string' && text.charAt(0) === '!') { return !search(obj, text.substr(1)); } switch (typeof obj) { case "boolean": case "number": case "string": return comparator(obj, text); case "object": switch (typeof text) { case "object": return comparator(obj, text); default: for ( var objKey in obj) { if (objKey.charAt(0) !== '$' && search(obj[objKey], text)) { return true; } } break; } return false; case "array": for ( var i = 0; i < obj.length; i++) { if (search(obj[i], text)) { return true; } } return false; default: return false; } }; switch (typeof expression) { case "boolean": case "number": case "string": // Set up expression object and fall through expression = {$:expression}; // jshint -W086 case "object": // jshint +W086 for (var key in expression) { if (key == '$') { (function() { if (!expression[key]) return; var path = key; predicates.push(function(value) { return search(value, expression[path]); }); })(); } else { (function() { if (typeof(expression[key]) == 'undefined') { return; } var path = key; predicates.push(function(value) { return search(getter(value,path), expression[path]); }); })(); } } break; case 'function': predicates.push(expression); break; default: return array; } var filtered = []; for ( var j = 0; j < array.length; j++) { var value = array[j]; if (predicates.check(value)) { filtered.push(value); } } return filtered; }; } /** * @ngdoc filter * @name ng.filter:currency * @function * * @description * Formats a number as a currency (ie $1,234.56). When no currency symbol is provided, default * symbol for current locale is used. * * @param {number} amount Input to filter. * @param {string=} symbol Currency symbol or identifier to be displayed. * @returns {string} Formatted number. * * * @example

default currency symbol ($): {{amount | currency}}
custom currency identifier (USD$): {{amount | currency:"USD$"}}
it('should init with 1234.56', function() { expect(binding('amount | currency')).toBe('$1,234.56'); expect(binding('amount | currency:"USD$"')).toBe('USD$1,234.56'); }); it('should update', function() { input('amount').enter('-1234'); expect(binding('amount | currency')).toBe('($1,234.00)'); expect(binding('amount | currency:"USD$"')).toBe('(USD$1,234.00)'); });
*/ currencyFilter.$inject = ['$locale']; function currencyFilter($locale) { var formats = $locale.NUMBER_FORMATS; return function(amount, currencySymbol){ if (isUndefined(currencySymbol)) currencySymbol = formats.CURRENCY_SYM; return formatNumber(amount, formats.PATTERNS[1], formats.GROUP_SEP, formats.DECIMAL_SEP, 2). replace(/\u00A4/g, currencySymbol); }; } /** * @ngdoc filter * @name ng.filter:number * @function * * @description * Formats a number as text. * * If the input is not a number an empty string is returned. * * @param {number|string} number Number to format. * @param {(number|string)=} fractionSize Number of decimal places to round the number to. * If this is not provided then the fraction size is computed from the current locale's number * formatting pattern. In the case of the default locale, it will be 3. * @returns {string} Number rounded to decimalPlaces and places a “,” after each third digit. * * @example
Enter number:
Default formatting: {{val | number}}
No fractions: {{val | number:0}}
Negative number: {{-val | number:4}}
it('should format numbers', function() { expect(binding('val | number')).toBe('1,234.568'); expect(binding('val | number:0')).toBe('1,235'); expect(binding('-val | number:4')).toBe('-1,234.5679'); }); it('should update', function() { input('val').enter('3374.333'); expect(binding('val | number')).toBe('3,374.333'); expect(binding('val | number:0')).toBe('3,374'); expect(binding('-val | number:4')).toBe('-3,374.3330'); });
*/ numberFilter.$inject = ['$locale']; function numberFilter($locale) { var formats = $locale.NUMBER_FORMATS; return function(number, fractionSize) { return formatNumber(number, formats.PATTERNS[0], formats.GROUP_SEP, formats.DECIMAL_SEP, fractionSize); }; } var DECIMAL_SEP = '.'; function formatNumber(number, pattern, groupSep, decimalSep, fractionSize) { if (isNaN(number) || !isFinite(number)) return ''; var isNegative = number < 0; number = Math.abs(number); var numStr = number + '', formatedText = '', parts = []; var hasExponent = false; if (numStr.indexOf('e') !== -1) { var match = numStr.match(/([\d\.]+)e(-?)(\d+)/); if (match && match[2] == '-' && match[3] > fractionSize + 1) { numStr = '0'; } else { formatedText = numStr; hasExponent = true; } } if (!hasExponent) { var fractionLen = (numStr.split(DECIMAL_SEP)[1] || '').length; // determine fractionSize if it is not specified if (isUndefined(fractionSize)) { fractionSize = Math.min(Math.max(pattern.minFrac, fractionLen), pattern.maxFrac); } var pow = Math.pow(10, fractionSize); number = Math.round(number * pow) / pow; var fraction = ('' + number).split(DECIMAL_SEP); var whole = fraction[0]; fraction = fraction[1] || ''; var i, pos = 0, lgroup = pattern.lgSize, group = pattern.gSize; if (whole.length >= (lgroup + group)) { pos = whole.length - lgroup; for (i = 0; i < pos; i++) { if ((pos - i)%group === 0 && i !== 0) { formatedText += groupSep; } formatedText += whole.charAt(i); } } for (i = pos; i < whole.length; i++) { if ((whole.length - i)%lgroup === 0 && i !== 0) { formatedText += groupSep; } formatedText += whole.charAt(i); } // format fraction part. while(fraction.length < fractionSize) { fraction += '0'; } if (fractionSize && fractionSize !== "0") formatedText += decimalSep + fraction.substr(0, fractionSize); } else { if (fractionSize > 0 && number > -1 && number < 1) { formatedText = number.toFixed(fractionSize); } } parts.push(isNegative ? pattern.negPre : pattern.posPre); parts.push(formatedText); parts.push(isNegative ? pattern.negSuf : pattern.posSuf); return parts.join(''); } function padNumber(num, digits, trim) { var neg = ''; if (num < 0) { neg = '-'; num = -num; } num = '' + num; while(num.length < digits) num = '0' + num; if (trim) num = num.substr(num.length - digits); return neg + num; } function dateGetter(name, size, offset, trim) { offset = offset || 0; return function(date) { var value = date['get' + name](); if (offset > 0 || value > -offset) value += offset; if (value === 0 && offset == -12 ) value = 12; return padNumber(value, size, trim); }; } function dateStrGetter(name, shortForm) { return function(date, formats) { var value = date['get' + name](); var get = uppercase(shortForm ? ('SHORT' + name) : name); return formats[get][value]; }; } function timeZoneGetter(date) { var zone = -1 * date.getTimezoneOffset(); var paddedZone = (zone >= 0) ? "+" : ""; paddedZone += padNumber(Math[zone > 0 ? 'floor' : 'ceil'](zone / 60), 2) + padNumber(Math.abs(zone % 60), 2); return paddedZone; } function ampmGetter(date, formats) { return date.getHours() < 12 ? formats.AMPMS[0] : formats.AMPMS[1]; } var DATE_FORMATS = { yyyy: dateGetter('FullYear', 4), yy: dateGetter('FullYear', 2, 0, true), y: dateGetter('FullYear', 1), MMMM: dateStrGetter('Month'), MMM: dateStrGetter('Month', true), MM: dateGetter('Month', 2, 1), M: dateGetter('Month', 1, 1), dd: dateGetter('Date', 2), d: dateGetter('Date', 1), HH: dateGetter('Hours', 2), H: dateGetter('Hours', 1), hh: dateGetter('Hours', 2, -12), h: dateGetter('Hours', 1, -12), mm: dateGetter('Minutes', 2), m: dateGetter('Minutes', 1), ss: dateGetter('Seconds', 2), s: dateGetter('Seconds', 1), // while ISO 8601 requires fractions to be prefixed with `.` or `,` // we can be just safely rely on using `sss` since we currently don't support single or two digit fractions sss: dateGetter('Milliseconds', 3), EEEE: dateStrGetter('Day'), EEE: dateStrGetter('Day', true), a: ampmGetter, Z: timeZoneGetter }; var DATE_FORMATS_SPLIT = /((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/, NUMBER_STRING = /^\-?\d+$/; /** * @ngdoc filter * @name ng.filter:date * @function * * @description * Formats `date` to a string based on the requested `format`. * * `format` string can be composed of the following elements: * * * `'yyyy'`: 4 digit representation of year (e.g. AD 1 => 0001, AD 2010 => 2010) * * `'yy'`: 2 digit representation of year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10) * * `'y'`: 1 digit representation of year, e.g. (AD 1 => 1, AD 199 => 199) * * `'MMMM'`: Month in year (January-December) * * `'MMM'`: Month in year (Jan-Dec) * * `'MM'`: Month in year, padded (01-12) * * `'M'`: Month in year (1-12) * * `'dd'`: Day in month, padded (01-31) * * `'d'`: Day in month (1-31) * * `'EEEE'`: Day in Week,(Sunday-Saturday) * * `'EEE'`: Day in Week, (Sun-Sat) * * `'HH'`: Hour in day, padded (00-23) * * `'H'`: Hour in day (0-23) * * `'hh'`: Hour in am/pm, padded (01-12) * * `'h'`: Hour in am/pm, (1-12) * * `'mm'`: Minute in hour, padded (00-59) * * `'m'`: Minute in hour (0-59) * * `'ss'`: Second in minute, padded (00-59) * * `'s'`: Second in minute (0-59) * * `'.sss' or ',sss'`: Millisecond in second, padded (000-999) * * `'a'`: am/pm marker * * `'Z'`: 4 digit (+sign) representation of the timezone offset (-1200-+1200) * * `format` string can also be one of the following predefined * {@link guide/i18n localizable formats}: * * * `'medium'`: equivalent to `'MMM d, y h:mm:ss a'` for en_US locale * (e.g. Sep 3, 2010 12:05:08 pm) * * `'short'`: equivalent to `'M/d/yy h:mm a'` for en_US locale (e.g. 9/3/10 12:05 pm) * * `'fullDate'`: equivalent to `'EEEE, MMMM d,y'` for en_US locale * (e.g. Friday, September 3, 2010) * * `'longDate'`: equivalent to `'MMMM d, y'` for en_US locale (e.g. September 3, 2010) * * `'mediumDate'`: equivalent to `'MMM d, y'` for en_US locale (e.g. Sep 3, 2010) * * `'shortDate'`: equivalent to `'M/d/yy'` for en_US locale (e.g. 9/3/10) * * `'mediumTime'`: equivalent to `'h:mm:ss a'` for en_US locale (e.g. 12:05:08 pm) * * `'shortTime'`: equivalent to `'h:mm a'` for en_US locale (e.g. 12:05 pm) * * `format` string can contain literal values. These need to be quoted with single quotes (e.g. * `"h 'in the morning'"`). In order to output single quote, use two single quotes in a sequence * (e.g. `"h 'o''clock'"`). * * @param {(Date|number|string)} date Date to format either as Date object, milliseconds (string or * number) or various ISO 8601 datetime string formats (e.g. yyyy-MM-ddTHH:mm:ss.SSSZ and its * shorter versions like yyyy-MM-ddTHH:mmZ, yyyy-MM-dd or yyyyMMddTHHmmssZ). If no timezone is * specified in the string input, the time is considered to be in the local timezone. * @param {string=} format Formatting rules (see Description). If not specified, * `mediumDate` is used. * @returns {string} Formatted string or the input if input is not recognized as date/millis. * * @example {{1288323623006 | date:'medium'}}: {{1288323623006 | date:'medium'}}
{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}: {{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}
{{1288323623006 | date:'MM/dd/yyyy @ h:mma'}}: {{'1288323623006' | date:'MM/dd/yyyy @ h:mma'}}
it('should format date', function() { expect(binding("1288323623006 | date:'medium'")). toMatch(/Oct 2\d, 2010 \d{1,2}:\d{2}:\d{2} (AM|PM)/); expect(binding("1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'")). toMatch(/2010\-10\-2\d \d{2}:\d{2}:\d{2} (\-|\+)?\d{4}/); expect(binding("'1288323623006' | date:'MM/dd/yyyy @ h:mma'")). toMatch(/10\/2\d\/2010 @ \d{1,2}:\d{2}(AM|PM)/); });
*/ dateFilter.$inject = ['$locale']; function dateFilter($locale) { var R_ISO8601_STR = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/; // 1 2 3 4 5 6 7 8 9 10 11 function jsonStringToDate(string) { var match; if (match = string.match(R_ISO8601_STR)) { var date = new Date(0), tzHour = 0, tzMin = 0, dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear, timeSetter = match[8] ? date.setUTCHours : date.setHours; if (match[9]) { tzHour = int(match[9] + match[10]); tzMin = int(match[9] + match[11]); } dateSetter.call(date, int(match[1]), int(match[2]) - 1, int(match[3])); var h = int(match[4]||0) - tzHour; var m = int(match[5]||0) - tzMin; var s = int(match[6]||0); var ms = Math.round(parseFloat('0.' + (match[7]||0)) * 1000); timeSetter.call(date, h, m, s, ms); return date; } return string; } return function(date, format) { var text = '', parts = [], fn, match; format = format || 'mediumDate'; format = $locale.DATETIME_FORMATS[format] || format; if (isString(date)) { if (NUMBER_STRING.test(date)) { date = int(date); } else { date = jsonStringToDate(date); } } if (isNumber(date)) { date = new Date(date); } if (!isDate(date)) { return date; } while(format) { match = DATE_FORMATS_SPLIT.exec(format); if (match) { parts = concat(parts, match, 1); format = parts.pop(); } else { parts.push(format); format = null; } } forEach(parts, function(value){ fn = DATE_FORMATS[value]; text += fn ? fn(date, $locale.DATETIME_FORMATS) : value.replace(/(^'|'$)/g, '').replace(/''/g, "'"); }); return text; }; } /** * @ngdoc filter * @name ng.filter:json * @function * * @description * Allows you to convert a JavaScript object into JSON string. * * This filter is mostly useful for debugging. When using the double curly {{value}} notation * the binding is automatically converted to JSON. * * @param {*} object Any JavaScript object (including arrays and primitive types) to filter. * @returns {string} JSON string. * * * @example:
{{ {'name':'value'} | json }}
it('should jsonify filtered objects', function() { expect(binding("{'name':'value'}")).toMatch(/\{\n "name": ?"value"\n}/); });
* */ function jsonFilter() { return function(object) { return toJson(object, true); }; } /** * @ngdoc filter * @name ng.filter:lowercase * @function * @description * Converts string to lowercase. * @see angular.lowercase */ var lowercaseFilter = valueFn(lowercase); /** * @ngdoc filter * @name ng.filter:uppercase * @function * @description * Converts string to uppercase. * @see angular.uppercase */ var uppercaseFilter = valueFn(uppercase); /** * @ngdoc function * @name ng.filter:limitTo * @function * * @description * Creates a new array or string containing only a specified number of elements. The elements * are taken from either the beginning or the end of the source array or string, as specified by * the value and sign (positive or negative) of `limit`. * * @param {Array|string} input Source array or string to be limited. * @param {string|number} limit The length of the returned array or string. If the `limit` number * is positive, `limit` number of items from the beginning of the source array/string are copied. * If the number is negative, `limit` number of items from the end of the source array/string * are copied. The `limit` will be trimmed if it exceeds `array.length` * @returns {Array|string} A new sub-array or substring of length `limit` or less if input array * had less than `limit` elements. * * @example
Limit {{numbers}} to:

Output numbers: {{ numbers | limitTo:numLimit }}

Limit {{letters}} to:

Output letters: {{ letters | limitTo:letterLimit }}

it('should limit the number array to first three items', function() { expect(element('.doc-example-live input[ng-model=numLimit]').val()).toBe('3'); expect(element('.doc-example-live input[ng-model=letterLimit]').val()).toBe('3'); expect(binding('numbers | limitTo:numLimit')).toEqual('[1,2,3]'); expect(binding('letters | limitTo:letterLimit')).toEqual('abc'); }); it('should update the output when -3 is entered', function() { input('numLimit').enter(-3); input('letterLimit').enter(-3); expect(binding('numbers | limitTo:numLimit')).toEqual('[7,8,9]'); expect(binding('letters | limitTo:letterLimit')).toEqual('ghi'); }); it('should not exceed the maximum size of input array', function() { input('numLimit').enter(100); input('letterLimit').enter(100); expect(binding('numbers | limitTo:numLimit')).toEqual('[1,2,3,4,5,6,7,8,9]'); expect(binding('letters | limitTo:letterLimit')).toEqual('abcdefghi'); });
*/ function limitToFilter(){ return function(input, limit) { if (!isArray(input) && !isString(input)) return input; limit = int(limit); if (isString(input)) { //NaN check on limit if (limit) { return limit >= 0 ? input.slice(0, limit) : input.slice(limit, input.length); } else { return ""; } } var out = [], i, n; // if abs(limit) exceeds maximum length, trim it if (limit > input.length) limit = input.length; else if (limit < -input.length) limit = -input.length; if (limit > 0) { i = 0; n = limit; } else { i = input.length + limit; n = input.length; } for (; i} expression A predicate to be * used by the comparator to determine the order of elements. * * Can be one of: * * - `function`: Getter function. The result of this function will be sorted using the * `<`, `=`, `>` operator. * - `string`: An Angular expression which evaluates to an object to order by, such as 'name' * to sort by a property called 'name'. Optionally prefixed with `+` or `-` to control * ascending or descending sort order (for example, +name or -name). * - `Array`: An array of function or string predicates. The first predicate in the array * is used for sorting, but when two items are equivalent, the next predicate is used. * * @param {boolean=} reverse Reverse the order the array. * @returns {Array} Sorted copy of the source array. * * @example
Sorting predicate = {{predicate}}; reverse = {{reverse}}

[ unsorted ]
Name (^) Phone Number Age
{{friend.name}} {{friend.phone}} {{friend.age}}
it('should be reverse ordered by aged', function() { expect(binding('predicate')).toBe('-age'); expect(repeater('table.friend', 'friend in friends').column('friend.age')). toEqual(['35', '29', '21', '19', '10']); expect(repeater('table.friend', 'friend in friends').column('friend.name')). toEqual(['Adam', 'Julie', 'Mike', 'Mary', 'John']); }); it('should reorder the table when user selects different predicate', function() { element('.doc-example-live a:contains("Name")').click(); expect(repeater('table.friend', 'friend in friends').column('friend.name')). toEqual(['Adam', 'John', 'Julie', 'Mary', 'Mike']); expect(repeater('table.friend', 'friend in friends').column('friend.age')). toEqual(['35', '10', '29', '19', '21']); element('.doc-example-live a:contains("Phone")').click(); expect(repeater('table.friend', 'friend in friends').column('friend.phone')). toEqual(['555-9876', '555-8765', '555-5678', '555-4321', '555-1212']); expect(repeater('table.friend', 'friend in friends').column('friend.name')). toEqual(['Mary', 'Julie', 'Adam', 'Mike', 'John']); });
*/ orderByFilter.$inject = ['$parse']; function orderByFilter($parse){ return function(array, sortPredicate, reverseOrder) { if (!isArray(array)) return array; if (!sortPredicate) return array; sortPredicate = isArray(sortPredicate) ? sortPredicate: [sortPredicate]; sortPredicate = map(sortPredicate, function(predicate){ var descending = false, get = predicate || identity; if (isString(predicate)) { if ((predicate.charAt(0) == '+' || predicate.charAt(0) == '-')) { descending = predicate.charAt(0) == '-'; predicate = predicate.substring(1); } get = $parse(predicate); } return reverseComparator(function(a,b){ return compare(get(a),get(b)); }, descending); }); var arrayCopy = []; for ( var i = 0; i < array.length; i++) { arrayCopy.push(array[i]); } return arrayCopy.sort(reverseComparator(comparator, reverseOrder)); function comparator(o1, o2){ for ( var i = 0; i < sortPredicate.length; i++) { var comp = sortPredicate[i](o1, o2); if (comp !== 0) return comp; } return 0; } function reverseComparator(comp, descending) { return toBoolean(descending) ? function(a,b){return comp(b,a);} : comp; } function compare(v1, v2){ var t1 = typeof v1; var t2 = typeof v2; if (t1 == t2) { if (t1 == "string") { v1 = v1.toLowerCase(); v2 = v2.toLowerCase(); } if (v1 === v2) return 0; return v1 < v2 ? -1 : 1; } else { return t1 < t2 ? -1 : 1; } } }; } function ngDirective(directive) { if (isFunction(directive)) { directive = { link: directive }; } directive.restrict = directive.restrict || 'AC'; return valueFn(directive); } /** * @ngdoc directive * @name ng.directive:a * @restrict E * * @description * Modifies the default behavior of the html A tag so that the default action is prevented when * the href attribute is empty. * * This change permits the easy creation of action links with the `ngClick` directive * without changing the location or causing page reloads, e.g.: * `Add Item` */ var htmlAnchorDirective = valueFn({ restrict: 'E', compile: function(element, attr) { if (msie <= 8) { // turn link into a stylable link in IE // but only if it doesn't have name attribute, in which case it's an anchor if (!attr.href && !attr.name) { attr.$set('href', ''); } // add a comment node to anchors to workaround IE bug that causes element content to be reset // to new attribute content if attribute is updated with value containing @ and element also // contains value with @ // see issue #1949 element.append(document.createComment('IE fix')); } return function(scope, element) { element.on('click', function(event){ // if we have no href url, then don't navigate anywhere. if (!element.attr('href')) { event.preventDefault(); } }); }; } }); /** * @ngdoc directive * @name ng.directive:ngHref * @restrict A * * @description * Using Angular markup like `{{hash}}` in an href attribute will * make the link go to the wrong URL if the user clicks it before * Angular has a chance to replace the `{{hash}}` markup with its * value. Until Angular replaces the markup the link will be broken * and will most likely return a 404 error. * * The `ngHref` directive solves this problem. * * The wrong way to write it: *
 * 
 * 
* * The correct way to write it: *
 * 
 * 
* * @element A * @param {template} ngHref any string which can contain `{{}}` markup. * * @example * This example shows various combinations of `href`, `ng-href` and `ng-click` attributes * in links and their different behaviors:
link 1 (link, don't reload)
link 2 (link, don't reload)
link 3 (link, reload!)
anchor (link, don't reload)
anchor (no link)
link (link, change location) it('should execute ng-click but not reload when href without value', function() { element('#link-1').click(); expect(input('value').val()).toEqual('1'); expect(element('#link-1').attr('href')).toBe(""); }); it('should execute ng-click but not reload when href empty string', function() { element('#link-2').click(); expect(input('value').val()).toEqual('2'); expect(element('#link-2').attr('href')).toBe(""); }); it('should execute ng-click and change url when ng-href specified', function() { expect(element('#link-3').attr('href')).toBe("/123"); element('#link-3').click(); expect(browser().window().path()).toEqual('/123'); }); it('should execute ng-click but not reload when href empty string and name specified', function() { element('#link-4').click(); expect(input('value').val()).toEqual('4'); expect(element('#link-4').attr('href')).toBe(''); }); it('should execute ng-click but not reload when no href but name specified', function() { element('#link-5').click(); expect(input('value').val()).toEqual('5'); expect(element('#link-5').attr('href')).toBe(undefined); }); it('should only change url when only ng-href', function() { input('value').enter('6'); expect(element('#link-6').attr('href')).toBe('6'); element('#link-6').click(); expect(browser().location().url()).toEqual('/6'); }); */ /** * @ngdoc directive * @name ng.directive:ngSrc * @restrict A * * @description * Using Angular markup like `{{hash}}` in a `src` attribute doesn't * work right: The browser will fetch from the URL with the literal * text `{{hash}}` until Angular replaces the expression inside * `{{hash}}`. The `ngSrc` directive solves this problem. * * The buggy way to write it: *
 * 
 * 
* * The correct way to write it: *
 * 
 * 
* * @element IMG * @param {template} ngSrc any string which can contain `{{}}` markup. */ /** * @ngdoc directive * @name ng.directive:ngSrcset * @restrict A * * @description * Using Angular markup like `{{hash}}` in a `srcset` attribute doesn't * work right: The browser will fetch from the URL with the literal * text `{{hash}}` until Angular replaces the expression inside * `{{hash}}`. The `ngSrcset` directive solves this problem. * * The buggy way to write it: *
 * 
 * 
* * The correct way to write it: *
 * 
 * 
* * @element IMG * @param {template} ngSrcset any string which can contain `{{}}` markup. */ /** * @ngdoc directive * @name ng.directive:ngDisabled * @restrict A * * @description * * The following markup will make the button enabled on Chrome/Firefox but not on IE8 and older IEs: *
 * 
* *
*
* * The HTML specification does not require browsers to preserve the values of boolean attributes * such as disabled. (Their presence means true and their absence means false.) * This prevents the Angular compiler from retrieving the binding expression. * The `ngDisabled` directive solves this problem for the `disabled` attribute. * * @example Click me to toggle:
it('should toggle button', function() { expect(element('.doc-example-live :button').prop('disabled')).toBeFalsy(); input('checked').check(); expect(element('.doc-example-live :button').prop('disabled')).toBeTruthy(); });
* * @element INPUT * @param {expression} ngDisabled If the {@link guide/expression expression} is truthy, * then special attribute "disabled" will be set on the element */ /** * @ngdoc directive * @name ng.directive:ngChecked * @restrict A * * @description * The HTML specification does not require browsers to preserve the values of boolean attributes * such as checked. (Their presence means true and their absence means false.) * This prevents the Angular compiler from retrieving the binding expression. * The `ngChecked` directive solves this problem for the `checked` attribute. * @example Check me to check both:
it('should check both checkBoxes', function() { expect(element('.doc-example-live #checkSlave').prop('checked')).toBeFalsy(); input('master').check(); expect(element('.doc-example-live #checkSlave').prop('checked')).toBeTruthy(); });
* * @element INPUT * @param {expression} ngChecked If the {@link guide/expression expression} is truthy, * then special attribute "checked" will be set on the element */ /** * @ngdoc directive * @name ng.directive:ngReadonly * @restrict A * * @description * The HTML specification does not require browsers to preserve the values of boolean attributes * such as readonly. (Their presence means true and their absence means false.) * This prevents the Angular compiler from retrieving the binding expression. * The `ngReadonly` directive solves this problem for the `readonly` attribute. * @example Check me to make text readonly:
it('should toggle readonly attr', function() { expect(element('.doc-example-live :text').prop('readonly')).toBeFalsy(); input('checked').check(); expect(element('.doc-example-live :text').prop('readonly')).toBeTruthy(); });
* * @element INPUT * @param {expression} ngReadonly If the {@link guide/expression expression} is truthy, * then special attribute "readonly" will be set on the element */ /** * @ngdoc directive * @name ng.directive:ngSelected * @restrict A * * @description * The HTML specification does not require browsers to preserve the values of boolean attributes * such as selected. (Their presence means true and their absence means false.) * This prevents the Angular compiler from retrieving the binding expression. * The `ngSelected` directive solves this problem for the `selected` atttribute. * @example Check me to select:
it('should select Greetings!', function() { expect(element('.doc-example-live #greet').prop('selected')).toBeFalsy(); input('selected').check(); expect(element('.doc-example-live #greet').prop('selected')).toBeTruthy(); });
* * @element OPTION * @param {expression} ngSelected If the {@link guide/expression expression} is truthy, * then special attribute "selected" will be set on the element */ /** * @ngdoc directive * @name ng.directive:ngOpen * @restrict A * * @description * The HTML specification does not require browsers to preserve the values of boolean attributes * such as open. (Their presence means true and their absence means false.) * This prevents the Angular compiler from retrieving the binding expression. * The `ngOpen` directive solves this problem for the `open` attribute. * * @example Check me check multiple:
Show/Hide me
it('should toggle open', function() { expect(element('#details').prop('open')).toBeFalsy(); input('open').check(); expect(element('#details').prop('open')).toBeTruthy(); });
* * @element DETAILS * @param {expression} ngOpen If the {@link guide/expression expression} is truthy, * then special attribute "open" will be set on the element */ var ngAttributeAliasDirectives = {}; // boolean attrs are evaluated forEach(BOOLEAN_ATTR, function(propName, attrName) { // binding to multiple is not supported if (propName == "multiple") return; var normalized = directiveNormalize('ng-' + attrName); ngAttributeAliasDirectives[normalized] = function() { return { priority: 100, compile: function() { return function(scope, element, attr) { scope.$watch(attr[normalized], function ngBooleanAttrWatchAction(value) { attr.$set(attrName, !!value); }); }; } }; }; }); // ng-src, ng-srcset, ng-href are interpolated forEach(['src', 'srcset', 'href'], function(attrName) { var normalized = directiveNormalize('ng-' + attrName); ngAttributeAliasDirectives[normalized] = function() { return { priority: 99, // it needs to run after the attributes are interpolated link: function(scope, element, attr) { attr.$observe(normalized, function(value) { if (!value) return; attr.$set(attrName, value); // on IE, if "ng:src" directive declaration is used and "src" attribute doesn't exist // then calling element.setAttribute('src', 'foo') doesn't do anything, so we need // to set the property as well to achieve the desired effect. // we use attr[attrName] value since $set can sanitize the url. if (msie) element.prop(attrName, attr[attrName]); }); } }; }; }); /* global -nullFormCtrl */ var nullFormCtrl = { $addControl: noop, $removeControl: noop, $setValidity: noop, $setDirty: noop, $setPristine: noop }; /** * @ngdoc object * @name ng.directive:form.FormController * * @property {boolean} $pristine True if user has not interacted with the form yet. * @property {boolean} $dirty True if user has already interacted with the form. * @property {boolean} $valid True if all of the containing forms and controls are valid. * @property {boolean} $invalid True if at least one containing control or form is invalid. * * @property {Object} $error Is an object hash, containing references to all invalid controls or * forms, where: * * - keys are validation tokens (error names) — such as `required`, `url` or `email`), * - values are arrays of controls or forms that are invalid with given error. * * @description * `FormController` keeps track of all its controls and nested forms as well as state of them, * such as being valid/invalid or dirty/pristine. * * Each {@link ng.directive:form form} directive creates an instance * of `FormController`. * */ //asks for $scope to fool the BC controller module FormController.$inject = ['$element', '$attrs', '$scope']; function FormController(element, attrs) { var form = this, parentForm = element.parent().controller('form') || nullFormCtrl, invalidCount = 0, // used to easily determine if we are valid errors = form.$error = {}, controls = []; // init state form.$name = attrs.name || attrs.ngForm; form.$dirty = false; form.$pristine = true; form.$valid = true; form.$invalid = false; parentForm.$addControl(form); // Setup initial state of the control element.addClass(PRISTINE_CLASS); toggleValidCss(true); // convenience method for easy toggling of classes function toggleValidCss(isValid, validationErrorKey) { validationErrorKey = validationErrorKey ? '-' + snake_case(validationErrorKey, '-') : ''; element. removeClass((isValid ? INVALID_CLASS : VALID_CLASS) + validationErrorKey). addClass((isValid ? VALID_CLASS : INVALID_CLASS) + validationErrorKey); } /** * @ngdoc function * @name ng.directive:form.FormController#$addControl * @methodOf ng.directive:form.FormController * * @description * Register a control with the form. * * Input elements using ngModelController do this automatically when they are linked. */ form.$addControl = function(control) { // Breaking change - before, inputs whose name was "hasOwnProperty" were quietly ignored // and not added to the scope. Now we throw an error. assertNotHasOwnProperty(control.$name, 'input'); controls.push(control); if (control.$name) { form[control.$name] = control; } }; /** * @ngdoc function * @name ng.directive:form.FormController#$removeControl * @methodOf ng.directive:form.FormController * * @description * Deregister a control from the form. * * Input elements using ngModelController do this automatically when they are destroyed. */ form.$removeControl = function(control) { if (control.$name && form[control.$name] === control) { delete form[control.$name]; } forEach(errors, function(queue, validationToken) { form.$setValidity(validationToken, true, control); }); arrayRemove(controls, control); }; /** * @ngdoc function * @name ng.directive:form.FormController#$setValidity * @methodOf ng.directive:form.FormController * * @description * Sets the validity of a form control. * * This method will also propagate to parent forms. */ form.$setValidity = function(validationToken, isValid, control) { var queue = errors[validationToken]; if (isValid) { if (queue) { arrayRemove(queue, control); if (!queue.length) { invalidCount--; if (!invalidCount) { toggleValidCss(isValid); form.$valid = true; form.$invalid = false; } errors[validationToken] = false; toggleValidCss(true, validationToken); parentForm.$setValidity(validationToken, true, form); } } } else { if (!invalidCount) { toggleValidCss(isValid); } if (queue) { if (includes(queue, control)) return; } else { errors[validationToken] = queue = []; invalidCount++; toggleValidCss(false, validationToken); parentForm.$setValidity(validationToken, false, form); } queue.push(control); form.$valid = false; form.$invalid = true; } }; /** * @ngdoc function * @name ng.directive:form.FormController#$setDirty * @methodOf ng.directive:form.FormController * * @description * Sets the form to a dirty state. * * This method can be called to add the 'ng-dirty' class and set the form to a dirty * state (ng-dirty class). This method will also propagate to parent forms. */ form.$setDirty = function() { element.removeClass(PRISTINE_CLASS).addClass(DIRTY_CLASS); form.$dirty = true; form.$pristine = false; parentForm.$setDirty(); }; /** * @ngdoc function * @name ng.directive:form.FormController#$setPristine * @methodOf ng.directive:form.FormController * * @description * Sets the form to its pristine state. * * This method can be called to remove the 'ng-dirty' class and set the form to its pristine * state (ng-pristine class). This method will also propagate to all the controls contained * in this form. * * Setting a form back to a pristine state is often useful when we want to 'reuse' a form after * saving or resetting it. */ form.$setPristine = function () { element.removeClass(DIRTY_CLASS).addClass(PRISTINE_CLASS); form.$dirty = false; form.$pristine = true; forEach(controls, function(control) { control.$setPristine(); }); }; } /** * @ngdoc directive * @name ng.directive:ngForm * @restrict EAC * * @description * Nestable alias of {@link ng.directive:form `form`} directive. HTML * does not allow nesting of form elements. It is useful to nest forms, for example if the validity of a * sub-group of controls needs to be determined. * * @param {string=} ngForm|name Name of the form. If specified, the form controller will be published into * related scope, under this name. * */ /** * @ngdoc directive * @name ng.directive:form * @restrict E * * @description * Directive that instantiates * {@link ng.directive:form.FormController FormController}. * * If the `name` attribute is specified, the form controller is published onto the current scope under * this name. * * # Alias: {@link ng.directive:ngForm `ngForm`} * * In Angular forms can be nested. This means that the outer form is valid when all of the child * forms are valid as well. However, browsers do not allow nesting of `
` elements, so * Angular provides the {@link ng.directive:ngForm `ngForm`} directive which behaves identically to * `` but can be nested. This allows you to have nested forms, which is very useful when * using Angular validation directives in forms that are dynamically generated using the * {@link ng.directive:ngRepeat `ngRepeat`} directive. Since you cannot dynamically generate the `name` * attribute of input elements using interpolation, you have to wrap each set of repeated inputs in an * `ngForm` directive and nest these in an outer `form` element. * * * # CSS classes * - `ng-valid` Is set if the form is valid. * - `ng-invalid` Is set if the form is invalid. * - `ng-pristine` Is set if the form is pristine. * - `ng-dirty` Is set if the form is dirty. * * * # Submitting a form and preventing the default action * * Since the role of forms in client-side Angular applications is different than in classical * roundtrip apps, it is desirable for the browser not to translate the form submission into a full * page reload that sends the data to the server. Instead some javascript logic should be triggered * to handle the form submission in an application-specific way. * * For this reason, Angular prevents the default action (form submission to the server) unless the * `` element has an `action` attribute specified. * * You can use one of the following two ways to specify what javascript method should be called when * a form is submitted: * * - {@link ng.directive:ngSubmit ngSubmit} directive on the form element * - {@link ng.directive:ngClick ngClick} directive on the first * button or input field of type submit (input[type=submit]) * * To prevent double execution of the handler, use only one of the {@link ng.directive:ngSubmit ngSubmit} * or {@link ng.directive:ngClick ngClick} directives. * This is because of the following form submission rules in the HTML specification: * * - If a form has only one input field then hitting enter in this field triggers form submit * (`ngSubmit`) * - if a form has 2+ input fields and no buttons or input[type=submit] then hitting enter * doesn't trigger submit * - if a form has one or more input fields and one or more buttons or input[type=submit] then * hitting enter in any of the input fields will trigger the click handler on the *first* button or * input[type=submit] (`ngClick`) *and* a submit handler on the enclosing form (`ngSubmit`) * * @param {string=} name Name of the form. If specified, the form controller will be published into * related scope, under this name. * * @example userType: Required!
userType = {{userType}}
myForm.input.$valid = {{myForm.input.$valid}}
myForm.input.$error = {{myForm.input.$error}}
myForm.$valid = {{myForm.$valid}}
myForm.$error.required = {{!!myForm.$error.required}}
it('should initialize to model', function() { expect(binding('userType')).toEqual('guest'); expect(binding('myForm.input.$valid')).toEqual('true'); }); it('should be invalid if empty', function() { input('userType').enter(''); expect(binding('userType')).toEqual(''); expect(binding('myForm.input.$valid')).toEqual('false'); });
*/ var formDirectiveFactory = function(isNgForm) { return ['$timeout', function($timeout) { var formDirective = { name: 'form', restrict: isNgForm ? 'EAC' : 'E', controller: FormController, compile: function() { return { pre: function(scope, formElement, attr, controller) { if (!attr.action) { // we can't use jq events because if a form is destroyed during submission the default // action is not prevented. see #1238 // // IE 9 is not affected because it doesn't fire a submit event and try to do a full // page reload if the form was destroyed by submission of the form via a click handler // on a button in the form. Looks like an IE9 specific bug. var preventDefaultListener = function(event) { event.preventDefault ? event.preventDefault() : event.returnValue = false; // IE }; addEventListenerFn(formElement[0], 'submit', preventDefaultListener); // unregister the preventDefault listener so that we don't not leak memory but in a // way that will achieve the prevention of the default action. formElement.on('$destroy', function() { $timeout(function() { removeEventListenerFn(formElement[0], 'submit', preventDefaultListener); }, 0, false); }); } var parentFormCtrl = formElement.parent().controller('form'), alias = attr.name || attr.ngForm; if (alias) { setter(scope, alias, controller, alias); } if (parentFormCtrl) { formElement.on('$destroy', function() { parentFormCtrl.$removeControl(controller); if (alias) { setter(scope, alias, undefined, alias); } extend(controller, nullFormCtrl); //stop propagating child destruction handlers upwards }); } } }; } }; return formDirective; }]; }; var formDirective = formDirectiveFactory(); var ngFormDirective = formDirectiveFactory(true); /* global -VALID_CLASS, -INVALID_CLASS, -PRISTINE_CLASS, -DIRTY_CLASS */ var URL_REGEXP = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/; var EMAIL_REGEXP = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/; var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/; var inputType = { /** * @ngdoc inputType * @name ng.directive:input.text * * @description * Standard HTML text input with angular data binding. * * @param {string} ngModel Assignable angular expression to data-bind to. * @param {string=} name Property name of the form under which the control is published. * @param {string=} required Adds `required` validation error key if the value is not entered. * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of * `required` when you want to data-bind to the `required` attribute. * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than * minlength. * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than * maxlength. * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for * patterns defined as scope expressions. * @param {string=} ngChange Angular expression to be executed when input changes due to user * interaction with the input element. * @param {boolean=} [ngTrim=true] If set to false Angular will not automatically trim the input. * * @example
Single word: Required! Single word only! text = {{text}}
myForm.input.$valid = {{myForm.input.$valid}}
myForm.input.$error = {{myForm.input.$error}}
myForm.$valid = {{myForm.$valid}}
myForm.$error.required = {{!!myForm.$error.required}}
it('should initialize to model', function() { expect(binding('text')).toEqual('guest'); expect(binding('myForm.input.$valid')).toEqual('true'); }); it('should be invalid if empty', function() { input('text').enter(''); expect(binding('text')).toEqual(''); expect(binding('myForm.input.$valid')).toEqual('false'); }); it('should be invalid if multi word', function() { input('text').enter('hello world'); expect(binding('myForm.input.$valid')).toEqual('false'); }); it('should not be trimmed', function() { input('text').enter('untrimmed '); expect(binding('text')).toEqual('untrimmed '); expect(binding('myForm.input.$valid')).toEqual('true'); });
*/ 'text': textInputType, /** * @ngdoc inputType * @name ng.directive:input.number * * @description * Text input with number validation and transformation. Sets the `number` validation * error if not a valid number. * * @param {string} ngModel Assignable angular expression to data-bind to. * @param {string=} name Property name of the form under which the control is published. * @param {string=} min Sets the `min` validation error key if the value entered is less than `min`. * @param {string=} max Sets the `max` validation error key if the value entered is greater than `max`. * @param {string=} required Sets `required` validation error key if the value is not entered. * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of * `required` when you want to data-bind to the `required` attribute. * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than * minlength. * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than * maxlength. * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for * patterns defined as scope expressions. * @param {string=} ngChange Angular expression to be executed when input changes due to user * interaction with the input element. * * @example
Number: Required! Not valid number! value = {{value}}
myForm.input.$valid = {{myForm.input.$valid}}
myForm.input.$error = {{myForm.input.$error}}
myForm.$valid = {{myForm.$valid}}
myForm.$error.required = {{!!myForm.$error.required}}
it('should initialize to model', function() { expect(binding('value')).toEqual('12'); expect(binding('myForm.input.$valid')).toEqual('true'); }); it('should be invalid if empty', function() { input('value').enter(''); expect(binding('value')).toEqual(''); expect(binding('myForm.input.$valid')).toEqual('false'); }); it('should be invalid if over max', function() { input('value').enter('123'); expect(binding('value')).toEqual(''); expect(binding('myForm.input.$valid')).toEqual('false'); });
*/ 'number': numberInputType, /** * @ngdoc inputType * @name ng.directive:input.url * * @description * Text input with URL validation. Sets the `url` validation error key if the content is not a * valid URL. * * @param {string} ngModel Assignable angular expression to data-bind to. * @param {string=} name Property name of the form under which the control is published. * @param {string=} required Sets `required` validation error key if the value is not entered. * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of * `required` when you want to data-bind to the `required` attribute. * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than * minlength. * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than * maxlength. * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for * patterns defined as scope expressions. * @param {string=} ngChange Angular expression to be executed when input changes due to user * interaction with the input element. * * @example
URL: Required! Not valid url! text = {{text}}
myForm.input.$valid = {{myForm.input.$valid}}
myForm.input.$error = {{myForm.input.$error}}
myForm.$valid = {{myForm.$valid}}
myForm.$error.required = {{!!myForm.$error.required}}
myForm.$error.url = {{!!myForm.$error.url}}
it('should initialize to model', function() { expect(binding('text')).toEqual('http://google.com'); expect(binding('myForm.input.$valid')).toEqual('true'); }); it('should be invalid if empty', function() { input('text').enter(''); expect(binding('text')).toEqual(''); expect(binding('myForm.input.$valid')).toEqual('false'); }); it('should be invalid if not url', function() { input('text').enter('xxx'); expect(binding('myForm.input.$valid')).toEqual('false'); });
*/ 'url': urlInputType, /** * @ngdoc inputType * @name ng.directive:input.email * * @description * Text input with email validation. Sets the `email` validation error key if not a valid email * address. * * @param {string} ngModel Assignable angular expression to data-bind to. * @param {string=} name Property name of the form under which the control is published. * @param {string=} required Sets `required` validation error key if the value is not entered. * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of * `required` when you want to data-bind to the `required` attribute. * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than * minlength. * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than * maxlength. * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for * patterns defined as scope expressions. * @param {string=} ngChange Angular expression to be executed when input changes due to user * interaction with the input element. * * @example
Email: Required! Not valid email! text = {{text}}
myForm.input.$valid = {{myForm.input.$valid}}
myForm.input.$error = {{myForm.input.$error}}
myForm.$valid = {{myForm.$valid}}
myForm.$error.required = {{!!myForm.$error.required}}
myForm.$error.email = {{!!myForm.$error.email}}
it('should initialize to model', function() { expect(binding('text')).toEqual('me@example.com'); expect(binding('myForm.input.$valid')).toEqual('true'); }); it('should be invalid if empty', function() { input('text').enter(''); expect(binding('text')).toEqual(''); expect(binding('myForm.input.$valid')).toEqual('false'); }); it('should be invalid if not email', function() { input('text').enter('xxx'); expect(binding('myForm.input.$valid')).toEqual('false'); });
*/ 'email': emailInputType, /** * @ngdoc inputType * @name ng.directive:input.radio * * @description * HTML radio button. * * @param {string} ngModel Assignable angular expression to data-bind to. * @param {string} value The value to which the expression should be set when selected. * @param {string=} name Property name of the form under which the control is published. * @param {string=} ngChange Angular expression to be executed when input changes due to user * interaction with the input element. * * @example
Red
Green
Blue
color = {{color}}
it('should change state', function() { expect(binding('color')).toEqual('blue'); input('color').select('red'); expect(binding('color')).toEqual('red'); });
*/ 'radio': radioInputType, /** * @ngdoc inputType * @name ng.directive:input.checkbox * * @description * HTML checkbox. * * @param {string} ngModel Assignable angular expression to data-bind to. * @param {string=} name Property name of the form under which the control is published. * @param {string=} ngTrueValue The value to which the expression should be set when selected. * @param {string=} ngFalseValue The value to which the expression should be set when not selected. * @param {string=} ngChange Angular expression to be executed when input changes due to user * interaction with the input element. * * @example
Value1:
Value2:
value1 = {{value1}}
value2 = {{value2}}
it('should change state', function() { expect(binding('value1')).toEqual('true'); expect(binding('value2')).toEqual('YES'); input('value1').check(); input('value2').check(); expect(binding('value1')).toEqual('false'); expect(binding('value2')).toEqual('NO'); });
*/ 'checkbox': checkboxInputType, 'hidden': noop, 'button': noop, 'submit': noop, 'reset': noop }; function textInputType(scope, element, attr, ctrl, $sniffer, $browser) { var listener = function() { var value = element.val(); // By default we will trim the value // If the attribute ng-trim exists we will avoid trimming // e.g. if (toBoolean(attr.ngTrim || 'T')) { value = trim(value); } if (ctrl.$viewValue !== value) { scope.$apply(function() { ctrl.$setViewValue(value); }); } }; // if the browser does support "input" event, we are fine - except on IE9 which doesn't fire the // input event on backspace, delete or cut if ($sniffer.hasEvent('input')) { element.on('input', listener); } else { var timeout; var deferListener = function() { if (!timeout) { timeout = $browser.defer(function() { listener(); timeout = null; }); } }; element.on('keydown', function(event) { var key = event.keyCode; // ignore // command modifiers arrows if (key === 91 || (15 < key && key < 19) || (37 <= key && key <= 40)) return; deferListener(); }); // if user paste into input using mouse, we need "change" event to catch it element.on('change', listener); // if user modifies input value using context menu in IE, we need "paste" and "cut" events to catch it if ($sniffer.hasEvent('paste')) { element.on('paste cut', deferListener); } } ctrl.$render = function() { element.val(ctrl.$isEmpty(ctrl.$viewValue) ? '' : ctrl.$viewValue); }; // pattern validator var pattern = attr.ngPattern, patternValidator, match; var validate = function(regexp, value) { if (ctrl.$isEmpty(value) || regexp.test(value)) { ctrl.$setValidity('pattern', true); return value; } else { ctrl.$setValidity('pattern', false); return undefined; } }; if (pattern) { match = pattern.match(/^\/(.*)\/([gim]*)$/); if (match) { pattern = new RegExp(match[1], match[2]); patternValidator = function(value) { return validate(pattern, value); }; } else { patternValidator = function(value) { var patternObj = scope.$eval(pattern); if (!patternObj || !patternObj.test) { throw minErr('ngPattern')('noregexp', 'Expected {0} to be a RegExp but was {1}. Element: {2}', pattern, patternObj, startingTag(element)); } return validate(patternObj, value); }; } ctrl.$formatters.push(patternValidator); ctrl.$parsers.push(patternValidator); } // min length validator if (attr.ngMinlength) { var minlength = int(attr.ngMinlength); var minLengthValidator = function(value) { if (!ctrl.$isEmpty(value) && value.length < minlength) { ctrl.$setValidity('minlength', false); return undefined; } else { ctrl.$setValidity('minlength', true); return value; } }; ctrl.$parsers.push(minLengthValidator); ctrl.$formatters.push(minLengthValidator); } // max length validator if (attr.ngMaxlength) { var maxlength = int(attr.ngMaxlength); var maxLengthValidator = function(value) { if (!ctrl.$isEmpty(value) && value.length > maxlength) { ctrl.$setValidity('maxlength', false); return undefined; } else { ctrl.$setValidity('maxlength', true); return value; } }; ctrl.$parsers.push(maxLengthValidator); ctrl.$formatters.push(maxLengthValidator); } } function numberInputType(scope, element, attr, ctrl, $sniffer, $browser) { textInputType(scope, element, attr, ctrl, $sniffer, $browser); ctrl.$parsers.push(function(value) { var empty = ctrl.$isEmpty(value); if (empty || NUMBER_REGEXP.test(value)) { ctrl.$setValidity('number', true); return value === '' ? null : (empty ? value : parseFloat(value)); } else { ctrl.$setValidity('number', false); return undefined; } }); ctrl.$formatters.push(function(value) { return ctrl.$isEmpty(value) ? '' : '' + value; }); if (attr.min) { var minValidator = function(value) { var min = parseFloat(attr.min); if (!ctrl.$isEmpty(value) && value < min) { ctrl.$setValidity('min', false); return undefined; } else { ctrl.$setValidity('min', true); return value; } }; ctrl.$parsers.push(minValidator); ctrl.$formatters.push(minValidator); } if (attr.max) { var maxValidator = function(value) { var max = parseFloat(attr.max); if (!ctrl.$isEmpty(value) && value > max) { ctrl.$setValidity('max', false); return undefined; } else { ctrl.$setValidity('max', true); return value; } }; ctrl.$parsers.push(maxValidator); ctrl.$formatters.push(maxValidator); } ctrl.$formatters.push(function(value) { if (ctrl.$isEmpty(value) || isNumber(value)) { ctrl.$setValidity('number', true); return value; } else { ctrl.$setValidity('number', false); return undefined; } }); } function urlInputType(scope, element, attr, ctrl, $sniffer, $browser) { textInputType(scope, element, attr, ctrl, $sniffer, $browser); var urlValidator = function(value) { if (ctrl.$isEmpty(value) || URL_REGEXP.test(value)) { ctrl.$setValidity('url', true); return value; } else { ctrl.$setValidity('url', false); return undefined; } }; ctrl.$formatters.push(urlValidator); ctrl.$parsers.push(urlValidator); } function emailInputType(scope, element, attr, ctrl, $sniffer, $browser) { textInputType(scope, element, attr, ctrl, $sniffer, $browser); var emailValidator = function(value) { if (ctrl.$isEmpty(value) || EMAIL_REGEXP.test(value)) { ctrl.$setValidity('email', true); return value; } else { ctrl.$setValidity('email', false); return undefined; } }; ctrl.$formatters.push(emailValidator); ctrl.$parsers.push(emailValidator); } function radioInputType(scope, element, attr, ctrl) { // make the name unique, if not defined if (isUndefined(attr.name)) { element.attr('name', nextUid()); } element.on('click', function() { if (element[0].checked) { scope.$apply(function() { ctrl.$setViewValue(attr.value); }); } }); ctrl.$render = function() { var value = attr.value; element[0].checked = (value == ctrl.$viewValue); }; attr.$observe('value', ctrl.$render); } function checkboxInputType(scope, element, attr, ctrl) { var trueValue = attr.ngTrueValue, falseValue = attr.ngFalseValue; if (!isString(trueValue)) trueValue = true; if (!isString(falseValue)) falseValue = false; element.on('click', function() { scope.$apply(function() { ctrl.$setViewValue(element[0].checked); }); }); ctrl.$render = function() { element[0].checked = ctrl.$viewValue; }; // Override the standard `$isEmpty` because a value of `false` means empty in a checkbox. ctrl.$isEmpty = function(value) { return value !== trueValue; }; ctrl.$formatters.push(function(value) { return value === trueValue; }); ctrl.$parsers.push(function(value) { return value ? trueValue : falseValue; }); } /** * @ngdoc directive * @name ng.directive:textarea * @restrict E * * @description * HTML textarea element control with angular data-binding. The data-binding and validation * properties of this element are exactly the same as those of the * {@link ng.directive:input input element}. * * @param {string} ngModel Assignable angular expression to data-bind to. * @param {string=} name Property name of the form under which the control is published. * @param {string=} required Sets `required` validation error key if the value is not entered. * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of * `required` when you want to data-bind to the `required` attribute. * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than * minlength. * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than * maxlength. * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for * patterns defined as scope expressions. * @param {string=} ngChange Angular expression to be executed when input changes due to user * interaction with the input element. */ /** * @ngdoc directive * @name ng.directive:input * @restrict E * * @description * HTML input element control with angular data-binding. Input control follows HTML5 input types * and polyfills the HTML5 validation behavior for older browsers. * * @param {string} ngModel Assignable angular expression to data-bind to. * @param {string=} name Property name of the form under which the control is published. * @param {string=} required Sets `required` validation error key if the value is not entered. * @param {boolean=} ngRequired Sets `required` attribute if set to true * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than * minlength. * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than * maxlength. * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for * patterns defined as scope expressions. * @param {string=} ngChange Angular expression to be executed when input changes due to user * interaction with the input element. * * @example
User name: Required!
Last name: Too short! Too long!

user = {{user}}
myForm.userName.$valid = {{myForm.userName.$valid}}
myForm.userName.$error = {{myForm.userName.$error}}
myForm.lastName.$valid = {{myForm.lastName.$valid}}
myForm.lastName.$error = {{myForm.lastName.$error}}
myForm.$valid = {{myForm.$valid}}
myForm.$error.required = {{!!myForm.$error.required}}
myForm.$error.minlength = {{!!myForm.$error.minlength}}
myForm.$error.maxlength = {{!!myForm.$error.maxlength}}
it('should initialize to model', function() { expect(binding('user')).toEqual('{"name":"guest","last":"visitor"}'); expect(binding('myForm.userName.$valid')).toEqual('true'); expect(binding('myForm.$valid')).toEqual('true'); }); it('should be invalid if empty when required', function() { input('user.name').enter(''); expect(binding('user')).toEqual('{"last":"visitor"}'); expect(binding('myForm.userName.$valid')).toEqual('false'); expect(binding('myForm.$valid')).toEqual('false'); }); it('should be valid if empty when min length is set', function() { input('user.last').enter(''); expect(binding('user')).toEqual('{"name":"guest","last":""}'); expect(binding('myForm.lastName.$valid')).toEqual('true'); expect(binding('myForm.$valid')).toEqual('true'); }); it('should be invalid if less than required min length', function() { input('user.last').enter('xx'); expect(binding('user')).toEqual('{"name":"guest"}'); expect(binding('myForm.lastName.$valid')).toEqual('false'); expect(binding('myForm.lastName.$error')).toMatch(/minlength/); expect(binding('myForm.$valid')).toEqual('false'); }); it('should be invalid if longer than max length', function() { input('user.last').enter('some ridiculously long name'); expect(binding('user')) .toEqual('{"name":"guest"}'); expect(binding('myForm.lastName.$valid')).toEqual('false'); expect(binding('myForm.lastName.$error')).toMatch(/maxlength/); expect(binding('myForm.$valid')).toEqual('false'); });
*/ var inputDirective = ['$browser', '$sniffer', function($browser, $sniffer) { return { restrict: 'E', require: '?ngModel', link: function(scope, element, attr, ctrl) { if (ctrl) { (inputType[lowercase(attr.type)] || inputType.text)(scope, element, attr, ctrl, $sniffer, $browser); } } }; }]; var VALID_CLASS = 'ng-valid', INVALID_CLASS = 'ng-invalid', PRISTINE_CLASS = 'ng-pristine', DIRTY_CLASS = 'ng-dirty'; /** * @ngdoc object * @name ng.directive:ngModel.NgModelController * * @property {string} $viewValue Actual string value in the view. * @property {*} $modelValue The value in the model, that the control is bound to. * @property {Array.} $parsers Array of functions to execute, as a pipeline, whenever the control reads value from the DOM. Each function is called, in turn, passing the value through to the next. Used to sanitize / convert the value as well as validation. For validation, the parsers should update the validity state using {@link ng.directive:ngModel.NgModelController#methods_$setValidity $setValidity()}, and return `undefined` for invalid values. * * @property {Array.} $formatters Array of functions to execute, as a pipeline, whenever the model value changes. Each function is called, in turn, passing the value through to the next. Used to format / convert values for display in the control and validation. *
 *      function formatter(value) {
 *        if (value) {
 *          return value.toUpperCase();
 *        }
 *      }
 *      ngModel.$formatters.push(formatter);
 *      
* @property {Object} $error An object hash with all errors as keys. * * @property {boolean} $pristine True if user has not interacted with the control yet. * @property {boolean} $dirty True if user has already interacted with the control. * @property {boolean} $valid True if there is no error. * @property {boolean} $invalid True if at least one error on the control. * * @description * * `NgModelController` provides API for the `ng-model` directive. The controller contains * services for data-binding, validation, CSS updates, and value formatting and parsing. It * purposefully does not contain any logic which deals with DOM rendering or listening to * DOM events. Such DOM related logic should be provided by other directives which make use of * `NgModelController` for data-binding. * * ## Custom Control Example * This example shows how to use `NgModelController` with a custom control to achieve * data-binding. Notice how different directives (`contenteditable`, `ng-model`, and `required`) * collaborate together to achieve the desired result. * * Note that `contenteditable` is an HTML5 attribute, which tells the browser to let the element * contents be edited in place by the user. This will not work on older browsers. * * [contenteditable] { border: 1px solid black; background-color: white; min-height: 20px; } .ng-invalid { border: 1px solid red; } angular.module('customControl', []). directive('contenteditable', function() { return { restrict: 'A', // only activate on element attribute require: '?ngModel', // get a hold of NgModelController link: function(scope, element, attrs, ngModel) { if(!ngModel) return; // do nothing if no ng-model // Specify how UI should be updated ngModel.$render = function() { element.html(ngModel.$viewValue || ''); }; // Listen for change events to enable binding element.on('blur keyup change', function() { scope.$apply(read); }); read(); // initialize // Write data to the model function read() { var html = element.html(); // When we clear the content editable the browser leaves a
behind // If strip-br attribute is provided then we strip this out if( attrs.stripBr && html == '
' ) { html = ''; } ngModel.$setViewValue(html); } } }; });
Change me!
Required!
it('should data-bind and become invalid', function() { var contentEditable = element('[contenteditable]'); expect(contentEditable.text()).toEqual('Change me!'); input('userContent').enter(''); expect(contentEditable.text()).toEqual(''); expect(contentEditable.prop('className')).toMatch(/ng-invalid-required/); }); *
* * ## Isolated Scope Pitfall * * Note that if you have a directive with an isolated scope, you cannot require `ngModel` * since the model value will be looked up on the isolated scope rather than the outer scope. * When the directive updates the model value, calling `ngModel.$setViewValue()` the property * on the outer scope will not be updated. However you can get around this by using $parent. * * Here is an example of this situation. You'll notice that the first div is not updating the input. * However the second div can update the input properly. * * angular.module('badIsolatedDirective', []).directive('isolate', function() { return { require: 'ngModel', scope: { }, template: '', link: function(scope, element, attrs, ngModel) { scope.$watch('innerModel', function(value) { console.log(value); ngModel.$setViewValue(value); }); } }; });
*
* * */ var NgModelController = ['$scope', '$exceptionHandler', '$attrs', '$element', '$parse', function($scope, $exceptionHandler, $attr, $element, $parse) { this.$viewValue = Number.NaN; this.$modelValue = Number.NaN; this.$parsers = []; this.$formatters = []; this.$viewChangeListeners = []; this.$pristine = true; this.$dirty = false; this.$valid = true; this.$invalid = false; this.$name = $attr.name; var ngModelGet = $parse($attr.ngModel), ngModelSet = ngModelGet.assign; if (!ngModelSet) { throw minErr('ngModel')('nonassign', "Expression '{0}' is non-assignable. Element: {1}", $attr.ngModel, startingTag($element)); } /** * @ngdoc function * @name ng.directive:ngModel.NgModelController#$render * @methodOf ng.directive:ngModel.NgModelController * * @description * Called when the view needs to be updated. It is expected that the user of the ng-model * directive will implement this method. */ this.$render = noop; /** * @ngdoc function * @name { ng.directive:ngModel.NgModelController#$isEmpty * @methodOf ng.directive:ngModel.NgModelController * * @description * This is called when we need to determine if the value of the input is empty. * * For instance, the required directive does this to work out if the input has data or not. * The default `$isEmpty` function checks whether the value is `undefined`, `''`, `null` or `NaN`. * * You can override this for input directives whose concept of being empty is different to the * default. The `checkboxInputType` directive does this because in its case a value of `false` * implies empty. */ this.$isEmpty = function(value) { return isUndefined(value) || value === '' || value === null || value !== value; }; var parentForm = $element.inheritedData('$formController') || nullFormCtrl, invalidCount = 0, // used to easily determine if we are valid $error = this.$error = {}; // keep invalid keys here // Setup initial state of the control $element.addClass(PRISTINE_CLASS); toggleValidCss(true); // convenience method for easy toggling of classes function toggleValidCss(isValid, validationErrorKey) { validationErrorKey = validationErrorKey ? '-' + snake_case(validationErrorKey, '-') : ''; $element. removeClass((isValid ? INVALID_CLASS : VALID_CLASS) + validationErrorKey). addClass((isValid ? VALID_CLASS : INVALID_CLASS) + validationErrorKey); } /** * @ngdoc function * @name ng.directive:ngModel.NgModelController#$setValidity * @methodOf ng.directive:ngModel.NgModelController * * @description * Change the validity state, and notifies the form when the control changes validity. (i.e. it * does not notify form if given validator is already marked as invalid). * * This method should be called by validators - i.e. the parser or formatter functions. * * @param {string} validationErrorKey Name of the validator. the `validationErrorKey` will assign * to `$error[validationErrorKey]=isValid` so that it is available for data-binding. * The `validationErrorKey` should be in camelCase and will get converted into dash-case * for class name. Example: `myError` will result in `ng-valid-my-error` and `ng-invalid-my-error` * class and can be bound to as `{{someForm.someControl.$error.myError}}` . * @param {boolean} isValid Whether the current state is valid (true) or invalid (false). */ this.$setValidity = function(validationErrorKey, isValid) { // Purposeful use of ! here to cast isValid to boolean in case it is undefined // jshint -W018 if ($error[validationErrorKey] === !isValid) return; // jshint +W018 if (isValid) { if ($error[validationErrorKey]) invalidCount--; if (!invalidCount) { toggleValidCss(true); this.$valid = true; this.$invalid = false; } } else { toggleValidCss(false); this.$invalid = true; this.$valid = false; invalidCount++; } $error[validationErrorKey] = !isValid; toggleValidCss(isValid, validationErrorKey); parentForm.$setValidity(validationErrorKey, isValid, this); }; /** * @ngdoc function * @name ng.directive:ngModel.NgModelController#$setPristine * @methodOf ng.directive:ngModel.NgModelController * * @description * Sets the control to its pristine state. * * This method can be called to remove the 'ng-dirty' class and set the control to its pristine * state (ng-pristine class). */ this.$setPristine = function () { this.$dirty = false; this.$pristine = true; $element.removeClass(DIRTY_CLASS).addClass(PRISTINE_CLASS); }; /** * @ngdoc function * @name ng.directive:ngModel.NgModelController#$setViewValue * @methodOf ng.directive:ngModel.NgModelController * * @description * Read a value from view. * * This method should be called from within a DOM event handler. * For example {@link ng.directive:input input} or * {@link ng.directive:select select} directives call it. * * It internally calls all `$parsers` (including validators) and updates the `$modelValue` and the actual model path. * Lastly it calls all registered change listeners. * * @param {string} value Value from the view. */ this.$setViewValue = function(value) { this.$viewValue = value; // change to dirty if (this.$pristine) { this.$dirty = true; this.$pristine = false; $element.removeClass(PRISTINE_CLASS).addClass(DIRTY_CLASS); parentForm.$setDirty(); } forEach(this.$parsers, function(fn) { value = fn(value); }); if (this.$modelValue !== value) { this.$modelValue = value; ngModelSet($scope, value); forEach(this.$viewChangeListeners, function(listener) { try { listener(); } catch(e) { $exceptionHandler(e); } }); } }; // model -> value var ctrl = this; $scope.$watch(function ngModelWatch() { var value = ngModelGet($scope); // if scope model value and ngModel value are out of sync if (ctrl.$modelValue !== value) { var formatters = ctrl.$formatters, idx = formatters.length; ctrl.$modelValue = value; while(idx--) { value = formatters[idx](value); } if (ctrl.$viewValue !== value) { ctrl.$viewValue = value; ctrl.$render(); } } }); }]; /** * @ngdoc directive * @name ng.directive:ngModel * * @element input * * @description * The `ngModel` directive binds an `input`,`select`, `textarea` (or custom form control) to a * property on the scope using {@link ng.directive:ngModel.NgModelController NgModelController}, * which is created and exposed by this directive. * * `ngModel` is responsible for: * * - Binding the view into the model, which other directives such as `input`, `textarea` or `select` * require. * - Providing validation behavior (i.e. required, number, email, url). * - Keeping the state of the control (valid/invalid, dirty/pristine, validation errors). * - Setting related css classes on the element (`ng-valid`, `ng-invalid`, `ng-dirty`, `ng-pristine`). * - Registering the control with its parent {@link ng.directive:form form}. * * Note: `ngModel` will try to bind to the property given by evaluating the expression on the * current scope. If the property doesn't already exist on this scope, it will be created * implicitly and added to the scope. * * For best practices on using `ngModel`, see: * * - {@link https://github.com/angular/angular.js/wiki/Understanding-Scopes} * * For basic examples, how to use `ngModel`, see: * * - {@link ng.directive:input input} * - {@link ng.directive:input.text text} * - {@link ng.directive:input.checkbox checkbox} * - {@link ng.directive:input.radio radio} * - {@link ng.directive:input.number number} * - {@link ng.directive:input.email email} * - {@link ng.directive:input.url url} * - {@link ng.directive:select select} * - {@link ng.directive:textarea textarea} * */ var ngModelDirective = function() { return { require: ['ngModel', '^?form'], controller: NgModelController, link: function(scope, element, attr, ctrls) { // notify others, especially parent forms var modelCtrl = ctrls[0], formCtrl = ctrls[1] || nullFormCtrl; formCtrl.$addControl(modelCtrl); scope.$on('$destroy', function() { formCtrl.$removeControl(modelCtrl); }); } }; }; /** * @ngdoc directive * @name ng.directive:ngChange * * @description * Evaluate given expression when user changes the input. * The expression is not evaluated when the value change is coming from the model. * * Note, this directive requires `ngModel` to be present. * * @element input * @param {expression} ngChange {@link guide/expression Expression} to evaluate upon change * in input value. * * @example * * * *
* * *
* debug = {{confirmed}}
* counter = {{counter}} *
*
* * it('should evaluate the expression if changing from view', function() { * expect(binding('counter')).toEqual('0'); * element('#ng-change-example1').click(); * expect(binding('counter')).toEqual('1'); * expect(binding('confirmed')).toEqual('true'); * }); * * it('should not evaluate the expression if changing from model', function() { * element('#ng-change-example2').click(); * expect(binding('counter')).toEqual('0'); * expect(binding('confirmed')).toEqual('true'); * }); * *
*/ var ngChangeDirective = valueFn({ require: 'ngModel', link: function(scope, element, attr, ctrl) { ctrl.$viewChangeListeners.push(function() { scope.$eval(attr.ngChange); }); } }); var requiredDirective = function() { return { require: '?ngModel', link: function(scope, elm, attr, ctrl) { if (!ctrl) return; attr.required = true; // force truthy in case we are on non input element var validator = function(value) { if (attr.required && ctrl.$isEmpty(value)) { ctrl.$setValidity('required', false); return; } else { ctrl.$setValidity('required', true); return value; } }; ctrl.$formatters.push(validator); ctrl.$parsers.unshift(validator); attr.$observe('required', function() { validator(ctrl.$viewValue); }); } }; }; /** * @ngdoc directive * @name ng.directive:ngList * * @description * Text input that converts between a delimited string and an array of strings. The delimiter * can be a fixed string (by default a comma) or a regular expression. * * @element input * @param {string=} ngList optional delimiter that should be used to split the value. If * specified in form `/something/` then the value will be converted into a regular expression. * * @example
List: Required!
names = {{names}}
myForm.namesInput.$valid = {{myForm.namesInput.$valid}}
myForm.namesInput.$error = {{myForm.namesInput.$error}}
myForm.$valid = {{myForm.$valid}}
myForm.$error.required = {{!!myForm.$error.required}}
it('should initialize to model', function() { expect(binding('names')).toEqual('["igor","misko","vojta"]'); expect(binding('myForm.namesInput.$valid')).toEqual('true'); expect(element('span.error').css('display')).toBe('none'); }); it('should be invalid if empty', function() { input('names').enter(''); expect(binding('names')).toEqual(''); expect(binding('myForm.namesInput.$valid')).toEqual('false'); expect(element('span.error').css('display')).not().toBe('none'); });
*/ var ngListDirective = function() { return { require: 'ngModel', link: function(scope, element, attr, ctrl) { var match = /\/(.*)\//.exec(attr.ngList), separator = match && new RegExp(match[1]) || attr.ngList || ','; var parse = function(viewValue) { // If the viewValue is invalid (say required but empty) it will be `undefined` if (isUndefined(viewValue)) return; var list = []; if (viewValue) { forEach(viewValue.split(separator), function(value) { if (value) list.push(trim(value)); }); } return list; }; ctrl.$parsers.push(parse); ctrl.$formatters.push(function(value) { if (isArray(value)) { return value.join(', '); } return undefined; }); // Override the standard $isEmpty because an empty array means the input is empty. ctrl.$isEmpty = function(value) { return !value || !value.length; }; } }; }; var CONSTANT_VALUE_REGEXP = /^(true|false|\d+)$/; /** * @ngdoc directive * @name ng.directive:ngValue * * @description * Binds the given expression to the value of `input[select]` or `input[radio]`, so * that when the element is selected, the `ngModel` of that element is set to the * bound value. * * `ngValue` is useful when dynamically generating lists of radio buttons using `ng-repeat`, as * shown below. * * @element input * @param {string=} ngValue angular expression, whose value will be bound to the `value` attribute * of the `input` element * * @example

Which is your favorite?

You chose {{my.favorite}}
it('should initialize to model', function() { expect(binding('my.favorite')).toEqual('unicorns'); }); it('should bind the values to the inputs', function() { input('my.favorite').select('pizza'); expect(binding('my.favorite')).toEqual('pizza'); });
*/ var ngValueDirective = function() { return { priority: 100, compile: function(tpl, tplAttr) { if (CONSTANT_VALUE_REGEXP.test(tplAttr.ngValue)) { return function ngValueConstantLink(scope, elm, attr) { attr.$set('value', scope.$eval(attr.ngValue)); }; } else { return function ngValueLink(scope, elm, attr) { scope.$watch(attr.ngValue, function valueWatchAction(value) { attr.$set('value', value); }); }; } } }; }; /** * @ngdoc directive * @name ng.directive:ngBind * @restrict AC * * @description * The `ngBind` attribute tells Angular to replace the text content of the specified HTML element * with the value of a given expression, and to update the text content when the value of that * expression changes. * * Typically, you don't use `ngBind` directly, but instead you use the double curly markup like * `{{ expression }}` which is similar but less verbose. * * It is preferrable to use `ngBind` instead of `{{ expression }}` when a template is momentarily * displayed by the browser in its raw state before Angular compiles it. Since `ngBind` is an * element attribute, it makes the bindings invisible to the user while the page is loading. * * An alternative solution to this problem would be using the * {@link ng.directive:ngCloak ngCloak} directive. * * * @element ANY * @param {expression} ngBind {@link guide/expression Expression} to evaluate. * * @example * Enter a name in the Live Preview text box; the greeting below the text box changes instantly.
Enter name:
Hello !
it('should check ng-bind', function() { expect(using('.doc-example-live').binding('name')).toBe('Whirled'); using('.doc-example-live').input('name').enter('world'); expect(using('.doc-example-live').binding('name')).toBe('world'); });
*/ var ngBindDirective = ngDirective(function(scope, element, attr) { element.addClass('ng-binding').data('$binding', attr.ngBind); scope.$watch(attr.ngBind, function ngBindWatchAction(value) { // We are purposefully using == here rather than === because we want to // catch when value is "null or undefined" // jshint -W041 element.text(value == undefined ? '' : value); }); }); /** * @ngdoc directive * @name ng.directive:ngBindTemplate * * @description * The `ngBindTemplate` directive specifies that the element * text content should be replaced with the interpolation of the template * in the `ngBindTemplate` attribute. * Unlike `ngBind`, the `ngBindTemplate` can contain multiple `{{` `}}` * expressions. This directive is needed since some HTML elements * (such as TITLE and OPTION) cannot contain SPAN elements. * * @element ANY * @param {string} ngBindTemplate template of form * {{ expression }} to eval. * * @example * Try it here: enter text in text box and watch the greeting change.
Salutation:
Name:

       
it('should check ng-bind', function() { expect(using('.doc-example-live').binding('salutation')). toBe('Hello'); expect(using('.doc-example-live').binding('name')). toBe('World'); using('.doc-example-live').input('salutation').enter('Greetings'); using('.doc-example-live').input('name').enter('user'); expect(using('.doc-example-live').binding('salutation')). toBe('Greetings'); expect(using('.doc-example-live').binding('name')). toBe('user'); });
*/ var ngBindTemplateDirective = ['$interpolate', function($interpolate) { return function(scope, element, attr) { // TODO: move this to scenario runner var interpolateFn = $interpolate(element.attr(attr.$attr.ngBindTemplate)); element.addClass('ng-binding').data('$binding', interpolateFn); attr.$observe('ngBindTemplate', function(value) { element.text(value); }); }; }]; /** * @ngdoc directive * @name ng.directive:ngBindHtml * * @description * Creates a binding that will innerHTML the result of evaluating the `expression` into the current * element in a secure way. By default, the innerHTML-ed content will be sanitized using the {@link * ngSanitize.$sanitize $sanitize} service. To utilize this functionality, ensure that `$sanitize` * is available, for example, by including {@link ngSanitize} in your module's dependencies (not in * core Angular.) You may also bypass sanitization for values you know are safe. To do so, bind to * an explicitly trusted value via {@link ng.$sce#methods_trustAsHtml $sce.trustAsHtml}. See the example * under {@link ng.$sce#Example Strict Contextual Escaping (SCE)}. * * Note: If a `$sanitize` service is unavailable and the bound value isn't explicitly trusted, you * will have an exception (instead of an exploit.) * * @element ANY * @param {expression} ngBindHtml {@link guide/expression Expression} to evaluate. * * @example * Try it here: enter text in text box and watch the greeting change.

it('should check ng-bind-html', function() { expect(using('.doc-example-live').binding('myHTML')). toBe('I am an HTMLstring with links! and other stuff'); });
*/ var ngBindHtmlDirective = ['$sce', '$parse', function($sce, $parse) { return function(scope, element, attr) { element.addClass('ng-binding').data('$binding', attr.ngBindHtml); var parsed = $parse(attr.ngBindHtml); function getStringValue() { return (parsed(scope) || '').toString(); } scope.$watch(getStringValue, function ngBindHtmlWatchAction(value) { element.html($sce.getTrustedHtml(parsed(scope)) || ''); }); }; }]; function classDirective(name, selector) { name = 'ngClass' + name; return function() { return { restrict: 'AC', link: function(scope, element, attr) { var oldVal; scope.$watch(attr[name], ngClassWatchAction, true); attr.$observe('class', function(value) { ngClassWatchAction(scope.$eval(attr[name])); }); if (name !== 'ngClass') { scope.$watch('$index', function($index, old$index) { // jshint bitwise: false var mod = $index & 1; if (mod !== old$index & 1) { if (mod === selector) { addClass(scope.$eval(attr[name])); } else { removeClass(scope.$eval(attr[name])); } } }); } function ngClassWatchAction(newVal) { if (selector === true || scope.$index % 2 === selector) { if (oldVal && !equals(newVal,oldVal)) { removeClass(oldVal); } addClass(newVal); } oldVal = copy(newVal); } function removeClass(classVal) { attr.$removeClass(flattenClasses(classVal)); } function addClass(classVal) { attr.$addClass(flattenClasses(classVal)); } function flattenClasses(classVal) { if(isArray(classVal)) { return classVal.join(' '); } else if (isObject(classVal)) { var classes = [], i = 0; forEach(classVal, function(v, k) { if (v) { classes.push(k); } }); return classes.join(' '); } return classVal; } } }; }; } /** * @ngdoc directive * @name ng.directive:ngClass * @restrict AC * * @description * The `ngClass` directive allows you to dynamically set CSS classes on an HTML element by databinding * an expression that represents all classes to be added. * * The directive won't add duplicate classes if a particular class was already set. * * When the expression changes, the previously added classes are removed and only then the * new classes are added. * * @animations * add - happens just before the class is applied to the element * remove - happens just before the class is removed from the element * * @element ANY * @param {expression} ngClass {@link guide/expression Expression} to eval. The result * of the evaluation can be a string representing space delimited class * names, an array, or a map of class names to boolean values. In the case of a map, the * names of the properties whose values are truthy will be added as css classes to the * element. * * @example Example that demonstrates basic bindings via ngClass directive.

Map Syntax Example

bold strike red

Using String Syntax


Using Array Syntax




.strike { text-decoration: line-through; } .bold { font-weight: bold; } .red { color: red; } it('should let you toggle the class', function() { expect(element('.doc-example-live p:first').prop('className')).not().toMatch(/bold/); expect(element('.doc-example-live p:first').prop('className')).not().toMatch(/red/); input('bold').check(); expect(element('.doc-example-live p:first').prop('className')).toMatch(/bold/); input('red').check(); expect(element('.doc-example-live p:first').prop('className')).toMatch(/red/); }); it('should let you toggle string example', function() { expect(element('.doc-example-live p:nth-of-type(2)').prop('className')).toBe(''); input('style').enter('red'); expect(element('.doc-example-live p:nth-of-type(2)').prop('className')).toBe('red'); }); it('array example should have 3 classes', function() { expect(element('.doc-example-live p:last').prop('className')).toBe(''); input('style1').enter('bold'); input('style2').enter('strike'); input('style3').enter('red'); expect(element('.doc-example-live p:last').prop('className')).toBe('bold strike red'); });
## Animations The example below demonstrates how to perform animations using ngClass.
Sample Text
.base-class { -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; } .base-class.my-class { color: red; font-size:3em; } it('should check ng-class', function() { expect(element('.doc-example-live span').prop('className')).not(). toMatch(/my-class/); using('.doc-example-live').element(':button:first').click(); expect(element('.doc-example-live span').prop('className')). toMatch(/my-class/); using('.doc-example-live').element(':button:last').click(); expect(element('.doc-example-live span').prop('className')).not(). toMatch(/my-class/); });
## ngClass and pre-existing CSS3 Transitions/Animations The ngClass directive still supports CSS3 Transitions/Animations even if they do not follow the ngAnimate CSS naming structure. Upon animation ngAnimate will apply supplementary CSS classes to track the start and end of an animation, but this will not hinder any pre-existing CSS transitions already on the element. To get an idea of what happens during a class-based animation, be sure to view the step by step details of {@link ngAnimate.$animate#methods_addclass $animate.addClass} and {@link ngAnimate.$animate#methods_removeclass $animate.removeClass}. */ var ngClassDirective = classDirective('', true); /** * @ngdoc directive * @name ng.directive:ngClassOdd * @restrict AC * * @description * The `ngClassOdd` and `ngClassEven` directives work exactly as * {@link ng.directive:ngClass ngClass}, except they work in * conjunction with `ngRepeat` and take effect only on odd (even) rows. * * This directive can be applied only within the scope of an * {@link ng.directive:ngRepeat ngRepeat}. * * @element ANY * @param {expression} ngClassOdd {@link guide/expression Expression} to eval. The result * of the evaluation can be a string representing space delimited class names or an array. * * @example
  1. {{name}}
.odd { color: red; } .even { color: blue; } it('should check ng-class-odd and ng-class-even', function() { expect(element('.doc-example-live li:first span').prop('className')). toMatch(/odd/); expect(element('.doc-example-live li:last span').prop('className')). toMatch(/even/); });
*/ var ngClassOddDirective = classDirective('Odd', 0); /** * @ngdoc directive * @name ng.directive:ngClassEven * @restrict AC * * @description * The `ngClassOdd` and `ngClassEven` directives work exactly as * {@link ng.directive:ngClass ngClass}, except they work in * conjunction with `ngRepeat` and take effect only on odd (even) rows. * * This directive can be applied only within the scope of an * {@link ng.directive:ngRepeat ngRepeat}. * * @element ANY * @param {expression} ngClassEven {@link guide/expression Expression} to eval. The * result of the evaluation can be a string representing space delimited class names or an array. * * @example
  1. {{name}}      
.odd { color: red; } .even { color: blue; } it('should check ng-class-odd and ng-class-even', function() { expect(element('.doc-example-live li:first span').prop('className')). toMatch(/odd/); expect(element('.doc-example-live li:last span').prop('className')). toMatch(/even/); });
*/ var ngClassEvenDirective = classDirective('Even', 1); /** * @ngdoc directive * @name ng.directive:ngCloak * @restrict AC * * @description * The `ngCloak` directive is used to prevent the Angular html template from being briefly * displayed by the browser in its raw (uncompiled) form while your application is loading. Use this * directive to avoid the undesirable flicker effect caused by the html template display. * * The directive can be applied to the `` element, but the preferred usage is to apply * multiple `ngCloak` directives to small portions of the page to permit progressive rendering * of the browser view. * * `ngCloak` works in cooperation with the following css rule embedded within `angular.js` and * `angular.min.js`. * For CSP mode please add `angular-csp.css` to your html file (see {@link ng.directive:ngCsp ngCsp}). * *
 * [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
 *   display: none !important;
 * }
 * 
* * When this css rule is loaded by the browser, all html elements (including their children) that * are tagged with the `ngCloak` directive are hidden. When Angular encounters this directive * during the compilation of the template it deletes the `ngCloak` element attribute, making * the compiled element visible. * * For the best result, the `angular.js` script must be loaded in the head section of the html * document; alternatively, the css rule above must be included in the external stylesheet of the * application. * * Legacy browsers, like IE7, do not provide attribute selector support (added in CSS 2.1) so they * cannot match the `[ng\:cloak]` selector. To work around this limitation, you must add the css * class `ngCloak` in addition to the `ngCloak` directive as shown in the example below. * * @element ANY * * @example
{{ 'hello' }}
{{ 'hello IE7' }}
it('should remove the template directive and css class', function() { expect(element('.doc-example-live #template1').attr('ng-cloak')). not().toBeDefined(); expect(element('.doc-example-live #template2').attr('ng-cloak')). not().toBeDefined(); });
* */ var ngCloakDirective = ngDirective({ compile: function(element, attr) { attr.$set('ngCloak', undefined); element.removeClass('ng-cloak'); } }); /** * @ngdoc directive * @name ng.directive:ngController * * @description * The `ngController` directive attaches a controller class to the view. This is a key aspect of how angular * supports the principles behind the Model-View-Controller design pattern. * * MVC components in angular: * * * Model — The Model is scope properties; scopes are attached to the DOM where scope properties * are accessed through bindings. * * View — The template (HTML with data bindings) that is rendered into the View. * * Controller — The `ngController` directive specifies a Controller class; the class contains business * logic behind the application to decorate the scope with functions and values * * Note that you can also attach controllers to the DOM by declaring it in a route definition * via the {@link ngRoute.$route $route} service. A common mistake is to declare the controller * again using `ng-controller` in the template itself. This will cause the controller to be attached * and executed twice. * * @element ANY * @scope * @param {expression} ngController Name of a globally accessible constructor function or an * {@link guide/expression expression} that on the current scope evaluates to a * constructor function. The controller instance can be published into a scope property * by specifying `as propertyName`. * * @example * Here is a simple form for editing user contact information. Adding, removing, clearing, and * greeting are methods declared on the controller (see source tab). These methods can * easily be called from the angular markup. Notice that the scope becomes the `this` for the * controller's instance. This allows for easy access to the view data from the controller. Also * notice that any changes to the data are automatically reflected in the View without the need * for a manual update. The example is shown in two different declaration styles you may use * according to preference.
Name: [ greet ]
Contact:
it('should check controller as', function() { expect(element('#ctrl-as-exmpl>:input').val()).toBe('John Smith'); expect(element('#ctrl-as-exmpl li:nth-child(1) input').val()) .toBe('408 555 1212'); expect(element('#ctrl-as-exmpl li:nth-child(2) input').val()) .toBe('john.smith@example.org'); element('#ctrl-as-exmpl li:first a:contains("clear")').click(); expect(element('#ctrl-as-exmpl li:first input').val()).toBe(''); element('#ctrl-as-exmpl li:last a:contains("add")').click(); expect(element('#ctrl-as-exmpl li:nth-child(3) input').val()) .toBe('yourname@example.org'); });
Name: [ greet ]
Contact:
it('should check controller', function() { expect(element('#ctrl-exmpl>:input').val()).toBe('John Smith'); expect(element('#ctrl-exmpl li:nth-child(1) input').val()) .toBe('408 555 1212'); expect(element('#ctrl-exmpl li:nth-child(2) input').val()) .toBe('john.smith@example.org'); element('#ctrl-exmpl li:first a:contains("clear")').click(); expect(element('#ctrl-exmpl li:first input').val()).toBe(''); element('#ctrl-exmpl li:last a:contains("add")').click(); expect(element('#ctrl-exmpl li:nth-child(3) input').val()) .toBe('yourname@example.org'); });
*/ var ngControllerDirective = [function() { return { scope: true, controller: '@' }; }]; /** * @ngdoc directive * @name ng.directive:ngCsp * * @element html * @description * Enables [CSP (Content Security Policy)](https://developer.mozilla.org/en/Security/CSP) support. * * This is necessary when developing things like Google Chrome Extensions. * * CSP forbids apps to use `eval` or `Function(string)` generated functions (among other things). * For us to be compatible, we just need to implement the "getterFn" in $parse without violating * any of these restrictions. * * AngularJS uses `Function(string)` generated functions as a speed optimization. Applying the `ngCsp` * directive will cause Angular to use CSP compatibility mode. When this mode is on AngularJS will * evaluate all expressions up to 30% slower than in non-CSP mode, but no security violations will * be raised. * * CSP forbids JavaScript to inline stylesheet rules. In non CSP mode Angular automatically * includes some CSS rules (e.g. {@link ng.directive:ngCloak ngCloak}). * To make those directives work in CSP mode, include the `angular-csp.css` manually. * * In order to use this feature put the `ngCsp` directive on the root element of the application. * * *Note: This directive is only available in the `ng-csp` and `data-ng-csp` attribute form.* * * @example * This example shows how to apply the `ngCsp` directive to the `html` tag.
     
     
     ...
     ...
     
   
*/ // ngCsp is not implemented as a proper directive any more, because we need it be processed while we bootstrap // the system (before $parse is instantiated), for this reason we just have a csp() fn that looks for ng-csp attribute // anywhere in the current doc /** * @ngdoc directive * @name ng.directive:ngClick * * @description * The ngClick directive allows you to specify custom behavior when * an element is clicked. * * @element ANY * @param {expression} ngClick {@link guide/expression Expression} to evaluate upon * click. (Event object is available as `$event`) * * @example count: {{count}} it('should check ng-click', function() { expect(binding('count')).toBe('0'); element('.doc-example-live :button').click(); expect(binding('count')).toBe('1'); }); */ /* * A directive that allows creation of custom onclick handlers that are defined as angular * expressions and are compiled and executed within the current scope. * * Events that are handled via these handler are always configured not to propagate further. */ var ngEventDirectives = {}; forEach( 'click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste'.split(' '), function(name) { var directiveName = directiveNormalize('ng-' + name); ngEventDirectives[directiveName] = ['$parse', function($parse) { return { compile: function($element, attr) { var fn = $parse(attr[directiveName]); return function(scope, element, attr) { element.on(lowercase(name), function(event) { scope.$apply(function() { fn(scope, {$event:event}); }); }); }; } }; }]; } ); /** * @ngdoc directive * @name ng.directive:ngDblclick * * @description * The `ngDblclick` directive allows you to specify custom behavior on a dblclick event. * * @element ANY * @param {expression} ngDblclick {@link guide/expression Expression} to evaluate upon * a dblclick. (The Event object is available as `$event`) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngMousedown * * @description * The ngMousedown directive allows you to specify custom behavior on mousedown event. * * @element ANY * @param {expression} ngMousedown {@link guide/expression Expression} to evaluate upon * mousedown. (Event object is available as `$event`) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngMouseup * * @description * Specify custom behavior on mouseup event. * * @element ANY * @param {expression} ngMouseup {@link guide/expression Expression} to evaluate upon * mouseup. (Event object is available as `$event`) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngMouseover * * @description * Specify custom behavior on mouseover event. * * @element ANY * @param {expression} ngMouseover {@link guide/expression Expression} to evaluate upon * mouseover. (Event object is available as `$event`) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngMouseenter * * @description * Specify custom behavior on mouseenter event. * * @element ANY * @param {expression} ngMouseenter {@link guide/expression Expression} to evaluate upon * mouseenter. (Event object is available as `$event`) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngMouseleave * * @description * Specify custom behavior on mouseleave event. * * @element ANY * @param {expression} ngMouseleave {@link guide/expression Expression} to evaluate upon * mouseleave. (Event object is available as `$event`) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngMousemove * * @description * Specify custom behavior on mousemove event. * * @element ANY * @param {expression} ngMousemove {@link guide/expression Expression} to evaluate upon * mousemove. (Event object is available as `$event`) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngKeydown * * @description * Specify custom behavior on keydown event. * * @element ANY * @param {expression} ngKeydown {@link guide/expression Expression} to evaluate upon * keydown. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngKeyup * * @description * Specify custom behavior on keyup event. * * @element ANY * @param {expression} ngKeyup {@link guide/expression Expression} to evaluate upon * keyup. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngKeypress * * @description * Specify custom behavior on keypress event. * * @element ANY * @param {expression} ngKeypress {@link guide/expression Expression} to evaluate upon * keypress. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngSubmit * * @description * Enables binding angular expressions to onsubmit events. * * Additionally it prevents the default action (which for form means sending the request to the * server and reloading the current page) **but only if the form does not contain an `action` * attribute**. * * @element form * @param {expression} ngSubmit {@link guide/expression Expression} to eval. (Event object is available as `$event`) * * @example
Enter text and hit enter:
list={{list}}
it('should check ng-submit', function() { expect(binding('list')).toBe('[]'); element('.doc-example-live #submit').click(); expect(binding('list')).toBe('["hello"]'); expect(input('text').val()).toBe(''); }); it('should ignore empty strings', function() { expect(binding('list')).toBe('[]'); element('.doc-example-live #submit').click(); element('.doc-example-live #submit').click(); expect(binding('list')).toBe('["hello"]'); });
*/ /** * @ngdoc directive * @name ng.directive:ngFocus * * @description * Specify custom behavior on focus event. * * @element window, input, select, textarea, a * @param {expression} ngFocus {@link guide/expression Expression} to evaluate upon * focus. (Event object is available as `$event`) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngBlur * * @description * Specify custom behavior on blur event. * * @element window, input, select, textarea, a * @param {expression} ngBlur {@link guide/expression Expression} to evaluate upon * blur. (Event object is available as `$event`) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngCopy * * @description * Specify custom behavior on copy event. * * @element window, input, select, textarea, a * @param {expression} ngCopy {@link guide/expression Expression} to evaluate upon * copy. (Event object is available as `$event`) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngCut * * @description * Specify custom behavior on cut event. * * @element window, input, select, textarea, a * @param {expression} ngCut {@link guide/expression Expression} to evaluate upon * cut. (Event object is available as `$event`) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngPaste * * @description * Specify custom behavior on paste event. * * @element window, input, select, textarea, a * @param {expression} ngPaste {@link guide/expression Expression} to evaluate upon * paste. (Event object is available as `$event`) * * @example * See {@link ng.directive:ngClick ngClick} */ /** * @ngdoc directive * @name ng.directive:ngIf * @restrict A * * @description * The `ngIf` directive removes or recreates a portion of the DOM tree based on an * {expression}. If the expression assigned to `ngIf` evaluates to a false * value then the element is removed from the DOM, otherwise a clone of the * element is reinserted into the DOM. * * `ngIf` differs from `ngShow` and `ngHide` in that `ngIf` completely removes and recreates the * element in the DOM rather than changing its visibility via the `display` css property. A common * case when this difference is significant is when using css selectors that rely on an element's * position within the DOM, such as the `:first-child` or `:last-child` pseudo-classes. * * Note that when an element is removed using `ngIf` its scope is destroyed and a new scope * is created when the element is restored. The scope created within `ngIf` inherits from * its parent scope using * {@link https://github.com/angular/angular.js/wiki/The-Nuances-of-Scope-Prototypal-Inheritance prototypal inheritance}. * An important implication of this is if `ngModel` is used within `ngIf` to bind to * a javascript primitive defined in the parent scope. In this case any modifications made to the * variable within the child scope will override (hide) the value in the parent scope. * * Also, `ngIf` recreates elements using their compiled state. An example of this behavior * is if an element's class attribute is directly modified after it's compiled, using something like * jQuery's `.addClass()` method, and the element is later removed. When `ngIf` recreates the element * the added class will be lost because the original compiled state is used to regenerate the element. * * Additionally, you can provide animations via the `ngAnimate` module to animate the `enter` * and `leave` effects. * * @animations * enter - happens just after the ngIf contents change and a new DOM element is created and injected into the ngIf container * leave - happens just before the ngIf contents are removed from the DOM * * @element ANY * @scope * @priority 600 * @param {expression} ngIf If the {@link guide/expression expression} is falsy then * the element is removed from the DOM tree. If it is truthy a copy of the compiled * element is added to the DOM tree. * * @example Click me:
Show when checked: I'm removed when the checkbox is unchecked.
.animate-if { background:white; border:1px solid black; padding:10px; } /* The transition styles can also be placed on the CSS base class above */ .animate-if.ng-enter, .animate-if.ng-leave { -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; } .animate-if.ng-enter, .animate-if.ng-leave.ng-leave-active { opacity:0; } .animate-if.ng-leave, .animate-if.ng-enter.ng-enter-active { opacity:1; }
*/ var ngIfDirective = ['$animate', function($animate) { return { transclude: 'element', priority: 600, terminal: true, restrict: 'A', $$tlb: true, compile: function (element, attr, transclude) { return function ($scope, $element, $attr) { var block, childScope; $scope.$watch($attr.ngIf, function ngIfWatchAction(value) { if (toBoolean(value)) { childScope = $scope.$new(); transclude(childScope, function (clone) { block = { startNode: clone[0], endNode: clone[clone.length++] = document.createComment(' end ngIf: ' + $attr.ngIf + ' ') }; $animate.enter(clone, $element.parent(), $element); }); } else { if (childScope) { childScope.$destroy(); childScope = null; } if (block) { $animate.leave(getBlockElements(block)); block = null; } } }); }; } }; }]; /** * @ngdoc directive * @name ng.directive:ngInclude * @restrict ECA * * @description * Fetches, compiles and includes an external HTML fragment. * * By default, the template URL is restricted to the same domain and protocol as the * application document. This is done by calling {@link ng.$sce#methods_getTrustedResourceUrl * $sce.getTrustedResourceUrl} on it. To load templates from other domains or protocols * you may either {@link ng.$sceDelegateProvider#methods_resourceUrlWhitelist whitelist them} or * {@link ng.$sce#methods_trustAsResourceUrl wrap them} as trusted values. Refer to Angular's {@link * ng.$sce Strict Contextual Escaping}. * * In addition, the browser's * {@link https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_XMLHttpRequest * Same Origin Policy} and {@link http://www.w3.org/TR/cors/ Cross-Origin Resource Sharing * (CORS)} policy may further restrict whether the template is successfully loaded. * For example, `ngInclude` won't work for cross-domain requests on all browsers and for `file://` * access on some browsers. * * @animations * enter - animation is used to bring new content into the browser. * leave - animation is used to animate existing content away. * * The enter and leave animation occur concurrently. * * @scope * @priority 400 * * @param {string} ngInclude|src angular expression evaluating to URL. If the source is a string constant, * make sure you wrap it in quotes, e.g. `src="'myPartialTemplate.html'"`. * @param {string=} onload Expression to evaluate when a new partial is loaded. * * @param {string=} autoscroll Whether `ngInclude` should call {@link ng.$anchorScroll * $anchorScroll} to scroll the viewport after the content is loaded. * * - If the attribute is not set, disable scrolling. * - If the attribute is set without value, enable scrolling. * - Otherwise enable scrolling only if the expression evaluates to truthy value. * * @example
url of the template: {{template.url}}
function Ctrl($scope) { $scope.templates = [ { name: 'template1.html', url: 'template1.html'} , { name: 'template2.html', url: 'template2.html'} ]; $scope.template = $scope.templates[0]; } Content of template1.html Content of template2.html .slide-animate-container { position:relative; background:white; border:1px solid black; height:40px; overflow:hidden; } .slide-animate { padding:10px; } .slide-animate.ng-enter, .slide-animate.ng-leave { -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; position:absolute; top:0; left:0; right:0; bottom:0; display:block; padding:10px; } .slide-animate.ng-enter { top:-50px; } .slide-animate.ng-enter.ng-enter-active { top:0; } .slide-animate.ng-leave { top:0; } .slide-animate.ng-leave.ng-leave-active { top:50px; } it('should load template1.html', function() { expect(element('.doc-example-live [ng-include]').text()). toMatch(/Content of template1.html/); }); it('should load template2.html', function() { select('template').option('1'); expect(element('.doc-example-live [ng-include]').text()). toMatch(/Content of template2.html/); }); it('should change to blank', function() { select('template').option(''); expect(element('.doc-example-live [ng-include]')).toBe(undefined); });
*/ /** * @ngdoc event * @name ng.directive:ngInclude#$includeContentRequested * @eventOf ng.directive:ngInclude * @eventType emit on the scope ngInclude was declared in * @description * Emitted every time the ngInclude content is requested. */ /** * @ngdoc event * @name ng.directive:ngInclude#$includeContentLoaded * @eventOf ng.directive:ngInclude * @eventType emit on the current ngInclude scope * @description * Emitted every time the ngInclude content is reloaded. */ var ngIncludeDirective = ['$http', '$templateCache', '$anchorScroll', '$compile', '$animate', '$sce', function($http, $templateCache, $anchorScroll, $compile, $animate, $sce) { return { restrict: 'ECA', priority: 400, terminal: true, transclude: 'element', compile: function(element, attr, transclusion) { var srcExp = attr.ngInclude || attr.src, onloadExp = attr.onload || '', autoScrollExp = attr.autoscroll; return function(scope, $element) { var changeCounter = 0, currentScope, currentElement; var cleanupLastIncludeContent = function() { if (currentScope) { currentScope.$destroy(); currentScope = null; } if(currentElement) { $animate.leave(currentElement); currentElement = null; } }; scope.$watch($sce.parseAsResourceUrl(srcExp), function ngIncludeWatchAction(src) { var afterAnimation = function() { if (isDefined(autoScrollExp) && (!autoScrollExp || scope.$eval(autoScrollExp))) { $anchorScroll(); } }; var thisChangeId = ++changeCounter; if (src) { $http.get(src, {cache: $templateCache}).success(function(response) { if (thisChangeId !== changeCounter) return; var newScope = scope.$new(); transclusion(newScope, function(clone) { cleanupLastIncludeContent(); currentScope = newScope; currentElement = clone; currentElement.html(response); $animate.enter(currentElement, null, $element, afterAnimation); $compile(currentElement.contents())(currentScope); currentScope.$emit('$includeContentLoaded'); scope.$eval(onloadExp); }); }).error(function() { if (thisChangeId === changeCounter) cleanupLastIncludeContent(); }); scope.$emit('$includeContentRequested'); } else { cleanupLastIncludeContent(); } }); }; } }; }]; /** * @ngdoc directive * @name ng.directive:ngInit * @restrict AC * * @description * The `ngInit` directive allows you to evaluate an expression in the * current scope. * *
* The only appropriate use of `ngInit` for aliasing special properties of * {@link api/ng.directive:ngRepeat `ngRepeat`}, as seen in the demo below. Besides this case, you * should use {@link guide/controller controllers} rather than `ngInit` * to initialize values on a scope. *
* * @element ANY * @param {expression} ngInit {@link guide/expression Expression} to eval. * * @example
list[ {{outerIndex}} ][ {{innerIndex}} ] = {{value}};
it('should alias index positions', function() { expect(element('.example-init').text()) .toBe('list[ 0 ][ 0 ] = a;' + 'list[ 0 ][ 1 ] = b;' + 'list[ 1 ][ 0 ] = c;' + 'list[ 1 ][ 1 ] = d;'); });
*/ var ngInitDirective = ngDirective({ compile: function() { return { pre: function(scope, element, attrs) { scope.$eval(attrs.ngInit); } }; } }); /** * @ngdoc directive * @name ng.directive:ngNonBindable * @restrict AC * @priority 1000 * * @description * The `ngNonBindable` directive tells Angular not to compile or bind the contents of the current * DOM element. This is useful if the element contains what appears to be Angular directives and * bindings but which should be ignored by Angular. This could be the case if you have a site that * displays snippets of code, for instance. * * @element ANY * * @example * In this example there are two locations where a simple interpolation binding (`{{}}`) is present, * but the one wrapped in `ngNonBindable` is left alone. * * @example
Normal: {{1 + 2}}
Ignored: {{1 + 2}}
it('should check ng-non-bindable', function() { expect(using('.doc-example-live').binding('1 + 2')).toBe('3'); expect(using('.doc-example-live').element('div:last').text()). toMatch(/1 \+ 2/); });
*/ var ngNonBindableDirective = ngDirective({ terminal: true, priority: 1000 }); /** * @ngdoc directive * @name ng.directive:ngPluralize * @restrict EA * * @description * # Overview * `ngPluralize` is a directive that displays messages according to en-US localization rules. * These rules are bundled with angular.js, but can be overridden * (see {@link guide/i18n Angular i18n} dev guide). You configure ngPluralize directive * by specifying the mappings between * {@link http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html * plural categories} and the strings to be displayed. * * # Plural categories and explicit number rules * There are two * {@link http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html * plural categories} in Angular's default en-US locale: "one" and "other". * * While a plural category may match many numbers (for example, in en-US locale, "other" can match * any number that is not 1), an explicit number rule can only match one number. For example, the * explicit number rule for "3" matches the number 3. There are examples of plural categories * and explicit number rules throughout the rest of this documentation. * * # Configuring ngPluralize * You configure ngPluralize by providing 2 attributes: `count` and `when`. * You can also provide an optional attribute, `offset`. * * The value of the `count` attribute can be either a string or an {@link guide/expression * Angular expression}; these are evaluated on the current scope for its bound value. * * The `when` attribute specifies the mappings between plural categories and the actual * string to be displayed. The value of the attribute should be a JSON object. * * The following example shows how to configure ngPluralize: * *
 * 
 * 
 *
* * In the example, `"0: Nobody is viewing."` is an explicit number rule. If you did not * specify this rule, 0 would be matched to the "other" category and "0 people are viewing" * would be shown instead of "Nobody is viewing". You can specify an explicit number rule for * other numbers, for example 12, so that instead of showing "12 people are viewing", you can * show "a dozen people are viewing". * * You can use a set of closed braces(`{}`) as a placeholder for the number that you want substituted * into pluralized strings. In the previous example, Angular will replace `{}` with * `{{personCount}}`. The closed braces `{}` is a placeholder * for {{numberExpression}}. * * # Configuring ngPluralize with offset * The `offset` attribute allows further customization of pluralized text, which can result in * a better user experience. For example, instead of the message "4 people are viewing this document", * you might display "John, Kate and 2 others are viewing this document". * The offset attribute allows you to offset a number by any desired value. * Let's take a look at an example: * *
 * 
 * 
 * 
* * Notice that we are still using two plural categories(one, other), but we added * three explicit number rules 0, 1 and 2. * When one person, perhaps John, views the document, "John is viewing" will be shown. * When three people view the document, no explicit number rule is found, so * an offset of 2 is taken off 3, and Angular uses 1 to decide the plural category. * In this case, plural category 'one' is matched and "John, Marry and one other person are viewing" * is shown. * * Note that when you specify offsets, you must provide explicit number rules for * numbers from 0 up to and including the offset. If you use an offset of 3, for example, * you must provide explicit number rules for 0, 1, 2 and 3. You must also provide plural strings for * plural categories "one" and "other". * * @param {string|expression} count The variable to be bounded to. * @param {string} when The mapping between plural category to its corresponding strings. * @param {number=} offset Offset to deduct from the total number. * * @example
Person 1:
Person 2:
Number of People:
Without Offset:
With Offset(2):
it('should show correct pluralized string', function() { expect(element('.doc-example-live ng-pluralize:first').text()). toBe('1 person is viewing.'); expect(element('.doc-example-live ng-pluralize:last').text()). toBe('Igor is viewing.'); using('.doc-example-live').input('personCount').enter('0'); expect(element('.doc-example-live ng-pluralize:first').text()). toBe('Nobody is viewing.'); expect(element('.doc-example-live ng-pluralize:last').text()). toBe('Nobody is viewing.'); using('.doc-example-live').input('personCount').enter('2'); expect(element('.doc-example-live ng-pluralize:first').text()). toBe('2 people are viewing.'); expect(element('.doc-example-live ng-pluralize:last').text()). toBe('Igor and Misko are viewing.'); using('.doc-example-live').input('personCount').enter('3'); expect(element('.doc-example-live ng-pluralize:first').text()). toBe('3 people are viewing.'); expect(element('.doc-example-live ng-pluralize:last').text()). toBe('Igor, Misko and one other person are viewing.'); using('.doc-example-live').input('personCount').enter('4'); expect(element('.doc-example-live ng-pluralize:first').text()). toBe('4 people are viewing.'); expect(element('.doc-example-live ng-pluralize:last').text()). toBe('Igor, Misko and 2 other people are viewing.'); }); it('should show data-binded names', function() { using('.doc-example-live').input('personCount').enter('4'); expect(element('.doc-example-live ng-pluralize:last').text()). toBe('Igor, Misko and 2 other people are viewing.'); using('.doc-example-live').input('person1').enter('Di'); using('.doc-example-live').input('person2').enter('Vojta'); expect(element('.doc-example-live ng-pluralize:last').text()). toBe('Di, Vojta and 2 other people are viewing.'); });
*/ var ngPluralizeDirective = ['$locale', '$interpolate', function($locale, $interpolate) { var BRACE = /{}/g; return { restrict: 'EA', link: function(scope, element, attr) { var numberExp = attr.count, whenExp = attr.$attr.when && element.attr(attr.$attr.when), // we have {{}} in attrs offset = attr.offset || 0, whens = scope.$eval(whenExp) || {}, whensExpFns = {}, startSymbol = $interpolate.startSymbol(), endSymbol = $interpolate.endSymbol(), isWhen = /^when(Minus)?(.+)$/; forEach(attr, function(expression, attributeName) { if (isWhen.test(attributeName)) { whens[lowercase(attributeName.replace('when', '').replace('Minus', '-'))] = element.attr(attr.$attr[attributeName]); } }); forEach(whens, function(expression, key) { whensExpFns[key] = $interpolate(expression.replace(BRACE, startSymbol + numberExp + '-' + offset + endSymbol)); }); scope.$watch(function ngPluralizeWatch() { var value = parseFloat(scope.$eval(numberExp)); if (!isNaN(value)) { //if explicit number rule such as 1, 2, 3... is defined, just use it. Otherwise, //check it against pluralization rules in $locale service if (!(value in whens)) value = $locale.pluralCat(value - offset); return whensExpFns[value](scope, element, true); } else { return ''; } }, function ngPluralizeWatchAction(newVal) { element.text(newVal); }); } }; }]; /** * @ngdoc directive * @name ng.directive:ngRepeat * * @description * The `ngRepeat` directive instantiates a template once per item from a collection. Each template * instance gets its own scope, where the given loop variable is set to the current collection item, * and `$index` is set to the item index or key. * * Special properties are exposed on the local scope of each template instance, including: * * | Variable | Type | Details | * |-----------|-----------------|-----------------------------------------------------------------------------| * | `$index` | {@type number} | iterator offset of the repeated element (0..length-1) | * | `$first` | {@type boolean} | true if the repeated element is first in the iterator. | * | `$middle` | {@type boolean} | true if the repeated element is between the first and last in the iterator. | * | `$last` | {@type boolean} | true if the repeated element is last in the iterator. | * | `$even` | {@type boolean} | true if the iterator position `$index` is even (otherwise false). | * | `$odd` | {@type boolean} | true if the iterator position `$index` is odd (otherwise false). | * * * # Special repeat start and end points * To repeat a series of elements instead of just one parent element, ngRepeat (as well as other ng directives) supports extending * the range of the repeater by defining explicit start and end points by using **ng-repeat-start** and **ng-repeat-end** respectively. * The **ng-repeat-start** directive works the same as **ng-repeat**, but will repeat all the HTML code (including the tag it's defined on) * up to and including the ending HTML tag where **ng-repeat-end** is placed. * * The example below makes use of this feature: *
 *   
* Header {{ item }} *
*
* Body {{ item }} *
*
* Footer {{ item }} *
*
* * And with an input of {@type ['A','B']} for the items variable in the example above, the output will evaluate to: *
 *   
* Header A *
*
* Body A *
*
* Footer A *
*
* Header B *
*
* Body B *
*
* Footer B *
*
* * The custom start and end points for ngRepeat also support all other HTML directive syntax flavors provided in AngularJS (such * as **data-ng-repeat-start**, **x-ng-repeat-start** and **ng:repeat-start**). * * @animations * enter - when a new item is added to the list or when an item is revealed after a filter * leave - when an item is removed from the list or when an item is filtered out * move - when an adjacent item is filtered out causing a reorder or when the item contents are reordered * * @element ANY * @scope * @priority 1000 * @param {repeat_expression} ngRepeat The expression indicating how to enumerate a collection. These * formats are currently supported: * * * `variable in expression` – where variable is the user defined loop variable and `expression` * is a scope expression giving the collection to enumerate. * * For example: `album in artist.albums`. * * * `(key, value) in expression` – where `key` and `value` can be any user defined identifiers, * and `expression` is the scope expression giving the collection to enumerate. * * For example: `(name, age) in {'adam':10, 'amalie':12}`. * * * `variable in expression track by tracking_expression` – You can also provide an optional tracking function * which can be used to associate the objects in the collection with the DOM elements. If no tracking function * is specified the ng-repeat associates elements by identity in the collection. It is an error to have * more than one tracking function to resolve to the same key. (This would mean that two distinct objects are * mapped to the same DOM element, which is not possible.) Filters should be applied to the expression, * before specifying a tracking expression. * * For example: `item in items` is equivalent to `item in items track by $id(item)'. This implies that the DOM elements * will be associated by item identity in the array. * * For example: `item in items track by $id(item)`. A built in `$id()` function can be used to assign a unique * `$$hashKey` property to each item in the array. This property is then used as a key to associated DOM elements * with the corresponding item in the array by identity. Moving the same object in array would move the DOM * element in the same way ian the DOM. * * For example: `item in items track by item.id` is a typical pattern when the items come from the database. In this * case the object identity does not matter. Two objects are considered equivalent as long as their `id` * property is same. * * For example: `item in items | filter:searchText track by item.id` is a pattern that might be used to apply a filter * to items in conjunction with a tracking expression. * * @example * This example initializes the scope to a list of names and * then uses `ngRepeat` to display every person:
I have {{friends.length}} friends. They are:
  • [{{$index + 1}}] {{friend.name}} who is {{friend.age}} years old.
.example-animate-container { background:white; border:1px solid black; list-style:none; margin:0; padding:0 10px; } .animate-repeat { line-height:40px; list-style:none; box-sizing:border-box; } .animate-repeat.ng-move, .animate-repeat.ng-enter, .animate-repeat.ng-leave { -webkit-transition:all linear 0.5s; transition:all linear 0.5s; } .animate-repeat.ng-leave.ng-leave-active, .animate-repeat.ng-move, .animate-repeat.ng-enter { opacity:0; max-height:0; } .animate-repeat.ng-leave, .animate-repeat.ng-move.ng-move-active, .animate-repeat.ng-enter.ng-enter-active { opacity:1; max-height:40px; } it('should render initial data set', function() { var r = using('.doc-example-live').repeater('ul li'); expect(r.count()).toBe(10); expect(r.row(0)).toEqual(["1","John","25"]); expect(r.row(1)).toEqual(["2","Jessie","30"]); expect(r.row(9)).toEqual(["10","Samantha","60"]); expect(binding('friends.length')).toBe("10"); }); it('should update repeater when filter predicate changes', function() { var r = using('.doc-example-live').repeater('ul li'); expect(r.count()).toBe(10); input('q').enter('ma'); expect(r.count()).toBe(2); expect(r.row(0)).toEqual(["1","Mary","28"]); expect(r.row(1)).toEqual(["2","Samantha","60"]); });
*/ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) { var NG_REMOVED = '$$NG_REMOVED'; var ngRepeatMinErr = minErr('ngRepeat'); return { transclude: 'element', priority: 1000, terminal: true, $$tlb: true, compile: function(element, attr, linker) { return function($scope, $element, $attr){ var expression = $attr.ngRepeat; var match = expression.match(/^\s*(.+)\s+in\s+(.*?)\s*(\s+track\s+by\s+(.+)\s*)?$/), trackByExp, trackByExpGetter, trackByIdExpFn, trackByIdArrayFn, trackByIdObjFn, lhs, rhs, valueIdentifier, keyIdentifier, hashFnLocals = {$id: hashKey}; if (!match) { throw ngRepeatMinErr('iexp', "Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.", expression); } lhs = match[1]; rhs = match[2]; trackByExp = match[4]; if (trackByExp) { trackByExpGetter = $parse(trackByExp); trackByIdExpFn = function(key, value, index) { // assign key, value, and $index to the locals so that they can be used in hash functions if (keyIdentifier) hashFnLocals[keyIdentifier] = key; hashFnLocals[valueIdentifier] = value; hashFnLocals.$index = index; return trackByExpGetter($scope, hashFnLocals); }; } else { trackByIdArrayFn = function(key, value) { return hashKey(value); }; trackByIdObjFn = function(key) { return key; }; } match = lhs.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/); if (!match) { throw ngRepeatMinErr('iidexp', "'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.", lhs); } valueIdentifier = match[3] || match[1]; keyIdentifier = match[2]; // Store a list of elements from previous run. This is a hash where key is the item from the // iterator, and the value is objects with following properties. // - scope: bound scope // - element: previous element. // - index: position var lastBlockMap = {}; //watch props $scope.$watchCollection(rhs, function ngRepeatAction(collection){ var index, length, previousNode = $element[0], // current position of the node nextNode, // Same as lastBlockMap but it has the current state. It will become the // lastBlockMap on the next iteration. nextBlockMap = {}, arrayLength, childScope, key, value, // key/value of iteration trackById, trackByIdFn, collectionKeys, block, // last object information {scope, element, id} nextBlockOrder = [], elementsToRemove; if (isArrayLike(collection)) { collectionKeys = collection; trackByIdFn = trackByIdExpFn || trackByIdArrayFn; } else { trackByIdFn = trackByIdExpFn || trackByIdObjFn; // if object, extract keys, sort them and use to determine order of iteration over obj props collectionKeys = []; for (key in collection) { if (collection.hasOwnProperty(key) && key.charAt(0) != '$') { collectionKeys.push(key); } } collectionKeys.sort(); } arrayLength = collectionKeys.length; // locate existing items length = nextBlockOrder.length = collectionKeys.length; for(index = 0; index < length; index++) { key = (collection === collectionKeys) ? index : collectionKeys[index]; value = collection[key]; trackById = trackByIdFn(key, value, index); assertNotHasOwnProperty(trackById, '`track by` id'); if(lastBlockMap.hasOwnProperty(trackById)) { block = lastBlockMap[trackById]; delete lastBlockMap[trackById]; nextBlockMap[trackById] = block; nextBlockOrder[index] = block; } else if (nextBlockMap.hasOwnProperty(trackById)) { // restore lastBlockMap forEach(nextBlockOrder, function(block) { if (block && block.startNode) lastBlockMap[block.id] = block; }); // This is a duplicate and we need to throw an error throw ngRepeatMinErr('dupes', "Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}", expression, trackById); } else { // new never before seen block nextBlockOrder[index] = { id: trackById }; nextBlockMap[trackById] = false; } } // remove existing items for (key in lastBlockMap) { // lastBlockMap is our own object so we don't need to use special hasOwnPropertyFn if (lastBlockMap.hasOwnProperty(key)) { block = lastBlockMap[key]; elementsToRemove = getBlockElements(block); $animate.leave(elementsToRemove); forEach(elementsToRemove, function(element) { element[NG_REMOVED] = true; }); block.scope.$destroy(); } } // we are not using forEach for perf reasons (trying to avoid #call) for (index = 0, length = collectionKeys.length; index < length; index++) { key = (collection === collectionKeys) ? index : collectionKeys[index]; value = collection[key]; block = nextBlockOrder[index]; if (nextBlockOrder[index - 1]) previousNode = nextBlockOrder[index - 1].endNode; if (block.startNode) { // if we have already seen this object, then we need to reuse the // associated scope/element childScope = block.scope; nextNode = previousNode; do { nextNode = nextNode.nextSibling; } while(nextNode && nextNode[NG_REMOVED]); if (block.startNode != nextNode) { // existing item which got moved $animate.move(getBlockElements(block), null, jqLite(previousNode)); } previousNode = block.endNode; } else { // new item which we don't know about childScope = $scope.$new(); } childScope[valueIdentifier] = value; if (keyIdentifier) childScope[keyIdentifier] = key; childScope.$index = index; childScope.$first = (index === 0); childScope.$last = (index === (arrayLength - 1)); childScope.$middle = !(childScope.$first || childScope.$last); // jshint bitwise: false childScope.$odd = !(childScope.$even = (index&1) === 0); // jshint bitwise: true if (!block.startNode) { linker(childScope, function(clone) { clone[clone.length++] = document.createComment(' end ngRepeat: ' + expression + ' '); $animate.enter(clone, null, jqLite(previousNode)); previousNode = clone; block.scope = childScope; block.startNode = previousNode && previousNode.endNode ? previousNode.endNode : clone[0]; block.endNode = clone[clone.length - 1]; nextBlockMap[block.id] = block; }); } } lastBlockMap = nextBlockMap; }); }; } }; }]; /** * @ngdoc directive * @name ng.directive:ngShow * * @description * The `ngShow` directive shows or hides the given HTML element based on the expression * provided to the ngShow attribute. The element is shown or hidden by removing or adding * the `ng-hide` CSS class onto the element. The `.ng-hide` CSS class is predefined * in AngularJS and sets the display style to none (using an !important flag). * For CSP mode please add `angular-csp.css` to your html file (see {@link ng.directive:ngCsp ngCsp}). * *
 * 
 * 
* * *
*
* * When the ngShow expression evaluates to false then the ng-hide CSS class is added to the class attribute * on the element causing it to become hidden. When true, the ng-hide CSS class is removed * from the element causing the element not to appear hidden. * * ## Why is !important used? * * You may be wondering why !important is used for the .ng-hide CSS class. This is because the `.ng-hide` selector * can be easily overridden by heavier selectors. For example, something as simple * as changing the display style on a HTML list item would make hidden elements appear visible. * This also becomes a bigger issue when dealing with CSS frameworks. * * By using !important, the show and hide behavior will work as expected despite any clash between CSS selector * specificity (when !important isn't used with any conflicting styles). If a developer chooses to override the * styling to change how to hide an element then it is just a matter of using !important in their own CSS code. * * ### Overriding .ng-hide * * If you wish to change the hide behavior with ngShow/ngHide then this can be achieved by * restating the styles for the .ng-hide class in CSS: *
 * .ng-hide {
 *   //!annotate CSS Specificity|Not to worry, this will override the AngularJS default...
 *   display:block!important;
 *
 *   //this is just another form of hiding an element
 *   position:absolute;
 *   top:-9999px;
 *   left:-9999px;
 * }
 * 
* * Just remember to include the important flag so the CSS override will function. * * ## A note about animations with ngShow * * Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression * is true and false. This system works like the animation system present with ngClass except that * you must also include the !important flag to override the display property * so that you can perform an animation when the element is hidden during the time of the animation. * *
 * //
 * //a working example can be found at the bottom of this page
 * //
 * .my-element.ng-hide-add, .my-element.ng-hide-remove {
 *   transition:0.5s linear all;
 *   display:block!important;
 * }
 *
 * .my-element.ng-hide-add { ... }
 * .my-element.ng-hide-add.ng-hide-add-active { ... }
 * .my-element.ng-hide-remove { ... }
 * .my-element.ng-hide-remove.ng-hide-remove-active { ... }
 * 
* * @animations * addClass: .ng-hide - happens after the ngShow expression evaluates to a truthy value and the just before contents are set to visible * removeClass: .ng-hide - happens after the ngShow expression evaluates to a non truthy value and just before the contents are set to hidden * * @element ANY * @param {expression} ngShow If the {@link guide/expression expression} is truthy * then the element is shown or hidden respectively. * * @example Click me:
Show:
I show up when your checkbox is checked.
Hide:
I hide when your checkbox is checked.
.animate-show { -webkit-transition:all linear 0.5s; transition:all linear 0.5s; line-height:20px; opacity:1; padding:10px; border:1px solid black; background:white; } .animate-show.ng-hide-add, .animate-show.ng-hide-remove { display:block!important; } .animate-show.ng-hide { line-height:0; opacity:0; padding:0 10px; } .check-element { padding:10px; border:1px solid black; background:white; } it('should check ng-show / ng-hide', function() { expect(element('.doc-example-live span:first:hidden').count()).toEqual(1); expect(element('.doc-example-live span:last:visible').count()).toEqual(1); input('checked').check(); expect(element('.doc-example-live span:first:visible').count()).toEqual(1); expect(element('.doc-example-live span:last:hidden').count()).toEqual(1); });
*/ var ngShowDirective = ['$animate', function($animate) { return function(scope, element, attr) { scope.$watch(attr.ngShow, function ngShowWatchAction(value){ $animate[toBoolean(value) ? 'removeClass' : 'addClass'](element, 'ng-hide'); }); }; }]; /** * @ngdoc directive * @name ng.directive:ngHide * * @description * The `ngHide` directive shows or hides the given HTML element based on the expression * provided to the ngHide attribute. The element is shown or hidden by removing or adding * the `ng-hide` CSS class onto the element. The `.ng-hide` CSS class is predefined * in AngularJS and sets the display style to none (using an !important flag). * For CSP mode please add `angular-csp.css` to your html file (see {@link ng.directive:ngCsp ngCsp}). * *
 * 
 * 
* * *
*
* * When the ngHide expression evaluates to true then the .ng-hide CSS class is added to the class attribute * on the element causing it to become hidden. When false, the ng-hide CSS class is removed * from the element causing the element not to appear hidden. * * ## Why is !important used? * * You may be wondering why !important is used for the .ng-hide CSS class. This is because the `.ng-hide` selector * can be easily overridden by heavier selectors. For example, something as simple * as changing the display style on a HTML list item would make hidden elements appear visible. * This also becomes a bigger issue when dealing with CSS frameworks. * * By using !important, the show and hide behavior will work as expected despite any clash between CSS selector * specificity (when !important isn't used with any conflicting styles). If a developer chooses to override the * styling to change how to hide an element then it is just a matter of using !important in their own CSS code. * * ### Overriding .ng-hide * * If you wish to change the hide behavior with ngShow/ngHide then this can be achieved by * restating the styles for the .ng-hide class in CSS: *
 * .ng-hide {
 *   //!annotate CSS Specificity|Not to worry, this will override the AngularJS default...
 *   display:block!important;
 *
 *   //this is just another form of hiding an element
 *   position:absolute;
 *   top:-9999px;
 *   left:-9999px;
 * }
 * 
* * Just remember to include the important flag so the CSS override will function. * * ## A note about animations with ngHide * * Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression * is true and false. This system works like the animation system present with ngClass, except that * you must also include the !important flag to override the display property so * that you can perform an animation when the element is hidden during the time of the animation. * *
 * //
 * //a working example can be found at the bottom of this page
 * //
 * .my-element.ng-hide-add, .my-element.ng-hide-remove {
 *   transition:0.5s linear all;
 *   display:block!important;
 * }
 *
 * .my-element.ng-hide-add { ... }
 * .my-element.ng-hide-add.ng-hide-add-active { ... }
 * .my-element.ng-hide-remove { ... }
 * .my-element.ng-hide-remove.ng-hide-remove-active { ... }
 * 
* * @animations * removeClass: .ng-hide - happens after the ngHide expression evaluates to a truthy value and just before the contents are set to hidden * addClass: .ng-hide - happens after the ngHide expression evaluates to a non truthy value and just before the contents are set to visible * * @element ANY * @param {expression} ngHide If the {@link guide/expression expression} is truthy then * the element is shown or hidden respectively. * * @example Click me:
Show:
I show up when your checkbox is checked.
Hide:
I hide when your checkbox is checked.
.animate-hide { -webkit-transition:all linear 0.5s; transition:all linear 0.5s; line-height:20px; opacity:1; padding:10px; border:1px solid black; background:white; } .animate-hide.ng-hide-add, .animate-hide.ng-hide-remove { display:block!important; } .animate-hide.ng-hide { line-height:0; opacity:0; padding:0 10px; } .check-element { padding:10px; border:1px solid black; background:white; } it('should check ng-show / ng-hide', function() { expect(element('.doc-example-live .check-element:first:hidden').count()).toEqual(1); expect(element('.doc-example-live .check-element:last:visible').count()).toEqual(1); input('checked').check(); expect(element('.doc-example-live .check-element:first:visible').count()).toEqual(1); expect(element('.doc-example-live .check-element:last:hidden').count()).toEqual(1); });
*/ var ngHideDirective = ['$animate', function($animate) { return function(scope, element, attr) { scope.$watch(attr.ngHide, function ngHideWatchAction(value){ $animate[toBoolean(value) ? 'addClass' : 'removeClass'](element, 'ng-hide'); }); }; }]; /** * @ngdoc directive * @name ng.directive:ngStyle * @restrict AC * * @description * The `ngStyle` directive allows you to set CSS style on an HTML element conditionally. * * @element ANY * @param {expression} ngStyle {@link guide/expression Expression} which evals to an * object whose keys are CSS style names and values are corresponding values for those CSS * keys. * * @example
Sample Text
myStyle={{myStyle}}
span { color: black; } it('should check ng-style', function() { expect(element('.doc-example-live span').css('color')).toBe('rgb(0, 0, 0)'); element('.doc-example-live :button[value=set]').click(); expect(element('.doc-example-live span').css('color')).toBe('rgb(255, 0, 0)'); element('.doc-example-live :button[value=clear]').click(); expect(element('.doc-example-live span').css('color')).toBe('rgb(0, 0, 0)'); });
*/ var ngStyleDirective = ngDirective(function(scope, element, attr) { scope.$watch(attr.ngStyle, function ngStyleWatchAction(newStyles, oldStyles) { if (oldStyles && (newStyles !== oldStyles)) { forEach(oldStyles, function(val, style) { element.css(style, '');}); } if (newStyles) element.css(newStyles); }, true); }); /** * @ngdoc directive * @name ng.directive:ngSwitch * @restrict EA * * @description * The ngSwitch directive is used to conditionally swap DOM structure on your template based on a scope expression. * Elements within ngSwitch but without ngSwitchWhen or ngSwitchDefault directives will be preserved at the location * as specified in the template. * * The directive itself works similar to ngInclude, however, instead of downloading template code (or loading it * from the template cache), ngSwitch simply choses one of the nested elements and makes it visible based on which element * matches the value obtained from the evaluated expression. In other words, you define a container element * (where you place the directive), place an expression on the **on="..." attribute** * (or the **ng-switch="..." attribute**), define any inner elements inside of the directive and place * a when attribute per element. The when attribute is used to inform ngSwitch which element to display when the on * expression is evaluated. If a matching expression is not found via a when attribute then an element with the default * attribute is displayed. * * @animations * enter - happens after the ngSwitch contents change and the matched child element is placed inside the container * leave - happens just after the ngSwitch contents change and just before the former contents are removed from the DOM * * @usage * * ... * ... * ... * * * @scope * @priority 800 * @param {*} ngSwitch|on expression to match against ng-switch-when. * @paramDescription * On child elements add: * * * `ngSwitchWhen`: the case statement to match against. If match then this * case will be displayed. If the same match appears multiple times, all the * elements will be displayed. * * `ngSwitchDefault`: the default case when no other case match. If there * are multiple default cases, all of them will be displayed when no other * case match. * * * @example
selection={{selection}}
Settings Div
Home Span
default
function Ctrl($scope) { $scope.items = ['settings', 'home', 'other']; $scope.selection = $scope.items[0]; } .animate-switch-container { position:relative; background:white; border:1px solid black; height:40px; overflow:hidden; } .animate-switch { padding:10px; } .animate-switch.ng-animate { -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; position:absolute; top:0; left:0; right:0; bottom:0; } .animate-switch.ng-leave.ng-leave-active, .animate-switch.ng-enter { top:-50px; } .animate-switch.ng-leave, .animate-switch.ng-enter.ng-enter-active { top:0; } it('should start in settings', function() { expect(element('.doc-example-live [ng-switch]').text()).toMatch(/Settings Div/); }); it('should change to home', function() { select('selection').option('home'); expect(element('.doc-example-live [ng-switch]').text()).toMatch(/Home Span/); }); it('should select default', function() { select('selection').option('other'); expect(element('.doc-example-live [ng-switch]').text()).toMatch(/default/); });
*/ var ngSwitchDirective = ['$animate', function($animate) { return { restrict: 'EA', require: 'ngSwitch', // asks for $scope to fool the BC controller module controller: ['$scope', function ngSwitchController() { this.cases = {}; }], link: function(scope, element, attr, ngSwitchController) { var watchExpr = attr.ngSwitch || attr.on, selectedTranscludes, selectedElements, selectedScopes = []; scope.$watch(watchExpr, function ngSwitchWatchAction(value) { for (var i= 0, ii=selectedScopes.length; i


{{text}}
it('should have transcluded', function() { input('title').enter('TITLE'); input('text').enter('TEXT'); expect(binding('title')).toEqual('TITLE'); expect(binding('text')).toEqual('TEXT'); }); * */ var ngTranscludeDirective = ngDirective({ controller: ['$element', '$transclude', function($element, $transclude) { if (!$transclude) { throw minErr('ngTransclude')('orphan', 'Illegal use of ngTransclude directive in the template! ' + 'No parent directive that requires a transclusion found. ' + 'Element: {0}', startingTag($element)); } // remember the transclusion fn but call it during linking so that we don't process transclusion before directives on // the parent element even when the transclusion replaces the current element. (we can't use priority here because // that applies only to compile fns and not controllers this.$transclude = $transclude; }], link: function($scope, $element, $attrs, controller) { controller.$transclude(function(clone) { $element.html(''); $element.append(clone); }); } }); /** * @ngdoc directive * @name ng.directive:script * @restrict E * * @description * Load content of a script tag, with type `text/ng-template`, into `$templateCache`, so that the * template can be used by `ngInclude`, `ngView` or directive templates. * * @param {'text/ng-template'} type must be set to `'text/ng-template'` * * @example Load inlined template
it('should load template defined inside script tag', function() { element('#tpl-link').click(); expect(element('#tpl-content').text()).toMatch(/Content of the template/); });
*/ var scriptDirective = ['$templateCache', function($templateCache) { return { restrict: 'E', terminal: true, compile: function(element, attr) { if (attr.type == 'text/ng-template') { var templateUrl = attr.id, // IE is not consistent, in scripts we have to read .text but in other nodes we have to read .textContent text = element[0].text; $templateCache.put(templateUrl, text); } } }; }]; var ngOptionsMinErr = minErr('ngOptions'); /** * @ngdoc directive * @name ng.directive:select * @restrict E * * @description * HTML `SELECT` element with angular data-binding. * * # `ngOptions` * * The `ngOptions` attribute can be used to dynamically generate a list of `` * DOM element. * * `trackexpr`: Used when working with an array of objects. The result of this expression will be * used to identify the objects in the array. The `trackexpr` will most likely refer to the * `value` variable (e.g. `value.propertyName`). * * @example

Color (null not allowed):
Color (null allowed):
Color grouped by shade:
Select bogus.

Currently selected: {{ {selected_color:color} }}
it('should check ng-options', function() { expect(binding('{selected_color:color}')).toMatch('red'); select('color').option('0'); expect(binding('{selected_color:color}')).toMatch('black'); using('.nullable').select('color').option(''); expect(binding('{selected_color:color}')).toMatch('null'); });
*/ var ngOptionsDirective = valueFn({ terminal: true }); // jshint maxlen: false var selectDirective = ['$compile', '$parse', function($compile, $parse) { //0000111110000000000022220000000000000000000000333300000000000000444444444444444000000000555555555555555000000066666666666666600000000000000007777000000000000000000088888 var NG_OPTIONS_REGEXP = /^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/, nullModelCtrl = {$setViewValue: noop}; // jshint maxlen: 100 return { restrict: 'E', require: ['select', '?ngModel'], controller: ['$element', '$scope', '$attrs', function($element, $scope, $attrs) { var self = this, optionsMap = {}, ngModelCtrl = nullModelCtrl, nullOption, unknownOption; self.databound = $attrs.ngModel; self.init = function(ngModelCtrl_, nullOption_, unknownOption_) { ngModelCtrl = ngModelCtrl_; nullOption = nullOption_; unknownOption = unknownOption_; }; self.addOption = function(value) { assertNotHasOwnProperty(value, '"option value"'); optionsMap[value] = true; if (ngModelCtrl.$viewValue == value) { $element.val(value); if (unknownOption.parent()) unknownOption.remove(); } }; self.removeOption = function(value) { if (this.hasOption(value)) { delete optionsMap[value]; if (ngModelCtrl.$viewValue == value) { this.renderUnknownOption(value); } } }; self.renderUnknownOption = function(val) { var unknownVal = '? ' + hashKey(val) + ' ?'; unknownOption.val(unknownVal); $element.prepend(unknownOption); $element.val(unknownVal); unknownOption.prop('selected', true); // needed for IE }; self.hasOption = function(value) { return optionsMap.hasOwnProperty(value); }; $scope.$on('$destroy', function() { // disable unknown option so that we don't do work when the whole select is being destroyed self.renderUnknownOption = noop; }); }], link: function(scope, element, attr, ctrls) { // if ngModel is not defined, we don't need to do anything if (!ctrls[1]) return; var selectCtrl = ctrls[0], ngModelCtrl = ctrls[1], multiple = attr.multiple, optionsExp = attr.ngOptions, nullOption = false, // if false, user will not be able to select it (used by ngOptions) emptyOption, // we can't just jqLite('